Re-introduce Formio forms support to allow BPM process (Start Events and Human Tasks) (DS Services) to use Formio Forms.
WIP Sequence flow Representation:
title OroBAP-Formio-Camunda Integration
User 1 -> OroBAP: Activate Service
OroBAP ->+ Camunda: Request Start FormKey for Process
Camunda ->- OroBAP: Start Form Key
OroBAP ->+ Formio: Request Form Schema using Form Key
Formio ->- OroBAP: Form JSON Schema
OroBAP -> User 1: Form JSON Schema (Formio Directive)
User 1 ->+ OroBAP: Submit Form
OroBAP ->+ Formio: Dry Run Validation of Formio
Formio ->- OroBAP: Dry Run Results
alt Dry Run == Validation Errors
OroBAP -> User 1: Error Messages
else Dry Run == No Validation Errors
OroBAP -> Camunda: Submit Data
Camunda -> OroBAP: Submission Response
OroBAP ->- User 1: Submission Response
end
Variant Version for showing differences between Symfony Form and Formio Form loads.
Version assumes a non-error response in the form. (no error handling is shown in the diagram).
title Authentication Sequence
User 1 -> OroBAP: Activate Service
OroBAP ->+ Camunda: Get Form Key for Process
Camunda ->- OroBAP: Return Form Key
alt Symfony Form Key
OroBAP -> OroBAP: Load Symfony Form
OroBAP -> User 1: Return Rendered Form
User 1 ->+ OroBAP: Submit Form
OroBAP ->+ Camunda: Start Process Instance
Camunda ->- OroBAP: Return Instance Response
OroBAP ->- User 1: Return Form Response
else Formio Form Key
OroBAP ->+ Formio: Get Formio Form
Formio ->- OroBAP: Form Schema
OroBAP -> User 1: Return Form Schema
User 1 ->+ OroBAP: Submit Form
OroBAP ->+ Formio: DryRun Validation
Formio ->- OroBAP: Validation Response
OroBAP ->+ Camunda: Start Process Instance
Camunda ->- OroBAP: Return Instance Response
OroBAP ->- User 1: Return Form Response
end
@StephenOTT it would vbe very nice if this could be used without Camuda. It might not solve your use case, but I am sure other users might like this :wink:
Re-introduce Formio forms support to allow BPM process (Start Events and Human Tasks) (DS Services) to use Formio Forms.
WIP Sequence flow Representation:
Variant Version for showing differences between Symfony Form and Formio Form loads. Version assumes a non-error response in the form. (no error handling is shown in the diagram).