{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Request JSON","description":"API documentation for Celonis APIs.","siteUrl":"https://developer.celonis.com/","keywords":"celonis developer portal, celonis apis, celonis api reference docs","lang":"en-US","llmstxt":{"hide":false,"description":"Celonis API documentation","sections":[{"title":"API Docs","description":"Available Celonis API Docs","includeFiles":["**/*.md"],"excludeFiles":[]},{"title":"API Specs","description":"All Celonis API specifications","includeFiles":["**/openapi.yaml"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"request-json","__idx":0},"children":["Request JSON"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request JSON"]}," is used for the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["CalculateLayout"]}," endpoint of the ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Symbio-Graphic-Service"]},". Layout calculation can be requested for"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["calculation"]}," type ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cxn"]}," (connection; route for a single connection path from a source node to a target node) and"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["calculation"]}," type ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["flow"]}," (process flow; directed graph with any number of nodes and edges)."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["From now on the description refers to the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["calculation"]}," type ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["flow"]},".",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"table-of-contents","__idx":1},"children":["Table of contents"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#gen-struct"},"children":["1.0 - General structure of the Request JSON"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#dgm-meta"},"children":["2.0 - The diagram meta-information part of the Request JSON"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#dgm-meta-typic"},"children":["2.1 - How it typically looks like"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#dgm-meta-result"},"children":["2.2 - The requested <code>result</code> type"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#dgm-meta-calc"},"children":["2.3 - The requested <code>calculation</code> type"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#dgm-meta-conf"},"children":["2.4 - The <code>configurations</code> "]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#context-part"},"children":["3.0 - The context part of the Request JSON (diagram as a whole)"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#context-part-typic"},"children":["3.1 - How it typically looks like"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#context-part-info"},"children":["3.2 - Context informations"]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#content-part"},"children":["4.0 - The <code>content</code> part of the Request JSON (containing the nodes and edges collections)"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#content-part-typic"},"children":["4.1 - How it typically looks like"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#content-part-nodes"},"children":["4.2 - The <code>nodes</code> collection"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#content-part-nodes-lane-relevance"},"children":["The <code>laneRelevantRelated</code> collection"]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#content-part-edges"},"children":["4.3 - The <code>edges</code> collection"]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#pools-part"},"children":["5.0 - The <code>pools</code> part of the Request JSON "]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#pools-part-typic"},"children":["5.1 - How it typically looks like"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#pools-part-tune"},"children":["5.2 - The <code>pool</code> tuning"]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#elements-part"},"children":["6.0 - The <code>elements</code> part of the Request JSON"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#elements-part-typic-events"},"children":["6.1 - How it typically looks like for events"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#elements-part-typic-tasks"},"children":["6.2 - How it typically looks like for tasks"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#elements-part-typic-roles"},"children":["6.3 - How it typically looks like for roles"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#elements-part-typic-data"},"children":["6.4 - How it typically looks like for data"]}," --- REWORK STOPED HERE"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#correlation"},"children":["7.0 Understanding the correlation of <code>nodes</code> / <code>edges</code>  and <code>elements</code> by examples"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#correlation-sample1"},"children":["Sample 1 (a node/shape and the underlaying element vs. the BPMN equivalent)"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"_","__idx":2},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"gen-struct"},"children":["1. - General structure of the Request JSON"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request JSON"]}," (for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["calculation"]}," type ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["flow"]},") must provide all necessary information to calculate a layout (and optionally render a graphic, in the case the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]}," type is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["esvg"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["svg"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sesvg"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ssvg"]},") of a process flow (directed graph with any number of nodes and edges)."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Disclaimer:"]}," The following comparison between the ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Request JSON"]}," and ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["BPMN"]}," is made not because the two formats perform a similar task, but because they convey similar content: ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Process flows"]},"."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["The file structure"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Compared to BPMN"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Comments"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"  {\n      \"result\": \"json\",\n      \"calculation\": \"flow\",\n      \"configurations\": [\n      ...\n      ],\n  }\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"  <definitions>\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Diagram meta-information"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The JSON format has to support layout and rendering requests for multiple purposes (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cxn"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["flow"]},") as well as multiple configurations."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Thus it provides some meta-information like the requested ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"result\""]}," and the type of ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"calculation\""]}," as well as details regarding layout and rendering ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"configurations\""]},"."]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"  {\n      \"context\": {\n      ...\n      },\n  }\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"  <definitions>\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Diagram meta-information"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The JSON format has to support layout and rendering requests for multiple purposes (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cxn"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["flow"]},") as well as multiple configurations."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Thus it provides some meta-information like the requested ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"result\""]}," and the type of ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"calculation\""]}," as well as details regarding layout and rendering ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"configurations\""]},"."]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"  {\n      \"result\": \"json\",\n      \"calculation\": \"flow\",\n      \"configurations\": [\n      ...\n      ],\n  }\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"  <bpmndi:BPMNDiagram>\n  ...\n  ...\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Diagram context"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The JSON format holds additional information about the diagram, that are not known to BPMN."]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"  \"content\": {\n      \"nodes\": [\n      {\n          ...\n      },\n      ...\n      ],\n      \"edges\": [\n      {\n      ...\n      },\n      ...\n      ]\n  },\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"      <bpmndi:BPMNPlane>\n\n          <bpmndi:BPMNShape>\n          ...\n          </bpmndi:BPMNShape>\n          ...\n\n          <bpmndi:BPMNEdge>\n          ...\n          </bpmndi:BPMNEdge>\n          ...\n      </bpmndi:BPMNPlane>\n  </bpmndi:BPMNDiagram>\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Diagram - Commonalities"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Besides that, the Request JSON and BPMN hold directly comparable data:",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["JSON ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"nodes\""]}," / ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"edges\""]}," and the BPMN ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["<bpmndi:BPMNPlain>"]}," contain the collection of node-shapes and edge-shapes."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["JSON ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"pools\""]}," and the BPMN ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["<collaboration>"]}," contain the collection of pools.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["JSON ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"elements\""]}," and the BPMN ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["<process>"]}," contain the collection of node-definitions and edge-definitions."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Diagram content - Differences"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["While JSON provides diagram information as sub-nodes (e.g.: ",{"$$mdtype":"Tag","name":"i","attributes":{},"children":["\"id\": \"1\","]},"), BPMN provides diagram information as attributes (e.g.: ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["<bpmn:process id=\"1\">"]},")."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["While JSON distinguishes the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"nodes\""]}," collection and the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"edges\""]}," collection, BPMN doesn't."]}]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"  \"pools\": [\n      ...\n  ],\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"  <collaboration>\n    ...\n  </collaboration>\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Pools"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Request JSON can hold and BPMN holds a collection of pools. While the Request JSON needs the collection of pools only to add an empty pool or to determine the order of the pools, BPMN always needs the collection of pools."]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"  \"elements\": [\n      ...\n  ]\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"      <process>\n          ...\n      </process>\n  </definitions>\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Elements"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Request JSON and BPMN hold a collection elements. Each node referres to an element, multiple nodes can refer to the same element. The elements hold additional information, that can be shared across multiple nodes."]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"_-1","__idx":3},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"dgm-meta"},"children":["2.0 - The diagram meta-information part of the Request JSON"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"_-2","__idx":4},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"dgm-meta-typic"},"children":["2.1 - How it typically looks like"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example with request for one layout"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example with request for six layouts"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Comments"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"\"result\": \"json\",\n\"calculation\": \"flow\",\n\"configurations\": [\n  {\n    \"layoutType\": \"flow\",\n    \"lcid\": 1031,\n    \"vertical\": true\n  }\n]\n]\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"  \"result\": \"json\",\n  \"calculation\": \"flow\",\n  \"configurations\": [\n      {\n      \"layoutType\": \"flow\",\n      \"lcid\": 1031,\n      \"vertical\": true\n      },\n      {\n      \"layoutType\": \"flow\",\n      \"lcid\": 1031,\n      \"vertical\": false\n      },\n      {\n      \"layoutType\": \"swimlane-roles\",\n      \"lcid\": 1031,\n      \"vertical\": true\n      },\n      {\n      \"layoutType\": \"swimlane-roles\",\n      \"lcid\": 1031,\n      \"vertical\": false\n      },\n      {\n      \"layoutType\": \"swimlane-apps\",\n      \"lcid\": 1031,\n      \"vertical\": true\n      },\n      {\n      \"layoutType\": \"swimlane-apps\",\n      \"lcid\": 1031,\n      \"vertical\": false\n   }\n  ]\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The the three available ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"layoutTypes\""]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"flow\""]}," (layout without lanes or pools)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"swimlane-roles\""]}," (layout with lanes and pools based on roles, alternatively based on organizational units) and"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"swimlane-apps\""]}," (layout with lanes and pools based on application systems, alternatively based on roles)"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["can be combined with the two ",{"$$mdtype":"Tag","name":"b","attributes":{},"children":[{"$$mdtype":"Tag","name":"i","attributes":{},"children":["\"vertical\""]}]}," direction values"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["true"]}," (vertical flow, typical for EPC) and "]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["false"]}," (horizontal flow, typical for BPMN) "]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["and this generates six possible layouts.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In addition to that the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"lcid\""]}," defines the language, that is used in case not only a layout but also a rendering (the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"result\""]}," type is ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"esvg\""]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"svg\""]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"sesvg\""]}," or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"ssvg\""]},") is requested."]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"_-3","__idx":5},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"dgm-meta-result"},"children":["2.2 - The requested ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]}," type"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The currently suported ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]}," types for the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["calculation"]}," type ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["flow"]}," are"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["json"]}," (JSON, the recommended result type) - used in case the resulting JSON should be parsed to post-process the calculation result and log messages are not desired,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ejson"]}," (JSON, enhanced with additional information) - used in case the resulting JSON should be parsed to post-process the calculation result and log messages are desired,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["esvg"]}," (HTML embedded SVG, enhanced with additional information) - used in case the resulting HTML has to be displayed directly (e. g. in a test app) and log messages are desired,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["svg"]}," (HTML embedded SVG, without additional information) - used in case the resulting HTML has to be displayed directly (e. g. in a test app) and log messages are not desired,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sesvg"]}," (stand-alone SVG, enhanced with additional information) - used in case the resulting SVG has to be embedded into a custom HTML page and log messages are desired and"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ssvg"]}," (stand-alone SVG, without additional information) - used in case the resulting SVG has to be embedded into a custom HTML page and log messages are not desired"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"_-4","__idx":6},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"dgm-meta-calc"},"children":["2.3 - The requested ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["calculation"]}," type"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The currently suported ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["calculation"]}," types are"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cxn"]}," (route for a single connection path from a source node to a target node)- used to calculate one single shape-to-shape connection path and"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["flow"]}," (directed graph with any number of nodes and edges)- used to calculate a directed graph, that represents a process flow."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["calculation"]}," type ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cxn"]}," supports all ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]}," types.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["calculation"]}," type ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["flow"]}," supports the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result"]}," types 1. ... 4. only."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"_-5","__idx":7},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"dgm-meta-conf"},"children":["2.4 - The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["configurations"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["configurations"]}," collection can currently contain one or six configuration(s).",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","One configuration is provided, of only one of the following layouts hast to be calculated:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["layoutType"]}," set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["flow"]}," (layout without pools / lanes) and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["vertical"]}," set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["layoutType"]}," set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["flow"]}," (layout without pools / lanes) and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["vertical"]}," set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["layoutType"]}," set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["swimlane-roles"]}," (layout with pools / lanes, lanes are based on roles or organizational units) and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["vertical"]}," set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["layoutType"]}," set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["swimlane-roles"]}," (wlayout ith pools / lanes, lanes are based on roles or organizational units) and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["vertical"]}," set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["layoutType"]}," set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["swimlane-apps"]}," (layout with pools / lanes, lanes are based on application systems and fall back to roles or organizational units) and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["vertical"]}," set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["layoutType"]}," set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["swimlane-apps"]}," (layout with pools / lanes, lanes are based on application systems and fall back to roles or organizational units) and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["vertical"]}," set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All six configurations (three ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["layoutType"]}," values multiplied with two ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["vertical"]}," direction values) are provided, if all of the above listed layouts have to be calculated."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"_-6","__idx":8},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"context-part"},"children":["3.0 - The context part of the Request JSON (diagram as a whole)"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["context"]}," represents the diagram (process) to layout as a whole. BPMN contains this data within the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["<bpmndi:BPMNDiagram>"]}," tag."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"_-7","__idx":9},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"context-part-typic"},"children":["3.1 - How it typically looks like"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"  \"context\": {\n    \"id\": \"3783f2a0-99c0-4120-a639-4acfd59a8021\",\n    \"properties\": {\n      \"elementTypeKind\": \"business\",\n      \"facetName\": \"processes\",\n      \"state\": \"inProcess\",\n      \"stereoType\": \"f5942ab4-2365-4a07-8a3f-04d10fb3b870\",\n      \"type\": \"subProcess\",\n      \"versionId\": \"2a536296-d3c7-47cf-8d2e-511eaf5b666d\"\n    },\n    \"attributes\": [\n      {\n        \"key\": \"links\",\n        \"type\": \"linksValue\",\n        \"values\": [\n          {\n            \"lcid\": 127,\n            \"value\": {\n              \"links\": [\n                {\n                  \"locator\": \"www.duckduckgo.com\",\n                  \"title\": \"Find\"\n                }\n              ]\n            }\n          }\n        ]\n      },\n      {\n        \"key\": \"majorVersion\",\n        \"type\": \"integer\",\n        \"values\": [\n          {\n            \"lcid\": 127,\n            \"value\": 0\n          }\n        ]\n      },\n      {\n        \"key\": \"minorVersion\",\n        \"type\": \"integer\",\n        \"values\": [\n          {\n            \"lcid\": 127,\n            \"value\": 1\n          }\n        ]\n      },\n      {\n        \"key\": \"name\",\n        \"type\": \"multiLineText\",\n        \"values\": [\n          {\n            \"lcid\": 1031,\n            \"value\": \"GRAPHIC-API\"\n          }\n        ]\n      }\n    ]\n  }\n"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"_-8","__idx":10},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"context-part-info"},"children":["3.2 - Context informations"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Typical information provided for the diagran (process) are:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," contains the unique identity of the diagram, it is provided for informational purposes only and is passed on to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Result JSON"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["properties"]}," contains a collection of optional information."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["attributes"]}," contains a collection of information, that are used to be displayed when the diagram is rendered. Therefore these informations are passed on to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Result JSON"]},". Typically the text attributes are provided in multiple languages."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"_-9","__idx":11},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"content-part"},"children":["4.0 - The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["content"]}," part of the Request JSON (containing the nodes and edges collections)"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["content"]}," contains the nodes and edges (in the meaning of nodes and edges within a directed graph) of the diagram (process). Typically the nodes and edges are displayed as soon als the layout is rendered. Therefore the nodes require the calculation of their positions and the edges require the calculation of their routes in order to be written to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Result JSON"]}," including the positions and routes."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"_-10","__idx":12},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"content-part-typic"},"children":["4.1 - How it typically looks like"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"  \"content\": {\n    \"nodes\": [\n      {\n        \"shapeId\": \"e85e124a-86aa-4fe6-aaaf-4c5707215461\",\n        \"elementId\": \"5dd9be26-b592-4e02-b4b0-e508a7844e27\",\n        \"properties\": {\n          \"type\": \"evStart\"\n        },\n        \"laneRelevantRelated\": [\n          {\n            \"elementId\": \"c61aaf77-5d75-4ff6-a567-d9662715c46d\",\n            \"layoutTypes\": [\n              \"swimlane-roles\",\n              \"swimlane-apps\"\n            ]\n          }\n        ]\n      },\n      ...\n    ],\n    \"edges\": [\n      {\n        \"shapeId\": \"ad711e08-3fd4-44b6-bac8-518e72a005c2\",\n        \"elementId\": \"3bf7c2cf-a70e-49d3-9377-301bfebec515\",\n        \"properties\": {\n          \"type\": \"crt1\",\n          \"source\": {\n            \"shapeId\": \"542e5c76-5482-4b4d-bf56-8a6d927e6a6b\"\n          },\n          \"target\": {\n            \"shapeId\": \"343b15d4-3d51-4b1b-9bef-4b3b4889a88f\"\n          }\n        }\n      },\n      ...\n    ],\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["(see chapter ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#correlation"},"children":["7.0 Understanding the correlation of <code>nodes</code> / <code>edges</code>  and <code>elements</code> by examples"]}," below)."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"_-11","__idx":13},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"content-part-nodes"},"children":["4.2 - The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["nodes"]}," collection"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Nodes represent the shapes, comparable to BPMN ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["<startEvent>"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["<task>"]},"."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"      {\n        \"shapeId\": \"e85e124a-86aa-4fe6-aaaf-4c5707215461\",\n        \"elementId\": \"5dd9be26-b592-4e02-b4b0-e508a7844e27\",\n        \"properties\": {\n          \"pool\": {\n            \"poolId\": \"c84c7e2e-ea39-4fc8-b2dd-10df2b7c766a\"\n          },\n\t  \"type\": \"evStart\"\n        },\n        \"laneRelevantRelated\": [\n          {\n            \"elementId\": \"c61aaf77-5d75-4ff6-a567-d9662715c46d\",\n            \"layoutTypes\": [\n              \"swimlane-roles\",\n              \"swimlane-apps\"\n            ]\n          }\n        ]\n      }\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Typical information provided for a node are:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["shapeId"]}," contains the unique identity of the node."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["elementId"]}," contains the unique identity of the element, the node is based on, it is passed on to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Result JSON"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["properties"]}," contains a collection of optional information, which are passed on to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Result JSON"]},".",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The optional ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pool"]}," contains the assignment of this node to a pool (this assignment is the same for all layouts)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The optional ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}," contains the type of the node."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["laneRelevantRelated"]}," contains a collection of elements, that are used to determine the lane the shape is to be assigned to."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["The pool assignment"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A node can optionally be assigned to a pool. The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["poolId"]}," must refer to an existing pool within the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#pools-part"},"children":["The <code>pools</code> part of the Request JSON "]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"_-12","__idx":14},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"content-part-nodes-lane-relevance"},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["laneRelevantRelated"]}," collection"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Since the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request JSON"]}," has to support multiple layouts at once, it is required to provide information about the lane assignment ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["per layout"]}]},". Therefore the  ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["laneRelevantRelated"]}," element collection includes for each lane relevant element the information which ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["layoutTypes"]}," are supported by a lane relevant element. The values used for the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["layoutTypes"]}," here match the values used for the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["layoutType"]}," within the configurations."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["(For details regarding the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["layoutType"]}," values see chapter ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#dgm-meta-conf"},"children":["The <code>configurations</code> "]}," above)."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Putting it all together"]}," ","For a sample, that shows the correlation between ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["node"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["element"]}," in the Request JSON and in the Result JSON and also in comparison to BPMN see chapter ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#correlation"},"children":["7.0 Understanding the correlation of <code>nodes</code> / <code>edges</code>  and <code>elements</code> by examples"]}," and section ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#correlation-sample1"},"children":["Sample 1 (a node/shape and the underlaying element vs. the BPMN equivalent)"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"_-13","__idx":15},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"content-part-edges"},"children":["4.3 - The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["edges"]}," collection"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Edges represent the connection between shapes, comparable to BPMN ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["<sequenceFlow>"]},"."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"    {\n        \"shapeId\": \"ad711e08-3fd4-44b6-bac8-518e72a005c2\",\n        \"elementId\": \"3bf7c2cf-a70e-49d3-9377-301bfebec515\",\n        \"properties\": {\n          \"type\": \"crt1\",\n          \"source\": {\n            \"shapeId\": \"542e5c76-5482-4b4d-bf56-8a6d927e6a6b\"\n          },\n          \"target\": {\n            \"shapeId\": \"343b15d4-3d51-4b1b-9bef-4b3b4889a88f\"\n          }\n        }\n      }\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Typical information provided for an edge are:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["shapeId"]}," contains the unique identity of the node."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["elementId"]}," contains the unique identity of the element, the edge is based on, it is passed on to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Result JSON"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["properties"]}," contains a collection of information, which are processed by the layouter. Every edge must contain a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["source"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["shapeId"]}," and a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["target"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["shapeId"]}," in order to connect two nodes."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"_-14","__idx":16},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"pools-part"},"children":["5.0 - The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pools"]}," part of the Request JSON"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Pools can be automatically recognized from the nodes collection."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["But either if empty pools are to be added or if pools shall be sorted in a distict order the automatic pool recognition is insufficient and the pools must be listed explicitly."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["So we have these cases:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The diagram is to be laid out (and optionally rendered) without pools: The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pools"]}," part can be left empty."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The diagram is to be laid out (and optionally rendered) with pools but there are no specicic requirements to the pools: The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pools"]}," part can be left empty."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The diagram is to be laid out (and optionally rendered) with pools and an empty pool hast to be added: The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pools"]}," part ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["must"]}," contain the pools in the desired sort order."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The diagram is to be laid out (and optionally rendered) with pools and the order of the pool has to be distinct: The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pools"]}," part ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["must"]}," contain the pools in the desired sort order."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"_-15","__idx":17},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"pools-part-typic"},"children":["5.1 - How it typically looks like"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This is an example with three pools:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"d5d7ce44-c18f-4119-aa18-8f9e8aa69e85\",\n  \"properties\": {\n    \"type\": \"bpmnPool\",\n    \"kind\": \"object\",\n    \"servity\": \"source\"\n  },\n  \"attributes\": [{\n    \"key\": \"name\",\n    \"type\": \"multiLineText\",\n    \"values\": [\n      { \"lcid\": 1033, \"value\": \"Data source\" }\n    ]\n  }]\n},\n{\n  \"id\": \"03c092c9-b723-4a38-befd-f6f54aef42d6\",\n  \"properties\": {\n    \"type\": \"bpmnPool\",\n    \"kind\": \"object\"\n  },\n  \"attributes\": [{\n    \"key\": \"name\",\n    \"type\": \"multiLineText\",\n    \"values\": [\n      { \"lcid\": 1033, \"value\": \"Processing\" }\n    ]\n  }],\n  \"children\": [\n      \"467cbfa4-ff43-49fe-ac0d-49beda2e07f6\",\n      \"c989af38-3e9e-4693-a284-3801da7696de\"\n  ]\n},\n{\n  \"id\": \"63cf252b-ed7f-458e-97c3-3b557786eb52\",\n  \"properties\": {\n    \"type\": \"bpmnPool\",\n    \"kind\": \"object\",\n    \"servity\": \"target\"\n  },\n  \"attributes\": [{\n    \"key\": \"name\",\n    \"type\": \"multiLineText\",\n    \"values\": [\n      { \"lcid\": 1033, \"value\": \"Data target\" }\n    ]\n  }]\n},\n...\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"pools\""]}," are of ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["item"]}," type ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"bpmnPool\""]}," and of ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["item"]}," kind ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"object\""]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["It is highly recommended to define names for all ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pools"]}," (see ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"attributes\""]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"key\": \"name\""]},")."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"_-16","__idx":18},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"pools-part-tune"},"children":["5.2 - The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pool"]}," servity"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["One ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pool"]}," should be designated as the default ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pool"]}," so that ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["shapes"]}," can be automatically (fall- back) attached to the default ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pool"]}," without explicitly assigning a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pool"]}," to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["shapes"]},". This creates a fail-safe behavior and makes the JSON code shorter. To identify the default ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pool"]}," you can:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Mark all ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pools"]}," except the default ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pool"]}," as \"source\" (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"servity\": \"source\""]},") or \"target\" (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"servity\": \"target\""]},"). In case of multiple matches, the last one wins."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Mark the default ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pool"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"servity\": \"default\""]},"). In case of multiple matches, the last one wins."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In case no pool is designated as the default ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pool"]},", the centre ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pool"]}," (count / 2) is used."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the case that a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pool"]}," should contain multiple ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["lanes"]}," and the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["lanes"]}," should be in a defined order, it is recommended to define the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["lanes"]}," as a list of children (see ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"children\""]},"). The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["ids"]},", specified in the list of children, must refer to existing ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["items"]},", that are typically ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["roles"]},", ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["groups"]},", ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["application systems"]}," or ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["application services"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Nevertheless, it is possible to provide the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pools"]}," without any tuning at all and let the ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Symbio-Graphic-Service"]}," do all the tuning."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"_-17","__idx":19},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"elements-part"},"children":["6.0 - The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["elements"]}," part of the Request JSON"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["elements"]}," collection contains all elements, that"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["underlay a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["node"]}," or"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["are connected to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["nodes"]}," as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["related"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["laneRelevantRelated"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["elements"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"_-18","__idx":20},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"elements-part-typic-events"},"children":["6.1 - How it typically looks like for events"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["An event sample request JSON ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["element"]}]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Compared to the BPMN ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["<bpmn:process/>"]}," tag"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Comments"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"{\n    \"id\":\n        \"B63F2971E571B69F49AAD5B0733302FA\",\n    \"properties\": {\n        \"type\": \"evStart\",\n        \"kind\": \"OBJ\",\n        \"evType\": \"throwSignal\"\n    },\n    \"attributes\": [\n        {\n        \"key\": \"name\",\n        \"values\": [\n            { \"lcid\": 1033,\n            \"value\": \"Start\" }\n        ]\n        },\n        ...\n        ]\n}\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"{ \n    <bpmn:startEvent\n        id=\"StartEvent_0034tgy\"\n        name=\"Goods arrived\">\n        <bpmn:outgoing>\n            SequenceFlow_0pern26\n        </bpmn:outgoing>\n    </bpmn:startEvent>\n}\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The request JSON ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["elements"]}," and the BPMN ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["<bpmn:process/>"]}," nodes provide very similar information:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The type, either ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"evStart\""]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["<bpmn:startEvent>"]},", and"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["the name, either ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"attributes\""]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"key\": \"name\""]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]}," attribute."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["But there are also differences:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["While BPMN provides also the structure defining edges ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["<bpmn:incoming>"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["<bpmn:outgoing>"]},","]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["the request JSON doesn't. This is because elements can be re-used within one request JSON and therefore a definition of incoming and outgoing edges can be ambiguous and is realized via the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["edges"]}," collection."]}]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"_-19","__idx":21},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"elements-part-typic-tasks"},"children":["6.2 - How it typically looks like for tasks"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A task sample request JSON ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["element"]}]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Compared to the BPMN ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["<bpmn:process/>"]}," tag"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Comments"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"{\n    \"id\":\n        \"bcf7ab71d86145919a5a0a570fa2beed\",\n    \"properties\": {\n        \"type\": \"task\",\n        \"kind\": \"OBJ\",\n        \"typeDisplayName\": \"Task\"\n    },\n    \"attributes\": [\n        {\n        \"key\": \"name\",\n        \"values\": [\n            { \"lcid\": 1033,\n            \"value\": \"Task-01\" }\n        ]\n        },\n        ...\n    ],\n    \"related\": [\n        {\n        \"key\": \"accountableRole\",\n        \"shortKey\": \"A\",\n        \"versionIds\": [\n        \"35f4cfb5437e4f1d8fd072859648e183\"\n        ]\n        },\n        ...\n    ]\n}\n"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"{ \n    <bpmn:task\n        id=\"Activity_16oto7s\"\n        name=\"Process goods\">\n        <bpmn:incoming>\n            SequenceFlow_0pern26\n        </bpmn:incoming>\n        <bpmn:outgoing>\n            SequenceFlow_1vdst1y\n        </bpmn:outgoing>\n    </bpmn:task>\n    ...\n}\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The request JSON ",{"$$mdtype":"Tag","name":"i","attributes":{},"children":["elements"]}," and the BPMN ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["<bpmn:process/>"]}," nodes provide very similar information:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The type, either ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"task\""]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["<bpmn:task>"]},", and"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["the name, either ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"attributes\""]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"key\": \"name\""]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]}," attribute."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["But there are also differences:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["While BPMN provides also the structure defining edges ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["<bpmn:incoming>"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["<bpmn:outgoing>"]},","]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["the request JSON doesn't. This is because elements can be re-used within one request JSON and therefore a definition of incoming and outgoing edges can be ambiguous and is realized via the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["edges"]}," collection."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["On the other hand the request JSON can connect a task to all types of repository ",{"$$mdtype":"Tag","name":"i","attributes":{},"children":["elements"]}," via ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"related\""]},", e. g. milestones, requirements, KPIs, documents (guidelines, directives), standards, organizational units, projects, products, objectices and so on."]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"_-20","__idx":22},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"elements-part-typic-roles"},"children":["6.3 - How it typically looks like for roles"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A role sample request JSON ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["element"]}]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Compared to the BPMN ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["<bpmn:process/>"]}," tag"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Comments"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"{\n    \"id\":\n        \"ed6645df50804e6f9ab235121c5ea567\",\n    \"versionId\":\n        \"a2a8e8e8090f464fac78bec8b851c963\",\n    \"properties\": {\n        \"kind\": \"OBJ\",\n        \"stereoType\": \"extern\",\n        \"type\": \"role\",\n        \"typeDisplayName\": \"Role\"\n},\n    \"attributes\": [\n        {\n        \"key\": \"name\",\n        \"values\": [\n            { \"lcid\": 1033,\n            \"value\": \"DP officer\" }\n        ]\n        },\n    ...\n]\n}\n"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"{ \n    <bpmn:laneSet\n        id=\"LaneSet_1n0pzhw\">\n        <bpmn:lane\n        id=\"Lane_0w5mswf\"\n        name=\"MyLane-01\">\n        ...\n        </bpmn:lane>\n    </bpmn:laneSet>\n    ...\n}\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["There is no general BPMN equivalent for the ",{"$$mdtype":"Tag","name":"i","attributes":{},"children":["repository"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["elements"]}," in request JSON."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["While request JSON ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["nodes"]}," can refer to various types of ",{"$$mdtype":"Tag","name":"i","attributes":{},"children":["repository"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["elements"]}," via ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["related"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["laneRelevantRelated"]},", BPMN can only organize ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["elements"]}," in swimlanes (which is equivalent to request JSON's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["laneRelevantRelated"]},") and connect ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["elements"]}," to data stores and data objects."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Typically roles are used to define swimlanes - that is realizes via ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["laneRelevantRelated"]}," in request JSON and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["<bpmn:laneset/>"]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["<bpmn:lane/>"]}," in BPMN."]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"_-21","__idx":23},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"elements-part-typic-data"},"children":["6.4 - How it typically looks like for data"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A role sample request JSON ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["element"]}]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Compared to the BPMN ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["<bpmn:process/>"]}," tag"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Comments"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"{\n    \"id\":\n        \"480439511168499d8bc5a1fda3285542\",\n    \"versionId\":\n        \"1129e2af0a174064a79849002e1ceb56\",\n    \"properties\": {\n        \"kind\": \"OBJ\",\n        \"type\": \"system\",\n        \"typeDisplayName\": \"Application\"\n},\n    \"attributes\": [\n{\n    \"key\": \"name\",\n    \"values\": [\n        { \"lcid\": 1033,\n        \"value\": \"Accounting portal\" }\n    ]\n},\n    ...\n    ]\n},\n{\n    \"id\":\n        \"9487278f25464394aff9e68bef9b2535\",\n    \"versionId\":\n        \"f1c69f8d04ad4e9e82f11f0465f536a6\",\n    \"properties\": {\n        \"kind\": \"OBJ\",\n        \"type\": \"inOut\",\n        \"typeDisplayName\": \"Input/Output\"\n},\n\"attributes\": [\n{\n    \"key\": \"name\",\n    \"values\": [\n        { \"lcid\": 1033,\n        \"value\": \"Inbound quotation\" }\n    ]\n    },\n    ...\n]\n}\n"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"    <bpmn:dataStoreReference\n        id=\n            \"DataStoreReference_07dozvu\"\n        name=\n            \"Data-Store\" />\n\n    <bpmn:dataObjectReference\n        id=\n            \"DataObjectReference_1unf7qz\"\n        name=\n            \"Data-Object\"\n        dataObjectRef=\n            \"DataObject_1lq9toa\" />\n    <bpmn:dataObject\n        id=\n            \"DataObject_1lq9toa\" />\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["There is no general BPMN equivalent for the ",{"$$mdtype":"Tag","name":"i","attributes":{},"children":["repository"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["elements"]}," in request JSON."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["While request JSON ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["nodes"]}," can refer to various types of ",{"$$mdtype":"Tag","name":"i","attributes":{},"children":["repository"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["elements"]}," via ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["related"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["laneRelevantRelated"]},", BPMN can only organize ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["elements"]}," in swimlanes (which is equivalent to request JSON's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["laneRelevantRelated"]},") and connect ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["elements"]}," to data stores and data objects."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Typically data stores and data objects are connected via ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["related"]}," in request JSON and implemented as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"type\": \"system\""]}," respectively ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"type\": \"inOut\""]}," in request JSON and implemented as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["<bpmn:dataStoreReference/>"]}," respectively ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["<bpmn:dataObjectReference/>"]}," in BPMN."]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"shapes-and-shape-items","__idx":24},"children":["Shapes and shape items"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The design of ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["shape"]}]}," content elements is intended to be minimalistic.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"{\n\t\"id\": \"a6743dd3-8881-4d22-bfe7-0b7f703097c8\",\n\t\"properties\": {\n            \"itemId\": \"9bc5994a-f64f-431f-a631-1ff405f22643\",\n            \"type\": \"evStart\",\n            \"poolId\": \"6496cb0f-8763-4e27-a8dd-77870be94fd5\"\n\t}\n}\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Referencing the ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["shape"]}]},"'s underlying ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["item"]}]}," is done with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"itemId\" : \"9bc5994a-f64f-431f-a631-1ff405f22643\""]},".",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","The (optional) second reference, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"poolId\": \"6496cb0f-8763-4e27-a8dd-77870be94fd5\""]},", defines membership of the ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["shape"]}]}," in a ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pool"]}]},".",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Here is the ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["shape"]}]}," underlying ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["item"]}]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"9bc5994a-f64f-431f-a631-1ff405f22643\",\n  \"properties\": {\n    \"type\": \"evStart\",\n    \"kind\": \"OBJ\",\n    \"evType\": \"throwSignal\"\n  },\n  \"attributes\": [{\n    \"key\": \"name\",\n    \"values\": [\n      { \"lcid\": 1033, \"value\": \"recognize hunger\" }\n    ]\n  }]\n}\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["type"]}]}," is provided via the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"properties\""]}," property array property ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"type\""]},".",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","In addition to that the kind (which determines whether it is a ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["shape"]}]}," or a ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["edge"]}]},") is provided via the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"properties\""]}," property array property ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"kind\""]},".",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","In case the ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["item"]}]}," (and thus the ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["shape"]}]}," as well) is defined more specifically, the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"properties\""]}," property array might contain a property ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"evType\""]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"funcType\""]}," ore ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"funcMarker\""]},".",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","The text to display is defined within the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"attributes\""]}," property array object with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"key\": \"name\""]},". Since the request JSON supports multiple languages, the name value is provided by the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"values\""]}," property array, that can hold distinct value objects for different cultures."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"edges-and-edge-items","__idx":25},"children":["Edges and edge items"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The design of ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["edge"]}]}," content elements is intended to be minimalistic.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","Here is an example:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"{\n\t\"id\": \"e5dfd46e-8720-408e-b760-171038da9f6d\",\n\t\"properties\": {\n\t\t\"itemId\": \"6496cb0f-8763-4e27-a8dd-77870be94fd5\",\n\t\t\"sourceId\": \"a6743dd3-8881-4d22-bfe7-0b7f703097c8\",\n\t\t\"targetId\": \"75397704-e829-49b3-a40c-02379fb0b393\",\n\t\t\"type\": \"activ1\"\n\t}\n}\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Referencing the ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["edge"]}]},"'s underlying ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["item"]}]}," is done with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"itemId\" : \"6496cb0f-8763-4e27-a8dd-77870be94fd5\""]},".",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","The is no reference to a ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pool"]}]},", since ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["edges"]}]}," can cross ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["lanes"]}]}," and ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pools"]}]},".",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","The referencing of the ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["source"]}," and ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["target"]}," ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["shapes"]}]}," is done with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"sourceId\": \"a6743dd3-8881-4d22-bfe7-0b7f703097c8\""]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"targetId\": \"75397704-e829-49b3-a40c-02379fb0b393\""]},". An ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["edge"]}]}," must always hold a ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["source"]}," and a ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["target"]}," ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["shape"]}]}," reference.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Here is the ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["edge"]}]}," underlying ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["item"]}]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"{\n    \"id\": \"6496cb0f-8763-4e27-a8dd-77870be94fd5\",\n    \"properties\": {\n        \"kind\": \"CXN\",\n        \"sourceId\": \"9bc5994a-f64f-431f-a631-1ff405f22643\",\n        \"targetId\": \"b0907b38-e8e4-42f3-bc0a-d3e83ae2a1a7\",\n        \"type\": \"activ1\"\n\t},\n    \"attributes\": [{\n        \"key\": \"cxnRole\",\n        \"values\": [\n        { \"lcid\": 1033, \"value\": \"yes\" }\n        ]\n    }]\n}\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["type"]}]}," is provided via the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"properties\""]}," property array property ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"type\""]},".",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","In addition to that the kind (which determines whether it is a ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["shape"]}]}," or a ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["edge"]}]},") is provided via the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"properties\""]}," property array property ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"kind\""]},".",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","The text to display is defined within the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"attributes\""]}," property array object with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"key\": \"cxnRole\""]},". Since the request JSON supports multiple languages, the name value is provided by the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"values\""]}," property array, that can hold distinct value objects for different cultures."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"lane-items","__idx":26},"children":["Lane items"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the case that the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["diagram"]}," is to be laid out and rendered with ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["lanes"]},", the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["lanes"]}," are ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["automatically"]}," recognized by the fact, that they are ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["related"]}," to structure building  ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["items"]}," via the configured ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["laneRelevant"]}," relation (see ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"laneRelevant\": \"responsible\""]}," within ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["configurations"]}," property"]},"). The  ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["lanes"]}," must not be of any of any specific ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["item"]}," type (see ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"type\": \"...\""]},"), but they must be of ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["item"]}," kind \"OBJ\" (see ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"kind\": \"OBJ\""]},") and must not be of any of the structure building  ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["item"]}," types (like ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"type\": \"func\""]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"type\": \"evStart\""]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"type\": \"evIntermediate\""]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"type\": \"evEnd\""]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"type\": \"ruleXor\""]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"type\": \"ruleOr\""]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"type\": \"ruleAnd\""]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"type\": \"condition\""]},")."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the case that multiple ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["lanes"]}," should be contained in a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pool"]}," and the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["lanes"]}," should be in a defined order, it is recommended to define the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["lanes"]}," as a list of children (see ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"children\""]},") within the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pool"]},". The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["ids"]},", specified in the list of children, must refer to existing ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["lane"]}," (",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["items"]},"), that are typically ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["roles"]},", ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["groups"]},", ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["application systems"]}," or ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["application services"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"_-22","__idx":27},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"correlation"},"children":["Understanding the correlation of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["nodes"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["edges"]},"  and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["elements"]}," by examples"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The biggest part of the necessary information is the description of the nodes and edges. In order to understand the nodes and edges within the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request JSON"]},", comparing their data to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["BPMN"]}," and the expected outcome ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Result JSON"]}," could be helpful."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Disclaimer:"]}," The following comparison between the ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Request JSON"]},", ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["BPMN"]}," and the ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Result JSON"]}," is made not because the two formats perform a similar task, but because they convey similar content: ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Process flows"]},".",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"While the ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Request JSON"]}," contains only the necessary information for automatic layout calculation and rendering, the BPMN also already contains all information for rendering (like position and size of shapes or the interpolation points of edges), which comes closer to the ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Result JSON"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For basics about the nodes see section ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#content-part-nodes"},"children":["The <code>nodes</code> collection"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"_-23","__idx":28},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"name":"correlation-sample1"},"children":["Sample 1 (a node/shape and the underlaying element vs. the BPMN equivalent)"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request JSON sample of a shape - no position and no size"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request JSON sample of the underlaying element"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"  {\n      \"shapeId\": \"fd4e1872-8742-4bfa-9c4f-b271ec81c73f\",\n      \"elementId\": \"ab99ac91-be7d-43c4-955d-04324360fbdf\",\n      \"properties\": {\n      \"type\": \"evStart\"\n  },\n  \"laneRelevantRelated\": [\n  {\n      \"elementId\": \"c61aaf77-5d75-4ff6-a567-d9662715c46d\",\n      \"layoutTypes\": [\n          \"swimlane-roles\",\n          \"swimlane-apps\"\n      ]\n  }\n  ]\n  }\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"  {\n      \"id\": \"ab99ac91-be7d-43c4-955d-04324360fbdf\",\n      \"properties\": {\n          \"kind\": \"object\",\n          \"type\": \"evStart\",\n          \"typeDisplayName\": \"Start\"\n  },\n  \"attributes\": [\n  {\n      \"key\": \"description\",\n      \"type\": \"singleLineText\",\n      \"values\": [\n          {\n          \"lcid\": 1031,\n          \"value\": \"Goods arrived\"\n          }\n      ]\n  },\n  {\n      \"key\": \"evStartTrigger\",\n      \"type\": \"selectionValue\",\n      \"values\": [\n          {\n          \"lcid\": 127,\n          \"value\": \"evTriggerNoneIntSub\"\n          }\n      ]\n  },\n  {\n      \"key\": \"evType\",\n      \"type\": \"selectionValue\",\n      \"values\": [\n          {\n          \"lcid\": 127,\n          \"value\": \"evTypeMessage\"\n          }\n      ]\n  },\n  {\n      \"key\": \"name\",\n      \"type\": \"multiLineText\",\n      \"values\": [\n          {\n          \"lcid\": 1031,\n          \"value\": \"Start-01\"\n          }\n      ]\n  }\n      ],\n      \"related\": [\n  {\n      \"key\": \"executiveRole\",\n      \"shortKey\": \"R\",\n      \"versionIds\": [\n          \"9700e981-1c36-4536-a05b-592aa2fd6219\"\n    ]\n  }\n  ]\n  },\n","lang":"javascript"},"children":[]}]}]}]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"BPMN sample of a shape - including position and size"},"children":["BPMN sample of a shape - including position and size"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"  <bpmndi:BPMNShape id=\"IntermediateThrowEvent_0iyvpzm_di\" bpmnElement=\"IntermediateThrowEvent_0iyvpzm\">\n      <dc:Bounds x=\"458\" y=\"313\" width=\"36\" height=\"36\" />\n      <bpmndi:BPMNLabel>\n      <dc:Bounds x=\"464\" y=\"353\" width=\"24\" height=\"12\" />\n      </bpmndi:BPMNLabel>\n  </bpmndi:BPMNShape>\n","lang":"javascript"},"children":[]}]}]}]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Result SVG a shape - including position and size (and the rendering objects: rect, path and text)"},"children":["Result SVG a shape - including position and size (and the rendering objects: rect, path and text)"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"  <g>\n  <!-- evStart(evStart) /ID:fd4e1872-8742-4bfa-9c4f-b271ec81c73f /ItemID:ab99ac91-be7d-43c4-955d-04324360fbdf -->\n  <!-- evStart /W:160 /H:160 -->\n  <ellipse cx=\"124.7244\" cy=\"63.49606\" rx=\"22.677164\" ry=\"22.677164\"\n      style=\"shape-rendering:auto; stroke:#808080; stroke-width:1px; stroke-linecap:round;\n      stroke-dasharray:; stroke-opacity:1; fill:#FFFFFF; fill-opacity:1;\"></ellipse>\n  <!-- ##ATS##_evTypeShapeCatchMessage /W:80 /H:80 -->\n  <rect x=\"113.5\" y=\"55.5\" rx=\"2.2677164\" ry=\"2.2677164\" width=\"22\" height=\"16\"\n      style=\"stroke:#000000; stroke-width:1px; stroke-linecap:round; stroke-dasharray:;\n      stroke-opacity:1; fill:#FFFFFF; fill-opacity:1;\"></rect>\n  <path d=\"M113.224396,57.66535L122.295265,65.602356C124.56298,66.73621 124.56298,66.73621 \n      126.830696,65.602356L135.90157,57.66535\" style=\"shape-rendering:auto; stroke:#000000;\n      stroke-width:1px; stroke-linecap:round; stroke-dasharray:; stroke-opacity:1;\n      fill:transparent; fill-opacity:0.0;\"></path>\n  <text class=\"\" x=\"124.5\" y=\"99.92084\" text-anchor=\"middle\"\n      style=\"fill:#444444;font-family:Segoe UI;font-weight:400;font-style:normal;font-size:9pt;text-decoration:none\">\n  <tspan class=\"\" x=\"124.5\" dy=\"0\">Goods</tspan><tspan class=\"\" x=\"124.5\" dy=\"15\">arrived</tspan></text>\n  </g>\n","lang":"javascript"},"children":[]}]}]}]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Result JSON a shape - including position and size (and the rendering objects: rect, path and text)"},"children":["Result JSON a shape - including position and size (and the rendering objects: rect, path and text)"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"  {\n      \"id\": \"ab99ac91-be7d-43c4-955d-04324360fbdf\",\n      \"properties\": {\n          \"column\": 0.0,\n          \"evType\": \"evTypeCatchMessage\",\n          \"height\": 50,\n          \"kind\": \"shape\",\n          \"row\": 0.0,\n          \"type\": \"evStart\",\n          \"typeDisplayName\": \"Start\",\n          \"width\": 50,\n          \"x\": 112.5,\n          \"y\": 45.0\n  },\n      \"attributes\": [\n  {\n      \"key\": \"evStartTrigger\",\n      \"values\": [\n          { \"lcid\": 127, \"value\": \"evTriggerStd\" }\n      ]\n  },\n  {\n      \"key\": \"name\",\n      \"values\": [\n          { \"lcid\": 1033, \"value\": \"Goods arrived\" }\n      ]\n  }\n  ],\n      \"attributeDisplays\": [\n      {\n      \"key\": \"name\",\n      \"width\": 70.0,\n      \"height\": 34.0625,\n      \"xOffset\": -10.0,\n      \"yOffset\": 60.0,\n      \"rotation\": 0.0,\n      \"horizontalAlignment\": \"center\",\n      \"verticalAlignment\": \"top\"\n      }\n      ],\n    \"related\": [\n  {\n      \"key\": \"executiveRole\",\n      \"shortKey\": \"R\",\n      \"ids\": [\n          \"4c71d84e-2084-4dc1-bda4-dd2ff664aba4\"\n      ]\n      }\n  ]\n  }\n","lang":"javascript"},"children":[]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"sample-2-an-edge","__idx":29},"children":["Sample 2 (an edge)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For basics about the edges see section ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#content-part-edges"},"children":["The <code>edges</code> collection"]},"."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["BPMN sample for interpolation points of an edge"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"  <bpmndi:BPMNEdge id=\"SequenceFlow_1vmk1br_di\" bpmnElement=\"SequenceFlow_1vmk1br\">\n      <di:waypoint xsi:type=\"dc:Point\" x=\"209\" y=\"331\" />\n      <di:waypoint xsi:type=\"dc:Point\" x=\"245\" y=\"331\" />\n      <bpmndi:BPMNLabel>\n      <dc:Bounds x=\"182\" y=\"310\" width=\"90\" height=\"12\" />\n      </bpmndi:BPMNLabel>\n  </bpmndi:BPMNEdge>\n","lang":"javascript"},"children":[]}]}]}]}]}]}]},"headings":[{"value":"Request JSON","id":"request-json","depth":1},{"value":"Table of contents","id":"table-of-contents","depth":2},{"value":"","id":"_","depth":2},{"value":"","id":"_-1","depth":2},{"value":"","id":"_-2","depth":3},{"value":"","id":"_-3","depth":3},{"value":"","id":"_-4","depth":3},{"value":"","id":"_-5","depth":3},{"value":"","id":"_-6","depth":2},{"value":"","id":"_-7","depth":3},{"value":"","id":"_-8","depth":3},{"value":"","id":"_-9","depth":2},{"value":"","id":"_-10","depth":3},{"value":"","id":"_-11","depth":3},{"value":"","id":"_-12","depth":4},{"value":"","id":"_-13","depth":3},{"value":"","id":"_-14","depth":2},{"value":"","id":"_-15","depth":3},{"value":"","id":"_-16","depth":3},{"value":"","id":"_-17","depth":2},{"value":"","id":"_-18","depth":3},{"value":"","id":"_-19","depth":3},{"value":"","id":"_-20","depth":3},{"value":"","id":"_-21","depth":3},{"value":"Shapes and shape items","id":"shapes-and-shape-items","depth":3},{"value":"Edges and edge items","id":"edges-and-edge-items","depth":3},{"value":"Lane items","id":"lane-items","depth":3},{"value":"","id":"_-22","depth":2},{"value":"","id":"_-23","depth":3},{"value":"Sample 2 (an edge)","id":"sample-2-an-edge","depth":3}],"frontmatter":{"seo":{"title":"Request JSON"}},"lastModified":"2026-03-06T22:25:11.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/cpm/developer/services/graphic/request_json","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}