Looking at the PHP workflow options

We have recently been contracted to develop a new workflow engine on top of OpenPsa to support different pharmacovigilance and drug regulatory processes from the viewpoint of a drug manufacturer.

The specification process is still ongoing, but for now the main requirements seem to be:

  • Definition of workflows through an UI (or possibly via an XML import)
  • Handling roles through Midgard Groups
  • Connecting alarms and escalations to schedules of some processes (“this step must be completed in 10 days”)
  • Making the actual activity handling easy and GTD-ish (complete with filtering based on contexts)
  • Supporting deliverables that may be objects or actions in other MidCOM components (“Write a new Word document with this template”)

Since workflow is a big topic, it would be great to be able to share some of the development efforts with other PHP-based applications. Galaxia is a PHP workflow system that is shared between projects like TikiWiki and Xaraya.

The problem with Galaxia is however that it uses direct SQL for its data storage, whereas we would like to use MgdSchema and Query Builder. We’ll have to see whether it will be easier to write our own, or adapt the Galaxia system to our framework. Also, the UI would probably require quite much tuning to fit our concept.

Another issue of consideration is how to fit the workflows into our Social Network of Projects model of using OpenPsa within a network of contractors connected via DBE.

Read more Midgard posts.