Metadaten Versionierung über API Mechanismen unterstützen
Warum machen wir das?
In den aktuellen Versionierungsüberlegungen soll das Metadatenschema unabhängig von der Submission API versionierbar sein. Die Version des Metadatenschema über die URI ("$id": "https://schema.fitko.de/fit-connect/metadata/API_VERSION/metadata.schema.json"
) festgelegt. Damit zwischen Sender und Empfänger das Metadatenschema ohne Fehler nutzen können, muss eine Einigung und Transparenz über die genutzte Version erfolgen.
Da das Metadatenschema noch als Release Candidate definiert ist und daher weitere Änderungen zeitnah zu erwarten sind, wird Versionierungsmechanismus schon zum Beginn der API notwendig sein.
Relevante Links
Funktionale Anforderungen
-
Die API muss für Empfänger eine Möglichkeit anbieten, über eine URI Angabe in der Destination mitzuteilen, welche Version (oder ggf. Variante) des Metadatenschemas bei Submissions akzeptiert wird. -
Der Sender muss angeben können, welche Version der Metadaten er nutzt. Dies kann über den Metadatensatz selbst (über $schema) oder über eine Angabe in der API (Announced Content Structure bzw. Repräsentation des Antrags) erfolgen. Der Mechanismus muss eindeutig und zuverlässig umsetzbar sein.
Nicht-funktionale Anforderungen
- Dokumentation:
-
API-Changes sind für Konsumenten der API dokumentiert -
Prozessänderungen sind für Konsumenten der API dokumentiert
-
- Code:
-
Code Qualität & Formatierung eingehalten -
Commits orientieren sich an Conventional Commits -
Bei neuen Dateien sind Lizenz- und Urheberrechtshinweise gemäs der REUSE-Spezifikation vorhanden
-
- Leistung:
-
Code ist in einer Testinstanz deployt -
Es gibt keine bekannten Bugs
-
- Testen:
-
Alle funktionale Anforderungen sind durch Testfälle abgedeckt
-
Durchführungsplan
Merker: Im Self-Service-Portal wird bei der Hinterlegung des Metadatenschemas in der Destination eine feste Auswahl (Dropdown oder ähnliches) der offiziellen Versionen/URIs angeboten. --> https://git.fitko.de/fit-connect/self-service-portal/-/issues/59
-
... -
... -
...