Search the FirstSpirit Knowledge Base
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
Danke. So funktioniert das. Vielen Dank nochmal.
M
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?