Enabling Multiple Metadata Support
Muradora, through the use of XForms, can support multiple metadata formats within its repository. This is due to the recognition that Muradora can be used to store many different types of digital objects, and sometimes all within the same repository. Each of these types of digital objects would typically have their own metadata schema. XForms is used to enable proper form input and validation of the metadata for the end users without the need to drastically redesign Muradora interface whenever a new metadata schema needs to be added. XForms also has the advantage that if someone has already designed an XForms script for a particular metadata, it can be re-used by others.
Requirements
- Installed Muradora
- A well-formed schema of the new metadata to be added
- An XForms script for the new metadata
Optional Requirements
- An XSLT to transform the new metadata to Dublin Core (DC) if the user wants the DC metadata of the object to be updated whenever the this new metadata is updated or added to the object. DC is used widely by Fedora for functions such as search.
- An XSLT to transform the new metadata to BibTex? if the user wants this metadata to be used for generating citation information (in BibTex? format).
Installing the new metadata
- Open up the file $TOMCAT_HOME/webapps/muradora/WEB-INF/classes/metadataEditors.xml
- Add a new <editor> element for your new metadata
- Specify the label of the datastream where this metadata will be stored using the <datastream> element.
- If this metadata is the one which provides the citation information, you need to specify the property "citation=true". You will also need to specify a <bibtexXslt> element specifying the name of the xslt file to transform the metadata to BibTeX format.
- If this metadata will "synchronize" with DC, then you need to add a <dcXslt> element specifying the name of the xslt to transform the metadata to DC.
- You need to create two jsp pages for the new metadata: one for when creating the metadata and one for the editing of the metadata. One can copy existing jsp pages and make simple modifications of them. The jsp pages are then specified in the <createPage> and <editPage> element respectively.
Example configuration file
<?xml version="1.0" encoding="UTF-8" ?>
<editors>
<editor name="dcEditor" dc="true" citation="true">
<description>Dublin Core metadata editor</description>
<datastream>DC</datastream>
<createPage>/xforms-jsp/dc-view.jsp</createPage>
<editPage>/xforms-jsp/dc-edit.jsp</editPage>
<dcXslt>/WEB-INF/xsl/modsToDC.xsl</dcXslt>
<bibtexXslt>/WEB-INF/xsl/dcToBibtex.xsl</bibtexXslt>
</editor>
<editor name="modsEditor">
<description>MODS metadata editor</description>
<datastream>MODS</datastream>
<createPage>/xforms-jsp/mods-view.jsp</createPage>
<editPage>/xforms-jsp/mods-edit.jsp</editPage>
<dcXslt>/WEB-INF/xsl/modsToDC.xsl</dcXslt>
<bibtexXslt>/WEB-INF/xsl/modsToBibtex.xsl</bibtexXslt>
</editor>
</editors>
