]> git.sur5r.net Git - glabels/blob - glabels2/TODO
Initial revision
[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-mdi 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 sophisticated text effects
20 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 MDI shell based on bonoboMDI (see gedit2).
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                         - MDI style [*]
60                         - object defaults (colors, line widths, fonts)
61
62                         [*] These only need to be supported through gconf.
63
64
65                 - Support all paper sizes that gnome-print knows about
66
67                 - Recent documents
68
69
70 VERSION 1.91:  Development testbed for VERSION 1.92
71
72 VERSION 1.92:
73
74         Template File format:
75                 - Allow multiple layouts per label type.  This will support
76                   odd labels that are not layed out in a grid.  For instance
77                   one oddball label, or label laid out in a running-bond:
78
79                           +------+ +------+
80                           |      | |      |
81                           +------+ +------+
82                               +------+ +------+
83                               |      | |      |
84                               +------+ +------+
85                           ...
86
87                   This is not multiple label types per sheet.  (see below)
88
89                 - Add invisible markup to templates, e.g. folds or other
90                   helpful lines.
91
92         Other:
93                 - Status bar showing:
94                         - % Zoom
95                         - X, Y position
96                         - mode and parameters (size and origin during creation)
97
98                 - Undo, Redo capability
99
100                 - Image filenames from merge fields.  When adding inline
101                   image date in the next version, this capability must
102                   remain valid.
103
104                 - Drawing features:
105                         - object rotation and flipping functions.
106                         - configurable grid.  Also add a "snap-to" capability.
107                         - object alignment capabilities.
108                         - resizing of barcodes on canvas. (Must keep barcodes
109                           within "legal" limits)
110
111                 - Add rounding option to rectangles
112
113                 - Place property dialogs in a single dockable window (1 per
114                   MDI/app window).  Move dialogs associated with view,
115                   when a new MDI/app window is created.
116
117                 - Change label types on-the-fly.  This should probably be
118                   some form of property of the label.  Perhaps, a right-click
119                   away from any selection.
120
121
122
123 VERSION 1.93:  Development testbed for VERSION 2.0
124
125 VERSION 2.0:
126
127         Label File format changes:
128                 - external images should be put inline somehow so that the
129                   label file will not be rendered useless if on a different
130                   machine or the original image file is renamed, moved or
131                   deleted.
132
133         Features:
134                 - Create a druid for creating new label templates.
135                   As part of the druid allow test sheets to be printed
136                   and the new labels e-mailed to me (at the user's request).
137                   Include a mini-preview, as the label is constructed.
138
139                 - Along those same lines, create a druid to download new
140                   templates from a central repository, much like in GBonds.
141
142 VERSION 2.1:  Development testbed for VERSION 2.2
143
144 VERSION 2.2:
145
146         Template File format:
147                 - Allow multiple label styles per template. For instance
148                   a sheet may contain a CD label, and cover label.  This
149                   may cause problems for document merges -- labels could be
150                   considered grouped for document merges when their numbers
151                   match or they could have document merge applied to them
152                   independently but in parallel.  Arrange in a tabbed
153                   notebook, or as multiple canvases arranged in view?
154
155         - support for the import of vector graphics formats such as EPS or SVG.
156
157         - Text effects.  (follow contour, shadows, ...)
158
159
160
161 Odds and ends WISHLIST for future versions:     
162
163         - Ability to select/unselect individual records during a merge-print.
164
165         - Add additional "merge" backends.  Candidates include:
166                 vCard
167                 generic XML
168                 freedb (CDDB) for CD labels
169
170         - Capability to edit text in-place.
171
172         - Add facility for tweaking output (origin).  This should really be
173           part of the underlying print system but is currently difficult to
174           accomplish, so I may want to add the hack.
175
176         - Make text items rich.  I.e. allow multiple characteristics to
177           exist within a single object.
178
179         - Add a mini style preview for barcode properties (possibly text too?).
180
181         - Eye candy: Create a custom widget to replace spin buttons for
182           positioning and sizing that have arrows in the proper direction.
183           Really bad ASCII art:
184
185                 <-  X  ->
186
187                 ->||<-  W  |<-->|
188
189