Agile
Author Overview
Introduction
Agile Author is a framework
for developing networked repositories of digital information such as
digital libraries and content management systems. Agile Author
(AA) represents a unique approach to the storage and retrieval of digital
information and is appropriate for a wide range of needs. This document
will only highlight the most prominent and
commonly used features of AA and will not be able to
directly address every potential question or need. But the strength of
AA is that it is powerful and flexible enough to be used in
projects whose needs can't be easily foreseen or whose needs may change
dramatically throughout the life of the project, which includes most
projects.
The following are some key
aspects of AA:
- AA lowers the software,
hardware and knowledge barriers to creating and updating content yet
offers many advanced features.
- AA allows for rapid
prototyping that
enhances the quality of communication between developers and clients,
yet it is also a robust and scalable
enterprise solution for large, long-term projects.
- AA has many built-in
capabilities, yet it also makes few
assumptions about
how it will be implemented, allowing for more flexibility.
- AA allows for arbitrary
organization of information, yet the resulting information is easily
navigated, searched and understood.
- AA is based on reusable
components so that the code base for
each
implementation is very small and updates can automatically
be made across implementations, yet it is easily customizable for a
wide range of applications.
From the client's perspective,
AA is a tool with which to create and
update their own digital
content in a manner that is both easy and flexible and which
automatically creates presentational and navigational components
appropriate to the published environment. Clients very much want this
focused control of their information without being required to think
about the details of the publication of that information in a particular medium, and they
have responded enthusiastically to AA as a result .
In
its most common use so far, university faculty (and often their graduate
students too) use AA to create their own Web based resources, quickly
building
large,
complex sites that feature automatically updated searching and
navigation;
they do so on their own time, and at their own pace, and with little or
no assistance from designers or programmers. The dual effect is that
the sites are used heavily both for content production by faculty and
consumption by students, yet from a support perspective, we almost
never need to assist the client after the initial deployment of AA
despite
its continued rate of use.
AA's unique approach actually encourages information literacy best
practices; authors gently learn these best practices by using the
software, and as a result,
the ultimate
consumers benefit from information that is much more easily digested.
Example applications of AA
- As a digital repository of
images (or video, sound, etc. or any combination of digital formats)...
- AA supports large
objects and large repositories.
- Available image
manipulation
capabilities include digital watermarking, thumbnailing, and
panning/zooming.
- Metadata can be
configured flexibly, such as assigning subject headings retrieved from
a real-time query of the library catalog.
- Advanced searching and
browsing options are available, including features such as user
bookmarks and
user-defined categories.
- For Web-based course management,
distributed learning support, and online tutorials...
- Create courses with
original content and materials supporting lectures.
- Add interactive
quizzes that can be graded according to a custom, pluggable evaluation
method and customized with feedback and navigation options based on the
outcome of that evaluation method.
- Create reusable "learning
objects" directly from existing content.
- Allow students to
engage in threaded discussions of published materials.
- For "Virtual field trips"...
- Manage subject/context
based
information organized by location (cities, facilities, etc.) and
aspects of each location (food, weather, laws, policies, etc.).
- Display groupings of
multimedia information for each aspect of each location.
- Dynamically cross-cut
information,
such as comparisons of weather across cities.
- As a bridge between online and print
publishing, such as a pre-print server...
- Multiple authors
collaborate on information using AA.
- Information can be
published via the Web and reviews/comments can be attached to each
object or entire sections.
- Information is rendered in a
standard XML format that can be reformatted for Word, PDF, DocBook and
sent to a publisher electronically.
- For digital asset management and
peer-to-peer sharing of data...
- Quickly create a
desktop based client to AA using an XML
based user interface language (XUL).
- Use OAI or similar
resource indexing and discovery mechanism to
"publish" information to other authenticated users of the XUL based AA
client for review and collaboration.
- As a "PowerPoint for the Web"...
- Create simple slide shows
that become a flexible, Web-based alternative to
PowerPoint.
- For simple, organizational Web
sites
- Author and update a
simple Web site that is automatically searchable.
- Use the built-in
one-click workflow to build large portions of the site privately, then
easily publish whole sections with one click.
- The site's navigation
automatically reflects the published
structure of the information.
Available
interfaces
AA is fundamentally user interface agnostic, but to more easily
accommodate the most requested features, AA contains reusable
components that emphasize network protocols in general and Web-based
interface needs in particular.
- Default Web-based interface:
- XHTML 1.1 compliant.
- 100% CSS driven.
- Exceeds Federal Section
508 and WAI AAA priority guidelines.
- Templates codify
common UI patterns for information display and navigation.
- Automatically generated
navigation includes an expandable tree, breadcrumb trail, Google style
paging, and 'slide-show' navigation.
- AA detects and supports
compressed communication with browsers.
- Edit text objects in a
WYSIWYG editor that includes advanced
features such as cleaning pasted Microsoft Word text.
- Automatic
thumbnailing and resizing of images is provided. These versions of the
image are cached for performance but updated whenever the
original image data is updated.
- Split public
view/private edit modes provide immediate feedback of the effect of
every change made.
- A 'compact'
editing view is provided to better accommodate large amounts of
information.
- Printer-friendly views of
the information can be generated
automatically for single pages or entire sections.
- A 'glossary' view
automatically gathers all defined term objects scattered throughout the
repository, sorts them (accounting
for initial articles) and displays them as a glossary with alphabetical
navigation.
- AA provides integrated
user management with complete security
infrastructure of roles and permissions that can be specified at
various levels of granularity in the repository.
- Login screens are
automatically invoked if
information is protected. Options exists to allow users to
self
register and reset
lost passwords.
- Complete Open Archives
repository,
harvester and aggregator components are available including the ability
to allow more advanced searching options than are typically found in
OAI repositories.
- Complete FTP and WebDAV
support is available.
- Other XML based protocols
are
supported either directly (RSS) or via XSLT (DocBook).
- An arbitrary number of
interfaces can be created for the same data independently of the data
itself.
Data storage
- Object types supported
include:
- pages,
- text,
- images,
- files (including sounds,
video, and documents such as PDF, Word, etc.),
- hypertext links,
- questions,
- answers,
- defined terms,
- annotations, and
- cross references.
- By design, every object is
a "folder" able to contain other objects; data is hierarchically
organized and objects are aware of
the hierarchy.
- Objects are also related in
circular and cross-cutting ways, such as by type and through cross
references.
- By default, objects are
stored in an object oriented database.
- Storage is pluggable and
can be made to support any storage mechanism. Currently, AA objects can
be stored in a relational database (many major vendors supported) or the
server's filesystem.
- Every object is
automatically indexed for searching and logs every user that interacts
with it.
- Every object has a stable
URL.
Metadata
- By default, Dublin Core
metadata exists for every object.
- Any XML format can be supported either directly
or via XSLT. Several formats are already implemented.
- Metadata is extensible via
simple configuration files to easily support arbitrary metadata
standards.
- Metadata can be uniformly specified
across all
object types, based on individual object types or some other criteria.
- Data such as controlled vocabularies can be
easily retrieved from any networked resource allowing for simple
integration with existing systems.
Searching
- Every published object
in the database is automatically indexed for searching using widely
accepted
information retrieval standards including:
- the ability to define
multiple
indexes of various types such as field, date/time, keyword and
full-text, and
- the retrieval of
lightweight
"metadata" objects as surrogates of the actual objects, while allowing
easy
access to the objects represented.
- Standard search engine
features are supported, including wild cards, boolean terms, proximity
searching, synonyms, stop words, left truncation, stemming, and
relevance
ranking among others.
- Indexes are configured
via simple text files.
Built-in user management and
security
- By default, published
information is publicly accessible, but it can be protected with a
fully featured set of permissions that can be specified at various
levels of granularity.
- By default, three roles
exist: anonymous, authenticated, and manager, but new roles can be
added.
- Random, complex passwords
can be automatically generated and
sent to users.
- Depending on configuration,
users can self-register and reset lost
passwords.
- Those in the "manager" role
can also
register users and reset passwords.
Enterprise features
- AA is based on a standard
"LAMP" architecture.
- AA is built using accepted
design
patterns and best practices, most obviously, Model-View-Controller.
- AA is cross-platform:
current
deployments on Solaris, Windows, Mac, BSD, Linux, HPUX.
- AA can run as a stand alone
server or be distributed across multiple servers.
- AA can be integrated into
many
different architectures through pluggable front and back ends.
- Object persistence and
indexing is transactional.
- Objects, displays,
searches, etc. are easily cacheable.
- AA and its components are
100% open source software
with commercial hosting and support available
Future development
- Make workflow configurable
in a similar way to the metadata (partially implemented).
- Allow editing and viewing
of mathematical equations without special browsers or plugins
(partially implemented)
- Incorporate Zoomify
(partially implemented).
- Build in support for
exporting to PDF, DocBook.
- Allow exporting to
static/offline
files (partially implemented).
- Provide indexing adapters
for
Word, PDF, OpenOffice (partially implemented).
- Build in awareness of segments of sound, video files.
- Retrieve/index/store
"abstracts" of data represented by hypertext links (partially
implemented).
- Provide global search and
replace
for text objects.
- Make undo/redo/history
capabilities available to default Web interface (partially implemented).
- Provide better support for
internationalization (I18N) and localization (L10N).
You can download Agile Author from the
Agile Author project page on SourceForge.net.
Commercial development, hosting and support for Agile Author are available from Agile Enterprise Software, info@agile-software.com.