Karriere Newsroom Kontakt DE · EN Deutsches Zentrum für Luft- und Raumfahrt
Research Data Management Platform Storage for HEterogeneous Product And Research Data · DLR Center for Lightweight Production Technology, Augsburg

User guide

This page introduces the concepts you encounter while using shepard. It is descriptive, not exhaustive — the live API explorer at /shepard/doc/swagger-ui is the source of truth for fields and parameters.

Collections

A Collection is the top-level container. It carries a name, a description, free-form attributes, an owner, and a Permissions record. Everything you store lives inside a Collection.

Screenshot: Collections page — placeholder. Replace with Playwright capture once the visual-regression workflow lands.

REST surface: CollectionRest (backend/.../context/collection/endpoints/CollectionRest.java).

DataObjects

A DataObject lives inside a Collection. DataObjects form two relationships:

REST surface: DataObjectRest (backend/.../context/collection/endpoints/DataObjectRest.java).

References

A Reference is a typed pointer attached to a DataObject. The reference kinds verified in source today (under backend/src/main/java/de/dlr/shepard/context/references/.../endpoints/):

Kind Class Stores
File FileReferenceRest Files (binary), backed by MongoDB GridFS
Structured-Data StructuredDataReferenceRest JSON documents, MongoDB
Timeseries (under data/timeseries, see TimeseriesRest) Channels in TimescaleDB
Spatial-Data SpatialDataReferenceRest Geometries in PostGIS (optional)
URI URIReferenceRest External URIs
Lab-Journal (under context/labJournal) Rich-text lab entries
Collection / DataObject (cross-references) Links between entities

Permissions

Per backend/src/main/java/de/dlr/shepard/auth/permission/model/Permissions.java the model is:

Effective access is therefore:

A REST search endpoint exists at SearchRest (backend/.../common/search/endpoints/SearchRest.java). A unified /search/v2 surface and richer query semantics are proposed in aidocs/13 and are not yet shipped — use the existing endpoints documented at /shepard/doc/swagger-ui until the v2 design lands.

API explorer

For exact request and response shapes, point your browser at https://your-host/shepard/doc/swagger-ui (path confirmed from application.properties: quarkus.http.non-application-root-path=/shepard/doc, quarkus.swagger-ui.always-include=true). The OpenAPI document itself is at /shepard/doc/openapi.json.

Per-shelf OpenAPI documents

This fork additionally exposes two filtered views of the OpenAPI document, so a generated client can pin to a single API shelf:

Both endpoints support ?format=yaml for YAML output (default is JSON) and are public, mirroring the combined /shepard/doc/openapi.json — no auth needed to fetch the spec. The combined document keeps working unchanged.