docuteam box
docuteam box is both an API and an end-user application that sits on top of a Fedora repository stack. As such, it offers high-level access functionality to repository objects. For example, it is able to generate "Dissemination Information Packages" (DIP) in different extents (single objects or entire depositions), to produce previews/thumbnails for specific binary objects or just query the metadata of objects.
The application is providing both a simple web UI and an API for automated requests.
- The UI offers a cockpit to the repository, i.e. statistics about the repository's content, a SPARQL query interface and a simple search interface.
- The API supports the same business operations to access repository objects and information as its predecessor application docuteam rservices with a couple of differences:
- authentication is done using
X-Auth-token
headers - DIP creation based on a provided EAD or generic XML not done in async mode anymore but as synchroneous calls, i.e. you'll get the DIP as the response, not just the expected filename.
- Additional operation to download a
mets.xml
file without the actual binaries of a DIP
- authentication is done using
- In addition the API also supports operations to ingest or modify data in Fedora 6. The binaries and corresponding RDF metadata have to stored on a shared folder which can be accessed by box.
- POST to
object/insert
: Ingest a SIP by sending a path to folder containing the SIP. - PUT to
object/append
: Ingest a SIP and appends it to an existing Fedora resource (defined by theappend_position_pid
parameter). - PUT to
object/replace
: Replaces an existing File in Fedora 6 by sending a path to a folder containing the binary file and corresponding RDF metadata. - DELETE to
object/delete
: Deletes an existing resource and all its children.
- POST to
The technical API documentation is available as OpenAPI specification from within the application itself under ./docs/v1, or here.
There are two methods of authentication for docuteam box:
- The UI uses a Keycloak instance (which can be linked to another authentication service like AzureAD using OpenID or SAML)
- The API is using tokens which can be managed within the UI.