flowable / flowable/flowable-engine

Allow the engine to handle only certain definitions

Offen
#202 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
9.5k
Forks
2.9k
Ø Merge
7 Std. 8 Min.
Gemergte PRs (30 T.)
2

Beschreibung

In some cases it is convenient many Flowable engines to share a single database and tables set. But then it is possible the environment of each engine to not satisfy the requirements of each process definition, for example the engine instance environment may not contain/provide the required delegates (implementations of `org.flowable.engine.delegate.JavaDelegate`).

To overcome this inconvenience:
1. Develop a BPMN extension on process level, which to define process definition execution grouping;

2. Add in the engine configuration a parameter to define a list of process definition "groups" this engine instance to handle. The parameter should also allow definition of a list with exclusions, i.e. which process definitions the engine instance to **not** handle. The existence of both lists in the same configuration seems meaningless, except in the case the list definition allows wildcards or regular expressions. The allowance of wildcards and regular expressions in the lists should be further decided by the Folwable Engine development management;

3. Implement a filter in the engine's process definitions loading mechanism to load only the eligible (according to the engine configuration) definitions from the database;

4. Process definition eligibility description using process definition identifier (key) or name is out of scope. The eligibility of specific process definitions should be also defined using the "execution grouping" BPMN extension.

Note: This issue is based on the forum discussion http://forum.flowable.org/t/restrict-the-engine-to-handle-only-certain-definitions/245

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne damit, die in der Issue beschriebene Engine-Konfiguration und den Mechanismus zum Laden von Prozessdefinitionen nachzuverfolgen, und untersuche anschließend, wie Erweiterungen auf BPMN-Prozessebene dargestellt und gelesen werden. Kläre das Format der Ausführungsgruppierung sowie die Regeln für Ein- und Ausschlüsse mit den Maintainerinnen und Maintainer, bevor du den Code änderst. Als erledigt gilt die Aufgabe, wenn geeignete Definitionen geladen werden, während nicht geeignete Definitionen aus gemeinsam genutzten Datenbanken ignoriert werden, mit Abdeckung für das gewählte Konfigurationsverhalten.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
backend
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.