Batch MODS Update Requirements
Requirements for Batch MODS update
Our affiliates wish to be able to modify and replace metadata for previously ingested digital objects (roughly, documents) on their Islandora sites with the least possible effort. Islandora uses MODS files to store metadata about digital objects. MODS is a standard XML format for describing document metadata. These MODS files are central to the operation of Islandora, and are quite familiar to our affiliates.
In general, each ingested digital object is associated with one MODS file that describes its metadata.
After careful consideration of affiliate-supplied user stories, we suggest a staged approach, with subsequent extensions and refinements as determined by discussions within our community. We describe phase one in this document.
2 Functional Requirements
There are four main components to this project:
2.1 Providing source metadata for subsequent modification
Islandora already provides a method for patrons to search on metadata for ingested digital objects; see the page
This page returns a list describing digital objects that have met the users search criteria: a results page.
We will implement an Islandora module to place a link on this results page that has a specific function. When the link is pressed a zip file returning all of the MODS files associated with the search results will be downloaded.
Note that only selected accounts will be presented with this link: logged in affiliates with sufficient privileges, using the standard Islandora authentication mechanisms.
Affiliates will use their established workflows to modify the MODS for subsequent upload.
Note that some of our affiliates have already implemented their own techniques for retrieving MODS files from Islandora and will not need to rely on this interface.
2.2 Uploading changed metadata for a set of digital objects
Once our affiliates have corrected the downloaded MODS files, they must have a way of uploading them to Islandora.
For authenticated affiliates with the appropriate permissions, a form will be available to allow them to upload a zip file of MODS data.
This form will forward the data to an off-production processing server which will effect the modifications, storing reports of the modification status in a database. The existing offline ingest system does exactly this, and will be extended to support the MODS update capability.
Note that there are stringent restrictions on the format of the MODS metadata that are acceptable for updates. The MODS metadata will be checked and a best-effort attempt will be made for replacing the previous metadata.
Updates will be 'all or none' on a per-digital object basis. No attempt will be made to merge earlier MODS metadata with the newly uploaded replacement MODS.
2.3 Reporting the results of the modifications to the affiliates
Because the processing of updating existing MODS files is done asynchronously, a method to report the results of the MODS modifications is required. We will adapt the existing administrative web service that we currently provide for offline-ingest. For an example of this interface, see
2.4 Provide operational support to FLVC staff to quickly rollback mistakes
Changes to MODS files for digital objects are versioned by Islandora. In the case of errors, it will be straight-forward to recover from errors by rolling back to the previous version.
The project will provide a command line utility that, given the identifiers for updated MODS files, will effect that rollback.
This process will be handled by FLVC operations staff; affiliates will supply us with the identifiers that need to be reverted.
3 Future directions
These are some of the future directions that have been suggested in our affiliate's user stories, of varying degrees of complexity.
3.1 Providing compatibility with the Excel-to-MODS transform web service
Allow reuse of the MODS and Excel spreadsheets used in the Excel-to-MODS transformation service
3.2 Provide global updates to all metadata across a site.
e.g., correct a misspelling no matter where it is
3.3 Tree-based graphical user interface for modifying MODS