AuM
I'm new here

Workflow Status per Skript bearbeiten (Text / Farbe)

Hallo Zusammen,

ich möchte die Status eines Workflows per Skript anpassen (Text und Farbe); da dies in vielen Projekten analog geschehen soll bietet sich ein Skript m. M. n. an.

Zur Ergänzung: es geht mir nicht um die Bearbeitung eines Elements im Workflow, sondern um die Bearbeitung des Workflows selbst (Farben und Anzeigenamen der Status) per API.

Aus dem Plan diese Aufgabenstellung mit einem Skript anzugehen resultieren die folgenden Fragen:

1. Machbarkeit

Über die API bin ich vom Workflow über das Workflowmodel bis zum State (de.espirit.firstspirit.workflow.model.State) gekommen. Dieses bietet mir jedoch lediglich getter und keine Setter Methoden an. Eine weitere Klasse / ein weiteres Interface habe ich in der API nicht gefunden.

Daher drängt sich mir die Frage auf, ob es überhaupt möglich / gewünscht ist diese Änderungen der Workflowstatus per API durchzuführen, weiß hier jemand von euch vielleicht weiter?

2. Konfliktpotenzial

Da es sich bei den betreffenden Kandidaten um aktive Workflows mit laufenden Instanzen handelt muss ich beim händischen Bearbeiten immer bestätigen, dass ich keine Kopie erzeugen sondern den Workflow (der gerade in Benutzung ist) trotzdem bearbeiten möchte. Dies fasse ich gewissermaßen als "Warnung" auf.

Wenn ich jedoch keine strukturellen oder berechtigungstechnischen Änderungen mache, dann habe ich die Workflows bisher so bearbeitet und es sind keine Probleme aufgetreten. Ein automatisiertes Skript über alle Workflows laufen zu lassen ist jedoch aus meiner Sicht etwas heikler, da im Fehlerfall der "gesunde Menschenverstand" fehlt um logische Entscheidungen zu treffen.

Daher meine Frage: welches Konfliktpotenzial bietet so ein Skriptlauf?

Vielen Dank im Voraus!

Viele Grüße

Martin

Nachricht geändert durch Martin Aulich am 02.05.12

0 Kudos
3 Replies
feddersen
Community Manager

Hallo Martin,

die API für die Arbeitsabläufe ist in der Tat größtenteils read-only. Für schreibenden Zugriff solltest du einen Feature-Request erstellen.

Das Konfliktpotential hängt immer davon ab was dein Skript ändert. Werden Kanten hinzugefügt/entfernt oder Berechtigungen geändert, so kann es schon passieren, dass bereits aktive Arbeitsabläufe nicht mehr richtig funktionieren. Ein Beispiel: Ein Objekt ist in einem Zustand und hat Bearbeiter X. Nun ändert das Skript die Berechtigungen, so dass der Bearbeiter gar nicht mehr weiterschalten darf.

Viele Grüße

Christoph

0 Kudos

Hallo Christoph,

das Script/Modul soll nichts löschen bzw. Berechtigungen anpassen. Es soll lediglich die Anzeigenamen bzw. Farbcodes der einzelnen Status ändern.

In der Zwischenzeit habe ich mal etwas tiefer gegraben und bin über das Interface "de.espirit.firstspirit.workflow.model.ModifiableWorkflow" an die Methode

"setProperty(WorkflowElement paramWorkflowElement, String paramString, Object paramObject);"

gekommen die auch nachweislich das tut was ich möchte.

Über die Parameter "name_<Sprachkürzel>" bzw. "state.color" kann ich die gewünschten Anpassungen vornehmen, da diese Methode aber nicht in den öffentlichen APIs dokumentiert ist würde ich mir gern die "Absolution" abholen, dass ich diese für meinen Usecase verwenden kann ohne Probleme mit dem System zu bekommen.

Bekomme ich dieses Feedback von dir Smiley Wink?

Schonmal vielen Dank für den Input!

0 Kudos
feddersen
Community Manager

Hallo Martin,

"Absolution" kann ich dir für nicht API-Funktionalitäten natürlich nicht erteilen. Das kann mit jeder neuen Version kaputt gehen und die Verwendung liegt außerhalb des Supports. Du solltest also auf jeden Fall einen Feature-Request dafür schreiben.

Viele Grüße

Christoph

0 Kudos