Questions & Answers

SOLVED
00schmidt
I'm new here

GenerationContext und Skript mit Datensatzmodifikation

Jump to solution

Folgender Hintergrund. Eine zentrale Datenquelle soll Dokumente (aus den Mediastores verschiedener Projekte) mit File-Reference und Metadaten enthalten, die dann mittels Integration in den Projekten รผbergreifend zur Verfรผgung gestellt werden. Es mรผsste jeweils ein Link in das Ursprungsprojekt zur verfรผgung gestellt werden. Dieser Link kann weder bei der Erstellung des Datensatzes (kein GenerationContext) noch bei der Filterung mittels Integration erstellt werden (ebenfalls kein GenerationContext). Die Idee ist, im Rahmen einer Generierung per Skript die URLs zu erzeugen und in die Datenquelle zu รผbernehmen. Die รœbergabe des GenerationContext an das eigentliche Skript erfolgt mittels

     $CMS_SET(void, #global.scheduleContext.setProperty("generation_context",#global.generationContext))$   

innerhalb einer Teilgenerierung.

Nun ist aber die Session nicht schreibbar (UnsupportedOperationException auf Operationen wie commit(). ร„hnliches wird ja bereits in https://community.e-spirit.com/message/2241 und https://community.e-spirit.com/message/2250 festgestellt. Grund ist, dass wรคhrend der Generierung auf einen Revisionsstand zugegriffen wird und nichts mehr schreibbar sein soll.

Welche Optionen gibt es?

- kann man sich ohne GenerationContext einen entsprechenden UrlCreator erzeugen?

- kann man einen GenerationContext bekommen und trotzdem eine schreibbare Session erhalten?

- andere?

GrรผรŸe aus Hamburg

Michael

0 Kudos
11 Replies

Danke. So funktioniert das. Vielen Dank nochmal.

M

0 Kudos

Und doch noch eine Rรผckfrage. Wenn ich in meinem Skript direkt auf

    userService

zugreife, bekomme ich das gleiche Objekt wie bei

    connection.getProjectById(context.getProject().getId()).getUserService();

Ist das zu verallgemeinern?

Gibt es eine Dokumentation, die die Objekte benennt/beschreibt, die in den jeweiligen Contexts enthalten sind?

0 Kudos

Type a product name