Warning |
---|
These training archives may be out of date, but have been retained and kept available for the community's benefit in reviewing previous sessions. Current training documentation can be found here: Training |
Table of Contents |
---|
Learning Outcomes
- 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
Object Properties
Fedora 3 | Fedora 4 | Example | Notes | |
---|---|---|---|---|
PID | PID | dc:identifier | someprefix:1234 | Fedora 3 Legacy PID |
State | state | fedora:status | active | The default values are active and deleted -- but additional values can be created |
Label | label | dc:title | Some title | |
Created Date | createdDate | fedora:created | 2014-01-20T04:34:26.331Z | Automatically added by Fedora 4 |
Last Modified Date | lastModifiedDate | fedora:lastModified | 2014-01-20T05:39:08.601Z | Automatically added by Fedora 4 |
Owner | ownerId | fedora:createdBy | Chuck Norris |
Datastream Properties
Fedora 3 | Fedora 4 | Example | Note | |
---|---|---|---|---|
DSID | ID | dc:identifier | MODS | Fedora 3 Legacy DSID. May not need to be preserved |
State | state | fedora:status | active | The default values are active and deleted -- but additional values can be created |
Versionable | VERSIONABLE | fedora:hasVersions | true | Versions are supported in Fedora 4 |
Label | LABEL | dc:title | MODS Metadata | |
Creation Date | CREATED | fedora:created | 2014-01-20T04:34:26.331Z | Automatically added by Fedora 4 |
Last Modified Date | N/A | fedora:lastModified | 2014-01-20T05:39:08.601Z | Automatically added by Fedora 4 |
Mime Type | MIMETYPE | fedora:mimeType | text/xml | Automatically added by Fedora 4 |
Size | SIZE | premis:hasSize | 50000 | Automatically added by Fedora 4 |
Alternate ID | AltIds | premis:hasOriginalName | sample_file.pdf | Automatically added by Fedora 4 |
Fedora 3 Data Models
- Hydra
- Islandora
- Custom
Fedora 4 Data Models
Portland Common Data Model
Islandora Data Model
UNSW Data Model
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
- Converting Inline XML and/or XML Datastreams (e.g. RELS-EXT, RELS-INT) to RDF properties.
- Inline XML is no longer supported.
- Lightweight compared to XML.
- New possibilities for complex queries that extend beyond the limits of the repository.
- Linked data relationships can be exposed via a standardized REST-APIHTTP requests
- Web applications can take advantaged of these standardized representations.
- Data can be shared and manipulated in new and interesting ways.
Enhancing Your Metadata
- XML metadata datastreams are still supported, but there are new opportunities to explore!
- XML metadata can be converted into RDF metadata using an RDF-based schema.
- RDF metadata is easier to query and share.
- Take advantage of linked data by pointing to authority URIs.