FOXML Migration
Overview[edit]
foxml_migration is an application to transform exiting Fedora object xml files.
Repository URL: https://zim02.gwdg.de/repos/common/trunk/common_services/foxml_migration
Installation/Deployment[edit]
Requirements[edit]
- foxml_migration-jar-with-dependencies.jar.
- folder xsl in project root containing 14 xslt stylsheets and a mapping xml file.
- migration.properties file.
Deployment[edit]
- copy the required files into a directory of your choice onto the server, where Fedora is installed.
before execution[edit]
- stop all solutions accessing the Fedora instance.
- stop escidoc-core.
- stop Fedora.
- backup the entire $FEDORA_HOME/data/objects directory !!!
- ensure the $FEDORA_HOME environment variable is set correctly.
- adjust settings in migration.properties file according to your requirements.
running the application[edit]
- the jar file currently accepts two command line arguments:
- in order to migrate all existing objects to the newer metadata schemas run java -Xms128m -Xmx512m -XX:MaxPermSize=256m -jar foxml_migration-jar-with-dependencies.jar migration.
- to change all references to the escidoc:TOC content model (only relevant for ViRR instances):
- manually edit the escidoc:TOC FOXML file and replace all occurences of "TOC" with "toc".
- run java -Xms128m -Xmx512m -XX:MaxPermSize=256m -jar foxml_migration-jar-with-dependencies.jar cmodel.
after execution[edit]
- check the log file (migration.log or propchange.log) for any errors.
- in case of errors restore the $FEDORA_HOME/data/objects directory.
- rebuild the Fedora database and the resource index.
- start Fedora.
- start escidoc-core:
- use the escidoc-core admin tool to recache and reindex.
- perform all tasks according to http://colab.mpdl.mpg.de/mediawiki/Checklist_for_Metadata_Changes
- start solution(s).
Technical Documentation[edit]
Overview[edit]
foxml_migration transforms the following metadata records:
- PubItems: http://escidoc.mpg.de/metadataprofile/schema/0.1/publication --> http://purl.org/escidoc/metadata/profiles/0.1/publication
- FaceItems: no profile --> http://purl.org/escidoc/metadata/profiles/0.1/face
- FacesAlbum: no profile --> http://purl.org/escidoc/metadata/profiles/0.1/publication
- VirrElement: http://escidoc.mpg.de/metadataprofile/schema/0.1/virrelement --> http://purl.org/escidoc/metadata/profiles/0.1/virrelement
- OrganizationalUnit: http://escidoc.mpg.de/metadataprofile/schema/0.1/organization --> http://purl.org/escidoc/metadata/profiles/0.1/organizationalunit
- File: http://escidoc.mpg.de/metadataprofile/schema/0.1/file --> http://purl.org/escidoc/metadata/profiles/0.1/file
All transformations are logged (--> migration.log).
Architecture[edit]
foxml_migration - an executable jar file - has a very simple architecture:
- collect all FOXML files in $FEDORA_HOME/data/objects
- check the current schema of the metadata inside the default escidoc metadata record
- transform all versions of the escidoc metadata record according to the list above
- update the existing FOXML file with all transformed datastreams
- save the migrated file