The TC proposes a 6-week PoC to gain practical, working knowledge integrating a workflow engine into FOLIO and implementing some real-world features. The PoC would target the Camunda workflow platform to implement a small set of features from the backlog.
In order to accurately understand pros/cons and design considerations for integrating Camunda with FOLIO, this PoC will assume that there is an intermediate integration mechanism with FOLIO’s API Gateway Okapi (akin to a mod-camunda). Note that this isn’t “Production-grade” integration, but, it is felt that we need some level of integration to validate what’s possible and to identify problematic or labor-intensive aspects should we pursue Camunda further.
The goals of the integration are two-fold. Firstly, for Camunda workflows to be able to react to events generated in FOLIO. Secondly, to be able to drive further functionality in FOLIO, or other third-party systems, from workflows executing in Camunda. Triggering events could be data flows or user interactions within FOLIO. For the purposes of the PoC the focus is on data flows. To maintain a separation-of-concerns, there is a desire to keep the workflow engine (i.e. Camunda) decoupled from Folio through the use of BPMN (Business Process Model and Notation) workflow definitions. The eventual development of workflow-related apps in Folio could be used to manipulate the BPMN contracts in order to make them more accessible for a broader, non-technical, audience.
- Workflow PoC Report (DRAFT) - Google Docs
- Workflow PoC Proposal (DRAFT) - Google Docs
- Workflows PoC Resourcing Options and Impact - Google Slides
- Workflow Candidate Features - NEW - Google Sheets
- FOLIO-Workflow-System-PresToPC-July-2018 - Google Slides
- Workflow Whitepaper - Google Docs (circa January 2018)
- Mike Taylor's high-level overview: https://github.com/indexdata/mod-workflow/blob/master/doc/folio-workflow-engine.md
- Heikki Levanto's more concrete proposal: https://github.com/indexdata/mod-workflow/blob/master/doc/engine-design.md
- Mike Taylor's thoughts on users and permissions: https://github.com/indexdata/mod-workflow/blob/master/doc/users-and-permissions.md