Versions Compared

Key

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

...

  1. Driving principles:
    1. Minimizing change to the user via the API
    2. OCFL-isms not bleeding into Fedora API
    3. Rebuildability
    4. Compliance with OCFL
    5. Retain URLs of migrated Fedora resources
    6. Performance
    7. Reducing complexity of implementation

Fixity service


Transaction service

  • No change

Query endpoint

Should support the following use cases:

  • List all resources

  • List all binary resources

  • List resources with mimetype TIFF that is a child of X

  • List resources where created  <> x date.

  • List resources where modified  <> x date.

  • List resources where modified <> x and mimetype in (x,..)

https://docs.google.com/document/d/13C_UhB37docTd8ZTD1ZSKuFhX6q9_3Boo67hjUC2YyM/edit


Versioning

  1. Support for both:
    1. version an object on-demand (manual versioning)
    2. version an object on-change (auto-versioning)
  2. Support for toggling auto-versioning on/off
  3. Note: Actively edited objects not captured in an OCFL version directory, but rather in a "cache" directory below the object root.  Entries to be indexed in the database .
  4. There will be a one-to-one correspondence between OCFL versions and mementos.

Bulk ingest

To flavors of pointing a Fedora instance at an OCFL backend.

  1. via OCFL
  2. via Fedora OCFLOCFL 
    1. ie "content/.fcrepo" aware

https://docs.google.com/document/d/15QwmyNFMopJW4MHxQNTiOGh_WXsOPr9-yzctGLCgT5k/edit

Import / Export   (Migration)

Mapping between LDP and OCFL

...

  1. Retaining HTTP layer of existing Fedora codebase
  2. Replacing ModeShape persistence with OCFL storage
  3. Optimizing reads/lookups with an internal database
    1. proposed database model: https://docs.google.com/document/d/1MsMfhae3thmNdoFtnTUnII3mr_-OkllRs9PvgnY1fDY/edit


Scaling

  • stateless Fedora instancesinstance(s) will scale horizontally
  • database can be clustered and scaledclustered and/or moved to cloud  database service(RDS,Aurora,etc)
  • start with file system, scale out to  file system ->  cloud object store (s3)

Performance

  1. Many members: performance should improve significantly since list of members will be supplied by a database index (which should support a degree of in-memory caching).  No loading of modeshape nodes required.
  2. Ingest speeds: 

...