2021.06 2022.06

Die MyCoRe-Objekt-ID

Die Identifikation eines jeden MyCoRe-Objektes erfolgt grundsätzlich über eine eindeutige ID. Die ID kann per Hand vergeben oder auch automatisch via API generiert werden. Diese hat für alle Objekte einen einheitlichen Aufbau, dessen Inhalt für jedes Projekt und jeden Datentyp festzulegen ist: ID = “project_type_number”

Project (Projektkürzel) Dieses Element ist für ein Projekt und/oder eine Einrichtung / Datengruppe festzulegen, zum Beispiel UBLPapyri oder mir. In MyCoRe wird es teilweise auch zur Identifikation einzelner Konfigurationsdaten mit genutzt. Es sollen nur Buchstaben (ohne Umlaute und Sonderzeichen) oder Zahlen verwendet werden.
Type (Typ) Das Element beschreibt den Datenmodelltyp, d. h. der type verweist auf die zugehörige Datenmodell-Konfiguration, zum Beispiel datamodel-author oder datamodel-document. In MyCoRe wird es oft zur Identifikation einzelner Konfigurationsdaten im Zusammenhang mit der Verarbeitung dieses Datenmodells genutzt.
Number (Nummer) Ist eine frei wählbare positive Integerzahl. Diese Zahl kann in Verantwortung des Projektmanagers per Hand oder automatisch vergeben werden. Bei der Projektdefinition wird die Größe des Zahlenbereiches festgelegt. Es hat sich als sinnvoll erwiesen, nicht weniger als 8 Ziffern einzuplanen.

Tabelle: Aufbau der MCRObjectID

Im MyCoRe-Projekt sind zwei MCRObjectID-Typnamen reserviert und dürfen nicht für anderweitige Objekte genutzt werden. Der Typ class steht für Klassifikationen, der Typ derivate wird für Multimediaobjekte verwendet. Die Kombination aus Projektkürzel und Typ wird base genannt.

Das Property für die Länge der generierten Nummer lautet: MCR.Metadata.ObjectID.NumberPattern und ist mit dem Wert 00000000 initialisiert.
Mit dem Property MCR.Metadata.ObjectID.NumberDistance kann im ID-Generator der Abstand zwischen zwei IDs definiert werden, falls diese nicht vorlaufend vergeben werden sollen.

Es sei noch einmal ausdrücklich darauf hingewiesen, das die MCRObjectID eine zentrale Rolle im ganzen MyCoRe-Projekt spielt. Über sie werden alle Daten identifiziert und referenziert. Es sind daher die vorgegebenen Regeln streng einzuhalten. Da es derzeit für den Datentyp zum Anhängen digitaler Objekte nur eine derivate-Bezeichnung gibt, kann es beim Design eines Projektes hilfreich sein, sich für eine Gruppe von Projektkürzeln zu entscheiden, z. B. MIRAuthor_author_... , MIRDocument_document_... usw. So kann jedem Datenmodell eine dedizierte Derivate-Gruppe zugeordnet werden z. B. MIRAuthor_derivate_... oder MIRDocument_derivate_... . Diese Trennung ist nicht zwingend, hat sich aber bei der Verwaltung großer Datenmengen als günstig erwiesen. Manchmal ist es sogar sinnvoll, hierzu noch mehrere Projektkürzel für ein Datenmodell zu verwenden, je nach Umfang des Datenbestandes und der Sicherungs- und Reparatur-Strategien des Projektes.