Benutzerdefinierte XMP-Metadatendefinitionen
OMN liest und schreibt XMP-Metadaten, die auf Basis einer Reihe von XMP-Eigenschaftsdefinitionen in Assets eingebettet sind. Zusätzlich zu den mit OMN ausgelieferten Definitionen können Sie eigene benutzerdefinierte XMP-Eigenschaften registrieren — zum Beispiel, um projektspezifische Felder zu lesen oder zu schreiben.
|
In OMN6 wurden benutzerdefinierte XMP-Eigenschaften registriert, indem ein JAR mit Spring-Beans erstellt und dem Classpath hinzugefügt wurde. Dieser Mechanismus wurde in OMN7 entfernt. Benutzerdefinierte Eigenschaften werden nun in einer einzigen JSON-Datei definiert. Unter Migration von OMN6 erfahren Sie, wie Sie bestehende Definitionen konvertieren. |
Die Datei xmp-custom.json
Benutzerdefinierte Definitionen werden aus einer einzigen Datei gelesen:
/usr/local/omn/config/xmp-custom.json
-
Das Verzeichnis ist
${OMN_HOME}/config;OMN_HOMEist standardmäßig/usr/local/omn. -
Binden Sie die Datei in beide Container ein, den
web- und densync-Container — beide laden die Definitionen. -
Nur diese eine Datei wird ausgewertet. Ihr Inhalt ist ein einzelnes JSON-Array von Definitionsobjekten.
Definitionsformat
Jeder Eintrag im Array beschreibt eine benutzerdefinierte XMP-Eigenschaft:
| Feld | Erforderlich | Beschreibung |
|---|---|---|
|
ja |
Eindeutiger Bezeichner in der Form |
|
ja |
Die XMP-Namespace-URI, zu der die Eigenschaft gehört (z. B. |
|
ja |
Der Eigenschaftsname innerhalb des Namespace. |
|
ja |
Der Werttyp, in Großbuchstaben geschrieben. Einer der |
|
nein |
Freitextbeschreibung der Eigenschaft. |
|
nein |
Name der übergeordneten Struktur; nur für Eigenschaften, die zu einem strukturierten (verschachtelten) XMP-Typ gehören. |
Das folgende Beispiel registriert eine einzelne String-Eigenschaft custom:MyField:
[
{
"namespace" : "http://ns.apollon.de/custom/1.0/",
"identifier" : "custom:MyField",
"type" : "STRING",
"name" : "MyField",
"description" : "Example custom XMP field"
}
]
Einen benutzerdefinierten Namespace verwenden
|
Eine benutzerdefinierte Eigenschaft, deren Wert über die OMN-Benutzeroberfläche
bearbeitet und gespeichert wird, muss einen eigenen Namespace verwenden (zum
Beispiel |
Änderungen anwenden
-
Starten Sie die
web- undsync-Container neu, um eine geändertexmp-custom.jsonzu laden. -
Fehlt die Datei, startet OMN normal und verwendet nur die integrierten Definitionen.
-
Kann die Datei nicht geparst werden, protokolliert OMN einen Fehler und fährt nur mit den integrierten Definitionen fort — prüfen Sie das Container-Log, falls eine benutzerdefinierte Eigenschaft nicht erscheint.
Migration von OMN6
In OMN6 war jede benutzerdefinierte Eigenschaft eine Spring-Bean in
META-INF/omn/spring/xmp-definitions.xml, verpackt als JAR. In OMN7 werden
dieselben Felder als ein JSON-Objekt pro Eigenschaft ausgedrückt. Die Feldnamen
sind identisch, sodass die Konvertierung mechanisch erfolgt.
OMN6 (xmp-definitions.xml):
<bean class="com.meylemueller.xmp.XmpMetaDataDefinition">
<property name="namespace" value="http://ns.apollon.de/custom/1.0/"/>
<property name="identifier" value="custom:MyField"/>
<property name="type" value="STRING"/>
<property name="name" value="MyField"/>
<property name="description" value="Example custom XMP field"/>
</bean>
OMN7 (xmp-custom.json):
[
{
"namespace" : "http://ns.apollon.de/custom/1.0/",
"identifier" : "custom:MyField",
"type" : "STRING",
"name" : "MyField",
"description" : "Example custom XMP field"
}
]
Zur Migration:
-
Erstellen Sie für jede
<bean>ein JSON-Objekt und übernehmen Sie die Werte fürnamespace,identifier,type,nameunddescription. -
Fassen Sie alle Objekte in dem einzigen Array in
/usr/local/omn/config/xmp-custom.jsonzusammen. -
Entfernen Sie das alte JAR — es wird in OMN7 nicht mehr geladen.
-
Wenn eine migrierte Eigenschaft über die Benutzeroberfläche bearbeitet wird und einen kontrollierten Adobe-Namespace (z. B.
exif) verwendet hat, verschieben Sie sie in Ihren eigenen Namespace (siehe Einen benutzerdefinierten Namespace verwenden).