From 8c2267e8ce517af164f92afbd1c0b10955202b27 Mon Sep 17 00:00:00 2001 From: danfunk Date: Mon, 5 Jun 2023 15:25:01 -0400 Subject: [PATCH] Lots of updates to the minimal and basic examples to make them easier to follow. --- examples/0-1-minimal-example/hello-world.bpmn | 126 +++-- .../0-1-minimal-example/instructions.bpmn | 78 ---- examples/0-1-minimal-example/pizza_prices.dmn | 80 ---- .../0-1-minimal-example/process_model.json | 6 +- .../analyze-telephone-number.dmn | 86 ---- examples/0-2-basic-example/norris_score.dmn | 76 +++ examples/0-2-basic-example/process_model.json | 3 +- .../0-2-basic-example/simple-JSONSchema.json | 60 ++- .../0-2-basic-example/simple-UISchema.json | 30 +- .../0-2-basic-example/user-guide-basics.bpmn | 432 +++++++++++------- .../0-3-advanced-example/process_model.json | 5 +- examples/2-in-depth/process_group.json | 2 +- examples/3-case-studies/process_group.json | 2 +- examples/4-the-library/process_group.json | 2 +- examples/process_group.json | 2 +- 15 files changed, 477 insertions(+), 513 deletions(-) delete mode 100644 examples/0-1-minimal-example/instructions.bpmn delete mode 100644 examples/0-1-minimal-example/pizza_prices.dmn delete mode 100644 examples/0-2-basic-example/analyze-telephone-number.dmn create mode 100644 examples/0-2-basic-example/norris_score.dmn diff --git a/examples/0-1-minimal-example/hello-world.bpmn b/examples/0-1-minimal-example/hello-world.bpmn index 31657a53..1aa09720 100644 --- a/examples/0-1-minimal-example/hello-world.bpmn +++ b/examples/0-1-minimal-example/hello-world.bpmn @@ -2,80 +2,108 @@ - Flow_1djhqzp + Flow_0ign3x0 + + ## Great Job! + +You have completed your first diagram! + +If you look below you will see the diagram you just completed. +You can open this diagram up in our editor where you can move things around, click on elements and view their properties. This is a great way to learn how diagrams are put together. To do so, click on "Minimal Example" in the breadcrumbs at the top of this page, and then open the file "hello-world.bpmn" + +If you are interested in building your own diagrams, you can request access to a private "Playground" where you can build models and test out your own ideas. We'll tell you more about this later. + +## Next Steps +1. Check out the Basic Example under the Examples group to get a better sense of the expressiveness of the BPMN Modeling Language and what you can do with SpiffWorkflow. +2. Open up the "1. Basics" Group for a set of additional examples that will introduce you to topics one at a time. +3. If you haven't already please check out our [Documentation for Spiff-Arena](https://spiff-arena.readthedocs.io/en/latest/quick_start/quick_start.html) which is a great way to get oriented so you can move through these examples with ease. + Flow_0aw40yc - - - - Flow_1djhqzp - Flow_0fj602z - my_message = "Hello World" - - + - {{ my_message }} + ## Welcome to SpiffWorkflow + +Thank you for coming by and checking things out! + +As you follow through these examples we'd like you to do three things each time: + +* **View the diagram** - Every process has a primary file - it will be the first file you see in the list of files when viewing a process model. These diagrams fully control what you experience when you click the "Start" button +* **Start up the process** - Click that "Start" Button and step through the process. +* **Follow any special directions** - rather than just complete the process, read the directions carefully. In this way we can show you some additional aspects of the system - or you may need to take some other actions to really see everything that is happening. + + +### What is "Hello World"? + +Hello World is a common way to introduce people to a new programming language. It shows the minimum amount of work required to make something (anything) happen. + + +### More Information +You can find lots more information in our [Documentation for Spiff-Arena](https://spiff-arena.readthedocs.io/en/latest/quick_start/quick_start.html) - Flow_0fj602z + Flow_0ign3x0 Flow_0aw40yc - - - Sets the my_message variable to "Hello World" - - + - Displays the my_message variable to the user when process is run + This manual task will display a message and wait for the end user to click "Continue".  The message displayed is set in the "Instructions" field in the properties panel to the right when this task is selected. + + This is the "Start Event" and marks the starting point for a process. + + + + This is the "End Event" and stops the process from running. + + - - - - - - - - - + - - - - + + - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/examples/0-1-minimal-example/instructions.bpmn b/examples/0-1-minimal-example/instructions.bpmn deleted file mode 100644 index d09a8ea1..00000000 --- a/examples/0-1-minimal-example/instructions.bpmn +++ /dev/null @@ -1,78 +0,0 @@ - - - - - Flow_0uif2qq - - - - - # Welcome! -Thanks for checking out the **markdown editor!** - -| Syntax | Description | More Details | -| --- | ----------- | ------- | -| Header | Title | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem donec massa sapien faucibus. Morbi blandit cursus risus at ultrices mi tempus. Ut venenatis tellus in metus vulputate eu scelerisque felis imperdiet. Urna condimentum mattis pellentesque id nibh tortor. Rhoncus urna neque viverra justo nec ultrices. Non sodales neque sodales ut etiam sit amet nisl. Condimentum lacinia quis vel eros. Congue quisque egestas diam in arcu cursus euismod quis viverra. Sit amet tellus cras adipiscing enim. Quisque egestas diam in arcu cursus euismod quis. Ut porttitor leo a diam sollicitudin tempor. Sed sed risus pretium quam vulputate dignissim suspendisse in est. Non curabitur gravida arcu ac tortor dignissim convallis aenean. Diam phasellus vestibulum lorem sed risus ultricies tristique. Et pharetra pharetra massa massa. Donec adipiscing tristique risus nec feugiat in fermentum posuere urna. Lectus mauris ultrices eros in. Porttitor leo a diam sollicitudin. | -| Paragraph | Text | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem donec massa sapien faucibus. Morbi blandit cursus risus at ultrices mi tempus. Ut venenatis tellus in metus vulputate eu scelerisque felis imperdiet. Urna condimentum mattis pellentesque id nibh tortor. Rhoncus urna neque viverra justo nec ultrices. Non sodales neque sodales ut etiam sit amet nisl. Condimentum lacinia quis vel eros. Congue quisque egestas diam in arcu cursus euismod quis viverra. Sit amet tellus cras adipiscing enim. Quisque egestas diam in arcu cursus euismod quis. Ut porttitor leo a diam sollicitudin tempor. Sed sed risus pretium quam vulputate dignissim suspendisse in est. Non curabitur gravida arcu ac tortor dignissim convallis aenean. Diam phasellus vestibulum lorem sed risus ultricies tristique. Et pharetra pharetra massa massa. Donec adipiscing tristique risus nec feugiat in fermentum posuere urna. Lectus mauris ultrices eros in. Porttitor leo a diam sollicitudin. | -| Word | Text |Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem donec massa sapien faucibus. Morbi blandit cursus risus at ultrices mi tempus. Ut venenatis tellus in metus vulputate eu scelerisque felis imperdiet. Urna condimentum mattis pellentesque id nibh tortor. Rhoncus urna neque viverra justo nec ultrices. Non sodales neque sodales ut etiam sit amet nisl. Condimentum lacinia quis vel eros. Congue quisque egestas diam in arcu cursus euismod quis viverra. Sit amet tellus cras adipiscing enim. Quisque egestas diam in arcu cursus euismod quis. Ut porttitor leo a diam sollicitudin tempor. Sed sed risus pretium quam vulputate dignissim suspendisse in est. Non curabitur gravida arcu ac tortor dignissim convallis aenean. Diam phasellus vestibulum lorem sed risus ultricies tristique. Et pharetra pharetra massa massa. Donec adipiscing tristique risus nec feugiat in fermentum posuere urna. Lectus mauris ultrices eros in. Porttitor leo a diam sollicitudin. | - - Flow_0uif2qq - Flow_01kwqj3 - - - - ### Great Job -Lorem ipsum, or lipsum as it is sometimes known, is dummy text used in laying out print, graphic or web designs. The passage is attributed to an unknown typesetter in the 15th century who is thought to have scrambled parts of Cicero's De Finibus Bonorum et Malorum for use in a type specimen book. It usually begins with: - -“Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.” - - - Flow_1gsylr5 - - - - - - # WAIT - You gonna need to wait and look at this made delightful table. -| Syntax | Description | More Details | -| --- | ----------- | ------- | -| Header | Title | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem donec massa sapien faucibus. Morbi blandit cursus risus at ultrices mi tempus. Ut venenatis tellus in metus vulputate eu scelerisque felis imperdiet. Urna condimentum mattis pellentesque id nibh tortor. Rhoncus urna neque viverra justo nec ultrices. Non sodales neque sodales ut etiam sit amet nisl. Condimentum lacinia quis vel eros. Congue quisque egestas diam in arcu cursus euismod quis viverra. Sit amet tellus cras adipiscing enim. Quisque egestas diam in arcu cursus euismod quis. Ut porttitor leo a diam sollicitudin tempor. Sed sed risus pretium quam vulputate dignissim suspendisse in est. Non curabitur gravida arcu ac tortor dignissim convallis aenean. Diam phasellus vestibulum lorem sed risus ultricies tristique. Et pharetra pharetra massa massa. Donec adipiscing tristique risus nec feugiat in fermentum posuere urna. Lectus mauris ultrices eros in. Porttitor leo a diam sollicitudin. | -| Paragraph | Text | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem donec massa sapien faucibus. Morbi blandit cursus risus at ultrices mi tempus. Ut venenatis tellus in metus vulputate eu scelerisque felis imperdiet. Urna condimentum mattis pellentesque id nibh tortor. Rhoncus urna neque viverra justo nec ultrices. Non sodales neque sodales ut etiam sit amet nisl. Condimentum lacinia quis vel eros. Congue quisque egestas diam in arcu cursus euismod quis viverra. Sit amet tellus cras adipiscing enim. Quisque egestas diam in arcu cursus euismod quis. Ut porttitor leo a diam sollicitudin tempor. Sed sed risus pretium quam vulputate dignissim suspendisse in est. Non curabitur gravida arcu ac tortor dignissim convallis aenean. Diam phasellus vestibulum lorem sed risus ultricies tristique. Et pharetra pharetra massa massa. Donec adipiscing tristique risus nec feugiat in fermentum posuere urna. Lectus mauris ultrices eros in. Porttitor leo a diam sollicitudin. | -| Word | Text |Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem donec massa sapien faucibus. Morbi blandit cursus risus at ultrices mi tempus. Ut venenatis tellus in metus vulputate eu scelerisque felis imperdiet. Urna condimentum mattis pellentesque id nibh tortor. Rhoncus urna neque viverra justo nec ultrices. Non sodales neque sodales ut etiam sit amet nisl. Condimentum lacinia quis vel eros. Congue quisque egestas diam in arcu cursus euismod quis viverra. Sit amet tellus cras adipiscing enim. Quisque egestas diam in arcu cursus euismod quis. Ut porttitor leo a diam sollicitudin tempor. Sed sed risus pretium quam vulputate dignissim suspendisse in est. Non curabitur gravida arcu ac tortor dignissim convallis aenean. Diam phasellus vestibulum lorem sed risus ultricies tristique. Et pharetra pharetra massa massa. Donec adipiscing tristique risus nec feugiat in fermentum posuere urna. Lectus mauris ultrices eros in. Porttitor leo a diam sollicitudin. | - - Flow_01kwqj3 - Flow_1gsylr5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/0-1-minimal-example/pizza_prices.dmn b/examples/0-1-minimal-example/pizza_prices.dmn deleted file mode 100644 index f362c45a..00000000 --- a/examples/0-1-minimal-example/pizza_prices.dmn +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - pizza size - - - - - number of toppings - - - - - - "large" - - - <= 3 - - - 12.50 - - - - - "medium" - - - <= 3 - - - 10.50 - - - - - "small" - - - <= 3 - - - 8.50 - - - - - "large" - - - > 3 - - - 12.50 + (1.25 * num_toppings) - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/0-1-minimal-example/process_model.json b/examples/0-1-minimal-example/process_model.json index 303a0338..08e14c4f 100644 --- a/examples/0-1-minimal-example/process_model.json +++ b/examples/0-1-minimal-example/process_model.json @@ -1,11 +1,9 @@ { "description": "A 'Hello World' Process, the simplest possible executable BPMN Diagram.", "display_name": "Minimal Example", - "display_order": 1, "exception_notification_addresses": [], "fault_or_suspend_on_exception": "fault", - "files": [], "metadata_extraction_paths": null, - "primary_file_name": "instructions.bpmn", - "primary_process_id": "Process_870dxz9" + "primary_file_name": "hello-world.bpmn", + "primary_process_id": "Process_7kik021" } \ No newline at end of file diff --git a/examples/0-2-basic-example/analyze-telephone-number.dmn b/examples/0-2-basic-example/analyze-telephone-number.dmn deleted file mode 100644 index 2a6117b1..00000000 --- a/examples/0-2-basic-example/analyze-telephone-number.dmn +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - lastName - - - - - telephone[-10:] - - - - - - Chuck's Fan Club Number - - "Norris" - - - "8005425277" - - - True - - - "Chuck's Fan Club Number" - - - - Chuck's Personal Number - - "Norris" - - - "7138686003" - - - True - - - "Chuck's Personal Number" - - - - Some Other Chuck Norris - - "Norris" - - - - - - False - - - "Some Other Chuck Norris" - - - - Some Other Chuck - - - - - - - - False - - - "Some Other Chuck" - - - - - - - - - - - - diff --git a/examples/0-2-basic-example/norris_score.dmn b/examples/0-2-basic-example/norris_score.dmn new file mode 100644 index 00000000..30e0a9de --- /dev/null +++ b/examples/0-2-basic-example/norris_score.dmn @@ -0,0 +1,76 @@ + + + + + + + pushups + + + + + thanos + + + + + bulletproof + + + + + Perfect Score. + + + True + + + False + + + True + + + 'Pefect! You answered it all correctly.' + + + + This is the worst possible response, it is completely wrong. + + False + + + True + + + False + + + 'Terrible! This is as wrong as it is possible to be.' + + + + At least one response was correct. + + + + + + + + + + + 'You are not perfect, but you understand a little about old Chuck.' + + + + + + + + + + + + diff --git a/examples/0-2-basic-example/process_model.json b/examples/0-2-basic-example/process_model.json index b52ef7dc..e5a54db1 100644 --- a/examples/0-2-basic-example/process_model.json +++ b/examples/0-2-basic-example/process_model.json @@ -1,10 +1,9 @@ { "description": "This example introduces you to the core tools and concepts. Each area of this diagram is covered in detail in the basic-concepts group", "display_name": "Basic Example", - "display_order": 2, "exception_notification_addresses": [], "fault_or_suspend_on_exception": "fault", - "files": [], + "metadata_extraction_paths": null, "primary_file_name": "user-guide-basics.bpmn", "primary_process_id": "Proccess_rlm9uj3" } \ No newline at end of file diff --git a/examples/0-2-basic-example/simple-JSONSchema.json b/examples/0-2-basic-example/simple-JSONSchema.json index 3924a810..5d1d278e 100644 --- a/examples/0-2-basic-example/simple-JSONSchema.json +++ b/examples/0-2-basic-example/simple-JSONSchema.json @@ -1,25 +1,51 @@ { - "title": "A registration form", - "description": "A simple form example.", + "title": "True/False Questions about Chuck Norris", + "description": "Please place a checkmark next to the questions that are true. You will receive a just a fair reward for your responses.", "type": "object", - "required": [ - "firstName", - "lastName" - ], + "required": + ["pushups", "thanos", "bulletproof" ], "properties": { - "firstName": { - "type": "string", - "title": "First name", - "default": "Chuck" + "pushups": { + "type": "boolean", + "title": "When Chuck Norris does a pushup, he’s pushing the Earth down.", + "oneOf": [ + { + "title": "True", + "const": true + }, + { + "title": "False", + "const": false + } + ] }, - "lastName": { - "type": "string", - "title": "Last name" + "thanos": { + "type": "boolean", + "title": "Chuck Norris was given a bloody nose by Thanos the god like villan from the Avengers Movies", + "oneOf": [ + { + "title": "True", + "const": true + }, + { + "title": "False", + "const": false + } + ] }, - "telephone": { - "type": "string", - "title": "Telephone", - "minLength": 10 + "bulletproof": { + "type": "boolean", + "title": "A bulletproof vest wears Chuck Norris for protection.", + "oneOf": [ + { + "title": "True", + "const": true + }, + { + "title": "False", + "const": false + } + ] } } } \ No newline at end of file diff --git a/examples/0-2-basic-example/simple-UISchema.json b/examples/0-2-basic-example/simple-UISchema.json index 44181636..f462f910 100644 --- a/examples/0-2-basic-example/simple-UISchema.json +++ b/examples/0-2-basic-example/simple-UISchema.json @@ -1,20 +1,20 @@ { - "firstName": { - "ui:readonly": true, - "ui:emptyValue": "", - "ui:autocomplete": "family-name", - "ui:help": " " - }, - "lastName": { - "ui:autofocus": true, - "ui:emptyValue": "", - "ui:autocomplete": "given-name", - "ui:help": " " - }, - "telephone": { - "ui:help": " ", + "pushups": { + "ui:widget": "radio", "ui:options": { - "inputType": "tel" + "inline": true + } + }, + "thanos": { + "ui:widget": "radio", + "ui:options": { + "inline": true + } + }, + "bulletproof": { + "ui:widget": "radio", + "ui:options": { + "inline": true } } } \ No newline at end of file diff --git a/examples/0-2-basic-example/user-guide-basics.bpmn b/examples/0-2-basic-example/user-guide-basics.bpmn index 2e1d2557..13e78dca 100644 --- a/examples/0-2-basic-example/user-guide-basics.bpmn +++ b/examples/0-2-basic-example/user-guide-basics.bpmn @@ -2,206 +2,265 @@ - Flow_15c4wm3 + Flow_1bsnw7a - - + + ### Lets play a game. + +We are going to check to see if you know the real [Chunk Norris](https://en.wikipedia.org/wiki/Chuck_Norris). If you do know him, we will reward you with a picture of the eternally handsome man in all of his glory. + +If you do not know anything about Chuck Norris, we will be forced to punish you with a picture of [Steven Seagal](https://en.wikipedia.org/wiki/Steven_Seagal). + +If you do not appreciate references to dated 19th century American made martial arts films, you are not alone. We'll try to keep the jokes to a minimum so you can learn more about SpiffWorkflow and less about impossibly bad acting. - Flow_15c4wm3 + Flow_0scd0lj Flow_1195zgn - Flow_1czgyj5 + + # Great Job! + +It doesn't matter if you know anything about Chuck Norris. But it does matter that you have learned a little about SpiffWorkflow and the BPMN notation that allows you to describe complex processes in a simple and intuitive way! + +## Next Steps +Check out the "1. Basics" Process Group under Examples. It will cover most of items you see here in more detail! + + Flow_11xcbxo - + - ## Call The Real Chuck Norris -**First Name:** {{ firstName }} -**Last Name:** {{ lastName }} -**Telephone:** {{ telephone_all }} -. + ## Total failure - +{{score_message }} + +That was a terrible response. +As punishment, you are presented with this picture of Steven Seagal. + +![Steven Seagal](https://upload.wikimedia.org/wikipedia/commons/d/d9/Steven_Seagal_November_2016.jpg) - Flow_0kdjagb + Flow_1vku47h Flow_12yxktn - + Flow_1195zgn Flow_1vfw75z - # Get lenth of phone number entered -tel_len = len(telephone) + # Here we calculate a score in Python in a short script. +# In the next model we will show how to do the same thing with a decision table. -# Determine if the US country code was entered or not -if tel_len == 11: - country_code = telephone[0] - area_code_strt = 1 -else: - country_code = "1" - area_code_strt = 0 +score = 0 +if bulletproof: + score = score + 1 -# Set where phone number starts -phone_strt = area_code_strt + 3 +if not thanos: + score = score + 1 -# Get area code -area_code = "(" + telephone[area_code_strt:area_code_strt+3] + ")" +if pushups: + score = score + 1 -# Get phone number -phone_before_hyphen = telephone[phone_strt:phone_strt+3] -phone_after_hyphen = telephone[phone_strt+3:] -phone_number_all = phone_before_hyphen + "-" + phone_after_hyphen -telephone_all = country_code + " " + area_code + " " + phone_number_all - -del(country_code) -del(area_code) -del(phone_number_all) -del(phone_strt) -del(area_code_strt) -del(phone_before_hyphen) -del(phone_after_hyphen) -del(tel_len) + - + - Analyze_Telephone_Number + decision_1 Flow_1vfw75z Flow_0z9399c - + Flow_0z9399c - Flow_0z3tg6l - Flow_0gbomzh + Flow_1vku47h + Flow_0d2kg99 + Flow_0drf819 - - isRealChuckNorris - - - Flow_0z3tg6l - Flow_0kdjagb - Flow_0r7plsj - - - whichNumber == "Chuck's Personal Number" - - - + - ##. Call Chuck's Fan Club -**First Name:** {{ firstName }} -**Last Name:** {{ lastName }} -**Telephone:** {{ telephone_all }} + ## Not Bad + +{{score_message}} + +You know a little about Chuck Norris. Not everything. But we are still impressed. +You don't get to see a complete picture of Chuck, as he is disappointed in you. But not everyone can live up to his expectations. + - Flow_0r7plsj + Flow_0d2kg99 Flow_1yshk2s - - Flow_0gbomzh - Flow_07urdvu - Flow_0u5kd7m - - - - whichNumber == "Some Other Chuck Norris" - - - Flow_0q4rvgc - Flow_0gr5f0w Flow_12yxktn Flow_1yshk2s - Flow_1czgyj5 + Flow_0wc765s + Flow_0hzwehr - - - - + - ## Call Some Other Chuck -**First Name:** {{ firstName }} -**Last Name:** {{ lastName }} -**Telephone:** {{ telephone_all }} + ## Welcome to a Basic Example + +This process model will use all of the concepts covered individually in the "Basics" Process Group (available under Process Models / Examples / 1. Basics). It is worth viewing this early on to help paint a clearer picture of how components can be used together. It is also worth revisiting after you look at the Basics Topics individually as you will have a fresh appreciation for how these individual components work, and you can better understand how they can be used together to powerful effect! + +## Next Steps +1. Click 'Continue' below to step through this diagram. - Flow_0u5kd7m - Flow_0q4rvgc + Flow_1bsnw7a + Flow_1ul9fun + Flow_0scd0lj - + + + + - ## Call Some Other Chuck Norris -**First Name:** {{ firstName }} -**Last Name:** {{ lastName }}. -**Telephone:** {{ telephone_all }} + ## Mostly Done! + +You are now almost to the final task. We pause here to add an option to loop back to the beginning of the process and to demonstrate an Event. Events provide a way for external forces to change the course of a workflow. This can be through a timer (after 2 weeks without a response, cancel the request) or a message (allow our HR application to cancel a request by making an API call) or, in this case through an extra button that you can press in the user interface. + +To cause the event to fire just click on the "Try Again!" button below, or click "Continue" to complete the process and move on to the next example. + + - Flow_07urdvu - Flow_0gr5f0w + Flow_0hzwehr + Flow_11xcbxo + + + + Try Again! + + Flow_1ul9fun + + + + + score == 0 + + + + score == 3 + + + + + ## Perfect Score!!!! + +{{score_message}} + + +Chuck Norris is proud of you. + +![Chuck Norris is Proud of you](https://upload.wikimedia.org/wikipedia/commons/3/30/Chuck_Norris_May_2015.jpg) + + Flow_0drf819 + Flow_0wc765s + + + User Tasks allow you to collect information from real people through web forms. + + + + Script Tasks provide a quick simple way to modify the data you collect. + + + + Decision Tables are a great way to describe a set of business rules in a way that is easy to maintain and understand. + + + + Gateways allow your processes to branch off in different directions. + + + + BPMN allows us to loop back around to previous points in a diagram. + + + + Events allow external forces (or internal errors) to interact with a process.  Here we allow a button press to interrupt the normal course of the diagram. + + - + + - + - + + + - - - - - - - + - - - - - - - - - - - - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - @@ -214,62 +273,85 @@ del(tel_len) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/0-3-advanced-example/process_model.json b/examples/0-3-advanced-example/process_model.json index e57daa0a..0b534efb 100644 --- a/examples/0-3-advanced-example/process_model.json +++ b/examples/0-3-advanced-example/process_model.json @@ -1,10 +1,9 @@ { "description": "This example showcases some of the more advanced features of SpiffWorkflow, these topics are covered in more detail in the in-depth section.", - "display_name": "Advanced Examples", - "display_order": 3, + "display_name": "Advanced Example", "exception_notification_addresses": [], "fault_or_suspend_on_exception": "fault", - "files": [], + "metadata_extraction_paths": null, "primary_file_name": "user-guide-basics.bpmn", "primary_process_id": "Proccess_rlm9uj3" } \ No newline at end of file diff --git a/examples/2-in-depth/process_group.json b/examples/2-in-depth/process_group.json index 8030e704..5d561140 100644 --- a/examples/2-in-depth/process_group.json +++ b/examples/2-in-depth/process_group.json @@ -1,7 +1,7 @@ { "admin": false, "description": "This group of examples covers deeper topics that will become critical as your diagrams grow in complexity.", - "display_name": "In Depth Topics", + "display_name": "2. In Depth Topics", "display_order": 20, "parent_groups": null } \ No newline at end of file diff --git a/examples/3-case-studies/process_group.json b/examples/3-case-studies/process_group.json index b601e869..0cc2fd73 100644 --- a/examples/3-case-studies/process_group.json +++ b/examples/3-case-studies/process_group.json @@ -1,7 +1,7 @@ { "admin": false, "description": "These examples are simplified versions of real-world problems we've handled with SpiffWorkflow.", - "display_name": "Case Studies", + "display_name": "3. Case Studies", "display_order": 30, "parent_groups": null } \ No newline at end of file diff --git a/examples/4-the-library/process_group.json b/examples/4-the-library/process_group.json index 904513dd..0e546c0a 100644 --- a/examples/4-the-library/process_group.json +++ b/examples/4-the-library/process_group.json @@ -1,7 +1,7 @@ { "admin": false, "description": "Here we offer up some reusable diagrams that solve common problems, such as how to get a properly formatted date.", - "display_name": "Library", + "display_name": "4. Library", "display_order": 40, "parent_groups": null } \ No newline at end of file diff --git a/examples/process_group.json b/examples/process_group.json index 0fbe6c72..4b54526d 100644 --- a/examples/process_group.json +++ b/examples/process_group.json @@ -2,6 +2,6 @@ "admin": false, "description": "These examples are provided to help you understand how SpiffWorkflow functions.", "display_name": "Examples", - "display_order": 0, + "display_order": 40, "parent_groups": null } \ No newline at end of file