cntritsos
I'm new here

storeElement Update von Exportierte Zip Datei?

Guten Tag,

ich versuche per Skript Inhalte zu updaten aus einer Exportierte Zip Datei.

Dazu benutze ich die

de.espirit.firstspirit.access.store.StoreElement.importStoreElement(ZipFile, ImportHandler) Funktion. Leider werden nur die Absatzvorlagen bzw. neue Seiten angelegt aber ohne die Inhalte. Ich sehe auch keine Fehler im Log. Hat jemand eine Idee?

Gibt es auch einen Ersatz für die Deprecated Funktion?

update(ZipFile exportFile, ImportHandler importHandler)

Viele Grüße

Christos

0 Kudos
7 Replies
pavone
I'm new here

Hallo Christos,

welche genaue FirstSpirit Version ist bei euch im Einsatz?

Im JavaDoc zu importStoreElement heißt es "Imports the first root node from the given zip exportfile".

Daneben gibt es auch noch importStoreElements, zu der es heißt "Imports all root nodes from the given zip exportfile." Hast du schon mal letztere Methode versucht?

Für die update-Methode gibt es keinen Ersatz.

Viele Grüße

Tim

0 Kudos

Hallo Tim,

das verhalten habe ich in FS 5.1.415 und auch in FS 5.2.3.111. Beide funktionen haben das gleiche Ergebniss. Pages werden hinzugefügt aber ohne Inhalte.

element=context.getElement(); // hier wird Script auf einen PageFolder ausgeführt

File file = new File("c:\\test2.zip");

try {

    ZipFile zip=new ZipFile(file);

    //element.setLock(true);

    element.importStoreElement(zip, new ImportHandler() {

....

0 Kudos

Hallo Christos,

probier doch mal die import-Methode nur auf dem Store-Root auszuführen. Wir machen das intern immer so.

Da aber der Zip-Export bzw. -Import im Fall des Namenskonfliktes immer neue Objekte erzeugt (sicher weiß ich das bei Templates bzw. dem Template-Store), eignet sich diese Methode nicht sonderlich gut um bereits vorhandene Inhalte zu aktualisieren.

Dazu gibt es andere Möglichkeiten wie CorporateContent bzw. Feature-Zip oder Externe Synchronierung.

Viele Grüße

Marian

0 Kudos

Hallo Christos,

hat dir Marians Antwort weiter geholfen? In diesem Fall wäre es super, wenn Du seine "richtige Antwort" entsprechend markierst, damit auch andere Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lösung gefunden haben, wäre es nett, wenn Du diese hier bereitstellst.

Viele Grüße

Tim

0 Kudos

Es hat leider nicht funktioniert. Generell wird die Seite neu angelegt falls die bereits existiert (ref_1,ref_2 etc…) was auch ok ist aber die Inhalte werden nicht mit importiert.

Die vorgeschlagenen Lösungen können in meinen Fall nicht angewendet werden.

Ich habe mir die Logs ausgeben lassen für jede Funktion des Handlers und da kommt ein Warning nach dem call afterImortData.

WARN  06.06.2016 09:35:06.904 (de.espirit.firstspirit.store.access.LazyChildList): Element with id 2940360 (parent=2940359) not found!

setImportElementCount: 1

afterStoreElementImport: (<PAGESTORE id="1465198506873"/>)

afterExternalAttributeImport: (<PAGESTORE id="1465198506873"/>)

xml ausgabe:

<PAGE editor="2709320" id="2940359" name="test_seite_w2d9p8ofcc6y" pagetemplate="149" revision="160099" translated="DE"><LANG displayname="test Seite" language="DE"/><BODY editor="2709320" id="2940360" name="content" revision="160099"/></PAGE>

afterImportData: (store: <PAGESTORE id="1465198506873"/>)

WARN  06.06.2016 09:35:06.904 (de.espirit.firstspirit.store.access.LazyChildList): Element with id 2940360 (parent=2940359) not found!

xml: <PAGE editor="2709320" id="2940359" name="test_seite_w2d9p8ofcc6y" pagetemplate="149" revision="160104" translated="DE"><LANG displayname="test Seite" language="DE"/></PAGE>

store: <PAGESTORE id="1465198506873"/>

afterAdjustAttributes:

WARN  06.06.2016 09:35:06.954 (de.espirit.firstspirit.store.access.LazyChildList): Element with id 2940360 (parent=2950332) not found!

xml:

<PAGE editor="2709320" id="2950332" name="test_seite_w2d9p8ofcc6y" 
pagetemplate="149" revision="160104" translated="DE"><LANG displayname="test Seite" language="DE"/></PAGE>

store: <PAGESTORE editor="2709320" id="2776197" perm="2775956:2047,2775957:515,2775959:2047,2775960:2047" releaseRevision="1" releasedby="2776198" revision="160108" uid="root" workflowPerm="w1349-g2775957,w1388-g2775957"/>

0 Kudos

Hallo Christos,

wenn du dein exportiertes Zip über bestimmte Store-Root-Knoten importierst, dann sollten auch die korrekten Elemente importiert werden. Wenn du beispielsweise einen Export machst von einer Seitenreferenz, werden sich Seitenreferenz und Seite darin befinden. Die Vorlage wird (meines Wissens nach) nicht mit exportiert. Wenn du importierst, solltest du das auf dem PageStore-Root machen, dann sollte die Seite importiert werden - wenn bereits belegt, mit einem neuen Referenznamen.

Der Import von Vorlage und Inhalt gleichzeitig ist so mit der einfachen Export-Funktion nicht vorgesehen. Du müsstest also einzelne Exporte machen, einmal für deine Inhalte und einmal für deine Vorlagen.

Den speziell von dir gemeldeten Fehler können wir so erstmal nicht nachvollziehen - hierfür müssten wir genauere Angaben haben welche Elemente du im Store wie vorliegen hast und wie sie exportiert werden. Eventuell kannst du uns deinen Export auch zur Verfügung stellen?

Generell sei aber noch einmal angemerkt, dass CorporateContent oder Externe Synchronisierung für dich wohl eher das Werkzeug der Wahl darstellen sollten.

Grüße,

Hannes

0 Kudos

Hallo Christos,

ist dieses Posting nach wie vor aktuell? Benötigst du weitere Hilfe oder konnte Hannes Antwort weiterhelfen?

Sollte das Problem weiterhin bestehen, möchten wir dich darum bitten, dich an unseren Technical Support zu wenden.

Viele Grüße

Michaela

0 Kudos