Lese-Mapping

Für das Lese-Mapping können verschiedene Profile definiert werden. Zwischen diese Profile können beim Hochladen von Dateien manuell ausgewählt werden. Dabei können Sie ein Profil direkt für alle Assets benutzen oder je Asset einstellen, welches Profil verwendet wird. Das Profil kann im Frontend noch geringfügig angepasst werden, der Benutzer kann einzelne Mapping-Anweisungen per Checkbox deaktivieren.

Darüber hinaus kann beim Hotfolder je Hotfolder auch ein Profil angegeben werden. Auch beim Manueller Importer können Sie ein Profil angegeben, welches verwendet werden soll.

easydb kann derzeit nicht regelbasiert selbständig entscheiden, welches Profil Anwendung finden soll.

Laden Sie Bilder in Ihre easydb hoch und klicken im Editor auf "Eigenschaften" und den Reiter "Metadaten" um alle gefüllten Metadaten-Felder einzusehen. Verwenden Sie anschließend den vollständigen Schlüssel-Wert / Tag-Namen bei der Konfiguration des Metadaten-Mappings.

EAS_METADATA_READ_PROFILES

Mit dieser Variable definieren Sie kommasepariert interne Namen(name) für die Lese-Profile. Wählen Sie kurze sprechende Zeichenketten, jeder weitere Config-Eintrag für dieses Lese-Profil verwendet diesen Namen. Für das Frontend können Sie separat einen Namen definieren. Achten Sie darauf, keine Leerzeichen zu verwenden.

EAS_METADATA_READ_PROFILES=prof1,prof2

Dieses Beispiel definiert zwei Lese-Profile, prof1 und prof2.

EAS_METADATA_READ_<name>_TABLE

Definieren Sie hier eine Tabelle auf die sich das Lese-Profil bezieht. Die Haupt-Tabelle für die Asset-Verwaltung heisst in der Regel "assets" oder "bilder".

EAS_METADATA_READ_prof1_TABLE=bilder

Hier definieren wir für unser prof1-Profil die Haupttabelle "bilder".

EAS_METADATA_READ_<name>_NAME

Diese Variable definiert den Namen des Profils wie er dem Benutzer angezeigt wird.

EAS_METADATA_READ_prof1_NAME=Einfaches Profil

In unserem Beispiel nennen wir prof1 "Einfaches Profil".

Inhaltliches Mapping

Die folgenden Variablen definieren die Regeln nach denen das eigentliche Daten-Mapping stattfindet. Es gibt die folgenden Varianten Daten zu mappen:

  • SET: Setzen einer Spalte in der Haupttabelle
  • 1_N_LINK: Setzen einer Link-Spalte in der Haupttabelle
  • N_M_LINK: Setzen eines Links in einer Link-Tabelle zur Haupttabelle
  • EADB_LINKS: Setzen eines easydb-Links ( in der eadb_links-Tabelle )

EAS_METADATA_READ_<name>_SET.<column>

Ersetzen Sie:

  • name: Durch den Namen des Profils
  • column: Durch die Spalte in der Haupttabelle für die der Wert gesetzt werden soll

EAS_METADATA_READ_<name>_1_N_LINK.<link-column>.<column-link-table>

Ersetzen Sie:

  • name: Durch den Namen des Profils
  • link-column: Durch den Namen der Spalte in der Haupttabelle die eine Link-ID zu einer Link-Tabelle enthält.
  • column-link-table: Durch den Namen der Spalte in der Link-Tabelle die auf den gesetzten Wert überprüft und ggfs. eingefügt wird.

EAS_METADATA_READ_<name>_N_M_LINK.<n-m-table>.<link-column>.<column-link-table>

Ersetzen Sie:

  • name: Durch den Namen des Profils
  • n-m-table: Name der n-m-Link-Tabelle
  • link-column: Name der Spalte in der n-m-Link-Tabelle, die auf die Link-Tabelle zeigt
  • column-link-table: Durch den Namen der Spalte in der Link-Tabelle die auf den gesetzten Wert überprüft und ggfs. eingefügt wird.

EAS_METADATA_READ_<name>_EADB_LINKS.<link-table>.<column-link-table>

Ersetzen Sie:

  • name: Durch den Namen des Profils
  • link-table: Name der Link-Tabelle
  • column-link-table: Durch den Namen der Spalte in der Link-Tabelle die auf den gesetzten Wert überprüft und ggfs. eingefügt wird.

Funktionen zur Werte-Ermittlung

Die Werte der inhaltlichen Config-Variablen sind kleine Schnipsel PHP-Code. Es stehen verschiedene kleine Funktionen zur Verfügung, die das Werte-Ermitteln unterstützten:

  • set
  • basic
  • meta
  • sql

Die Funktionen meta und sql können mehr als ein Ergebnis zurückliefern. Bei der sql-Funktion sind das Ergebnisse mit mehr als einer Zeile, bei der meta-Funktion sind das Metadaten mit mehreren Zeilen, wie beispielsweise Keywords.

Die folgenden Metadaten-Mappings benutzen die mehrzeiligen Ergebnisse:

  • N_M_LINK
  • EADB_LINKS

Die anderen beiden Metadaten-Mappings:

  • 1_N_LINK
  • SET

benutzen nur die erste Zeile des mehrzeiligen Ergebnisses.

Sie können Funktionen kombinieren ( es handelt sich ja um PHP ), sie müssen aber darauf achten, dass Sie als äußeren Aufruf dann immer "set" verwenden.

set("value")

Die set-Funktion setzt den Wert auf "value". "value" kann dabei ein String, Integer oder ein PHP-Array sein.

EAS_METADATA_READ_prof1_SET.copyright=set("(c) 2010")

Das Beispiel setzt im prof1-Profil die copyright-Spalte immer auf "(c) 2010". Setzen Sie die Werte immer in Anführungszeichen, auch wenn Sie einen numerischen Wert setzen wollen.

EAS_METADATA_READ_prof1_SET.datierung=set(preg_replace('/([0-9]{4}):([0-9]{2}):([0-9]{2})/','$3.$2.$1',meta('ExifIFD:CreateDate') ))

Benutzen Sie Reguläre Ausdrucke um beispielsweise Datumsformate zu wandeln.

EAS_METADATA_READ_prof1_N_M_LINK.bild__schlagwort.lk_schlagwort_id.name=set(array("s1", "s2", "s3"))

Dieses Beispiel erzeugt, falls sie nicht existieren 3 Schlagworte "s1", "s2" und "s3" und verlinkt diese über "bild_schlagwort" mit der Haupttabelle.

basic("key")

Diese Funktion sucht für key den Wert aus dem aktuell hochgeladenen Assets. key ist eines von:

  • FILENAME: Kompletter Dateiname mit Verzeichnis
  • DIRNAME: Verzeichnis-Name der Datei
  • BASENAME: Dateiname
  • BARENAME: Dateiname ohne die Endung
  • ORIG_TYPE: file class des Assets (IMAGE, VIDEO, AUDIO, OFFICE, OTHER)
  • ORIG_FORMAT: extension des Assets (jpg, tif, png, mov, ...)
  • LOGIN: user_id des hochladenen Benutzers
EAS_METADATA_READ_prof1_SET.unique_identifier=basic("BARENAME")

Die "basic"-Funktionalität steht nur im Hotfolder und Manueller Import zur Verfügung!

Die aus der easydb 3 bekannten Ersetzungen für z.B. POOL_ID in den IMAGE_WRITE_*-Variablen werden in easydb 4 automatisch vorgenommen.

sql("SELECT 1")

Mit dieser Funktion führen Sie SQL-Selects aus. Es wird die erste Spalte aller Ergebnis-Zeilen gelesen.

meta("key")

Die vielleicht wichtigste Funktion für das Metadaten-Mapping. "key" ist der Metadaten-Key, den Sie auslesen und mappen möchten. Es gibt eine Vielzahl von möglichen Keys. Wenn Sie im easydb-Frontend ein Asset hochladen und sich die Asset-Eigenschaften anschauen, können Sie sich die Metadaten anzeigen lassen.

Für Mapping des Filenames verwenden Sie beispielsweise:

EAS_METADATA_READ_prof1_SET.unique_identifier=meta("EAS:OriginalFilebase") # Dateiname ohne Endung
EAS_METADATA_READ_prof1_SET.unique_identifier=meta("EAS:OriginalFilename")   # Dateiname 

Bitte beachten Sie, dass beim einfachen Uploader keine Information über das Ursprungsverzeichnis einer Datei übertragen wird. easydb empfängt vom Browser nur den Dateinamen.

Zum Mappen von Keywords verwenden Sie:

EAS_METADATA_READ_prof1_N_M_LINK.bild__schlagwort.lk_schlagwort_id.name=meta("XMP-dc:Subject")

"XMP-dc:Subject" ist der Standard zum Übertragen von Keywords. Das vorliegende Beispiel verknüpft die Keywords einzeln mit dem Asset über die Link-Tabelle "bild__schlagwort".

Wenn Sie Listen in ein Textfeld mappen, werden die Listeneinträge durch ", " getrennt gemeinsam in das Textfeld geschrieben.

EAS_METADATA_READ_prof1_SET.beschreibung=meta("XMP-dc:Subject")

In diesem Beispiel werden die Keywords mit ", " getrennt in das Feld "beschreibung" geschrieben.

Wenn Sie ein anderes Trennzeichen verwenden wollen, schreiben Sie:

EAS_METADATA_READ_prof1_SET.beschreibung=set(join("; ", meta("XMP-dc:Subject")))

In diesem Beispiel werden die Keywords mit "; " getrennt in das Feld "beschreibung" geschrieben.

EAS_METADATA_READ_prof1_1_N_LINK.lk_fotograf_id.name=meta("IPTC2:By-line")

In diesem Beispiel wird im prof1 das IPTC-Feld "By-Line" als Name des Fotografen interpretiert. Es wird ein Eintrag in die Spalte name der Link-Tabelle zu "lk_fotograf_id" angelegt und dieser über die "lk_fotograf_id" mit der Haupttabelle verlinkt.

Sie können auch eine Liste von Metadaten-Schlüsseln angeben (neu in Version 4.0.70):

EAS_METADATA_READ_prof1_SET.datierung=meta('XMP-xmp:ModifyDate', 'ExifIFD:CreateDate', 'IFD0:ModifyDate', 'System:FileModifyDate')

In diesem Fall wird der erste nicht-leere Wert in das entsprechende Feld geschrieben.

Vorauswahl im Upload-Dialog

DEFAULT_UPLOAD_PROFILE

Die Variable DEFAULT_UPLOAD_PROFILE bestimmt das vorausgewählte Profil im Upload-Dialog.

DEFAULT_UPLOAD_PROFILE==default

In diesem Fall wird das Standardprofil ausgewählt.

DEFAULT_UPLOAD_PROFILE=prof1

Mit dieser Einstellung wird das Profil mit Namen prof1 ausgewählt.