Questions & Answers

SOLVED
graulich
I'm new here

FirstSpirit StoreElements importieren

Jump to solution

Sehr geehrtes eSpirit Team,

wir entwickeln aktuell ein FS-Modul zum automatisierten Transportieren von FS-Release-Bundles (Templates, Medien, Globale Inhalte, etc.) von Entwicklung รผber Test zu Produktion.

Die service.importStoreElements-Methode gibt uns die Mรถglichkeit einen "EventListener" den ImportHandler mitzugeben, dessen Methoden zu diversen Zeitpunkten des Imports aufgerufen werden.

Jedoch kommen wir bei keiner dieser ImportHandler-Methoden an das durch den Import angelegte Element, bzw. die tatsรคchlich angelegte UID heran.

Kรถnnt ihr uns diesbezรผglich weiterhelfen?

Beste GrรผรŸe

Dominic Graulich

0 Kudos
1 Solution

Accepted Solutions
boesebeck
Crownpeak employee

Hallo Herr Graulich,

wir entwickeln aktuell ein FS-Modul zum automatisierten Transportieren von FS-Release-Bundles (Templates, Medien, Globale Inhalte, etc.) von Entwicklung รผber Test zu Produktion.

in FIrstSpirit 5 wird es mit dem FeatureTransport einen Mechanismus fรผr solche Fรคlle geben. Ist das Modul nur fรผr 4.2.x geplant?

Die service.importStoreElements-Methode gibt uns die Mรถglichkeit einen "EventListener" den ImportHandler mitzugeben, dessen Methoden zu diversen Zeitpunkten des Imports aufgerufen werden.

Jedoch kommen wir bei keiner dieser ImportHandler-Methoden an das durch den Import angelegte Element, bzw. die tatsรคchlich angelegte UID heran.

die Methode StoreElement.importStoreElement() liefert aber ein StoreElement zurรผck, was auch eine UID hat.Von welchen Typ ist der Service?

View solution in original post

0 Kudos
4 Replies
boesebeck
Crownpeak employee

Hallo Herr Graulich,

wir entwickeln aktuell ein FS-Modul zum automatisierten Transportieren von FS-Release-Bundles (Templates, Medien, Globale Inhalte, etc.) von Entwicklung รผber Test zu Produktion.

in FIrstSpirit 5 wird es mit dem FeatureTransport einen Mechanismus fรผr solche Fรคlle geben. Ist das Modul nur fรผr 4.2.x geplant?

Die service.importStoreElements-Methode gibt uns die Mรถglichkeit einen "EventListener" den ImportHandler mitzugeben, dessen Methoden zu diversen Zeitpunkten des Imports aufgerufen werden.

Jedoch kommen wir bei keiner dieser ImportHandler-Methoden an das durch den Import angelegte Element, bzw. die tatsรคchlich angelegte UID heran.

die Methode StoreElement.importStoreElement() liefert aber ein StoreElement zurรผck, was auch eine UID hat.Von welchen Typ ist der Service?

0 Kudos

Hallo Herr Bรถsebeck,

danke fรผr die schnelle Antwort.

Das Objekt service ist vom Typ "UserService".

Wir geben aktuell in jeder Callback-Methode des ImportHandlers einen Debug-Output aus:

((IDProvider)arg0).getUid()

Und bekommen somit folgende Debug-Outputs wenn wir importieren:

setImportElementCount: 1

afterStoreElementImport (dontwash)

afterExternalAttributeImport: (dontwash)

afterImportData: (dontwash)

afterAdjustAttributes: (dontwash)

Das Medium mit der UID dontwash existiert jedoch bereits im Zielsystem und wird natรผrlich auch nicht รผberschrieben. Deswegen wรผrden wir erwarten, dass wir "dontwash_1" zurรผck bekommen, so wie es ja auch angelegt wird.

Beste GrรผรŸe

Dominic

0 Kudos

Leider wird die UID erst nach dem Callback unifiziert. Ggf. das Element รผber die ID im richtigen Store suchen oder das Element รผber StoreElement.importStoreElement() importieren.

0 Kudos

รœber welches StoreElement-Objekt soll ich den Import denn ausfรผhren? รœber das bereits vorhandene StoreElement mit der "selben" UID oder รผber das Parent-StoreElement des zu รผberschreibenden StoreElements?

Es gibt noch eine weitere Frage die damit zusammenhรคngt.

Wir haben in einem 4.2.453.46978 Projekt ohne aktivierte Freigabe ein Medium รผber den FS-Client gelรถscht, es dann auf dem MediaStoreRoot nochmals via Script importiert (รผber UserService.importStoreElements).

Das neue Medium ist auf erster Ebene des MediaStores vorhanden, hat jedoch nicht wie erwartet die UID "handwash" sondern "handwash_1".

Versuchen wir das Medium umzubenennen (sowohl รผber FirstSpirit-Client als auch via Script) bekommen wir eine Fehlermeldung, dass diese UID bereits von einem anderen Element genutzt wird. Es ist das Element mit LongID welches wir zuvor รผber den FirstSpirit-Client gelรถscht hatten.

Gibt es da nach dem Lรถschen irgendwas, was man beachten muss, damit die UID des gelรถschten Objektes im jeweiligen Store wieder freigegeben wird? Wie gesagt, die Freigabe ist nicht aktiviert...

Beste GrรผรŸe

Dominic Graulich

Hab das Problem schon selbst rausgefunden.

Das Problem liegt (wieder einmal) in im Hintergrund gefรผhrten Freigabestรคnden nachdem die Freigabe auf einem Projekt einmal aktiv war und danach wieder deaktiviert wurde.

Gibt es eine Mรถglichkeit diese Freigabestรคnde - die ja eigentlich sinnlos sind, wenn die Freigabe deaktiviert ist - zu "resetten"?

Das wรคre mal ein Hilfreiches Skript. Dieses Problem hatten wir schon unzรคhlige Male bei unseren Kunden, die irgendwann mal zum "Spielen" die Freigabe aktiviert hatten.

Liebe GrรผรŸe
Dominic

0 Kudos

Type a product name