Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Understand the main differences between Fedora 3 and Fedora 4Understand the considerations necessary for migrating from Fedora 3 to Fedora 4
  • Learn about the current state of migration tools and planning in the Fedora community
  • Explore new possibilities for enhancing data in Fedora 4

Differences Between Fedora 3 and Fedora 4

XML Objects vs.

...

Resources

Fedora 3Fedora 4
FOXML objectsModeShape nodes (still referred to as objects)Web resources
Inline and managed XMLRDF properties*

*XML Datastreams are still supported

Flat

...

vs. Hierarchy

Fedora 3Fedora 4
Objects and Datastreams stored in flat directoriesat the root levelResources in a hierarchy
No inherent hierarchyAll resources descend from a root resource

File System Differences

Fedora 3Fedora 4
Objects directory and data streams directoryContainers stored in a database
Objects and datastreams stored in a hierarchical filesystem
  
PairTreeBinaries stored in a PairTree

PIDs vs. Path

Fedora 3Fedora 4
Objects have Persistent Identifiers (PIDs)Objects have a path (including a UUID) based on their location in the file system hierarchy
 Objects can also have other identifiers (DOIs, Handles, PIDs, etc.)

Migration Considerations

To Ingest or Federate?

  • In addition to normal ingest, Fedora 4 supports federation over content in a existing file system.
  • Federating over Fedora 3 content is possible, but the connector would need to be updated and modified to suit a particular use case.
  • Federation also does not provide any opportunities for data enhancement, which is an important consideration.

Security

  • What kind of security does your Fedora 3 repository use?
  • Many Fedora 3 repositories use XACML security; this is supported in Fedora 4.
  • However, it would be prudent to test your specific XACML policies within the context of Fedora 4.
    • While XACML in general is supported, broad testing of existing policies is recommended.

Versions

  • Does your Fedora 3 repository use versioning?
  • What versions do you want to preserve? Object or datastream level?
  • How should version dates be handled? Will you use the system modified date, or a special date property?

Content Models

  • How are content models used in your Fedora 3 repository?
    • Do they have any logic built into them, or is that handled at a higher application level (e.g. Islandora, Hydra)?
  • Are there opportunities for building common content models that could be shared between Fedora implementations?
    • E.g. Islandora content models that can also be recognized by Hydra.

Disseminators

  • Does your Fedora 3 repository make use of disseminators?
  • What are they used for? XSLT transformations? Something else?
  • How can we support the existing disseminator use cases in Fedora 4 without re-creating disseminators?

Other Considerations

Data Modeling

Fedora 3 Data Models

  • Hydra
  • Islandora
  • Custom

Fedora 4 Data Models

  • Shared data model
  • RDF properties

Data Migration Tool

Motivations

  • need to preserve fedora 3 content, history and audit trail
  • ability to leverage fedora 4 features
  • need to make data accessible and functional in the new environment
  • desire to make migration easier, faster and less error-prone

Proposal

  • Process FOXML and convert to Fedora 4 resources
    • foxml (when exported in the "archive" context, or persisted in the low level store) is a complete representation of the object
    • foxml offers a wide range of compatibility with various versions of Fedora
    • foxml migration doesn't require the fedora 3 repository software to be running
    • large number of existing frameworks for efficiently processing XML
  • Considerations
    • migration of data that's not in the repository (like configuration, global xacml policies, etc.) will require special handling
    • ability to write and use plugins (special configurations) for mapping complex metadata or fedora 3 constructs into fedora 4 must be made as easy as possible since most institutions will need to write their own or adapt existing ones
  • Process
    1. Read and process FOXML documents
    2. Migrate PIDs
    3. Convert inline XML to managed XML or RDF properties
    4. Convert datastreams to binaries or RDF properties
    5. Convert or map access controls to Fedora 4
    6. Migrate versions
  • Have we left anything out?
  • What else needs to be considered when planning a migration?

Enhancements

Taking Advantage of Properties

...