* WIP: initial work to have a home page created from an extension w/ burnettk * added support to display an extension as the root page w/ burnettk * allow extensions to add new routes to base routes w/ burnettk * use page instead of creating new key route w/ burnettk * added components to support pi tables in extensions w/ burnettk * allow using asterisks to mark words as bold in process instance list table * moved table component from InstancesListTable to own component w/ burnettk * filters are somewhat working again w/ burnettk * default homepage uses the table without filters component now w/ burnettk * renamed instance list tables to be more appropriate w/ burnettk * display errors if list table is used incorrectly w/ burnettk * fixed issue where columns were not displaying in the filter list * pyl * rely on changes in report hash to determine if report hash state needs updating * only show link to report if there are instances to show * many updates for filtering to remove the apply button and clean things up w/ burnettk * some more fixes for too many renderings w/ burnettk * advanced filters are working again w/ burnettk * clear is working again w/ burnettk * fixed a few linting errors and warnings w/ burnettk * fixed some cypress tests * if there are errors then display them right away instead of trying to put together the other elements --------- Co-authored-by: jasquat <jasquat@users.noreply.github.com> Co-authored-by: burnettk <burnettk@users.noreply.github.com>
spiff-arena
SpiffArena is a low(ish)-code software development platform for building, running, and monitoring executable diagrams. It is intended to support Citizen Developers and to enhance their ability to contribute to the software development process. Using tools that look a lot like flow-charts and spreadsheets, it is possible to capture complex rules in a way that everyone in your organization can see, understand, and directly execute.
Please visit the SpiffWorkflow website for a Getting Started Guide to see how to use SpiffArena and try it out. There are also additional articles, videos, and tutorials about SpiffArena and its components, including SpiffWorkflow, Service Connectors, and BPMN.js extensions.
Backend Setup
First install python, poetry, and mysql. Then:
cd spiffworkflow-backend
poetry install
./bin/recreate_db clean
./bin/run_server_locally
Keycloak Setup
You will want an openid server of some sort. There is one built in to the app that is used in the docker compose setup for simplicity, but non-compose defaults use a separate keycloak container by default. You can start it like this:
./keycloak/bin/start_keycloak
Frontend Setup
First install nodejs, ideally the version in .tool-versions (but likely other versions will work). Then:
cd spiffworkflow-frontend
npm install
npm start
Run tests
./bin/run_pyl
Run cypress automated browser tests
Get the app running so you can access the frontend at http://localhost:7001 in your browser by following the frontend and backend setup steps above, and then:
./bin/run_cypress_tests_locally
Docker
For full instructions, see Running SpiffWorkflow Locally with Docker.
The docker-compose.yml
file is for running a full-fledged instance of spiff-arena while editor.docker-compose.yml
provides BPMN graphical editor capability to libraries and projects that depend on SpiffWorkflow but have no built-in BPMN edit capabilities.
Contributing
To start understanding the system, you might:
- Explore the demo site via the Getting Started Guide
- Clone this repo,
cd docs
, run./bin/build
, and open your browser to http://127.0.0.1:8000 to view (and ideally edit!) the docs - Check out our GitHub issues, find something you like, and ask for help on discord
Monorepo
This is a monorepo based on git subtrees that pulls together various spiffworkflow-related projects. FYI, some scripts:
ls bin | grep subtree
License
SpiffArena's main components are published under the terms of the GNU Lesser General Public License (LGPL) Version 3.
Support
You can find us on our Discord Channel. Commercial support for SpiffWorkflow is available from Sartography.