Kommandozeilen-Tool

Aus SiteparkWiki
Version vom 18. Januar 2010, 17:41 Uhr von Sed (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „==Allgemein== Der Import von Daten via XML ist über eine native Java-Schnittstelle möglich. Eine Verknüpfung mit anderen Daten ist hierbei vollständig über …“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Allgemein

Der Import von Daten via XML ist über eine native Java-Schnittstelle möglich.

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 über einen eindeutigen Anker verfügen. Dieser dient als Primärschlüssel. Bei einem nochmaligen Import 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.

Der 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> <pkg-file>
import
Das eigentliche Kommando dieses Tools. Zur Zeit ist hier nur "import" möglich.
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.
pkg-file
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> <pkg-file>

Zur erweiterten Steuerung des Imports können noch Parameter angegeben werden.

usage: iespkg import <login> <password> <client> <pkg-file> --<parameter> --<parameter> ...

oder

usage: iespkg <property-file> <pkg-file> --<parameter> --<parameter> ...

Hinweis: Die --<parameter> müssen unter Windows in Anführungszeichen gefasst werden.

usage: iespkg <property-file> <pkg-file> "--<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.