-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mark some processes as non-executable in process model settings #742
Comments
we discussed that there is an executable flag on each bpmn file. elizabeth suggested that perhaps this flag might not be the right way to implement this, however. if we implemented this, it might be nice to bury the configuration in some way so it isn't an extra point of confusion when you are creating process models, etc. |
elizabeth clarified that she wouldn't want us to use that property for a non-BPMN purpose, which makes sense. it does sound like the thrust behind the ticket is well aligned with the purpose of the property as described in the BPMN spec, however. so if the property is true, the process is not just documentation, and it is meant to be executed. this means we should have a start button, and the process should be allowed to be started like that or to be started by another process (used as a "called activity"). we may want to follow on with this change with other changes, including the ability to restrict certain processes to ONLY be started as a "called activity" or only to be started via messages (#921, etc), but it seems like making the executable property function as described in the BPMN spec is separable from these concerns. |
I'm happy for you guys to suggest the best way to make this work. |
I think we have a handle on this one, yeah. We’ll start with making the executable flag operate per spec. |
This PR makes the library completely compliant with the spec: sartography/SpiffWorkflow#382 |
How will you make sure that there is also some type of visual aid, looking at a process model page clearly tells you this one is non-executable? |
That the start button was taken away was my first thought, but open to ideas. I guess we could instead disable the button and tell you why it is disabled if you mouse over it. |
filed a follow-on issue, #938, to consider UX improvements related to communicating to the user why the process model is not startable. |
Feature works as explained above (https://dev.app.spiff.status.im/process-models/misc:qa:non-executable-model) |
@burnettk What is the PR related to this ticket? Is it already in test.app or just in dev.app? |
the PR is #934. it is only in dev.app. |
Tested on test.app also and work as expected. |
let's ensure that when process A calls process B via a call activity, and when process B is marked non-executable, that it fails. i believe elizabeth has indicated that it should error, but i think i've seen otherwise. |
@burnettk If I call it from a Call activity it get executed. May be better to not show Non executable models in the call activity search as well. |
Thank you. I like both of those ideas, new ticket and restrict list of called activities available. |
Created a new ticket for the above. #1086 |
Released to Prod on 2024 February 20th |
@usama9500 @calexh-sar is this feature already documented? Can I close this? |
Deferring to @usama9500 on documentation status. |
I’ll leave this open since it’s not documented. I haven’t seen this issue before, so I’ve self-assigned it and added it to the documentation queue. |
Closing this one as it is documented here: https://spiff-arena.readthedocs.io/en/latest/how_to_guides/building_diagrams/use_executable_and_nonexecutable_tasks.html |
Some processes are not meant to be executed, they may be just quick idea dump or some type of brainstorming exercise. We should allow processes to be marked as non-executable in the process model settings.
This would also mean that the start button disappears from these process models and they do no show up in the Start new section either. Also add some indication that it has been disabled by unchecking the flag.
When making a call activity, check to see if we are calling a non-executable process, fail that call.
The text was updated successfully, but these errors were encountered: