Go to file
Elizabeth Esswein b9acc67b22
Merge pull request #31 from blacklin/f-string_bug
f-string bug fix
2024-10-15 08:41:19 -04:00
bin accept same arguments when running with docker 2023-05-23 20:07:38 -04:00
bpmn add & clean up examples 2024-04-11 15:32:52 -04:00
spiff_example f-string bug fix 2024-10-15 16:52:13 +08:00
.gitignore add error for small screen 2024-04-16 18:14:05 -04:00
.tool-versions add bin/run_in_docker 2022-05-21 11:40:31 -04:00
COPYING Adding the GLPL license. 2022-05-12 09:46:02 -04:00
Dockerfile update Dockerfile to use revised command 2024-02-08 14:39:13 -05:00
README.rst also update README 2024-02-08 15:14:41 -05:00
requirements.txt initial version of better interactive app 2023-12-03 21:05:17 -05:00
runner.py add error for small screen 2024-04-16 18:14:05 -04:00

README.rst

spiff-example-cli
==============

.. sidebar:: Note

   As of writing, this documentation has not been tried on Windows

This is the documentation and example repository for the SpiffWorkflow BPMN workflow engine.
Below is a brief outline on how to get started using this documentation - which in itself is designed as a tool for
getting started with Spiffworkflow.

Clone this repository
------------------

.. code:: bash

   git clone https://github.com/sartography/spiff-example-cli.git

Set up virtual environment
--------------------------

.. code:: bash

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

Install Requirements
--------------------

.. code:: bash

    pip3 install -r requirements.txt


Using the Application
---------------------

This application is intended to accompany the documentation for `SpiffWorkflow
<https://spiffworkflow.readthedocs.io/en/latest/index.html>`_.  Further discussion of
the models and application can be found there.

Models
^^^^^^

Example BPMN and DMN files can be found in the `bpmn` directory of this repository.
There are several versions of a product ordering process of variying complexity located in the
`bpmn/tutorial` directory of the repo which contain most of the elements that SpiffWorkflow supports.  These
diagrams can be viewed in any BPMN editor, but many of them have custom extensions created with
`bpmn-js-spiffworflow <https://github.com/sartography/bpmn-js-spiffworkflow>`_.

Loading Workflows
^^^^^^^^^^^^^^^^^

To add a workflow via the command line and store serialized specs in JSON files:

.. code-block:: console

   ./runner.py -e spiff_example.spiff.file add \
      -p order_product \
      -b bpmn/tutorial/{top_level,call_activity}.bpmn \
      -d bpmn/tutorial/{product_prices,shipping_costs}.dmn

Running Workflows
^^^^^^^^^^^^^^^^^

To run the curses application using serialized JSON files:

.. code-block:: console

   ./runner.py -e spiff_example.spiff.file

Select the 'Start Workflow' screen and start the process.

Run in docker
^^^^^^^^^^^^^

.. code:: bash

   ./bin/run_in_docker --help

## License
GNU LESSER GENERAL PUBLIC LICENSE