Development plan
----------------
-This development plan sets a specific set of milestones for future
-versions of glabels. Although subject to change, milestones leading
-to version 2.0 are fairly well defined.
+This development plan sets a specific set of milestones for future versions of glabels.
-Basically the goal of version 1.90 is to port all current
-features/capabilities to the GNOME 2.0 platform, clean up the architecture,
-and create a bonobo shell.
-The goal for version 1.92 is to improve several user interface capabilities
-and add drawing capabilities.
+Goals for 2.2.x:
-The goal for version 2.0 is to realize the fully developed template feature
-set, add tools for creating and downloading new templates, and add inline
-images to glabels files.
+ - Bugfixes
-The goals for version 2.2 and beyond is to add rich text objects,
-add sophisticated text effects and support vector images.
+ - Translations
-Detailed Outline:
------------------
+Possible Goals for 2.3.x (current development branch):
-VERSION 1.89: Development testbed for VERSION 1.90
+ - Undo, Redo capability
-VERSION 1.90:
+ - Make text items rich. I.e. allow multiple characteristics
+ to exist within a single object.
- Architecture Design
+ - Text effects. (follow contour, non-rectangular text boxes,
+ ...)
- - Port to Gnome 2.0 Platform
+ - Ability to select/unselect individual records during a merge-print.
- - Create a new SDI shell based on bonobo (no more MDI!).
+ - Add additional "merge" backends. Candidates include:
+ generic XML
+ freedb (CDDB) for CD labels
+ gnome-db
+ ADIF for generating QSL-cards
- - Migrate to a more faithful MVC architecture:
- - Migrate models (labels, label objects, and templates)
- to real objects
- - Views should track models
+ - Printer calibration tool: a facility for tweaking output origin and
+ scale. This should really be part of the underlying print system but
+ currently is not, so I may want to add the hack.
- Label File format changes:
- - <object type="text" ...> rather than <Text ...>
+ - Adjustable grid spacing. Spacing of visible grid should be user
+ adjustable. This grid spacing should be an integral multiple of
+ a finer invisible grid. There should be a "snap to grid" toggle,
+ that causes all posistioning and sizing performed on the canvas
+ to snap to the closest grid. The possible grid spacing should be
+ appropriate for the current units selected (e.g. .1 points, .01 mm,
+ 1/64 inch, 0.001 inch).
- - a label should include a template or "Sheet" tag instead
- of just the name of the media type, so that obsolete names
- don't render the label file useless. this should be created
- and parsed by functions from the template module.
-
- - compatibility with old file formats
-
- - make sure that the format does not preclude the additions
- planned in future releases and that these additions do
- not break labels created with this version. Namely, image
- filenames from merge data, inline images, object rotation,
- object flipping, text effects, and rounded rectangles.
-
- Other:
- - Add preferences options:
- - object defaults (colors, line widths, fonts)
-
- - Support all paper sizes that gnome-print knows about
-
- - Recent documents
-
-
-VERSION 1.91: Development testbed for VERSION 1.92
-
-VERSION 1.92:
-
- Template File format:
- - Allow multiple layouts per label type. This will support
- odd labels that are not layed out in a grid. For instance
- one oddball label, or label laid out in a running-bond:
-
- +------+ +------+
- | | | |
- +------+ +------+
- +------+ +------+
- | | | |
- +------+ +------+
- ...
-
- This is not multiple label types per sheet. (see below)
-
- - Add invisible markup to templates, e.g. folds or other
- helpful lines.
-
- Other:
- - Status bar showing:
- - % Zoom
- - X, Y position
- - mode and parameters (size and origin during creation)
-
- - Image filenames from merge fields. When adding inline
- image date in the next version, this capability must
- remain valid.
-
- - Drawing features:
- - object rotation and flipping functions.
- - configurable grid.
- - a "snap-to" capability.
- - object alignment capabilities.
- - resizing of barcodes on canvas. (Must keep barcodes
- within "legal" limits)
- - resizing of text?
- - edit text in place?
-
- - Clean up document merge API.
-
- - Per-barccode options:
- - if checksum optional give checkbox
- - barcode length: free-form, fixed legal values (zero fill?)
-
- - Undo, Redo capability
-
-
-VERSION 1.93: Development testbed for VERSION 2.0
-
-VERSION 2.0:
-
- Label File format changes:
- - external images should be put inline somehow so that the
- label file will not be rendered useless if on a different
- machine or the original image file is renamed, moved or
- deleted.
-
- Features:
- - Create a druid for creating new label templates.
- As part of the druid allow test sheets to be printed
- and the new labels e-mailed to me (at the user's request).
- Include a mini-preview, as the label is constructed.
-
- - Along those same lines, create a druid to download new
- templates from a central repository, much like in GBonds.
-
-
-VERSION 2.1: Development testbed for VERSION 2.2
-
-VERSION 2.2:
-
- Template File format:
- - Allow multiple label styles per template. For instance
- a sheet may contain a CD label, and cover label. This
- may cause problems for document merges -- labels could be
- considered grouped for document merges when their numbers
- match or they could have document merge applied to them
- independently but in parallel. Arrange in a tabbed
- notebook, or as multiple canvases arranged in view?
-
- - support for the import of vector graphics formats such as EPS or SVG.
-
- - Make text items rich. I.e. allow multiple characteristics to
- exist within a single object.
-
- - Text effects. (follow contour, shadows, ...)
-
-
-
-Odds and ends WISHLIST for future versions:
-
- - Ability to select/unselect individual records during a merge-print.
-
- - Add additional "merge" backends. Candidates include:
- vCard
- generic XML
- freedb (CDDB) for CD labels
-
- - Capability to edit text in-place.
-
- - Add facility for tweaking output (origin). This should really be
- part of the underlying print system but is currently difficult to
- accomplish, so I may want to add the hack.
-
- - Add a mini style preview for barcode properties (possibly text too?).
+ - Allow for management of custom templates
+ (i.e. delete, rename, edit).