You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Design

  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. Performance
    6. Reducing complexity of implementation

Fixity service


Transaction service


Query endpoint


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

Bulk ingest


Import / Export


Mapping between LDP and OCFL


Architecture

  1. Retaining HTTP layer of existing Fedora codebase
  2. Replacing ModeShape persistence with OCFL storage
  3. Optimizing reads/lookups with an internal database


Scaling

Performance

ModeShape replacement

OCFL persistence

  1. Support for both OCFL objects:
    1. created by Fedora
    2. pre-existing, created by another application

Fedora-specific details

  1. /content/.fcrepo directory
  2. Hashing (SHA256) on LDP path of resource
  • No labels