From 584be1df6aee802344fa7b2d26050b65dc06df9f Mon Sep 17 00:00:00 2001 From: Kevin Burnett <18027+burnettk@users.noreply.github.com> Date: Wed, 8 Jan 2025 16:12:48 +0000 Subject: [PATCH] Diataxis docs 2 (#2206) * kill tags * big four * move doc script * move dev to explain * move images to root because it is better * move scrit * script * move out * moved building_diagrams * couple devops things * docs * move exe * unit test * articlers * wip * path * devops * perm * deploy * stuff * everything * broken links * wip --------- Co-authored-by: burnettk --- docs/Building_Diagrams/learn_basics.md | 93 ---------------- docs/Getting_Started/quick_start.md | 92 ++++++++-------- docs/conf.py | 5 +- docs/documentation/images/commit.webp | Bin 10656 -> 0 bytes docs/{appendices => explanation}/articles.md | 2 +- docs/{ => explanation}/dev/backend.md | 0 docs/{ => explanation}/dev/connector_proxy.md | 3 +- docs/{ => explanation}/dev/extensions.md | 10 +- docs/{ => explanation}/dev/frontend.md | 0 .../dev/how_to_build_a_connector.md | 0 docs/{ => explanation}/dev/index.md | 0 docs/{ => explanation}/dev/process.md | 0 docs/{ => explanation}/dev/setup.md | 0 docs/explanation/index.md | 27 +++++ .../process_error_handling.md | 0 .../building_diagrams}/bpmn.md | 17 +-- .../building_diagrams}/bpmn_unit_tests.md | 0 .../building_diagrams/builtin_examples.md} | 22 ++-- .../building_diagrams/displaying_content.md} | 18 +-- .../executable_non_executable.md | 8 +- docs/how_to_guides/building_diagrams/index.md | 7 ++ .../building_diagrams/learn_basics.md | 93 ++++++++++++++++ .../custom_process_metadata.md | 0 .../deployment}/admin_and_permissions.md | 64 +++++------ .../deployment}/configure_connector_proxy.md | 0 .../deployment}/deploy_aws_lambda.md | 0 .../deployment}/deployment.md | 0 docs/how_to_guides/deployment/index.md | 14 +++ .../deployment}/okta_config.md | 2 +- .../deployment}/path_based_routing.md | 0 .../deployment}/process_model_management.md | 0 .../deployment}/redis_celery_broker.md | 0 .../deployment/secrets.md} | 6 +- .../documentation.md | 14 ++- docs/how_to_guides/index.md | 29 +++++ .../manage_processes.md | 28 ++--- .../running_server_locally.md} | 0 .../welcome_messages.md} | 8 +- .../1736024102_add_file.png} | Bin .../1736024102_add_process_model.png} | Bin .../1736024102_my_process_instances.png} | Bin ...1736024102_process_instance_not_found.png} | Bin .../1736024102_suspend.png} | Bin .../1736024102_suspended.png} | Bin .../1736024102_upload_file.png} | Bin .../1736024102_user_to_groups.png} | Bin .../1736024103_admin_workflows.png} | Bin .../1736024103_call_activity_popup.png} | Bin .../1736024103_inactive_subtask.png} | Bin .../1736024103_process_groups_tile.png} | Bin .../Login.png => images/1736024104_Login.png} | Bin .../1736024104_add_a_process_group.png} | Bin .../1736024104_site_administration.png} | Bin .../1736024104_user_input_required.png} | Bin .../images/Access_Process_Instance.png | Bin .../images/Annotation.png | Bin .../images/BPMN_Editor.png | Bin .../images/BPMN_Form_display.png | Bin .../images/BPMN_association-80x31.png | Bin .../images/BPMN_message_flow-80x30.png | Bin .../images/BPMN_sequence_flow-80x31.png | Bin .../images/BPMN_swimlane-500x197 (1).png | Bin .../images/BPMN_swimlane-500x197.png | Bin .../images/Business-rule-tasks.png | Bin .../images/Businessrule.png | Bin .../images/Call_Activity.png | Bin .../images/Call_Activity1.png | Bin .../images/Callactivity.png | Bin .../images/CatchErrorExample.png | Bin .../images/Completed_by_me.png | Bin .../images/Completed_by_others.png | Bin .../images/Complex.png | Bin .../images/Corelation.png | Bin .../{Building_Diagrams => }/images/DMN_EM.png | Bin .../images/DMN_Properties_Table.png | Bin .../images/DMN_table.png | Bin .../images/DataStore_JSON_Output.png | Bin .../images/DataStore_KKV.png | Bin .../images/DataStore_KKV_1.png | Bin .../images/DataStore_KKV_2.png | Bin .../images/DataStore_KKV_3.png | Bin .../images/DataStore_KKV_4.png | Bin .../images/DataStore_KKV_Output.png | Bin .../images/DataStore_KKV_Store.png | Bin .../images/Data_Object.png | Bin .../images/Data_Storage.png | Bin .../images/Display_Content.png | Bin .../images/Display_UI_Help.png | Bin .../images/Elements-08-06.png | Bin docs/{Building_Diagrams => }/images/End.png | Bin docs/{Building_Diagrams => }/images/End1.png | Bin .../images/End_Task_Properties.png | Bin .../images/Env_variable_Screenshot.png | Bin .../images/ErrorEndEventExample (1).png | Bin .../images/ErrorEndEventExample.png | Bin .../images/Escalation_ID.png | Bin .../images/Escalation_Order.png | Bin .../images/Escalation_Order_2.png | Bin .../images/Event_Gateway.png | Bin .../images/Eventbased.png | Bin docs/{Getting_Started => }/images/Events.png | Bin .../images/Events_Example.png | Bin .../images/Exclusive.png | Bin .../images/Exclusive_Em.png | Bin docs/{dev => }/images/Extension1.png | Bin docs/{dev => }/images/Extension_UI_schema.png | Bin .../{dev => }/images/Extensions_dashboard.png | Bin .../images/Filter_icon.png | Bin docs/{Support => }/images/Flask.png | Bin .../images/Form-Builder.png | Bin .../images/Form_display.png | Bin .../images/Form_editor.png | Bin .../images/Form_editor1.png | Bin .../images/Form_editor2.png | Bin .../images/Form_editor3.png | Bin .../images/Form_editor4.png | Bin .../images/Form_json.png | Bin .../images/Form_manual_editor.png | Bin .../images/Grey Image.png | Bin .../images/Grey_color.png | Bin docs/{Building_Diagrams => }/images/Group.png | Bin docs/{Getting_Started => }/images/Guest.png | Bin docs/{Getting_Started => }/images/Guest_1.png | Bin docs/{Getting_Started => }/images/Guest_2.png | Bin docs/{Getting_Started => }/images/Guest_3.png | Bin docs/{Getting_Started => }/images/Guest_@.png | Bin .../images/Inclusive.png | Bin .../images/Instructions_panel.png | Bin .../images/Intermdiate.png | Bin .../images/Intermediate.png | Bin .../images/Introduction_manual.png | Bin .../images/JSONSchema.png | Bin .../images/JSON_Data_Store_1.png | Bin .../images/JSON_data_store.png | Bin docs/{Getting_Started => }/images/Login.png | Bin .../images/Loop_Settings.png | Bin .../{Building_Diagrams => }/images/Manual.png | Bin .../images/Manual_EM.png | Bin .../images/Manual_instructions.png | Bin .../images/Manual_instructions_panel.png | Bin .../Manual_instructions_side_by_side.png | Bin .../images/Manual_last.png | Bin .../images/Manual_lasttt.png | Bin .../images/Manual_task.png | Bin .../images/Manual_task1.png | Bin .../images/Manual_task_Properties.png | Bin .../images/Manual_task_Properties1.png | Bin .../images/Manual_task_Properties12.png | Bin .../images/Manual_task_instructions_panel.png | Bin .../images/Milestone_Screenshot.png | Bin .../images/Mimicking_inclusive_gateway.png | Bin .../images/Navigating_Process.png | Bin .../images/Nested_form_display.png | Bin .../images/Output_extensions.png | Bin .../images/Parallet_gateway.png | Bin .../images/Pre-post_scripts.png | Bin .../images/Propertise_panel.png | Bin docs/{Getting_Started => }/images/Purple.png | Bin .../images/Receive.png | Bin .../images/Receive_task.png | Bin docs/{Getting_Started => }/images/Red.png | Bin .../images/Scores_EM.png | Bin .../images/Script-tasks.png | Bin .../{Building_Diagrams => }/images/Script.png | Bin .../images/Script_Em.png | Bin .../images/Script_instructions.png | Bin .../images/Script_task_example.png | Bin .../images/Script_task_update.png | Bin .../images/Secrets_configure_2.png | Bin .../images/Secrets_step_1.png | Bin .../images/Secrets_step_2.png | Bin docs/{Building_Diagrams => }/images/Send.png | Bin .../images/Send_task.png | Bin .../images/Service-tasks.png | Bin .../images/Service_task.png | Bin .../{Building_Diagrams => }/images/Sevice.png | Bin .../images/Short_link.png | Bin .../images/Signal_EM.png | Bin .../images/Signal_events_spiff_example.png | Bin .../images/Signal_events_spiff_example1.png | Bin .../images/Signal_events_spiff_example2.png | Bin .../images/Signal_events_spiff_example3.png | Bin .../images/Signal_events_spiff_example4.png | Bin .../images/Signal_events_spiff_example5.png | Bin .../images/Signal_events_spiff_example6.png | Bin .../images/Signal_events_spiff_example7.png | Bin docs/{Building_Diagrams => }/images/Start.png | Bin .../images/Start_Event.png | Bin .../images/Start_Event_Properties.png | Bin .../images/Start_Event_Properties1.png | Bin .../images/Start_event_error_example.png | Bin .../images/SubProcess.png | Bin .../images/Submit_text.png | Bin .../images/Task_instance.png | Bin .../images/Typeahead.png | Bin .../images/UI-Schema.png | Bin .../images/Untitled design.png | Bin .../{Getting_Started => }/images/Untitled.png | Bin .../images/Untitled_1.png | Bin .../images/Untitled_10.png | Bin .../images/Untitled_11.png | Bin .../images/Untitled_12.png | Bin .../images/Untitled_13.png | Bin .../images/Untitled_14.png | Bin .../images/Untitled_15.png | Bin .../images/Untitled_16.png | Bin .../images/Untitled_17.png | Bin .../images/Untitled_18.png | Bin .../images/Untitled_19.png | Bin .../images/Untitled_2.png | Bin .../images/Untitled_20.png | Bin .../images/Untitled_21.png | Bin .../images/Untitled_22.png | Bin .../images/Untitled_23.png | Bin .../images/Untitled_24.png | Bin .../images/Untitled_25.png | Bin .../images/Untitled_26.png | Bin .../images/Untitled_27.png | Bin .../images/Untitled_28.png | Bin .../images/Untitled_29.png | Bin .../images/Untitled_3.png | Bin .../images/Untitled_30.png | Bin .../images/Untitled_31.png | Bin .../images/Untitled_32.png | Bin .../images/Untitled_4.png | Bin .../images/Untitled_5.png | Bin .../images/Untitled_6.png | Bin .../images/Untitled_7.png | Bin .../images/Untitled_8.png | Bin .../images/Untitled_9.png | Bin .../images/Usecase.png | Bin .../images/Usecase_extensions.png | Bin docs/{Building_Diagrams => }/images/User.png | Bin .../images/User_EM.png | Bin .../images/User_instructions.png | Bin .../images/User_task.png | Bin .../images/Users_task.png | Bin .../images/Using_forms.png | Bin .../images/View_Forms1.png | Bin .../images/View_Forms2.png | Bin .../images/View_Forms3.png | Bin .../images/View_Forms4.png | Bin .../images/View_Forms5.png | Bin docs/{Getting_Started => }/images/Yellow.png | Bin .../images/active_call_activity.png | Bin .../images/active_call_process.png | Bin .../images/active_process_instance.png | Bin docs/{Support => }/images/active_sub_task.png | Bin .../images/active_subprocess.png | Bin docs/{Support => }/images/active_subtask.png | Bin .../images/add_a_process_group.png | Bin .../images/add_file.png | Bin .../images/add_process_model.png | Bin .../images/admin_workflows.png | Bin docs/{appendices => }/images/articles.png | Bin docs/{Support => }/images/assigned_to_me.png | Bin .../images/assumptions.png | Bin .../images/boundary_event.png | Bin .../images/boundary_example.png | Bin .../images/call_activity_popup.png | Bin .../images/cant_find_process_instance.png | Bin .../images/catch_events.png | Bin .../images/catch_example.png | Bin .../images/category.png | Bin docs/{Getting_Started => }/images/chef.png | Bin .../images/collaboration_correlation.png | Bin .../images/collaboration_messages_1.png | Bin .../images/collaboration_msg.png | Bin docs/{Support => }/images/completed.png | Bin .../conditional_intermediate_example_1.png | Bin .../conditional_intermediate_example_2.png | Bin .../conditional_intermediate_example_3.png | Bin .../images/conditional_start_event.png | Bin .../images/conditional_start_example.png | Bin .../images/conditional_start_example_1.png | Bin .../images/conditions.png | Bin .../images/configure_conditional_event.png | Bin .../images/correlation_1.png | Bin .../images/correlation_keys_1.png | Bin .../images/correlation_properties_1.png | Bin .../images/data_input.png | Bin .../images/data_input_form.png | Bin .../images/data_object_pools_1.png | Bin .../images/data_object_prop.png | Bin .../images/data_object_reference.png | Bin .../images/data_output.png | Bin .../images/data_store.png | Bin docs/{documentation => }/images/docs_dir.png | Bin .../images/documentation_field.png | Bin .../images/end-event-error.256x255.png | Bin .../images/end_escalation_event.png | Bin .../images/end_event.png | Bin .../images/end_message.png | Bin .../images/end_msg_event.png | Bin .../images/end_signal_event.png | Bin .../images/end_signal_event_example.png | Bin .../images/error-events1.png | Bin .../images/error_boundary_event.png | Bin ...undary_event_with_expanded-subprocess1.png | Bin ...undary_event_with_expanded-subprocess2.png | Bin ...undary_event_with_expanded-subprocess3.png | Bin ...undary_event_with_expanded-subprocess4.png | Bin ...undary_event_with_expanded-subprocess5.png | Bin ...undary_event_with_expanded-subprocess6.png | Bin ...undary_event_with_expanded-subprocess7.png | Bin .../images/error_end_event.png | Bin .../images/error_event_example1.png | Bin .../images/error_event_example2.png | Bin .../images/error_event_example3.png | Bin .../images/error_event_example4.png | Bin .../images/error_event_example5.png | Bin .../images/error_event_example6.png | Bin .../images/error_intermediate_event.png | Bin .../images/escalation_example_2.png | Bin .../images/escalation_example_3.png | Bin .../images/escalation_example_4.png | Bin .../images/event_based_gateway.png | Bin .../images/event_correlation_msg.png | Bin .../images/event_types.png | Bin .../images/events_categories.png | Bin .../images/events_table.png | Bin .../images/exclusive_gateway.png | Bin .../images/exclusive_gateway_default.png | Bin .../images/exclusive_gateway_examples.png | Bin .../images/exclusive_merge.png | Bin .../images/exclusivegatewayexample.png | Bin .../images/exclusivegatewayexample1.png | Bin .../images/exclusivegatewayexample2.png | Bin .../images/exclusivegatewayexample3.png | Bin .../images/exclusivegatewayexample4.png | Bin .../images/exclusivegatewayexample5.png | Bin .../images/exclusivegatewayexample6.png | Bin .../images/executable.png | Bin .../images/executable1.png | Bin docs/{Support => }/images/find_by_id.png | Bin docs/{documentation => }/images/git.png | Bin .../images/group_permission.png | Bin .../images/guest_user1.png | Bin .../images/guest_user2.png | Bin .../images/guest_user3.png | Bin .../images/high_level.png | Bin .../images/id_field.png | Bin .../images/image.png | Bin .../images/inactive_call_activity.png | Bin .../images/inactive_call_process.png | Bin .../{Support => }/images/inactive_subtask.png | Bin .../images/inclusive_gateway.png | Bin .../images/inclusive_gateway_conditions.png | Bin .../images/inclusive_gateway_example.png | Bin .../images/inclusive_gateway_example1.png | Bin .../images/inclusive_gateway_merge.png | Bin .../images/inclusive_gateway_mp.png | Bin .../images/instructions.png | Bin ...intermediate-event-catch-error.256x255.png | Bin .../images/intermediate-event-error.png | Bin .../images/intermediate_catch_msg_event.png | Bin .../intermediate_catch_signal_event.png | Bin .../intermediate_catch_signal_example.png | Bin .../intermediate_catch_signal_example_2.png | Bin .../images/intermediate_conditional_event.png | Bin .../intermediate_escalation_catch_event.png | Bin .../intermediate_escalation_throw_event.png | Bin .../images/intermediate_event.png | Bin .../intermediate_signal_event_example.png | Bin .../images/intermediate_throw_msg_event.png | Bin .../intermediate_throw_signal_event.png | Bin .../intermediate_throw_signal_example.png | Bin .../intermediate_throw_signal_example_2.png | Bin .../images/intermediate_timer_event.png | Bin .../images/interrupting_example.png | Bin .../images/interrupting_group.png | Bin .../images/interrupting_intermediate.png | Bin .../images/interrupting_start.png | Bin .../images/lane_configuration_1.png | Bin .../images/lane_owners.png | Bin .../images/lanes_1.png | Bin .../images/lanes_pools_example_1.png | Bin .../images/lanes_pools_example_2.png | Bin .../images/lanes_pools_example_3.png | Bin .../images/lanes_pools_example_4.png | Bin .../images/loop_example1.png | Bin .../images/loop_example2.png | Bin .../images/manual_outpul.png | Bin docs/{documentation => }/images/markdown.png | Bin .../images/message_1.png | Bin .../images/message_event_example_1.png | Bin .../images/message_example1.png | Bin .../images/message_example2.png | Bin .../images/message_example3.png | Bin .../images/message_example4.png | Bin .../images/message_example5.png | Bin .../images/message_example6.png | Bin .../images/model_convention.png | Bin .../images/model_left_to_right_r.png | Bin .../images/model_left_to_right_w.png | Bin .../images/msg_event_example_2.png | Bin .../images/msg_event_example_3.png | Bin .../images/msg_event_example_4.png | Bin .../images/msg_event_example_5.png | Bin .../images/multiinstance_ex.png | Bin .../images/multiinstance_ex1.png | Bin .../images/multiinstance_example1.png | Bin .../images/multiinstance_example2.png | Bin .../images/multiinstance_example5.png | Bin .../images/multiinstance_parallel_example.png | Bin .../images/multiinstance_properties.png | Bin .../multiinstance_sequential_example.png | Bin .../images/my_process_instances.png | Bin docs/{documentation => }/images/myst.png | Bin .../images/name_field.png | Bin .../images/naming_convention.png | Bin .../images/non-boundary_event.png | Bin .../images/non-boundary_event_example.png | Bin .../images/non-interrupting_example.png | Bin .../images/non-interrupting_group.png | Bin .../images/non_executable.png | Bin .../images/non_executable1.png | Bin ...n_interrupting_conditional_start_event.png | Bin ...rupting_intermediate_conditional_event.png | Bin ...rrupting_intermediate_escalation_event.png | Bin ..._interrupting_intermediate_timer_event.png | Bin ...on_interrupting_start_escalation_event.png | Bin .../images/non_interrupting_start_timer.png | Bin .../images/okta_config.png | Bin docs/{Support => }/images/onboarding_1.png | Bin docs/{Support => }/images/onboarding_2.png | Bin docs/{Support => }/images/onboarding_3.png | Bin docs/{Support => }/images/onboarding_4.png | Bin .../images/out_of_stock.png | Bin .../images/parallel_gateway.png | Bin .../images/parallel_gateway_ex1.png | Bin .../images/parallel_gateway_ex2.png | Bin .../images/parallel_gateways.png | Bin .../images/parallel_gateways_examples.png | Bin .../images/parallel_gateways_merge.png | Bin .../images/participant_configuration_1.png | Bin .../images/participant_customer_1.png | Bin .../images/participant_lane_1.png | Bin .../images/participant_sales_1.png | Bin .../images/payload_msg.png | Bin .../images/pool_configuration.png | Bin .../images/pool_settings_1.png | Bin .../images/pools_and_lanes_1.png | Bin .../images/previous_active_state.png | Bin .../images/private_data_object.png | Bin .../images/process_groups_tile.png | Bin .../images/process_instance_not_found.png | Bin .../images/process_instance_tab.png | Bin .../images/relationship_message.png | Bin docs/{Support => }/images/reset_process.png | Bin docs/{Support => }/images/reset_process1.png | Bin docs/{Support => }/images/reset_process2.png | Bin docs/{Support => }/images/reset_process3.png | Bin docs/{Support => }/images/reset_process4.png | Bin docs/{Support => }/images/reset_process5.png | Bin docs/{Support => }/images/reset_process6.png | Bin docs/{Support => }/images/resume.png | Bin .../images/rsjf_markdown.png | Bin .../images/search_process_instance.png | Bin .../images/sensitive_value.png | Bin .../images/separate_pools_1.png | Bin .../images/service_task_doc1.png | Bin .../images/service_task_doc2.png | Bin .../images/service_task_doc3.png | Bin .../images/setting_permissions.png | Bin .../images/signal_event_example.png | Bin .../images/signal_event_example_2.png | Bin .../images/signal_relationships.png | Bin .../images/signal_sync_example.png | Bin .../images/site_administration.png | Bin .../images/start-event-error.1024x1024.png | Bin .../images/start-event-error.256x256.png | Bin .../images/start_conditional_event.png | Bin .../images/start_escalation_event.png | Bin .../images/start_escalation_example.png | Bin .../images/start_escalation_example_1.png | Bin .../images/start_escalation_example_2.png | Bin .../images/start_event_t.png | Bin .../images/start_message_event_1.png | Bin .../images/start_signal_event.png | Bin .../images/start_timer_event.png | Bin .../images/start_timer_example.png | Bin .../images/start_timer_example_1.png | Bin .../images/start_timer_example_2.png | Bin .../images/start_timer_example_3.png | Bin .../images/styling_forms.png | Bin .../images/sub_process.png | Bin .../images/sub_process1.png | Bin docs/{Support => }/images/suspend.png | Bin docs/{Support => }/images/suspended.png | Bin .../images/task_instance_history.png | Bin docs/{Support => }/images/terminate.png | Bin .../images/terminate_warning.png | Bin docs/{Support => }/images/terminated.png | Bin .../images/terminated_process_instance.png | Bin .../images/throw_events.png | Bin .../images/throw_example.png | Bin .../images/timer_field.png | Bin .../images/upload_file.png | Bin .../images/user_groups.png | Bin .../images/user_input_required.png | Bin .../images/user_tasks_properties.png | Bin .../images/user_to_groups.png | Bin .../images/version.png | Bin docs/{Getting_Started => }/images/waiter.png | Bin docs/{Support => }/images/waiting.png | Bin docs/index.md | 104 ++++-------------- docs/{Support => reference}/FAQ.md | 4 +- .../bpmn}/Script_Tasks.md | 6 +- .../bpmn}/conditional_events.md | 22 ++-- .../bpmn}/data.md | 0 .../bpmn}/data_objects.md | 51 +++++---- .../bpmn}/data_stores.md | 12 +- .../bpmn}/dmn.md | 0 .../bpmn}/error_events.md | 36 +++--- .../bpmn}/escalation_events.md | 20 ++-- .../bpmn}/events.md | 34 +++--- .../bpmn}/exclusivegatewayexample.md | 12 +- .../bpmn}/gateways.md | 30 ++--- .../bpmn}/inclusivegatewayexample.md | 4 +- .../bpmn}/message_events.md | 44 ++++---- .../bpmn}/message_example_event.md | 12 +- .../bpmn}/multiinstance.md | 18 +-- .../bpmn}/parallelgatewayexample.md | 4 +- .../bpmn}/pools_and_lanes.md | 34 +++--- .../bpmn}/service_tasks.md | 6 +- .../bpmn}/signal_events.md | 30 ++--- .../sub-processes_and_call_activities.md | 48 +++++--- .../bpmn}/task_data.md | 0 .../bpmn}/timer_events.md | 18 +-- .../bpmn}/user_tasks_and_forms.md | 30 ++--- docs/{appendices => reference}/glossary.md | 0 docs/reference/index.md | 32 ++++++ .../permission_url.md | 0 docs/{wish_list => reference}/wish_list.md | 0 docs/tutorials/index.md | 8 ++ 536 files changed, 632 insertions(+), 549 deletions(-) delete mode 100644 docs/Building_Diagrams/learn_basics.md delete mode 100644 docs/documentation/images/commit.webp rename docs/{appendices => explanation}/articles.md (98%) rename docs/{ => explanation}/dev/backend.md (100%) rename docs/{ => explanation}/dev/connector_proxy.md (94%) rename docs/{ => explanation}/dev/extensions.md (94%) rename docs/{ => explanation}/dev/frontend.md (100%) rename docs/{ => explanation}/dev/how_to_build_a_connector.md (100%) rename docs/{ => explanation}/dev/index.md (100%) rename docs/{ => explanation}/dev/process.md (100%) rename docs/{ => explanation}/dev/setup.md (100%) create mode 100644 docs/explanation/index.md rename docs/{Debugging_Diagrams => explanation}/process_error_handling.md (100%) rename docs/{Building_Diagrams => how_to_guides/building_diagrams}/bpmn.md (93%) rename docs/{Debugging_Diagrams => how_to_guides/building_diagrams}/bpmn_unit_tests.md (100%) rename docs/{Building_Diagrams/Builtin_examples.md => how_to_guides/building_diagrams/builtin_examples.md} (97%) rename docs/{Building_Diagrams/Displaying_Content.md => how_to_guides/building_diagrams/displaying_content.md} (90%) rename docs/{Debugging_Diagrams => how_to_guides/building_diagrams}/executable_non_executable.md (90%) create mode 100644 docs/how_to_guides/building_diagrams/index.md create mode 100644 docs/how_to_guides/building_diagrams/learn_basics.md rename docs/{Building_Diagrams => how_to_guides}/custom_process_metadata.md (100%) rename docs/{DevOps_installation_integration => how_to_guides/deployment}/admin_and_permissions.md (74%) rename docs/{DevOps_installation_integration => how_to_guides/deployment}/configure_connector_proxy.md (100%) rename docs/{DevOps_installation_integration => how_to_guides/deployment}/deploy_aws_lambda.md (100%) rename docs/{DevOps_installation_integration => how_to_guides/deployment}/deployment.md (100%) create mode 100644 docs/how_to_guides/deployment/index.md rename docs/{DevOps_installation_integration => how_to_guides/deployment}/okta_config.md (99%) rename docs/{DevOps_installation_integration => how_to_guides/deployment}/path_based_routing.md (100%) rename docs/{DevOps_installation_integration => how_to_guides/deployment}/process_model_management.md (100%) rename docs/{DevOps_installation_integration => how_to_guides/deployment}/redis_celery_broker.md (100%) rename docs/{DevOps_installation_integration/Secrets.md => how_to_guides/deployment/secrets.md} (94%) rename docs/{documentation => how_to_guides}/documentation.md (95%) create mode 100644 docs/how_to_guides/index.md rename docs/{Support => how_to_guides}/manage_processes.md (92%) rename docs/{Support/Running_Server_Locally.md => how_to_guides/running_server_locally.md} (100%) rename docs/{Support/Welcome_Messages.md => how_to_guides/welcome_messages.md} (89%) rename docs/{Building_Diagrams/images/add_file.png => images/1736024102_add_file.png} (100%) rename docs/{Building_Diagrams/images/add_process_model.png => images/1736024102_add_process_model.png} (100%) rename docs/{Building_Diagrams/images/my_process_instances.png => images/1736024102_my_process_instances.png} (100%) rename docs/{Building_Diagrams/images/process_instance_not_found.png => images/1736024102_process_instance_not_found.png} (100%) rename docs/{Building_Diagrams/images/suspend.png => images/1736024102_suspend.png} (100%) rename docs/{Building_Diagrams/images/suspended.png => images/1736024102_suspended.png} (100%) rename docs/{Building_Diagrams/images/upload_file.png => images/1736024102_upload_file.png} (100%) rename docs/{Building_Diagrams/images/user_to_groups.png => images/1736024102_user_to_groups.png} (100%) rename docs/{Building_Diagrams/images/admin_workflows.png => images/1736024103_admin_workflows.png} (100%) rename docs/{Building_Diagrams/images/call_activity_popup.png => images/1736024103_call_activity_popup.png} (100%) rename docs/{Building_Diagrams/images/inactive_subtask.png => images/1736024103_inactive_subtask.png} (100%) rename docs/{Building_Diagrams/images/process_groups_tile.png => images/1736024103_process_groups_tile.png} (100%) rename docs/{Building_Diagrams/images/Login.png => images/1736024104_Login.png} (100%) rename docs/{Building_Diagrams/images/add_a_process_group.png => images/1736024104_add_a_process_group.png} (100%) rename docs/{Building_Diagrams/images/site_administration.png => images/1736024104_site_administration.png} (100%) rename docs/{Building_Diagrams/images/user_input_required.png => images/1736024104_user_input_required.png} (100%) rename docs/{Getting_Started => }/images/Access_Process_Instance.png (100%) rename docs/{Building_Diagrams => }/images/Annotation.png (100%) rename docs/{Building_Diagrams => }/images/BPMN_Editor.png (100%) rename docs/{Building_Diagrams => }/images/BPMN_Form_display.png (100%) rename docs/{Building_Diagrams => }/images/BPMN_association-80x31.png (100%) rename docs/{Building_Diagrams => }/images/BPMN_message_flow-80x30.png (100%) rename docs/{Building_Diagrams => }/images/BPMN_sequence_flow-80x31.png (100%) rename docs/{Building_Diagrams => }/images/BPMN_swimlane-500x197 (1).png (100%) rename docs/{Building_Diagrams => }/images/BPMN_swimlane-500x197.png (100%) rename docs/{Building_Diagrams => }/images/Business-rule-tasks.png (100%) rename docs/{Building_Diagrams => }/images/Businessrule.png (100%) rename docs/{Building_Diagrams => }/images/Call_Activity.png (100%) rename docs/{Building_Diagrams => }/images/Call_Activity1.png (100%) rename docs/{Building_Diagrams => }/images/Callactivity.png (100%) rename docs/{Building_Diagrams => }/images/CatchErrorExample.png (100%) rename docs/{Getting_Started => }/images/Completed_by_me.png (100%) rename docs/{Getting_Started => }/images/Completed_by_others.png (100%) rename docs/{Building_Diagrams => }/images/Complex.png (100%) rename docs/{Getting_Started => }/images/Corelation.png (100%) rename docs/{Building_Diagrams => }/images/DMN_EM.png (100%) rename docs/{Building_Diagrams => }/images/DMN_Properties_Table.png (100%) rename docs/{Building_Diagrams => }/images/DMN_table.png (100%) rename docs/{Building_Diagrams => }/images/DataStore_JSON_Output.png (100%) rename docs/{Building_Diagrams => }/images/DataStore_KKV.png (100%) rename docs/{Building_Diagrams => }/images/DataStore_KKV_1.png (100%) rename docs/{Building_Diagrams => }/images/DataStore_KKV_2.png (100%) rename docs/{Building_Diagrams => }/images/DataStore_KKV_3.png (100%) rename docs/{Building_Diagrams => }/images/DataStore_KKV_4.png (100%) rename docs/{Building_Diagrams => }/images/DataStore_KKV_Output.png (100%) rename docs/{Building_Diagrams => }/images/DataStore_KKV_Store.png (100%) rename docs/{Building_Diagrams => }/images/Data_Object.png (100%) rename docs/{Building_Diagrams => }/images/Data_Storage.png (100%) rename docs/{Building_Diagrams => }/images/Display_Content.png (100%) rename docs/{Building_Diagrams => }/images/Display_UI_Help.png (100%) rename docs/{Building_Diagrams => }/images/Elements-08-06.png (100%) rename docs/{Building_Diagrams => }/images/End.png (100%) rename docs/{Building_Diagrams => }/images/End1.png (100%) rename docs/{Building_Diagrams => }/images/End_Task_Properties.png (100%) rename docs/{Building_Diagrams => }/images/Env_variable_Screenshot.png (100%) rename docs/{Building_Diagrams => }/images/ErrorEndEventExample (1).png (100%) rename docs/{Building_Diagrams => }/images/ErrorEndEventExample.png (100%) rename docs/{Building_Diagrams => }/images/Escalation_ID.png (100%) rename docs/{Building_Diagrams => }/images/Escalation_Order.png (100%) rename docs/{Building_Diagrams => }/images/Escalation_Order_2.png (100%) rename docs/{Building_Diagrams => }/images/Event_Gateway.png (100%) rename docs/{Building_Diagrams => }/images/Eventbased.png (100%) rename docs/{Getting_Started => }/images/Events.png (100%) rename docs/{Getting_Started => }/images/Events_Example.png (100%) rename docs/{Building_Diagrams => }/images/Exclusive.png (100%) rename docs/{Building_Diagrams => }/images/Exclusive_Em.png (100%) rename docs/{dev => }/images/Extension1.png (100%) rename docs/{dev => }/images/Extension_UI_schema.png (100%) rename docs/{dev => }/images/Extensions_dashboard.png (100%) rename docs/{Getting_Started => }/images/Filter_icon.png (100%) rename docs/{Support => }/images/Flask.png (100%) rename docs/{Building_Diagrams => }/images/Form-Builder.png (100%) rename docs/{Building_Diagrams => }/images/Form_display.png (100%) rename docs/{Building_Diagrams => }/images/Form_editor.png (100%) rename docs/{Building_Diagrams => }/images/Form_editor1.png (100%) rename docs/{Building_Diagrams => }/images/Form_editor2.png (100%) rename docs/{Building_Diagrams => }/images/Form_editor3.png (100%) rename docs/{Building_Diagrams => }/images/Form_editor4.png (100%) rename docs/{Building_Diagrams => }/images/Form_json.png (100%) rename docs/{Building_Diagrams => }/images/Form_manual_editor.png (100%) rename docs/{Getting_Started => }/images/Grey Image.png (100%) rename docs/{Getting_Started => }/images/Grey_color.png (100%) rename docs/{Building_Diagrams => }/images/Group.png (100%) rename docs/{Getting_Started => }/images/Guest.png (100%) rename docs/{Getting_Started => }/images/Guest_1.png (100%) rename docs/{Getting_Started => }/images/Guest_2.png (100%) rename docs/{Getting_Started => }/images/Guest_3.png (100%) rename docs/{Getting_Started => }/images/Guest_@.png (100%) rename docs/{Building_Diagrams => }/images/Inclusive.png (100%) rename docs/{Building_Diagrams => }/images/Instructions_panel.png (100%) rename docs/{Building_Diagrams => }/images/Intermdiate.png (100%) rename docs/{Building_Diagrams => }/images/Intermediate.png (100%) rename docs/{Building_Diagrams => }/images/Introduction_manual.png (100%) rename docs/{Building_Diagrams => }/images/JSONSchema.png (100%) rename docs/{Building_Diagrams => }/images/JSON_Data_Store_1.png (100%) rename docs/{Building_Diagrams => }/images/JSON_data_store.png (100%) rename docs/{Getting_Started => }/images/Login.png (100%) rename docs/{Building_Diagrams => }/images/Loop_Settings.png (100%) rename docs/{Building_Diagrams => }/images/Manual.png (100%) rename docs/{Building_Diagrams => }/images/Manual_EM.png (100%) rename docs/{Building_Diagrams => }/images/Manual_instructions.png (100%) rename docs/{Building_Diagrams => }/images/Manual_instructions_panel.png (100%) rename docs/{Building_Diagrams => }/images/Manual_instructions_side_by_side.png (100%) rename docs/{Building_Diagrams => }/images/Manual_last.png (100%) rename docs/{Building_Diagrams => }/images/Manual_lasttt.png (100%) rename docs/{Building_Diagrams => }/images/Manual_task.png (100%) rename docs/{Building_Diagrams => }/images/Manual_task1.png (100%) rename docs/{Building_Diagrams => }/images/Manual_task_Properties.png (100%) rename docs/{Building_Diagrams => }/images/Manual_task_Properties1.png (100%) rename docs/{Building_Diagrams => }/images/Manual_task_Properties12.png (100%) rename docs/{Building_Diagrams => }/images/Manual_task_instructions_panel.png (100%) rename docs/{Getting_Started => }/images/Milestone_Screenshot.png (100%) rename docs/{Support => }/images/Mimicking_inclusive_gateway.png (100%) rename docs/{Building_Diagrams => }/images/Navigating_Process.png (100%) rename docs/{Building_Diagrams => }/images/Nested_form_display.png (100%) rename docs/{Building_Diagrams => }/images/Output_extensions.png (100%) rename docs/{Building_Diagrams => }/images/Parallet_gateway.png (100%) rename docs/{Building_Diagrams => }/images/Pre-post_scripts.png (100%) rename docs/{Building_Diagrams => }/images/Propertise_panel.png (100%) rename docs/{Getting_Started => }/images/Purple.png (100%) rename docs/{Building_Diagrams => }/images/Receive.png (100%) rename docs/{Building_Diagrams => }/images/Receive_task.png (100%) rename docs/{Getting_Started => }/images/Red.png (100%) rename docs/{Building_Diagrams => }/images/Scores_EM.png (100%) rename docs/{Building_Diagrams => }/images/Script-tasks.png (100%) rename docs/{Building_Diagrams => }/images/Script.png (100%) rename docs/{Building_Diagrams => }/images/Script_Em.png (100%) rename docs/{Building_Diagrams => }/images/Script_instructions.png (100%) rename docs/{Building_Diagrams => }/images/Script_task_example.png (100%) rename docs/{Building_Diagrams => }/images/Script_task_update.png (100%) rename docs/{DevOps_installation_integration => }/images/Secrets_configure_2.png (100%) rename docs/{DevOps_installation_integration => }/images/Secrets_step_1.png (100%) rename docs/{DevOps_installation_integration => }/images/Secrets_step_2.png (100%) rename docs/{Building_Diagrams => }/images/Send.png (100%) rename docs/{Building_Diagrams => }/images/Send_task.png (100%) rename docs/{Building_Diagrams => }/images/Service-tasks.png (100%) rename docs/{Building_Diagrams => }/images/Service_task.png (100%) rename docs/{Building_Diagrams => }/images/Sevice.png (100%) rename docs/{Getting_Started => }/images/Short_link.png (100%) rename docs/{Building_Diagrams => }/images/Signal_EM.png (100%) rename docs/{Building_Diagrams => }/images/Signal_events_spiff_example.png (100%) rename docs/{Building_Diagrams => }/images/Signal_events_spiff_example1.png (100%) rename docs/{Building_Diagrams => }/images/Signal_events_spiff_example2.png (100%) rename docs/{Building_Diagrams => }/images/Signal_events_spiff_example3.png (100%) rename docs/{Building_Diagrams => }/images/Signal_events_spiff_example4.png (100%) rename docs/{Building_Diagrams => }/images/Signal_events_spiff_example5.png (100%) rename docs/{Building_Diagrams => }/images/Signal_events_spiff_example6.png (100%) rename docs/{Building_Diagrams => }/images/Signal_events_spiff_example7.png (100%) rename docs/{Building_Diagrams => }/images/Start.png (100%) rename docs/{Building_Diagrams => }/images/Start_Event.png (100%) rename docs/{Building_Diagrams => }/images/Start_Event_Properties.png (100%) rename docs/{Building_Diagrams => }/images/Start_Event_Properties1.png (100%) rename docs/{Building_Diagrams => }/images/Start_event_error_example.png (100%) rename docs/{Building_Diagrams => }/images/SubProcess.png (100%) rename docs/{Building_Diagrams => }/images/Submit_text.png (100%) rename docs/{Getting_Started => }/images/Task_instance.png (100%) rename docs/{Building_Diagrams => }/images/Typeahead.png (100%) rename docs/{Building_Diagrams => }/images/UI-Schema.png (100%) rename docs/{Building_Diagrams => }/images/Untitled design.png (100%) rename docs/{Getting_Started => }/images/Untitled.png (100%) rename docs/{Getting_Started => }/images/Untitled_1.png (100%) rename docs/{Getting_Started => }/images/Untitled_10.png (100%) rename docs/{Getting_Started => }/images/Untitled_11.png (100%) rename docs/{Getting_Started => }/images/Untitled_12.png (100%) rename docs/{Getting_Started => }/images/Untitled_13.png (100%) rename docs/{Getting_Started => }/images/Untitled_14.png (100%) rename docs/{Getting_Started => }/images/Untitled_15.png (100%) rename docs/{Getting_Started => }/images/Untitled_16.png (100%) rename docs/{Getting_Started => }/images/Untitled_17.png (100%) rename docs/{Getting_Started => }/images/Untitled_18.png (100%) rename docs/{Getting_Started => }/images/Untitled_19.png (100%) rename docs/{Getting_Started => }/images/Untitled_2.png (100%) rename docs/{Getting_Started => }/images/Untitled_20.png (100%) rename docs/{Getting_Started => }/images/Untitled_21.png (100%) rename docs/{Getting_Started => }/images/Untitled_22.png (100%) rename docs/{Getting_Started => }/images/Untitled_23.png (100%) rename docs/{Getting_Started => }/images/Untitled_24.png (100%) rename docs/{Getting_Started => }/images/Untitled_25.png (100%) rename docs/{Getting_Started => }/images/Untitled_26.png (100%) rename docs/{Getting_Started => }/images/Untitled_27.png (100%) rename docs/{Getting_Started => }/images/Untitled_28.png (100%) rename docs/{Getting_Started => }/images/Untitled_29.png (100%) rename docs/{Getting_Started => }/images/Untitled_3.png (100%) rename docs/{Getting_Started => }/images/Untitled_30.png (100%) rename docs/{Getting_Started => }/images/Untitled_31.png (100%) rename docs/{Getting_Started => }/images/Untitled_32.png (100%) rename docs/{Getting_Started => }/images/Untitled_4.png (100%) rename docs/{Getting_Started => }/images/Untitled_5.png (100%) rename docs/{Getting_Started => }/images/Untitled_6.png (100%) rename docs/{Getting_Started => }/images/Untitled_7.png (100%) rename docs/{Getting_Started => }/images/Untitled_8.png (100%) rename docs/{Getting_Started => }/images/Untitled_9.png (100%) rename docs/{Building_Diagrams => }/images/Usecase.png (100%) rename docs/{Building_Diagrams => }/images/Usecase_extensions.png (100%) rename docs/{Building_Diagrams => }/images/User.png (100%) rename docs/{Building_Diagrams => }/images/User_EM.png (100%) rename docs/{Building_Diagrams => }/images/User_instructions.png (100%) rename docs/{Building_Diagrams => }/images/User_task.png (100%) rename docs/{Building_Diagrams => }/images/Users_task.png (100%) rename docs/{Building_Diagrams => }/images/Using_forms.png (100%) rename docs/{Getting_Started => }/images/View_Forms1.png (100%) rename docs/{Getting_Started => }/images/View_Forms2.png (100%) rename docs/{Getting_Started => }/images/View_Forms3.png (100%) rename docs/{Getting_Started => }/images/View_Forms4.png (100%) rename docs/{Getting_Started => }/images/View_Forms5.png (100%) rename docs/{Getting_Started => }/images/Yellow.png (100%) rename docs/{Support => }/images/active_call_activity.png (100%) rename docs/{Building_Diagrams => }/images/active_call_process.png (100%) rename docs/{Support => }/images/active_process_instance.png (100%) rename docs/{Support => }/images/active_sub_task.png (100%) rename docs/{Building_Diagrams => }/images/active_subprocess.png (100%) rename docs/{Support => }/images/active_subtask.png (100%) rename docs/{DevOps_installation_integration => }/images/add_a_process_group.png (100%) rename docs/{DevOps_installation_integration => }/images/add_file.png (100%) rename docs/{DevOps_installation_integration => }/images/add_process_model.png (100%) rename docs/{DevOps_installation_integration => }/images/admin_workflows.png (100%) rename docs/{appendices => }/images/articles.png (100%) rename docs/{Support => }/images/assigned_to_me.png (100%) rename docs/{Building_Diagrams => }/images/assumptions.png (100%) rename docs/{Building_Diagrams => }/images/boundary_event.png (100%) rename docs/{Building_Diagrams => }/images/boundary_example.png (100%) rename docs/{Support => }/images/call_activity_popup.png (100%) rename docs/{Support => }/images/cant_find_process_instance.png (100%) rename docs/{Building_Diagrams => }/images/catch_events.png (100%) rename docs/{Building_Diagrams => }/images/catch_example.png (100%) rename docs/{Building_Diagrams => }/images/category.png (100%) rename docs/{Getting_Started => }/images/chef.png (100%) rename docs/{Building_Diagrams => }/images/collaboration_correlation.png (100%) rename docs/{Building_Diagrams => }/images/collaboration_messages_1.png (100%) rename docs/{Building_Diagrams => }/images/collaboration_msg.png (100%) rename docs/{Support => }/images/completed.png (100%) rename docs/{Building_Diagrams => }/images/conditional_intermediate_example_1.png (100%) rename docs/{Building_Diagrams => }/images/conditional_intermediate_example_2.png (100%) rename docs/{Building_Diagrams => }/images/conditional_intermediate_example_3.png (100%) rename docs/{Building_Diagrams => }/images/conditional_start_event.png (100%) rename docs/{Building_Diagrams => }/images/conditional_start_example.png (100%) rename docs/{Building_Diagrams => }/images/conditional_start_example_1.png (100%) rename docs/{Building_Diagrams => }/images/conditions.png (100%) rename docs/{Building_Diagrams => }/images/configure_conditional_event.png (100%) rename docs/{Building_Diagrams => }/images/correlation_1.png (100%) rename docs/{Building_Diagrams => }/images/correlation_keys_1.png (100%) rename docs/{Building_Diagrams => }/images/correlation_properties_1.png (100%) rename docs/{Building_Diagrams => }/images/data_input.png (100%) rename docs/{Building_Diagrams => }/images/data_input_form.png (100%) rename docs/{Building_Diagrams => }/images/data_object_pools_1.png (100%) rename docs/{Building_Diagrams => }/images/data_object_prop.png (100%) rename docs/{Building_Diagrams => }/images/data_object_reference.png (100%) rename docs/{Building_Diagrams => }/images/data_output.png (100%) rename docs/{Building_Diagrams => }/images/data_store.png (100%) rename docs/{documentation => }/images/docs_dir.png (100%) rename docs/{Building_Diagrams => }/images/documentation_field.png (100%) rename docs/{Building_Diagrams => }/images/end-event-error.256x255.png (100%) rename docs/{Building_Diagrams => }/images/end_escalation_event.png (100%) rename docs/{Building_Diagrams => }/images/end_event.png (100%) rename docs/{Building_Diagrams => }/images/end_message.png (100%) rename docs/{Building_Diagrams => }/images/end_msg_event.png (100%) rename docs/{Building_Diagrams => }/images/end_signal_event.png (100%) rename docs/{Building_Diagrams => }/images/end_signal_event_example.png (100%) rename docs/{Building_Diagrams => }/images/error-events1.png (100%) rename docs/{Building_Diagrams => }/images/error_boundary_event.png (100%) rename docs/{Building_Diagrams => }/images/error_boundary_event_with_expanded-subprocess1.png (100%) rename docs/{Building_Diagrams => }/images/error_boundary_event_with_expanded-subprocess2.png (100%) rename docs/{Building_Diagrams => }/images/error_boundary_event_with_expanded-subprocess3.png (100%) rename docs/{Building_Diagrams => }/images/error_boundary_event_with_expanded-subprocess4.png (100%) rename docs/{Building_Diagrams => }/images/error_boundary_event_with_expanded-subprocess5.png (100%) rename docs/{Building_Diagrams => }/images/error_boundary_event_with_expanded-subprocess6.png (100%) rename docs/{Building_Diagrams => }/images/error_boundary_event_with_expanded-subprocess7.png (100%) rename docs/{Building_Diagrams => }/images/error_end_event.png (100%) rename docs/{Building_Diagrams => }/images/error_event_example1.png (100%) rename docs/{Building_Diagrams => }/images/error_event_example2.png (100%) rename docs/{Building_Diagrams => }/images/error_event_example3.png (100%) rename docs/{Building_Diagrams => }/images/error_event_example4.png (100%) rename docs/{Building_Diagrams => }/images/error_event_example5.png (100%) rename docs/{Building_Diagrams => }/images/error_event_example6.png (100%) rename docs/{Building_Diagrams => }/images/error_intermediate_event.png (100%) rename docs/{Building_Diagrams => }/images/escalation_example_2.png (100%) rename docs/{Building_Diagrams => }/images/escalation_example_3.png (100%) rename docs/{Building_Diagrams => }/images/escalation_example_4.png (100%) rename docs/{Building_Diagrams => }/images/event_based_gateway.png (100%) rename docs/{Building_Diagrams => }/images/event_correlation_msg.png (100%) rename docs/{Building_Diagrams => }/images/event_types.png (100%) rename docs/{Building_Diagrams => }/images/events_categories.png (100%) rename docs/{Building_Diagrams => }/images/events_table.png (100%) rename docs/{Building_Diagrams => }/images/exclusive_gateway.png (100%) rename docs/{Building_Diagrams => }/images/exclusive_gateway_default.png (100%) rename docs/{Building_Diagrams => }/images/exclusive_gateway_examples.png (100%) rename docs/{Building_Diagrams => }/images/exclusive_merge.png (100%) rename docs/{Building_Diagrams => }/images/exclusivegatewayexample.png (100%) rename docs/{Building_Diagrams => }/images/exclusivegatewayexample1.png (100%) rename docs/{Building_Diagrams => }/images/exclusivegatewayexample2.png (100%) rename docs/{Building_Diagrams => }/images/exclusivegatewayexample3.png (100%) rename docs/{Building_Diagrams => }/images/exclusivegatewayexample4.png (100%) rename docs/{Building_Diagrams => }/images/exclusivegatewayexample5.png (100%) rename docs/{Building_Diagrams => }/images/exclusivegatewayexample6.png (100%) rename docs/{Debugging_Diagrams => }/images/executable.png (100%) rename docs/{Debugging_Diagrams => }/images/executable1.png (100%) rename docs/{Support => }/images/find_by_id.png (100%) rename docs/{documentation => }/images/git.png (100%) rename docs/{DevOps_installation_integration => }/images/group_permission.png (100%) rename docs/{Building_Diagrams => }/images/guest_user1.png (100%) rename docs/{Building_Diagrams => }/images/guest_user2.png (100%) rename docs/{Building_Diagrams => }/images/guest_user3.png (100%) rename docs/{Building_Diagrams => }/images/high_level.png (100%) rename docs/{Building_Diagrams => }/images/id_field.png (100%) rename docs/{DevOps_installation_integration => }/images/image.png (100%) rename docs/{Support => }/images/inactive_call_activity.png (100%) rename docs/{Building_Diagrams => }/images/inactive_call_process.png (100%) rename docs/{Support => }/images/inactive_subtask.png (100%) rename docs/{Building_Diagrams => }/images/inclusive_gateway.png (100%) rename docs/{Building_Diagrams => }/images/inclusive_gateway_conditions.png (100%) rename docs/{Building_Diagrams => }/images/inclusive_gateway_example.png (100%) rename docs/{Building_Diagrams => }/images/inclusive_gateway_example1.png (100%) rename docs/{Building_Diagrams => }/images/inclusive_gateway_merge.png (100%) rename docs/{Building_Diagrams => }/images/inclusive_gateway_mp.png (100%) rename docs/{Building_Diagrams => }/images/instructions.png (100%) rename docs/{Building_Diagrams => }/images/intermediate-event-catch-error.256x255.png (100%) rename docs/{Building_Diagrams => }/images/intermediate-event-error.png (100%) rename docs/{Building_Diagrams => }/images/intermediate_catch_msg_event.png (100%) rename docs/{Building_Diagrams => }/images/intermediate_catch_signal_event.png (100%) rename docs/{Building_Diagrams => }/images/intermediate_catch_signal_example.png (100%) rename docs/{Building_Diagrams => }/images/intermediate_catch_signal_example_2.png (100%) rename docs/{Building_Diagrams => }/images/intermediate_conditional_event.png (100%) rename docs/{Building_Diagrams => }/images/intermediate_escalation_catch_event.png (100%) rename docs/{Building_Diagrams => }/images/intermediate_escalation_throw_event.png (100%) rename docs/{Building_Diagrams => }/images/intermediate_event.png (100%) rename docs/{Building_Diagrams => }/images/intermediate_signal_event_example.png (100%) rename docs/{Building_Diagrams => }/images/intermediate_throw_msg_event.png (100%) rename docs/{Building_Diagrams => }/images/intermediate_throw_signal_event.png (100%) rename docs/{Building_Diagrams => }/images/intermediate_throw_signal_example.png (100%) rename docs/{Building_Diagrams => }/images/intermediate_throw_signal_example_2.png (100%) rename docs/{Building_Diagrams => }/images/intermediate_timer_event.png (100%) rename docs/{Building_Diagrams => }/images/interrupting_example.png (100%) rename docs/{Building_Diagrams => }/images/interrupting_group.png (100%) rename docs/{Building_Diagrams => }/images/interrupting_intermediate.png (100%) rename docs/{Building_Diagrams => }/images/interrupting_start.png (100%) rename docs/{Building_Diagrams => }/images/lane_configuration_1.png (100%) rename docs/{Building_Diagrams => }/images/lane_owners.png (100%) rename docs/{Building_Diagrams => }/images/lanes_1.png (100%) rename docs/{Building_Diagrams => }/images/lanes_pools_example_1.png (100%) rename docs/{Building_Diagrams => }/images/lanes_pools_example_2.png (100%) rename docs/{Building_Diagrams => }/images/lanes_pools_example_3.png (100%) rename docs/{Building_Diagrams => }/images/lanes_pools_example_4.png (100%) rename docs/{Building_Diagrams => }/images/loop_example1.png (100%) rename docs/{Building_Diagrams => }/images/loop_example2.png (100%) rename docs/{Building_Diagrams => }/images/manual_outpul.png (100%) rename docs/{documentation => }/images/markdown.png (100%) rename docs/{Building_Diagrams => }/images/message_1.png (100%) rename docs/{Building_Diagrams => }/images/message_event_example_1.png (100%) rename docs/{Building_Diagrams => }/images/message_example1.png (100%) rename docs/{Building_Diagrams => }/images/message_example2.png (100%) rename docs/{Building_Diagrams => }/images/message_example3.png (100%) rename docs/{Building_Diagrams => }/images/message_example4.png (100%) rename docs/{Building_Diagrams => }/images/message_example5.png (100%) rename docs/{Building_Diagrams => }/images/message_example6.png (100%) rename docs/{Building_Diagrams => }/images/model_convention.png (100%) rename docs/{Building_Diagrams => }/images/model_left_to_right_r.png (100%) rename docs/{Building_Diagrams => }/images/model_left_to_right_w.png (100%) rename docs/{Building_Diagrams => }/images/msg_event_example_2.png (100%) rename docs/{Building_Diagrams => }/images/msg_event_example_3.png (100%) rename docs/{Building_Diagrams => }/images/msg_event_example_4.png (100%) rename docs/{Building_Diagrams => }/images/msg_event_example_5.png (100%) rename docs/{Building_Diagrams => }/images/multiinstance_ex.png (100%) rename docs/{Building_Diagrams => }/images/multiinstance_ex1.png (100%) rename docs/{Building_Diagrams => }/images/multiinstance_example1.png (100%) rename docs/{Building_Diagrams => }/images/multiinstance_example2.png (100%) rename docs/{Building_Diagrams => }/images/multiinstance_example5.png (100%) rename docs/{Building_Diagrams => }/images/multiinstance_parallel_example.png (100%) rename docs/{Building_Diagrams => }/images/multiinstance_properties.png (100%) rename docs/{Building_Diagrams => }/images/multiinstance_sequential_example.png (100%) rename docs/{Support => }/images/my_process_instances.png (100%) rename docs/{documentation => }/images/myst.png (100%) rename docs/{Building_Diagrams => }/images/name_field.png (100%) rename docs/{Building_Diagrams => }/images/naming_convention.png (100%) rename docs/{Building_Diagrams => }/images/non-boundary_event.png (100%) rename docs/{Building_Diagrams => }/images/non-boundary_event_example.png (100%) rename docs/{Building_Diagrams => }/images/non-interrupting_example.png (100%) rename docs/{Building_Diagrams => }/images/non-interrupting_group.png (100%) rename docs/{Debugging_Diagrams => }/images/non_executable.png (100%) rename docs/{Debugging_Diagrams => }/images/non_executable1.png (100%) rename docs/{Building_Diagrams => }/images/non_interrupting_conditional_start_event.png (100%) rename docs/{Building_Diagrams => }/images/non_interrupting_intermediate_conditional_event.png (100%) rename docs/{Building_Diagrams => }/images/non_interrupting_intermediate_escalation_event.png (100%) rename docs/{Building_Diagrams => }/images/non_interrupting_intermediate_timer_event.png (100%) rename docs/{Building_Diagrams => }/images/non_interrupting_start_escalation_event.png (100%) rename docs/{Building_Diagrams => }/images/non_interrupting_start_timer.png (100%) rename docs/{DevOps_installation_integration => }/images/okta_config.png (100%) rename docs/{Support => }/images/onboarding_1.png (100%) rename docs/{Support => }/images/onboarding_2.png (100%) rename docs/{Support => }/images/onboarding_3.png (100%) rename docs/{Support => }/images/onboarding_4.png (100%) rename docs/{Building_Diagrams => }/images/out_of_stock.png (100%) rename docs/{Building_Diagrams => }/images/parallel_gateway.png (100%) rename docs/{Building_Diagrams => }/images/parallel_gateway_ex1.png (100%) rename docs/{Building_Diagrams => }/images/parallel_gateway_ex2.png (100%) rename docs/{Building_Diagrams => }/images/parallel_gateways.png (100%) rename docs/{Building_Diagrams => }/images/parallel_gateways_examples.png (100%) rename docs/{Building_Diagrams => }/images/parallel_gateways_merge.png (100%) rename docs/{Building_Diagrams => }/images/participant_configuration_1.png (100%) rename docs/{Building_Diagrams => }/images/participant_customer_1.png (100%) rename docs/{Building_Diagrams => }/images/participant_lane_1.png (100%) rename docs/{Building_Diagrams => }/images/participant_sales_1.png (100%) rename docs/{Building_Diagrams => }/images/payload_msg.png (100%) rename docs/{Building_Diagrams => }/images/pool_configuration.png (100%) rename docs/{Building_Diagrams => }/images/pool_settings_1.png (100%) rename docs/{Building_Diagrams => }/images/pools_and_lanes_1.png (100%) rename docs/{Support => }/images/previous_active_state.png (100%) rename docs/{Building_Diagrams => }/images/private_data_object.png (100%) rename docs/{DevOps_installation_integration => }/images/process_groups_tile.png (100%) rename docs/{Support => }/images/process_instance_not_found.png (100%) rename docs/{Support => }/images/process_instance_tab.png (100%) rename docs/{Building_Diagrams => }/images/relationship_message.png (100%) rename docs/{Support => }/images/reset_process.png (100%) rename docs/{Support => }/images/reset_process1.png (100%) rename docs/{Support => }/images/reset_process2.png (100%) rename docs/{Support => }/images/reset_process3.png (100%) rename docs/{Support => }/images/reset_process4.png (100%) rename docs/{Support => }/images/reset_process5.png (100%) rename docs/{Support => }/images/reset_process6.png (100%) rename docs/{Support => }/images/resume.png (100%) rename docs/{Building_Diagrams => }/images/rsjf_markdown.png (100%) rename docs/{Building_Diagrams => }/images/search_process_instance.png (100%) rename docs/{Building_Diagrams => }/images/sensitive_value.png (100%) rename docs/{Building_Diagrams => }/images/separate_pools_1.png (100%) rename docs/{Building_Diagrams => }/images/service_task_doc1.png (100%) rename docs/{Building_Diagrams => }/images/service_task_doc2.png (100%) rename docs/{Building_Diagrams => }/images/service_task_doc3.png (100%) rename docs/{Building_Diagrams => }/images/setting_permissions.png (100%) rename docs/{Building_Diagrams => }/images/signal_event_example.png (100%) rename docs/{Building_Diagrams => }/images/signal_event_example_2.png (100%) rename docs/{Building_Diagrams => }/images/signal_relationships.png (100%) rename docs/{Building_Diagrams => }/images/signal_sync_example.png (100%) rename docs/{DevOps_installation_integration => }/images/site_administration.png (100%) rename docs/{Building_Diagrams => }/images/start-event-error.1024x1024.png (100%) rename docs/{Building_Diagrams => }/images/start-event-error.256x256.png (100%) rename docs/{Building_Diagrams => }/images/start_conditional_event.png (100%) rename docs/{Building_Diagrams => }/images/start_escalation_event.png (100%) rename docs/{Building_Diagrams => }/images/start_escalation_example.png (100%) rename docs/{Building_Diagrams => }/images/start_escalation_example_1.png (100%) rename docs/{Building_Diagrams => }/images/start_escalation_example_2.png (100%) rename docs/{Building_Diagrams => }/images/start_event_t.png (100%) rename docs/{Building_Diagrams => }/images/start_message_event_1.png (100%) rename docs/{Building_Diagrams => }/images/start_signal_event.png (100%) rename docs/{Building_Diagrams => }/images/start_timer_event.png (100%) rename docs/{Building_Diagrams => }/images/start_timer_example.png (100%) rename docs/{Building_Diagrams => }/images/start_timer_example_1.png (100%) rename docs/{Building_Diagrams => }/images/start_timer_example_2.png (100%) rename docs/{Building_Diagrams => }/images/start_timer_example_3.png (100%) rename docs/{Building_Diagrams => }/images/styling_forms.png (100%) rename docs/{Building_Diagrams => }/images/sub_process.png (100%) rename docs/{Building_Diagrams => }/images/sub_process1.png (100%) rename docs/{Support => }/images/suspend.png (100%) rename docs/{Support => }/images/suspended.png (100%) rename docs/{Getting_Started => }/images/task_instance_history.png (100%) rename docs/{Support => }/images/terminate.png (100%) rename docs/{Support => }/images/terminate_warning.png (100%) rename docs/{Support => }/images/terminated.png (100%) rename docs/{Support => }/images/terminated_process_instance.png (100%) rename docs/{Building_Diagrams => }/images/throw_events.png (100%) rename docs/{Building_Diagrams => }/images/throw_example.png (100%) rename docs/{Building_Diagrams => }/images/timer_field.png (100%) rename docs/{DevOps_installation_integration => }/images/upload_file.png (100%) rename docs/{Building_Diagrams => }/images/user_groups.png (100%) rename docs/{Support => }/images/user_input_required.png (100%) rename docs/{Building_Diagrams => }/images/user_tasks_properties.png (100%) rename docs/{DevOps_installation_integration => }/images/user_to_groups.png (100%) rename docs/{Building_Diagrams => }/images/version.png (100%) rename docs/{Getting_Started => }/images/waiter.png (100%) rename docs/{Support => }/images/waiting.png (100%) rename docs/{Support => reference}/FAQ.md (99%) rename docs/{Building_Diagrams => reference/bpmn}/Script_Tasks.md (98%) rename docs/{Building_Diagrams => reference/bpmn}/conditional_events.md (80%) rename docs/{Building_Diagrams => reference/bpmn}/data.md (100%) rename docs/{Building_Diagrams => reference/bpmn}/data_objects.md (62%) rename docs/{Building_Diagrams => reference/bpmn}/data_stores.md (96%) rename docs/{Building_Diagrams => reference/bpmn}/dmn.md (100%) rename docs/{Building_Diagrams => reference/bpmn}/error_events.md (89%) rename docs/{Building_Diagrams => reference/bpmn}/escalation_events.md (90%) rename docs/{Building_Diagrams => reference/bpmn}/events.md (92%) rename docs/{Building_Diagrams => reference/bpmn}/exclusivegatewayexample.md (86%) rename docs/{Building_Diagrams => reference/bpmn}/gateways.md (86%) rename docs/{Building_Diagrams => reference/bpmn}/inclusivegatewayexample.md (95%) rename docs/{Building_Diagrams => reference/bpmn}/message_events.md (63%) rename docs/{Building_Diagrams => reference/bpmn}/message_example_event.md (94%) rename docs/{Building_Diagrams => reference/bpmn}/multiinstance.md (94%) rename docs/{Building_Diagrams => reference/bpmn}/parallelgatewayexample.md (93%) rename docs/{Building_Diagrams => reference/bpmn}/pools_and_lanes.md (81%) rename docs/{Building_Diagrams => reference/bpmn}/service_tasks.md (97%) rename docs/{Building_Diagrams => reference/bpmn}/signal_events.md (90%) rename docs/{Building_Diagrams => reference/bpmn}/sub-processes_and_call_activities.md (80%) rename docs/{Building_Diagrams => reference/bpmn}/task_data.md (100%) rename docs/{Building_Diagrams => reference/bpmn}/timer_events.md (88%) rename docs/{Building_Diagrams => reference/bpmn}/user_tasks_and_forms.md (97%) rename docs/{appendices => reference}/glossary.md (100%) create mode 100644 docs/reference/index.md rename docs/{DevOps_installation_integration => reference}/permission_url.md (100%) rename docs/{wish_list => reference}/wish_list.md (100%) create mode 100644 docs/tutorials/index.md diff --git a/docs/Building_Diagrams/learn_basics.md b/docs/Building_Diagrams/learn_basics.md deleted file mode 100644 index c8f5e7253..000000000 --- a/docs/Building_Diagrams/learn_basics.md +++ /dev/null @@ -1,93 +0,0 @@ -# Understanding the terminology - -## BPMN and SpiffWorkflow - -Business Process Model and Notation (BPMN) is a diagramming language for specifying business processes. -BPMN bridges the gap between business and IT, creating a shared process language for both parties. - -BPMN efficiently depicts the details of process behaviors in a diagram. -The precision of its meaning allows it to describe the technical details that control process execution in an automation engine. -SpiffWorkflow enables you to create code to execute a BPMN diagram directly. - -By using SpiffWorkflow, a client can create the BPMN diagram and have their product work without the need for you to modify the Python code, thus improving response and turnaround time. - -## Flow Objects - -Flow objects are divided into three groups: Events, Gateways, and Tasks. - -### Events - -Events, represented by circles, describe occurrences during a process. -There are three main types of events in business process modeling: start events, intermediate events, and end events. - -| **Event** | **Symbol**| **Description** | -|-----------|-----------|-----------------| -| Start Event |![Untitled](images/Start.png) | Signals the first step of a process. | -| Intermediate Event | ![Untitled](images/Intermediate.png) | Represents any event that occurs between a start and end event. | -| End Event | ![Untitled](images/End.png) | Signals the final step in a process. | - -### Gateways - -Gateways represent decision points in a process. -Based on certain conditions or rules, they determine which path the process will follow. -There are various types of gateways: - -| **Gateway** | **Symbol**| **Description** | -|---------------|-----------|-----------------| -| Exclusive Gateway |![Untitled](images/Exclusive.png) | Evaluates the state of the business process and, based on the condition, diverges the flow into one or more mutually exclusive paths. | -| Event-based Gateway | ![Untitled](images/Eventbased.png) | An event-based gateway is similar to an exclusive gateway in that both involve one path in the flow. However, with an event-based gateway, you evaluate which event has occurred, not which condition has been met. | -| Inclusive Gateway | ![Untitled](images/Inclusive.png) | An inclusive gateway diverges the process flow into one or more flows. | -| Complex Gateway | ![Untitled](images/Complex.png) | Complex gateways are used only for the most intricate flows in the business process. They use words instead of symbols and thus require more descriptive text. | - -### Tasks - -Tasks represent activities or work that needs to be done as part of a process. -They can either be manual tasks that require human intervention or automated tasks that are performed by systems or applications. - -| **Task** | **Symbol** | **Description** | -|---------------|------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Service | ![Untitled](images/Service_task.png) | A task that utilizes a Web service, an automated application, or other types of service to complete the task. | -| Send |![Untitled](images/Send.png) | A task that sends a message to another pool. The task is completed once the message has been sent. | -| Receive | ![Untitled](images/Receive.png) | A Receive Task indicates that the process has to wait for a message to arrive in order to continue. The task is completed once the message has been received. | -| User | ![Untitled](images/User.png) | A User Task denotes that a human performer completes the task with the help of a software application. | -| Manual | ![Untitled](images/Manual.png) | A Manual Task is a task performed without the aid of any business process execution engine or application. | -| Business Rule |![Untitled](images/Businessrule.png)| A Business Rule Task provides a mechanism for a process to supply input to a Business Rules Engine and then obtain the output provided by the Business Rules Engine. | -| Script | ![Untitled](images/Script.png) | A Script Task defines a script that the engine can interpret. | -| Call Activity | ![Untitled](images/Callactivity.png) | A call activity allows you to call and invoke another process as part of this process. | -| Sub-Process | ![Untitled](images/SubProcess.png) | Sub-processes allow you to collapse and expand tasks to convey information quickly. | - -## Connecting Objects - -Connecting objects are lines that connect BPMN flow objects. -Three different types exist: sequence flows, message flows, and associations. - -| **Connecting Objects** | **Symbol** | **Description** | -|---------------|------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Sequence Flow Symbol | ![Untitled](images/BPMN_sequence_flow-80x31.png) | Connects flow objects in the proper sequential order. | -| Message Flow Symbol |![Untitled](images/BPMN_message_flow-80x30.png) | Represents messages sent from one process participant to another. | -| Association Symbol | ![Untitled](images/BPMN_association-80x31.png) | Illustrates relationships between artifacts and flow objects. | - -## Artifacts - -Artifacts are used to provide additional information or documentation within a process. -They include data objects (which represent information or data needed for the process), annotations (which provide explanatory or descriptive text), and groups (which are used to visually group related elements). - -| **Artifact** | **Symbol** | **Description** | -|---------------|------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Data Object |
![Untitled](images/Data_Object.png) | Data objects can represent data input to the process, data resulting from the process, or data that needs to be collected. | -| Data Storage |![Untitled](images/Data_Storage.png) | Data storage facilitates the storage or access of data associated with a business model. If your process produces any data, it will become necessary to store that data. | -| Group |
![Untitled](images/Group.png) | Groups organize tasks or processes that are significant in the overall process. | -| Annotation |
![Untitled](images/Annotation.png) | Annotations allow you to describe the business process and flow objects in greater detail. | - -## Swimlanes - -Swimlanes are used in a BPMN diagram to organize aspects of a process. -They visually group objects into lanes, with each aspect of the process added to a separate lane. - -These elements can be arranged either horizontally or vertically. -Not only do swimlanes organize activities into separate categories, but they also reveal delays, inefficiencies, and the individuals responsible for each step in a process. - -![Untitled](images/BPMN_swimlane-500x197.png) - -```{tags} reference, building_diagrams -``` diff --git a/docs/Getting_Started/quick_start.md b/docs/Getting_Started/quick_start.md index bc22e5ff3..9b63b4d53 100644 --- a/docs/Getting_Started/quick_start.md +++ b/docs/Getting_Started/quick_start.md @@ -13,7 +13,7 @@ Users can interact with pre-built models, make modifications, and visualize proc ## How to Log in to SpiffArena -```{image} ./images/Login.png +```{image} /images/Login.png :alt: Login Screen :class: bg-primary mb-1 :width: 230px @@ -39,7 +39,7 @@ In this section, we will navigate through the platform and provide a general ove Once you are signed in, you can start exploring the home page. The home page has three tab sections: **In Progress**, **Completed**, and **Start New**. -![Untitled](images/Untitled_2.png) +![Untitled](/images/Untitled_2.png) - The "In Progress" section provides an overview of all ongoing process instances, including those initiated by you, those awaiting your action, or those awaiting action from a team you are a member of (Optional). - The "Completed" section allows you to view all completed process instances, including those initiated by you, those initiated by other SpiffWorkflow users with tasks completed by you, and, if applicable, those with tasks completed by a group of which you are a member. @@ -55,7 +55,7 @@ Each instance has its own set of data and state that is updated as the instance If you are a member of a team, you may also have one or more instances with tasks waiting for [team name] lists as well. -![Untitled](images/Untitled_3.png) +![Untitled](/images/Untitled_3.png) ### Step 2: Explore the Processes section @@ -65,7 +65,7 @@ The process section provides a comprehensive view of the process ecosystem by sh A **process group** is a way of grouping a bunch of **process models**, and a **process model** contains all the files necessary to execute a specific process. ``` -![Untitled](images/Untitled_4.png) +![Untitled](/images/Untitled_4.png) ### Step 3: Explore the Process Instances section @@ -73,7 +73,7 @@ The Process Instance section provides a detailed view of individual process inst This section includes essential information such as the instance ID, process name, the individual who started the process, the end date, and the current status. -![Untitled](images/Untitled_5.png) +![Untitled](/images/Untitled_5.png) When getting started with SpiffWorkflow, it's essential to take the time to explore and familiarize yourself with the platform's interface and features. Feel free to ask questions about the platform's features or how to get started. @@ -92,7 +92,7 @@ Once you're signed in, you'll see three tabs in the Home section: In progress, C If you want to start a new process, click the "Start New +" button. This will bring up the "Processes I can start" section. -![Untitled](images/Untitled_6.png) +![Untitled](/images/Untitled_6.png) ```{admonition} The Landing Page :class: info @@ -104,7 +104,7 @@ This will bring up the "Processes I can start" section. Next, you will see a list of available processes that you have permission to start. Choose the process you want to initiate and click β€œStart”. -![Untitled](images/Untitled_7.png) +![Untitled](/images/Untitled_7.png) You have successfully started a new process instance in SpiffWorkflow. @@ -130,11 +130,11 @@ There will be three types of instances shown: - **Waiting for me:** This section displays a list of process instances with tasks assigned to you and are currently waiting for you to respond to. - **Waiting for [team name]:** If you are a member of SpiffWorkflow, this section displays a list of process instances with tasks assigned to a group you are a member of and currently waiting for someone in that group to complete them. -![Untitled](images/Untitled_8.png) +![Untitled](/images/Untitled_8.png) In the case of new users who haven't started or been part of any process or been assigned to any team, you won't be able to see any items on the home page. -![Untitled](images/Untitled_9.png) +![Untitled](/images/Untitled_9.png) ### Step 2: Respond to the request @@ -143,7 +143,7 @@ Upon opening the process instance, you can respond to the request based on the r Depending on the task requirements, this may involve submitting additional information, reviewing the task, or any other action item. -![Untitled](images/Untitled_10.png) +![Untitled](/images/Untitled_10.png) That's it! With these simple steps, you can efficiently review tasks in SpiffWorkflow. @@ -165,11 +165,11 @@ There are two ways of finding your process instances. Option 1: Once you're signed in, navigate to the home section. Here you will find a list of all the process instances you've initiated. -![Untitled](images/Untitled_11.png) +![Untitled](/images/Untitled_11.png) Option 2: You can also view the processes you have initiated in the **"Process Instances"** section. -![Untitled](images/Untitled_12.png) +![Untitled](/images/Untitled_12.png) ### Step 2: Select the process instance you want to view @@ -179,7 +179,7 @@ Navigate to the BPMN diagram section. Here you can see the current task highlighted in **yellow**. The grey represents the path which was taken by the current process steps. -![Untitled](images/Untitled_13.png) +![Untitled](/images/Untitled_13.png) By following these steps, you can easily view the steps of the process you initiated and keep track of progress. @@ -197,7 +197,7 @@ To check the metadata of a process instance, follow these steps. Once you're signed in, navigate to the home section. Here you will find a list of all the process instances you've initiated under **β€œStarted by me”**. -![Untitled](images/Untitled_14.png) +![Untitled](/images/Untitled_14.png) ### Step 2: View metadata for the selected process instance @@ -205,7 +205,7 @@ Click on the process instance you want to view. Upon clicking this, you will be able to view the information about the given instance. You'll find the metadata under the details option in the process instance. -![Untitled](images/Untitled_15.png) +![Untitled](/images/Untitled_15.png) By following these simple steps, you can easily view the metadata for a process instance in SpiffWorkflow. @@ -222,32 +222,32 @@ With these steps, you'll be able to access process models easily and efficiently Once you have successfully signed in, navigate to the process section. This section allows you to access all the process groups and process models you have access to. -![Untitled](images/Untitled_16.png) +![Untitled](/images/Untitled_16.png) ### Step 2: Find and click on the process You can either search for a process model using the search bar or navigate through displayed processes to find the process model. -![Untitled](images/View_Forms1.png) +![Untitled](/images/View_Forms1.png) ### Step 3: Access the process model files Once you have clicked on the process you want to view, a list of the model files that are associated with the process will appear. -![Untitled](images/View_Forms3.png) +![Untitled](/images/View_Forms3.png) By following these simple steps, you can easily view process model files in SpiffWorkflow. If you want to view or create information on specific process models, we allow you to create an about section. -![Untitled](images/View_Forms2.png) +![Untitled](/images/View_Forms2.png) If you are creating a model, you can add information in the about section. We have integrated Markdown support, enabling you to create rich, formatted descriptions for your process models directly within the platform. In order to use this feature, simply create a **README File** inside the process model called README.md and document the model, so everyone can be on the same page. Furthermore, to check the process instances you started, you can also switch to the "My process instance" tab. -![View forms](images/View_Forms4.png) +![View forms](/images/View_Forms4.png) --- @@ -263,13 +263,13 @@ Here are the steps to view and filter process instances in SpiffWorkflow. Once you are signed in, navigate to the "Process Instances" section. Within the "Process Instances" section, you'll see a list of all the instances for the processes you can access. -![Untitled](images/Untitled_19.png) +![Untitled](/images/Untitled_19.png) If you are on a home page, you can navigate to the table you wish to filter. Look for the black funnel icon in the top right-hand corner above the table and click on the icon. By clicking on the filter icon, you'll be taken to a full-screen process view. -![Filter Icon](images/Filter_icon.png) +![Filter Icon](/images/Filter_icon.png) ### Step 2: Click on Filter option @@ -278,44 +278,44 @@ This will expand the filter section where you will be able to provide details ab This allows you to enter various details, including the process model, start date, end date, and time. To refine your search, you can enter multiple filter parameters. -![Untitled](images/Untitled_20.png) +![Untitled](/images/Untitled_20.png) ### Step 3: Apply Filters Once you have entered all the relevant filter details, click on the "**Apply**" button to apply the filters. The system will then display all the process instances matching the input details. -![Untitled](images/Untitled_21.png) +![Untitled](/images/Untitled_21.png) To filter process instances by **process-defined metadata**, follow these steps: - Search for the specific **process** you want to filter and click on the column option to select metadata options. -![Untitled](images/Untitled_22.png) +![Untitled](/images/Untitled_22.png) - The metadata fields will be displayed in the dropdown. Select the field you want to display and click on "**Save**" to apply the changes. -![Untitled](images/Untitled_23.png) +![Untitled](/images/Untitled_23.png) - After saving the details, the newly created column will be displayed. Finally, click on the β€œ**Apply**” button to reflect the changes. -![Untitled](images/Untitled_24.png) +![Untitled](/images/Untitled_24.png) ### (Optional) Step 4: Save Perspectives If you wish to save the perspectives, click on the "**Save**" button. -![Untitled](images/Untitled_25.png) +![Untitled](/images/Untitled_25.png) A prompt will appear, allowing you to provide a name for the identifier associated with the saved filter. Enter a descriptive name for the filter identifier and β€œ**Save**” changes. Now you can search for specific processes using Process Instance Perspectives. -![Untitled](images/Untitled_26.png) +![Untitled](/images/Untitled_26.png) -![Untitled](images/Untitled_27.png) +![Untitled](/images/Untitled_27.png) ### (Optional) Step 5: Filter by ID -![Untitled](images/Untitled_28.png) +![Untitled](/images/Untitled_28.png) If you want to filter by ID, go to the "Find by Id" section of the page. Enter the ID and click "Submit". @@ -336,28 +336,28 @@ Here are the colors used in BPMN Process: - **Meaning:** The task is completed. - **Implication:** Tasks or activities associated with this process have been successfully completed, and no further action is required. -![Colors](images/Grey_color.png) +![Colors](/images/Grey_color.png) 2. **Yellow Color:** - **Meaning:** The process instance has started and is currently in progress. - **Implication:** This color signifies that the task is active and ongoing. It may require monitoring or further inputs to proceed. -![Colors](images/Yellow.png) +![Colors](/images/Yellow.png) 3. **Red/Pink Color:** - **Meaning:** Indicates errors in the task. - **Implication:** There might be issues or obstacles preventing the task from proceeding as expected. Immediate attention and troubleshooting may be required. -![Colors](images/Red.png) +![Colors](/images/Red.png) 4. **Purple Color:** - **Meaning:** The activity has been canceled. - **Implication:** This task was intentionally stopped before completion. This could be due to time constraints, external triggers, or other predefined conditions that have been set as boundary events. -![Colors](images/Purple.png) +![Colors](/images/Purple.png) --- ## How to Check Milestones and Events @@ -367,7 +367,7 @@ Here are the colors used in BPMN Process: A milestone is a specific point in a process that signifies a significant event or state. It provides a high-level overview of the progress made in the process. -![Milestones](images/Milestone_Screenshot.png) +![Milestones](/images/Milestone_Screenshot.png) In BPMN, if you draw an intermediate event and do not specify its type (like message, signal, start, or end) but give it a name, it becomes a milestone. Essentially, a milestone is an event that hasn't been set to something specific. @@ -377,7 +377,7 @@ Essentially, a milestone is an event that hasn't been set to something specific. Events provide a detailed log of everything that happens in a process. They record every task and its execution time. -![Events](images/Events_Example.png) +![Events](/images/Events_Example.png) The events tab provides a detailed log of all the tasks and their execution times. It can be noisy due to the granularity of the information, but it's essential for understanding the intricacies of the process. @@ -397,7 +397,7 @@ This communication can take various forms: To explain the concept, we are using a relatable example involving two processes: the Waiter and the Chef. **Waiter Process**: -![Waiter Process](images/waiter.png) +![Waiter Process](/images/waiter.png) 1. The waiter takes an order. 2. This order is then communicated to the chef via a message. @@ -405,7 +405,7 @@ To explain the concept, we are using a relatable example involving two processes **Chef Process**: -![Chef Process](images/chef.png) +![Chef Process](/images/chef.png) 1. The chef starts by receiving the order message from the waiter. 2. After preparing the meal, the chef sends a message back to the waiter, signaling that the order is ready. @@ -421,7 +421,7 @@ The chef's process starts by listening for the order message, preparing the meal One of the complexities in BPMN messaging is ensuring that the right processes are communicating with each other, especially when multiple instances are running. This is achieved using correlation keys and properties. -![correlation](images/Corelation.png) +![correlation](/images/Corelation.png) - **Correlation Keys**: These represent the topic of the conversation. In the given example, the correlation key is the "order". @@ -448,7 +448,7 @@ To copy the short link: - **Access the Process Instance**: Open the process instance that you wish to share. - **Find the Short Link Icon**: Look for the link icon near the process instance heading and click on the link icon to copy the short link to your clipboard automatically. Please refer to the screenshot provided. -![Short Link](images/Short_link.png) +![Short Link](/images/Short_link.png) Now, you can paste the short link into your desired communication medium to share it with others. @@ -462,12 +462,12 @@ To access and review completed user forms within a specific process model, follo 2. **Examine Completed Forms**: - **Forms You Completed**: In this section, you can view the forms that you have completed. It allows you to see the specific details and inputs you provided in each task. - ![Completed by me](images/Completed_by_me.png) + ![Completed by me](/images/Completed_by_me.png) - **Forms Completed by Others**: This part shows all the forms completed by any user. You can see who completed each form and the last time it was updated. However, for privacy and security reasons, you won't be able to view the specific input details of forms completed by others. - ![Completed by others](images/Completed_by_others.png) + ![Completed by others](/images/Completed_by_others.png) This approach ensures you can monitor and review the progress of user forms within any process model while maintaining the confidentiality of inputs made by other users. @@ -483,11 +483,11 @@ This guide provides a step-by-step approach to access and understand the task in 2. **Access the Process Instance**: After running the process, navigate to the specific process instance within the SpiffWorkflow interface. This is where you can track the progress of the tasks. -![Access process instance](images/Access_Process_Instance.png) +![Access process instance](/images/Access_Process_Instance.png) 3. **View Task Details**: Click on the executed task or event that has been completed. For instance, in this example, we clicked on "user task". -![Access task instance](images/Task_instance.png) +![Access task instance](/images/Task_instance.png) You will be presented with detailed information about each task instance, including its status and execution timestamp. @@ -495,7 +495,7 @@ For example: - `2: 04-01-2024 19:58:11 - MAYBE` - `3: 04-01-2024 19:58:10 - COMPLETED` - `4: 04-01-2024 19:58:07 - COMPLETED` -![Access task instance](images/task_instance_history.png) +![Access task instance](/images/task_instance_history.png) - **COMPLETED Status**: Tasks marked as 'COMPLETED' have finished their execution successfully and have moved the workflow forward. - **MAYBE Status**: Indicates that the task still exists within SpiffWorkflow. diff --git a/docs/conf.py b/docs/conf.py index aced38ac5..10c646de3 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -22,7 +22,10 @@ myst_fence_as_directive = ["mermaid"] myst_heading_anchors = 2 -tags_create_tags = True +# tags are sort of annoying and buggy, given that the individual tag show pages are broken when clicked from leaf node pages +# and they are required to be in the top-level toctree, which forces the side nav to highlight the current page twice, once +# where it belongs and once in the tags section. +# tags_create_tags = True tags_extension = ["md"] templates_path = ["_templates"] diff --git a/docs/documentation/images/commit.webp b/docs/documentation/images/commit.webp deleted file mode 100644 index 203437683f63c1c8041734240fa0cb88367359ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10656 zcmb7}Q;;UimbKrq(Pg8{wyVpwZQHi1%eHOXwr$(C=9@Wl{+O7#`k#x;+&6i#V(k@? zI~Bx5L{cdL099cDITbl}g2;c)a$rDNK$HMb2_T*ym8)S z?={yuZ9a`|KbK?*ys6%!UpFs5yu8al;de2I=&wGx-AzBbUmIg|#%@5L4evjfIgvLD zKGk2b&p;0_-OK*n(mkg>oA2iDA3rIrEteQ{J*zogEoT+{VtKC6pJ*30wOo#h*!=@d z%KwGr@6}`~?Cv1B#<1=^7bZkMFs?zIlubHQClT5uWr)oCXtk`ZtzVHSAKNYL(p2Vk z1Jv>@o$V^{6CvO#S6WU-foM2VN}v2KQMGlF)Yx*+Wto-9K!dS$f~^_g05LlUm30mwpxy2IKZ+cNZ9Sz{$~KK6DJZ-~J6`$nzH7^U~% zNr7ibcOtMQLYZe)lwQVO_r+uA0*1i|DVfkwVzRTJjCR`_k4N(rb+tX^IEi!JwFry{ z1G{XSN0G$Gx`2tsqA%kDq*H58x*bs|b?Ot3Tgx#Nos`KJA_g62Z)l7>ysuzrgx%i3 zkWJ>8sEUEBqobqcVEP&Unl3=U+{sCqIv_3H`c|`ZQ~K}{=t}IhW@x+8!lA7woT{}a zE9XL(7X5C7S)IIHszs#83HS4WkQ6E05;NGn!VE$--iQXJ5zld)!@%{w5PzKcCODGh zWQDr$hS)SPO$=1jG$D-sn4-~k#NGgJ?PXX@9Apz?&OV^!ls7=x`5E||PCRY%G;r>S zU`$iHX;ZtBH)~s0zfQ;o%YeoeT9hrX^$pt%`|^rohZ1!AN`A z8wu#JbpZk@iR$CLEmV*?BJUL=i2MfO#dI=9zx&@8*LS91)6wxVy^P_xWmk?mmQf>(ND(GstH_IRw}dXSq^)@@2iuy1rzKxYsOf`!@0o zI4zZ}`upakmqh)vSAg24NQ7!(HC~XQBm8UDnu6pcL2iO|E%?M%t|ZAm3SiIoj2(0ik6?Kq>L2XF=$4DL$YO7M+Y?ubNR8nuhz7Vo0bI94S2Vn z5<1Uxg1@rRLCNKpp8rs#0!7HsDu7hiO5l58w&rT!p`8!ZMG~$3xK`@aN315|_`Wb0 zzlYb`s+cHgAfwqI+`zfI@WU1GP}6!-@Bfe1q7aWMbwiY``We$OM$0gedlW|an$)m& zh~@p)RTHKl3Z9f->}RRFNOt`JJ<<*bs+{f$Q1b58f3xVEiBN-4ePH&`u-O><3w|=o z%2iQ*>Wq@v*@|;o(AUfV4+rpSy~l+J+npLTA5OM)0M|29GhlC&Mc9XMeEwd&E$ucL zE%NRqCO4k~E7CVAnYjF=Gpc2i|HhO7e6nJ&Z6@jCN{wKXu2iS^V@n-Vz8ukiYROKR8(C-mfxiINEnJF?fm0xnrD_aXa# z>D!9|0DOzJ?oIw3IWg5Ec|zYDJ{C~fU|GBoe@kcW`TSn;{M;R%oR*b&O?P;~cE@)Nqy(~TsQHkRrg-=y_}A(;;eN!S0}k8Fc8gA4N4&W?LSgst&}e;jIH`9oCh!JrDc#T}!$K0<~rGKsQ5=te<3lqT(5yuPMet zZ23v3r2R#{1`Sd&R)OKK)hmfd?1xtG1pXtI=LtRP{4(eEUmRTl2Y;700rb#W{~{^B zbbca_uonukV@6Q_pnJ{_5Gz_c-D#L+9)>2x)XoV{oiaQt_@oC`nOY@3$o4&e0%TDh zv9FlY1SUJcX`OV8fa5XuH{N8;8mNUxmyN^fwljUe z%Pj3JesrG%8LzCi>x_*D z{W$In)Khv0sdHL?-fFIv-y=I+-mqQMxCnv$(gJ2ofe4|+E8#5Yd%{RB6aMJF8H{*W ze})9cJqH%t%GnftRZ47#<<#2kz8tB-<5?xMxn&(j_y863$V}U#u<)1%F~fZ@$%ZDQ zt}iPD{;Rgsw$JK14bQaj_*)4d(x^bW6>%sobT4p|HzRI)hLY}}5*R!Fi(Wru3WaJU z^JeApjYReB99LLZMfDNCjHz}bv8Q;={A1Uw?)Dq=0E$aOR&o<40d1W*d?&?9$yuWn zJX-`5lp@`HV5WsVm?;)5uYhe@o@KyZr?%Gv@#Y&0OZs<or3h%ferb$VnE; zLXivY#@%FAZ;S0L{>|cP82hbXZEFpL&_+{RlAUpbJ?1*){7BELacO!F7g#B}M zc=~pIq;ibE889anwIi!}Rzf{Z^p)(=>fe!A(W=-?aGhLV7g393&U8XgWzeoR)n6n3 z@P{<}*Jr}`P8>8CCa(#)7GzC~W?L>{&AW4{ewNb~x}vq&7n}^EPZ?sHzmOlMFmYx)S9XypLT$?Ru0Ok;tWml6Kt@BH&a`tew>Je%5 z=Jh3|Q`Qy8>Tb zh}Oc(<)Y(o;ThKwEC+fpk6jfYqtXw8fiZ~C8-P`)01?P2=KEV`Fm6Ua)QZ9)odB$P z54;xK`z8)L36_J-MqE3}pTicq(Iwxm1zP-o{>6a8$W-}2W(LAz9Q4lLHoDTtWbaka z6+l_KbScE<^>))FjD5mrfntg&6RMpNyug3AGH`5=qO+sdGao%0Tn8``8qm@rARUOQ z*;dLo;P|ja^J~pxG2(`79wbF8{cY&=e$tm3~dK3`a0X4wAl*+kO!|XV zVs2*XwaCT>AjZ9x9}|O6s!4r^WNdCOFc2UeL2sij=WgR-C`ktK?gBu6i223%gWc^4 zT@`e&O&OVT$jh?*RTHH!^mbhXL!j`VbD~Ul=ruwUk&z523I0CqxY7Q3#(3v43*SdJ z5sIa$xE^KM=}y;!wv=La1yX(vE{^gKtqqH15BC?N;pG6wdg4-PVwa}RWpPRLF~an)0+KmFEsHa0j!E5)gy zS2O~$efh#UTTO9x8@psPVNqdi7yBcVpRr#OThC+}Y{j2?yOd3~ev&5Oc#>-YNs_+? zlM}PM`83~Ko@~!|mU=3DRlcjf{$18dE~Qk^spwQF1}O@w_PNUH8f5%*ldvAs_`(ib zN^>RnRj@Wfx6m*#KRy^6l36lmW=Rs;k-B7k+QzZ>Z+ku3*!Oll?_=TVe#;GXgK}9 zQD?p*LvO&{`5zTcxea|ZYg!gf30tT&y_5vWCQEx&RrI+QB0bJ)4d?~_wobd<F4Eni4yw(D#GtT)zasL{ImvMR z%EHA&fhu5gKQf)SdFP!@GcHCmX7JUwz$N}m|N3SQV7{>PT3k>H&h z1Xk8wC4u`S{M*$*t|bff-k-!Z<0ze?a$`?|sE=Q=LckQqj zgN34y0|E0698~4#kYis7^&O|L^s|s#5_+XnMkXbZnEI3Ek~j)9@?Y)xp65&y{rlzK zT&BA(d&8%+u}_i5as}GPACzeR2$yakby^+mlXj3W>~l@G7T0Rb9~fk$bzV>F`V-{# zd+9Zyw256Nu9*~(TF~BKHh|i8FdO=y%yxdiU zHg?W{`Ayne@X$QZ=PL3Zc}DMWpzv!X(#T!YMEH)tofT40$L9*dcp4oKL&L|T1PJ&A zZjV(xsFd{UmcDp{J6_^i_t$ICzM6dYSqM_d8Oz?T!h;2lc@oi$KD=|Q-f`9SCyloq zDe!gWaHk!)Kk_?~-9daeHd&6z@iELR6#qTU+4S{TuT=Zx%RE(`c#=>-EtoZ6wBl?C zDa*@hZCpFq7f1S@LUjD__^P-6gK2i&FZ_CT3nS>8f)3et)X5MAvL$?H2Y=7G7N6d_ z(`3zn`28!*k7$CjCq*m zp0VVSbimX!$b8axiD3M|*2tM09_6ophf6r*%^Xz$ZyGAV(&j0|qRdLkrA~2JRWQYi z+Tm^IvOhw1b7sy!NZCIJC@`6RQ^8@)h}AA>miYgXm#SPZpD5*GDCHV{H4SADtl zXS8>V0vRDSdvH1eiG{W38NQ5-R$?vUio}eGFA(dlK{SIco$1=krFBFgk3&D*VX@;G z37a~`3t)$oraLACG3LhbAOkT%m%%K<$_BA=$DvKuqF_M z#tmk1SQUrEyW^zfQHhm_tL-D=nxDezaQwRLRZXX9OYoV)_UR5FY#v0i!1#p~K|M;a z71OP_wog2Jjy&C#++9H&5X%;d12nRUiAvGS1fQAxdf@!O8!BEa+v=YQu&xq*TJPA+ zP4Y-BYYdfWD*h1UrxvGvI*qos%@T)cahc5Gte1L;{bc6-p@6ASR07)6>-;J=H<>k+ z$XbeZV}koi7}$VT=V=n`L&L%%N1-_RQb7Dgjl~=R2 z6F;HpS8v(zi3C&^Ye9tCxNqa$yB~j7ih~n+3wjJ>!qnXBpJ-MCfwRMWe+{~j4xFwz zKYt+|uR~b6w7BJZ8W6wrYJDeb_%K>KatVS zgb^;M=sJQSQqgqSZvCQ@1Dw`CRF+QZR=%a;%x&60j+69m_^QCAFDY_W#r;a`3A$2s zSrg-&#)>|l;v1Dnai(Y3rNEFZpVKetpG(Cf zj#fLoY9eg<`1s)epAh0FK;?slnNTtad!D3>K(H_% zYd^#Ee$6uNc|{Sy&`C?q@I4Nl>0zFf$33JN#r>j7&X+5wH?!_jagdfK{=cY{mpv_>ZYD3;lRKEt4B*1w|u1;mDmLb zQ&Ecx`Q_%R{YOx(Vnzc5&c;;{SII> zlnRE&r32ppPd;Ely`A>~H~e_U!fc$p;cp&+94k+UiAhYYv{=Fo-CusL?QkJ%$^k?g z7tb$toN_?@+^7?5>>U*o-5Q`zKi%Q)cD4{3;jl(yTdij z8Yt>1=$?=flEUr7EH8EP_AEkl$XVqV)_y2!Gwq&;p0x4`jWkTPsZ2EfMgqq|V9kQ%UijFacw5vwbw65K`{Ki6vN-}(aHc{= z+zId4=gJ=-T&+kIC#4D2%*Cns)(Wg=3MayTg(1rbfNQaBp+Rk!x8d@cShe^d@!cV8 zLdh?vwq;eyg}eEglNW*fR9fQv(?m^*uMI?lr7X{of;ILc;$mR3_6PQljiw8Vf}7c0 zrv*#9T~_M|s|7li-{Ybfe^O6x>hM@JP}SpIaJ@^QQ^pO((~v3R^gGjFL$r*FWdhtq z5uY=B^j;Z?fT+-S=bb$BdH_lcj)Reto7|*^KJKl~g_tMeJ=AL0)&-#x{mP^bJ`p3!jdM;?V_1oYe2{zs3zBJa5Ysn_n|#s!>bSn7MdX zId9$R)WD5&4`r>G8wEP-_Ixf{6>CoU8ksP8ESQLzU20%RTob-Cuf%X8iJk2dlUP z7N@#dM#0~Qp~jff3cS(QD!T$ZiX-F3Z|I z(va-UL*Y;{gd|kIxh-`P6JNmaDspIeoCL1u;2NBp>@$sb8<8tBcK6b>?LAmWp&#h{ zTLscscrg|iNJ|btd>|M=4$A|;*6>9)36+n|7*B|Zc}Zu@Xhy!Vg+K$n9PmISF*c0| zujZk!#CGDfEV3+i{uriPThxj5w_Z*&9i0+#nww%ML$ApECP_OpP(UADlADIR#;#9T z#EoW1tpIS{P_1!iy`!pYUMe4C$x#$DI}Dr4pzOtTgl-_xkBmUk(6X{^5k5nOY~Mbe zE|KSb3yZy+3-J*3Yh7>#j5MRJv6vX6OHz_!s z#iia%&h=PTWSdJQI_lIKbnTHbKDy<)#oweTQ*pwlbsvLG*i7P>IM*a*S499$bNGxUB`uBC6ik|QDm{#LGj=V91R*SalFQXd~A|i zn6>!Vc>89`N=(7fKE*AwFI5c7@-mF7tGCyky6R2jFoGoFE6a}VMnn!jONp^G#s{rq z0YmTv_;k`>`$npw7ulWzct=+5Pz8QX$_-K+tj z4GB~Q?=I0U6{i&*FUjX#XDPMYJjmZ-au76 zIu)RewdNvN4&RBx4gdhI0e_(^7vXs^Sbd+}&gI|4aL0F#I4D={k ztkCvu3GX(yD!83m&6?;e3hfyYBJ)u8@BY+5>VdtX=VXw7$arNR1qy40ru%bfcEavY z_TeJ$4&T%%j#sd3@(#pWWN}ju?7EW28M?|cmX%_i@~%78|NP=G`;B`J1t-{dP&@!8 zgWA!Ob0c=E^uk6GXm-Hadxf1w(_xV;=c z_tb1$p$SvO&!-&94ptN3$3bus&DS4PF*;*K3$MV2%+J=rkq1FX%Lf42XehZgbnLnk zu&(+ff?^ld(vx6Zc~r7sB2j^T0{eYD9W&%s)ua2jv#1f^8j(EBbmrjA`Ku3~Iz)pT zyS4;KP}m?4blZBDo5jij8t8)1m^t%-B-%%v$NSws+((=m|6AOG04Aju--hodln43; zb-MTq_Vp`}zRSB?M=41t)y6<*r_I#%g6FIw`)Td&8O3RZ?>kxxUeSvlTV1BJ7b%(Y zUE@ll{(D4(Ct+U3;upM?!D@nABsos2&w#NY6%gJ!V*830!$k#+Mz~^+Svka>kTdo}PU=8ynXx%VexuJ*ph**ua zb*yc5c~$wr92ea5gAO<_k zNNbdkpN*|8&%AwMFP^Cbx`d{W(uChpMFGFiga0^Td#vi*_+1930ko?0QH0kr2IL@g zZdw)G=xP9cZoHF7A7En$p5|o?R$%MExuZ)PbL#>J4w6k3! z{M%)9?2WU{`c$uo&(K6){lYn6b)Qb-K4z?Yp+~a&)2JS=tkUvQ&z*G6yLNh;8ccYhr1sv{E5+O-;`AkJghXtJ{j*5NXqe)c>t0|@|` zeA5fVH`+Ke+NsSfXpydIW?IwqFtuFj%?f}hgkP}d*^E%W@k65qY%eg5eKp6LOgzE( zM7Lt-a$@pBK(r;|Qrw+e`76ViT=3WGR;EbYYTq^UWlBCb}?O5T|2kZTb&vnAyZ9wW*VB?mbjkunkJpX z40*>r%-Jtjp8%zjA7fI_+%)VBqC1agBp&ui6sAdQ5#HtKW zmY_7aeA8{Fnh#{i^rN!5%Q&?cSnyMsIqMM)p`>i=YW?Gx_CVxxggNIE>R7YA- z>m^%Hd}xVi;6Xfs>k0CiA!pK?Cl|6&Vvhf!Jki-CqV0O!wV1m z?G1HfU{>&osa3<8zGnXzuva)O9RJY;=>}KiMuB{5EVZXA@X&Mv+uMHD%74D9sGlXz z)U;Q5F}tO&w#aw`r9J%MrQ*%#F=xrImm_-%dITbp7lzg_Bt(?iV(NMbb215QpWHwc zMZe(zxo`R=J1j1VlnKU13D0Lb!J#6OeLW%cGWe4TFAKSndOzc{ga<65DqYIcD@+a%?mf;h)O7|lXKm;$f zY!tfI`idX|I;=Az<&Ta>ga9& diff --git a/docs/appendices/articles.md b/docs/explanation/articles.md similarity index 98% rename from docs/appendices/articles.md rename to docs/explanation/articles.md index f71b0bce8..86bd9c63d 100644 --- a/docs/appendices/articles.md +++ b/docs/explanation/articles.md @@ -1,4 +1,4 @@ -# Articles ![data_input](images/articles.png) +# Articles ![data_input](/images/articles.png) **[#1 - Build your own Low-Code Business Applications with SpiffWorkflow](https://medium.com/@danfunk/build-your-own-low-code-business-applications-with-spiffworkflow-1d0730acc1f3)** diff --git a/docs/dev/backend.md b/docs/explanation/dev/backend.md similarity index 100% rename from docs/dev/backend.md rename to docs/explanation/dev/backend.md diff --git a/docs/dev/connector_proxy.md b/docs/explanation/dev/connector_proxy.md similarity index 94% rename from docs/dev/connector_proxy.md rename to docs/explanation/dev/connector_proxy.md index 341943c85..1c91d4b29 100644 --- a/docs/dev/connector_proxy.md +++ b/docs/explanation/dev/connector_proxy.md @@ -28,7 +28,8 @@ graph TD Connector proxies are containers for connectors. Connectors are usually Python libraries that are included in connector proxy codebases, but they can also be embedded directly inside of connector proxies. Our connector-proxy-demo includes a few connectors, including [connector-aws](https://github.com/sartography/connector-aws) and [connector-http](https://github.com/sartography/connector-http). -Connector-http can be used for many API interactions, but you can also [write your own connectors](/dev/how_to_build_a_connector). +Connector-http can be used for many API interactions, but you can also [write your own connectors](how_to_build_a_connector). ```{tags} how_to_guide, dev_docs + ``` diff --git a/docs/dev/extensions.md b/docs/explanation/dev/extensions.md similarity index 94% rename from docs/dev/extensions.md rename to docs/explanation/dev/extensions.md index cabe59df6..5361d9d0a 100644 --- a/docs/dev/extensions.md +++ b/docs/explanation/dev/extensions.md @@ -1,4 +1,5 @@ # Extensions + Extensions in SpiffArena provide a mechanism to augment the software with custom features and functionalities. By leveraging extensions, users can implement functions or features not present in the standard offering. This powerful feature ensures adaptability to various business needs, from custom reports to specific user tools. @@ -9,7 +10,7 @@ At a high level: - Configuration for an extension can be found and modified in its `extension_uischema.json` file. - Access to an extension can be set up via permissions. -![Extensions](images/Extensions_dashboard.png) +![Extensions](/images/Extensions_dashboard.png) ## Getting Started with Extensions @@ -29,11 +30,11 @@ To create your own custom extension, follow these steps: - Navigate to the process group repository where extensions are to be implemented. -![Extension Process Group](images/Extension1.png) +![Extension Process Group](/images/Extension1.png) - Create a process model in this group. You can give it whatever name you want. Then create a file inside the process model called `extension_uischema.json`. This will control how the extension will work. -![Extension](images/Extension_UI_schema.png) +![Extension](/images/Extension_UI_schema.png) As an example, we have created an extension that adds a link to the profile menu in the top right and also adds a new "Support" page to the app so that users of the application know who to talk to if they have issues. You can find the full example [on GitHub](https://github.com/sartography/sample-process-models/tree/sample-models-1/extensions/support). @@ -58,8 +59,9 @@ Here are some of the use cases already implemented by our users: - Rendering the output of these APIs using Jinja templates and markdown Extensions in SpiffArena offer a robust mechanism to tailor the software to unique business requirements. -When considering an extension, also consider whether the code would be more properly included in the core source code or as a connector inside your [connector proxy](/dev/connector_proxy.md). +When considering an extension, also consider whether the code would be more properly included in the core source code or as a connector inside your [connector proxy](connector_proxy). In cases where an extension is appropriate, by following the instructions in this guide, organizations can expand the system's functionality to meet their unique needs. ```{tags} how_to_guide, dev_docs + ``` diff --git a/docs/dev/frontend.md b/docs/explanation/dev/frontend.md similarity index 100% rename from docs/dev/frontend.md rename to docs/explanation/dev/frontend.md diff --git a/docs/dev/how_to_build_a_connector.md b/docs/explanation/dev/how_to_build_a_connector.md similarity index 100% rename from docs/dev/how_to_build_a_connector.md rename to docs/explanation/dev/how_to_build_a_connector.md diff --git a/docs/dev/index.md b/docs/explanation/dev/index.md similarity index 100% rename from docs/dev/index.md rename to docs/explanation/dev/index.md diff --git a/docs/dev/process.md b/docs/explanation/dev/process.md similarity index 100% rename from docs/dev/process.md rename to docs/explanation/dev/process.md diff --git a/docs/dev/setup.md b/docs/explanation/dev/setup.md similarity index 100% rename from docs/dev/setup.md rename to docs/explanation/dev/setup.md diff --git a/docs/explanation/index.md b/docs/explanation/index.md new file mode 100644 index 000000000..f2bfdda2e --- /dev/null +++ b/docs/explanation/index.md @@ -0,0 +1,27 @@ +# Explanation + +In this section, you will find explanations of key concepts and processes in SpiffWorkflow. + +```{toctree} +:maxdepth: 1 +articles.md +``` + +```{toctree} +:caption: Debugging Diagrams +:maxdepth: 1 +process_error_handling.md +``` + +```{toctree} +:caption: Technical Docs +:maxdepth: 1 +dev/index.md +dev/setup.md +dev/backend.md +dev/frontend.md +dev/connector_proxy.md +dev/how_to_build_a_connector.md +dev/extensions.md +dev/process.md +``` diff --git a/docs/Debugging_Diagrams/process_error_handling.md b/docs/explanation/process_error_handling.md similarity index 100% rename from docs/Debugging_Diagrams/process_error_handling.md rename to docs/explanation/process_error_handling.md diff --git a/docs/Building_Diagrams/bpmn.md b/docs/how_to_guides/building_diagrams/bpmn.md similarity index 93% rename from docs/Building_Diagrams/bpmn.md rename to docs/how_to_guides/building_diagrams/bpmn.md index 79ffb8b77..179152953 100644 --- a/docs/Building_Diagrams/bpmn.md +++ b/docs/how_to_guides/building_diagrams/bpmn.md @@ -6,7 +6,7 @@ Here are some helpful tips to guide you through the process and create effective **Understand BPMN Symbols:** Begin by thoroughly understanding the meaning and usage of each BPMN symbol. This will ensure that you use the symbols correctly to represent the various elements of your business process. -Refer to the [Learn Basics](../appendices/glossary.md) section to learn more about each symbol. +Refer to the [Learn Basics](/reference/glossary.md) section to learn more about each symbol. Grouping them together can create a mind map that's easy to remember. @@ -21,7 +21,7 @@ Represent your main process flow, also known as the "Happy Path," at the top in Then, depict alternative scenarios and exceptional cases leading to the bottom. This makes the process flow easier to comprehend. -![model_convention](images/model_convention.png) +![model_convention](/images/model_convention.png) **Choose Descriptive Names:** Use clear and human-readable names for activities, events, and gateways in your process. @@ -29,7 +29,7 @@ Utilize action verbs to represent activities effectively. Start the task name with an action-oriented verb that indicates what needs to be done in the task. For example, "Approve Request," "Review Documents," "Send Invoice," etc. -![naming_convention](images/naming_convention.png) +![naming_convention](/images/naming_convention.png) **Start with High-Level Overview:** Beginning with a high-level overview of the process provides a clear understanding of the overall flow and allows for the identification of major process components before delving into finer details. @@ -38,19 +38,19 @@ This approach enables the use of placeholders where you are unclear about what t It also facilitates the focus on specific sections, preventing feeling overwhelmed by the complexity of the entire process. This systematic approach to process modeling ensures that essential aspects are adequately captured while providing room for further refinement. -![high_level](images/high_level.png) +![high_level](/images/high_level.png) **Include Exception Handling:** Model not only the primary process flow 'Happy Path' but also the exception handling and error recovery paths. This makes the process model more robust and prepares stakeholders for potential challenges. -![out_of_stock](images/out_of_stock.png) +![out_of_stock](/images/out_of_stock.png) **Use Lanes for Roles and Responsibilities:** Utilize swimlanes (pools and lanes) to clearly define the roles and responsibilities when there are different departments or individuals involved in the process. This visual representation will help demonstrate the interactions and handoffs between role players, enhancing the understanding of their involvement throughout the process. -![lanes](images/lanes_1.png) +![lanes](/images/lanes_1.png) **Embrace Iterative Approach:** Creating a perfect model on the first attempt is unlikely. @@ -60,14 +60,14 @@ Understand that your process model is not static. It will evolve over time, and there will always be room for improvement. Stay open to finding better ways to represent the process as you gain more insights. -![version](images/version.png) +![version](/images/version.png) **Make Note of Assumptions and Possible Challenges:** During the modeling process, it is essential to clearly document any assumptions made, especially when you may not have complete knowledge of user behavior or real-life process dynamics. By documenting these assumptions, you provide context and ensure transparency when sharing the model with others. Remember to verify these assumptions during real-life testing to validate their accuracy and adjust the model accordingly. -![version](images/assumptions.png) +![version](/images/assumptions.png) **Example:** Initially, we assumed that every customer going to checkout would complete their payment. @@ -88,4 +88,5 @@ Additionally, utilize intermediate events, such as message events, signal events These events guide the process towards a conclusion and allow for the cancellation of instances from within the process or through external triggers. ```{tags} how_to_guide, building_diagrams + ``` diff --git a/docs/Debugging_Diagrams/bpmn_unit_tests.md b/docs/how_to_guides/building_diagrams/bpmn_unit_tests.md similarity index 100% rename from docs/Debugging_Diagrams/bpmn_unit_tests.md rename to docs/how_to_guides/building_diagrams/bpmn_unit_tests.md diff --git a/docs/Building_Diagrams/Builtin_examples.md b/docs/how_to_guides/building_diagrams/builtin_examples.md similarity index 97% rename from docs/Building_Diagrams/Builtin_examples.md rename to docs/how_to_guides/building_diagrams/builtin_examples.md index f2b6ca2bb..aa6652d09 100644 --- a/docs/Building_Diagrams/Builtin_examples.md +++ b/docs/how_to_guides/building_diagrams/builtin_examples.md @@ -170,21 +170,21 @@ Here are the four files in the process: **BPMN editor**: The BPMN editor is a primary file that runs the engine. In the Minimal Example, we learned that it allows you to visually design and represent business processes using the Business Process Model and Notation (BPMN) standard. -![image](images/BPMN_Editor.png) +![image](/images/BPMN_Editor.png) **DMN table**: A file that defines decision-making logic using the Decision Model and Notation (DMN) standard, enabling you to model complex decision rules and outcomes. -![Image](images/DMN_table.png) +![Image](/images/DMN_table.png) Here's what a DMN table looks like: -![Image](images/DMN_Properties_Table.png) +![Image](/images/DMN_Properties_Table.png) **JSON Schema**: A file that describes the structure, format, and validation rules for data in JSON format, ensuring data integrity and interoperability. -![Image](images/JSONSchema.png) +![Image](/images/JSONSchema.png) **UI Schema**: A file that defines the layout, structure, and behavior of user interfaces, facilitating the development of intuitive and interactive user experiences. -![Image](images/UI-Schema.png) +![Image](/images/UI-Schema.png) ### Process Workflow @@ -193,28 +193,28 @@ The process initiates with a start event, serving as the entry point for the wor Following the start event, a manual task named "Introduction" is incorporated, responsible for displaying a welcoming message to the user. -![](images/Manual_EM.png) +![](/images/Manual_EM.png) Next, a **User task** named "Display Questions" is added, facilitating the collection of information from real individuals through web forms. In the properties section, a JSON form is created to specify the questions for the users to respond to. -![](images/User_EM.png) +![](/images/User_EM.png) Once the user completes the form, the gathered data is passed on to a **script task** named "Modify Information", responsible for calculating the data score. The script for this calculation is embedded in the properties section. -![](images/Script_Em.png) +![](/images/Script_Em.png) As an alternative approach, the data score can also be determined using a **DMN table** named "Determine Score Message". Decision tables offer an effective means of defining business rules in an easily comprehensible format. The DMN table calculates the score based on predefined rules. -![](images/DMN_EM.png) +![](/images/DMN_EM.png) After the score calculation, an **exclusive gateway** is employed to make decisions based on the determined score. Three manual tasks are defined, each displaying a different message based on the obtained score: -![](images/Exclusive_Em.png) +![](/images/Exclusive_Em.png) a. **Worst Possible Response**: If the score indicates the worst possible response, a manual task displays a message stating that it is completely wrong. @@ -225,7 +225,7 @@ c. **Perfect Score**: If the score indicates a perfect score, a manual task disp Once the score messages are displayed, a **signal event** is included, providing users with the option to continue and conclude the process or choose to repeat the process from the beginning. Signal events enable external forces or internal errors to interact with the process, and in this scenario, a button press allows for the interruption of the diagram's normal course. -![](images/Signal_EM.png) +![](/images/Signal_EM.png) ```{tags} tutorial, building_diagrams ``` diff --git a/docs/Building_Diagrams/Displaying_Content.md b/docs/how_to_guides/building_diagrams/displaying_content.md similarity index 90% rename from docs/Building_Diagrams/Displaying_Content.md rename to docs/how_to_guides/building_diagrams/displaying_content.md index 9a7049743..67e7232df 100644 --- a/docs/Building_Diagrams/Displaying_Content.md +++ b/docs/how_to_guides/building_diagrams/displaying_content.md @@ -29,20 +29,20 @@ Now, let's explore the process workflow of the content display process model and ### Display Content Process Overview -![Image](images/Display_Content.png) +![Image](/images/Display_Content.png) Here is a summary of the process: 1. **Start Event and Introduction Manual Task** -![Image](images/Introduction_manual.png) +![Image](/images/Introduction_manual.png) The process begins with a Start Event, signaling the start of the workflow. It is followed by a Manual Task called "Introduction" that displays a welcome message or instructions for the users. The content to be displayed is specified in the task's properties panel. -![Image](images/Manual_instructions_panel.png) +![Image](/images/Manual_instructions_panel.png) 2. **User Task with Form** @@ -50,7 +50,7 @@ A User Task named "simple form" is included, allowing users to complete a form. The properties panel of the User Task contains a JSON form schema, defining the structure of the form. The instructions panel of the User Task guides users to fill out the form, indicating that the entered values will be shown in the subsequent Manual Task. -![Image](images/User_instructions.png) +![Image](/images/User_instructions.png) 3. **Script Tasks** @@ -59,26 +59,26 @@ Script Task 1 introduces a delay using the code "time.sleep(3)" and generates a Script Task 2 includes a delay with the code "time.sleep(1)" and focuses on making the colors more playful. Script Task 3 includes a delay with the code "time.sleep(2)" and aims to increase the silliness level. -![Image](images/Script_instructions.png) +![Image](/images/Script_instructions.png) 4. **Manual Task to Display Content** -![Image](images/Manual_instructions.png) +![Image](/images/Manual_instructions.png) A Manual Task will display content based on the collected data and script-generated information. The instructions panel of the Manual Task provides the content to be displayed, which includes the form data entered by the user. It also offers an optional Chuck Norris joke based on user preference and a table of silly color names generated using Jinja templating. -![Image](images/Manual_instructions_side_by_side.png) +![Image](/images/Manual_instructions_side_by_side.png) 5. **End Event** -![Image](images/End1.png) +![Image](/images/End1.png) The process concludes with an End Event, indicating the end of the workflow. The instructions panel of the End Event suggests next steps, such as exploring the diagram in edit mode and completing the "Request a Playground" task. -![Image](images/end_message.png) +![Image](/images/end_message.png) ```{tags} how_to_guide, building_diagrams ``` diff --git a/docs/Debugging_Diagrams/executable_non_executable.md b/docs/how_to_guides/building_diagrams/executable_non_executable.md similarity index 90% rename from docs/Debugging_Diagrams/executable_non_executable.md rename to docs/how_to_guides/building_diagrams/executable_non_executable.md index 760b7e7ef..1c45a3063 100644 --- a/docs/Debugging_Diagrams/executable_non_executable.md +++ b/docs/how_to_guides/building_diagrams/executable_non_executable.md @@ -9,20 +9,20 @@ In SpiffWorkflow, a process model can be either **Executable** or **Non-Executab 1. Open the BPMN editor in SpiffWorkflow. Select the process canvas or diagram header. Navigate to the **Properties Panel** on the right side. 2. Under the **General** section, uncheck the **Executable** checkbox. -![non-executable task](images/non_executable.png) +![non-executable task](/images/non_executable.png) 3. Save your changes. Go to the process model page and the Start Button will not appear, indicating that the process is non-executable. -![non-executable task](images/non_executable1.png) +![non-executable task](/images/non_executable1.png) ### **Executable Processes**: 1. Follow the same steps as above, but check the **Executable** checkbox. -![executable task](images/executable.png) +![executable task](/images/executable.png) 2. Save your changes. The Start Button will now appear when the model is opened. -![executable task](images/executable1.png) +![executable task](/images/executable1.png) diff --git a/docs/how_to_guides/building_diagrams/index.md b/docs/how_to_guides/building_diagrams/index.md new file mode 100644 index 000000000..891a30dd0 --- /dev/null +++ b/docs/how_to_guides/building_diagrams/index.md @@ -0,0 +1,7 @@ +# All Building Diagrams How-to Guides + +```{toctree} +:maxdepth: 1 +executable_non_executable +bpmn_unit_tests.md +``` diff --git a/docs/how_to_guides/building_diagrams/learn_basics.md b/docs/how_to_guides/building_diagrams/learn_basics.md new file mode 100644 index 000000000..c5fbdb208 --- /dev/null +++ b/docs/how_to_guides/building_diagrams/learn_basics.md @@ -0,0 +1,93 @@ +# Understanding the terminology + +## BPMN and SpiffWorkflow + +Business Process Model and Notation (BPMN) is a diagramming language for specifying business processes. +BPMN bridges the gap between business and IT, creating a shared process language for both parties. + +BPMN efficiently depicts the details of process behaviors in a diagram. +The precision of its meaning allows it to describe the technical details that control process execution in an automation engine. +SpiffWorkflow enables you to create code to execute a BPMN diagram directly. + +By using SpiffWorkflow, a client can create the BPMN diagram and have their product work without the need for you to modify the Python code, thus improving response and turnaround time. + +## Flow Objects + +Flow objects are divided into three groups: Events, Gateways, and Tasks. + +### Events + +Events, represented by circles, describe occurrences during a process. +There are three main types of events in business process modeling: start events, intermediate events, and end events. + +| **Event** | **Symbol**| **Description** | +|-----------|-----------|-----------------| +| Start Event |![Untitled](/images/Start.png) | Signals the first step of a process. | +| Intermediate Event | ![Untitled](/images/Intermediate.png) | Represents any event that occurs between a start and end event. | +| End Event | ![Untitled](/images/End.png) | Signals the final step in a process. | + +### Gateways + +Gateways represent decision points in a process. +Based on certain conditions or rules, they determine which path the process will follow. +There are various types of gateways: + +| **Gateway** | **Symbol**| **Description** | +|---------------|-----------|-----------------| +| Exclusive Gateway |![Untitled](/images/Exclusive.png) | Evaluates the state of the business process and, based on the condition, diverges the flow into one or more mutually exclusive paths. | +| Event-based Gateway | ![Untitled](/images/Eventbased.png) | An event-based gateway is similar to an exclusive gateway in that both involve one path in the flow. However, with an event-based gateway, you evaluate which event has occurred, not which condition has been met. | +| Inclusive Gateway | ![Untitled](/images/Inclusive.png) | An inclusive gateway diverges the process flow into one or more flows. | +| Complex Gateway | ![Untitled](/images/Complex.png) | Complex gateways are used only for the most intricate flows in the business process. They use words instead of symbols and thus require more descriptive text. | + +### Tasks + +Tasks represent activities or work that needs to be done as part of a process. +They can either be manual tasks that require human intervention or automated tasks that are performed by systems or applications. + +| **Task** | **Symbol** | **Description** | +|---------------|------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Service | ![Untitled](/images/Service_task.png) | A task that utilizes a Web service, an automated application, or other types of service to complete the task. | +| Send |![Untitled](/images/Send.png) | A task that sends a message to another pool. The task is completed once the message has been sent. | +| Receive | ![Untitled](/images/Receive.png) | A Receive Task indicates that the process has to wait for a message to arrive in order to continue. The task is completed once the message has been received. | +| User | ![Untitled](/images/User.png) | A User Task denotes that a human performer completes the task with the help of a software application. | +| Manual | ![Untitled](/images/Manual.png) | A Manual Task is a task performed without the aid of any business process execution engine or application. | +| Business Rule |![Untitled](/images/Businessrule.png)| A Business Rule Task provides a mechanism for a process to supply input to a Business Rules Engine and then obtain the output provided by the Business Rules Engine. | +| Script | ![Untitled](/images/Script.png) | A Script Task defines a script that the engine can interpret. | +| Call Activity | ![Untitled](/images/Callactivity.png) | A call activity allows you to call and invoke another process as part of this process. | +| Sub-Process | ![Untitled](/images/SubProcess.png) | Sub-processes allow you to collapse and expand tasks to convey information quickly. | + +## Connecting Objects + +Connecting objects are lines that connect BPMN flow objects. +Three different types exist: sequence flows, message flows, and associations. + +| **Connecting Objects** | **Symbol** | **Description** | +|---------------|------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Sequence Flow Symbol | ![Untitled](/images/BPMN_sequence_flow-80x31.png) | Connects flow objects in the proper sequential order. | +| Message Flow Symbol |![Untitled](/images/BPMN_message_flow-80x30.png) | Represents messages sent from one process participant to another. | +| Association Symbol | ![Untitled](/images/BPMN_association-80x31.png) | Illustrates relationships between artifacts and flow objects. | + +## Artifacts + +Artifacts are used to provide additional information or documentation within a process. +They include data objects (which represent information or data needed for the process), annotations (which provide explanatory or descriptive text), and groups (which are used to visually group related elements). + +| **Artifact** | **Symbol** | **Description** | +|---------------|------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Data Object |
![Untitled](/images/Data_Object.png) | Data objects can represent data input to the process, data resulting from the process, or data that needs to be collected. | +| Data Storage |![Untitled](/images/Data_Storage.png) | Data storage facilitates the storage or access of data associated with a business model. If your process produces any data, it will become necessary to store that data. | +| Group |
![Untitled](/images/Group.png) | Groups organize tasks or processes that are significant in the overall process. | +| Annotation |
![Untitled](/images/Annotation.png) | Annotations allow you to describe the business process and flow objects in greater detail. | + +## Swimlanes + +Swimlanes are used in a BPMN diagram to organize aspects of a process. +They visually group objects into lanes, with each aspect of the process added to a separate lane. + +These elements can be arranged either horizontally or vertically. +Not only do swimlanes organize activities into separate categories, but they also reveal delays, inefficiencies, and the individuals responsible for each step in a process. + +![Untitled](/images/BPMN_swimlane-500x197.png) + +```{tags} reference, building_diagrams +``` diff --git a/docs/Building_Diagrams/custom_process_metadata.md b/docs/how_to_guides/custom_process_metadata.md similarity index 100% rename from docs/Building_Diagrams/custom_process_metadata.md rename to docs/how_to_guides/custom_process_metadata.md diff --git a/docs/DevOps_installation_integration/admin_and_permissions.md b/docs/how_to_guides/deployment/admin_and_permissions.md similarity index 74% rename from docs/DevOps_installation_integration/admin_and_permissions.md rename to docs/how_to_guides/deployment/admin_and_permissions.md index f4d2141cc..94f72b078 100644 --- a/docs/DevOps_installation_integration/admin_and_permissions.md +++ b/docs/how_to_guides/deployment/admin_and_permissions.md @@ -34,11 +34,12 @@ This is just for documentation purposes and isn't used by the system. In this example, we are describing permissions for an "admin-type-user." There are three keys allowed under each permission: -* groups: lists the groups to which the permission applies (admin in this case) -* actions: lists the specific actions that are permitted for the group - * actions can be negated by prepending with "DENY:" -* uri: defines the target resource for these permissions - * /* indicates that the permissions apply to all resources within the system + +- groups: lists the groups to which the permission applies (admin in this case) +- actions: lists the specific actions that are permitted for the group + - actions can be negated by prepending with "DENY:" +- uri: defines the target resource for these permissions + - /\* indicates that the permissions apply to all resources within the system **Permissions allowed:** @@ -56,15 +57,15 @@ There are three keys allowed under each permission: To allow reading and updating, it would look like this: -```` +``` ["read", "update"] -```` +``` To allow reading and DISALLOW updating, it would look like this: -```` +``` ["read", "DENY:update"] -```` +``` ## Site Administration @@ -76,7 +77,7 @@ In such cases, you have the flexibility to define and tailor admin requirements From the main menu select 'Processes' and click on the 'Add a process group' button. -![add_a_process_group](images/add_a_process_group.png) +![add_a_process_group](/images/add_a_process_group.png) Complete the Process Groups form by entering the @@ -86,11 +87,11 @@ Complete the Process Groups form by entering the Once the required fields are filled, the form can be submitted. -![add_a_process_group](images/process_groups_tile.png) +![add_a_process_group](/images/process_groups_tile.png) The new Process Groups tile will be available under the Process Groups view. -![site_administration](images/site_administration.png) +![site_administration](/images/site_administration.png) ### Step 2: Add Process Model @@ -100,23 +101,23 @@ The new Process Groups tile will be available under the Process Groups view. - Description: Provide a brief description of the process model, outlining its purpose or functionality. - Notification Type: Specify the type of notification related to the process model. - Notification Addresses: Enter the addresses or destinations where notifications should be sent in the event that a process instance encounters an error. -You do not need to worry about setting these values unless you are interested in custom {ref}`process_error_handling`. + You do not need to worry about setting these values unless you are interested in custom {ref}`process_error_handling`. - Metadata Extraction Path: You can provide one or more metadata extractions to uplift data from your process instances to provide quick access in searches and perspectives. -Specify the key and path/location where metadata extraction should occur within the process model. -For example, if you have a script task that runs the statement `great_color = "blue"`, then you would set the extraction path to `great_color`. -You would probably also set the extraction key to `great_color`. -But if you wanted to, you could just call it `color`, assuming you wanted that to be the name used in reports, etc. + Specify the key and path/location where metadata extraction should occur within the process model. + For example, if you have a script task that runs the statement `great_color = "blue"`, then you would set the extraction path to `great_color`. + You would probably also set the extraction key to `great_color`. + But if you wanted to, you could just call it `color`, assuming you wanted that to be the name used in reports, etc. Make sure to accurately fill in all the required fields in the Process Model form to ensure proper configuration and functionality. -![add_process_model](images/add_process_model.png) +![add_process_model](/images/add_process_model.png) ### Step 3: Upload Workflows All the required workflows can be downloaded from [Github - set-permissions](https://github.com/sartography/sample-process-models/tree/sample-models-1/site-administration/set-permissions) Select to upload all downloaded files to the newly created Process model. -![add_file](images/add_file.png) +![add_file](/images/add_file.png) **Upload the following files:** @@ -124,15 +125,15 @@ Select to upload all downloaded files to the newly created Process model. - groups_permissions.dmn - users_to_groups.dmn -![upload_file](images/upload_file.png) +![upload_file](/images/upload_file.png) The Process Model view should now include all uploaded files. -![upload_file](images/admin_workflows.png) +![upload_file](/images/admin_workflows.png) ### Step 4: Understand the Process Models [Read more about DMN tables and how they work here. -](../Building_Diagrams/dmn.md) +](/reference/bpmn/dmn) #### Users to Groups @@ -146,22 +147,22 @@ Based on DMN functionality, leaving the "*" column empty means that all rules (' Read more about DMN tables to understand how the rules engine can be utilized for many different scenarios. ``` -![user_to_groups](images/user_to_groups.png) +![user_to_groups](/images/user_to_groups.png) #### Group Permission Now that the groups have been identified, their permissions can be set by adding the group name under the "permissions_group" column. - To determine a user's capabilities within the permissible scope, you can define specific permissions. -These permissions can be combined in a sequence if multiple apply to a particular rule. -For instance, ["read", "start"] indicates that the user can perform both reading and starting actions. -Alternatively, [All] can be employed to grant unrestricted access. + These permissions can be combined in a sequence if multiple apply to a particular rule. + For instance, ["read", "start"] indicates that the user can perform both reading and starting actions. + Alternatively, [All] can be employed to grant unrestricted access. - The hit policy is set to "Collect" which means that all conditions that are true will be applied. -[Read more about DMN tables and hit policies here.](../Building_Diagrams/dmn.md) + [Read more about DMN tables and hit policies here.](/reference/bpmn/dmn) - The permission URL can be configured to define the user's access privileges. -Our objective is to streamline the process by minimizing the necessity of being familiar with the complete set of permission URLs. -In most instances, utilizing BASIC and ELEVATED permissions, as well as PM/PG, should be sufficient. -However, it is also feasible to directly incorporate any API URL into the permissions. + Our objective is to streamline the process by minimizing the necessity of being familiar with the complete set of permission URLs. + In most instances, utilizing BASIC and ELEVATED permissions, as well as PM/PG, should be sufficient. + However, it is also feasible to directly incorporate any API URL into the permissions. In truth, what you are doing is writing an expression. In this case, it would read that if the variable 'permissions_group' type string is equal to 'permissions' variable of type string then set the 'permission_url' equal to the associated value. @@ -171,7 +172,7 @@ If you find coding more familiar and preferable to constructing DMN tables, you This similarity can help clarify or make it easier for you to understand the DMN table structure and its relation to the permission configuration. ``` -![group_permission](images/group_permission.png) +![group_permission](/images/group_permission.png) ### Step 5: Start Process @@ -179,4 +180,5 @@ To ensure that User Groups and Permissions take effect, it is necessary to run t Whenever changes are made to any of these diagrams, like adding a user group or permission, the process should be started and completed successfully in order for the changes to be applied. ```{tags} how_to_guide, dev_docs + ``` diff --git a/docs/DevOps_installation_integration/configure_connector_proxy.md b/docs/how_to_guides/deployment/configure_connector_proxy.md similarity index 100% rename from docs/DevOps_installation_integration/configure_connector_proxy.md rename to docs/how_to_guides/deployment/configure_connector_proxy.md diff --git a/docs/DevOps_installation_integration/deploy_aws_lambda.md b/docs/how_to_guides/deployment/deploy_aws_lambda.md similarity index 100% rename from docs/DevOps_installation_integration/deploy_aws_lambda.md rename to docs/how_to_guides/deployment/deploy_aws_lambda.md diff --git a/docs/DevOps_installation_integration/deployment.md b/docs/how_to_guides/deployment/deployment.md similarity index 100% rename from docs/DevOps_installation_integration/deployment.md rename to docs/how_to_guides/deployment/deployment.md diff --git a/docs/how_to_guides/deployment/index.md b/docs/how_to_guides/deployment/index.md new file mode 100644 index 000000000..7cf1896bd --- /dev/null +++ b/docs/how_to_guides/deployment/index.md @@ -0,0 +1,14 @@ +# Deployment How-to Guides + +```{toctree} +:maxdepth: 1 +deployment.md +secrets +admin_and_permissions +okta_config +path_based_routing.md +redis_celery_broker.md +deploy_aws_lambda.md +configure_connector_proxy +process_model_management.md +``` diff --git a/docs/DevOps_installation_integration/okta_config.md b/docs/how_to_guides/deployment/okta_config.md similarity index 99% rename from docs/DevOps_installation_integration/okta_config.md rename to docs/how_to_guides/deployment/okta_config.md index faa6a906a..8d1866757 100644 --- a/docs/DevOps_installation_integration/okta_config.md +++ b/docs/how_to_guides/deployment/okta_config.md @@ -70,7 +70,7 @@ Adjust the configuration to ensure group information is included in the OpenID C For one of our users, the following setup was used to pass group information to SpiffWorkflow: -![image](images/okta_config.png) +![image](/images/okta_config.png) - Environment variables included the OpenID details and group scope. diff --git a/docs/DevOps_installation_integration/path_based_routing.md b/docs/how_to_guides/deployment/path_based_routing.md similarity index 100% rename from docs/DevOps_installation_integration/path_based_routing.md rename to docs/how_to_guides/deployment/path_based_routing.md diff --git a/docs/DevOps_installation_integration/process_model_management.md b/docs/how_to_guides/deployment/process_model_management.md similarity index 100% rename from docs/DevOps_installation_integration/process_model_management.md rename to docs/how_to_guides/deployment/process_model_management.md diff --git a/docs/DevOps_installation_integration/redis_celery_broker.md b/docs/how_to_guides/deployment/redis_celery_broker.md similarity index 100% rename from docs/DevOps_installation_integration/redis_celery_broker.md rename to docs/how_to_guides/deployment/redis_celery_broker.md diff --git a/docs/DevOps_installation_integration/Secrets.md b/docs/how_to_guides/deployment/secrets.md similarity index 94% rename from docs/DevOps_installation_integration/Secrets.md rename to docs/how_to_guides/deployment/secrets.md index f3c9655ac..502d1d581 100644 --- a/docs/DevOps_installation_integration/Secrets.md +++ b/docs/how_to_guides/deployment/secrets.md @@ -25,10 +25,10 @@ Secrets are only used in service tasks. ### Adding a New Secret 1. **Navigate to the Configuration Section**: Go to the configuration section from the top panel and click on "Add a secret." Ensure you have admin access to SpiffArena. -![Configuration Section](images/Secrets_step_1.png) +![Configuration Section](/images/Secrets_step_1.png) 2. **Add New Secret**: Create a new secret by entering a key and its corresponding value. Once saved, the value will be encrypted. -![Secrets Section](images/Secrets_step_2.png) +![Secrets Section](/images/Secrets_step_2.png) ### Using Secrets in Service Tasks @@ -43,7 +43,7 @@ Secrets are only used in service tasks. ``` Here, `SPIFF_SECRET:github_oauth` will be replaced by the actual, unencrypted value from the database when the service task runs. -![Secrets Configuration](images/Secrets_configure_2.png) +![Secrets Configuration](/images/Secrets_configure_2.png) --- Configuring secrets in SpiffArena provides a secure way to handle sensitive information in your BPMN diagrams. diff --git a/docs/documentation/documentation.md b/docs/how_to_guides/documentation.md similarity index 95% rename from docs/documentation/documentation.md rename to docs/how_to_guides/documentation.md index a58445d45..3e9fdfe67 100644 --- a/docs/documentation/documentation.md +++ b/docs/how_to_guides/documentation.md @@ -28,7 +28,7 @@ Here are some [quick examples](https://commonmark.org/help/). And here is a great [10-minute tutorial](https://commonmark.org/help/tutorial/). This will cover a lot of the basics, like bolding text, italics, paragraphs, lists, and other common formatting techniques. -![Markdown screenshot](./images/markdown.png "Markdown example") +![Markdown screenshot](/images/markdown.png "Markdown example") ### MyST @@ -100,7 +100,7 @@ So let's open just that folder in VSCode. Now click on the two pieces of paper at the top corner of your screen, and you should see a project that looks like this without all the rest of the code in your way: -![Docs Directory](./images/docs_dir.png "Docs Directory") +![Docs Directory](/images/docs_dir.png "Docs Directory") ### Step 6: Add some extensions @@ -109,7 +109,7 @@ Now click on the two pieces of paper at the top corner of your screen, and you s - Click the "install" button. - Repeat, this time installing the "Python" extension for VSCode (from Microsoft) -![Myst Extension](./images/myst.png "Search for MyST in extensions") +![Myst Extension](/images/myst.png "Search for MyST in extensions") ### Step 7: Install Python Dependencies @@ -135,7 +135,7 @@ You can do that by following these steps: ### Step 10: Commit your changes and push them up for everyone -1. Select the "git" button on the left-hand side of the toolbar (circles with lines between them) ![Git button](./images/git.png "Git button") +1. Select the "git" button on the left-hand side of the toolbar (circles with lines between them) ![Git button](/images/git.png "Git button") 2. Press the blue "Commit" button. 3. Any changes you pushed up should be live on our website within 5 to 10 minutes. @@ -151,5 +151,11 @@ We may decide to check the documentation with a "linter" which is designed to ke One option is [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli), which uses David Anson's [NodeJS-based markdownlint](https://github.com/DavidAnson/markdownlint), which these days seems to be more popular than the [ruby-based markdownlint](https://github.com/markdownlint/markdownlint). A `.markdownlint.jsonc` file has been added that configures the same markdownlint program (basically to ignore the rule about long lines, since we are using ventilated prose). +## Doc Philosphy + +We try to use [DiΓ‘taxis](https://diataxis.fr/). +This is also highly related: https://docsfordevelopers.com/ + ```{tags} tutorial + ``` diff --git a/docs/how_to_guides/index.md b/docs/how_to_guides/index.md new file mode 100644 index 000000000..f7e99e3ef --- /dev/null +++ b/docs/how_to_guides/index.md @@ -0,0 +1,29 @@ +# How-to Guides + +**Step-by-step guides**: Covering key operations and common tasks. + +```{toctree} +:maxdepth: 1 +:caption: General How-to Guides +custom_process_metadata +documentation +manage_processes +welcome_messages +running_server_locally +``` + +```{toctree} +:maxdepth: 1 +:caption: Building Diagrams +building_diagrams/index.md +building_diagrams/learn_basics.md +building_diagrams/bpmn.md +building_diagrams/displaying_content.md +building_diagrams/builtin_examples.md +``` + +```{toctree} +:maxdepth: 1 +:caption: Deployment +deployment/index +``` diff --git a/docs/Support/manage_processes.md b/docs/how_to_guides/manage_processes.md similarity index 92% rename from docs/Support/manage_processes.md rename to docs/how_to_guides/manage_processes.md index 057e08cb1..be9a9b54b 100644 --- a/docs/Support/manage_processes.md +++ b/docs/how_to_guides/manage_processes.md @@ -22,7 +22,7 @@ If an instance is not active, it indicates that the process has already been com > **Step 2: Locate Suspend Icon** -![suspend](images/suspend.png) +![suspend](/images/suspend.png) - Next to the Process Instance Id, look for the icon that resembles the 'Suspend' icon and select it to initiate the suspension of the process instance. @@ -33,12 +33,12 @@ This action will pause the process instance, granting you the ability to make ed When ready, the process instance can be resumed. The process instance remains highlighted in yellow. -![suspend](images/active_process_instance.png) +![suspend](/images/active_process_instance.png) | βœ… Success | | :---------------------------------------------------------------: | | Confirm that the status has changed from β€˜waiting’ to β€˜suspended’ | -| ![suspended](images/suspended.png) | +| ![suspended](/images/suspended.png) | ## Resume a Process Instance @@ -46,7 +46,7 @@ Resuming a process is essential for ensuring that the process can continue its e > **Step 1: Locate Resume Icon** -![resume](images/resume.png) +![resume](/images/resume.png) - Next to the Process Instance Id, look for the icon that resembles the 'Resume' icon and select it to resume the suspended process instance. @@ -57,12 +57,12 @@ Resuming a process is essential for ensuring that the process can continue its e Depending on where the process instance is in its journey, the status might be waiting or some other active status. The process instance remains highlighted in yellow. -![suspend](images/active_process_instance.png) +![suspend](/images/active_process_instance.png) | βœ… Success | | :-----------------------------------------------------------------------: | | Confirm that the status has changed from β€˜suspended’ to an active status. | -| ![waiting](images/waiting.png) | +| ![waiting](/images/waiting.png) | ## Terminate a Process Instance @@ -71,7 +71,7 @@ There are various reasons for terminating a process instance such as the instanc > **Step 1: Locate Terminate Icon** -![terminate](images/terminate.png) +![terminate](/images/terminate.png) - Next to the Process Instance Id, look for the icon that resembles the 'Terminate' icon and select it to terminate the process instance. @@ -83,15 +83,15 @@ There are various reasons for terminating a process instance such as the instanc > **Step 3: Confirm Termination** - Before proceeding with the termination, it is essential to be absolutely certain about your decision. - ![terminate_warning](images/terminate_warning.png) + ![terminate_warning](/images/terminate_warning.png) - The process status will now be 'Terminated' and the last active task will be highlighted in purple. - ![suspend](images/terminated_process_instance.png) + ![suspend](/images/terminated_process_instance.png) | βœ… Success | | :------------------------------------------------------------------: | | Confirm that the status has changed from β€˜suspended’ to 'terminated' | -| ![suspend](images/terminated.png) | +| ![suspend](/images/terminated.png) | ## Reset a Process Instance @@ -104,7 +104,7 @@ There are various reasons for terminating a process instance such as the instanc > **Step 3: Suspend the Process** Ensure the status has changed from _user_input_required_ to _suspended_ -![Reset](images/reset_process2.png) +![Reset](/images/reset_process2.png) > **Step 4: Go to the relevant past activity** @@ -113,7 +113,7 @@ Only a previously completed section highlighted in grey can be chosen. > **Step 5: Select 'View process instance at the time when this task was active. > '** -![Reset](images/reset_process3.png) +![Reset](/images/reset_process3.png) > **Step 6: Observe the task once highlighted in grey should now be yellow. > ** @@ -123,14 +123,14 @@ A previously completed section is now active and shown in yellow. > **Step 7: Select 'Reset Process Here' icon in the popup window. > ** -![Reset](images/reset_process5.png) +![Reset](/images/reset_process5.png) > **Step 8: "Resume" process instance. > ** The process instance should be resumed by selecting the β€˜Resume’ icon next to the Process Instance Id. -![Reset](images/reset_process6.png) +![Reset](/images/reset_process6.png) > **Step 9: Refresh page** diff --git a/docs/Support/Running_Server_Locally.md b/docs/how_to_guides/running_server_locally.md similarity index 100% rename from docs/Support/Running_Server_Locally.md rename to docs/how_to_guides/running_server_locally.md diff --git a/docs/Support/Welcome_Messages.md b/docs/how_to_guides/welcome_messages.md similarity index 89% rename from docs/Support/Welcome_Messages.md rename to docs/how_to_guides/welcome_messages.md index 1cbc41f04..13c150ec2 100644 --- a/docs/Support/Welcome_Messages.md +++ b/docs/how_to_guides/welcome_messages.md @@ -13,26 +13,26 @@ This guide will walk you through the steps to modify this message in SpiffWorkfl 1. **Open the Process:** Navigate to the onboarding process model within SpiffWorkflow. - ![Process Model](images/onboarding_1.png) + ![Process Model](/images/onboarding_1.png) 2. **Access the `welcome.bpmn` File:** This is the specific file where the welcome message is configured. Ensure you're at the path `siteadministration.onboarding`. This path is crucial as it's the trigger for the welcome message. - ![Access Welcome file](images/onboarding_2.png) + ![Access Welcome file](/images/onboarding_2.png) 3. **Locate the End Event:** The end event within this process contains the welcome message. Any message configured in this end event will be displayed to users upon login. - ![Click End Event](images/onboarding_3.png) + ![Click End Event](/images/onboarding_3.png) 4. **Launch the Editor:** Use the built-in editor to modify the content of the welcome message. Ensure that your changes are clear, concise, and welcoming to provide users with a positive experience. - ![Launching Editor](images/onboarding_4.png) + ![Launching Editor](/images/onboarding_4.png) After making your desired modifications, save the changes to update the welcome message. diff --git a/docs/Building_Diagrams/images/add_file.png b/docs/images/1736024102_add_file.png similarity index 100% rename from docs/Building_Diagrams/images/add_file.png rename to docs/images/1736024102_add_file.png diff --git a/docs/Building_Diagrams/images/add_process_model.png b/docs/images/1736024102_add_process_model.png similarity index 100% rename from docs/Building_Diagrams/images/add_process_model.png rename to docs/images/1736024102_add_process_model.png diff --git a/docs/Building_Diagrams/images/my_process_instances.png b/docs/images/1736024102_my_process_instances.png similarity index 100% rename from docs/Building_Diagrams/images/my_process_instances.png rename to docs/images/1736024102_my_process_instances.png diff --git a/docs/Building_Diagrams/images/process_instance_not_found.png b/docs/images/1736024102_process_instance_not_found.png similarity index 100% rename from docs/Building_Diagrams/images/process_instance_not_found.png rename to docs/images/1736024102_process_instance_not_found.png diff --git a/docs/Building_Diagrams/images/suspend.png b/docs/images/1736024102_suspend.png similarity index 100% rename from docs/Building_Diagrams/images/suspend.png rename to docs/images/1736024102_suspend.png diff --git a/docs/Building_Diagrams/images/suspended.png b/docs/images/1736024102_suspended.png similarity index 100% rename from docs/Building_Diagrams/images/suspended.png rename to docs/images/1736024102_suspended.png diff --git a/docs/Building_Diagrams/images/upload_file.png b/docs/images/1736024102_upload_file.png similarity index 100% rename from docs/Building_Diagrams/images/upload_file.png rename to docs/images/1736024102_upload_file.png diff --git a/docs/Building_Diagrams/images/user_to_groups.png b/docs/images/1736024102_user_to_groups.png similarity index 100% rename from docs/Building_Diagrams/images/user_to_groups.png rename to docs/images/1736024102_user_to_groups.png diff --git a/docs/Building_Diagrams/images/admin_workflows.png b/docs/images/1736024103_admin_workflows.png similarity index 100% rename from docs/Building_Diagrams/images/admin_workflows.png rename to docs/images/1736024103_admin_workflows.png diff --git a/docs/Building_Diagrams/images/call_activity_popup.png b/docs/images/1736024103_call_activity_popup.png similarity index 100% rename from docs/Building_Diagrams/images/call_activity_popup.png rename to docs/images/1736024103_call_activity_popup.png diff --git a/docs/Building_Diagrams/images/inactive_subtask.png b/docs/images/1736024103_inactive_subtask.png similarity index 100% rename from docs/Building_Diagrams/images/inactive_subtask.png rename to docs/images/1736024103_inactive_subtask.png diff --git a/docs/Building_Diagrams/images/process_groups_tile.png b/docs/images/1736024103_process_groups_tile.png similarity index 100% rename from docs/Building_Diagrams/images/process_groups_tile.png rename to docs/images/1736024103_process_groups_tile.png diff --git a/docs/Building_Diagrams/images/Login.png b/docs/images/1736024104_Login.png similarity index 100% rename from docs/Building_Diagrams/images/Login.png rename to docs/images/1736024104_Login.png diff --git a/docs/Building_Diagrams/images/add_a_process_group.png b/docs/images/1736024104_add_a_process_group.png similarity index 100% rename from docs/Building_Diagrams/images/add_a_process_group.png rename to docs/images/1736024104_add_a_process_group.png diff --git a/docs/Building_Diagrams/images/site_administration.png b/docs/images/1736024104_site_administration.png similarity index 100% rename from docs/Building_Diagrams/images/site_administration.png rename to docs/images/1736024104_site_administration.png diff --git a/docs/Building_Diagrams/images/user_input_required.png b/docs/images/1736024104_user_input_required.png similarity index 100% rename from docs/Building_Diagrams/images/user_input_required.png rename to docs/images/1736024104_user_input_required.png diff --git a/docs/Getting_Started/images/Access_Process_Instance.png b/docs/images/Access_Process_Instance.png similarity index 100% rename from docs/Getting_Started/images/Access_Process_Instance.png rename to docs/images/Access_Process_Instance.png diff --git a/docs/Building_Diagrams/images/Annotation.png b/docs/images/Annotation.png similarity index 100% rename from docs/Building_Diagrams/images/Annotation.png rename to docs/images/Annotation.png diff --git a/docs/Building_Diagrams/images/BPMN_Editor.png b/docs/images/BPMN_Editor.png similarity index 100% rename from docs/Building_Diagrams/images/BPMN_Editor.png rename to docs/images/BPMN_Editor.png diff --git a/docs/Building_Diagrams/images/BPMN_Form_display.png b/docs/images/BPMN_Form_display.png similarity index 100% rename from docs/Building_Diagrams/images/BPMN_Form_display.png rename to docs/images/BPMN_Form_display.png diff --git a/docs/Building_Diagrams/images/BPMN_association-80x31.png b/docs/images/BPMN_association-80x31.png similarity index 100% rename from docs/Building_Diagrams/images/BPMN_association-80x31.png rename to docs/images/BPMN_association-80x31.png diff --git a/docs/Building_Diagrams/images/BPMN_message_flow-80x30.png b/docs/images/BPMN_message_flow-80x30.png similarity index 100% rename from docs/Building_Diagrams/images/BPMN_message_flow-80x30.png rename to docs/images/BPMN_message_flow-80x30.png diff --git a/docs/Building_Diagrams/images/BPMN_sequence_flow-80x31.png b/docs/images/BPMN_sequence_flow-80x31.png similarity index 100% rename from docs/Building_Diagrams/images/BPMN_sequence_flow-80x31.png rename to docs/images/BPMN_sequence_flow-80x31.png diff --git a/docs/Building_Diagrams/images/BPMN_swimlane-500x197 (1).png b/docs/images/BPMN_swimlane-500x197 (1).png similarity index 100% rename from docs/Building_Diagrams/images/BPMN_swimlane-500x197 (1).png rename to docs/images/BPMN_swimlane-500x197 (1).png diff --git a/docs/Building_Diagrams/images/BPMN_swimlane-500x197.png b/docs/images/BPMN_swimlane-500x197.png similarity index 100% rename from docs/Building_Diagrams/images/BPMN_swimlane-500x197.png rename to docs/images/BPMN_swimlane-500x197.png diff --git a/docs/Building_Diagrams/images/Business-rule-tasks.png b/docs/images/Business-rule-tasks.png similarity index 100% rename from docs/Building_Diagrams/images/Business-rule-tasks.png rename to docs/images/Business-rule-tasks.png diff --git a/docs/Building_Diagrams/images/Businessrule.png b/docs/images/Businessrule.png similarity index 100% rename from docs/Building_Diagrams/images/Businessrule.png rename to docs/images/Businessrule.png diff --git a/docs/Building_Diagrams/images/Call_Activity.png b/docs/images/Call_Activity.png similarity index 100% rename from docs/Building_Diagrams/images/Call_Activity.png rename to docs/images/Call_Activity.png diff --git a/docs/Building_Diagrams/images/Call_Activity1.png b/docs/images/Call_Activity1.png similarity index 100% rename from docs/Building_Diagrams/images/Call_Activity1.png rename to docs/images/Call_Activity1.png diff --git a/docs/Building_Diagrams/images/Callactivity.png b/docs/images/Callactivity.png similarity index 100% rename from docs/Building_Diagrams/images/Callactivity.png rename to docs/images/Callactivity.png diff --git a/docs/Building_Diagrams/images/CatchErrorExample.png b/docs/images/CatchErrorExample.png similarity index 100% rename from docs/Building_Diagrams/images/CatchErrorExample.png rename to docs/images/CatchErrorExample.png diff --git a/docs/Getting_Started/images/Completed_by_me.png b/docs/images/Completed_by_me.png similarity index 100% rename from docs/Getting_Started/images/Completed_by_me.png rename to docs/images/Completed_by_me.png diff --git a/docs/Getting_Started/images/Completed_by_others.png b/docs/images/Completed_by_others.png similarity index 100% rename from docs/Getting_Started/images/Completed_by_others.png rename to docs/images/Completed_by_others.png diff --git a/docs/Building_Diagrams/images/Complex.png b/docs/images/Complex.png similarity index 100% rename from docs/Building_Diagrams/images/Complex.png rename to docs/images/Complex.png diff --git a/docs/Getting_Started/images/Corelation.png b/docs/images/Corelation.png similarity index 100% rename from docs/Getting_Started/images/Corelation.png rename to docs/images/Corelation.png diff --git a/docs/Building_Diagrams/images/DMN_EM.png b/docs/images/DMN_EM.png similarity index 100% rename from docs/Building_Diagrams/images/DMN_EM.png rename to docs/images/DMN_EM.png diff --git a/docs/Building_Diagrams/images/DMN_Properties_Table.png b/docs/images/DMN_Properties_Table.png similarity index 100% rename from docs/Building_Diagrams/images/DMN_Properties_Table.png rename to docs/images/DMN_Properties_Table.png diff --git a/docs/Building_Diagrams/images/DMN_table.png b/docs/images/DMN_table.png similarity index 100% rename from docs/Building_Diagrams/images/DMN_table.png rename to docs/images/DMN_table.png diff --git a/docs/Building_Diagrams/images/DataStore_JSON_Output.png b/docs/images/DataStore_JSON_Output.png similarity index 100% rename from docs/Building_Diagrams/images/DataStore_JSON_Output.png rename to docs/images/DataStore_JSON_Output.png diff --git a/docs/Building_Diagrams/images/DataStore_KKV.png b/docs/images/DataStore_KKV.png similarity index 100% rename from docs/Building_Diagrams/images/DataStore_KKV.png rename to docs/images/DataStore_KKV.png diff --git a/docs/Building_Diagrams/images/DataStore_KKV_1.png b/docs/images/DataStore_KKV_1.png similarity index 100% rename from docs/Building_Diagrams/images/DataStore_KKV_1.png rename to docs/images/DataStore_KKV_1.png diff --git a/docs/Building_Diagrams/images/DataStore_KKV_2.png b/docs/images/DataStore_KKV_2.png similarity index 100% rename from docs/Building_Diagrams/images/DataStore_KKV_2.png rename to docs/images/DataStore_KKV_2.png diff --git a/docs/Building_Diagrams/images/DataStore_KKV_3.png b/docs/images/DataStore_KKV_3.png similarity index 100% rename from docs/Building_Diagrams/images/DataStore_KKV_3.png rename to docs/images/DataStore_KKV_3.png diff --git a/docs/Building_Diagrams/images/DataStore_KKV_4.png b/docs/images/DataStore_KKV_4.png similarity index 100% rename from docs/Building_Diagrams/images/DataStore_KKV_4.png rename to docs/images/DataStore_KKV_4.png diff --git a/docs/Building_Diagrams/images/DataStore_KKV_Output.png b/docs/images/DataStore_KKV_Output.png similarity index 100% rename from docs/Building_Diagrams/images/DataStore_KKV_Output.png rename to docs/images/DataStore_KKV_Output.png diff --git a/docs/Building_Diagrams/images/DataStore_KKV_Store.png b/docs/images/DataStore_KKV_Store.png similarity index 100% rename from docs/Building_Diagrams/images/DataStore_KKV_Store.png rename to docs/images/DataStore_KKV_Store.png diff --git a/docs/Building_Diagrams/images/Data_Object.png b/docs/images/Data_Object.png similarity index 100% rename from docs/Building_Diagrams/images/Data_Object.png rename to docs/images/Data_Object.png diff --git a/docs/Building_Diagrams/images/Data_Storage.png b/docs/images/Data_Storage.png similarity index 100% rename from docs/Building_Diagrams/images/Data_Storage.png rename to docs/images/Data_Storage.png diff --git a/docs/Building_Diagrams/images/Display_Content.png b/docs/images/Display_Content.png similarity index 100% rename from docs/Building_Diagrams/images/Display_Content.png rename to docs/images/Display_Content.png diff --git a/docs/Building_Diagrams/images/Display_UI_Help.png b/docs/images/Display_UI_Help.png similarity index 100% rename from docs/Building_Diagrams/images/Display_UI_Help.png rename to docs/images/Display_UI_Help.png diff --git a/docs/Building_Diagrams/images/Elements-08-06.png b/docs/images/Elements-08-06.png similarity index 100% rename from docs/Building_Diagrams/images/Elements-08-06.png rename to docs/images/Elements-08-06.png diff --git a/docs/Building_Diagrams/images/End.png b/docs/images/End.png similarity index 100% rename from docs/Building_Diagrams/images/End.png rename to docs/images/End.png diff --git a/docs/Building_Diagrams/images/End1.png b/docs/images/End1.png similarity index 100% rename from docs/Building_Diagrams/images/End1.png rename to docs/images/End1.png diff --git a/docs/Building_Diagrams/images/End_Task_Properties.png b/docs/images/End_Task_Properties.png similarity index 100% rename from docs/Building_Diagrams/images/End_Task_Properties.png rename to docs/images/End_Task_Properties.png diff --git a/docs/Building_Diagrams/images/Env_variable_Screenshot.png b/docs/images/Env_variable_Screenshot.png similarity index 100% rename from docs/Building_Diagrams/images/Env_variable_Screenshot.png rename to docs/images/Env_variable_Screenshot.png diff --git a/docs/Building_Diagrams/images/ErrorEndEventExample (1).png b/docs/images/ErrorEndEventExample (1).png similarity index 100% rename from docs/Building_Diagrams/images/ErrorEndEventExample (1).png rename to docs/images/ErrorEndEventExample (1).png diff --git a/docs/Building_Diagrams/images/ErrorEndEventExample.png b/docs/images/ErrorEndEventExample.png similarity index 100% rename from docs/Building_Diagrams/images/ErrorEndEventExample.png rename to docs/images/ErrorEndEventExample.png diff --git a/docs/Building_Diagrams/images/Escalation_ID.png b/docs/images/Escalation_ID.png similarity index 100% rename from docs/Building_Diagrams/images/Escalation_ID.png rename to docs/images/Escalation_ID.png diff --git a/docs/Building_Diagrams/images/Escalation_Order.png b/docs/images/Escalation_Order.png similarity index 100% rename from docs/Building_Diagrams/images/Escalation_Order.png rename to docs/images/Escalation_Order.png diff --git a/docs/Building_Diagrams/images/Escalation_Order_2.png b/docs/images/Escalation_Order_2.png similarity index 100% rename from docs/Building_Diagrams/images/Escalation_Order_2.png rename to docs/images/Escalation_Order_2.png diff --git a/docs/Building_Diagrams/images/Event_Gateway.png b/docs/images/Event_Gateway.png similarity index 100% rename from docs/Building_Diagrams/images/Event_Gateway.png rename to docs/images/Event_Gateway.png diff --git a/docs/Building_Diagrams/images/Eventbased.png b/docs/images/Eventbased.png similarity index 100% rename from docs/Building_Diagrams/images/Eventbased.png rename to docs/images/Eventbased.png diff --git a/docs/Getting_Started/images/Events.png b/docs/images/Events.png similarity index 100% rename from docs/Getting_Started/images/Events.png rename to docs/images/Events.png diff --git a/docs/Getting_Started/images/Events_Example.png b/docs/images/Events_Example.png similarity index 100% rename from docs/Getting_Started/images/Events_Example.png rename to docs/images/Events_Example.png diff --git a/docs/Building_Diagrams/images/Exclusive.png b/docs/images/Exclusive.png similarity index 100% rename from docs/Building_Diagrams/images/Exclusive.png rename to docs/images/Exclusive.png diff --git a/docs/Building_Diagrams/images/Exclusive_Em.png b/docs/images/Exclusive_Em.png similarity index 100% rename from docs/Building_Diagrams/images/Exclusive_Em.png rename to docs/images/Exclusive_Em.png diff --git a/docs/dev/images/Extension1.png b/docs/images/Extension1.png similarity index 100% rename from docs/dev/images/Extension1.png rename to docs/images/Extension1.png diff --git a/docs/dev/images/Extension_UI_schema.png b/docs/images/Extension_UI_schema.png similarity index 100% rename from docs/dev/images/Extension_UI_schema.png rename to docs/images/Extension_UI_schema.png diff --git a/docs/dev/images/Extensions_dashboard.png b/docs/images/Extensions_dashboard.png similarity index 100% rename from docs/dev/images/Extensions_dashboard.png rename to docs/images/Extensions_dashboard.png diff --git a/docs/Getting_Started/images/Filter_icon.png b/docs/images/Filter_icon.png similarity index 100% rename from docs/Getting_Started/images/Filter_icon.png rename to docs/images/Filter_icon.png diff --git a/docs/Support/images/Flask.png b/docs/images/Flask.png similarity index 100% rename from docs/Support/images/Flask.png rename to docs/images/Flask.png diff --git a/docs/Building_Diagrams/images/Form-Builder.png b/docs/images/Form-Builder.png similarity index 100% rename from docs/Building_Diagrams/images/Form-Builder.png rename to docs/images/Form-Builder.png diff --git a/docs/Building_Diagrams/images/Form_display.png b/docs/images/Form_display.png similarity index 100% rename from docs/Building_Diagrams/images/Form_display.png rename to docs/images/Form_display.png diff --git a/docs/Building_Diagrams/images/Form_editor.png b/docs/images/Form_editor.png similarity index 100% rename from docs/Building_Diagrams/images/Form_editor.png rename to docs/images/Form_editor.png diff --git a/docs/Building_Diagrams/images/Form_editor1.png b/docs/images/Form_editor1.png similarity index 100% rename from docs/Building_Diagrams/images/Form_editor1.png rename to docs/images/Form_editor1.png diff --git a/docs/Building_Diagrams/images/Form_editor2.png b/docs/images/Form_editor2.png similarity index 100% rename from docs/Building_Diagrams/images/Form_editor2.png rename to docs/images/Form_editor2.png diff --git a/docs/Building_Diagrams/images/Form_editor3.png b/docs/images/Form_editor3.png similarity index 100% rename from docs/Building_Diagrams/images/Form_editor3.png rename to docs/images/Form_editor3.png diff --git a/docs/Building_Diagrams/images/Form_editor4.png b/docs/images/Form_editor4.png similarity index 100% rename from docs/Building_Diagrams/images/Form_editor4.png rename to docs/images/Form_editor4.png diff --git a/docs/Building_Diagrams/images/Form_json.png b/docs/images/Form_json.png similarity index 100% rename from docs/Building_Diagrams/images/Form_json.png rename to docs/images/Form_json.png diff --git a/docs/Building_Diagrams/images/Form_manual_editor.png b/docs/images/Form_manual_editor.png similarity index 100% rename from docs/Building_Diagrams/images/Form_manual_editor.png rename to docs/images/Form_manual_editor.png diff --git a/docs/Getting_Started/images/Grey Image.png b/docs/images/Grey Image.png similarity index 100% rename from docs/Getting_Started/images/Grey Image.png rename to docs/images/Grey Image.png diff --git a/docs/Getting_Started/images/Grey_color.png b/docs/images/Grey_color.png similarity index 100% rename from docs/Getting_Started/images/Grey_color.png rename to docs/images/Grey_color.png diff --git a/docs/Building_Diagrams/images/Group.png b/docs/images/Group.png similarity index 100% rename from docs/Building_Diagrams/images/Group.png rename to docs/images/Group.png diff --git a/docs/Getting_Started/images/Guest.png b/docs/images/Guest.png similarity index 100% rename from docs/Getting_Started/images/Guest.png rename to docs/images/Guest.png diff --git a/docs/Getting_Started/images/Guest_1.png b/docs/images/Guest_1.png similarity index 100% rename from docs/Getting_Started/images/Guest_1.png rename to docs/images/Guest_1.png diff --git a/docs/Getting_Started/images/Guest_2.png b/docs/images/Guest_2.png similarity index 100% rename from docs/Getting_Started/images/Guest_2.png rename to docs/images/Guest_2.png diff --git a/docs/Getting_Started/images/Guest_3.png b/docs/images/Guest_3.png similarity index 100% rename from docs/Getting_Started/images/Guest_3.png rename to docs/images/Guest_3.png diff --git a/docs/Getting_Started/images/Guest_@.png b/docs/images/Guest_@.png similarity index 100% rename from docs/Getting_Started/images/Guest_@.png rename to docs/images/Guest_@.png diff --git a/docs/Building_Diagrams/images/Inclusive.png b/docs/images/Inclusive.png similarity index 100% rename from docs/Building_Diagrams/images/Inclusive.png rename to docs/images/Inclusive.png diff --git a/docs/Building_Diagrams/images/Instructions_panel.png b/docs/images/Instructions_panel.png similarity index 100% rename from docs/Building_Diagrams/images/Instructions_panel.png rename to docs/images/Instructions_panel.png diff --git a/docs/Building_Diagrams/images/Intermdiate.png b/docs/images/Intermdiate.png similarity index 100% rename from docs/Building_Diagrams/images/Intermdiate.png rename to docs/images/Intermdiate.png diff --git a/docs/Building_Diagrams/images/Intermediate.png b/docs/images/Intermediate.png similarity index 100% rename from docs/Building_Diagrams/images/Intermediate.png rename to docs/images/Intermediate.png diff --git a/docs/Building_Diagrams/images/Introduction_manual.png b/docs/images/Introduction_manual.png similarity index 100% rename from docs/Building_Diagrams/images/Introduction_manual.png rename to docs/images/Introduction_manual.png diff --git a/docs/Building_Diagrams/images/JSONSchema.png b/docs/images/JSONSchema.png similarity index 100% rename from docs/Building_Diagrams/images/JSONSchema.png rename to docs/images/JSONSchema.png diff --git a/docs/Building_Diagrams/images/JSON_Data_Store_1.png b/docs/images/JSON_Data_Store_1.png similarity index 100% rename from docs/Building_Diagrams/images/JSON_Data_Store_1.png rename to docs/images/JSON_Data_Store_1.png diff --git a/docs/Building_Diagrams/images/JSON_data_store.png b/docs/images/JSON_data_store.png similarity index 100% rename from docs/Building_Diagrams/images/JSON_data_store.png rename to docs/images/JSON_data_store.png diff --git a/docs/Getting_Started/images/Login.png b/docs/images/Login.png similarity index 100% rename from docs/Getting_Started/images/Login.png rename to docs/images/Login.png diff --git a/docs/Building_Diagrams/images/Loop_Settings.png b/docs/images/Loop_Settings.png similarity index 100% rename from docs/Building_Diagrams/images/Loop_Settings.png rename to docs/images/Loop_Settings.png diff --git a/docs/Building_Diagrams/images/Manual.png b/docs/images/Manual.png similarity index 100% rename from docs/Building_Diagrams/images/Manual.png rename to docs/images/Manual.png diff --git a/docs/Building_Diagrams/images/Manual_EM.png b/docs/images/Manual_EM.png similarity index 100% rename from docs/Building_Diagrams/images/Manual_EM.png rename to docs/images/Manual_EM.png diff --git a/docs/Building_Diagrams/images/Manual_instructions.png b/docs/images/Manual_instructions.png similarity index 100% rename from docs/Building_Diagrams/images/Manual_instructions.png rename to docs/images/Manual_instructions.png diff --git a/docs/Building_Diagrams/images/Manual_instructions_panel.png b/docs/images/Manual_instructions_panel.png similarity index 100% rename from docs/Building_Diagrams/images/Manual_instructions_panel.png rename to docs/images/Manual_instructions_panel.png diff --git a/docs/Building_Diagrams/images/Manual_instructions_side_by_side.png b/docs/images/Manual_instructions_side_by_side.png similarity index 100% rename from docs/Building_Diagrams/images/Manual_instructions_side_by_side.png rename to docs/images/Manual_instructions_side_by_side.png diff --git a/docs/Building_Diagrams/images/Manual_last.png b/docs/images/Manual_last.png similarity index 100% rename from docs/Building_Diagrams/images/Manual_last.png rename to docs/images/Manual_last.png diff --git a/docs/Building_Diagrams/images/Manual_lasttt.png b/docs/images/Manual_lasttt.png similarity index 100% rename from docs/Building_Diagrams/images/Manual_lasttt.png rename to docs/images/Manual_lasttt.png diff --git a/docs/Building_Diagrams/images/Manual_task.png b/docs/images/Manual_task.png similarity index 100% rename from docs/Building_Diagrams/images/Manual_task.png rename to docs/images/Manual_task.png diff --git a/docs/Building_Diagrams/images/Manual_task1.png b/docs/images/Manual_task1.png similarity index 100% rename from docs/Building_Diagrams/images/Manual_task1.png rename to docs/images/Manual_task1.png diff --git a/docs/Building_Diagrams/images/Manual_task_Properties.png b/docs/images/Manual_task_Properties.png similarity index 100% rename from docs/Building_Diagrams/images/Manual_task_Properties.png rename to docs/images/Manual_task_Properties.png diff --git a/docs/Building_Diagrams/images/Manual_task_Properties1.png b/docs/images/Manual_task_Properties1.png similarity index 100% rename from docs/Building_Diagrams/images/Manual_task_Properties1.png rename to docs/images/Manual_task_Properties1.png diff --git a/docs/Building_Diagrams/images/Manual_task_Properties12.png b/docs/images/Manual_task_Properties12.png similarity index 100% rename from docs/Building_Diagrams/images/Manual_task_Properties12.png rename to docs/images/Manual_task_Properties12.png diff --git a/docs/Building_Diagrams/images/Manual_task_instructions_panel.png b/docs/images/Manual_task_instructions_panel.png similarity index 100% rename from docs/Building_Diagrams/images/Manual_task_instructions_panel.png rename to docs/images/Manual_task_instructions_panel.png diff --git a/docs/Getting_Started/images/Milestone_Screenshot.png b/docs/images/Milestone_Screenshot.png similarity index 100% rename from docs/Getting_Started/images/Milestone_Screenshot.png rename to docs/images/Milestone_Screenshot.png diff --git a/docs/Support/images/Mimicking_inclusive_gateway.png b/docs/images/Mimicking_inclusive_gateway.png similarity index 100% rename from docs/Support/images/Mimicking_inclusive_gateway.png rename to docs/images/Mimicking_inclusive_gateway.png diff --git a/docs/Building_Diagrams/images/Navigating_Process.png b/docs/images/Navigating_Process.png similarity index 100% rename from docs/Building_Diagrams/images/Navigating_Process.png rename to docs/images/Navigating_Process.png diff --git a/docs/Building_Diagrams/images/Nested_form_display.png b/docs/images/Nested_form_display.png similarity index 100% rename from docs/Building_Diagrams/images/Nested_form_display.png rename to docs/images/Nested_form_display.png diff --git a/docs/Building_Diagrams/images/Output_extensions.png b/docs/images/Output_extensions.png similarity index 100% rename from docs/Building_Diagrams/images/Output_extensions.png rename to docs/images/Output_extensions.png diff --git a/docs/Building_Diagrams/images/Parallet_gateway.png b/docs/images/Parallet_gateway.png similarity index 100% rename from docs/Building_Diagrams/images/Parallet_gateway.png rename to docs/images/Parallet_gateway.png diff --git a/docs/Building_Diagrams/images/Pre-post_scripts.png b/docs/images/Pre-post_scripts.png similarity index 100% rename from docs/Building_Diagrams/images/Pre-post_scripts.png rename to docs/images/Pre-post_scripts.png diff --git a/docs/Building_Diagrams/images/Propertise_panel.png b/docs/images/Propertise_panel.png similarity index 100% rename from docs/Building_Diagrams/images/Propertise_panel.png rename to docs/images/Propertise_panel.png diff --git a/docs/Getting_Started/images/Purple.png b/docs/images/Purple.png similarity index 100% rename from docs/Getting_Started/images/Purple.png rename to docs/images/Purple.png diff --git a/docs/Building_Diagrams/images/Receive.png b/docs/images/Receive.png similarity index 100% rename from docs/Building_Diagrams/images/Receive.png rename to docs/images/Receive.png diff --git a/docs/Building_Diagrams/images/Receive_task.png b/docs/images/Receive_task.png similarity index 100% rename from docs/Building_Diagrams/images/Receive_task.png rename to docs/images/Receive_task.png diff --git a/docs/Getting_Started/images/Red.png b/docs/images/Red.png similarity index 100% rename from docs/Getting_Started/images/Red.png rename to docs/images/Red.png diff --git a/docs/Building_Diagrams/images/Scores_EM.png b/docs/images/Scores_EM.png similarity index 100% rename from docs/Building_Diagrams/images/Scores_EM.png rename to docs/images/Scores_EM.png diff --git a/docs/Building_Diagrams/images/Script-tasks.png b/docs/images/Script-tasks.png similarity index 100% rename from docs/Building_Diagrams/images/Script-tasks.png rename to docs/images/Script-tasks.png diff --git a/docs/Building_Diagrams/images/Script.png b/docs/images/Script.png similarity index 100% rename from docs/Building_Diagrams/images/Script.png rename to docs/images/Script.png diff --git a/docs/Building_Diagrams/images/Script_Em.png b/docs/images/Script_Em.png similarity index 100% rename from docs/Building_Diagrams/images/Script_Em.png rename to docs/images/Script_Em.png diff --git a/docs/Building_Diagrams/images/Script_instructions.png b/docs/images/Script_instructions.png similarity index 100% rename from docs/Building_Diagrams/images/Script_instructions.png rename to docs/images/Script_instructions.png diff --git a/docs/Building_Diagrams/images/Script_task_example.png b/docs/images/Script_task_example.png similarity index 100% rename from docs/Building_Diagrams/images/Script_task_example.png rename to docs/images/Script_task_example.png diff --git a/docs/Building_Diagrams/images/Script_task_update.png b/docs/images/Script_task_update.png similarity index 100% rename from docs/Building_Diagrams/images/Script_task_update.png rename to docs/images/Script_task_update.png diff --git a/docs/DevOps_installation_integration/images/Secrets_configure_2.png b/docs/images/Secrets_configure_2.png similarity index 100% rename from docs/DevOps_installation_integration/images/Secrets_configure_2.png rename to docs/images/Secrets_configure_2.png diff --git a/docs/DevOps_installation_integration/images/Secrets_step_1.png b/docs/images/Secrets_step_1.png similarity index 100% rename from docs/DevOps_installation_integration/images/Secrets_step_1.png rename to docs/images/Secrets_step_1.png diff --git a/docs/DevOps_installation_integration/images/Secrets_step_2.png b/docs/images/Secrets_step_2.png similarity index 100% rename from docs/DevOps_installation_integration/images/Secrets_step_2.png rename to docs/images/Secrets_step_2.png diff --git a/docs/Building_Diagrams/images/Send.png b/docs/images/Send.png similarity index 100% rename from docs/Building_Diagrams/images/Send.png rename to docs/images/Send.png diff --git a/docs/Building_Diagrams/images/Send_task.png b/docs/images/Send_task.png similarity index 100% rename from docs/Building_Diagrams/images/Send_task.png rename to docs/images/Send_task.png diff --git a/docs/Building_Diagrams/images/Service-tasks.png b/docs/images/Service-tasks.png similarity index 100% rename from docs/Building_Diagrams/images/Service-tasks.png rename to docs/images/Service-tasks.png diff --git a/docs/Building_Diagrams/images/Service_task.png b/docs/images/Service_task.png similarity index 100% rename from docs/Building_Diagrams/images/Service_task.png rename to docs/images/Service_task.png diff --git a/docs/Building_Diagrams/images/Sevice.png b/docs/images/Sevice.png similarity index 100% rename from docs/Building_Diagrams/images/Sevice.png rename to docs/images/Sevice.png diff --git a/docs/Getting_Started/images/Short_link.png b/docs/images/Short_link.png similarity index 100% rename from docs/Getting_Started/images/Short_link.png rename to docs/images/Short_link.png diff --git a/docs/Building_Diagrams/images/Signal_EM.png b/docs/images/Signal_EM.png similarity index 100% rename from docs/Building_Diagrams/images/Signal_EM.png rename to docs/images/Signal_EM.png diff --git a/docs/Building_Diagrams/images/Signal_events_spiff_example.png b/docs/images/Signal_events_spiff_example.png similarity index 100% rename from docs/Building_Diagrams/images/Signal_events_spiff_example.png rename to docs/images/Signal_events_spiff_example.png diff --git a/docs/Building_Diagrams/images/Signal_events_spiff_example1.png b/docs/images/Signal_events_spiff_example1.png similarity index 100% rename from docs/Building_Diagrams/images/Signal_events_spiff_example1.png rename to docs/images/Signal_events_spiff_example1.png diff --git a/docs/Building_Diagrams/images/Signal_events_spiff_example2.png b/docs/images/Signal_events_spiff_example2.png similarity index 100% rename from docs/Building_Diagrams/images/Signal_events_spiff_example2.png rename to docs/images/Signal_events_spiff_example2.png diff --git a/docs/Building_Diagrams/images/Signal_events_spiff_example3.png b/docs/images/Signal_events_spiff_example3.png similarity index 100% rename from docs/Building_Diagrams/images/Signal_events_spiff_example3.png rename to docs/images/Signal_events_spiff_example3.png diff --git a/docs/Building_Diagrams/images/Signal_events_spiff_example4.png b/docs/images/Signal_events_spiff_example4.png similarity index 100% rename from docs/Building_Diagrams/images/Signal_events_spiff_example4.png rename to docs/images/Signal_events_spiff_example4.png diff --git a/docs/Building_Diagrams/images/Signal_events_spiff_example5.png b/docs/images/Signal_events_spiff_example5.png similarity index 100% rename from docs/Building_Diagrams/images/Signal_events_spiff_example5.png rename to docs/images/Signal_events_spiff_example5.png diff --git a/docs/Building_Diagrams/images/Signal_events_spiff_example6.png b/docs/images/Signal_events_spiff_example6.png similarity index 100% rename from docs/Building_Diagrams/images/Signal_events_spiff_example6.png rename to docs/images/Signal_events_spiff_example6.png diff --git a/docs/Building_Diagrams/images/Signal_events_spiff_example7.png b/docs/images/Signal_events_spiff_example7.png similarity index 100% rename from docs/Building_Diagrams/images/Signal_events_spiff_example7.png rename to docs/images/Signal_events_spiff_example7.png diff --git a/docs/Building_Diagrams/images/Start.png b/docs/images/Start.png similarity index 100% rename from docs/Building_Diagrams/images/Start.png rename to docs/images/Start.png diff --git a/docs/Building_Diagrams/images/Start_Event.png b/docs/images/Start_Event.png similarity index 100% rename from docs/Building_Diagrams/images/Start_Event.png rename to docs/images/Start_Event.png diff --git a/docs/Building_Diagrams/images/Start_Event_Properties.png b/docs/images/Start_Event_Properties.png similarity index 100% rename from docs/Building_Diagrams/images/Start_Event_Properties.png rename to docs/images/Start_Event_Properties.png diff --git a/docs/Building_Diagrams/images/Start_Event_Properties1.png b/docs/images/Start_Event_Properties1.png similarity index 100% rename from docs/Building_Diagrams/images/Start_Event_Properties1.png rename to docs/images/Start_Event_Properties1.png diff --git a/docs/Building_Diagrams/images/Start_event_error_example.png b/docs/images/Start_event_error_example.png similarity index 100% rename from docs/Building_Diagrams/images/Start_event_error_example.png rename to docs/images/Start_event_error_example.png diff --git a/docs/Building_Diagrams/images/SubProcess.png b/docs/images/SubProcess.png similarity index 100% rename from docs/Building_Diagrams/images/SubProcess.png rename to docs/images/SubProcess.png diff --git a/docs/Building_Diagrams/images/Submit_text.png b/docs/images/Submit_text.png similarity index 100% rename from docs/Building_Diagrams/images/Submit_text.png rename to docs/images/Submit_text.png diff --git a/docs/Getting_Started/images/Task_instance.png b/docs/images/Task_instance.png similarity index 100% rename from docs/Getting_Started/images/Task_instance.png rename to docs/images/Task_instance.png diff --git a/docs/Building_Diagrams/images/Typeahead.png b/docs/images/Typeahead.png similarity index 100% rename from docs/Building_Diagrams/images/Typeahead.png rename to docs/images/Typeahead.png diff --git a/docs/Building_Diagrams/images/UI-Schema.png b/docs/images/UI-Schema.png similarity index 100% rename from docs/Building_Diagrams/images/UI-Schema.png rename to docs/images/UI-Schema.png diff --git a/docs/Building_Diagrams/images/Untitled design.png b/docs/images/Untitled design.png similarity index 100% rename from docs/Building_Diagrams/images/Untitled design.png rename to docs/images/Untitled design.png diff --git a/docs/Getting_Started/images/Untitled.png b/docs/images/Untitled.png similarity index 100% rename from docs/Getting_Started/images/Untitled.png rename to docs/images/Untitled.png diff --git a/docs/Getting_Started/images/Untitled_1.png b/docs/images/Untitled_1.png similarity index 100% rename from docs/Getting_Started/images/Untitled_1.png rename to docs/images/Untitled_1.png diff --git a/docs/Getting_Started/images/Untitled_10.png b/docs/images/Untitled_10.png similarity index 100% rename from docs/Getting_Started/images/Untitled_10.png rename to docs/images/Untitled_10.png diff --git a/docs/Getting_Started/images/Untitled_11.png b/docs/images/Untitled_11.png similarity index 100% rename from docs/Getting_Started/images/Untitled_11.png rename to docs/images/Untitled_11.png diff --git a/docs/Getting_Started/images/Untitled_12.png b/docs/images/Untitled_12.png similarity index 100% rename from docs/Getting_Started/images/Untitled_12.png rename to docs/images/Untitled_12.png diff --git a/docs/Getting_Started/images/Untitled_13.png b/docs/images/Untitled_13.png similarity index 100% rename from docs/Getting_Started/images/Untitled_13.png rename to docs/images/Untitled_13.png diff --git a/docs/Getting_Started/images/Untitled_14.png b/docs/images/Untitled_14.png similarity index 100% rename from docs/Getting_Started/images/Untitled_14.png rename to docs/images/Untitled_14.png diff --git a/docs/Getting_Started/images/Untitled_15.png b/docs/images/Untitled_15.png similarity index 100% rename from docs/Getting_Started/images/Untitled_15.png rename to docs/images/Untitled_15.png diff --git a/docs/Getting_Started/images/Untitled_16.png b/docs/images/Untitled_16.png similarity index 100% rename from docs/Getting_Started/images/Untitled_16.png rename to docs/images/Untitled_16.png diff --git a/docs/Getting_Started/images/Untitled_17.png b/docs/images/Untitled_17.png similarity index 100% rename from docs/Getting_Started/images/Untitled_17.png rename to docs/images/Untitled_17.png diff --git a/docs/Getting_Started/images/Untitled_18.png b/docs/images/Untitled_18.png similarity index 100% rename from docs/Getting_Started/images/Untitled_18.png rename to docs/images/Untitled_18.png diff --git a/docs/Getting_Started/images/Untitled_19.png b/docs/images/Untitled_19.png similarity index 100% rename from docs/Getting_Started/images/Untitled_19.png rename to docs/images/Untitled_19.png diff --git a/docs/Getting_Started/images/Untitled_2.png b/docs/images/Untitled_2.png similarity index 100% rename from docs/Getting_Started/images/Untitled_2.png rename to docs/images/Untitled_2.png diff --git a/docs/Getting_Started/images/Untitled_20.png b/docs/images/Untitled_20.png similarity index 100% rename from docs/Getting_Started/images/Untitled_20.png rename to docs/images/Untitled_20.png diff --git a/docs/Getting_Started/images/Untitled_21.png b/docs/images/Untitled_21.png similarity index 100% rename from docs/Getting_Started/images/Untitled_21.png rename to docs/images/Untitled_21.png diff --git a/docs/Getting_Started/images/Untitled_22.png b/docs/images/Untitled_22.png similarity index 100% rename from docs/Getting_Started/images/Untitled_22.png rename to docs/images/Untitled_22.png diff --git a/docs/Getting_Started/images/Untitled_23.png b/docs/images/Untitled_23.png similarity index 100% rename from docs/Getting_Started/images/Untitled_23.png rename to docs/images/Untitled_23.png diff --git a/docs/Getting_Started/images/Untitled_24.png b/docs/images/Untitled_24.png similarity index 100% rename from docs/Getting_Started/images/Untitled_24.png rename to docs/images/Untitled_24.png diff --git a/docs/Getting_Started/images/Untitled_25.png b/docs/images/Untitled_25.png similarity index 100% rename from docs/Getting_Started/images/Untitled_25.png rename to docs/images/Untitled_25.png diff --git a/docs/Getting_Started/images/Untitled_26.png b/docs/images/Untitled_26.png similarity index 100% rename from docs/Getting_Started/images/Untitled_26.png rename to docs/images/Untitled_26.png diff --git a/docs/Getting_Started/images/Untitled_27.png b/docs/images/Untitled_27.png similarity index 100% rename from docs/Getting_Started/images/Untitled_27.png rename to docs/images/Untitled_27.png diff --git a/docs/Getting_Started/images/Untitled_28.png b/docs/images/Untitled_28.png similarity index 100% rename from docs/Getting_Started/images/Untitled_28.png rename to docs/images/Untitled_28.png diff --git a/docs/Getting_Started/images/Untitled_29.png b/docs/images/Untitled_29.png similarity index 100% rename from docs/Getting_Started/images/Untitled_29.png rename to docs/images/Untitled_29.png diff --git a/docs/Getting_Started/images/Untitled_3.png b/docs/images/Untitled_3.png similarity index 100% rename from docs/Getting_Started/images/Untitled_3.png rename to docs/images/Untitled_3.png diff --git a/docs/Getting_Started/images/Untitled_30.png b/docs/images/Untitled_30.png similarity index 100% rename from docs/Getting_Started/images/Untitled_30.png rename to docs/images/Untitled_30.png diff --git a/docs/Getting_Started/images/Untitled_31.png b/docs/images/Untitled_31.png similarity index 100% rename from docs/Getting_Started/images/Untitled_31.png rename to docs/images/Untitled_31.png diff --git a/docs/Getting_Started/images/Untitled_32.png b/docs/images/Untitled_32.png similarity index 100% rename from docs/Getting_Started/images/Untitled_32.png rename to docs/images/Untitled_32.png diff --git a/docs/Getting_Started/images/Untitled_4.png b/docs/images/Untitled_4.png similarity index 100% rename from docs/Getting_Started/images/Untitled_4.png rename to docs/images/Untitled_4.png diff --git a/docs/Getting_Started/images/Untitled_5.png b/docs/images/Untitled_5.png similarity index 100% rename from docs/Getting_Started/images/Untitled_5.png rename to docs/images/Untitled_5.png diff --git a/docs/Getting_Started/images/Untitled_6.png b/docs/images/Untitled_6.png similarity index 100% rename from docs/Getting_Started/images/Untitled_6.png rename to docs/images/Untitled_6.png diff --git a/docs/Getting_Started/images/Untitled_7.png b/docs/images/Untitled_7.png similarity index 100% rename from docs/Getting_Started/images/Untitled_7.png rename to docs/images/Untitled_7.png diff --git a/docs/Getting_Started/images/Untitled_8.png b/docs/images/Untitled_8.png similarity index 100% rename from docs/Getting_Started/images/Untitled_8.png rename to docs/images/Untitled_8.png diff --git a/docs/Getting_Started/images/Untitled_9.png b/docs/images/Untitled_9.png similarity index 100% rename from docs/Getting_Started/images/Untitled_9.png rename to docs/images/Untitled_9.png diff --git a/docs/Building_Diagrams/images/Usecase.png b/docs/images/Usecase.png similarity index 100% rename from docs/Building_Diagrams/images/Usecase.png rename to docs/images/Usecase.png diff --git a/docs/Building_Diagrams/images/Usecase_extensions.png b/docs/images/Usecase_extensions.png similarity index 100% rename from docs/Building_Diagrams/images/Usecase_extensions.png rename to docs/images/Usecase_extensions.png diff --git a/docs/Building_Diagrams/images/User.png b/docs/images/User.png similarity index 100% rename from docs/Building_Diagrams/images/User.png rename to docs/images/User.png diff --git a/docs/Building_Diagrams/images/User_EM.png b/docs/images/User_EM.png similarity index 100% rename from docs/Building_Diagrams/images/User_EM.png rename to docs/images/User_EM.png diff --git a/docs/Building_Diagrams/images/User_instructions.png b/docs/images/User_instructions.png similarity index 100% rename from docs/Building_Diagrams/images/User_instructions.png rename to docs/images/User_instructions.png diff --git a/docs/Building_Diagrams/images/User_task.png b/docs/images/User_task.png similarity index 100% rename from docs/Building_Diagrams/images/User_task.png rename to docs/images/User_task.png diff --git a/docs/Building_Diagrams/images/Users_task.png b/docs/images/Users_task.png similarity index 100% rename from docs/Building_Diagrams/images/Users_task.png rename to docs/images/Users_task.png diff --git a/docs/Building_Diagrams/images/Using_forms.png b/docs/images/Using_forms.png similarity index 100% rename from docs/Building_Diagrams/images/Using_forms.png rename to docs/images/Using_forms.png diff --git a/docs/Getting_Started/images/View_Forms1.png b/docs/images/View_Forms1.png similarity index 100% rename from docs/Getting_Started/images/View_Forms1.png rename to docs/images/View_Forms1.png diff --git a/docs/Getting_Started/images/View_Forms2.png b/docs/images/View_Forms2.png similarity index 100% rename from docs/Getting_Started/images/View_Forms2.png rename to docs/images/View_Forms2.png diff --git a/docs/Getting_Started/images/View_Forms3.png b/docs/images/View_Forms3.png similarity index 100% rename from docs/Getting_Started/images/View_Forms3.png rename to docs/images/View_Forms3.png diff --git a/docs/Getting_Started/images/View_Forms4.png b/docs/images/View_Forms4.png similarity index 100% rename from docs/Getting_Started/images/View_Forms4.png rename to docs/images/View_Forms4.png diff --git a/docs/Getting_Started/images/View_Forms5.png b/docs/images/View_Forms5.png similarity index 100% rename from docs/Getting_Started/images/View_Forms5.png rename to docs/images/View_Forms5.png diff --git a/docs/Getting_Started/images/Yellow.png b/docs/images/Yellow.png similarity index 100% rename from docs/Getting_Started/images/Yellow.png rename to docs/images/Yellow.png diff --git a/docs/Support/images/active_call_activity.png b/docs/images/active_call_activity.png similarity index 100% rename from docs/Support/images/active_call_activity.png rename to docs/images/active_call_activity.png diff --git a/docs/Building_Diagrams/images/active_call_process.png b/docs/images/active_call_process.png similarity index 100% rename from docs/Building_Diagrams/images/active_call_process.png rename to docs/images/active_call_process.png diff --git a/docs/Support/images/active_process_instance.png b/docs/images/active_process_instance.png similarity index 100% rename from docs/Support/images/active_process_instance.png rename to docs/images/active_process_instance.png diff --git a/docs/Support/images/active_sub_task.png b/docs/images/active_sub_task.png similarity index 100% rename from docs/Support/images/active_sub_task.png rename to docs/images/active_sub_task.png diff --git a/docs/Building_Diagrams/images/active_subprocess.png b/docs/images/active_subprocess.png similarity index 100% rename from docs/Building_Diagrams/images/active_subprocess.png rename to docs/images/active_subprocess.png diff --git a/docs/Support/images/active_subtask.png b/docs/images/active_subtask.png similarity index 100% rename from docs/Support/images/active_subtask.png rename to docs/images/active_subtask.png diff --git a/docs/DevOps_installation_integration/images/add_a_process_group.png b/docs/images/add_a_process_group.png similarity index 100% rename from docs/DevOps_installation_integration/images/add_a_process_group.png rename to docs/images/add_a_process_group.png diff --git a/docs/DevOps_installation_integration/images/add_file.png b/docs/images/add_file.png similarity index 100% rename from docs/DevOps_installation_integration/images/add_file.png rename to docs/images/add_file.png diff --git a/docs/DevOps_installation_integration/images/add_process_model.png b/docs/images/add_process_model.png similarity index 100% rename from docs/DevOps_installation_integration/images/add_process_model.png rename to docs/images/add_process_model.png diff --git a/docs/DevOps_installation_integration/images/admin_workflows.png b/docs/images/admin_workflows.png similarity index 100% rename from docs/DevOps_installation_integration/images/admin_workflows.png rename to docs/images/admin_workflows.png diff --git a/docs/appendices/images/articles.png b/docs/images/articles.png similarity index 100% rename from docs/appendices/images/articles.png rename to docs/images/articles.png diff --git a/docs/Support/images/assigned_to_me.png b/docs/images/assigned_to_me.png similarity index 100% rename from docs/Support/images/assigned_to_me.png rename to docs/images/assigned_to_me.png diff --git a/docs/Building_Diagrams/images/assumptions.png b/docs/images/assumptions.png similarity index 100% rename from docs/Building_Diagrams/images/assumptions.png rename to docs/images/assumptions.png diff --git a/docs/Building_Diagrams/images/boundary_event.png b/docs/images/boundary_event.png similarity index 100% rename from docs/Building_Diagrams/images/boundary_event.png rename to docs/images/boundary_event.png diff --git a/docs/Building_Diagrams/images/boundary_example.png b/docs/images/boundary_example.png similarity index 100% rename from docs/Building_Diagrams/images/boundary_example.png rename to docs/images/boundary_example.png diff --git a/docs/Support/images/call_activity_popup.png b/docs/images/call_activity_popup.png similarity index 100% rename from docs/Support/images/call_activity_popup.png rename to docs/images/call_activity_popup.png diff --git a/docs/Support/images/cant_find_process_instance.png b/docs/images/cant_find_process_instance.png similarity index 100% rename from docs/Support/images/cant_find_process_instance.png rename to docs/images/cant_find_process_instance.png diff --git a/docs/Building_Diagrams/images/catch_events.png b/docs/images/catch_events.png similarity index 100% rename from docs/Building_Diagrams/images/catch_events.png rename to docs/images/catch_events.png diff --git a/docs/Building_Diagrams/images/catch_example.png b/docs/images/catch_example.png similarity index 100% rename from docs/Building_Diagrams/images/catch_example.png rename to docs/images/catch_example.png diff --git a/docs/Building_Diagrams/images/category.png b/docs/images/category.png similarity index 100% rename from docs/Building_Diagrams/images/category.png rename to docs/images/category.png diff --git a/docs/Getting_Started/images/chef.png b/docs/images/chef.png similarity index 100% rename from docs/Getting_Started/images/chef.png rename to docs/images/chef.png diff --git a/docs/Building_Diagrams/images/collaboration_correlation.png b/docs/images/collaboration_correlation.png similarity index 100% rename from docs/Building_Diagrams/images/collaboration_correlation.png rename to docs/images/collaboration_correlation.png diff --git a/docs/Building_Diagrams/images/collaboration_messages_1.png b/docs/images/collaboration_messages_1.png similarity index 100% rename from docs/Building_Diagrams/images/collaboration_messages_1.png rename to docs/images/collaboration_messages_1.png diff --git a/docs/Building_Diagrams/images/collaboration_msg.png b/docs/images/collaboration_msg.png similarity index 100% rename from docs/Building_Diagrams/images/collaboration_msg.png rename to docs/images/collaboration_msg.png diff --git a/docs/Support/images/completed.png b/docs/images/completed.png similarity index 100% rename from docs/Support/images/completed.png rename to docs/images/completed.png diff --git a/docs/Building_Diagrams/images/conditional_intermediate_example_1.png b/docs/images/conditional_intermediate_example_1.png similarity index 100% rename from docs/Building_Diagrams/images/conditional_intermediate_example_1.png rename to docs/images/conditional_intermediate_example_1.png diff --git a/docs/Building_Diagrams/images/conditional_intermediate_example_2.png b/docs/images/conditional_intermediate_example_2.png similarity index 100% rename from docs/Building_Diagrams/images/conditional_intermediate_example_2.png rename to docs/images/conditional_intermediate_example_2.png diff --git a/docs/Building_Diagrams/images/conditional_intermediate_example_3.png b/docs/images/conditional_intermediate_example_3.png similarity index 100% rename from docs/Building_Diagrams/images/conditional_intermediate_example_3.png rename to docs/images/conditional_intermediate_example_3.png diff --git a/docs/Building_Diagrams/images/conditional_start_event.png b/docs/images/conditional_start_event.png similarity index 100% rename from docs/Building_Diagrams/images/conditional_start_event.png rename to docs/images/conditional_start_event.png diff --git a/docs/Building_Diagrams/images/conditional_start_example.png b/docs/images/conditional_start_example.png similarity index 100% rename from docs/Building_Diagrams/images/conditional_start_example.png rename to docs/images/conditional_start_example.png diff --git a/docs/Building_Diagrams/images/conditional_start_example_1.png b/docs/images/conditional_start_example_1.png similarity index 100% rename from docs/Building_Diagrams/images/conditional_start_example_1.png rename to docs/images/conditional_start_example_1.png diff --git a/docs/Building_Diagrams/images/conditions.png b/docs/images/conditions.png similarity index 100% rename from docs/Building_Diagrams/images/conditions.png rename to docs/images/conditions.png diff --git a/docs/Building_Diagrams/images/configure_conditional_event.png b/docs/images/configure_conditional_event.png similarity index 100% rename from docs/Building_Diagrams/images/configure_conditional_event.png rename to docs/images/configure_conditional_event.png diff --git a/docs/Building_Diagrams/images/correlation_1.png b/docs/images/correlation_1.png similarity index 100% rename from docs/Building_Diagrams/images/correlation_1.png rename to docs/images/correlation_1.png diff --git a/docs/Building_Diagrams/images/correlation_keys_1.png b/docs/images/correlation_keys_1.png similarity index 100% rename from docs/Building_Diagrams/images/correlation_keys_1.png rename to docs/images/correlation_keys_1.png diff --git a/docs/Building_Diagrams/images/correlation_properties_1.png b/docs/images/correlation_properties_1.png similarity index 100% rename from docs/Building_Diagrams/images/correlation_properties_1.png rename to docs/images/correlation_properties_1.png diff --git a/docs/Building_Diagrams/images/data_input.png b/docs/images/data_input.png similarity index 100% rename from docs/Building_Diagrams/images/data_input.png rename to docs/images/data_input.png diff --git a/docs/Building_Diagrams/images/data_input_form.png b/docs/images/data_input_form.png similarity index 100% rename from docs/Building_Diagrams/images/data_input_form.png rename to docs/images/data_input_form.png diff --git a/docs/Building_Diagrams/images/data_object_pools_1.png b/docs/images/data_object_pools_1.png similarity index 100% rename from docs/Building_Diagrams/images/data_object_pools_1.png rename to docs/images/data_object_pools_1.png diff --git a/docs/Building_Diagrams/images/data_object_prop.png b/docs/images/data_object_prop.png similarity index 100% rename from docs/Building_Diagrams/images/data_object_prop.png rename to docs/images/data_object_prop.png diff --git a/docs/Building_Diagrams/images/data_object_reference.png b/docs/images/data_object_reference.png similarity index 100% rename from docs/Building_Diagrams/images/data_object_reference.png rename to docs/images/data_object_reference.png diff --git a/docs/Building_Diagrams/images/data_output.png b/docs/images/data_output.png similarity index 100% rename from docs/Building_Diagrams/images/data_output.png rename to docs/images/data_output.png diff --git a/docs/Building_Diagrams/images/data_store.png b/docs/images/data_store.png similarity index 100% rename from docs/Building_Diagrams/images/data_store.png rename to docs/images/data_store.png diff --git a/docs/documentation/images/docs_dir.png b/docs/images/docs_dir.png similarity index 100% rename from docs/documentation/images/docs_dir.png rename to docs/images/docs_dir.png diff --git a/docs/Building_Diagrams/images/documentation_field.png b/docs/images/documentation_field.png similarity index 100% rename from docs/Building_Diagrams/images/documentation_field.png rename to docs/images/documentation_field.png diff --git a/docs/Building_Diagrams/images/end-event-error.256x255.png b/docs/images/end-event-error.256x255.png similarity index 100% rename from docs/Building_Diagrams/images/end-event-error.256x255.png rename to docs/images/end-event-error.256x255.png diff --git a/docs/Building_Diagrams/images/end_escalation_event.png b/docs/images/end_escalation_event.png similarity index 100% rename from docs/Building_Diagrams/images/end_escalation_event.png rename to docs/images/end_escalation_event.png diff --git a/docs/Building_Diagrams/images/end_event.png b/docs/images/end_event.png similarity index 100% rename from docs/Building_Diagrams/images/end_event.png rename to docs/images/end_event.png diff --git a/docs/Building_Diagrams/images/end_message.png b/docs/images/end_message.png similarity index 100% rename from docs/Building_Diagrams/images/end_message.png rename to docs/images/end_message.png diff --git a/docs/Building_Diagrams/images/end_msg_event.png b/docs/images/end_msg_event.png similarity index 100% rename from docs/Building_Diagrams/images/end_msg_event.png rename to docs/images/end_msg_event.png diff --git a/docs/Building_Diagrams/images/end_signal_event.png b/docs/images/end_signal_event.png similarity index 100% rename from docs/Building_Diagrams/images/end_signal_event.png rename to docs/images/end_signal_event.png diff --git a/docs/Building_Diagrams/images/end_signal_event_example.png b/docs/images/end_signal_event_example.png similarity index 100% rename from docs/Building_Diagrams/images/end_signal_event_example.png rename to docs/images/end_signal_event_example.png diff --git a/docs/Building_Diagrams/images/error-events1.png b/docs/images/error-events1.png similarity index 100% rename from docs/Building_Diagrams/images/error-events1.png rename to docs/images/error-events1.png diff --git a/docs/Building_Diagrams/images/error_boundary_event.png b/docs/images/error_boundary_event.png similarity index 100% rename from docs/Building_Diagrams/images/error_boundary_event.png rename to docs/images/error_boundary_event.png diff --git a/docs/Building_Diagrams/images/error_boundary_event_with_expanded-subprocess1.png b/docs/images/error_boundary_event_with_expanded-subprocess1.png similarity index 100% rename from docs/Building_Diagrams/images/error_boundary_event_with_expanded-subprocess1.png rename to docs/images/error_boundary_event_with_expanded-subprocess1.png diff --git a/docs/Building_Diagrams/images/error_boundary_event_with_expanded-subprocess2.png b/docs/images/error_boundary_event_with_expanded-subprocess2.png similarity index 100% rename from docs/Building_Diagrams/images/error_boundary_event_with_expanded-subprocess2.png rename to docs/images/error_boundary_event_with_expanded-subprocess2.png diff --git a/docs/Building_Diagrams/images/error_boundary_event_with_expanded-subprocess3.png b/docs/images/error_boundary_event_with_expanded-subprocess3.png similarity index 100% rename from docs/Building_Diagrams/images/error_boundary_event_with_expanded-subprocess3.png rename to docs/images/error_boundary_event_with_expanded-subprocess3.png diff --git a/docs/Building_Diagrams/images/error_boundary_event_with_expanded-subprocess4.png b/docs/images/error_boundary_event_with_expanded-subprocess4.png similarity index 100% rename from docs/Building_Diagrams/images/error_boundary_event_with_expanded-subprocess4.png rename to docs/images/error_boundary_event_with_expanded-subprocess4.png diff --git a/docs/Building_Diagrams/images/error_boundary_event_with_expanded-subprocess5.png b/docs/images/error_boundary_event_with_expanded-subprocess5.png similarity index 100% rename from docs/Building_Diagrams/images/error_boundary_event_with_expanded-subprocess5.png rename to docs/images/error_boundary_event_with_expanded-subprocess5.png diff --git a/docs/Building_Diagrams/images/error_boundary_event_with_expanded-subprocess6.png b/docs/images/error_boundary_event_with_expanded-subprocess6.png similarity index 100% rename from docs/Building_Diagrams/images/error_boundary_event_with_expanded-subprocess6.png rename to docs/images/error_boundary_event_with_expanded-subprocess6.png diff --git a/docs/Building_Diagrams/images/error_boundary_event_with_expanded-subprocess7.png b/docs/images/error_boundary_event_with_expanded-subprocess7.png similarity index 100% rename from docs/Building_Diagrams/images/error_boundary_event_with_expanded-subprocess7.png rename to docs/images/error_boundary_event_with_expanded-subprocess7.png diff --git a/docs/Building_Diagrams/images/error_end_event.png b/docs/images/error_end_event.png similarity index 100% rename from docs/Building_Diagrams/images/error_end_event.png rename to docs/images/error_end_event.png diff --git a/docs/Building_Diagrams/images/error_event_example1.png b/docs/images/error_event_example1.png similarity index 100% rename from docs/Building_Diagrams/images/error_event_example1.png rename to docs/images/error_event_example1.png diff --git a/docs/Building_Diagrams/images/error_event_example2.png b/docs/images/error_event_example2.png similarity index 100% rename from docs/Building_Diagrams/images/error_event_example2.png rename to docs/images/error_event_example2.png diff --git a/docs/Building_Diagrams/images/error_event_example3.png b/docs/images/error_event_example3.png similarity index 100% rename from docs/Building_Diagrams/images/error_event_example3.png rename to docs/images/error_event_example3.png diff --git a/docs/Building_Diagrams/images/error_event_example4.png b/docs/images/error_event_example4.png similarity index 100% rename from docs/Building_Diagrams/images/error_event_example4.png rename to docs/images/error_event_example4.png diff --git a/docs/Building_Diagrams/images/error_event_example5.png b/docs/images/error_event_example5.png similarity index 100% rename from docs/Building_Diagrams/images/error_event_example5.png rename to docs/images/error_event_example5.png diff --git a/docs/Building_Diagrams/images/error_event_example6.png b/docs/images/error_event_example6.png similarity index 100% rename from docs/Building_Diagrams/images/error_event_example6.png rename to docs/images/error_event_example6.png diff --git a/docs/Building_Diagrams/images/error_intermediate_event.png b/docs/images/error_intermediate_event.png similarity index 100% rename from docs/Building_Diagrams/images/error_intermediate_event.png rename to docs/images/error_intermediate_event.png diff --git a/docs/Building_Diagrams/images/escalation_example_2.png b/docs/images/escalation_example_2.png similarity index 100% rename from docs/Building_Diagrams/images/escalation_example_2.png rename to docs/images/escalation_example_2.png diff --git a/docs/Building_Diagrams/images/escalation_example_3.png b/docs/images/escalation_example_3.png similarity index 100% rename from docs/Building_Diagrams/images/escalation_example_3.png rename to docs/images/escalation_example_3.png diff --git a/docs/Building_Diagrams/images/escalation_example_4.png b/docs/images/escalation_example_4.png similarity index 100% rename from docs/Building_Diagrams/images/escalation_example_4.png rename to docs/images/escalation_example_4.png diff --git a/docs/Building_Diagrams/images/event_based_gateway.png b/docs/images/event_based_gateway.png similarity index 100% rename from docs/Building_Diagrams/images/event_based_gateway.png rename to docs/images/event_based_gateway.png diff --git a/docs/Building_Diagrams/images/event_correlation_msg.png b/docs/images/event_correlation_msg.png similarity index 100% rename from docs/Building_Diagrams/images/event_correlation_msg.png rename to docs/images/event_correlation_msg.png diff --git a/docs/Building_Diagrams/images/event_types.png b/docs/images/event_types.png similarity index 100% rename from docs/Building_Diagrams/images/event_types.png rename to docs/images/event_types.png diff --git a/docs/Building_Diagrams/images/events_categories.png b/docs/images/events_categories.png similarity index 100% rename from docs/Building_Diagrams/images/events_categories.png rename to docs/images/events_categories.png diff --git a/docs/Building_Diagrams/images/events_table.png b/docs/images/events_table.png similarity index 100% rename from docs/Building_Diagrams/images/events_table.png rename to docs/images/events_table.png diff --git a/docs/Building_Diagrams/images/exclusive_gateway.png b/docs/images/exclusive_gateway.png similarity index 100% rename from docs/Building_Diagrams/images/exclusive_gateway.png rename to docs/images/exclusive_gateway.png diff --git a/docs/Building_Diagrams/images/exclusive_gateway_default.png b/docs/images/exclusive_gateway_default.png similarity index 100% rename from docs/Building_Diagrams/images/exclusive_gateway_default.png rename to docs/images/exclusive_gateway_default.png diff --git a/docs/Building_Diagrams/images/exclusive_gateway_examples.png b/docs/images/exclusive_gateway_examples.png similarity index 100% rename from docs/Building_Diagrams/images/exclusive_gateway_examples.png rename to docs/images/exclusive_gateway_examples.png diff --git a/docs/Building_Diagrams/images/exclusive_merge.png b/docs/images/exclusive_merge.png similarity index 100% rename from docs/Building_Diagrams/images/exclusive_merge.png rename to docs/images/exclusive_merge.png diff --git a/docs/Building_Diagrams/images/exclusivegatewayexample.png b/docs/images/exclusivegatewayexample.png similarity index 100% rename from docs/Building_Diagrams/images/exclusivegatewayexample.png rename to docs/images/exclusivegatewayexample.png diff --git a/docs/Building_Diagrams/images/exclusivegatewayexample1.png b/docs/images/exclusivegatewayexample1.png similarity index 100% rename from docs/Building_Diagrams/images/exclusivegatewayexample1.png rename to docs/images/exclusivegatewayexample1.png diff --git a/docs/Building_Diagrams/images/exclusivegatewayexample2.png b/docs/images/exclusivegatewayexample2.png similarity index 100% rename from docs/Building_Diagrams/images/exclusivegatewayexample2.png rename to docs/images/exclusivegatewayexample2.png diff --git a/docs/Building_Diagrams/images/exclusivegatewayexample3.png b/docs/images/exclusivegatewayexample3.png similarity index 100% rename from docs/Building_Diagrams/images/exclusivegatewayexample3.png rename to docs/images/exclusivegatewayexample3.png diff --git a/docs/Building_Diagrams/images/exclusivegatewayexample4.png b/docs/images/exclusivegatewayexample4.png similarity index 100% rename from docs/Building_Diagrams/images/exclusivegatewayexample4.png rename to docs/images/exclusivegatewayexample4.png diff --git a/docs/Building_Diagrams/images/exclusivegatewayexample5.png b/docs/images/exclusivegatewayexample5.png similarity index 100% rename from docs/Building_Diagrams/images/exclusivegatewayexample5.png rename to docs/images/exclusivegatewayexample5.png diff --git a/docs/Building_Diagrams/images/exclusivegatewayexample6.png b/docs/images/exclusivegatewayexample6.png similarity index 100% rename from docs/Building_Diagrams/images/exclusivegatewayexample6.png rename to docs/images/exclusivegatewayexample6.png diff --git a/docs/Debugging_Diagrams/images/executable.png b/docs/images/executable.png similarity index 100% rename from docs/Debugging_Diagrams/images/executable.png rename to docs/images/executable.png diff --git a/docs/Debugging_Diagrams/images/executable1.png b/docs/images/executable1.png similarity index 100% rename from docs/Debugging_Diagrams/images/executable1.png rename to docs/images/executable1.png diff --git a/docs/Support/images/find_by_id.png b/docs/images/find_by_id.png similarity index 100% rename from docs/Support/images/find_by_id.png rename to docs/images/find_by_id.png diff --git a/docs/documentation/images/git.png b/docs/images/git.png similarity index 100% rename from docs/documentation/images/git.png rename to docs/images/git.png diff --git a/docs/DevOps_installation_integration/images/group_permission.png b/docs/images/group_permission.png similarity index 100% rename from docs/DevOps_installation_integration/images/group_permission.png rename to docs/images/group_permission.png diff --git a/docs/Building_Diagrams/images/guest_user1.png b/docs/images/guest_user1.png similarity index 100% rename from docs/Building_Diagrams/images/guest_user1.png rename to docs/images/guest_user1.png diff --git a/docs/Building_Diagrams/images/guest_user2.png b/docs/images/guest_user2.png similarity index 100% rename from docs/Building_Diagrams/images/guest_user2.png rename to docs/images/guest_user2.png diff --git a/docs/Building_Diagrams/images/guest_user3.png b/docs/images/guest_user3.png similarity index 100% rename from docs/Building_Diagrams/images/guest_user3.png rename to docs/images/guest_user3.png diff --git a/docs/Building_Diagrams/images/high_level.png b/docs/images/high_level.png similarity index 100% rename from docs/Building_Diagrams/images/high_level.png rename to docs/images/high_level.png diff --git a/docs/Building_Diagrams/images/id_field.png b/docs/images/id_field.png similarity index 100% rename from docs/Building_Diagrams/images/id_field.png rename to docs/images/id_field.png diff --git a/docs/DevOps_installation_integration/images/image.png b/docs/images/image.png similarity index 100% rename from docs/DevOps_installation_integration/images/image.png rename to docs/images/image.png diff --git a/docs/Support/images/inactive_call_activity.png b/docs/images/inactive_call_activity.png similarity index 100% rename from docs/Support/images/inactive_call_activity.png rename to docs/images/inactive_call_activity.png diff --git a/docs/Building_Diagrams/images/inactive_call_process.png b/docs/images/inactive_call_process.png similarity index 100% rename from docs/Building_Diagrams/images/inactive_call_process.png rename to docs/images/inactive_call_process.png diff --git a/docs/Support/images/inactive_subtask.png b/docs/images/inactive_subtask.png similarity index 100% rename from docs/Support/images/inactive_subtask.png rename to docs/images/inactive_subtask.png diff --git a/docs/Building_Diagrams/images/inclusive_gateway.png b/docs/images/inclusive_gateway.png similarity index 100% rename from docs/Building_Diagrams/images/inclusive_gateway.png rename to docs/images/inclusive_gateway.png diff --git a/docs/Building_Diagrams/images/inclusive_gateway_conditions.png b/docs/images/inclusive_gateway_conditions.png similarity index 100% rename from docs/Building_Diagrams/images/inclusive_gateway_conditions.png rename to docs/images/inclusive_gateway_conditions.png diff --git a/docs/Building_Diagrams/images/inclusive_gateway_example.png b/docs/images/inclusive_gateway_example.png similarity index 100% rename from docs/Building_Diagrams/images/inclusive_gateway_example.png rename to docs/images/inclusive_gateway_example.png diff --git a/docs/Building_Diagrams/images/inclusive_gateway_example1.png b/docs/images/inclusive_gateway_example1.png similarity index 100% rename from docs/Building_Diagrams/images/inclusive_gateway_example1.png rename to docs/images/inclusive_gateway_example1.png diff --git a/docs/Building_Diagrams/images/inclusive_gateway_merge.png b/docs/images/inclusive_gateway_merge.png similarity index 100% rename from docs/Building_Diagrams/images/inclusive_gateway_merge.png rename to docs/images/inclusive_gateway_merge.png diff --git a/docs/Building_Diagrams/images/inclusive_gateway_mp.png b/docs/images/inclusive_gateway_mp.png similarity index 100% rename from docs/Building_Diagrams/images/inclusive_gateway_mp.png rename to docs/images/inclusive_gateway_mp.png diff --git a/docs/Building_Diagrams/images/instructions.png b/docs/images/instructions.png similarity index 100% rename from docs/Building_Diagrams/images/instructions.png rename to docs/images/instructions.png diff --git a/docs/Building_Diagrams/images/intermediate-event-catch-error.256x255.png b/docs/images/intermediate-event-catch-error.256x255.png similarity index 100% rename from docs/Building_Diagrams/images/intermediate-event-catch-error.256x255.png rename to docs/images/intermediate-event-catch-error.256x255.png diff --git a/docs/Building_Diagrams/images/intermediate-event-error.png b/docs/images/intermediate-event-error.png similarity index 100% rename from docs/Building_Diagrams/images/intermediate-event-error.png rename to docs/images/intermediate-event-error.png diff --git a/docs/Building_Diagrams/images/intermediate_catch_msg_event.png b/docs/images/intermediate_catch_msg_event.png similarity index 100% rename from docs/Building_Diagrams/images/intermediate_catch_msg_event.png rename to docs/images/intermediate_catch_msg_event.png diff --git a/docs/Building_Diagrams/images/intermediate_catch_signal_event.png b/docs/images/intermediate_catch_signal_event.png similarity index 100% rename from docs/Building_Diagrams/images/intermediate_catch_signal_event.png rename to docs/images/intermediate_catch_signal_event.png diff --git a/docs/Building_Diagrams/images/intermediate_catch_signal_example.png b/docs/images/intermediate_catch_signal_example.png similarity index 100% rename from docs/Building_Diagrams/images/intermediate_catch_signal_example.png rename to docs/images/intermediate_catch_signal_example.png diff --git a/docs/Building_Diagrams/images/intermediate_catch_signal_example_2.png b/docs/images/intermediate_catch_signal_example_2.png similarity index 100% rename from docs/Building_Diagrams/images/intermediate_catch_signal_example_2.png rename to docs/images/intermediate_catch_signal_example_2.png diff --git a/docs/Building_Diagrams/images/intermediate_conditional_event.png b/docs/images/intermediate_conditional_event.png similarity index 100% rename from docs/Building_Diagrams/images/intermediate_conditional_event.png rename to docs/images/intermediate_conditional_event.png diff --git a/docs/Building_Diagrams/images/intermediate_escalation_catch_event.png b/docs/images/intermediate_escalation_catch_event.png similarity index 100% rename from docs/Building_Diagrams/images/intermediate_escalation_catch_event.png rename to docs/images/intermediate_escalation_catch_event.png diff --git a/docs/Building_Diagrams/images/intermediate_escalation_throw_event.png b/docs/images/intermediate_escalation_throw_event.png similarity index 100% rename from docs/Building_Diagrams/images/intermediate_escalation_throw_event.png rename to docs/images/intermediate_escalation_throw_event.png diff --git a/docs/Building_Diagrams/images/intermediate_event.png b/docs/images/intermediate_event.png similarity index 100% rename from docs/Building_Diagrams/images/intermediate_event.png rename to docs/images/intermediate_event.png diff --git a/docs/Building_Diagrams/images/intermediate_signal_event_example.png b/docs/images/intermediate_signal_event_example.png similarity index 100% rename from docs/Building_Diagrams/images/intermediate_signal_event_example.png rename to docs/images/intermediate_signal_event_example.png diff --git a/docs/Building_Diagrams/images/intermediate_throw_msg_event.png b/docs/images/intermediate_throw_msg_event.png similarity index 100% rename from docs/Building_Diagrams/images/intermediate_throw_msg_event.png rename to docs/images/intermediate_throw_msg_event.png diff --git a/docs/Building_Diagrams/images/intermediate_throw_signal_event.png b/docs/images/intermediate_throw_signal_event.png similarity index 100% rename from docs/Building_Diagrams/images/intermediate_throw_signal_event.png rename to docs/images/intermediate_throw_signal_event.png diff --git a/docs/Building_Diagrams/images/intermediate_throw_signal_example.png b/docs/images/intermediate_throw_signal_example.png similarity index 100% rename from docs/Building_Diagrams/images/intermediate_throw_signal_example.png rename to docs/images/intermediate_throw_signal_example.png diff --git a/docs/Building_Diagrams/images/intermediate_throw_signal_example_2.png b/docs/images/intermediate_throw_signal_example_2.png similarity index 100% rename from docs/Building_Diagrams/images/intermediate_throw_signal_example_2.png rename to docs/images/intermediate_throw_signal_example_2.png diff --git a/docs/Building_Diagrams/images/intermediate_timer_event.png b/docs/images/intermediate_timer_event.png similarity index 100% rename from docs/Building_Diagrams/images/intermediate_timer_event.png rename to docs/images/intermediate_timer_event.png diff --git a/docs/Building_Diagrams/images/interrupting_example.png b/docs/images/interrupting_example.png similarity index 100% rename from docs/Building_Diagrams/images/interrupting_example.png rename to docs/images/interrupting_example.png diff --git a/docs/Building_Diagrams/images/interrupting_group.png b/docs/images/interrupting_group.png similarity index 100% rename from docs/Building_Diagrams/images/interrupting_group.png rename to docs/images/interrupting_group.png diff --git a/docs/Building_Diagrams/images/interrupting_intermediate.png b/docs/images/interrupting_intermediate.png similarity index 100% rename from docs/Building_Diagrams/images/interrupting_intermediate.png rename to docs/images/interrupting_intermediate.png diff --git a/docs/Building_Diagrams/images/interrupting_start.png b/docs/images/interrupting_start.png similarity index 100% rename from docs/Building_Diagrams/images/interrupting_start.png rename to docs/images/interrupting_start.png diff --git a/docs/Building_Diagrams/images/lane_configuration_1.png b/docs/images/lane_configuration_1.png similarity index 100% rename from docs/Building_Diagrams/images/lane_configuration_1.png rename to docs/images/lane_configuration_1.png diff --git a/docs/Building_Diagrams/images/lane_owners.png b/docs/images/lane_owners.png similarity index 100% rename from docs/Building_Diagrams/images/lane_owners.png rename to docs/images/lane_owners.png diff --git a/docs/Building_Diagrams/images/lanes_1.png b/docs/images/lanes_1.png similarity index 100% rename from docs/Building_Diagrams/images/lanes_1.png rename to docs/images/lanes_1.png diff --git a/docs/Building_Diagrams/images/lanes_pools_example_1.png b/docs/images/lanes_pools_example_1.png similarity index 100% rename from docs/Building_Diagrams/images/lanes_pools_example_1.png rename to docs/images/lanes_pools_example_1.png diff --git a/docs/Building_Diagrams/images/lanes_pools_example_2.png b/docs/images/lanes_pools_example_2.png similarity index 100% rename from docs/Building_Diagrams/images/lanes_pools_example_2.png rename to docs/images/lanes_pools_example_2.png diff --git a/docs/Building_Diagrams/images/lanes_pools_example_3.png b/docs/images/lanes_pools_example_3.png similarity index 100% rename from docs/Building_Diagrams/images/lanes_pools_example_3.png rename to docs/images/lanes_pools_example_3.png diff --git a/docs/Building_Diagrams/images/lanes_pools_example_4.png b/docs/images/lanes_pools_example_4.png similarity index 100% rename from docs/Building_Diagrams/images/lanes_pools_example_4.png rename to docs/images/lanes_pools_example_4.png diff --git a/docs/Building_Diagrams/images/loop_example1.png b/docs/images/loop_example1.png similarity index 100% rename from docs/Building_Diagrams/images/loop_example1.png rename to docs/images/loop_example1.png diff --git a/docs/Building_Diagrams/images/loop_example2.png b/docs/images/loop_example2.png similarity index 100% rename from docs/Building_Diagrams/images/loop_example2.png rename to docs/images/loop_example2.png diff --git a/docs/Building_Diagrams/images/manual_outpul.png b/docs/images/manual_outpul.png similarity index 100% rename from docs/Building_Diagrams/images/manual_outpul.png rename to docs/images/manual_outpul.png diff --git a/docs/documentation/images/markdown.png b/docs/images/markdown.png similarity index 100% rename from docs/documentation/images/markdown.png rename to docs/images/markdown.png diff --git a/docs/Building_Diagrams/images/message_1.png b/docs/images/message_1.png similarity index 100% rename from docs/Building_Diagrams/images/message_1.png rename to docs/images/message_1.png diff --git a/docs/Building_Diagrams/images/message_event_example_1.png b/docs/images/message_event_example_1.png similarity index 100% rename from docs/Building_Diagrams/images/message_event_example_1.png rename to docs/images/message_event_example_1.png diff --git a/docs/Building_Diagrams/images/message_example1.png b/docs/images/message_example1.png similarity index 100% rename from docs/Building_Diagrams/images/message_example1.png rename to docs/images/message_example1.png diff --git a/docs/Building_Diagrams/images/message_example2.png b/docs/images/message_example2.png similarity index 100% rename from docs/Building_Diagrams/images/message_example2.png rename to docs/images/message_example2.png diff --git a/docs/Building_Diagrams/images/message_example3.png b/docs/images/message_example3.png similarity index 100% rename from docs/Building_Diagrams/images/message_example3.png rename to docs/images/message_example3.png diff --git a/docs/Building_Diagrams/images/message_example4.png b/docs/images/message_example4.png similarity index 100% rename from docs/Building_Diagrams/images/message_example4.png rename to docs/images/message_example4.png diff --git a/docs/Building_Diagrams/images/message_example5.png b/docs/images/message_example5.png similarity index 100% rename from docs/Building_Diagrams/images/message_example5.png rename to docs/images/message_example5.png diff --git a/docs/Building_Diagrams/images/message_example6.png b/docs/images/message_example6.png similarity index 100% rename from docs/Building_Diagrams/images/message_example6.png rename to docs/images/message_example6.png diff --git a/docs/Building_Diagrams/images/model_convention.png b/docs/images/model_convention.png similarity index 100% rename from docs/Building_Diagrams/images/model_convention.png rename to docs/images/model_convention.png diff --git a/docs/Building_Diagrams/images/model_left_to_right_r.png b/docs/images/model_left_to_right_r.png similarity index 100% rename from docs/Building_Diagrams/images/model_left_to_right_r.png rename to docs/images/model_left_to_right_r.png diff --git a/docs/Building_Diagrams/images/model_left_to_right_w.png b/docs/images/model_left_to_right_w.png similarity index 100% rename from docs/Building_Diagrams/images/model_left_to_right_w.png rename to docs/images/model_left_to_right_w.png diff --git a/docs/Building_Diagrams/images/msg_event_example_2.png b/docs/images/msg_event_example_2.png similarity index 100% rename from docs/Building_Diagrams/images/msg_event_example_2.png rename to docs/images/msg_event_example_2.png diff --git a/docs/Building_Diagrams/images/msg_event_example_3.png b/docs/images/msg_event_example_3.png similarity index 100% rename from docs/Building_Diagrams/images/msg_event_example_3.png rename to docs/images/msg_event_example_3.png diff --git a/docs/Building_Diagrams/images/msg_event_example_4.png b/docs/images/msg_event_example_4.png similarity index 100% rename from docs/Building_Diagrams/images/msg_event_example_4.png rename to docs/images/msg_event_example_4.png diff --git a/docs/Building_Diagrams/images/msg_event_example_5.png b/docs/images/msg_event_example_5.png similarity index 100% rename from docs/Building_Diagrams/images/msg_event_example_5.png rename to docs/images/msg_event_example_5.png diff --git a/docs/Building_Diagrams/images/multiinstance_ex.png b/docs/images/multiinstance_ex.png similarity index 100% rename from docs/Building_Diagrams/images/multiinstance_ex.png rename to docs/images/multiinstance_ex.png diff --git a/docs/Building_Diagrams/images/multiinstance_ex1.png b/docs/images/multiinstance_ex1.png similarity index 100% rename from docs/Building_Diagrams/images/multiinstance_ex1.png rename to docs/images/multiinstance_ex1.png diff --git a/docs/Building_Diagrams/images/multiinstance_example1.png b/docs/images/multiinstance_example1.png similarity index 100% rename from docs/Building_Diagrams/images/multiinstance_example1.png rename to docs/images/multiinstance_example1.png diff --git a/docs/Building_Diagrams/images/multiinstance_example2.png b/docs/images/multiinstance_example2.png similarity index 100% rename from docs/Building_Diagrams/images/multiinstance_example2.png rename to docs/images/multiinstance_example2.png diff --git a/docs/Building_Diagrams/images/multiinstance_example5.png b/docs/images/multiinstance_example5.png similarity index 100% rename from docs/Building_Diagrams/images/multiinstance_example5.png rename to docs/images/multiinstance_example5.png diff --git a/docs/Building_Diagrams/images/multiinstance_parallel_example.png b/docs/images/multiinstance_parallel_example.png similarity index 100% rename from docs/Building_Diagrams/images/multiinstance_parallel_example.png rename to docs/images/multiinstance_parallel_example.png diff --git a/docs/Building_Diagrams/images/multiinstance_properties.png b/docs/images/multiinstance_properties.png similarity index 100% rename from docs/Building_Diagrams/images/multiinstance_properties.png rename to docs/images/multiinstance_properties.png diff --git a/docs/Building_Diagrams/images/multiinstance_sequential_example.png b/docs/images/multiinstance_sequential_example.png similarity index 100% rename from docs/Building_Diagrams/images/multiinstance_sequential_example.png rename to docs/images/multiinstance_sequential_example.png diff --git a/docs/Support/images/my_process_instances.png b/docs/images/my_process_instances.png similarity index 100% rename from docs/Support/images/my_process_instances.png rename to docs/images/my_process_instances.png diff --git a/docs/documentation/images/myst.png b/docs/images/myst.png similarity index 100% rename from docs/documentation/images/myst.png rename to docs/images/myst.png diff --git a/docs/Building_Diagrams/images/name_field.png b/docs/images/name_field.png similarity index 100% rename from docs/Building_Diagrams/images/name_field.png rename to docs/images/name_field.png diff --git a/docs/Building_Diagrams/images/naming_convention.png b/docs/images/naming_convention.png similarity index 100% rename from docs/Building_Diagrams/images/naming_convention.png rename to docs/images/naming_convention.png diff --git a/docs/Building_Diagrams/images/non-boundary_event.png b/docs/images/non-boundary_event.png similarity index 100% rename from docs/Building_Diagrams/images/non-boundary_event.png rename to docs/images/non-boundary_event.png diff --git a/docs/Building_Diagrams/images/non-boundary_event_example.png b/docs/images/non-boundary_event_example.png similarity index 100% rename from docs/Building_Diagrams/images/non-boundary_event_example.png rename to docs/images/non-boundary_event_example.png diff --git a/docs/Building_Diagrams/images/non-interrupting_example.png b/docs/images/non-interrupting_example.png similarity index 100% rename from docs/Building_Diagrams/images/non-interrupting_example.png rename to docs/images/non-interrupting_example.png diff --git a/docs/Building_Diagrams/images/non-interrupting_group.png b/docs/images/non-interrupting_group.png similarity index 100% rename from docs/Building_Diagrams/images/non-interrupting_group.png rename to docs/images/non-interrupting_group.png diff --git a/docs/Debugging_Diagrams/images/non_executable.png b/docs/images/non_executable.png similarity index 100% rename from docs/Debugging_Diagrams/images/non_executable.png rename to docs/images/non_executable.png diff --git a/docs/Debugging_Diagrams/images/non_executable1.png b/docs/images/non_executable1.png similarity index 100% rename from docs/Debugging_Diagrams/images/non_executable1.png rename to docs/images/non_executable1.png diff --git a/docs/Building_Diagrams/images/non_interrupting_conditional_start_event.png b/docs/images/non_interrupting_conditional_start_event.png similarity index 100% rename from docs/Building_Diagrams/images/non_interrupting_conditional_start_event.png rename to docs/images/non_interrupting_conditional_start_event.png diff --git a/docs/Building_Diagrams/images/non_interrupting_intermediate_conditional_event.png b/docs/images/non_interrupting_intermediate_conditional_event.png similarity index 100% rename from docs/Building_Diagrams/images/non_interrupting_intermediate_conditional_event.png rename to docs/images/non_interrupting_intermediate_conditional_event.png diff --git a/docs/Building_Diagrams/images/non_interrupting_intermediate_escalation_event.png b/docs/images/non_interrupting_intermediate_escalation_event.png similarity index 100% rename from docs/Building_Diagrams/images/non_interrupting_intermediate_escalation_event.png rename to docs/images/non_interrupting_intermediate_escalation_event.png diff --git a/docs/Building_Diagrams/images/non_interrupting_intermediate_timer_event.png b/docs/images/non_interrupting_intermediate_timer_event.png similarity index 100% rename from docs/Building_Diagrams/images/non_interrupting_intermediate_timer_event.png rename to docs/images/non_interrupting_intermediate_timer_event.png diff --git a/docs/Building_Diagrams/images/non_interrupting_start_escalation_event.png b/docs/images/non_interrupting_start_escalation_event.png similarity index 100% rename from docs/Building_Diagrams/images/non_interrupting_start_escalation_event.png rename to docs/images/non_interrupting_start_escalation_event.png diff --git a/docs/Building_Diagrams/images/non_interrupting_start_timer.png b/docs/images/non_interrupting_start_timer.png similarity index 100% rename from docs/Building_Diagrams/images/non_interrupting_start_timer.png rename to docs/images/non_interrupting_start_timer.png diff --git a/docs/DevOps_installation_integration/images/okta_config.png b/docs/images/okta_config.png similarity index 100% rename from docs/DevOps_installation_integration/images/okta_config.png rename to docs/images/okta_config.png diff --git a/docs/Support/images/onboarding_1.png b/docs/images/onboarding_1.png similarity index 100% rename from docs/Support/images/onboarding_1.png rename to docs/images/onboarding_1.png diff --git a/docs/Support/images/onboarding_2.png b/docs/images/onboarding_2.png similarity index 100% rename from docs/Support/images/onboarding_2.png rename to docs/images/onboarding_2.png diff --git a/docs/Support/images/onboarding_3.png b/docs/images/onboarding_3.png similarity index 100% rename from docs/Support/images/onboarding_3.png rename to docs/images/onboarding_3.png diff --git a/docs/Support/images/onboarding_4.png b/docs/images/onboarding_4.png similarity index 100% rename from docs/Support/images/onboarding_4.png rename to docs/images/onboarding_4.png diff --git a/docs/Building_Diagrams/images/out_of_stock.png b/docs/images/out_of_stock.png similarity index 100% rename from docs/Building_Diagrams/images/out_of_stock.png rename to docs/images/out_of_stock.png diff --git a/docs/Building_Diagrams/images/parallel_gateway.png b/docs/images/parallel_gateway.png similarity index 100% rename from docs/Building_Diagrams/images/parallel_gateway.png rename to docs/images/parallel_gateway.png diff --git a/docs/Building_Diagrams/images/parallel_gateway_ex1.png b/docs/images/parallel_gateway_ex1.png similarity index 100% rename from docs/Building_Diagrams/images/parallel_gateway_ex1.png rename to docs/images/parallel_gateway_ex1.png diff --git a/docs/Building_Diagrams/images/parallel_gateway_ex2.png b/docs/images/parallel_gateway_ex2.png similarity index 100% rename from docs/Building_Diagrams/images/parallel_gateway_ex2.png rename to docs/images/parallel_gateway_ex2.png diff --git a/docs/Building_Diagrams/images/parallel_gateways.png b/docs/images/parallel_gateways.png similarity index 100% rename from docs/Building_Diagrams/images/parallel_gateways.png rename to docs/images/parallel_gateways.png diff --git a/docs/Building_Diagrams/images/parallel_gateways_examples.png b/docs/images/parallel_gateways_examples.png similarity index 100% rename from docs/Building_Diagrams/images/parallel_gateways_examples.png rename to docs/images/parallel_gateways_examples.png diff --git a/docs/Building_Diagrams/images/parallel_gateways_merge.png b/docs/images/parallel_gateways_merge.png similarity index 100% rename from docs/Building_Diagrams/images/parallel_gateways_merge.png rename to docs/images/parallel_gateways_merge.png diff --git a/docs/Building_Diagrams/images/participant_configuration_1.png b/docs/images/participant_configuration_1.png similarity index 100% rename from docs/Building_Diagrams/images/participant_configuration_1.png rename to docs/images/participant_configuration_1.png diff --git a/docs/Building_Diagrams/images/participant_customer_1.png b/docs/images/participant_customer_1.png similarity index 100% rename from docs/Building_Diagrams/images/participant_customer_1.png rename to docs/images/participant_customer_1.png diff --git a/docs/Building_Diagrams/images/participant_lane_1.png b/docs/images/participant_lane_1.png similarity index 100% rename from docs/Building_Diagrams/images/participant_lane_1.png rename to docs/images/participant_lane_1.png diff --git a/docs/Building_Diagrams/images/participant_sales_1.png b/docs/images/participant_sales_1.png similarity index 100% rename from docs/Building_Diagrams/images/participant_sales_1.png rename to docs/images/participant_sales_1.png diff --git a/docs/Building_Diagrams/images/payload_msg.png b/docs/images/payload_msg.png similarity index 100% rename from docs/Building_Diagrams/images/payload_msg.png rename to docs/images/payload_msg.png diff --git a/docs/Building_Diagrams/images/pool_configuration.png b/docs/images/pool_configuration.png similarity index 100% rename from docs/Building_Diagrams/images/pool_configuration.png rename to docs/images/pool_configuration.png diff --git a/docs/Building_Diagrams/images/pool_settings_1.png b/docs/images/pool_settings_1.png similarity index 100% rename from docs/Building_Diagrams/images/pool_settings_1.png rename to docs/images/pool_settings_1.png diff --git a/docs/Building_Diagrams/images/pools_and_lanes_1.png b/docs/images/pools_and_lanes_1.png similarity index 100% rename from docs/Building_Diagrams/images/pools_and_lanes_1.png rename to docs/images/pools_and_lanes_1.png diff --git a/docs/Support/images/previous_active_state.png b/docs/images/previous_active_state.png similarity index 100% rename from docs/Support/images/previous_active_state.png rename to docs/images/previous_active_state.png diff --git a/docs/Building_Diagrams/images/private_data_object.png b/docs/images/private_data_object.png similarity index 100% rename from docs/Building_Diagrams/images/private_data_object.png rename to docs/images/private_data_object.png diff --git a/docs/DevOps_installation_integration/images/process_groups_tile.png b/docs/images/process_groups_tile.png similarity index 100% rename from docs/DevOps_installation_integration/images/process_groups_tile.png rename to docs/images/process_groups_tile.png diff --git a/docs/Support/images/process_instance_not_found.png b/docs/images/process_instance_not_found.png similarity index 100% rename from docs/Support/images/process_instance_not_found.png rename to docs/images/process_instance_not_found.png diff --git a/docs/Support/images/process_instance_tab.png b/docs/images/process_instance_tab.png similarity index 100% rename from docs/Support/images/process_instance_tab.png rename to docs/images/process_instance_tab.png diff --git a/docs/Building_Diagrams/images/relationship_message.png b/docs/images/relationship_message.png similarity index 100% rename from docs/Building_Diagrams/images/relationship_message.png rename to docs/images/relationship_message.png diff --git a/docs/Support/images/reset_process.png b/docs/images/reset_process.png similarity index 100% rename from docs/Support/images/reset_process.png rename to docs/images/reset_process.png diff --git a/docs/Support/images/reset_process1.png b/docs/images/reset_process1.png similarity index 100% rename from docs/Support/images/reset_process1.png rename to docs/images/reset_process1.png diff --git a/docs/Support/images/reset_process2.png b/docs/images/reset_process2.png similarity index 100% rename from docs/Support/images/reset_process2.png rename to docs/images/reset_process2.png diff --git a/docs/Support/images/reset_process3.png b/docs/images/reset_process3.png similarity index 100% rename from docs/Support/images/reset_process3.png rename to docs/images/reset_process3.png diff --git a/docs/Support/images/reset_process4.png b/docs/images/reset_process4.png similarity index 100% rename from docs/Support/images/reset_process4.png rename to docs/images/reset_process4.png diff --git a/docs/Support/images/reset_process5.png b/docs/images/reset_process5.png similarity index 100% rename from docs/Support/images/reset_process5.png rename to docs/images/reset_process5.png diff --git a/docs/Support/images/reset_process6.png b/docs/images/reset_process6.png similarity index 100% rename from docs/Support/images/reset_process6.png rename to docs/images/reset_process6.png diff --git a/docs/Support/images/resume.png b/docs/images/resume.png similarity index 100% rename from docs/Support/images/resume.png rename to docs/images/resume.png diff --git a/docs/Building_Diagrams/images/rsjf_markdown.png b/docs/images/rsjf_markdown.png similarity index 100% rename from docs/Building_Diagrams/images/rsjf_markdown.png rename to docs/images/rsjf_markdown.png diff --git a/docs/Building_Diagrams/images/search_process_instance.png b/docs/images/search_process_instance.png similarity index 100% rename from docs/Building_Diagrams/images/search_process_instance.png rename to docs/images/search_process_instance.png diff --git a/docs/Building_Diagrams/images/sensitive_value.png b/docs/images/sensitive_value.png similarity index 100% rename from docs/Building_Diagrams/images/sensitive_value.png rename to docs/images/sensitive_value.png diff --git a/docs/Building_Diagrams/images/separate_pools_1.png b/docs/images/separate_pools_1.png similarity index 100% rename from docs/Building_Diagrams/images/separate_pools_1.png rename to docs/images/separate_pools_1.png diff --git a/docs/Building_Diagrams/images/service_task_doc1.png b/docs/images/service_task_doc1.png similarity index 100% rename from docs/Building_Diagrams/images/service_task_doc1.png rename to docs/images/service_task_doc1.png diff --git a/docs/Building_Diagrams/images/service_task_doc2.png b/docs/images/service_task_doc2.png similarity index 100% rename from docs/Building_Diagrams/images/service_task_doc2.png rename to docs/images/service_task_doc2.png diff --git a/docs/Building_Diagrams/images/service_task_doc3.png b/docs/images/service_task_doc3.png similarity index 100% rename from docs/Building_Diagrams/images/service_task_doc3.png rename to docs/images/service_task_doc3.png diff --git a/docs/Building_Diagrams/images/setting_permissions.png b/docs/images/setting_permissions.png similarity index 100% rename from docs/Building_Diagrams/images/setting_permissions.png rename to docs/images/setting_permissions.png diff --git a/docs/Building_Diagrams/images/signal_event_example.png b/docs/images/signal_event_example.png similarity index 100% rename from docs/Building_Diagrams/images/signal_event_example.png rename to docs/images/signal_event_example.png diff --git a/docs/Building_Diagrams/images/signal_event_example_2.png b/docs/images/signal_event_example_2.png similarity index 100% rename from docs/Building_Diagrams/images/signal_event_example_2.png rename to docs/images/signal_event_example_2.png diff --git a/docs/Building_Diagrams/images/signal_relationships.png b/docs/images/signal_relationships.png similarity index 100% rename from docs/Building_Diagrams/images/signal_relationships.png rename to docs/images/signal_relationships.png diff --git a/docs/Building_Diagrams/images/signal_sync_example.png b/docs/images/signal_sync_example.png similarity index 100% rename from docs/Building_Diagrams/images/signal_sync_example.png rename to docs/images/signal_sync_example.png diff --git a/docs/DevOps_installation_integration/images/site_administration.png b/docs/images/site_administration.png similarity index 100% rename from docs/DevOps_installation_integration/images/site_administration.png rename to docs/images/site_administration.png diff --git a/docs/Building_Diagrams/images/start-event-error.1024x1024.png b/docs/images/start-event-error.1024x1024.png similarity index 100% rename from docs/Building_Diagrams/images/start-event-error.1024x1024.png rename to docs/images/start-event-error.1024x1024.png diff --git a/docs/Building_Diagrams/images/start-event-error.256x256.png b/docs/images/start-event-error.256x256.png similarity index 100% rename from docs/Building_Diagrams/images/start-event-error.256x256.png rename to docs/images/start-event-error.256x256.png diff --git a/docs/Building_Diagrams/images/start_conditional_event.png b/docs/images/start_conditional_event.png similarity index 100% rename from docs/Building_Diagrams/images/start_conditional_event.png rename to docs/images/start_conditional_event.png diff --git a/docs/Building_Diagrams/images/start_escalation_event.png b/docs/images/start_escalation_event.png similarity index 100% rename from docs/Building_Diagrams/images/start_escalation_event.png rename to docs/images/start_escalation_event.png diff --git a/docs/Building_Diagrams/images/start_escalation_example.png b/docs/images/start_escalation_example.png similarity index 100% rename from docs/Building_Diagrams/images/start_escalation_example.png rename to docs/images/start_escalation_example.png diff --git a/docs/Building_Diagrams/images/start_escalation_example_1.png b/docs/images/start_escalation_example_1.png similarity index 100% rename from docs/Building_Diagrams/images/start_escalation_example_1.png rename to docs/images/start_escalation_example_1.png diff --git a/docs/Building_Diagrams/images/start_escalation_example_2.png b/docs/images/start_escalation_example_2.png similarity index 100% rename from docs/Building_Diagrams/images/start_escalation_example_2.png rename to docs/images/start_escalation_example_2.png diff --git a/docs/Building_Diagrams/images/start_event_t.png b/docs/images/start_event_t.png similarity index 100% rename from docs/Building_Diagrams/images/start_event_t.png rename to docs/images/start_event_t.png diff --git a/docs/Building_Diagrams/images/start_message_event_1.png b/docs/images/start_message_event_1.png similarity index 100% rename from docs/Building_Diagrams/images/start_message_event_1.png rename to docs/images/start_message_event_1.png diff --git a/docs/Building_Diagrams/images/start_signal_event.png b/docs/images/start_signal_event.png similarity index 100% rename from docs/Building_Diagrams/images/start_signal_event.png rename to docs/images/start_signal_event.png diff --git a/docs/Building_Diagrams/images/start_timer_event.png b/docs/images/start_timer_event.png similarity index 100% rename from docs/Building_Diagrams/images/start_timer_event.png rename to docs/images/start_timer_event.png diff --git a/docs/Building_Diagrams/images/start_timer_example.png b/docs/images/start_timer_example.png similarity index 100% rename from docs/Building_Diagrams/images/start_timer_example.png rename to docs/images/start_timer_example.png diff --git a/docs/Building_Diagrams/images/start_timer_example_1.png b/docs/images/start_timer_example_1.png similarity index 100% rename from docs/Building_Diagrams/images/start_timer_example_1.png rename to docs/images/start_timer_example_1.png diff --git a/docs/Building_Diagrams/images/start_timer_example_2.png b/docs/images/start_timer_example_2.png similarity index 100% rename from docs/Building_Diagrams/images/start_timer_example_2.png rename to docs/images/start_timer_example_2.png diff --git a/docs/Building_Diagrams/images/start_timer_example_3.png b/docs/images/start_timer_example_3.png similarity index 100% rename from docs/Building_Diagrams/images/start_timer_example_3.png rename to docs/images/start_timer_example_3.png diff --git a/docs/Building_Diagrams/images/styling_forms.png b/docs/images/styling_forms.png similarity index 100% rename from docs/Building_Diagrams/images/styling_forms.png rename to docs/images/styling_forms.png diff --git a/docs/Building_Diagrams/images/sub_process.png b/docs/images/sub_process.png similarity index 100% rename from docs/Building_Diagrams/images/sub_process.png rename to docs/images/sub_process.png diff --git a/docs/Building_Diagrams/images/sub_process1.png b/docs/images/sub_process1.png similarity index 100% rename from docs/Building_Diagrams/images/sub_process1.png rename to docs/images/sub_process1.png diff --git a/docs/Support/images/suspend.png b/docs/images/suspend.png similarity index 100% rename from docs/Support/images/suspend.png rename to docs/images/suspend.png diff --git a/docs/Support/images/suspended.png b/docs/images/suspended.png similarity index 100% rename from docs/Support/images/suspended.png rename to docs/images/suspended.png diff --git a/docs/Getting_Started/images/task_instance_history.png b/docs/images/task_instance_history.png similarity index 100% rename from docs/Getting_Started/images/task_instance_history.png rename to docs/images/task_instance_history.png diff --git a/docs/Support/images/terminate.png b/docs/images/terminate.png similarity index 100% rename from docs/Support/images/terminate.png rename to docs/images/terminate.png diff --git a/docs/Support/images/terminate_warning.png b/docs/images/terminate_warning.png similarity index 100% rename from docs/Support/images/terminate_warning.png rename to docs/images/terminate_warning.png diff --git a/docs/Support/images/terminated.png b/docs/images/terminated.png similarity index 100% rename from docs/Support/images/terminated.png rename to docs/images/terminated.png diff --git a/docs/Support/images/terminated_process_instance.png b/docs/images/terminated_process_instance.png similarity index 100% rename from docs/Support/images/terminated_process_instance.png rename to docs/images/terminated_process_instance.png diff --git a/docs/Building_Diagrams/images/throw_events.png b/docs/images/throw_events.png similarity index 100% rename from docs/Building_Diagrams/images/throw_events.png rename to docs/images/throw_events.png diff --git a/docs/Building_Diagrams/images/throw_example.png b/docs/images/throw_example.png similarity index 100% rename from docs/Building_Diagrams/images/throw_example.png rename to docs/images/throw_example.png diff --git a/docs/Building_Diagrams/images/timer_field.png b/docs/images/timer_field.png similarity index 100% rename from docs/Building_Diagrams/images/timer_field.png rename to docs/images/timer_field.png diff --git a/docs/DevOps_installation_integration/images/upload_file.png b/docs/images/upload_file.png similarity index 100% rename from docs/DevOps_installation_integration/images/upload_file.png rename to docs/images/upload_file.png diff --git a/docs/Building_Diagrams/images/user_groups.png b/docs/images/user_groups.png similarity index 100% rename from docs/Building_Diagrams/images/user_groups.png rename to docs/images/user_groups.png diff --git a/docs/Support/images/user_input_required.png b/docs/images/user_input_required.png similarity index 100% rename from docs/Support/images/user_input_required.png rename to docs/images/user_input_required.png diff --git a/docs/Building_Diagrams/images/user_tasks_properties.png b/docs/images/user_tasks_properties.png similarity index 100% rename from docs/Building_Diagrams/images/user_tasks_properties.png rename to docs/images/user_tasks_properties.png diff --git a/docs/DevOps_installation_integration/images/user_to_groups.png b/docs/images/user_to_groups.png similarity index 100% rename from docs/DevOps_installation_integration/images/user_to_groups.png rename to docs/images/user_to_groups.png diff --git a/docs/Building_Diagrams/images/version.png b/docs/images/version.png similarity index 100% rename from docs/Building_Diagrams/images/version.png rename to docs/images/version.png diff --git a/docs/Getting_Started/images/waiter.png b/docs/images/waiter.png similarity index 100% rename from docs/Getting_Started/images/waiter.png rename to docs/images/waiter.png diff --git a/docs/Support/images/waiting.png b/docs/images/waiting.png similarity index 100% rename from docs/Support/images/waiting.png rename to docs/images/waiting.png diff --git a/docs/index.md b/docs/index.md index 55dfa53dc..61eea06c2 100644 --- a/docs/index.md +++ b/docs/index.md @@ -13,115 +13,51 @@ ## In This Documentation ```{toctree} -:maxdepth: 1 -:caption: Tutorials -Getting_Started/quick_start.md -``` +:maxdepth: 2 +:hidden: -```{toctree} -:maxdepth: 1 -:caption: How-to Guides -Building_Diagrams/user_tasks_and_forms.md +tutorials/index +how_to_guides/index +reference/index +explanation/index ``` -```{toctree} -:maxdepth: 1 -:caption: Reference -appendices/glossary.md -``` +## [Tutorials](tutorials/index) -```{toctree} -:maxdepth: 1 -:caption: Explanation -Debugging_Diagrams/process_error_handling.md -``` +**Start here**: A hands-on introduction to SpiffWorkflow for new users. -```{toctree} -:maxdepth: 1 -:caption: Building Diagrams -Building_Diagrams/learn_basics.md -Building_Diagrams/bpmn.md -Building_Diagrams/user_tasks_and_forms.md -Building_Diagrams/gateways.md -Building_Diagrams/events.md -Building_Diagrams/message_events.md -Building_Diagrams/signal_events.md -Building_Diagrams/timer_events.md -Building_Diagrams/escalation_events.md -Building_Diagrams/conditional_events.md -Building_Diagrams/error_events.md -Building_Diagrams/Displaying_Content.md -Building_Diagrams/Script_Tasks.md -Building_Diagrams/service_tasks.md -Building_Diagrams/sub-processes_and_call_activities.md -Building_Diagrams/data.md -Building_Diagrams/multiinstance.md -Building_Diagrams/dmn.md -Building_Diagrams/pools_and_lanes.md -Building_Diagrams/Builtin_examples.md -``` +## [How-to guides](how_to_guides/index) + +**Step-by-step guides**: Covering key operations and common tasks. + +## [Reference](reference/index) + +**Technical information**: Specifications, APIs, architecture. + +## [Explanation](explanation/index) + +**Discussion and clarification**: Background covering key topics ```{toctree} :maxdepth: 1 :caption: Debugging Diagrams -Debugging_Diagrams/bpmn_unit_tests.md -Debugging_Diagrams/process_error_handling.md -Debugging_Diagrams/executable_non_executable.md ``` ```{toctree} :maxdepth: 1 :caption: Support & Administration -Support/manage_processes.md -Support/Welcome_Messages.md -Support/Running_Server_Locally.md -Support/FAQ.md -``` - -```{toctree} -:maxdepth: 1 -:caption: Technical Docs -dev/index.md -dev/setup.md -dev/backend.md -dev/frontend.md -dev/connector_proxy.md -dev/how_to_build_a_connector.md -dev/extensions.md -dev/process.md ``` ```{toctree} :maxdepth: 1 :caption: DevOps - Installation & Integration -DevOps_installation_integration/deployment.md -DevOps_installation_integration/admin_and_permissions.md -DevOps_installation_integration/permission_url.md -DevOps_installation_integration/configure_connector_proxy.md -DevOps_installation_integration/deploy_aws_lambda.md -DevOps_installation_integration/Secrets.md -DevOps_installation_integration/redis_celery_broker.md -DevOps_installation_integration/path_based_routing.md -DevOps_installation_integration/process_model_management.md -DevOps_installation_integration/okta_config.md ``` ```{toctree} :maxdepth: 1 :caption: Appendices -appendices/articles.md -documentation/documentation.md -Building_Diagrams/custom_process_metadata.md -wish_list/wish_list.md -_tags/tagsindex.md ``` -## Indices and Tables - -- [](genindex) -- [](modindex) -- [](search) - ## Project and Community SpiffWorkflow is an open-source project that welcomes community contributions, suggestions, and feedback. @@ -129,4 +65,4 @@ SpiffWorkflow is an open-source project that welcomes community contributions, s - [Join our online chat](https://discord.gg/F6Kb7HNK7B) - [Contribute](https://github.com/sartography/spiff-arena/blob/main/CONTRIBUTING.rst) - [Roadmap](https://github.com/sartography/spiff-arena/issues) -- [Thinking about using SpiffWorkflow for your next project? Get in touch!](https://www.spiffworkflow.org/) +- Thinking about using SpiffWorkflow for your next project? [Get in touch!](https://www.spiffworkflow.org/) diff --git a/docs/Support/FAQ.md b/docs/reference/FAQ.md similarity index 99% rename from docs/Support/FAQ.md rename to docs/reference/FAQ.md index 7b2d22efc..ed9f5a8a6 100644 --- a/docs/Support/FAQ.md +++ b/docs/reference/FAQ.md @@ -7,7 +7,7 @@ **Q:** Is there a setup where I can run it within PyCharm? **A:** Yes, you can run SpiffWorkflow within PyCharm. For detailed settings, refer to the provided screenshot of Flask server details. -![Flask](images/Flask.png) +![Flask](/images/Flask.png) ### **2. Adding Python Libraries to SpiffWorkflow** @@ -114,7 +114,7 @@ workflow.reset_from_task_id(start.id) **Q:** How can we mimic an inclusive gateway since SpiffWorkflow doesn't support it? **A:** You can work around the absence of an inclusive gateway in SpiffWorkflow by using a Parallel Gateway. Within each path following the Parallel Gateway, you can place an Exclusive Gateway to check for the conditions that are or are not required. This approach is effective if the flows can eventually be merged back together. -![Mimicking Inclusive Gateway](images/Mimicking_inclusive_gateway.png) +![Mimicking Inclusive Gateway](/images/Mimicking_inclusive_gateway.png) ### **19. Designing an Approval Process in SpiffWorkflow** diff --git a/docs/Building_Diagrams/Script_Tasks.md b/docs/reference/bpmn/Script_Tasks.md similarity index 98% rename from docs/Building_Diagrams/Script_Tasks.md rename to docs/reference/bpmn/Script_Tasks.md index d651804ff..d24c68154 100644 --- a/docs/Building_Diagrams/Script_Tasks.md +++ b/docs/reference/bpmn/Script_Tasks.md @@ -7,7 +7,7 @@ In SpiffArena, the scripting language used for writing scripts is Python, a wide Python offers a rich array of libraries, frameworks, and tools that facilitate script development, making it a popular choice for implementing custom logic and automation. ## **Script Task Properties** - ```{image} ./images/Script_task_update.png + ```{image} /images/Script_task_update.png :alt: Script Task :width: 300px :align: right @@ -56,7 +56,7 @@ The score is then stored in the "score" variable. Let's delve into how we configured the script tasks: -![Script_Task](images/Script_task_example.png) +![Script_Task](/images/Script_task_example.png) **Step 1**: With the script task selected, you will notice the properties tab. @@ -109,7 +109,7 @@ Now, we have configured our script task with a script and unit tests. After the Script Task, we have a Manual Task with a pre-script and instructions to display the score. -![Script_Task](images/Pre-post_scripts.png) +![Script_Task](/images/Pre-post_scripts.png) - **Pre-script** is added as an example. diff --git a/docs/Building_Diagrams/conditional_events.md b/docs/reference/bpmn/conditional_events.md similarity index 80% rename from docs/Building_Diagrams/conditional_events.md rename to docs/reference/bpmn/conditional_events.md index 9ab9a7447..3b188a850 100644 --- a/docs/Building_Diagrams/conditional_events.md +++ b/docs/reference/bpmn/conditional_events.md @@ -18,14 +18,14 @@ Importantly, this variable needs to be accessible within the process context. ## Start Conditional Event -![start_signal_event](images/start_conditional_event.png) -![start_signal_event](images/non_interrupting_conditional_start_event.png) +![start_signal_event](/images/start_conditional_event.png) +![start_signal_event](/images/non_interrupting_conditional_start_event.png) A Start Conditional Event marks the beginning of a process or a sub-process, triggered when a specific condition is fulfilled, or in other terms, when the condition evaluates to true. **Example:** -![conditional_start_example](images/conditional_start_example_1.png) +![conditional_start_example](/images/conditional_start_example_1.png) **Conditional Start Event (interrupting):** In the first scenario, as a transaction is being processed, funds are withdrawn from a ledger. @@ -39,8 +39,8 @@ Our goal is to maintain an uninterrupted shopping experience for the customer, y ## Intermediate Conditional Event -![intermediate_conditional_event](images/intermediate_conditional_event.png) -![intermediate_conditional_event](images/non_interrupting_intermediate_conditional_event.png) +![intermediate_conditional_event](/images/intermediate_conditional_event.png) +![intermediate_conditional_event](/images/non_interrupting_intermediate_conditional_event.png) An Intermediate Conditional Event serves as a gate or checkpoint within the flow of a process. The process flow will proceed once the attached condition evaluates to true. @@ -49,7 +49,7 @@ This ensures that certain actions are taken or the process is redirected when pa **Example:** -![conditional_intermediate_example_1](images/conditional_intermediate_example_1.png) +![conditional_intermediate_example_1](/images/conditional_intermediate_example_1.png) **Conditional Intermediate Catch Event:** Once an order is packed and ready for shipping, it doesn't necessarily imply immediate delivery. @@ -64,7 +64,7 @@ Given that our pastries need a specific temperature for baking, only when this c **Example:** -![conditional_intermediate_example_2](images/conditional_intermediate_example_2.png) +![conditional_intermediate_example_2](/images/conditional_intermediate_example_2.png) **Conditional Boundary Event (interrupting):** Boundary events allow us to redirect our processes based on shifts in certain conditions. @@ -82,7 +82,7 @@ The task still requires completion, but there's an additional remark or modifica **Best Modeling Practices:** -![conditional_intermediate_example_3](images/conditional_intermediate_example_3.png) +![conditional_intermediate_example_3](/images/conditional_intermediate_example_3.png) When utilizing a condition to loop back to a previous stage, it's crucial to highlight that the condition should be reset to evaluate as false once again. If not adjusted, the condition might activate immediately when the instance revisits the task, potentially causing an infinite loop. @@ -92,9 +92,9 @@ Always revert the condition to its default state to ensure appropriate behavior. | πŸ’» Form | ⌨ Field Input | πŸ“ Description | | ---------------------------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------- | -| ![name_field](images/name_field.png) | **Name:** Request Assistance | A descriptive name given to the element, providing a human-readable label or title. | -| ![id_field](images/id_field.png) | **ID:** Example - request_assistance | An identifier used to uniquely identify the element within the BPMN model. | -| ![configure_conditional_event](images/configure_conditional_event.png) | **Conditional Expression:** request_assistance == true | Set the expression that needs to be evaluated to take action. | +| ![name_field](/images/name_field.png) | **Name:** Request Assistance | A descriptive name given to the element, providing a human-readable label or title. | +| ![id_field](/images/id_field.png) | **ID:** Example - request_assistance | An identifier used to uniquely identify the element within the BPMN model. | +| ![configure_conditional_event](/images/configure_conditional_event.png) | **Conditional Expression:** request_assistance == true | Set the expression that needs to be evaluated to take action. | ```{admonition} Note ⚠ When configuring the conditional expression, ensure there's such a variable in your process context. diff --git a/docs/Building_Diagrams/data.md b/docs/reference/bpmn/data.md similarity index 100% rename from docs/Building_Diagrams/data.md rename to docs/reference/bpmn/data.md diff --git a/docs/Building_Diagrams/data_objects.md b/docs/reference/bpmn/data_objects.md similarity index 62% rename from docs/Building_Diagrams/data_objects.md rename to docs/reference/bpmn/data_objects.md index b98189297..6ef2ba826 100644 --- a/docs/Building_Diagrams/data_objects.md +++ b/docs/reference/bpmn/data_objects.md @@ -20,21 +20,21 @@ They aid in elucidating the data flow and dependencies within the process, thus ### Data Input -![data_input](images/data_input.png) +![data_input](/images/data_input.png) This represents the data or information that is needed as an input to initiate or carry out a specific task or process. BPMN input defines the data elements that must be provided or available for the task to be performed. ### Data Output -![data_output](images/data_output.png) +![data_output](/images/data_output.png) This signifies the data or information that is created or generated as a result of executing a task or process. BPMN output describes the data elements that are produced or altered during the execution of the task. ### Data Object Reference -![data_object_reference](images/data_object_reference.png) +![data_object_reference](/images/data_object_reference.png) A Data Object in BPMN typically signifies a particular piece of information or a data entity that is exchanged or manipulated during the course of a business process. It can represent both physical and digital data. @@ -42,12 +42,12 @@ Examples of Data Objects include documents, forms, reports, databases, or any ot ## Data Input Configuration -| πŸ’» Form | ⌨ Field Input | πŸ“ Description | -| --- | --- | --- | -| ![name_field](images/name_field.png) | **Name:** Update Customer Information | An identifier used to uniquely identify the element within the BPMN model. | -| ![id_field](images/id_field.png) | **ID:** Example - updateCustomerInformation | A descriptive name given to the element, providing a human-readable label or title. | -| ![documentation_field](images/documentation_field.png) | **Element Documentation:** URL, Raw Data, Plain Text | Additional information or documentation related to the element, such as URLs, plain text, or raw data. | -| ![data_object_prop](images/data_object_prop.png) | **Element Documentation:** inventory_items | Enter an existing data object ID | +| πŸ’» Form | ⌨ Field Input | πŸ“ Description | +| ------------------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | +| ![name_field](/images/name_field.png) | **Name:** Update Customer Information | An identifier used to uniquely identify the element within the BPMN model. | +| ![id_field](/images/id_field.png) | **ID:** Example - updateCustomerInformation | A descriptive name given to the element, providing a human-readable label or title. | +| ![documentation_field](/images/documentation_field.png) | **Element Documentation:** URL, Raw Data, Plain Text | Additional information or documentation related to the element, such as URLs, plain text, or raw data. | +| ![data_object_prop](/images/data_object_prop.png) | **Element Documentation:** inventory_items | Enter an existing data object ID | ## Handling Sensitive Data Using Data Objects @@ -57,48 +57,50 @@ This documentation outlines the process of creating and managing sensitive data ### Process Breakdown #### 1. Identifying Sensitive Data + - Determine what constitutes sensitive data within your workflow. -This could include personal information, financial details, or confidential business information. + This could include personal information, financial details, or confidential business information. #### 2. Data Object Creation and Script Task Integration - **Script Task Setup**: Develop a script task that interacts with the data object. -The script should be designed to handle the sensitive data securely, ensuring it's not exposed or logged inadvertently. + The script should be designed to handle the sensitive data securely, ensuring it's not exposed or logged inadvertently. - **Data Object Creation**: Create a data object in the workflow to store the sensitive data. -This object acts as a container for the data, separating it from the main workflow logic. + This object acts as a container for the data, separating it from the main workflow logic. #### 3. Assigning Data Categories - **Categorization**: Assign a specific category to the data object that reflects its sensitive nature. -For example, categories like `confidential` or `private` or the name of the field can be used. + For example, categories like `confidential` or `private` or the name of the field can be used. #### 4. Implementing Access Controls -- **Permission Rules**: Establish permission rules, using a Decision Model and Notation (DMN) table or another mechanism as described under [Admin and Permissions](/DevOps_installation_integration/admin_and_permissions.md). -This step involves specifying who can access the sensitive data. +- **Permission Rules**: Establish permission rules, using a Decision Model and Notation (DMN) table or another mechanism as described under [Admin and Permissions](/how_to_guides/deployment/admin_and_permissions). + This step involves specifying who can access the sensitive data. - **Access Restrictions**: Define the access level (e.g., read, write, deny) for different user groups or roles. -For instance, you might restrict read access to certain groups while denying it to others. + For instance, you might restrict read access to certain groups while denying it to others. - **URL-Based Permissions**: Use URL patterns to enforce permissions. -For example, a URL pattern like `/process-data/confidential/*` can be used to control access to all data objects categorized as confidential. + For example, a URL pattern like `/process-data/confidential/*` can be used to control access to all data objects categorized as confidential. ### Example: Steps to Handle Sensitive Data #### 1. Creating a Script Task with Sensitive Data + - **Initial Setup**: Start by creating a script task where the script sets a variable (e.g., `a=1`). -This variable `a` could represent sensitive data like a credit card number. + This variable `a` could represent sensitive data like a credit card number. - **Execution**: Run the task to observe the value of `a`. -![image](images/private_data_object.png) + ![image](/images/private_data_object.png) #### 2. Converting to a Data Object - **Data Object Creation**: Create a data object and name it (e.g., `a`). -Link this data object to the script task and set the data object ID to `a`. + Link this data object to the script task and set the data object ID to `a`. - **Assign a Category**: Assume the data object represents a credit card number. -Assign a category to this data object, such as `creditcards`. + Assign a category to this data object, such as `creditcards`. - **Visibility**: The credit card data is visible until permissions are set to restrict access. -![image](images/category.png) + ![image](/images/category.png) - **Process Execution**: Upon running the process, the value of the data object will be `1`. -![image](images/sensitive_value.png) + ![image](/images/sensitive_value.png) #### 3. Setting Permissions with DMN Table @@ -108,7 +110,7 @@ Assign a category to this data object, such as `creditcards`. - `permissions` to `"DENY:read"` - `permission_urls` to `"/process-data/creditcards/"` -![image](images/setting_permissions.png) +![image](/images/setting_permissions.png) #### 4. Implementing Restricted Access @@ -118,4 +120,5 @@ By following these steps, SpiffWorkflow users can securely handle sensitive data The combination of data objects, categorization, and precise permission settings ensures that sensitive information like credit card numbers is protected and accessible only to those with the necessary authorization. ```{tags} reference, building_diagrams + ``` diff --git a/docs/Building_Diagrams/data_stores.md b/docs/reference/bpmn/data_stores.md similarity index 96% rename from docs/Building_Diagrams/data_stores.md rename to docs/reference/bpmn/data_stores.md index d9193cba8..f22e0a217 100644 --- a/docs/Building_Diagrams/data_stores.md +++ b/docs/reference/bpmn/data_stores.md @@ -1,6 +1,6 @@ # Data Stores -![data_store](images/data_store.png) +![data_store](/images/data_store.png) A Data Store is a BPMN construct that represents a storage location where data is stored, retrieved, and can be accessed among multiple process instances, including different process models. It can represent a database, a file system, or any other storage mechanism. @@ -32,7 +32,7 @@ Here's how to depict such interactions using a BPMN example focused on movie dat ### BPMN Example: Movie Data Management #### Process Overview -![KKV data_store](images/DataStore_KKV.png) +![KKV data_store](/images/DataStore_KKV.png) 1. **Start Event**: Initiates the movie data management workflow. @@ -60,7 +60,7 @@ Here's how to depict such interactions using a BPMN example focused on movie dat 5. **End Event**: Marks the completion of the workflow. After running the process, you can view the new movie data in the data store: -![KKV data_store](images/DataStore_KKV_Store.png) +![KKV data_store](/images/DataStore_KKV_Store.png) #### Modeling Data Store Interactions @@ -103,7 +103,7 @@ This JSON array contains various Gatorade flavors, each with attributes for `nam #### BPMN Example: Gatorade Flavors -![JSON data_store](images/JSON_data_store.png) +![JSON data_store](/images/JSON_data_store.png) 1. **Start Event**: Triggers the workflow for Gatorade flavor selection. @@ -152,9 +152,9 @@ This JSON array contains various Gatorade flavors, each with attributes for `nam **Output**: -![JSON data_store](images/JSON_Data_Store_1.png) +![JSON data_store](/images/JSON_Data_Store_1.png) -![JSON data_store](images/DataStore_JSON_Output.png) +![JSON data_store](/images/DataStore_JSON_Output.png) ```{admonition} Note ⚠ In the data store creation, you will see fields like 'Name' and 'Identifier'. If you are using script tasks that interacts with the data store, reference the `identifier` exactly as it is named in the data store configuration. diff --git a/docs/Building_Diagrams/dmn.md b/docs/reference/bpmn/dmn.md similarity index 100% rename from docs/Building_Diagrams/dmn.md rename to docs/reference/bpmn/dmn.md diff --git a/docs/Building_Diagrams/error_events.md b/docs/reference/bpmn/error_events.md similarity index 89% rename from docs/Building_Diagrams/error_events.md rename to docs/reference/bpmn/error_events.md index f2e6d8ef9..f4af00d2d 100644 --- a/docs/Building_Diagrams/error_events.md +++ b/docs/reference/bpmn/error_events.md @@ -8,7 +8,7 @@ Below, we delve into the types of Error Events, offering definitions and enriche ### 1. Error Start Event -![Error Start Event](images/error-events1.png) +![Error Start Event](/images/error-events1.png) The Error Start Event triggers the start of a subprocess in reaction to an error identified in a different process or subprocess. It is a specialized event used to initiate error handling workflows dynamically. @@ -20,7 +20,7 @@ It is a specialized event used to initiate error handling workflows dynamically. **Example**: -![](images/Start_event_error_example.png) +![](/images/Start_event_error_example.png) In an automated supply chain system, an Error Start Event initiates a "Supplier Notification" subprocess when inventory restocking fails due to supplier issues, triggering actions such as alternative supplier selection and impact analysis. @@ -30,7 +30,7 @@ In an automated supply chain system, an Error Start Event initiates a "Supplier ### 2. Error Intermediate Event/Error Boundary Event -![Error Intermediate Event](images/error_intermediate_event.png) +![Error Intermediate Event](/images/error_intermediate_event.png) An Error Boundary Event is attached to an activity, such as a service task, and is designed to catch errors that occur during the execution of that activity, allowing for an immediate transition to an error handling flow. @@ -44,7 +44,7 @@ Positioned within the normal flow of a process, this event signifies where an er **Example**: -![Error Boundary Event Error Event](images/error_boundary_event.png) +![Error Boundary Event Error Event](/images/error_boundary_event.png) In a customer order workflow, when payment is initiated, a "Process Payment" service task interacts with an external gateway. An attached Error Boundary Event catches errors like "Payment Gateway Timeout" or "Payment Declined." @@ -53,7 +53,7 @@ This setup ensures efficient error handling, guiding the process toward resoluti ### 3. Error End Event -![Error End Event](images/error_end_event.png) +![Error End Event](/images/error_end_event.png) This event marks the termination of a process path due to an error, signaling that the workflow cannot proceed beyond this point due to the encountered issue, and propagates the error to the parent process for further handling. @@ -64,7 +64,7 @@ This event marks the termination of a process path due to an error, signaling th **Example**: -![Error End Event](images/ErrorEndEventExample.png) +![Error End Event](/images/ErrorEndEventExample.png) In a retail inventory management workflow, an End Error Event within a stock replenishment subprocess indicates the detection of an "Out of Stock" condition for a critical product that cannot be immediately resolved. This error propagates to the main inventory management process, prompting a temporary pause in sales operations for the affected product. @@ -78,13 +78,13 @@ This process begins with a simple task and moves through a service task designed 1. **Start Event**: -![Error Event](images/error_event_example1.png) +![Error Event](/images/error_event_example1.png) The process kicks off with an action that requires fetching specific employee details. 2. **Service Task - Fetch Employee Data**: -![Error Event](images/error_event_example2.png) +![Error Event](/images/error_event_example2.png) - **Configuration**: This task is configured to make an HTTP GET request to the BambooHR API to retrieve employee information. - **Operator ID**: `http/getrequestV2`, indicating the operation type and version. @@ -94,20 +94,20 @@ The process kicks off with an action that requires fetching specific employee de 3. **Error Handling Setup**: -![Error Event](images/error_event_example3.png) +![Error Event](/images/error_event_example3.png) Prior to the service task's execution, one potential error ID is defined as `Error_1`. 4. **Error Boundary Event**: -![Error Event](images/error_event_example5.png) +![Error Event](/images/error_event_example5.png) Attached to the service task, this event catches `Error_1`, setting an alternative path for error handling. The error details are stored in a variable named `err1`. 5. **Manual Tasks for Error Handling and Success Path**: -![Error Event](images/error_event_example6.png) +![Error Event](/images/error_event_example6.png) **A**. **No Errors Path**: If the service task executes without encountering the predefined errors, the process flows to a **Manual task 1** where the fetched employee data can be further processed or reviewed. @@ -134,13 +134,13 @@ In this example, we're outlining a BPMN process that demonstrates how to handle 1. **Start Event**: -![Error Event](images/error_boundary_event_with_expanded-subprocess1.png) +![Error Event](/images/error_boundary_event_with_expanded-subprocess1.png) The process is triggered by a user action or system event, setting the stage for a sequence of tasks. 2. **Expanded Subprocess**: -![Error Event](images/error_boundary_event_with_expanded-subprocess2.png) +![Error Event](/images/error_boundary_event_with_expanded-subprocess2.png) This element encapsulates a more detailed process flow within itself, starting with its own Start Event and comprising several tasks. The **Start Event** marks the beginning of the subprocess. @@ -150,31 +150,31 @@ The setup of the error end event is: - **Error ID Setup** -![Error Event](images/error_boundary_event_with_expanded-subprocess6.png) +![Error Event](/images/error_boundary_event_with_expanded-subprocess6.png) Before proceeding further, an error ID (Error1) is defined in the process. - **Configure Properties**: -![Error Event](images/error_boundary_event_with_expanded-subprocess3.png) +![Error Event](/images/error_boundary_event_with_expanded-subprocess3.png) Configured to represent the occurrence of Error1, with an error code "Err1" and a payload detailing the error message (`{ "err_msg" : "Error Occurred"}`). 3. **Error Boundary Event**: -![Error Event](images/error_boundary_event_with_expanded-subprocess4.png) +![Error Event](/images/error_boundary_event_with_expanded-subprocess4.png) Attached to the Expanded Subprocess, an Error Boundary Event is designed to catch Error1 emanating from the subprocess, particularly from the Error End Event. The error caught is identified by the code "Err1", and its details are captured in a variable named `message`. 4. **Manual Task** -![Error Event](images/error_boundary_event_with_expanded-subprocess5.png) +![Error Event](/images/error_boundary_event_with_expanded-subprocess5.png) **Manual Task 2** is attached to this Error Boundary Event, with its instructions including the usage of the error message payload (`{{msg}}`), indicating a step to address or respond to the error condition. 5. **End Events for Expanded Subprocess**: -![Error Event](images/error_boundary_event_with_expanded-subprocess7.png) +![Error Event](/images/error_boundary_event_with_expanded-subprocess7.png) **A**. Beyond the boundary event's error handling path, the subprocess connects to a main End Event, indicating the normal conclusion of the subprocess activities if no errors occur. diff --git a/docs/Building_Diagrams/escalation_events.md b/docs/reference/bpmn/escalation_events.md similarity index 90% rename from docs/Building_Diagrams/escalation_events.md rename to docs/reference/bpmn/escalation_events.md index 43e32a804..85fdffff7 100644 --- a/docs/Building_Diagrams/escalation_events.md +++ b/docs/reference/bpmn/escalation_events.md @@ -15,7 +15,7 @@ An escalation represents a one-to-one relationship, whereas a signal event embod ## Start Escalation Event -![start_escalation_event](images/start_escalation_event.png)![non_interrupting_start_escalation_event](images/non_interrupting_start_escalation_event.png) +![start_escalation_event](/images/start_escalation_event.png)![non_interrupting_start_escalation_event](/images/non_interrupting_start_escalation_event.png) A Start Escalation Event indicates the beginning of a sub-process, triggered explicitly by an escalation from another process or activity. @@ -26,7 +26,7 @@ They are mostly used to communicate from a subprocess to an upper process. **Example:** -![start_escalation_example](images/start_escalation_example_1.png) +![start_escalation_example](/images/start_escalation_example_1.png) **Escalation Start Event (interrupting):** In a production environment, if a machine malfunctions frequently or requires calibration, the issue might be escalated to a specialized technical team. @@ -40,7 +40,7 @@ It allows for parallel processing to allow the process to continue seamlessly to ## Intermediate Escalation Event -![intermediate_escalation_event](images/intermediate_escalation_throw_event.png)![intermediate_escalation_event](images/intermediate_escalation_catch_event.png)![intermediate_escalation_event](images/non_interrupting_intermediate_escalation_event.png) +![intermediate_escalation_event](/images/intermediate_escalation_throw_event.png)![intermediate_escalation_event](/images/intermediate_escalation_catch_event.png)![intermediate_escalation_event](/images/non_interrupting_intermediate_escalation_event.png) An Intermediate Escalation Event serves as a mechanism within a process flow to raise an escalation. This could be due to an exception, a delay, or any condition that requires intervention. @@ -48,7 +48,7 @@ As a Boundary Event, it can also be associated with specific tasks or sub-proces **Example:** -![escalation_intermediate_example_2](images/escalation_example_2.png) +![escalation_intermediate_example_2](/images/escalation_example_2.png) In the same BPMN scenario, escalations can be managed at a higher level in the process hierarchy through a boundary escalation event. This method involves placing the escalation event on the border of the parent process activity. @@ -68,7 +68,7 @@ This parallel processing ensures that there are two active instances within the **Example:** -![escalation_intermediate_example_2](images/escalation_example_3.png) +![escalation_intermediate_example_2](/images/escalation_example_3.png) **Escalation Boundary Event (interrupting):** In the given scenario, utilizing a subprocess can lead to the desired outcome similarly. @@ -88,7 +88,7 @@ The choice of event type should be based on the particular application and conte ## End Escalation Event -![intermediate_escalation_event](images/end_escalation_event.png) +![intermediate_escalation_event](/images/end_escalation_event.png) In our earlier examples, we demonstrated how to use throw and catch events. The End Escalation event functions similarly to the Intermediate Throw Escalation event, with the key distinction being its occurrence at the end of a particular pathway. @@ -97,7 +97,7 @@ Particularly in scenarios involving non-interrupting events, the process instanc **Example:** -![escalation_intermediate_example_2](images/escalation_example_4.png) +![escalation_intermediate_example_2](/images/escalation_example_4.png) In this scenario, we observe an End Escalation following a Boundary Event. This thrown End Escalation can be intercepted by the boundary event of a Call Activity or at the start of a sub-process, as shown in previous examples on this page. @@ -113,7 +113,7 @@ Here's how to set up these components: **Define the Escalation ID**: Determine the task or process stage where an escalation might need to be triggered due to exceptional circumstances and decide on a unique identifier for your escalation event. -![Escalation ID](images/Escalation_ID.png) +![Escalation ID](/images/Escalation_ID.png) ```{admonition} Note ⚠ In the above example, the escalation ID is created with `Escalation_Throw_1`. @@ -123,7 +123,7 @@ Here's how to set up these components: Add an Intermediate Throw Escalation Event immediately after the task identified. Select the escalation ID and create a unique **escalation code**. -![Escalation Order](images/Escalation_Order.png) +![Escalation Order](/images/Escalation_Order.png) ```{admonition} Note ⚠ The escalation code is essential for matching the throw event with its corresponding catch event. @@ -136,7 +136,7 @@ This can be a boundary event attached to a task where the escalation should be c For a boundary catch event, attach it to the task designated to handle the escalation. For an intermediate catch event, place it at the appropriate point in the process flow. -![Escalation Order](images/Escalation_Order_2.png) +![Escalation Order](/images/Escalation_Order_2.png) ```{admonition} Note ⚠ Ensure this matches exactly with the code assigned to the throw event to ensure proper linkage. diff --git a/docs/Building_Diagrams/events.md b/docs/reference/bpmn/events.md similarity index 92% rename from docs/Building_Diagrams/events.md rename to docs/reference/bpmn/events.md index 87fcfba28..b9107304c 100644 --- a/docs/Building_Diagrams/events.md +++ b/docs/reference/bpmn/events.md @@ -4,7 +4,7 @@ Events are specific occurrences that dictate the flow or outcome of processes. They are visually represented by circles. Based on their position and function, events are categorized as: Start Events, Intermediate Events, or End Events. -![start_message_event](images/events_categories.png) +![start_message_event](/images/events_categories.png) Start Events initialize a process and have no incoming flows. Intermediate Events represent something happening during the process and can have both incoming and outgoing flows. @@ -29,11 +29,11 @@ For instance, while you cannot initiate a primary process with an escalation eve To adhere to BPMN standards, it's crucial to consult and follow the provided guide. Always ensure that your processes and diagrams conform to these accepted norms. -![events_table](images/events_table.png) +![events_table](/images/events_table.png) ## Start Event -![start_event_t](images/start_event_t.png) +![start_event_t](/images/start_event_t.png) Start events signify the beginning of a specific process and can consist of catch, timer, or conditional events. They do not possess any incoming sequence flows. @@ -46,7 +46,7 @@ They do not possess any incoming sequence flows. ## Intermediate Event -![intermediate_event](images/intermediate_event.png) +![intermediate_event](/images/intermediate_event.png) An Intermediate Event takes place between the beginning and the conclusion of a process. They can either wait for a specific occurrence (such as receiving a message), initiate an occurrence (like dispatching a message), or pause until a condition is fulfilled or a designated time elapses. @@ -62,7 +62,7 @@ They can either wait for a specific occurrence (such as receiving a message), in ## End Event -![intermediate_throw_message_event](images/end_event.png) +![intermediate_throw_message_event](/images/end_event.png) End events signify the end of a particular process. Once this event is reached, the process stops, and no further activities within this process will be executed. @@ -81,7 +81,7 @@ Non-Interrupting Events allow the current process or activity to continue its ex ### Interrupting Events -![interrupting_group](images/interrupting_group.png) +![interrupting_group](/images/interrupting_group.png) When an interrupting event is triggered, it interrupts the flow of the process or activity it's attached to. Once triggered, the current activity or process is halted, and the process flow directed by the interrupting event is taken up. @@ -91,7 +91,7 @@ Once triggered, the current activity or process is halted, and the process flow - In the case of an error, where the current activity cannot proceed further and an exception flow needs to be initiated. - When an alternative flow should immediately replace the main flow, like when a timer goes off, indicating a timeout. -![interrupting_example](images/interrupting_example.png) +![interrupting_example](/images/interrupting_example.png) **Example:** Think of a scenario where a manager is given a specific duration to assess a request. @@ -101,7 +101,7 @@ The provided example demonstrates the same function, but one is with an interrup ### Non-Interrupting Events -![non-interrupting_group](images/non-interrupting_group.png) +![non-interrupting_group](/images/non-interrupting_group.png) When a Non-Interrupting event is triggered, it does not halt or disrupt the main activity it's attached to. Instead, the process or activity continues its execution in parallel with the event's associated flow. @@ -111,7 +111,7 @@ Instead, the process or activity continues its execution in parallel with the ev - To initiate parallel activities without disturbing the primary flow, like sending periodic reminders while still waiting for a main task to complete. - When you want to monitor situations without interrupting the main flow, such as watching for specific signals or messages. -![interrupting_example](images/non-interrupting_example.png) +![interrupting_example](/images/non-interrupting_example.png) **Example:** Consider the previous example, but instead of terminating the initial review task when the time elapses, a Non-Interrupting Event is triggered, creating another thread. @@ -127,7 +127,7 @@ Catch Events passively wait or listen for messages, signals, or events to be rec ## Throw Event -![throw_events](images/throw_events.png) +![throw_events](/images/throw_events.png) Throw events are used to "send" or "throw" a particular type of event. In BPMN, when we talk about a throw event, we're generally discussing an activity or a situation where a specific signal, message, or error is being generated or sent out. @@ -144,7 +144,7 @@ They wait for signals to guide them towards an alternative route, whether it's i - To signal an error in a particular part of the process. - To indicate the raising or sending of a specific event or signal to other parts of the process or even to other processes. -![throw_example](images/throw_example.png) +![throw_example](/images/throw_example.png) **Example:** Imagine a situation where, as soon as the manufacturing of an item begins, a signal is sent to trigger a notification to another department or a customer. @@ -154,7 +154,7 @@ It's crucial to recognize that there are numerous approaches to catching or rece ## Catch Event -![catch_events](images/catch_events.png) +![catch_events](/images/catch_events.png) Catch events are used to "receive" or "catch" a particular type of event. In BPMN, when we refer to a catch event, we're talking about a point in the process where it's waiting for or listening to a specific event from another process or activity. @@ -171,7 +171,7 @@ They serve as triggers to initiate subsequent processes or actions. - To catch or handle an error. - To wait for a specific signal or event to be triggered before proceeding. -![catch_example](images/catch_example.png) +![catch_example](/images/catch_example.png) **Example:** The reception of an event can take place in various ways. @@ -186,7 +186,7 @@ Boundary and Non-Boundary Events are pivotal in determining how certain events a ### Boundary Event -![boundary_event](images/boundary_event.png) +![boundary_event](/images/boundary_event.png) Boundary events are attached to specific activities in a BPMN diagram, representing something that could happen while the activity is being executed. If the boundary event gets triggered, it can interrupt or not interrupt the attached activity, depending on its type. @@ -197,7 +197,7 @@ If the boundary event gets triggered, it can interrupt or not interrupt the atta - To capture intermediate events that can interrupt (or sometimes not interrupt) the main flow of an activity. - To depict certain conditions under which the process should take an alternative path. -![boundary_example](images/boundary_example.png) +![boundary_example](/images/boundary_example.png) **Example:** In our initial scenario where a manager needs to approve or review a submission, employing a timer as a start event impacts the entire workflow. @@ -208,7 +208,7 @@ Note that a boundary event can be interrupting or non-interrupting. ## Non-Boundary Event -![non-boundary_event](images/non-boundary_event.png) +![non-boundary_event](/images/non-boundary_event.png) Non-boundary Events stand alone in the BPMN process flow. They aren't attached to any activity, and they represent something that happens between activities. @@ -219,7 +219,7 @@ Unlike boundary events that are attached to tasks or sub-processes. - To depict events that occur independently of specific activities, such as timers or messages that are awaited. - To showcase events that affect the current flow but aren't tied to a particular task or activity. -![non-boundary_event_example](images/non-boundary_event_example.png) +![non-boundary_event_example](/images/non-boundary_event_example.png) **Example:** diff --git a/docs/Building_Diagrams/exclusivegatewayexample.md b/docs/reference/bpmn/exclusivegatewayexample.md similarity index 86% rename from docs/Building_Diagrams/exclusivegatewayexample.md rename to docs/reference/bpmn/exclusivegatewayexample.md index a5162ff70..ca93ec6aa 100644 --- a/docs/Building_Diagrams/exclusivegatewayexample.md +++ b/docs/reference/bpmn/exclusivegatewayexample.md @@ -7,11 +7,11 @@ This example demonstrates the use of an Exclusive Gateway to manage conditional ## Process Steps -![User Task](images/exclusivegatewayexample.png) +![User Task](/images/exclusivegatewayexample.png) 1. **User Task: Show User Form** -![User Task](images/exclusivegatewayexample1.png) +![User Task](/images/exclusivegatewayexample1.png) - **Purpose**: Captures user data which influences pathway decisions. - **Form Configuration**: @@ -39,7 +39,7 @@ This example demonstrates the use of an Exclusive Gateway to manage conditional **a**. **Others**: Leads to a general greeting for users not named "Chuck." - ![Sequence Flows](images/exclusivegatewayexample3.png) + ![Sequence Flows](/images/exclusivegatewayexample3.png) **For 'Others' Sequence Flow**: @@ -48,7 +48,7 @@ This example demonstrates the use of an Exclusive Gateway to manage conditional **b**. **Chuck**: Directs to a personalized greeting for users named "Chuck." - ![Sequence Flows](images/exclusivegatewayexample4.png) + ![Sequence Flows](/images/exclusivegatewayexample4.png) **For 'Chuck' Sequence Flow**: @@ -57,11 +57,11 @@ This example demonstrates the use of an Exclusive Gateway to manage conditional 3. **Exclusive Gateway Merge**: Merges the paths from manual tasks: "Hello to Others" and "Hi to Chuck," continuing to the next unified step in the process. -![Exclusive Gateway Merge](images/exclusivegatewayexample5.png) +![Exclusive Gateway Merge](/images/exclusivegatewayexample5.png) 4. **Manual Task: Show End Message**: Concludes the interaction by displaying a closing message and displays "Thank you for your participation, {{firstName}}." -![Exclusive Gateway Merge](images/exclusivegatewayexample6.png) +![Exclusive Gateway Merge](/images/exclusivegatewayexample6.png) After the manual task, marks the completion of the process through the end event. diff --git a/docs/Building_Diagrams/gateways.md b/docs/reference/bpmn/gateways.md similarity index 86% rename from docs/Building_Diagrams/gateways.md rename to docs/reference/bpmn/gateways.md index 4afa1e02b..bd7d47969 100644 --- a/docs/Building_Diagrams/gateways.md +++ b/docs/reference/bpmn/gateways.md @@ -14,7 +14,7 @@ Gateways are used to evaluate conditions or rules and determine the appropriate ## Exclusive Gateway -![exclusive_gateway](images/exclusive_gateway.png) +![exclusive_gateway](/images/exclusive_gateway.png) Exclusive Gateway (XOR): An Exclusive Gateway represents a decision point where only one outgoing sequence flow can be taken. It is used when the process flow needs to make a mutually exclusive choice between different paths. @@ -26,14 +26,14 @@ Whenever the conditions on the other paths aren't met, the instance will proceed In other words, if none of the conditions for the outgoing sequence flows are met, the Default Flow provides an alternative route for the process to follow. This ensures that the process can still progress even if none of the explicitly defined conditions are satisfied, providing a fallback option for handling unexpected scenarios. -![exclusive_gateway_default](images/exclusive_gateway_default.png) +![exclusive_gateway_default](/images/exclusive_gateway_default.png) **Challenges:** Avoiding conflicting conditions is straightforward when evaluating only one variable that can have only one value (see image 1 below). However, with more complex conditions, it's crucial to carefully structure logical expressions ensuring that only one condition can be true at a time. This becomes especially important when dealing with multiple variables or scenarios that could potentially lead to conflicting conditions. -![exclusive_gateway_examples](images/exclusive_gateway_examples.png) +![exclusive_gateway_examples](/images/exclusive_gateway_examples.png) For example, consider a scenario where multiple variables are involved in a process, and it's possible for more than one variable to be true in the process context (see image 2 above). To guarantee that only one condition will be true, you can use additional expressions, such as "voucher == false" to specify distinct paths for each condition. @@ -50,7 +50,7 @@ When the process encounters the Exclusive Merge, only one of the incoming sequen While the Exclusive Merge is commonly used alongside the Exclusive Gateway, it is also compatible with other gateway types in BPMN. It serves as a valuable mechanism for synchronizing and consolidating multiple parallel paths, ensuring that only one path is followed based on the given conditions. -![exclusive_merge](images/exclusive_merge.png) +![exclusive_merge](/images/exclusive_merge.png) Check out this detailed exclusive gateway example: @@ -61,7 +61,7 @@ exclusivegatewayexample.md ## Inclusive Gateway -![inclusive_gateway](images/inclusive_gateway.png) +![inclusive_gateway](/images/inclusive_gateway.png) Inclusive Gateway (OR): Represents a decision point, but it allows multiple outgoing sequence flows to be taken. It is used when the process flow needs to make an inclusive choice, where multiple paths can be followed simultaneously. @@ -71,13 +71,13 @@ Each outgoing sequence flow can have a condition associated with it, but even if ⚠ Note that the Default Flow is only followed if no other outgoing flows are valid. ``` -![inclusive_gateway_mp](images/inclusive_gateway_mp.png) +![inclusive_gateway_mp](/images/inclusive_gateway_mp.png) **Challenges:** At least one path should be true for the process to continue. Unlike an Exclusive Gateway, where only one path can be taken based on the conditions, the Inclusive Gateway evaluates all incoming sequence flows and enables all the paths for which the conditions are met. -![inclusive_gateway_conditions](images/inclusive_gateway_conditions.png) +![inclusive_gateway_conditions](/images/inclusive_gateway_conditions.png) For example, in a career matching system, individuals can input their skill sets, educational qualifications, and work experience. An Inclusive Gateway can be employed to assess the compatibility of the individual's skill sets with various job roles. @@ -91,7 +91,7 @@ The purpose of an Inclusive Gateway merge is to consolidate multiple parallel pa Unlike an Exclusive Gateway merge, which selects only one path based on conditions, the Inclusive Gateway merge evaluates all incoming sequence flows and allows all paths with true conditions to proceed. This means that if multiple paths were activated during the parallel execution, all these paths will converge. -![inclusive_gateway_merge](images/inclusive_gateway_merge.png) +![inclusive_gateway_merge](/images/inclusive_gateway_merge.png) It's important to note that the use of an Inclusive Gateway and its corresponding merge is not mandatory in a process. They can be used independently, depending on the specific scenario and process requirements. @@ -105,7 +105,7 @@ inclusivegatewayexample.md ## Parallel Gateway -![parallel_gateway](images/parallel_gateway.png) +![parallel_gateway](/images/parallel_gateway.png) Parallel Gateway (AND): Is used to split the process flow into multiple parallel paths, allowing concurrent execution of activities. All outgoing sequence flows from a Parallel Gateway are taken simultaneously, and the process flow continues along all the paths simultaneously. @@ -118,7 +118,7 @@ This means that tasks or activities connected to the outgoing sequence flows wil ⚠ Note that Default Flow is not possible with Parallel Gateways. ``` -![parallel_gateways](images/parallel_gateways.png) +![parallel_gateways](/images/parallel_gateways.png) **Challenges:** Since a Parallel Gateway does not dictate the flow based on conditions, it avoids conflicts that may arise from complex decision-making logic. @@ -137,7 +137,7 @@ parallelgatewayexample.md ## Event-Based Gateway -![event_based_gateway](images/event_based_gateway.png) +![event_based_gateway](/images/event_based_gateway.png) Event-Based Gateway: An Event-Based Gateway is used to represent a branching point based on events occurring in the process. It is often associated with intermediate events in the process flow. @@ -154,9 +154,9 @@ It's also crucial to understand that conditions aren't required for incoming seq | πŸ’» Form | ⌨ Field Input | πŸ“ Description | | ------------------------------------------------------ | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | -| ![name_field](images/name_field.png) | **Name:** Update Customer Information | A descriptive name given to the element, providing a human-readable label or title. | -| ![id_field](images/id_field.png) | **ID:** Example - updateCustomerInformation | An identifier used to uniquely identify the element within the BPMN model. | -| ![documentation_field](images/documentation_field.png) | **Element Documentation:** URL, Raw Data, Plain Text | Additional information or documentation related to the element, such as URLs, plain text, or raw data. | +| ![name_field](/images/name_field.png) | **Name:** Update Customer Information | A descriptive name given to the element, providing a human-readable label or title. | +| ![id_field](/images/id_field.png) | **ID:** Example - updateCustomerInformation | An identifier used to uniquely identify the element within the BPMN model. | +| ![documentation_field](/images/documentation_field.png) | **Element Documentation:** URL, Raw Data, Plain Text | Additional information or documentation related to the element, such as URLs, plain text, or raw data. | **Outgoing Sequence:** @@ -166,6 +166,6 @@ It's also crucial to understand that conditions aren't required for incoming seq | πŸ’» Form | ⌨ Field Input | πŸ“ Description | | ------------------------------------ | ---------------------------------------------- | ------------------------------------------------------------------------------------- | -| ![conditions](images/conditions.png) | **Condition:** payment_method == "credit_card" | Python expression. Note that multiple conditions can be strung together using AND/OR. | +| ![conditions](/images/conditions.png) | **Condition:** payment_method == "credit_card" | Python expression. Note that multiple conditions can be strung together using AND/OR. | **Keywords**: reference, building_diagrams, dev_docs diff --git a/docs/Building_Diagrams/inclusivegatewayexample.md b/docs/reference/bpmn/inclusivegatewayexample.md similarity index 95% rename from docs/Building_Diagrams/inclusivegatewayexample.md rename to docs/reference/bpmn/inclusivegatewayexample.md index 14d9b8648..67efb7ad1 100644 --- a/docs/Building_Diagrams/inclusivegatewayexample.md +++ b/docs/reference/bpmn/inclusivegatewayexample.md @@ -4,11 +4,11 @@ This BPMN example outlines the process of making travel arrangements using an in ## Process Flow -![Inclusive Gateway Example](images/inclusive_gateway_example.png) +![Inclusive Gateway Example](/images/inclusive_gateway_example.png) 1. **User Task: Get Travel Information**: The user task collects the travel preferences of the user regarding different modes of transportation. - ![Inclusive Gateway Example 1](images/inclusive_gateway_example1.png) + ![Inclusive Gateway Example 1](/images/inclusive_gateway_example1.png) **Form Details**: ```json diff --git a/docs/Building_Diagrams/message_events.md b/docs/reference/bpmn/message_events.md similarity index 63% rename from docs/Building_Diagrams/message_events.md rename to docs/reference/bpmn/message_events.md index 70efbd891..887492e66 100644 --- a/docs/Building_Diagrams/message_events.md +++ b/docs/reference/bpmn/message_events.md @@ -4,7 +4,7 @@ A Message Event acts as a channel for the exchange of information between differ While it might be tempting to associate "message events" with emails, their scope extends beyond digital correspondence. They signify the transmission of information between various process components, whether within the same process or across different processes. -![message_relationship](images/relationship_message.png) +![message_relationship](/images/relationship_message.png) **Reasons to Use a Message Event:** @@ -15,11 +15,11 @@ They signify the transmission of information between various process components, ## Start Message Event -![start_message_event](images/start_message_event_1.png) +![start_message_event](/images/start_message_event_1.png) A Message Start Event serves as a starting point for a process, activated specifically by a message received from another process or external system. -![message_event_example_4](images/msg_event_example_3.png) +![message_event_example_4](/images/msg_event_example_3.png) In the given example, a process can be initiated either by a message from an external system or by capturing a throw event from another process. @@ -29,26 +29,26 @@ In a subsequent example, it's clarified that message events can span multiple BP ## Intermediate Message Throw Event -![intermediate_throw_message_event](images/intermediate_throw_msg_event.png) +![intermediate_throw_message_event](/images/intermediate_throw_msg_event.png) An Intermediate Throw Event sends a message from within the process to a receiver. When the process execution reaches this event, it triggers a message event that can be captured by a corresponding Message Catch Event in another process or by an external system. -![message_event_example_4](images/msg_event_example_2.png) +![message_event_example_4](/images/msg_event_example_2.png) In the example provided, once a quote is finalized, the sales team forwards a formal quotation. Similarly, upon receiving a purchase order from the customer, the sales department generates an order confirmation receipt and sends it to the customer. ## Intermediate Message Catch Event -![intermediate_catch_message_event](images/intermediate_catch_msg_event.png) +![intermediate_catch_message_event](/images/intermediate_catch_msg_event.png) An Intermediate Catch Event is used to wait for and capture a specific message from another source. Once activated upon receiving the designated message, it allows the process flow to continue from that point onward. It's crucial to understand that the process instance remains in a waiting state until triggered by another source or process. This fundamental distinction sets Intermediate Catch Events apart from Intermediate Throw Events, as Catch Events exclusively await external triggers, while Throw Events initiate those triggers. -![message_event_example_5](images/msg_event_example_5.png) +![message_event_example_5](/images/msg_event_example_5.png) Alternatively, Message Events can be utilized beyond the confines of pools and lanes. The process outlined in the previous section can be split into two distinct BPMN files without affecting its functionality, as demonstrated in the example above. @@ -67,12 +67,12 @@ Without feedback from both the customer and the shipping department at this stag ## End Message Event -![end_message_event](images/end_msg_event.png) +![end_message_event](/images/end_msg_event.png) This type of event signifies the completion of a process and indicates that a message is sent to an external recipient to notify them of the process's conclusion. It serves as the endpoint of the process and sends a message when the process reaches this event. -![message_event_example_4](images/msg_event_example_4.png) +![message_event_example_4](/images/msg_event_example_4.png) Please note that the End Event, when using pools, signifies the conclusion of the process within that specific pool, but it does not necessarily indicate the end of the entire process. In the provided example, the final step involves sending the customer an invoice. @@ -100,29 +100,29 @@ Three separate configurations need to be completed. | πŸ’» Form | ⌨ Field Input | πŸ“ Description | | ------------------------------------------------------------- | --- | --- | -| ![name_field](images/name_field.png) | **Name:** Place Order | A descriptive name given to the element, providing a human-readable label or title. | -| ![id_field](images/id_field.png) | **ID:** Example - send_invoice | An identifier used to uniquely identify the element within the BPMN model. | -| ![documentation_field](images/documentation_field.png) | **Element Documentation:** URL, Raw Data, Plain Text | Additional information or documentation related to the element, such as URLs, plain text, or raw data. | +| ![name_field](/images/name_field.png) | **Name:** Place Order | A descriptive name given to the element, providing a human-readable label or title. | +| ![id_field](/images/id_field.png) | **ID:** Example - send_invoice | An identifier used to uniquely identify the element within the BPMN model. | +| ![documentation_field](/images/documentation_field.png) | **Element Documentation:** URL, Raw Data, Plain Text | Additional information or documentation related to the element, such as URLs, plain text, or raw data. | **Collaboration:** -![collaboration](images/collaboration_msg.png) +![collaboration](/images/collaboration_msg.png) The identical configuration must be applied to every BPMN diagram if messages extend across multiple diagrams. | πŸ’» Form | ⌨ Field Input | πŸ“ Description | | --- | --- | --- | -| ![correlation_keys](images/correlation_keys_1.png) | **Correlation Keys:** order | A correlation key is a unique identifier or attribute used to establish a connection or relationship between message events (it can be likened to the shared subject between them). It is possible to have multiple correlation keys for a process. | -| ![correlation_properties](images/correlation_properties_1.png) | **Correlation Properties:** invoice_number | The correlation property is what differentiates each key instance from another, and it's the defining attribute that sets them apart. For instance, if "order" is selected as the correlation key, a property like "invoice_number" could be used to distinguish each order instance from another. Keep in mind that this variable should be incorporated within the context of the process instance. | -| ![collaboration_messages](images/collaboration_messages_1.png) | **Messages:** order_approval, order_dispatch, etc. | Messages are established for each message pair (Throw and Catch Message Events). This setup will be utilized to configure the events, linking the associated occurrences together. | +| ![correlation_keys](/images/correlation_keys_1.png) | **Correlation Keys:** order | A correlation key is a unique identifier or attribute used to establish a connection or relationship between message events (it can be likened to the shared subject between them). It is possible to have multiple correlation keys for a process. | +| ![correlation_properties](/images/correlation_properties_1.png) | **Correlation Properties:** invoice_number | The correlation property is what differentiates each key instance from another, and it's the defining attribute that sets them apart. For instance, if "order" is selected as the correlation key, a property like "invoice_number" could be used to distinguish each order instance from another. Keep in mind that this variable should be incorporated within the context of the process instance. | +| ![collaboration_messages](/images/collaboration_messages_1.png) | **Messages:** order_approval, order_dispatch, etc. | Messages are established for each message pair (Throw and Catch Message Events). This setup will be utilized to configure the events, linking the associated occurrences together. | **Throw Message Event:** | πŸ’» Form | ⌨ Field Input | πŸ“ Description | | --- | --- | --- | -| ![conditions](images/message_1.png) | **Message:** order_approval | This input isn't an open-text field; instead, it provides a dropdown list populated by the Messages configured in the preceding Collaboration section. | -| ![conditions](images/payload_msg.png) | **Payload:** order_amount | The Payload can include a variable, holding unique information specific to the instance, or in this scenario, the order. | -| ![conditions](images/event_correlation_msg.png) | **Correlation:** invoice_number | Select the correlation that can identify the distinct property distinguishing one process instance from another. | +| ![conditions](/images/message_1.png) | **Message:** order_approval | This input isn't an open-text field; instead, it provides a dropdown list populated by the Messages configured in the preceding Collaboration section. | +| ![conditions](/images/payload_msg.png) | **Payload:** order_amount | The Payload can include a variable, holding unique information specific to the instance, or in this scenario, the order. | +| ![conditions](/images/event_correlation_msg.png) | **Correlation:** invoice_number | Select the correlation that can identify the distinct property distinguishing one process instance from another. | **Catch Message Event:** @@ -130,9 +130,9 @@ The connected catch event is configured in precisely the same manner as the thro | πŸ’» Form | ⌨ Field Input | πŸ“ Description | | --- | --- | --- | -| ![conditions](images/message_1.png) | **Message:** order_approval | This input isn't an open-text field; instead, it consists of a dropdown list populated by the Messages configured in the preceding Collaboration section. | -| ![conditions](images/payload_msg.png) | **Variable Name:** order_amount | The Variable Name can include a variable, holding unique information specific to the instance, or in this scenario, the order. | -| ![conditions](images/event_correlation_msg.png) | **Correlation:** invoice_number | Select the correlation that can identify the distinct property distinguishing one process instance from another. | +| ![conditions](/images/message_1.png) | **Message:** order_approval | This input isn't an open-text field; instead, it consists of a dropdown list populated by the Messages configured in the preceding Collaboration section. | +| ![conditions](/images/payload_msg.png) | **Variable Name:** order_amount | The Variable Name can include a variable, holding unique information specific to the instance, or in this scenario, the order. | +| ![conditions](/images/event_correlation_msg.png) | **Correlation:** invoice_number | Select the correlation that can identify the distinct property distinguishing one process instance from another. | Check out this example on Message Event. ```{toctree} diff --git a/docs/Building_Diagrams/message_example_event.md b/docs/reference/bpmn/message_example_event.md similarity index 94% rename from docs/Building_Diagrams/message_example_event.md rename to docs/reference/bpmn/message_example_event.md index f86fbf76e..15f0b49a5 100644 --- a/docs/Building_Diagrams/message_example_event.md +++ b/docs/reference/bpmn/message_example_event.md @@ -21,13 +21,13 @@ Each message you define in a BPMN model can carry a payload (data) and have corr To create a new message: 1. **Access the Message Editor**: -![Message Example](images/message_example1.png) +![Message Example](/images/message_example1.png) Click on a **Send Task** or **Message Event** in your process model. Under the **Message** tab, select "Open Message Editor". 2. **Define the Message**: -![Message Example](images/message_example2.png) +![Message Example](/images/message_example2.png) - **Message Name**: Give your message a unique name (e.g., `order_accept`, `order_dispatch`). This should not contain spaces or special characters. - **Location**: Define the path where this message will be accessible. Only process models within this path will have access to the message. - **JSON Schema**: If you need the message to conform to a specific data format, you can define a JSON schema here. The payload must match this schema if specified. @@ -46,14 +46,14 @@ For instance, in our **Waiter** process: - Open the **Message** tab in the task configuration. Select the **order_accept** message from the drop-down. - In the **Payload** section, specify the data variable that holds the payload (e.g., `order`). - ![Send Task Configuration](images/message_example3.png) + ![Send Task Configuration](/images/message_example3.png) In our **Chef** process: - **Message Start Event**: The process is initiated when the `order_accept` message is received. - Open the **Message** tab in the Start Event configuration. Select the **order_accept** message. - In the **Variable Name** section, specify the variable where the payload will be stored (e.g., `order_to_cook`). -![Message Example](images/message_example6.png) +![Message Example](/images/message_example6.png) ### 3. Setting Correlation Properties in Messages @@ -63,11 +63,11 @@ To ensure that messages are delivered to the correct process instance, correlati - In the Chef process, when the chef sends a response message (`order_dispatch`) back to the waiter, the correlation property ensures that the message is directed to the correct waiter process. -![Message Example](images/message_example6.png) +![Message Example](/images/message_example6.png) - Correlation becomes relevant only for ongoing communication between processes, such as when the Chef sends a response back to the Waiter process using the order_dispatch message, ensuring the message is directed to the correct process instance. -![Message Example](images/message_example4.png) +![Message Example](/images/message_example4.png) By using messages and correlation properties, you can effectively manage communication between multiple BPMN processes. This ensures that the right data reaches the right process at the right time, allowing for dynamic and responsive workflows. diff --git a/docs/Building_Diagrams/multiinstance.md b/docs/reference/bpmn/multiinstance.md similarity index 94% rename from docs/Building_Diagrams/multiinstance.md rename to docs/reference/bpmn/multiinstance.md index b486d3774..245c85be3 100644 --- a/docs/Building_Diagrams/multiinstance.md +++ b/docs/reference/bpmn/multiinstance.md @@ -10,7 +10,7 @@ Tasks are executed one after another, ensuring that each task instance begins on In the case of a sequential multi-instance activity, the instances are executed one at a time. When one instance is completed, a new instance is created for the next element in the input collection. -![Multi_instance_Sequential](images/multiinstance_sequential_example.png) +![Multi_instance_Sequential](/images/multiinstance_sequential_example.png) ## **Parallel Execution** @@ -18,13 +18,13 @@ All instances of the task are launched simultaneously, allowing for concurrent p In the case of a parallel multi-instance activity, all instances are created when the multi-instance body is activated. The instances are executed concurrently and independently of each other. -![Multi_instance_parallel](images/multiinstance_parallel_example.png) +![Multi_instance_parallel](/images/multiinstance_parallel_example.png) ## Components of Multi-Instance Tasks Multi-instance tasks comprise several key properties that define their behavior: -```{image} ./images/multiinstance_properties.png +```{image} /images/multiinstance_properties.png :width: 230px :align: right ``` @@ -58,7 +58,7 @@ Specifically, the process manages a list of composers, their names, and genres, 2. **Script Task - Create Dictionary**: This task initializes a list (array) of dictionaries, each representing a composer with their name and associated genre. The script effectively sets up the data structure that will be manipulated in subsequent steps of the process. -![Multi_instance_example](images/multiinstance_example2.png) +![Multi_instance_example](/images/multiinstance_example2.png) **Script**: @@ -73,7 +73,7 @@ The script effectively sets up the data structure that will be manipulated in su 3. **Multi-Instance Task - Edit Composer**: This task is configured as a multi-instance task that iterates over the `composers` array created by the previous script task. It allows for the editing of each composer's information within the array. -![Multi_instance_example](images/multiinstance_ex.png) +![Multi_instance_example](/images/multiinstance_ex.png) **Properties Configuration**: @@ -88,7 +88,7 @@ It allows for the editing of each composer's information within the array. 4. **Manual Task - Display Edited Composers**: This task presents the edited list of composers and their genres, using a loop to display each composer's name and genre in the format provided. -![Multi_instance_example](images/multiinstance_ex1.png) +![Multi_instance_example](/images/multiinstance_ex1.png) **Instructions**: @@ -120,7 +120,7 @@ These loops allow for the execution of a specific task or sequence of tasks repe ### Key Concepts -![Loop Configuration](images/Loop_Settings.png) +![Loop Configuration](/images/Loop_Settings.png) 1. **Loop Marker**: A visual indicator (a small loop symbol) placed at the bottom center of an activity to denote that the activity is subject to repeated execution. @@ -151,7 +151,7 @@ This scenario is effectively managed using a standard loop in BPMN. #### Process Overview -![Loop Example](images/loop_example1.png) +![Loop Example](/images/loop_example1.png) 1. **Start Event**: Initiates the workflow. @@ -160,7 +160,7 @@ This scenario is effectively managed using a standard loop in BPMN. 3. **Script Loop Task - Increment Counter**: Implement the Script Loop Task with a loop marker and configure the loop condition (`counter < 10`) and increment script (`counter = counter + 1;`). The process engine will increment the `counter` by 1 on each iteration. -![Loop Example](images/loop_example2.png) +![Loop Example](/images/loop_example2.png) The task is marked with a loop indicator, and the loop condition ensures the task repeats until `counter` reaches 10. diff --git a/docs/Building_Diagrams/parallelgatewayexample.md b/docs/reference/bpmn/parallelgatewayexample.md similarity index 93% rename from docs/Building_Diagrams/parallelgatewayexample.md rename to docs/reference/bpmn/parallelgatewayexample.md index 648f1c4f0..a26fd4cd5 100644 --- a/docs/Building_Diagrams/parallelgatewayexample.md +++ b/docs/reference/bpmn/parallelgatewayexample.md @@ -8,7 +8,7 @@ Parallel gateways are powerful BPMN elements that split a process flow into mult ### Process Steps -![Parallel Gateway Example](images/parallel_gateway_ex1.png) +![Parallel Gateway Example](/images/parallel_gateway_ex1.png) 1. **Parallel Gateway (Split)**: After the start event, the gateway divides the main flow into two separate paths, enabling tasks to be processed in parallel. 2. **Sequence Flow 1: Script Task [y = 1]**: Assigns the value `1` to variable `y`. This script task initializes variable `y` and demonstrates setting a simple variable in one branch of the parallel flow. @@ -25,7 +25,7 @@ After the script task, signal the successful completion of the process with the **Output**: After running the task, it will compute and show the result: -![Parallel Gateway Example](images/parallel_gateway_ex2.png) +![Parallel Gateway Example](/images/parallel_gateway_ex2.png) ```{tags} explanation, building_diagrams ``` diff --git a/docs/Building_Diagrams/pools_and_lanes.md b/docs/reference/bpmn/pools_and_lanes.md similarity index 81% rename from docs/Building_Diagrams/pools_and_lanes.md rename to docs/reference/bpmn/pools_and_lanes.md index b186ab180..bc7f3d03e 100644 --- a/docs/Building_Diagrams/pools_and_lanes.md +++ b/docs/reference/bpmn/pools_and_lanes.md @@ -18,7 +18,7 @@ A process can have one or more Pools, each with one or more Lanes. A Pool can be configured as an "Empty Pool" (collapsed) or an "Expanded Pool." You can choose the desired configuration πŸ”§ from the element's options after dragging it onto your diagram. -![pools_and_lanes](images/pools_and_lanes_1.png) +![pools_and_lanes](/images/pools_and_lanes_1.png) Empty Pools are used to represent role players in cases where a specific process is neither known nor required, but the interaction points remain valuable. They serve to illustrate the engagement of certain entities without detailing their internal processes. @@ -30,16 +30,16 @@ Conversely, Expanded Pools are employed when the processes are known and hold re Lanes group activities within a single Pool, usually signifying different roles or departments. -![lanes](images/lanes_1.png) +![lanes](/images/lanes_1.png) Lanes are incorporated into Pools when the roles they represent belong to the same entity. However, if a process doesn't logically fit within the same Pool, like those for different organizations or businesses, it's more appropriate to represent it as a separate Pool rather than another Lane. -![lanes](images/separate_pools_1.png) +![lanes](/images/separate_pools_1.png) ## Configuration -![participant_configuration](images/participant_configuration_1.png) +![participant_configuration](/images/participant_configuration_1.png) **Collapsed (Empty) Pool configuration:** @@ -47,8 +47,8 @@ Configuring an "Empty Pool" (collapsed) to represent an external entity, such as | πŸ’» Form | ⌨ Field Input | πŸ“ Description | | --- | --- | --- | -| ![participant_sales](images/participant_customer_1.png) | **Participant Name:** Sales, **Participant ID:** sales, | A clear and descriptive name serves as a human-readable label or title for the participant. Additionally, a unique ID is essential to distinguish the participant from other participants. | -| ![data_object_pools](images/data_object_pools_1.png) | **Data Objects:** order_details | Create or reference a Data Object to store information for sharing between entities. | +| ![participant_sales](/images/participant_customer_1.png) | **Participant Name:** Sales, **Participant ID:** sales, | A clear and descriptive name serves as a human-readable label or title for the participant. Additionally, a unique ID is essential to distinguish the participant from other participants. | +| ![data_object_pools](/images/data_object_pools_1.png) | **Data Objects:** order_details | Create or reference a Data Object to store information for sharing between entities. | **Expanded Pool configuration:** @@ -56,20 +56,20 @@ Setting up an "Expanded Pool" requires referencing the process, in contrast to t | πŸ’» Form | ⌨ Field Input | πŸ“ Description | | --- | --- | --- | -| ![participant_sales](images/participant_sales_1.png) | **Participant Name:** Sales, **Participant ID:** sales, **Process ID:** process_order, **Process Name:** Process Order | A clear and descriptive name serves as a human-readable label or title for both the participant and the process. Additionally, a unique ID is essential to distinguish both the participant and the process from others. | -| ![data_object_pools](images/data_object_pools_1.png) | **Data Objects:** order_details | Create or reference a Data Object to store information for sharing between entities. | +| ![participant_sales](/images/participant_sales_1.png) | **Participant Name:** Sales, **Participant ID:** sales, **Process ID:** process_order, **Process Name:** Process Order | A clear and descriptive name serves as a human-readable label or title for both the participant and the process. Additionally, a unique ID is essential to distinguish both the participant and the process from others. | +| ![data_object_pools](/images/data_object_pools_1.png) | **Data Objects:** order_details | Create or reference a Data Object to store information for sharing between entities. | **Collapsed Pool configuration:** -![lanes](images/lane_configuration_1.png) +![lanes](/images/lane_configuration_1.png) Remember that each pool requires Lane configuration, even if it contains just a single Lane. -![lanes](images/pool_settings_1.png) +![lanes](/images/pool_settings_1.png) | πŸ’» Form | ⌨ Field Input | πŸ“ Description | | --- | --- | --- | -| ![participant_sales](images/participant_lane_1.png) | **Name:** Manager | A concise and descriptive label that accurately represents the owner and role of the Lane. | -| ![data_object_pools](images/data_object_pools_1.png) | **ID:** lane_manager | A distinct ID to differentiate each Lane, especially when there are multiple. | +| ![participant_sales](/images/participant_lane_1.png) | **Name:** Manager | A concise and descriptive label that accurately represents the owner and role of the Lane. | +| ![data_object_pools](/images/data_object_pools_1.png) | **ID:** lane_manager | A distinct ID to differentiate each Lane, especially when there are multiple. | --- ### Example: Using Lanes and Pools for Petty Cash Request Process @@ -80,7 +80,7 @@ The process is structured around different tasks allocated to Lanes and Pools, e #### BPMN Diagram -![Lanes and Pools Example](images/lanes_pools_example_1.png) +![Lanes and Pools Example](/images/lanes_pools_example_1.png) **Process Flow:** @@ -88,13 +88,13 @@ The process is structured around different tasks allocated to Lanes and Pools, e 1. **User Task: Petty Cash Request**: This task uses a form to collect petty cash requests, including the requested amount and the reason for the request. - ![Lanes and Pools Example](images/lanes_pools_example_2.png) + ![Lanes and Pools Example](/images/lanes_pools_example_2.png) The process transitions from the Requester Lane to the Cashier Lane within the Cashier Pool for approval. 1. **User Task: Approve Petty Cash**: In this task, cashiers review and approve the petty cash request, recording the approver’s name for accountability. - ![Lanes and Pools Example](images/lanes_pools_example_3.png) + ![Lanes and Pools Example](/images/lanes_pools_example_3.png) After approval, the workflow returns to the Requester Lane for final confirmation and display of the approval outcome. @@ -109,7 +109,7 @@ Your petty cash request for {{amount}} has been approved by {{approved_by}} This message informs the requester of the approval status, including the approved amount and the name of the approver. After the manual task, marks the end of the process. -![Lanes and Pools Example](images/lanes_pools_example_4.png) +![Lanes and Pools Example](/images/lanes_pools_example_4.png) This BPMN diagram effectively uses Lanes and Pools to structure a petty cash request process, ensuring that responsibilities are clearly assigned and the workflow is logically organized. @@ -198,7 +198,7 @@ For example, a process might involve several departments or roles, each represen - **Process Start** - The process begins and an initial script task sets the lane owners. The BPMN model below effectively demonstrates a comprehensive workflow leading to a dynamic assignment of reviewers in the "Script Task: Get Reviewers". -![Lane Owners](images/lane_owners.png) +![Lane Owners](/images/lane_owners.png) - **Task Execution**: - As tasks are executed, the workflow engine checks the `lane_owners` dictionary to determine which users are responsible for tasks in specific lanes. diff --git a/docs/Building_Diagrams/service_tasks.md b/docs/reference/bpmn/service_tasks.md similarity index 97% rename from docs/Building_Diagrams/service_tasks.md rename to docs/reference/bpmn/service_tasks.md index 3c5421c84..15e65f5c0 100644 --- a/docs/Building_Diagrams/service_tasks.md +++ b/docs/reference/bpmn/service_tasks.md @@ -30,7 +30,7 @@ Below, we’ll walk through detailed setup instructions for two examples to illu This simpler example demonstrates how to retrieve user data from the JSONPlaceholder API, useful for testing or prototyping workflows. #### Service Task Configuration - ```{image} ./images/service_task_doc3.png + ```{image} /images/service_task_doc3.png :alt: Service Task :width: 300px :align: right @@ -57,7 +57,7 @@ In this example, we’ll configure a Service Task that fetches employee details Below is workflow overview: -![Service Task](images/service_task_doc1.png) +![Service Task](/images/service_task_doc1.png) 1. **Start Event**: Begins the workflow. 2. **Service Task**: Retrieves employee information from BambooHR. @@ -65,7 +65,7 @@ Below is workflow overview: 4. **End Event**: Completes the workflow. #### **Service Task Configuration** - ```{image} ./images/service_task_doc2.png + ```{image} /images/service_task_doc2.png :alt: Login Screen :class: bg-primary mb-1 :width: 300px diff --git a/docs/Building_Diagrams/signal_events.md b/docs/reference/bpmn/signal_events.md similarity index 90% rename from docs/Building_Diagrams/signal_events.md rename to docs/reference/bpmn/signal_events.md index 02e341121..055f2b7e5 100644 --- a/docs/Building_Diagrams/signal_events.md +++ b/docs/reference/bpmn/signal_events.md @@ -6,7 +6,7 @@ When a signal is thrown, all active processes that are listening for that signal Signals do not have any expectation of a response. Once a signal is sent out, it does not wait for a reply. - ![signal_relationship](images/signal_relationships.png) + ![signal_relationship](/images/signal_relationships.png) **Reasons to Use a Signal Event:** @@ -18,11 +18,11 @@ Once a signal is sent out, it does not wait for a reply. ## Start Signal Event -![start_signal_event](images/start_signal_event.png) +![start_signal_event](/images/start_signal_event.png) A Start Signal Event serves as a starting point for a process or subprocess, triggered specifically by a signal broadcasted from another part of the system or even a different system entirely. -![signal_event_example_2](images/signal_event_example_2.png) +![signal_event_example_2](/images/signal_event_example_2.png) **Example:** A Start Signal Event is especially valuable in situations where a parallel process needs to commence while the primary process continues. @@ -36,12 +36,12 @@ It's important to note that a Start Signal Event is typically activated by an in ## Intermediate Signal Throw Event -![intermediate_throw_message_event](images/intermediate_throw_signal_event.png) +![intermediate_throw_message_event](/images/intermediate_throw_signal_event.png) An Intermediate Signal Throw Event is an event that happens in the middle of a process (not at the start or the end) and sends out a signal. This can be caught by another process or a different part of the same process using a Signal Catch Event. -![intermediate_throw_signal_example_2](images/intermediate_throw_signal_example_2.png) +![intermediate_throw_signal_example_2](/images/intermediate_throw_signal_example_2.png) **Example:** Using an Intermediate Throw Event aligns perfectly with the scenario illustrated earlier. @@ -54,12 +54,12 @@ Implementing multiple threads to concurrently execute tasks for an instance, as ## Intermediate Signal Catch Event -![intermediate_catch_message_event](images/intermediate_catch_signal_event.png) +![intermediate_catch_message_event](/images/intermediate_catch_signal_event.png) An Intermediate Signal Catch Event waits for a specific signal to start or continue a process. To "catch" means that this event is actively waiting or listening for that signal to be thrown from another part of the process or even from a different process. -![intermediate_catch_signal_example](images/intermediate_catch_signal_example.png) +![intermediate_catch_signal_example](/images/intermediate_catch_signal_example.png) **Example:** To better understand the difference between a start event and an intermediate event, let's examine a manufacturing example. @@ -74,7 +74,7 @@ This is because the process necessitates the completion of part two, after which This scenario highlights the importance of understanding the intricacies of each symbol when designing functional and reliable workflows. ``` -![intermediate_catch_signal_example](images/intermediate_catch_signal_example_2.png) +![intermediate_catch_signal_example](/images/intermediate_catch_signal_example_2.png) **Example:** Let's delve into an example distinguishing between interrupting and non-interrupting boundary catch events. @@ -85,11 +85,11 @@ Conversely, for the non-interrupting event (depicted on the right), while Task 2 ## End Signal Event -![end_signal_event](images/end_signal_event.png) +![end_signal_event](/images/end_signal_event.png) This type of event signifies the end of a process or path and, at the same time, broadcasts a signal to other processes or process instances. -![end_signal_event_example](images/end_signal_event_example.png) +![end_signal_event_example](/images/end_signal_event_example.png) **Example:** @@ -97,7 +97,7 @@ In an online shopping system, when a customer's payment is successfully processe This signal initiates three distinct processes: (1) the "Send Notification" process alerts the customer of their successful purchase, (2) the "Pack Order" process prompts the warehouse team to prepare the item for dispatch, and (3) the "Schedule Delivery" process alerts logistics to arrange for the item's delivery. In this manner, one event efficiently orchestrates a sequence of actions across multiple departments. -![end_signal_event_example](images/signal_sync_example.png) +![end_signal_event_example](/images/signal_sync_example.png) **Example:** Signals are instrumental in coordinating workflows among varied processes, making certain that tasks adhere to a specified order. @@ -113,7 +113,7 @@ This BPMN example showcases the flexibility of using Signal Events to create dyn By incorporating manual tasks with multiple outcomes, signal-based routing, and automated timing controls, the example illustrates how complex decision logic and external system integration can be efficiently managed within a BPMN process. -![signal_event_example](images/Signal_events_spiff_example.png) +![signal_event_example](/images/Signal_events_spiff_example.png) ### 1. **Start Event**: @@ -124,7 +124,7 @@ Initiates the workflow, leading to the first and main manual task. This task is unique in that it presents the user with distinct options in the form of buttons. The default flow is a standard submission button that, when clicked, directs the workflow towards a conventional end. -![signal_event_example](images/Signal_events_spiff_example1.png) +![signal_event_example](/images/Signal_events_spiff_example1.png) Attached to **My Manual Task**, three Signal Boundary Events are set to listen for specific signals. These signals determine the flow of the process after the second button is pressed. @@ -148,7 +148,7 @@ These IDs are essential for the Signal Boundary Events to correctly identify and Attached to **My Manual Task**, this event is configured to trigger after a specific duration, automating the process flow if the user does not interact with the manual task within the given timeframe. Notably, this event leads the process towards an alternative path or end without requiring user input. -![signal_event_example](images/Signal_events_spiff_example6.png) +![signal_event_example](/images/Signal_events_spiff_example6.png) ### 3. **End Events**: @@ -162,7 +162,7 @@ The others are linked to the outcomes of the Signal Boundary Events and the Time After starting the task, the signal buttons "Eat Cheetos" and "Eat Spam" will appear. Clicking on any button will lead to the respective manual task. -![signal_event_example](images/Signal_events_spiff_example3.png) +![signal_event_example](/images/Signal_events_spiff_example3.png) ```{tags} reference, building_diagrams ``` diff --git a/docs/Building_Diagrams/sub-processes_and_call_activities.md b/docs/reference/bpmn/sub-processes_and_call_activities.md similarity index 80% rename from docs/Building_Diagrams/sub-processes_and_call_activities.md rename to docs/reference/bpmn/sub-processes_and_call_activities.md index 3f2a62df7..8b201f668 100644 --- a/docs/Building_Diagrams/sub-processes_and_call_activities.md +++ b/docs/reference/bpmn/sub-processes_and_call_activities.md @@ -6,10 +6,10 @@ They serve distinct purposes and are used in different scenarios. ## **Reasons to use Sub-Processes or Call Activities:** - Consolidate tasks that either have common features or collaboratively form a distinct functionality. -For example, a Notification Gateway, which includes script tasks and a service task, works together to construct and send a notification, such as an email. + For example, a Notification Gateway, which includes script tasks and a service task, works together to construct and send a notification, such as an email. - Group tasks where a Boundary Event can be efficiently applied to the entire group. -For instance, instead of individually assigning a condition or timer to each task, all tasks can be included within a sub-process or call activity, where the condition or timer inherently applies to all the contained tasks. + For instance, instead of individually assigning a condition or timer to each task, all tasks can be included within a sub-process or call activity, where the condition or timer inherently applies to all the contained tasks. ## Sub-Processes @@ -22,45 +22,54 @@ For instance, instead of individually assigning a condition or timer to each tas - **Conditions or events need to be applied:** When specific conditions or events, such as a timer event, need to be applied to a set of tasks, but these tasks do not collectively form a reusable workflow that can be called as a separate process. ### **Example Use Case: Restaurant Ordering System** + A restaurant management workflow where customers place an order online, and the system processes their selections step by step. To streamline the workflow, the food selection process is encapsulated in a Subprocess. -![Sub process](images/sub_process.png) +![Sub process](/images/sub_process.png) + +**Step 1**: **Enter Name** -**Step 1**: **Enter Name** - A User Task that collects the customer's name using a web form. -**Step 2**: **Select Food** +**Step 2**: **Select Food** + - A Subprocess that encapsulates the food selection process. -**Step 3**: **Display Bill Value** +**Step 3**: **Display Bill Value** + - A Script Task that calculates the total bill based on the selected items. -**Step 4**: **Handle Payment** +**Step 4**: **Handle Payment** + - A Call Activity that integrates an external payment handling process. **Step 5**: **Order Confirmation** - A User Task that displays the confirmation message to the user. #### **Subprocess: Select Food** -![Sub process](images/sub_process1.png) + +![Sub process](/images/sub_process1.png) **Goal**: Simplify the food selection process into smaller, more manageable steps. **Internal Workflow**: + 1. **Start Event**: Initiates the subprocess. 2. **Appetizer Task**: User selects an appetizer via a form. 3. **Soup Task**: User selects a soup option. 4. **Main Course Task**: User chooses a main course. 5. **Dessert Task**: User selects a dessert. -6. **End Event**: Marks the completion of the subprocess. +6. **End Event**: Marks the completion of the subprocess. 7. **Input Variables**: - - No specific inputs required in this example as tasks dynamically retrieve options from context or form + +- No specific inputs required in this example as tasks dynamically retrieve options from context or form + 8. **Output Variables**: - - `selected_items`: A dictionary containing the user’s food selections (e.g., `{"Appetizer": "Spring Rolls", "Soup": "Tomato Soup", ...}`). +- `selected_items`: A dictionary containing the user’s food selections (e.g., `{"Appetizer": "Spring Rolls", "Soup": "Tomato Soup", ...}`). ## Call Process -![active_call_process](images/active_call_process.png) +![active_call_process](/images/active_call_process.png) A Call Process is similar to a Sub-Process in that it encapsulates part of a workflow, but it is designed to be reused across multiple different processes. It's essentially a stand-alone process that can be "called" into action as required by other processes. @@ -77,13 +86,13 @@ Using a Call Process can help to eliminate redundancy and ensure consistent exec - **Delegation:** When different individuals or teams are responsible for executing tasks within a process, a call activity can be assigned to the most appropriate person or team. - **Access Control:** If a specific segment of a process should not be available to every user, converting it into a call process helps establish access control. -More information about this can be found in the [Admin and Permission](../DevOps_installation_integration/admin_and_permissions.md) section. - + More information about this can be found in the [Admin and Permission](/how_to_guides/deployment/admin_and_permissions.md) section. ### **Example Use Case: Payment Handling** + A restaurant management workflow handles customer orders, calculates the bill, and processes payments. To maintain modularity and reusability, the payment processing logic is encapsulated in a separate workflow and invoked using a Call Activity. -![Call Process](images/Call_Activity1.png) +![Call Process](/images/Call_Activity1.png) **Step 1**: **Enter Name** - A User Task that collects the customer's name. @@ -95,14 +104,16 @@ A restaurant management workflow handles customer orders, calculates the bill, a **Step 5**: **Order Confirmation** - A User Task that displays order confirmation. -#### **Call Activity: Handle Payment**: +#### **Call Activity: Handle Payment** + A restaurant management workflow handles customer orders, calculates the bill, and processes payments. To maintain modularity and reusability, the payment processing logic is encapsulated in a separate workflow and invoked using a Call Activity. -![Call Process](images/Call_Activity.png) +![Call Process](/images/Call_Activity.png) **Goal**: Abstract the logic of handling different payment methods into a reusable process. **Internal Workflow of Called Process**: + 1. **Start Event**: Initiates the payment process. 2. **Select Payment Method**: - A User Task where the customer selects a payment method (e.g., "Pay on Delivery" or "Pay Online"). @@ -117,7 +128,8 @@ A restaurant management workflow handles customer orders, calculates the bill, a In the example of "Handle Payment," the main workflow remains focused on order management while delegating payment logic to a reusable process, improving both clarity and efficiency. -Therefore, the Call Process is a critical tool for creating modular, reusable, and scalable workflows in SpiffWorkflow. +Therefore, the Call Process is a critical tool for creating modular, reusable, and scalable workflows in SpiffWorkflow. ```{tags} reference, building_diagrams + ``` diff --git a/docs/Building_Diagrams/task_data.md b/docs/reference/bpmn/task_data.md similarity index 100% rename from docs/Building_Diagrams/task_data.md rename to docs/reference/bpmn/task_data.md diff --git a/docs/Building_Diagrams/timer_events.md b/docs/reference/bpmn/timer_events.md similarity index 88% rename from docs/Building_Diagrams/timer_events.md rename to docs/reference/bpmn/timer_events.md index 36e7647c2..c10788321 100644 --- a/docs/Building_Diagrams/timer_events.md +++ b/docs/reference/bpmn/timer_events.md @@ -36,13 +36,13 @@ The R denotes recurrence, followed by the number of recurrences, and PT8H is the ## Start Timer Event -![start_signal_event](images/start_timer_event.png)![start_timer_example](images/non_interrupting_start_timer.png) +![start_signal_event](/images/start_timer_event.png)![start_timer_example](/images/non_interrupting_start_timer.png) A Start Timer Event marks the beginning of a process or sub-process, but only once a specified period has elapsed or at a predetermined time. **Example:** -![start_timer_example](images/start_timer_example.png) +![start_timer_example](/images/start_timer_example.png) **Timer Start Event:** Consider a company that sends out a newsletter on the first of every month. To achieve this, they could set up a 'Start Timer Event' named 'Monthly Newsletter Timer' with a cyclic timer to activate on the first day of each month. @@ -59,7 +59,7 @@ The advantage is that it doesn't disrupt the customer's current session, providi ## Intermediate Timer Event -![intermediate_timer_event](images/intermediate_timer_event.png) ![non_interrupting_intermediate_timer_event](images/non_interrupting_intermediate_timer_event.png) +![intermediate_timer_event](/images/intermediate_timer_event.png) ![non_interrupting_intermediate_timer_event](/images/non_interrupting_intermediate_timer_event.png) An Intermediate Timer Event acts as a pause or delay within the flow of a process. The process flow will only continue after the set time has been reached or elapsed. @@ -67,7 +67,7 @@ Furthermore, as a Boundary Event, it can be linked to specific tasks or sub-proc **Example:** -![timer_intermediate_example_1](images/start_timer_example_1.png) +![timer_intermediate_example_1](/images/start_timer_example_1.png) **Timer Intermediate Catch Event:** @@ -83,7 +83,7 @@ An 'Intermediate Timer Event' can be configured here to accumulate the day's ord **Example:** -![start_timer_example_2](images/start_timer_example_2.png) +![start_timer_example_2](/images/start_timer_example_2.png) **Timer Boundary Event (interrupting):** @@ -105,7 +105,7 @@ Note that the original task is still active. **Best Modeling Practices:** -![start_timer_example_3](images/start_timer_example_3.png) +![start_timer_example_3](/images/start_timer_example_3.png) In process automation, ensuring all tasks and processes reach a definitive end is a fundamental aspect of good modeling practice. Abandoned or lingering tasks can strain resources and introduce inefficiencies. @@ -121,9 +121,9 @@ Just remember to have a mechanism in place to eventually break out of the loop a | πŸ’» Form | ⌨ Field Input | πŸ“ Description | | -------------------------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------- | -| ![name_field](images/name_field.png) | **Name:** Cancel Order | A descriptive name given to the element, providing a human-readable label or title. | -| ![id_field](images/id_field.png) | **ID:** Example - cancel_order | An identifier used to uniquely identify the element within the BPMN model. | -| ![timer_field](images/timer_field.png) | **Type:** Duration **Value:** PT48H | Choose the type of trigger you want to set: Specific Date/Time, Duration, or Cycle Trigger. | +| ![name_field](/images/name_field.png) | **Name:** Cancel Order | A descriptive name given to the element, providing a human-readable label or title. | +| ![id_field](/images/id_field.png) | **ID:** Example - cancel_order | An identifier used to uniquely identify the element within the BPMN model. | +| ![timer_field](/images/timer_field.png) | **Type:** Duration **Value:** PT48H | Choose the type of trigger you want to set: Specific Date/Time, Duration, or Cycle Trigger. | ```{admonition} Timer Delay πŸ’‘ Note: Timer events, especially those set for short durations, may face delays of 20-30 seconds, varying with the number of active instances. diff --git a/docs/Building_Diagrams/user_tasks_and_forms.md b/docs/reference/bpmn/user_tasks_and_forms.md similarity index 97% rename from docs/Building_Diagrams/user_tasks_and_forms.md rename to docs/reference/bpmn/user_tasks_and_forms.md index 3923a5a1e..db872cccb 100644 --- a/docs/Building_Diagrams/user_tasks_and_forms.md +++ b/docs/reference/bpmn/user_tasks_and_forms.md @@ -20,7 +20,7 @@ Some key features of user tasks are: **2. Configuring the User Task** Click on the user task in the BPMN editor to display the **Properties Panel** on the right. Below are the key sections and settings for user tasks: - ```{image} ./images/user_tasks_properties.png + ```{image} /images/user_tasks_properties.png :alt: Service Task :width: 300px :align: right @@ -70,7 +70,7 @@ To simplify the form creation process, we use the React JSON Schema Form (RJSF) It enables you to create dynamic and interactive forms with ease. The RJSF library is open source, free to use, and follows the principles of open standards. -![Image](images/Form_json.png) +![Image](/images/Form_json.png) Please note that while this guide provides a basic understanding of JSON Schema and RJSF, there is much more to explore. We encourage you to refer to the official [RJSF documentation](https://rjsf-team.github.io/react-jsonschema-form/docs/) for comprehensive details and advanced techniques. @@ -83,7 +83,7 @@ However, it's important to note that the form builder may have certain limitatio While the form builder provides convenience and simplicity, using the JSON editor offers greater flexibility and control over the form structure. -![Image](images/Form-Builder.png) +![Image](/images/Form-Builder.png) 3. **Creating Forms from BPMN Editor** @@ -94,21 +94,21 @@ Upon creating a new BPMN file, open it to access the editor. - In the editor, go to the "Web form" section. Navigate to the "Web form" and If starting from scratch, launch the editor and name your file (e.g., "demo"). After saving, it will automatically generate three essential files for us: a schema, UI settings, and some example data. -![Form Editor](images/Form_editor.png) +![Form Editor](/images/Form_editor.png) **Understanding the Three Core Files** - **JSON Schema**: This file describes the form. It allows you to define titles, property names, and more. As you make changes in this file, they will reflect in the form preview window. This schema outlines the properties or data points you aim to collect. -![Form Editor](images/Form_editor1.png) +![Form Editor](/images/Form_editor1.png) - **UI Settings**: This file offers customization options for your form. You can edit descriptions, titles, and more. Changes made here are reflected in real-time on the form. -![Form Editor](images/Form_editor2.png) +![Form Editor](/images/Form_editor2.png) - **Data View**: This section displays the data users input into the form. It provides a preview of what will be captured when the form is submitted. Both the data view and the form stay synchronized, ensuring consistency. -![Form Editor](images/Form_editor3.png) +![Form Editor](/images/Form_editor3.png) **Adding and Customizing Form Elements** @@ -116,7 +116,7 @@ You can add existing templates to add elements to your form, such as text areas, Each element can be further customized in the JSON schema and UI settings. For instance, you can set the UI widget correctly for each element, ensuring it appears as intended on the form. -![Form Editor](images/Form_editor4.png) +![Form Editor](/images/Form_editor4.png) ### SpiffArena react-jsonschema-form enhancements @@ -348,7 +348,7 @@ Here's how to use it: } ``` -![Styling_Form](images/styling_forms.png) +![Styling_Form](/images/styling_forms.png) #### Key Points: - **Layout Design**: The `ui:layout` specifies that `firstName` and `lastName` should appear side by side. Each field's size adjusts according to the screen size (small, medium, large), utilizing grid columns for responsive design. @@ -411,7 +411,7 @@ In the example above: - The help text "Pick whatever # you want!" will be displayed for the `form_num_1` field. **Output**: -![Display UI Help](images/Display_UI_Help.png) +![Display UI Help](/images/Display_UI_Help.png) By incorporating such help texts, you can enhance the user experience and ensure that users fill out the form correctly. @@ -429,7 +429,7 @@ To incorporate the markdown widget into your rjsf form, follow these steps: "ui:widget": "markdown" ``` -![rjsf markdown](images/rsjf_markdown.png) +![rjsf markdown](/images/rsjf_markdown.png) #### Numeric Range Field @@ -518,7 +518,7 @@ This structure can be represented in the form's schema as follows: **Form Preview**: -![Nested Forms](images/Nested_form_display.png) +![Nested Forms](/images/Nested_form_display.png) By using this feature, you can effectively implement new buttons for nested forms or repeating sections, improving the form's usability for collecting multiple related entries from users. @@ -573,7 +573,7 @@ To verify the functionality of the Guest User Task feature, follow these steps: Design a process model that includes a manual or user task. Ensure you check the **"allow guest"** checkbox. -![Guest user](images/guest_user1.png) +![Guest user](/images/guest_user1.png) 2. **Start the Process Model**: @@ -583,7 +583,7 @@ Initiate the process model using the same user account that created it. Navigate to the process instance show page and retrieve the GUID of the human task. -![Guest user](images/guest_user2.png) +![Guest user](/images/guest_user2.png) 4. **Construct the Access URL**: @@ -597,7 +597,7 @@ Replace `[domain]`, `[process_instance_id]`, and `[task_guid]` with appropriate 5. **Test as a Guest User**: Open an incognito or private browsing window (not logged into Spiff). Navigate to the constructed URL. Confirm that the guest user can complete the task. -![Guest user](images/guest_user3.png) +![Guest user](/images/guest_user3.png) The Guest User Task feature improves usability for non-logged-in users by allowing them to complete designated tasks seamlessly. diff --git a/docs/appendices/glossary.md b/docs/reference/glossary.md similarity index 100% rename from docs/appendices/glossary.md rename to docs/reference/glossary.md diff --git a/docs/reference/index.md b/docs/reference/index.md new file mode 100644 index 000000000..d55558718 --- /dev/null +++ b/docs/reference/index.md @@ -0,0 +1,32 @@ +# Reference + +The Reference section contains detailed information about SpiffWorkflow's components and features. + +```{toctree} +:maxdepth: 1 +glossary +FAQ.md +wish_list +permission_url.md +``` + +```{toctree} +:maxdepth: 1 +:caption: Elements of BPMN +bpmn/user_tasks_and_forms.md +bpmn/gateways.md +bpmn/events.md +bpmn/message_events.md +bpmn/signal_events.md +bpmn/timer_events.md +bpmn/escalation_events.md +bpmn/conditional_events.md +bpmn/error_events.md +bpmn/Script_Tasks.md +bpmn/service_tasks.md +bpmn/sub-processes_and_call_activities.md +bpmn/data.md +bpmn/multiinstance.md +bpmn/dmn.md +bpmn/pools_and_lanes.md +``` diff --git a/docs/DevOps_installation_integration/permission_url.md b/docs/reference/permission_url.md similarity index 100% rename from docs/DevOps_installation_integration/permission_url.md rename to docs/reference/permission_url.md diff --git a/docs/wish_list/wish_list.md b/docs/reference/wish_list.md similarity index 100% rename from docs/wish_list/wish_list.md rename to docs/reference/wish_list.md diff --git a/docs/tutorials/index.md b/docs/tutorials/index.md new file mode 100644 index 000000000..ba700e232 --- /dev/null +++ b/docs/tutorials/index.md @@ -0,0 +1,8 @@ +# Tutorials + +Welcome to the Tutorials section. Here you will find step-by-step guides to help you get started with SpiffWorkflow. + +```{toctree} +:maxdepth: 1 +/Getting_Started/quick_start.md +```