FOXML Migration

From MPDLMediaWiki
Jump to navigation Jump to search


foxml_migration is an application to transform exiting Fedora object xml files.

Repository URL:



  • foxml_migration-jar-with-dependencies.jar.
  • folder xsl in project root containing 14 xslt stylsheets and a mapping xml file.
  • file.


  • 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 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
  • start solution(s).

Technical Documentation[edit]


foxml_migration transforms the following metadata records:

All transformations are logged (--> migration.log).


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