- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Medien-Workflow im ContentCreator?
Hallo,
folgender Anwendungsfall: der Redakteur tauscht in der Medienverwaltung ein PDF aus und mรถchte einen Workflow starten, der das PDF freigibt und alle Seiten neu publiziert, die dieses PDF referenziert.
Im SiteArchitekt kein Problem, wie kann ich dies aber im ContentCreator anbieten?
Wir verwenden FirstSpirit 5.2.1002
Mit freundlichem Gruร
Thorben Hischke
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nach einigen Wรผhlen in der Tiefe der API habe ich folgende Mรถglichkeit per Plugin-Erweiterung gefunden:
public class StartWorkflowInMediaManagement implements MediaManagementItemsPlugin {
// ...
@Override
public Collection<? extends MediaManagementItem> getItems() {
return Collections.singletonList(new StartWorkflowExecutableInlineEditItemMedia(_context, _workflowUid));
}
private static class StartWorkflowExecutableInlineEditItemMedia implements ExecutableMediaManagementItem {
// ...
@Override
public void execute(MediaManagementContext arg0) {
// TODO Auto-generated method stub
}
@Override
public boolean isEnabled(MediaManagementContext arg0) {
return true;
}
@Override
public boolean isVisible(MediaManagementContext arg0) {
return true;
}
}
}
Es bleibt mir aber ein Rรคtsel, warum ich das programmatisch per Plugin-Erweiterung entwickeln muss. Von einem CMS hรคtte ich erwartet, dass ich die entwickelten Workflows per Konfiguration im ContentCreator benutzen kann. Habe ich da noch etwas รผbersehen?
Mit freundlichem Gruร
Thorben Hischke
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nach einigen Wรผhlen in der Tiefe der API habe ich folgende Mรถglichkeit per Plugin-Erweiterung gefunden:
public class StartWorkflowInMediaManagement implements MediaManagementItemsPlugin {
// ...
@Override
public Collection<? extends MediaManagementItem> getItems() {
return Collections.singletonList(new StartWorkflowExecutableInlineEditItemMedia(_context, _workflowUid));
}
private static class StartWorkflowExecutableInlineEditItemMedia implements ExecutableMediaManagementItem {
// ...
@Override
public void execute(MediaManagementContext arg0) {
// TODO Auto-generated method stub
}
@Override
public boolean isEnabled(MediaManagementContext arg0) {
return true;
}
@Override
public boolean isVisible(MediaManagementContext arg0) {
return true;
}
}
}
Es bleibt mir aber ein Rรคtsel, warum ich das programmatisch per Plugin-Erweiterung entwickeln muss. Von einem CMS hรคtte ich erwartet, dass ich die entwickelten Workflows per Konfiguration im ContentCreator benutzen kann. Habe ich da noch etwas รผbersehen?
Mit freundlichem Gruร
Thorben Hischke
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Thorben, bist du mit dem Plugin weiter gekommen? Konntest du dein pdf swapping umsetzten?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Martin,
ja, mit dem Plugin bin ich weiter gekommen. Damit gebe ich dem Redakteur genau dort die Mรถglichkeit, den entsprechenden Workflow zu starten, wo er mit dem PDF arbeitet ... und zwar in der Medienverwaltung.
Gruร
Thorben
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Weis jemand wie man es schafft bei der Lรถsung von Thorben Hischke den Workflow nicht nur programmatisch durchzufรผhren, sondern auch die dazugehรถrigen Fenster angezeigt bekomme? Oder zumindest einen Dialog/RequestOperation anzeigen lassen kann?
Ich bekomme wenn ich die showActionDialog -Methode des WorkflowAgent.WorkflowProcessContext aufrufe immer eine UnsupportedOperationException("workflow in headless mode - no action dialog supported"). Das liegt wohl am Context den ich innerhalb der Medienverwaltung zur Verfรผgung habe.
Mit Hilfe von diesem Context kann ich auรerdem auch kein RequestOperation-Objekt bekommen, das ist durch agent.getOperation(RequestOperation.TYPE) automatisch null.
Gruร
Dennis
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Das Problem ist mittlerweile eingekreist und als Bug von e-Spirit identifiziert worden. Folgender Code sollte korrekt funktionieren und einen Workflow antriggern kรถnnen, inkl. Dialog:
@Override
public void execute(MediaManagementContext mediaManagementContext) {
...
IDProvider element = mediaManagementContext.getElement();
WorkflowAgent agent = mediaManagementContext.requestSpecialist(WorkflowAgent.TYPE);
WorkflowProcessContext process = agent.startWorkflow(_workflow, element);
...
}

