Kommandozeilen-Tool
Für den XIP Im- und Export soll das aktuelle Kommando iesxip verwendet werden.
Allgemein
Der Import und Export von Daten via XML.
Eine Verknüpfung mit anderen Daten ist hierbei vollständig über Anker realisiert. Dadurch sind sowohl Beziehungen zu neuen, wie auch vorhandenen Daten möglich. Jedes Element muss für den Import bzw. Export über einen eindeutigen Anker verfügen. Dieser dient als Primärschlüssel. Bei einem nochmaligen Import/Export wird das entsprechende Element hierüber identifiziert und aktualisiert. Auch Verknüpfungen mit anderen Elementen z.B. für Systemlinks erfolgen über den Anker. Auch die Angabe des "parent
" für Elemente, wie auch die Beziehung zum Template erfolgt über einen Anker.
Ein Import kann beliebig oft ausgeführt werden. Ist ein Element bereits vorhanden, werden die in XML beschriebenen Felder ersetzt bzw. ergänzt. Auf diese Weise können auch wechselseitige Beziehungen zwischen Elementen und Pools importiert werden.
Importiert werden können:
- Einzelne XML-Dateien
- Ein XML-Dokument das sich genau auf einen Artikel bzw. Artikelpool bezieht, kann einzeln importiert werden
- Eine Ordnerstruktur von XML-Dateien
- Eine verschachtelte Ordnerstruktur mit XML-Daten kann verwendet werden, um mehrere XML-Dokumente zu importieren. Dabei kann die Verschachtelung verwendet werden, um auf die Reihenfolge des Imports Einfluss zu nehmen. Artikelpools sollten in der Regel vor Artikeln, die in diesem neuen Pool gespeichert werden sollen, importiert werden. Die Verschachtelung der XML-Dokumente hat dabei keinen direkten Einfluss auf Beziehungen im IES. Diese Beziehungen werden ausschließlich über Anker realisiert. Aber dadurch, dass ein Pool oder Element in einem Ordner "oberhalb" eines anderen Elementes liegt, wird dieses zuerst importiert. Zum ersten Elemente kann das zweite dann eine Beziehung über den Anker aufbauen.
- XIP-Dateien
- XIP Dateien sind gezippte XML-Strukturen (siehe oben). Der Vorteil liegt darin, dass bei einem Upload nur eine Datei angegeben werden muss. Dieses Format wird in Zukunft noch weiter ausgebaut.
Import
Für den Import wird das Java-Commandline-Tool "iespkg
" ausgeführt. Es werden folgende Parameter benötigt:
usage: iespkg import <login> <password> <client> <xipfile|xipdir>
import
- Das eigentliche Kommando dieses Tools.
login
- Account, mit dem die Daten angelegt werden sollen. Beachten Sie bitte, dass ausreichende Rechte für den Import gegeben sind.
password
- Das Passwort des Accounts.
client
- Der Namespace / Anker des Mandanten, in den die Daten importiert werden sollen. In diesem Mandanten muss auch der Nutzer des Imports konfiguriert sein.
xipfile|xipdir
- Die XML-Datei bzw. der Ordner oder das XIP-Paket mit den XML-Dateien, in denen die Informationen für den Import stehen.
Alternativ kann der Import in einer Property-Datei konfiguriert werden. Damit lassen sich auch Einstellungen zum Logging vornehmen. Der Aufruf ist dann nur noch der folgende:
usage: iespkg <property-file> <xipfile|xipdir>
Zur erweiterten Steuerung des Imports können noch Parameter angegeben werden.
usage: iespkg import <login> <password> <client> <xipfile|xipdir> --<parameter> --<parameter> ...
oder
usage: iespkg <property-file> <xipfile|xipdir> --<parameter> --<parameter> ...
usage: iespkg <property-file> <xipfile|xipdir> "--<parameter>" "--<parameter>" ...
--ies.xip.import.publishMode=all|all-file
- Publiziert alle zu importierenden Artikel entwender in allen Publishern des Mandanten (all) oder in allen File-Publishern all-file). Die in den XML-Daten angegebenen Publisher-Stati werden ignoriert.
--ies.xip.import.publisher=anchor[,anchor,...]
- Publiziert alle zu importierenden Artikel in den angegebenen Publishern. Die in den XML-Daten angegebenen Publisher-Stati werden ignoriert.
--ies.xip.import.createPools=true|false
- Pools die noch nicht existieren werden angelegt. Default ist true
--ies.xip.import.updatePools=true|false
- Pools die existieren werden aktualisiert. Default ist true
--ies.xip.import.deletePools=true|false
- Pools die mit diesem XIP einmal importiert wurden, aber jetzt nicht mehr darin enthalten sind, werden gelöscht. Default ist false.
- Die Pools können nur gelöscht werden, wenn die Pools mit einem XIP-Package importiert wurden, das eine ID (ies.xip.id) und eine Version (ies.xip.version) besitzt.
--ies.xip.import.deleteOnlyEmptyPools=true|false
- Löscht nur leere Pools. Default ist false
--ies.xip.import.createElements=true|false
- Elemente, die noch nicht existieren, werden angelegt. Default ist true
--ies.xip.import.updateElements=true|false
- Elemente, die existieren, werden aktualisiert. Default ist true
--ies.xip.import.deleteElements=true|false
- Elemente die mit diesem XIP einmal importiert wurden, aber jetzt nicht mehr darin enthalten sind, werden gelöscht. Default ist false.
- Die Elemente können nur gelöscht werden, wenn die Elemente mit einem XIP-Package importiert wurden, das eine ID (ies.xip.id) und eine Version (ies.xip.version) besitzt.
--ies.xip.import.ignoreParents
- Ignoriert den Parent, wenn der Pool oder das Element schon existiert. Der Pool oder das Element wird nicht zu dem angegebenen Parent verschoben. Default ist true
--ies.xip.import.checkVersion=true|false
- Ist dieser Parameter true, wird der Import nur bei gleichen oder neueren Versionen vorgenommen. Anderenfalls wird der Import auch bei niedrigeren Versionen vorgenommen. Default ist true
--ies.xip.import.checkDepends=true|false
- Ist dieser Parameter true, prüft der Importer, ob alle für dieses XIP-Paket benötigten XIP-Pakete installiert sind. Default ist true
--ies.xip.import.anchor.replace=regex:replacement
- Ersetzt Teile von Anchor-Namen. Der zu ersetzende Teil wird mit einem regulären Ausdruck definiert. Mit einem Doppelpunkt (:) getrennt, wird die Zeichenkette angegeben, die eingetragen werden soll.
--ies.xip.import.listener=javaclass[,javaclass,...]
- In Java implementierbare Listener, die während des Imports auf bestimmte Ereignisse warten und dann ausgeführt werden.
--ies.xip.import.xslt=xsltfile
- XSLT-Datei mit Regeln zur Transformation der XML-Daten vor dem Import
--ies.xip.import.syncfile=syncfile
- Datei, in der die Importe für spätere Aufrufe erfasst werden. Ein erneuter Import der Daten mit Angabe dieses Sync-Files, gleicht die vorhandenen Daten mit den XIP-Daten ab. Früher importierte Elemente, die nicht mehr in den XIP-Daten enthalten sind, werden im IES gelöscht (bei
--ies.xip.import.deleteElements=true
und--ies.xip.import.deletePools=true
) oder depubliziert.
Export
Für den Export wird ebenfalls das Java-Commandline-Tool "iespkg
" ausgeführt. Es werden folgende Parameter benötigt:
usage: iespkg export <login> <password> <client> <xipfile|xipdir> <id> <version> <pool|element>
export
- Das eigentliche Kommando dieses Tools.
login
- Account, mit dem die Daten angelegt werden sollen. Beachten Sie bitte, dass ausreichende Rechte für den Export gegeben sind.
password
- Das Passwort des Accounts.
client
- Der Namespace / Anker des Mandanten, aus dem die Daten exportiert werden sollen. In diesem Mandanten muss auch der Nutzer des Exports konfiguriert sein.
xip-file|xip-dir
- Die XML-Datei bzw. der Ordner oder das XIP-Paket mit den XML-Dateien, in denen die Informationen des Exports gespeichert werden.
id
- Zeichenkette, mit der das XIP-Paketes eindeutig identifisiert werden kann.
pool|element
- Anker des Elements, welches exportiert werden soll
version
- Version des XIP-Paketes
Alternativ kann der Import in einer Property-Datei konfiguriert werden. Damit lassen sich auch Einstellungen zum Logging vornehmen. Der Aufruf ist dann nur noch der folgende:
usage: iespkg <property-file> <xip-file>
Zur erweiterten Steuerung des Exports können noch Parameter angegeben werden.
usage: iespkg export <login> <password> <client> <xip-file|xip-dir> --<parameter> --<parameter> ...
oder
usage: iespkg <property-file> <xip-file|xip-dir> --<parameter> --<parameter> ...
usage: iespkg <property-file> <xip-file|xip-dir> "--<parameter>" "--<parameter>" ...
--ies.xip.export.includes=anchor[,anchor,...]
- Angabe der Anchor von Pools und Elemente, die exportiert werden sollen.
--ies.xip.export.excludes=anchor[,anchor,...]
- Angabe der Anchor von Pools und Elemente, die nicht exportiert werden sollen.
--ies.xip.export.ignorePools=anchor[,anchor,...]
- Angabe der Anchor von Pools, dessen Pools nicht exportiert werden sollen.
--ies.xip.export.ignoreElements=anchor[,anchor,...]
- Angabe der Anchor von Pools, dessen Element nicht exportiert werden sollen.
--ies.xip.export.xipAsDirectory=true|false
- Die XIP-Struktur wird nicht als Datei gepackt. Die Struktur bleibt als Verzeichnisstruktur erhalten
--ies.xip.export.symlinksAsElements=true|false
- Gibt an, das symblische Links nicht als Links, sondern als Elemente exportiert werden sollen
--ies.xip.export.anchor.replace=regex:replacement
- Ersetzt Teile von Anchor-Namen. Der zu ersetztende Teil wird mit einem requlären Ausdruck definiert. Mit einem Doppelpunkt (:) getrennt wird die Zeichenkette angegeben, die eingetragen werden sollen.
--ies.xip.export.autoAnchorPrefix=string
- Wird dieser Parameter angegeben, werden für Artikel die keinen Anchor besitzen automatisch Anchor vergeben. Die vergebenen Anchor werden nicht im System gespeichert, sondern nur für die Exportdaten verwendet. Der Anchor ergibt sich aus dem angegebenen Prefix und der ID des Artikels (Ohne ServerID, DatenbankID und ClientID). Bei einem erneuten Export werden dadruch bei gleichem Prefix wieder die identischen Anchor erzeugt.
--ies.xip.export.fieldFilter=name[,name,...]
- Wird dieser Parameter angegeben, werden nur die Felder exportiert, die die angegebenen Feldnamen besitzen. Liegen die Felder innerhalb von Listen, so muss auch der Listen-Name mit angegeben werden.