]> git.sur5r.net Git - glabels/blob - glabels2/TODO
Additions to development plan.
[glabels] / glabels2 / TODO
1
2 Development plan
3 ----------------
4 This development plan sets a specific set of milestones for future
5 versions of glabels.  Although subject to change, milestones leading
6 to version 2.0 are fairly well defined.
7
8 Basically the goal of version 1.90 is to port all current
9 features/capabilities to the GNOME 2.0 platform, clean up the architecture,
10 and create a bonobo shell.
11
12 The goal for version 1.92 is to improve several user interface capabilities
13 and add drawing capabilities.
14
15 The goal for version 2.0 is to realize the fully developed template feature
16 set, add tools for creating and downloading new templates, and add inline
17 images to glabels files.
18
19 The goals for version 2.2 and beyond is to add rich text objects,
20 add sophisticated text effects and support vector images.
21
22
23 Detailed Outline:
24 -----------------
25
26 VERSION 1.89:  Development testbed for VERSION 1.90
27
28 VERSION 1.90:
29
30         Architecture Design
31
32                 - Port to Gnome 2.0 Platform
33
34                 - Create a new SDI shell based on bonobo (no more MDI!).
35
36                 - Migrate to a more faithful MVC architecture:
37                         - Migrate models (labels, label objects, and templates)
38                           to real objects
39                         - Views should track models
40
41         Label File format changes:
42                 - <object type="text" ...> rather than <Text ...>
43
44                 - a label should include a template or "Sheet" tag instead
45                   of just the name of the media type, so that obsolete names
46                   don't render the label file useless.  this should be created
47                   and parsed by functions from the template module.
48
49                 - compatibility with old file formats
50
51                 - make sure that the format does not preclude the additions
52                   planned in future releases and that these additions do
53                   not break labels created with this version.  Namely, image
54                   filenames from merge data, inline images, object rotation,
55                   object flipping, text effects, and rounded rectangles.
56
57         Other:
58                 - Add preferences options:
59                         - object defaults (colors, line widths, fonts)
60
61                 - Support all paper sizes that gnome-print knows about
62
63                 - Recent documents
64
65
66 VERSION 1.91:  Development testbed for VERSION 1.92
67
68 VERSION 1.92:
69
70         Template File format:
71                 - Allow multiple layouts per label type.  This will support
72                   odd labels that are not layed out in a grid.  For instance
73                   one oddball label, or label laid out in a running-bond:
74
75                           +------+ +------+
76                           |      | |      |
77                           +------+ +------+
78                               +------+ +------+
79                               |      | |      |
80                               +------+ +------+
81                           ...
82
83                   This is not multiple label types per sheet.  (see below)
84
85                 - Add invisible markup to templates, e.g. folds or other
86                   helpful lines.
87
88         Other:
89                 - Status bar showing:
90                         - % Zoom
91                         - X, Y position
92                         - mode and parameters (size and origin during creation)
93
94                 - Image filenames from merge fields.  When adding inline
95                   image date in the next version, this capability must
96                   remain valid.
97
98                 - Drawing features:
99                         - object rotation and flipping functions.
100                         - configurable grid.  
101                         - a "snap-to" capability.
102                         - object alignment capabilities.
103                         - resizing of barcodes on canvas. (Must keep barcodes
104                           within "legal" limits)
105                         - resizing of text?
106                         - edit text in place?
107
108                 - Clean up document merge API.
109
110                 - Per-barccode options:
111                         - if checksum optional give checkbox
112                         - barcode length: free-form, fixed legal values (zero fill?)
113
114                 - Undo, Redo capability
115
116
117 VERSION 1.93:  Development testbed for VERSION 2.0
118
119 VERSION 2.0:
120
121         Label File format changes:
122                 - external images should be put inline somehow so that the
123                   label file will not be rendered useless if on a different
124                   machine or the original image file is renamed, moved or
125                   deleted.
126
127         Features:
128                 - Create a druid for creating new label templates.
129                   As part of the druid allow test sheets to be printed
130                   and the new labels e-mailed to me (at the user's request).
131                   Include a mini-preview, as the label is constructed.
132
133                 - Along those same lines, create a druid to download new
134                   templates from a central repository, much like in GBonds.
135
136
137 VERSION 2.1:  Development testbed for VERSION 2.2
138
139 VERSION 2.2:
140
141         Template File format:
142                 - Allow multiple label styles per template. For instance
143                   a sheet may contain a CD label, and cover label.  This
144                   may cause problems for document merges -- labels could be
145                   considered grouped for document merges when their numbers
146                   match or they could have document merge applied to them
147                   independently but in parallel.  Arrange in a tabbed
148                   notebook, or as multiple canvases arranged in view?
149
150         - support for the import of vector graphics formats such as EPS or SVG.
151
152         - Make text items rich.  I.e. allow multiple characteristics to
153           exist within a single object.
154
155         - Text effects.  (follow contour, shadows, ...)
156
157
158
159 Odds and ends WISHLIST for future versions:     
160
161         - Ability to select/unselect individual records during a merge-print.
162
163         - Add additional "merge" backends.  Candidates include:
164                 vCard
165                 generic XML
166                 freedb (CDDB) for CD labels
167
168         - Capability to edit text in-place.
169
170         - Add facility for tweaking output (origin).  This should really be
171           part of the underlying print system but is currently difficult to
172           accomplish, so I may want to add the hack.
173
174         - Add a mini style preview for barcode properties (possibly text too?).
175