Workflow a procesy

Note

Pokročilá funkcionalita vyžadující konfiguraci přes integračního partnera ARIT. Většina integrací ji nepotřebuje — tato kapitola je záměrně stručná; podrobnosti viz oficiální dokumentace “Workflow a procesy”.

Základem je nástroj Activiti (BPMN engine); jeho REST API je zpřístupněno na /c/{firma}/activiti/. Omezení: přihlašování probíhá autorizací AbraFlexi (Activiti /login není podporováno), správa uživatelů/skupin/členství jde jen přes AbraFlexi, nahrání nové definice procesu musí projít přes AbraFlexi (kvůli definici platností workflow) — aktualizace existujících procesů už lze dělat přímo přes Activiti API.

Endpointy na straně AbraFlexi

GET /c/{firma}/{evidence}/workflows.xml                            — definice workflow evidence
PUT /c/{firma}/{evidence}/{id}/workflows/{processId}/start          — spuštění (+ ?param1=value1...)
GET /c/{firma}/{evidence}/{id}/udalost                              — události/úkoly objektu
GET /c/{firma}/{evidence}/{id}/udalost.xml?includes=udalost/actRuTask
GET /c/{firma}/udalost@ukoly-k-realizaci                            — úkoly aktuálního uživatele
GET /c/{firma}/{evidence}/{id}/workflow-signal/{signalId}?param1=value
GET /c/{firma}/{evidence}/{id}/workflow-message/{messageId}?param1=value
POST /c/{firma}/udalost/{id}/{claim,unclaim,complete,assign,add-comment}.xml

Výrazový jazyk (BPMN)

Definice procesu může využívat helpery jako flexibee.object(evidenceType), flexibee.query(evidenceType).filter(...).list()/.sum()/.count()/.max()/.min()/.avg(), flexibee.settings(), flexibee.user(username), flexibee.importXml(xml), proměnné initiator/authenticatedUserId/now/task/execution — pro větvení logiky procesu a pro zápis zpět do AbraFlexi (např. stornování faktury nebo nastavení schvalovacího štítku) pomocí service tasků typu flexibee-xml.