View
212
Download
0
Tags:
Embed Size (px)
Citation preview
FABULOUSFedora/Arrow Batch Utility with Lots Of User Services
Presenter – David Groenewegen
Prashant Pandey
Lead Developer – FABULOUS, BORSA & Arrow@UniSA
Introduction
• ARROW Model– (VITAL+FEDORA)
• Administrative interfaces– Fedora Administrative Client– VITAL management software
Fedora Admin Client
• Complicated user interface
• Single object manipulation
• Requires third party tool for XML editing
• Desktop Client based design
VITAL Client
• Web based client• Designed for editing
single records• Requires third party
tool for XML editing
Administrative Tasks
• Improving Data (RM/ADT/Endnote) quality– Bulk editing workflow: purging and re-ingesting of
data• Activation/deactivation of DataStream based on
copyright constraints• Content ingest for already existing metadata
– Workflow: single object modification using client based utility
ARROW Mini-Projects (first round)
ARROW BATCH UTILITIES• Batch activate/de-activate data streams• Linking batches of content files to existing
metadata objects ARROW BATCH EDIT TOOL
• Globally add/edit/delete selected metadata fields
FABULOUS
Fabulous is a web-based application which implements the proposed Batch edit tool and Utilities.[http://code.google.com/p/fabulous]
Special features:•Directly Interacts with Fedora (compatible with all Fedora applications….fez etc)•Open source and platform independent•Simple and easy to use Interface (Vital 2.0 look and feel)•Web based application
FABULOUS-Front End Implementation
Fedora
Application(PHP)
Body
HTML end tags
HTML start tags
XSL
CSS
HTML
XML
DISPLAY
QUERY
RESULT
FABULOUS - Architecture
• Technical details– Repository: Fedora– Content Model: ARROW (MARCXML DC)– Communication Interface: SOAP/REST– Web server: Apache or IIS– Programming Language : PHP, JavaScript, and HTML
• Technical Architecture (Overview)
WSDL
FEDORA
SOAP CLIENT(API-A)
SOAP CLIENT(API_M)
Application Logic(logic.php)
Login(login.php)
Main(index.php)
Logout(Logout.php)
SESSION
Activate datastream(Activate.php)
De-Activate datastream
(deactivate.php)
Batch Ingest- Content
(ingest.php)Bulk Edit Metadata
(edit.php)
FABULOUS configuration
Working with the configuration file.<!-- Fabulous configuration Settings ver2 - [email protected]>
<settings>
<!-- Server Information; these values gets pre-populated in the fabulous login screen -->
<!--Multiple server instances can be added for the application to connect to them -->
<servers>
<server>
<user>fedoraAdmin</user>
<password>**********</password>
<host>arrow.unisa.edu.au</host>
<port>8080</port>
<version>2.0</version>
</server>
<servers>
FABULOUS configuration Cont.
<HandleNamespace>1959.8</HandleNamespace>
<marcDatastreamID>MARCDESC</marcDatastreamID>
<dcDatastreamID>DC</dcDatastreamID>
<marcDatastreamLabel>Marc</marcDatastreamLabel>
<dcDatastreamLabel>Dc</dcDatastreamLabel>
<uploadDir>./library/uploads/</uploadDir>
<uploadNum>10</uploadNum><!--Allowed upload size value of a content file, this value is overriden by the PHP upload value, set in Php.ini file, The smallest of the two values is used as
the check condition at runtime -->
<uploadSize>100048576</uploadSize>
<uploadFileType>
<file>txt</file><file>xml</file><file>pdf</file><file>doc</file><file>gif</file><file>jpg</file><file>j2k</file><file>bmp</file>
</uploadFileType>
</settings>
FABULOUS Shortcomings
• Tied to ARROW content model• Batch ingest of 10 (set default) content files at a time• Exception messages not user friendly• Needs “Select all” option• Searching relies upon limited Fedora indexes• No mechanism exists to provide a list of PIDs rather than searching and selecting them.
Absolutely Fabulous (FABULOUS 2)
ARROW Mini-Projects (Second round)Support for fedora 2.1(vital 3.0) and fedora 2.2(vital 3.1 and 3.1.1)Selective purging (Bulk deletion)Improved exception messagingBatch Content ingest improvementSupport for creating other metadata streams during batch edit process
Absolutely Absolutely Fabulous(BABY FABULOUS)
Solution for the shortcomings of FabulousModify object along with DataStream properties Repository wide changesCommand line interface at the moment (just a collection of methods)…..planning to implement as a web application packaged as a .war file, just like fedora packaging. Support for creating other metadata streams repository wide.