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

Stunner - BPMN Serialization reusing ID

XMLWordPrintable

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

      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.

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

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

                Created:
                Updated:
                Resolved: