PEIQ Knowledge Base
[0-4] INBOUND Drag&Drop von Bildern
Transportverfahren | Datenimport per Drag&Drop über http-Protokoll |
---|---|
Objekt | Bilder: highres png, jpg, pdf, tif inkl. IPTC Infos |
Trigger | manuelles Drag&Drop |
Unterstützte Drittsysteme | huGo |
Mittels Drag&Drop können die Highres-Daten von Bildern aus dem huGO-Bildarchiv nach PRINT NGEN bzw. CREATE importiert werden. Der Drag-Vorgang eines Bildes startet in huGO, das Droppen erfolgt nach PRINT NGEN oder CREATE. PRINT NGEN bzw. CREATE erhält dabei einen UNC-Pfad, wo das Highres (= “HR”) des Bildes liegt. Der UNC-Pfad enthält im Dateinamen die ID des Bildes in huGO.
Funktionalitäten der Schnittstelle
Drag&Drop aus huGO direkt in den Bild-Bereich auf der Seite oder im Artikel (alternativ: Drag&Drop aus huGO in den Artikel in CREATE)
Übernahme der huGO-ID (wird in Eigenschaft “DBildArchivId” geschrieben)
Übernahme der IPTC-Informationen
Inhaltsverzeichnis
Workflow beim Importieren der Bilder nach PRINT NGEN und CREATE
PRINT NGEN bzw. CREATE importiert das Highres und generiert beim Import die Lowres-, Midres- und Thumbnail-Daten dazu.
Arbeitsweise in PRINT NGEN
huGO bietet die Möglichkeit, Bilder per Drag & Drop in PRINT NGEN einzubinden.
Um Bilder nach PRINT NGEN zu importieren, kann in PRINT NGEN in der Default-Werkzeugleiste folgender Button angeklickt werden:
Damit öffnet sich ein externes Chrome-Browserfenster mit der Seite zu zum Login in huGO bzw. die Startseite in huGO. Nach dem Login können Bilder in huGO recherchiert werden und anschließend per Drag&Drop in den PRINT NGEN Client gezogen werden.
Um Bilder nach PRINT NGEN zu importieren, stehen den Benutzer:innen folgende Möglichkeiten zur Verfügung:
Drag&Drop in einen Bildbereich auf einer Seite
Drag&Drop in einen Bildbereich eines Artikels
Drag&Drop oben in das Programm neben/über den Werkzeugleisten
Drag&Drop in eine Mappe
Arbeitsweise in CREATE
Um Bilder aus huGO per Drag & Drop nach CREATE zu importieren, muss der Benutzer auf beiden Seiten eingeloggt sein.
In huGO kann nach Bildern recherchiert werden und eins oder mehrere selektiert werden. Per Drag & Drop können ausgewählte Bilder in den Editor von CREATE gezogen werden. Bilder können derzeit nur in bestehende Text-Bereiche oder zwischen bestehende Bereiche gezogen werden. Für gezogene Bilder wird im Editor ein Bild-Container angelegt und gefüllt. Sind mehrere Bilder selektiert, wird eine Bildergalerie angelegt.
Aufbau der Schnittstelle
In folgender Abbildung ist schematisch der Workflow der Drag&Drop-API dargestellt:
Beim Drag&Drop werden lediglich XML-Daten ausgetauscht, die URLs gemäß huGOAPI:resource
enthalten, unter denen die Metadaten der Bilder angefordert werden können.
Der Datenaustausch erfolgt in folgenden Schritten:
Drag&Drop XML (siehe nachfolgend)
Die Anforderung eines Bildes erfolgt per http GET Request auf eine resource-URL der huGOAPI:resource. (siehe nachfolgend)
Im Response auf einen Request werden alle Metadaten eines Bildes im XML-Format geliefert. (siehe nachfolgend)
In den Metadaten angegebene Ablageorte von Files können per https angefragt werden. (siehe nachfolgend)
XML-Struktur und Beispieldaten
Drag&Drop XML
Aus einer cc:huGO Trefferliste können ein oder mehrere Bilder selektiert werden und mittels nativem Drag&Drop nach PRINT NGEN bzw. CREATE übertragen werden. Hierbei werden hugo-resource Urls im Drag&Drop Event übertragen, die für einen folgenden Request auf huGOAPI:resource, benutzt werden müssen. Für einen gültigen Request muss hierbei die customerId ergänzt werden.
Beispiel (2 Bilder):
<?xml version="1.0" encoding="ISO-8859-1" ?>
<hugo-resources>
<hugo-resource type="picture" id="99">
http://somewhere/picture-99?user=FUP&signature=da39a3ee5e6b4b0d3255bfef
</hugo-resource>
<hugo-resource type="picture" id="11">
http://somewhere/picture-11?user=FUP&signature=85ca65f92c71456cddbf8b2
</hugo-resource>
</hugo-resources>
huGOAPI:resource Request
Ein Request wird per http GET gestellt. Hierbei sind folgende Parameter angegeben:
ID des Archivobjekts (<objekt-id>)
<objekt-id> :=
picture-<huGOID> für Bildercc:hugo Benutzername (?user=<username>)
Hier muss ein gültiger cc:huGO Benutzername angegeben werden, mit dessen Rechten der Zugriff auf das angeforderte Archivobjekt geprüft wird. z.B.: user=HANSBezeichnung des Abnehmers PRINT NGEN (&customer=ngen)
“ngen” dient zur Identifikation des abrufenden Systems. Dieser Parameter wird geloggt und steht in den Protokollen der huGO GUIs zur Ansicht zur VerfügungSignatur (&signature=<signatur>])
Optional kann man einen Request mit einer Signatur authentifizieren.
Die Signatur verschlüsselt die Requestparameter gemäß hmac auf basis sha-1 unter Verwendung folgender Parameter:input: <vollständige objekt-id inklusive Asstetyp-Prefix> + username
secret key: wird von Sternwald pro Kundeninstallation vergeben
Beispiel:
input: picture-11FUP
secret key: ABC
→ signature: 85ca65f92c71456cddbf8b2777705704de049574
Im Header des Requests ist der Wert für Accept auf text/xml gesetzt.
Beispiel-Request
GET http://somewhere/picture-11?user=HANS&signature=85ca65f92&customer=ngen
huGOAPI:resource Response
Folgende http Status Codes werden zurückgegeben:
Code | Erläuterung |
200 | Ok. Das Archivobjekt konnte erfolgreich geliefert werden. |
400 | Bad Request. Die notwendigen URL Parameter wurden fehlerhaft ausgefüllt oder fehlen |
404 | Not found. Die angeforderte URL steht für den Benutzer nicht zur Verfügung. Entweder existiert das Bild nicht mehr oder der Benutzer hat keinen Zugriff auf dieses. |
406 | Not Acceptable. Der Parameter Accept im Header des Request wurde auf einen nicht unterstützten Wert gesetzt. Derzeit gültige Werte: text/xml |
500 | Internal Server Error. Es ist ein interner Fehler in der Verarbeitung aufgetreten. |
Beispiel-Response:
<?xml version="1.0" encoding="UTF-8" ?>
<picture xmlns="http://www.finkundpartner.de/huGOAPI/resource/1.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" accessId="1231315"
xsi:schemaLocation="http://www.finkundpartner.de/huGOAPI/resource/1.1 hugoapi-resource.xsd">
<hugoId>picture-1234</hugoId>
<creationTS>2011-06-14T14:24:20</creationTS>
<note>just a note</note>
<archiveFlag>N</archiveFlag>
<lockFlag>false</lockFlag>
<origIdent>ag-rt-xcv232.jpg</origIdent>
<productionType>external</productionType>
<thumbnailURL>http://somewhere/thumbnail/1234.jpg</thumbnailURL>
<previewURL>http://somewhere/preview/1234.jpg</previewURL>
<previewPath>\\UNC\somwhere\preview\123.jpg</previewPath>
<lowresURL>http://somewhere/lowres/1234.jpg</lowresURL>
<highresHeight>222</highresHeight>
<highresWidth>1111</highresWidth>
<highresPath>\\UNC\somewhere\highres\1234.jpg</highresPath>
<highresURL>http://somewhere/lowres/highres/1234.jpg</highresURL>
<group>IMP_B_AGT_DPA</group>
<groupDescription>Agentur DPA</groupDescription>
<objectName>ag-rt-xcv232</objectName>
<urgency>1</urgency>
<category>Politik</category>
<suppCategory>Innenpolitik</suppCategory>
<keywords>Politik, Regierung</keywords>
<instruction>some special instruction</instruction>
<contentCreated>2011-06-14T14:24:20</contentCreated>
<author>Hans Mustermann</author>
<byTitle>byTitle</byTitle>
<location>
<name>Berlin</name>
<state>Germany</state>
<country>Berlin</country>
</location>
<origRef>ag-rt-xcv232</origRef>
<title>Berlin will Piratenabwehr privatisieren</title>
<credit>dpa</credit>
<source>dpa</source>
<copyright>DPA</copyright>
<caption>Anstelle von Polizisten oder Bundeswehrsoldaten sollen nach Ansicht der Bundesregierung Sicherheitsfirmen Handelsschiffe vor dem Überfall durch Piraten absichern. Gleichzeitig wäre eine Änderung des Waffenrechts erforderlich</caption>
<descriptionWriter>Hans Mustermann</descriptionWriter>
</picture>
Abholen der Bild-Dateien
Die Bild-Dateien werden per https unter dem in der huGOAPI:resource Response angegebenen URL abgeholt. PRINT NGEN bzw. CREATE ruft hier den URL des High-Res-Bildes auf (im Tag highresURL angegeben).
Im Beispiel oben ist dies folgender URL: http://somewhere/lowres/highres/1234.jpg