Mit dem ab Version 6.5.0 verfügbaren Content-Service-Interface können CMS-Dateien (einzeln oder Teilhierarchien) von einer Fiona-Instanz zu einer anderen übertragen werden. Die Content-Service-Funktionalität ist eine separat zu lizenzierende Erweiterung von CMS Fiona.
Das Interface basiert auf HTTP, d.h. durch HTTP-Requests mit einer wohldefinierten URL lässt sich
Beispiel:
http://localhost:8080/default/NPS/cs/released/index
Beim Herunterladen werden nur freigegebene Versionen von Dateien berücksichtigt, beim Hochladen werden diese Versionen als Arbeitsversionen angelegt. Wenn eine Datei auf dem Zielsystem bereits eine Arbeitsversion hat, wird diese aktualisiert. Auf dem Zielsystem vorhandene freigegebene Versionen werden nicht beeinflusst.
Die Basis-URL des Interfaces ist /instanzName/NPS/cs
. Das
Content-Service-Interface ist über den HTTP-Port der Server-Applikation
erreichbar. Das zur Authentifizierung eingesetzte Verfahren ist "Basic
Authentication".
Ein HTTP-Client und eine Instanz des Content Management Servers
kommunizieren über die Befehle GET
,
PUT
(oder POST
) und DELETE
miteinander.
Wenn die Aktion erfolgreich ausgeführt werden konnte, enthält die
Server-Antwort den Status-Code 200 (OK
), andernfalls einen
entsprechenden Fehler-Code.
Im Folgenden werden die vier verfügbaren Anfragetypen erläutert.
Anfragesyntax
GET /default/NPS/cs/released/index
Server-Antwort
UTF-8 codierter Text-Stream, wobei jede CMS-Datei durch eine Zeile repräsentiert wird. Eine Zeile enthält vier Werte, die durch Leerzeichen getrennt sind:
lastChanged
: Der Wert des
lastChanged
-Feldes der freigegebenen Version (Zeitstempel im
ISO-Format, 14 Ziffern) oder 00000000000000
, wenn die Datei
keine freigegebene Version hat.sourceLastChanged
: Der Wert des
sourceLastChanged
-Feldes der Datei. Das Attribut
sourceLastChanged
wird gesetzt, wenn eine Datei per Content
Service angelegt oder aktualisiert wird (siehe unten). Es erhält dann den
lastChanged
-Wert der übertragenen Datei.objType
: Der Dateityp, d.h. einer der Werte
document
, publication
, image
,
generic
oder template
.path
: Der Pfad der Datei.Die erste Zeile enthält die Spaltennamen.
Beispiel:
lastChanged sourceLastChanged objType path 20100211123055 00000000000000 publication / 20100211123055 00000000000000 publication /company 20110103130455 20091111060623 image /company/logo 20110101220723 00000000000000 document /company/information
Ein Skript kann diese Antwort zeilenweise abarbeiten, um die CMS-Dateien unter den jeweiligen Pfaden mit einem weiteren Request herunterzuladen und abzuspeichern.
GET /default/NPS/cs/released/file/Pfad_zur_CMS-Datei
Mit URLs nach diesem Muster wird die CMS-Datei mit dem Pfad
/Pfad_zur_CMS-Datei
als Stream zurückgeliefert. Der
Stream hat den MIME-Typ application/octet-stream
. Wenn die
Datei keine freigebene Version hat, enthält der Stream nur die relevanten
Dateiinformationen und keine Versionsdaten.
Request-Beispiele:
GET /default/NPS/cs/released/file/
liefert den Basisordner.
GET /default/NPS/cs/released/file/company
liefert den Ordner company
GET /default/NPS/cs/released/file/company/information
liefert
die Datei information
im Ordner
company
.
Anfragesyntax
PUT /default/NPS/cs/edited/file/Pfad_zur_CMS-Datei
Legt eine CMS-Datei unter dem angegebenen Pfad an, wobei der gesendete Stream die anzulegende CMS-Datei repräsentiert. Wenn die Datei bereits existiert, werden ihre Dateiinformationen und ihre Arbeitsversion aktualisiert.
Alternativ kann die HTTP-Methode POST
verwendet werden.
Anfragesyntax
DELETE /default/NPS/cs/edited/file/Pfad_zur_CMS-Datei
Deaktiviert die CMS-Datei unter dem angegebenen Pfad.