- Consists of 3 parts: front-end editor for generating Album databases;
database representing an Album; HTML generator for creating web
pages from a database.
- Database is standard XML, so it is editable in a text editor, and
other applications can be written to manipulate the same objects
- Builds a directory tree, which allows Items to be classified in
- Folders can contain other Folders, References to files, or Links
to other Folders (which allows multiply connected trees)
- When a project is being edited another project can be opened and
merged into it. This allows CDs to be made by collecting smaller
databases, which can be made when photos are uploaded
- Drag-and-drop can be used to move Folders on the tree or merge
the contents of one Folder into another one
- Allows a Folder to be referenced from more than one location
- References added to a Link appear in the link destination Folder.
- Items refer to files loaded into the Album
- Each Item is included only once in the final output, though it can
be viewed in multiple locations
- Allows special handling for different Item types (initial version
only contains special handling for jpeg photos)
- Special handling for JPEG includes displaying photo, automatically
extracting date from the EXIF data, and displaying EXIF data.
- Allows files to be copied only once in the final project, but
included in multiple Folder locations on the tree
- Order can be sorted by several different methods
- Data consists of key/value pairs associated with Album, Folder, Item,
- Data associated with any Object can easily be referenced from the
Template to generate HTML code.
- Data can be one-line text, multi-line text, or file names.
- Default data includes some common keys, new keys can easily be added,
or existing ones deleted.
- Templates allow customized generation of output from an Abcd database
- Templates consist of a simple command language. The contents are:
- ABCD tagged commands: any text inside a double tag (<<...>>) is
command text expanded by the template interpreter.
- All other text is copied as-is into the output
- Templates use the IC language. IC is an interpreted C-like language
with Java extensions, which allows it to access native Java Objects
passed to it as arguments.
- Different Templates can generate output for completely different uses
from the same database, for instance pages for a web site or pages
for a CD.
- Templates can be run from the ABCD editor, from the command line, or
as a Java GUI application
Usage: Editing Projects
Usage: Creating Output