Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Camunda Modeler supports BPMN Errors triggered via RPA Bridge #2070

Closed
14 of 17 tasks
MaxTru opened this issue Jan 18, 2021 · 8 comments
Closed
14 of 17 tasks

Camunda Modeler supports BPMN Errors triggered via RPA Bridge #2070

MaxTru opened this issue Jan 18, 2021 · 8 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@MaxTru
Copy link
Contributor

MaxTru commented Jan 18, 2021

This is an epic issue which may be broken down into multiple tasks, if needed

What should we do?

As part of the April CamBPM release, the RPA Bridge will support the triggering of BPMN errors. This shall be supported by the Camunda Modeler.

An example looks like this:

    <bpmn:serviceTask id="ServiceTask_2" name="Generate quote"  camunda:type="external" camunda:topic="RPA">
      <bpmn:extensionElements>
        <camunda:inputOutput>
          <camunda:inputParameter name="productName">${product}</camunda:inputParameter>
          <camunda:inputParameter name="count">${count}</camunda:inputParameter>
          <camunda:inputParameter name="price">${price}</camunda:inputParameter>
          <camunda:outputParameter name="pdfStorage">${pdfStorage}</camunda:outputParameter>
        </camunda:inputOutput>
        <camunda:properties>
          <camunda:property name="bot" value="PDFQuoteGenerator" />
        </camunda:properties>
        <camunda:errorEventDefinition id="CamundaErrorEventDefinition1" errorRef="Error_0x9vl7b" expression="${true}" />
        <camunda:errorEventDefinition id="CamundaErrorEventDefinition2" errorRef="Error_0x9vl7c" expression="${processVar}" />
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_04k3izd</bpmn:incoming>
      <bpmn:outgoing>Flow_1s764or</bpmn:outgoing>
    </bpmn:serviceTask>

In particular we need to (see child issues for more details):

Priority 1

  • Improve existing bpmn-js-properties-panel UI for eventDefinitions. See issue for details
  • Support camunda:errorEventDefinition for external ServiceTasks in Camunda Moddle
  • Implement new UI component supporting camunda:errorEventDefinition for external ServiceTasks. See issue for details
  • Support camunda:errorEventDefinition for external ServiceTasks with ElementTemplates
    • Decide a concept, how camunda:errorEventDefinition can be configured using ElementTemplates (See https://miro.com/app/board/o9J_lZ7EwN0=/ and respective issues)
    • Allow scopes to be an Array (rather than an Object as it is currently). Ensure backwards compatability (ie. still be able to scopes being an Object) see issue for details
    • Support global entity bpmn:Error by adding new scoped binding type. See issue for details
    • Implement new element template binding camunda:errorEventDefinition which allows to link an bpmn:error using the errorRef property see issue for details
    • Adjust the elementTemplates jsonSchema to ensure compatibility (array scopes, error scopes, error event definition binding). See issue for details.
    • Support the transfer of all attributes on copy/pasting a service task defining a camunda:ErrorEventDefinition. (See issue for details)
    • Ensure the removal of camunda:ErrorEventDefinition-related attributes when changing the service task type from external to any other. (See issue for details)
  • Update element templates docs (Update element templates docs #2161)
  • Release + integrate element-templates-json-schema@0.3.0

Priority 2

  • Allow the reorder of camunda:errorEventDefinitionss of a given serviceTask by adding a "dragging" features for the list of collapsbiles
  • Adjust the elementTemplates jsonSchema
  • Add support for all global entites (based on the concept established with bpmn:Error
  • Add support for all eventDefinitions (based on the concept established with camunda:errorEventDefinition

Why should we do it?

The Camunda Modeler shall support the BPMN Error Trigger via RPA Bridge use case. See https://jira.camunda.com/browse/CAM-12040 for the CamBPM implementation.

Context
CamBPM implementation: https://jira.camunda.com/browse/CAM-12040
Concept-board https://miro.com/app/board/o9J_lZ7EwN0=/

@MaxTru MaxTru self-assigned this Jan 18, 2021
@MaxTru MaxTru added the in progress Currently worked on label Jan 18, 2021 — with bpmn-io-tasks
@MaxTru MaxTru added the enhancement New feature or request label Jan 27, 2021
azeghers added a commit to camunda/camunda-bpmn-moddle that referenced this issue Feb 4, 2021
azeghers added a commit to camunda/camunda-bpmn-moddle that referenced this issue Feb 4, 2021
azeghers added a commit to camunda/camunda-bpmn-moddle that referenced this issue Feb 5, 2021
rename existing event definitions to camunda:*EventDefinitionExtension

Related to camunda/camunda-modeler#2070
azeghers added a commit to camunda/camunda-bpmn-moddle that referenced this issue Feb 8, 2021
rename existing event definitions to camunda:*EventDefinitionExtension

Related to camunda/camunda-modeler#2070
azeghers added a commit to camunda/camunda-bpmn-moddle that referenced this issue Feb 8, 2021
azeghers added a commit to camunda/camunda-bpmn-moddle that referenced this issue Feb 8, 2021
azeghers added a commit to camunda/camunda-bpmn-moddle that referenced this issue Feb 8, 2021
MaxTru pushed a commit to camunda/camunda-bpmn-moddle that referenced this issue Feb 8, 2021
MaxTru pushed a commit to camunda/camunda-bpmn-moddle that referenced this issue Feb 8, 2021
azeghers added a commit to camunda/camunda-bpmn-moddle that referenced this issue Feb 8, 2021
rename existing event definitions to camunda:*EventDefinitionExtension

Related to camunda/camunda-modeler#2070
azeghers added a commit to camunda/camunda-bpmn-moddle that referenced this issue Feb 8, 2021
azeghers added a commit to camunda/camunda-bpmn-moddle that referenced this issue Feb 8, 2021
rename existing event definitions to camunda:*EventDefinitionExtension

Related to camunda/camunda-modeler#2070
azeghers added a commit to camunda/camunda-bpmn-moddle that referenced this issue Feb 8, 2021
azeghers added a commit to camunda/camunda-bpmn-moddle that referenced this issue Feb 8, 2021
MaxTru pushed a commit to camunda/camunda-bpmn-moddle that referenced this issue Feb 8, 2021
azeghers added a commit to camunda/camunda-bpmn-moddle that referenced this issue Feb 9, 2021
@nikku
Copy link
Member

nikku commented Mar 24, 2021

Full feature is pending inclusion of latest camunda-bpmn-js (#2173) and should be in next nighly build once approved and merged.

Could you @MaxTru give this a final review and close this issue if we're done? From my point of view #2173 checks all boxes. Remaining work (documentation is reflected in #2161 and worked on separately).

@nikku nikku added needs review Review pending and removed in progress Currently worked on labels Mar 24, 2021
@MaxTru
Copy link
Contributor Author

MaxTru commented Mar 25, 2021

Could you @MaxTru give this a final review and close this issue if we're done?

Will do

@MaxTru
Copy link
Contributor Author

MaxTru commented Mar 25, 2021

Smoke test result:

Ensure the removal of camunda:ErrorEventDefinition-related attributes when changing the service task type from external to any other. (See issue for details)

is not yet working. We need to use 0.42.0 of the bpmn-js-properties-panel

@nikku
Copy link
Member

nikku commented Mar 25, 2021

Integrated via #2173 as mentioned above. Please check on the branch.

@MaxTru
Copy link
Contributor Author

MaxTru commented Mar 25, 2021

I tested on the develop branch.

IMO we still have a dependency to bpmn-js-properties-panel in Camunda Modeler. (See Niklas comment https://github.com/camunda/camunda-modeler/blob/develop/client/src/plugins/element-templates-modal/components/ElementTemplatesModalView.js#L31).

Either we bump bpmn-js-properties-panel here as well. Or we improve the setup (Niklas proposed to expose https://github.com/camunda/camunda-modeler/blob/develop/client/src/plugins/element-templates-modal/components/ElementTemplatesModalView.js#L31 via camunda-bpmn-js ?). I will touch this in the daily.

I see, will re-test once the feature branch is integrated - sorry missed that

@nikku
Copy link
Member

nikku commented Mar 25, 2021

Merged #2173.

@MaxTru
Copy link
Contributor Author

MaxTru commented Mar 25, 2021

I did a final smoke test including:

  • Configure errorEventDefinitions for external serviceTask
  • Configure errorEventDefinitions for external serviceTask using elementTemplate
  • CopyPaste Behavior
  • Change impl type behavior

All looking good. Great job everyone!

Closing this ticket, since documentation is anyhow tracked seperately. Implementation wise we are done.

@MaxTru MaxTru closed this as completed Mar 25, 2021
@bpmn-io-tasks bpmn-io-tasks bot removed the needs review Review pending label Mar 25, 2021
@MaxTru
Copy link
Contributor Author

MaxTru commented Mar 30, 2021

Integration Test with Cawemo Team

30.03.2021

Scope

Screenshot_20210330_121535
(See [sep. issue] for integration test with platform team)

Setup

  • Camunda Modeler nightly from 30.03.2021
  • Cawemo Staging env. as of 30.03.2021 (Enterprise Beta)
  • Cloud Connect 3.0.0

Test Cases

No. Case Result
1 Template with single error: (1) can be applied (2) all values present (3) validation is the same ✔️
2 Template with single error updated: (1) update dialog is offered (2) update works ✔️
3 Template with multiple errors: (1) can be applied (2) all values present (3) validation is the same ✔️
4 Template with multiple errors updated: (1) update dialog is offered (2) update works ✔️

Evaluation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants