Ingest by WebDAV is currently the preferred way to ingest data into an OCFL repository.
Choose and install one of the following WebDAV clients:
Prepare your WebDAV credentials:
Establish a WebDAV connection with Oxygen:
This server configures the following WebDAV endpoints, each endpoint targeting to an OCFL repository:
Each WebDAV endpoint targets to the following basic WebDAV directory:
{repository} ├── cache ├── config ├── cloud ├── data └── log
The cache
, config
, and log
directories contain files not relevant for the
WebDAV ingest. The cloud
and data
directories are the relevant ones, where data
contains the target OCFL directory and cloud
is a mounted cloud directory containing the source
files.
The cloud
storage is the place where authoring of research data takes place in collaboration between
researchers and research data managers. The following cloud storage is configured for this server:
In order to get access to the data box, contact the cloud storage administrators.
Since fixity is crucial for research data management, it is highly recommended to use one of the desktop clients for data authoring since, in contrast to the web clients, they compute digests for each file upload.
Ingest is done by copying files and directories from a cloud
directory into an OCFL content directory
with a WebDAV client. See a detailed description of all WebDAV functions in section OCFL ingest below.
It is best practice to make a cloud directory readonly for all researchers and research data managers as soon as a data bundle is considered to be ready for OCFL ingest into a production environment. There may be inconsistencies otherwise if data change in the cloud directory during OCFL ingest.
The WebDAV interface keeps the OCFL structure consistent. It does not allow any copying of data that would confuse the OCFL directory. See WebDAV API for a technical description.
As soon as data are copied, they are in an archived state but are not yet available via REST APIs. Reindex an OCFL repository with the Ingest API in order to make ingested data available via REST APIs.
Create two directories:
/data/{objectPath}
./data/{objectPath}/{object}
.Creating the second directory will automatically trigger the creation of a new OCFL object including OCFL inventory files, inventory digest files, a first version directory, and so on. Deeper nested directory structures are not supported. The second directory is always expected to be the OCFL object directory.
Choose the names of the new directories carefully because, at least in production environments, they should not be renamed at a later time. Special chars such as german umlauts are supported but are not recommended.
The WebDAV API supports deletion of OCFL objects.
/data/{objectPath}/{object}
./data/{objectPath}
.OCFL object deletion is a convenience feature for test and development environments, where data collections are prepared for production.
It is not recommended to delete OCFL objects in production environments.
Adding OCFL content files is done by moving files from the cloud directory to an OCFL content directory with drag-and-drop.
As soon as the copying of the cloud files has started, the whole OCFL repository is locked in order to keep the OCFL structure consistent. Files are copied with guarantee of fixity. Copied files are registered in the OCFL inventory of an OCFL object. If the file already exists in a preceding OCFL version, the file is deduplicated and only a reference is stored in the OCFL inventory. The WebDAV interface makes sure that files can be copied only into the latest version of an OCFL object. Older versions are immutable.
It is not possible to author OCFL content files. In order to change OCFL content files, edit them with the cloud storage desktop client and repeat the OCFL ingest by means of the WebDAV client.
OCFL content files can be deleted in the following way:
The WebDAV interface makes sure that only files of the latest version of an OCFL object can be deleted. Older versions are immutable. If the file to be deleted is a deduplicated file, only the reference to the file is deleted in the OCFL inventory. The physical file is also deleted if it is not a deduplicated file.
Start a new OCFL version in the following way:
/data/{objectPath}/{object}
./data/{objectPath}/{object}/v{number}
below the OCFL object directory,
where {number}
is higher by one than the latest OCFL version of the OCFL object.OCFL version directories always start with a v
.
The new OCFL version by default contains all OCFL content files of its preceding OCFL version. All OCFL content files in the new OCFL version are deduplicated.
Delete the latest OCFL version in the following way:
/data/{objectPath}/{object}/v{number}
.The WebDAV interface makes sure that only the latest version of an OCFL object can be deleted.
Edit the default ACL of an OCFL repository in the following way:
/data/acl.json
.The default ACL has effect on all OCFL content files of all versions of all OCFL objects of an OCFL repository.
Edit an OCFL object's ACL in the following way:
/data/{objectPath}/{object}/acl.json
.An OCFL object ACL has effect on all OCFL content files of all versions of an OCFL object. It overwrites the default ACL.