Die Serveranwendung verfügt über einen Automatismus, welcher bei Modifikationen von Datenobjekten automatisch einen entsprechenden XML Export anstößt. Durch diese Technik können Änderungen innerhalb von PLANOUT auf einfache Weise an externe Systeme publiziert werden. Da der Export von XML Dateien allerdings mit einem gewissen Mehraufwand verbunden ist, wird dieses Verhalten allerdings erst per Konfiguration aktiviert.
Um den automatischen Export des PLANOUT Servers zu aktivieren, kommt ein spezielles Skript zum Einsatz, welches in das folgende Verzeichnis installiert werden muss:
\SERVER\webapps\ServerApplication\WEB-INF\classes\scripts\ServerExportHandler1.py
Zum einen wird die Methode „exportNeeded()“ definiert, welche Einfluss auf die zu exportierenden Objekte nimmt. Es werden dazu die folgenden Objektklassen unterschieden:
NAME |
Wert |
TYPE_USER |
"USER" |
TYPE_USER_GROUP |
"USER_GROUP" |
TYPE_RESOURCE |
"RESOURCE" |
TYPE_RESOURCE_COMPANY |
"RESOURCE_COMPANY" |
TYPE_CALENDAR |
"CALENDAR" |
TYPE_PROJECT |
"PROJECT" |
Wird die Methode „exportNeeded()“ durch die Schnittstelle aufgerufen, wird in dem Skript eine Variable mit dem Namen „object_type“ bereitgestellt. In dieser Variablen wird der Wert des Objekttyps an das Skript übergeben. Darüber hinaus wird die Variable „process_export“ bereitgestellt, welche mit einem boolschen Wert belegt werden muss. Mit den Objekttypen und den beiden Variablen kann auf diese Weise Einfluss auf die zu exportierenden Objekte genommen werden. Das folgende Beispiel zeigt, wie Benutzer und Projekte exportiert werden, der Rest an Objekttypen allerdings nicht.
In der zweiten Methode "execute()" können die individuellen Aktionen für den Export der XML Durchgeführt werden. Dazu wird über die Variable „document“ ein org.w3c.dom. Document übergeben, welches die exportierten Daten enthält. Das folgende Beispiel kopiert den Inhalt in ein definiertes Verzeichnis und macht eine Ausgabe des Dokuments in die Konsole der Anwendung.
Vergewissern Sie sich beim Anlegen der Datei, dass sie exakt den Dateiname "ServerExportHandler1.py" beinhaltet.
# #
from java.io import FileOutputStream; from java.lang import System; from java.io import File; from org.apache.xml.serialize import OutputFormat; from org.apache.xml.serialize import XMLSerializer;
TYPE_USER = "USER" TYPE_USER_GROUP = "USER_GROUP" TYPE_RESOURCE = "RESOURCE" TYPE_RESOURCE_COMPANY = "RESOURCE_COMPANY" TYPE_CALENDAR = "CALENDAR" TYPE_PROJECT = "PROJECT"
def exportNeeded(): global process_export if object_type == TYPE_PROJECT: process_export = 1 else: process_export = 0
def execute(): fileStream = FileOutputStream(File("C:/sdf/"+(str)(System.currentTimeMillis())+".xml")) format = OutputFormat(document); format.setEncoding("ISO-8859-1") format.setIndenting(1); format.setIndent(2); loSeri = XMLSerializer(fileStream, format); loSeri.serialize(document); loSeri = XMLSerializer(System.out, format); loSeri.serialize(document);
|