Uploaded image for project: 'Kogito'
  1. Kogito
  2. KOGITO-395

Stunner - BPMN Serialization reusing ID

    XMLWordPrintable

Details

    • 2020 Week 10-12 (from Mar 2), 2020 Week 13-15 (from Mar 23)

    Description

      Designer generate and regenerate after every save IDs for some elements and not using this ID anywhere. if ID is not used anywhere in the process it should be removed. For example Element Documentation has attribute id, but this id is not used anywhere else to refer to this documentation and so it can be removed.

      Attached Example files before/after the fix

      BeforeChangesInit.bpmn - process saved in Kogito webapp without changes
      BeforeChangesResult.bpmn - process saved in Kogito webapp after small change

      WithFixInit.bpmn - process saved in Kogito webapp with fix for the first time (IDs removed)
      WithFixResult.bpmn - process saved in Kogito webapp with fix after small change

      BeforeFix.diff - Diff file generated from BeforeChangesInit.bpmn and BeforeChangesResult.bpmn
      AfterFix.diff - Diff file generated from WithFixInit.bpmn and WithFixResult.bpmn

      Acceptance Criteria

      • IDs with no usage shouldn't be generated.
      • Open any BPMN process generated in VS Code plugin, made small change and save
      • In resulted XML shouldn't be changed IDs which never used for elements:
        • Documentaion
        • LaneSet
        • ioSpecification
        • inputSet
        • outputSet
        • dataInputAssociation
        • DataOutputAssociation
        • Assignment
        • TimerEventDefinition
        • CompensateEventDefinition
        • SignalEventDefinition
        • errorEventDefinition
        • completionCondition
        • messageEventDefinition
        • escalationEventDefinition
        • conditionalEventDefinition
        • terminateEventDefinition
        • MultiInstanceLoopCharacteristics
        • Potential Owner (User Task → Actor property)
        • FormalExpression tags such as:
          • CompletionCondition
          • ConditionExpression
          • Condition
          • TimeDate
          • TimeDuration
          • from
          • to
      Expected Result

      After save no one element will change ID if ID is not used in other places.

      Attachments

        1. AfterFix.diff
          4 kB
        2. BeforeChangesInit.bpmn
          105 kB
        3. BeforeChangesResult.bpmn
          105 kB
        4. BeforeFix.diff
          25 kB
        5. BigProcess.bpmn
          96 kB
        6. BusinessCentralEventMoved.diff
          69 kB
        7. process image.png
          process image.png
          254 kB
        8. VSCodeEventMoved.diff
          61 kB
        9. WithFixInit.bpmn
          101 kB
        10. WithFixResult.bpmn
          101 kB

        Issue Links

          Activity

            People

              kgaevski@redhat.com Kirill Gaevskii
              dmarrazz@redhat.com Donato Marrazzo
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: