phpmentors-jp / workflower

A BPMN 2.0 workflow engine for PHP
https://github.com/phpmentors-jp/workflower/wiki
BSD 2-Clause "Simplified" License
692 stars 147 forks source link

BPMN Diagram Editor #29

Open rodnaph opened 7 years ago

rodnaph commented 7 years ago

Can you recommend a BPMN editor for use with Workflower? I tried to use the Eclipse BPMN Modeller as mentioned in the docs, but it doesn't seem to allow setting the ID of components via the UI. I also tried using Camunda but it doesn't seem to be able to set operations on send/service tasks (only via it's custom extensions).

I know I can edit the XML directly, but I'd like to find something that clients could use that supports the BPMN features Workflower uses, thanks!

iteman commented 7 years ago

As far as I know, Eclipse BPMN2 Modeler is one of the best tool to design workflows. IDs can be edited in Expert mode. You can enable Expert mode in Preferences -> BPMN2 -> Editor -> Behavior -> Enable "Expert" Mode as the following:

screenshot from 2017-03-22 20-14-48

If Expert mode once enables, The ID attribute of an element can be edited as the following:

screenshot from 2017-03-22 20-13-38

screenshot from 2017-03-22 20-14-13

rodnaph commented 7 years ago

Thanks for the detailed response - that's a big help! :)

If you can offer some more advice, I'm looking at the possibilities of building an app with Workflower and was wondering about how you intended the library to be used. For example, BPMN allows creating arbitrary graphs, where you have a current position at some node. To present the user with options as to how to proceed in the workflow what I've been doing is looking at the edges from that node, to see which connect to gateways, and then presenting an option for each edge out of the gateway. I then add the name of that transition as data when completing the item so my gateway decisions can act on it.

That's probably not a very clear description, but the point I'm trying to make is are there tools or patterns in Workflower for generating the user actions that should be presented when building an app on top of it? What I'm doing now seems a bit arbitrary, and if the user building the BPMN didn't follow the conventions I'm creating exactly then the workflow would not be functional - so it feels like I'm doing the wrong thing...

Thanks.

iteman commented 7 years ago

@rodnaph I'm writing the document for this... Wait for several days. :smile:

iteman commented 7 years ago

Quick Start Guide has been updated. The Managing business processes section will help you to create your own BPMS. Thank you.

rodnaph commented 7 years ago

Thanks very much :)

SirWaddles commented 7 years ago

I've actually been using bpmn.io for workflow design, because I was able to embed it within my web application. It required some retooling on the Properties panel to get things like Operational Tasks and whatnot working, but overall it's been pretty good.

It's the same base as the Camunda Modeler but without any of the extensions, but it was pretty easy to add the functionality I was after.

My application was more about the users being able to build workflows in their own environment, so it's helpful to have the editor right alongside the admin platform.

kstan79 commented 7 years ago

@SirWaddles can you share more resources how to implement it? I'm thinking to embed into my application too. It seems complex, there is lot of curious like how to integrate with user database, where to trigger event for email, where to create approval screen, monitor own task list. I don't have ideal how to kick start at all.

SirWaddles commented 7 years ago

Most of that sounds like it's related to workflower itself, not necessarily bpmn.io. I linked my User class to the Participant class in Workflower, just with a wrapper. I used the OperationalExecution event to trigger emails and alerts, and the activity log to get the task list.