digiwf-core icon indicating copy to clipboard operation
digiwf-core copied to clipboard

Task-Service: Meine Vorgänge

Open darenegade opened this issue 2 years ago • 0 comments

Is your feature request related to a problem? Please describe. Als User des Taskmanagement brauche ich eine Liste all meiner Vorgänge (Prozess-Instanzen), die von mir initiiert wurden, um den aktuellen Status dieser transparent nachvollziehen zu können. Diese wird aktuell über folg. Endpunkte in der Engine umgesetzt:

/rest/service/instance & /rest/service/instance/<instance> vom ServiceInstanceController

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 Instanzen bleiben.

Describe the solution you'd like

  • Polyflow besitzt einen Prozessinstanz Collector (https://github.com/holunda-io/camunda-bpm-taskpool/blob/develop/integration/camunda-bpm/taskpool-collector/src/main/kotlin/io/holunda/polyflow/taskpool/collector/process/instance/ProcessInstanceEventCollectorService.kt), der dazu genutzt werden kann, Start, Aktualisierung und Ende einer Prozessinstanz an Polyflow-Kern zu senden.
  • Die Anreicherung mit Prozessvariablen ist allerdings nicht enthalten. D.h. wir erweitern Polyflow, dass es entweder wie beim Task arbeitet (enrichment, filter, etc) oder wir bauen die Verbindung zum Variable Collector, der allerdings noch sehr alpha ist... (ich tendiere zum ersteren)
  • Hat Polyflow Kern die Axon-Commands empfangen und die Events in den Event-Store geschrieben, so können wir uns der Projektion widmen. Die kann heute nur Prozessinstanzen nach Zustand laden (https://github.com/holunda-io/camunda-bpm-taskpool/blob/develop/view/view-api/src/main/kotlin/query/process/ProcessInstanceApi.kt). Hier ist eine erweiterung auf beliebige Filter notwendig. Ist in Theorie nicht weiter schlimm, weil die gesamte Filter / Criteria / Specification infrastruktur kann wiederverwendet werden.
  • Die JPA View hat auch schon die Persistenz für die Instanzen, aber diese muss um Prozessvariablen erweitert werden - denn die Information "von wem ist die Instanz gestartet" ist eine Information, die in der Variablen mitkommt.
  • Die Query Seite muss dann auch mehr können und diese Information (ähnlich der Task Variable Suche) erweitert werden.
  • Das Ergebnis integrieren wir in einen separaten Endpunkt des Tasklist-Services

Describe alternatives you've considered Weiterhin über eine Engine bereitstellen -> Größere Migrationen sehr aufwändig und kein Parallelbetrieb möglich

Additional context

Akzeptanzkriterien

  • .....

darenegade avatar Aug 31 '23 07:08 darenegade