...
- 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 3 | Fedora 4 |
---|---|
FOXML objectsModeShape nodes (still referred to as objects) | Web resources |
Inline and managed XML | RDF properties* |
*XML Datastreams are still supported
Flat
...
vs. Hierarchy
Fedora 3 | Fedora 4 |
---|---|
Objects and Datastreams stored in flat directoriesat the root level | Resources in a hierarchy |
No inherent hierarchy | All resources descend from a root resource |
File System Differences
Fedora 3 | Fedora 4 |
---|---|
Objects directory and data streams directory | Containers stored in a database |
Objects and datastreams stored in a hierarchical filesystem | |
PairTree | Binaries stored in a PairTree |
PIDs vs. Path
Fedora 3 | Fedora 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
- Read and process FOXML documents
- Migrate PIDs
- Convert inline XML to managed XML or RDF properties
- Convert datastreams to binaries or RDF properties
- Convert or map access controls to Fedora 4
- Migrate versions
- Have we left anything out?
- What else needs to be considered when planning a migration?
Enhancements
Taking Advantage of Properties
...