Dan Funk 948c633b2c Feature/better form nav (#474)
* Detect focus loss/return in the Diagram Editor - so that we can reload the process model and assure that we know about any changed files.

Allow for looking specifically for json SCHEMA files (those files that are named -schema.json or .schema.json (as is the convention).  Only show these in the dropdown for the form.

* * Run descriptions through the markdown processor so you can use bold/italic etc... in your description fields within a form.
* Move ExampleTable into it's own view component to keep the size of the form builder sane.
* Assure markdown within jrsf forms have reasonable styling that follows the containers style, rather than setting to some other default.
* Add a couple of example forms so people can get a sense of what is possible.
* Connect up the new Json Schema Editor Component to the process model edit diagram.
* Just select the schema file - not the ui file when selecting the form for a component - we may revert this to just a text box.
*

* Cleanup the formatting of arrays, so that they are sligtly intended, do not contain an awkward unneeded heading, and have some tighter css.

* Connect the form editing in the modal back to the BPMN-JS editor

Auto-Save edits in the Form Builder

Lots and lots of tweaks to the react form builder ui

* various fixes.

* test for prepare_schema

* minor fix for run_pyl

* css cleanup
less issues with reloading and jumping about when in the editor
Don't sort keys when returning the json.
More intelligent "ready"

* bump package to point to branch of bpmn-js-spiffworkflow so others can check it out.

* Assure that json keys are not sorted during serialization by default.
Allow adding example fields to an existing schema

Create a set of examples.

* db complaints in migration change.

* removed items from interface file that had been moved elsewhere w/ burnettk

* rename prepare_form to prepare-form

* rename prepare_form to prepare-form

* Remove commented out code.

* typo

* add a comment about the empty column

* move back to the main branch

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-09-08 11:07:43 -04:00
2023-09-07 10:12:13 -04:00
2023-09-07 10:10:44 -04:00
2023-08-29 12:07:39 -04:00
2022-11-09 13:45:16 -05:00
2022-10-12 10:17:40 -04:00

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 run SpiffArena locally 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 and poetry. Then:

cd spiffworkflow-backend
poetry install
./bin/recreate_db clean
./bin/run_server_locally

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

This is a monorepo based on git subtrees that pulls together various spiffworkflow-related projects. Feel free to ignore that and drop us a pull request. If you need to push back from the monorepo to one of the individual repos, here's an example command (and find other scripts we use in the bin directory):

git subtree push --prefix=spiffworkflow-frontend git@github.com:sartography/spiffworkflow-frontend.git add_md_file

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.

Description
SpiffWorkflow is a software development platform for building, running, and monitoring executable diagrams
https://www.spiffworkflow.org/
Readme LGPL-2.1
Languages
Python 61.9%
TypeScript 32.3%
Shell 2.9%
JavaScript 1.1%
CSS 1%
Other 0.8%