Creating a custom, non-BPMN Element

Greetings,

is it possible to extend BPMN.io to create a custom, non-BPMN element (Not an extensions), if that is the right name to call it, that is able to be saved to the bpmn file?

Creating a model extension á la bpmn-js Example: Model Extension does not yield the wanted results as it is not its “own” element.

Instead of:

<bpmn2:process id="Process_1">
    <bpmn:task id="TaskID" name="TaskName" custom:Attribute="customValue">
      <bpmn:outgoing>SequenceFlow_1</bpmn2:outgoing>
      <bpmn:extensionElements>
        <customPackage:customElement>
        </qa:analysisDetails>
      </bpmn2:extensionElements>
    </bpmn2:task>
</bpmn2:process>

I would like to have a much more direct structure like this:

<bpmn2:process id="Process_1">
    <customPackage:customElement id="ID" name="TaskName" custom:Attribute="customValue">
      <bpmn:outgoing>SequenceFlow_1</bpmn2:outgoing>
    </customPackage:customElement>
</bpmn2:process>

Thanks in advance!

You can have a look at examples on creating a custom element.

This is the first thing you find when searching for custom elements, and I linked part of it.
Problem is that already in the second sentence it says:

Custom elements are ordinary BPMN 2.0 elements with domain-specific data, look, and feel.

As I mentioned, I do NOT want to extend ordinary BPMN 2.0 elements.
Thank you still!

If you want to go wild (create completely custom elements) then we got you covered, too.

But as it looks like you want to extend the existing BPMN model to support new (custom) elements. Then I’d suggest you to do exactly that:

  • Start with the model, define custom elements
  • Support these custom elements in the editor