Grundlagen

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

  • die Liste der verfügbaren CMS-Dateien ermitteln,
  • eine CMS-Datei von einer Fiona-Instanz herunterladen,
  • eine CMS-Datei zu einer Fiona-Instanz hochladen sowie
  • eine CMS-Datei deaktivieren.

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.

Liste der verfügbaren CMS-Dateien ermitteln

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.

CMS-Dateien herunterladen

Anfragesyntax
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.

CMS-Dateien hochladen

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.

CMS-Dateien deaktivieren

Anfragesyntax

DELETE /default/NPS/cs/edited/file/Pfad_zur_CMS-Datei

Deaktiviert die CMS-Datei unter dem angegebenen Pfad.