Fedora 4 supports several modes of maintaining and verifying durability of its digital objects.
...
When uploading binary content, clients may also provide a SHA-1 checksum digest with their request. Fedora will validate the uploaded content against the SHA-1 hash to ensure the data was correctly transferedtransferred. In any case, Fedora 4 will calculate and store that information to ensure it has something to run fixity checks against later.
Example
Code Block |
---|
$ curl -iX PUT --upload-file image.png -X PUT@image.jpg -H"Content-Type: image/jpeg" -H"digest: sha=cb1a576f22e8e3e110611b616e3e2f5ce9bdb941" "http://localhost:8080/rest?checksum=urn:sha1:5441456941dd8b3ee0832b991ee93ba0c0a558f7/new/image" -> 201 Created $ curl -iX PUT --upload-file image.png -X PUT@image.jpg -H"Content-Type: image/jpeg" -H"digest: sha=no-good" "http://localhost:8080/rest/fcr:new/fcr:content?checksum=urn:sha1:bad-checksumimage" -> 409 Conflict urn:sha1:bad-checksum did not match urn:sha1:5441456941dd8b3ee0832b991ee93ba0c0a558f7cb1a576f22e8e3e110611b616e3e2f5ce9bdb941 |
Durable storage
Fedora 4 can also be clustered, and replicate or distribute the content across members of the cluster.
Anchor | ||||
---|---|---|---|---|
|
Requesting onFedora supports transmission fixity and persistence fixity. See Fixity Checking. Note: On-demand, persistence fixity checks of objects is baked into the core HTTP API.are currently supported, but this service is slated for future deprecation.
Export
Fedora 4 comes with an optional external component that supports durable, transparent persistence via two optional methods: an export component and an external component, which supports several forms of export serializations. This . The export component is a separate task that is independently launched. The latter component listens for repository events that are emitted on all modification actions, retrieves the modified resources and serializes them to disk in addition to the native storage of the repository. Serializations include RDF (text/turtle) or JCR/XML.