Connector-Server-API

Der Connector wird über eine HTTP url angesprochen und kann Daten als GET-Parameter oder als PHP-Array entgegennehmen. Die Ausgabe erfolgt als PHP-Array oder als text/plain.

Seit Version 4.0.199 benötigt der Benutzer des Connectors das System-Recht FUNCTIONSERVER. Für einige Funktionen und Parameter wird darüber hinaus das System-Recht FUNCTIONSERVER_UNSAFE benötigt. Ist dieses Systemrecht nicht für Connector-Partner freigegeben, kann es bei den Partnern zu einem 401-Fehler kommen.

Der Connector wird grundsätzlich über die URL easydb-url/easy/fs.php angesprochen. Danach kommt immer der Paramater function mit dem Funktionsnamen als Wert. Danach die Paramater für die Funktion.

Die Authentifizierung erfolgt über HTTP-Auth.

Basis-Parameter

Folgende Parameter gehen für jede Funktion:

Parameter Beschreibung
output=wddx|serialized|json wddx: Ausgabe als XML im WDDX Format
serialized: Ausgabe als seriellisiertes PHP-Array
json: Ausgabe als JSON.
easydb=<session-id> In jeder Connector-Rückgabe wird eine Session-ID zurückgegeben. Es ist empfehlenswert nach der ersten Anfrage die Session-ID in weiteren Anfragen zu verwenden. Dadurch wird der Initialisierungs-Prozess der easydb abgekürzt und die Anfragen werden schneller beantwortet.

Funktionen

Function Parameter Beschreibung Beispiel
config_get - Zeigt die Konfiguration des Connectors an http://easydb-host/easy/fs.php?function=config_get
object_retrieve_structure table_name Holt die Struktur eines Objektes für die Tabelle table_name http://easydb-host/easy/fs.php?function=object_retrieve_structure&table_name=assets
object_search table_name
search
search_mask
search_request
sql
sql_where
Sucht Objekte in der easydb, danach können die Objekte mit object_retrieve_bulk oder object_html aus der easydb geholt werden. Siehe Text.
object_retrieve_bulk table_name
ids
image_size
download_size
download_with_iptc
Holt Objekte als reine Daten. Siehe Text.
object_html table_name
ids
Holt Objekte und rendert sie als HTML. Siehe Text.

Unterstrichene Parameter sind unsicher (SQL Injection) in der Benutzung und benötigen das System-Recht FUNCTIONSERVER_UNSAFE für den Benutzer.

object_search

Suchen kann man beispielsweise mit:

http://easydb-host/easy/fs.php?function=object_search&search=bruno&table_name=assets

Das sucht alle Assets in dem das Wort "bruno" gefunden wird.

Mit dem Parameter search_mask kann eine beliebige mit dem easydb Creator erstellte Suchmaske genutzt werden, um zu suchen. Hierfür müssen die Felder der Suchemaske mit im GET Request übergeben werden. Die entsprechenden Feldnamen kann man in der easydb selbst anzeigen.

Im Debug-Modus klicken Sie auf M, um die Namen der Eingabefelder anzuzeigen.

1

Um jetzt mit dem Connector im Titel "bruno" zu suchen genügt folgender GET Request:

http://easydb-host/easy/fs.php?function=object_search&table_name=assets&search_request=SF_1006-1-A%3Dbruno%26TL_42430%3D

Hierbei wird der Key search_request benutzt, um ein Url-Encoded-Array zu übergeben. Dieses Array besteht auf Key=Value, wobei Key die im Screenshot angezeigten Feldbezeichner sind. Im Falle von Titel ist das SF_1006-1-A, siehe 1.

Beachten Sie:

  • Das Feld TL_42430 wurde hier mit übergeben (ohne Value), solche Felder könen Sie in der Query auch weglassen.
  • Die Feldbezeichner sind in jeder easydb unterschiedlich, aktivieren Sie wie beschrieben den Debug-Modus, um in Such-Formularen die Keys anzuzeigen.
  • Um eine Checkbox zu aktivieren, verwendet Sie als Value ein literales Y.
  • Die Standardwerte für die Suche stehen im Stringtool in CONNECTOR/object_search searchfield und CONNECTOR/object_search mask.

Den obigen Beispiel Value für den Key search_request erzeugen Sie in PHP z.B. so:

<?php echo urlencode(http_build_query(array("SF_1006-1-A"=>"bruno"))); ?>;

Suchen per SQL

Für die Suche können nicht nur search oder search_mask verwendet werden, sondern auch sql und sql_where. Damit ist es möglich direkt mit SQL zu Suchen. Ein einfaches Beispiel, um zum Beispiel die letzten 10 Assets zu finden, die ins System eingestellt wurden:

http://easydb-host/easy/fs.php?function=object_search&sql=SELECT+id+FROM+assets+ORDER+BY+ID+DESC+LIMIT+10&table_name=assets

object_retrieve_bulk

Um Objekte anzuzeigen, können mit der Funktion object_retrieve_bulk ein oder mehrere Objekte geladen werden.

http://easyb-host/easy/fs.php?function=object_retrieve_bulk&ids=142448,146877&image_size=640&download_size=1024
Parameter Beschreibung
table_name (optional) Name der Tabelle, um Objekte zu finden. Default ist die Standard-Tabelle EASYDB_DEFAULT_TABLE.
table_id (optional) Interne ID der Tabelle, um Objekte zu finden.
ids Kommaseparierte Liste mit den IDs der Objekte.
no_links 1/0: Gibt an, ob verlinkte Informationen gesucht werden und ins Ergebnis einbezogen werden.
no_tree 1/0: Gibt an ob für Objekte und verlinkte Objekte die sich in einem Baum befinden, Pfad-Information ausgegeben werden.
image_size Kantenlänge in Pixel der gewünschten Bildgröße. Wenn gesetzt wird für jede Spalte vom Datentyp easydb-Asset-Server Information über das verlinkte Asset ausgegeben mit der URL zum Abruf des Vorschaubildes in dieser Größe. Die Größe orig findet die größte erlaubte Vorschau-Version des Assets.

Folgende Informationen werden ausgegeben:
  • width Breite des Vorschaubildes in Pixeln.
  • height Höhe des Vorschaubildes in Pixeln.
  • mimetype Mimetype der Original-Datei.
  • fileclass Fileclass der Original-Datei (image, video, audido, office, other).
  • format Format der Original-Datei.
  • EAS::Custom Key-Value-Array mit Speicher-Informationen der easydb im easydb-Asset-Server.
  • EAS::Common Key-Value-Array mit Herkunfts-Informationen über die Datei im easydb-Asset-Server.
  • EAS::TypeInfo Key-Value-Array mit Datei-Informationen die detailierte Auskunft über die Art der Datei geben.
Die Informationen mit EAS:: gibt es seit Version 4.0.168.
download_size Wie image_size mit dem Unterschied, dass zusätzlich noch eine weitere Version angefragt werden kann. Die Größe original gibt den Link zum Original-Asset zurück. Mit root wird der Link zum Original-Root-Asset zurückgegeben (Seit Version 4.0.265). Beachten Sie, dass download_size nur ausgewertet wird, wenn auch image_size gesetzt ist.
download_with_iptc Wenn auf 1 gesetzt, wird das erste in EAS_METADATA_WRITE_PROFILES konfigurierte Metadaten-Profil verwendet, um zum Zeitpunkt des Downloads die aktuellen Objekt-Daten in die Metadaten zu mappen. Alternativ kann auch der Name des Profils angegeben werden. Wenn auf 0 oder none gesetzt, wird eine URL ausgegeben, die die Metadaten direkt schreibt. Wenn nicht oder leer gesetzt, wird des erste für diese Tabelle gültige Profil benutzt. Die Semantik dieser Variable wurde in 4.0.199 leicht angepasst.

object_html

Die Bilder können mit object_html als HTML gerendert werden.

http://easydb-host/easy/fs.php?function=object_html&table_name=Bilder&ids=142448,146877&view=standard

Mögliche Views sind standard, mini, text.

In den Standard Connector Views der easydb, gibt es verschiedene Keys, die vom Client ersetzt werden müssen:

%DETAIL_A_TAGS% URL für eine andere Ansicht
%IMAGE%%%{SERIALIZED_IMAGE_ARRAY}%%% Seriellisiertes PHP Array zur Darstellung des Bildes
%SELECT_CHECKBOX% Platz für eine Checkbox zur Markierung des Bildes

Die Views können mit dem easydb Creator verändert und erweitert werden. Eigene Views können mit dem EasyDB Creator hinzugefügt werden.

Weitere Hilfe

Eine Liste aller Funktionen erhalten Sie mit

http://easydb-host/easy/fs.php

Hilfe zu einzelnen Funktionen (Ein- und Ausgabewerte) gibt es mit

http://easydb-host/easy/fs.php?help=***FUNCTION_NAME***

FUNCTION_NAME ist der Name der Funktion.