Uuid für Metadaten CSW Export

Für das Verständnis des Exports von Metadaten aus cardo heraus zu CSW Diensten sind einige Konzepte zu erklären.

Generierung der uuid für Dokumente

Innerhalb von cardo wird für jeden Knoten neben der Datenbank Id (Autowert, instanzweit eindeutig) eine Guid erzeugt. Diese wird in der Spalte "uniqueId" der Tabelle "sec_mt_admin_tree" hinterlegt und kennzeichnet jeden Knoten eindeutig. Diese Id kann auch manuell vergeben/geändert werden.

Für interne Abgleichverfahren, z. B. via c2c, wird immer diese Kennung zur eindeutigen Kennzeichnung einer Ebene / eines Knotens über mehrere cardo Instanzen hinweg zum Auffinden der Elemente (Ordner, Ebenen) verwendet.

Diese Id wurde bis Version 3.5.5 auch als Datensatzidentifikator für Exporte zu CSW Servern verwendet. Das Problem dabei ist, dass Dokumente in einem CSW Server nach Typen getrennt werden müssen. Z. B. erhalten WMS oder WFS Dienste eine eigene Dokumenten-Id.

Mit der Version 3.5.5 wurde dieses System beim Export geändert.

Jetzt wird beim ersten Abruf eines Metadatendokumentes eine Menge neuer Guids generiert. Dabei wird pro Knoten immer mindestens eine Guid mit dem Typ "CswIso" erstellt. Weitere Id's werden nach diesem Schema für jede "Anwendungsart" ("CswWfs", "CswWms") erstellt. Diese Id's werden immer von dem Knoten referenziert und bleiben dauerhaft nach der ersten Erstellung pro cardo Instanz vorhanden.

Jede ID ist immer garantiert eine uuid, die Stringrepräsentation wird immer ohne {} ausgegeben.

Neben den z.Z. vordefinierten möglichen Typen "CswIs","CswWfs" und "CswWms", sind beliebige weitere vom Benutzer definierte Typen möglich. Die Daten werden in der Tabelle "sec_mt_admin_tree_uuids" mit Verweis auf den Knoten gespeichert.

Die so erstellten Id's werden dabei von der jeweils exportierenden cardo Instanz generiert, sind immer eindeutig und werden nicht mehr während der "Lebenszeit" eines Knotens geändert. Wird das inhaltlich gleiche Dokument (oder Dienst) von verschiedenen cardo Instanzen erstellt, unterscheiden sich die Dokumente anhand ihrer Id's.

Im CSW Export verwendete Id's

Beim CSW Export wird immer ein Dokument vom Typ "Iso 19115" angelegt. Dienste Url's werden anhand der Betrachtung der eingestellten Rechte automatisch generiert.

Für jede generierte Dokumentart wird ein Dokument mit dem Element <gmd:fileIdentifier> generiert. Der Identifier ist dabei je nach Dokumentart eine der oben neu erstellten genannten Ids .

Für Dienste wird immer ein Verweis via "operatesOn" auf die Id des zugehörigen Datendokument vom Typ ISO:19115 erstellt.