]> git.sur5r.net Git - glabels/blob - glabels2/TODO
Changes 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                 - Undo, Redo capability
95
96                 - Image filenames from merge fields.  When adding inline
97                   image date in the next version, this capability must
98                   remain valid.
99
100                 - Drawing features:
101                         - object rotation and flipping functions.
102                         - configurable grid.  Also add a "snap-to" capability.
103                         - object alignment capabilities.
104                         - resizing of barcodes on canvas. (Must keep barcodes
105                           within "legal" limits)
106
107                 - Add rounding option to rectangles
108
109                 - Place property dialogs in a single dockable window (1 per
110                   window). (Maybe, still thinking on this one)
111
112
113
114 VERSION 1.93:  Development testbed for VERSION 2.0
115
116 VERSION 2.0:
117
118         Label File format changes:
119                 - external images should be put inline somehow so that the
120                   label file will not be rendered useless if on a different
121                   machine or the original image file is renamed, moved or
122                   deleted.
123
124         Features:
125                 - Create a druid for creating new label templates.
126                   As part of the druid allow test sheets to be printed
127                   and the new labels e-mailed to me (at the user's request).
128                   Include a mini-preview, as the label is constructed.
129
130                 - Along those same lines, create a druid to download new
131                   templates from a central repository, much like in GBonds.
132
133 VERSION 2.1:  Development testbed for VERSION 2.2
134
135 VERSION 2.2:
136
137         Template File format:
138                 - Allow multiple label styles per template. For instance
139                   a sheet may contain a CD label, and cover label.  This
140                   may cause problems for document merges -- labels could be
141                   considered grouped for document merges when their numbers
142                   match or they could have document merge applied to them
143                   independently but in parallel.  Arrange in a tabbed
144                   notebook, or as multiple canvases arranged in view?
145
146         - support for the import of vector graphics formats such as EPS or SVG.
147
148         - Make text items rich.  I.e. allow multiple characteristics to
149           exist within a single object.
150
151         - Text effects.  (follow contour, shadows, ...)
152
153
154
155 Odds and ends WISHLIST for future versions:     
156
157         - Ability to select/unselect individual records during a merge-print.
158
159         - Add additional "merge" backends.  Candidates include:
160                 vCard
161                 generic XML
162                 freedb (CDDB) for CD labels
163
164         - Capability to edit text in-place.
165
166         - Add facility for tweaking output (origin).  This should really be
167           part of the underlying print system but is currently difficult to
168           accomplish, so I may want to add the hack.
169
170         - Add a mini style preview for barcode properties (possibly text too?).
171
172         - Eye candy: Create a custom widget to replace spin buttons for
173           positioning and sizing that have arrows in the proper direction.
174           Really bad ASCII art:
175
176                 <-  X  ->
177
178                 ->||<-  W  |<-->|
179
180