sartography / spiff-example-cli

GNU Lesser General Public License v3.0
37 stars 10 forks source link

failed with hello-world from spiffdemo.org #24

Closed vkuehn closed 10 months ago

vkuehn commented 1 year ago

Hello,

just tried

cd spiff-example-cli
python3 -m venv venv
source ./venv/bin/activate

than clone this repo. Download the very first hello-world from the examples on spiffdemo.org

than executed

./spiff-bpmn-runner.py -c test –b ./hello-world.bpmn

which failed with

usage: Simple BPMN runner [-h] [-p PROCESS | -c COLLABORATION] [-b BPMN [BPMN ...]] [-d [DMN ...]] [-r FILE] [-s] [-l LEVEL] Simple BPMN runner: error: argument -c/--collabortion: not allowed with argument -p/--process

any other setting shown here does bring back even bigger errors from the code.

Can you please comment on how a bpmn file should be run on the command line ?

essweine commented 1 year ago

You can run this example using the following command ./spiff-bpmn-runner.py -b hello-world.bpmn -p Process_7kik021

The -c option is intended to load more than one process at a time. Use -p to load a single (top level) process; you need to pass in the process id here. You can find the process id by viewing the diagram in the editor and checking the "General" group in the properties panel for the process.

Note that this is a command line application, while the diagrams on spiff demo were intended to be run in a web context, so I would expect that many of the diagrams from spiff demo might not work here.

However, this particular example is simple and does work.

vkuehn commented 1 year ago

That did work like charm.

how neat to see the hello world flow running on the console !

@essweine can I overwrite the process id or is that something glued in the xml ?

if not spiff is also a library right ? could I generate a process with code ? if so is there an example also for that ?

essweine commented 1 year ago

The process id is part of the XML so the easiest way to change it is to use the editor to change the value.

We've customized bpmn-js (https://github.com/sartography/bpmn-js-spiffworkflow); this can be run using npm.

You can use the ./bin/run_editor command of spiff-arena (https://github.com/sartography/spiff-arena) to run the application using docker.

You can also edit the XML by hand to change the process id. Obviously editing XML by hand won't work for everything, but for something this simple, using a text editor is fine.

essweine commented 10 months ago

Assuming the above answer resolved this issue and closing.