4 Implementation
Only a
modest amount of development work was necessary to extend Greenstone to support
the notion of generalized institutional repository given earlier. The three
enabling technologies were macros, runtime actions, and incremental building,
all of which exist in Greenstone.
Greenstone
macros are the key to controlling the generalized workflow. Checking form
content and manipulations of form layout (adding in previous values etc.) are
spliced into macros through JavaScript and DOM manipulation. To enable document
submission, an existing runtime 'action' called The Collector [5], which
supports the creation and building of collections through a web browser, was
further abstracted and generalized. This 'action' was already able to provide a
progress bar and used a database to store previously entered values from one
page to the next. The new extension was to add support for multipart form file-upload
with the new action called “the depositor.” Incremental building using the Lucene indexer [6] is already a feature of Greenstone.