SpiffWorkflow is a software development platform for building, running, and monitoring executable diagrams https://www.spiffworkflow.org/
Go to file
burnettk 2902090419 Squashed 'bpmn-js-spiffworkflow/' changes from 4ed985f4a..ff9a4fd28
ff9a4fd28 Merge pull request #22 from sartography/bug/pre_post_script_launch_button
1fd817a8f no need to pass element back from the calling launch script event w/ burnettk danfunk
fbcda3f67 Specify Peer Dependencies -- as it is likely that embedding this library will occur within projects that use other bpmn-js components.
3d77111f9 Hooks, and an example for setting up a Markdown editor for markdown content.
2cdae0ca6 Display User Instructions for Manual Tasks and End Events as well.
08c03a4dd Removing the dist directory.
3f2abb73a fixes a minor bug that prevented the editor from opening if no script was yet entered in the Script Task.
c78afceb3 Allow pre-script and post-script's "Launch Editor" button to work correctly. use commandStack to update Moddle Properties. Providing a working example of using a code editor with this library, so it's clear how the integration would work. Rename titles of various components -- don't call sections "SpiffWorkflow", but maybe we find a way to more gently call out these extensions later on.

git-subtree-dir: bpmn-js-spiffworkflow
git-subtree-split: ff9a4fd28f0ef0fd43df344352217be2eeca70c8
2022-10-31 17:02:34 -04:00
.github Squashed 'bpmn-js-spiffworkflow/' content from commit b3eef6e5 2022-10-12 10:21:19 -04:00
app Squashed 'bpmn-js-spiffworkflow/' changes from 4ed985f4a..ff9a4fd28 2022-10-31 17:02:34 -04:00
docs Squashed 'bpmn-js-spiffworkflow/' content from commit b3eef6e5 2022-10-12 10:21:19 -04:00
resources Squashed 'bpmn-js-spiffworkflow/' content from commit b3eef6e5 2022-10-12 10:21:19 -04:00
test Squashed 'bpmn-js-spiffworkflow/' changes from 9c0da0240..4ed985f4a 2022-10-28 13:52:08 -04:00
.eslintrc.js Squashed 'bpmn-js-spiffworkflow/' content from commit b3eef6e5 2022-10-12 10:21:19 -04:00
.gitignore Squashed 'bpmn-js-spiffworkflow/' content from commit b3eef6e5 2022-10-12 10:21:19 -04:00
.prettierrc.js Squashed 'bpmn-js-spiffworkflow/' content from commit b3eef6e5 2022-10-12 10:21:19 -04:00
.tool-versions Squashed 'bpmn-js-spiffworkflow/' content from commit b3eef6e5 2022-10-12 10:21:19 -04:00
LICENSE Squashed 'bpmn-js-spiffworkflow/' content from commit b3eef6e5 2022-10-12 10:21:19 -04:00
README.md Squashed 'bpmn-js-spiffworkflow/' content from commit b3eef6e5 2022-10-12 10:21:19 -04:00
RELEASE_PROCESS.md Squashed 'bpmn-js-spiffworkflow/' content from commit b3eef6e5 2022-10-12 10:21:19 -04:00
karma.conf.js Squashed 'bpmn-js-spiffworkflow/' content from commit b3eef6e5 2022-10-12 10:21:19 -04:00
package-lock.json Squashed 'bpmn-js-spiffworkflow/' changes from 4ed985f4a..ff9a4fd28 2022-10-31 17:02:34 -04:00
package.json Squashed 'bpmn-js-spiffworkflow/' changes from 4ed985f4a..ff9a4fd28 2022-10-31 17:02:34 -04:00
webpack.config.js Squashed 'bpmn-js-spiffworkflow/' content from commit b3eef6e5 2022-10-12 10:21:19 -04:00

README.md

Tests

SpiffWorkflow Extensions for BPMN.js

This package provides extensions that can be applied to BPMN.js that will enable some important features of SpiffWorkflow - the Python BPMN Library for executing business processes. See below for more information.

IMPORTANT: This is a work in progress, and is not yet released.

About

This extension creates a BPMN editor with all the capabilities of BPMN.js and the following additions / modifications:

  • Ability to insert BPMN's Data Input and Data Output Objects.
  • A SpiffWorkflow centric Properties Panel for specifying scripts to run before and after a task, and for defining documentation, and Mark-up content for displaying in user and manual tasks. Among other things.

Future Plans

  • We look forward to integrating a real time Python execution environment for live script development.

Data Input and Data Output Element

This extension will allow you to drag BPMN Data Input and Data Output elements onto the diagram and give them appropriate labels. This will generate valid BPMN elements in the underlying XML file - connecting them to the IO Specification of the process, as shown below:

  <bpmn:process id="my_delightful_process" isExecutable="true">
    <bpmn:ioSpecification>
      <bpmn:dataInput id="DataInput-745019423-1" name="num_dogs" />
      <bpmn:dataOutput id="DataOutput-711207596-1" name="happy_index" />
    </bpmn:ioSpecification>
    ...

Screenshot

Using these data input and outputs will allow you to create processes designed to be used as Call Activities. SpiffWorkflow (in a soon-to-be released version) will pick up this information, and enforce it. So that you must provide these input variables to execute, and only the variables mentioned in the output will be passed back to the calling process.

Usage

import BpmnModeler from 'bpmn-js/lib/Modeler';
import spiffworkflow from 'bpmn-js-spiffworkflow/app/spiffworkflow';


var bpmnJS = new BpmnModeler({
  additionalModules: [
    spiffworkflow
  ],
  moddleExtensions: {
    spiffworkflowModdle: spiffModdleExtension
  }
});

Run the Example

You need a NodeJS development stack with npm installed to build the project.

To install all project dependencies execute

npm install

To start the example execute

npm start

To build the example into the public folder execute

npm run all

License

MIT