Versions Compared

Key

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

In order to divide the effort of developing generic upgrade tooling for migrations from fedora Fedora 3 to fedora Fedora 4, it may be useful to bisect the problem into concerns about "data migration" and "functionality migration".  There are clearly some overlap as well as inter-dependencies between these two broad categories of migration concerns, but nonetheless it may serve as a useful way to break down the problem for early work.

...

For preservation repositories (and to a lesser extent, access repositories) migration of data or content in a way that is lossless , and transparent is necessary.   Because fedora 3 has maintained a relatively simple, stable and complete serialization of objects (foxml), any tool or strategy with the primary concern of retaining all fedora 3 object data might be best served working from that serialization format. Data migration discussion..There are currently two approaches being developed:

FedoraMigrate

FedoraMigrate iterates over your existing Fedora 3 application using the Rubydora gem. For each object it finds, it creates a new object with the same id in Fedora 4 and proceeds to migrate each datastream, including versions if they are defined, and verifies the checksum of each. Permissions and relationships are migrated as well but using different procedures due to the changes in Fedora 4.

The entire migration process takes place in two steps. In the first, all objects, including datastreams and permissions, are copied over to Fedora 4; in the second, relationships are migrated.

https://github.com/projecthydra-labs/fedora-migrate

Migration Utils

The basic program allows for a configuration to define one or more Fedora Object Handlers and a repository source. The handlers will in turn be provided information about each each object in the repository under the theory that one or more Handler implementations may be written to achieve whatever complex data migration or analysis is desired.

https://github.com/fcrepo4-labs/migration-utils

For more details of the design, see the related discussion to the "migration utils" approach.

Functionality Migration

Besides the data, fedora Fedora 3 (and 2) exposed functionality on objects through its dissemination framework, access control framework, embedded triplestore, coupled indexing framework and other mechanisms.  Especially for access repositories, developing a path where this functionality can be retained is essential.

...