1 of 10

Fedora6.client

A RUBY-ON-RAILS GEM FOR CONNECTING RAILS TO THE FEDORA6 API

2 of 10

ORA (Oxford University Research Archive) in numbers

280,000 digital research items (objects): research articles, monographs, theses, datasets, working papers, etc.

110,000 objects with public binary files

1200 new mediated deposits each month (all with binary files)

Datasets up to 256GB in size

3 of 10

The ORA Digital Preservation Service (Fedora6 as OCFL-in-a-box)

  • Digital preservation is a core part of our mission, and Hyrax and Fedora 4 have several significant shortcomings: especially object versioning and metadata preservation.
  • The ORA system sits within the Bodleian’s Digital Preservation Microservices system, which provides robust and diverse preservation analysis tools, such as fixity, file validation, virus checking, file format sustainability assessment, and more
  • The chosen technology for Digital Preservation within the Bodleian’s Digital Systems and Services team is OCFL (the Oxford Common Filesystem Layer).
  • We will be using Fedora6 as the management layer to create and manage OCFL objects on disk: Fedora’s community, documented API, transaction management, and messaging features are all powerful incentives.

TOM WROBEL – BODLEIAN LIBRARIES OXFORD

3

9/13/2023

4 of 10

Why did we write Fedora6.client?

ORA wants to be able to preserve its existing Hyrax repository content in an OCFL layer using the model of one ORA object == one OCFL object, and to access and manipulate those objects.

To do this, we need a Rails layer to abstract the Fedora6 API.

  • ORA, the Oxford University Research Archive, is a Hyrax 2.5.1-based repository, supported by Fedora 4.6.2
  • Hyrax and Fedora 4 have several significant shortcomings: especially object versioning and metadata preservation.

TOM WROBEL – BODLEIAN LIBRARIES OXFORD

4

9/13/2023

5 of 10

Fedora6.client

  • https://github.com/Bodleian/fedora6.client, MIT licence
  • Currently in develop, will be released to QA in Q3 2023. It is effectively at v0.6 – v1.0 would require a full coverage of the Fedora6 API
  • ORA is moving to a full-scale test migration of its entire repository into Fedora6 using this code in Q3/Q4 2023
  • Allows for both direct upload of binary files, and binary file loading via external reference

TOM WROBEL – BODLEIAN LIBRARIES OXFORD

5

9/13/2023

6 of 10

Fedora6.client classes

  • Feodra6::Client::Config to handle setup and configuration
  • Fedora6::Client::Container for LDP containers
  • Fedora6::Client::Binary for binary files
  • Fedora6::Client::Version for versioning
  • Fedora6::Client::Transaction for transactions

TOM WROBEL – BODLEIAN LIBRARIES OXFORD

6

9/13/2023

7 of 10

ORA::DPS

  • A class to integrate Hyrax with Fedora6 using Fedora6.client for the creation of versioned archival groups corresponding to a single Hyrax object
  • Contains ORA specific business logic, so a little bit messy for release right now. Available freely (as in speech and beer) on request.
  • Requires creation of a local method to export a Hyrax object as serialised metadata

TOM WROBEL – BODLEIAN LIBRARIES OXFORD

7

9/13/2023

8 of 10

Usage examples��uuid = 'uuid_55d2db31-0423-4fd0-970c-a593d85b3ace’ �require 'ora/dps’ �ocfl = ORA::DPS.new �ocfl.save(uuid)

TOM WROBEL – BODLEIAN LIBRARIES OXFORD

8

9/13/2023

9 of 10

Next steps

  • Full coverage of the Fedora6 API
  • Seeking partners to understand other use cases and broaden scope
  • Future integration with Samvera’s Valkyrie development
  • Features not yet implemented:
    • POST creation of new container with RDF properties
    • PATCH modification of triples associated with a resource
    • POST uploading files with checksum(s)
    • OPTIONS
    • FIXITY checks
    • SIDE LOADING
    • Creation of binary resources by proxy/reference

TOM WROBEL – BODLEIAN LIBRARIES OXFORD

9

9/13/2023

10 of 10

Get in touch!

TOM WROBEL – BODLEIAN LIBRARIES OXFORD

10

9/13/2023