mark_weigelt
Elite Observer

DisplayElementOperation im ContentCreator-Workflow-Skript liefert null zurück?

Jump to solution

Hallo,

über einen Workflow im ContentCreator, der über "Aktionen" gestartet wird und ein Skript enthält, möchte ich gerne zu einer Seite springen (nicht die aktuelle Seite). Das PageRef-Objekt der Ziel-Seite bekomme ich.

Leider scheint das Springen im ContentCreator-Workflow-Skript über DisplayElementOperation nicht zu funktionieren und DisplayElementOperation liefert immer null zurück.

...

OperationAgent operationAgent = context.requireSpecialist(OperationAgent.TYPE);

DisplayElementOperation displayElementOperation = operationAgent.getOperation(de.espirit.firstspirit.ui.operations.DisplayElementOperation.TYPE);

RequestOperation requestOperation = context.requireSpecialist(OperationAgent.TYPE).getOperation(RequestOperation.TYPE);

requestOperation.setKind(RequestOperation.Kind.INFO);

requestOperationNewsOverviewPage.perform("displayElementOperation '" + displayElementOperation + "'"); // liefer null zurück

displayElementOperation.perform(pageRef); // funktioniert nicht

...

Ich vermute, dass es schon an dem context liegt. Der context ist de.espirit.firstspirit.webedit.server.workflow.WebeditWorkflowScriptContext und es scheint ein ähnliches Problem zu sein wie im Post https://community.e-spirit.com/message/23998.

Wenn ich ein Skript mit DisplayElementOperation direkt im ContentCreator aufrufe, funktioniert der Seitenwechsel problemlos - nur eben nicht als Workflow-Skript.

Was kann ich tun, damit das Skript auch im Worklow funktioniert bzw. wie komme ich im Workflow-Skript an den de.espirit.firstspirit.webedit.server.workflow.WebeditScriptContext ran, um den "richtigen" operationAgent zu erhalten?

Gibt es überhaupt eine Möglichkeit im ContentCreator-Workflow-Skript ein Seitenwechsel durchzuführen?

Danke und viele Grüße

Mark

P.S. Ich habe auch schon versucht per ClientScriptOperation und JavaScript mit top.WE_API.Common.jumpTo den Seitenwechsel zu herbeizuführen - leider ebenfalls ohne Erfolg.

0 Kudos
1 Solution

Accepted Solutions
boersteken
Crownpeak employee

Hallo Mark,

ich vermute, dass dies ein Bug ist. Ich habe ein internes Bugticket eingestellt. Du kannst den Status dieses Tickets bei unserem TechSupport nachfragen, in dem du die Ticket ID 213066 angibst.

Falls du zwischenzeitlich eine andere Lösung benötigst, hätte ich noch folgende Idee: Du könntest einen ClientService benutzen, der die DisplayElementOperation ausführt. Dieser kann selbst eine Referenz zu einem SpecialistsBroker halten, der dann im Client-Kontext auch eine DisplayElementOperation ausführen kann. Ob du allerdings innerhalb des Scripts auch noch den ClientService deiner ContentCreator-Session erhälst, kann ich aktuell nicht sagen, das müsste man testen.

Grüße,

Philipp

View solution in original post

0 Kudos
2 Replies
boersteken
Crownpeak employee

Hallo Mark,

ich vermute, dass dies ein Bug ist. Ich habe ein internes Bugticket eingestellt. Du kannst den Status dieses Tickets bei unserem TechSupport nachfragen, in dem du die Ticket ID 213066 angibst.

Falls du zwischenzeitlich eine andere Lösung benötigst, hätte ich noch folgende Idee: Du könntest einen ClientService benutzen, der die DisplayElementOperation ausführt. Dieser kann selbst eine Referenz zu einem SpecialistsBroker halten, der dann im Client-Kontext auch eine DisplayElementOperation ausführen kann. Ob du allerdings innerhalb des Scripts auch noch den ClientService deiner ContentCreator-Session erhälst, kann ich aktuell nicht sagen, das müsste man testen.

Grüße,

Philipp

0 Kudos

Hallo Philipp,

vielen Dank für dein Feedback.

Ich habe es jetzt erstmal so gelöst, dass ich ein einzelnes Skript erstellt habe (ohne Workflow) mit dem der Redakteur im CC zu der Seite wechseln kann. Und am Ende des Workflows gibt es einen Hinweisdialog zu diesem Skript.

Falls sich der Bug bestätigen sollte, würde ich den Wechsel später im Workflow-Skript ermöglichen, wenn der Bug behoben ist.

Viele Grüße

Mark

0 Kudos