digiwf-core
digiwf-core copied to clipboard
Task-Service: Vorgang Starten
Is your feature request related to a problem? Please describe. Als User des Taskmanagement brauche ich eine Liste von startbaren Vorgängen (Prozess-Definitionen), um neue Prozesse zu initiieren. Diese wird aktuell über folg. Endpunkte in der Engine umgesetzt:
/rest/service/definitionund/rest/service/definition/<process>ausServiceDefinitionControllerder Engine
Das Problem ist, dass dies nicht mit mehreren Engines funktioniert. Zukünftig soll die Plattform aber mehrere Engines unterstützen. Die Engines sollen an sich aber federführend für die Prozess-Definitionen bleiben.
Describe the solution you'd like
- Polyflow kann heute schon die Prozessdefinitionen sammeln (mittels Collector)
- Die "startbar durch User" wird heute durch die von Camunda vorgesehene Felder an der Prozessdefinition bestimmt: startableFromTasklist, candidateUsers und candidateGroups. Wenn wir es weiterhin nutzen - alles gut, wenn wir wieder auf eigene Extensions ausweichen, müssen wir diese auswerten...
- Die Projektion (JPA View) speichert bereits die Prozessdefinition und es gibt dazu eine entsprechende Query: https://github.com/holunda-io/camunda-bpm-taskpool/blob/develop/view/view-api/src/main/kotlin/query/process/ProcessDefinitionsStartableByUserQuery.kt
- Das einzige, wass es heute noch nicht hat ist ein Paging / Filtering - da sollten wir überlegen, ob es sich lohnt DB-seitig zu pagen, oder bei solch statischen Entitäten wie Prozessdefinitionen auch ein fetch-all-filter-in-memory Ansatz auch passt.
- Wenn alles bis jetzt passt - muss man nur die Query in unser tasklist-service integrieren und über einen eigenen Endpoint bereitstellen
Describe alternatives you've considered Weiterhin über eine Engine bereitstellen -> Größere Migrationen sehr aufwändig und kein Parallelbetrieb möglich
Additional context
Akzeptanzkriterien
- .....