Elementtimallit#

Elementtimallit (engl. element templates) ovat Camundan BPMN.io-projektin bpmn-js-mallinnuskirjaston laajennusosa helpottamaan suoritettavien BPMN-mallien laatimista:

  • Yksi elementtimalli määrittää

    • BPMN 2.0 -elementin suorituskonfiguraation

    • räätälöidyn konfigurointilomakkeen

    • yksilöivän kuvakkeen.

  • Kirjasto elementtimalleja voi määrittää ja dokumentoida sovellusalueella käytettävissä olevat integraatiot ja muut prosesseissa toistuvat elementit.

BPMN.io#

  • Laajennettavaa web-pohjainen työkaluekosysteemi prosessimallinnukseen

    • BPMN 2.0 (bpmn-js)

    • DMN 1.3 (dmn-js)

    • lomakekirjasto (form-js)

  • Oma lisenssi (MIT + vesileima) / MIT

Mallien käyttö#

Valitse ja lisää luettelosta#

../_images/template-append.png

Mallipohjaisten elementtien lisääminen suoraan luettelosta vaatii lisäosien asentamista Camunda Desktop Modeler -sovellukseen…#

Korvaa elementti mallilla#

../_images/template-select.png

Säädä mallia sen lomakkeella#

../_images/template-use.png

Päivitä uuteen versioon#

../_images/template-upgrade.png

Muista

Unlink poistaa mallin pois käytöstä elementissä, mutta jättää mallin määrittämän konfiguraation elementtiin.

Mallien määrittäminen#

Camunda Desktop Modeler tukee yhteisiä ja prosessikohtaisia elementtimalleja:

  • Yhteiset mallit ladataan sovelluksen asennus- ja datahakemistosta sovelluksen käynnistyessä (resources/element-templates/*.json).

  • Prosessikohtaiset mallit ladataan prosessimallin tallennushakemiston alta prosessia ladattaessa (.camunda/element-templates/*.json).

  • Yksi tiedosto voi sisältää useita malleja ja niiden versioita.

  • Esimerkki: Versionhallinta voi sisältää prosessien rinnalla niiden elementtimallit.

Mallin JSON#

Elementimallien JSON-skeema ja tuetut ominaisuudet riippuvat käytetystä prosessimoottoristä (C7 vs. Zeebe, C7 esimerkkejä).

[
  {
    "$schema": "https://unpkg.com/@camunda/element-templates-json-schema/resources/schema.json",
    "name": "Template 1",
    "id": "sometemplate",
    "description": "some description",
    "version": 1,
    "appliesTo": [
      "bpmn:Task"
    ],
    "elementType": {
      "value": "bpmn:ServiceTask",
    },
    "properties": [
      ...
    ]
  },
  {
    "name": "Template 2",
    ...
  }
]

Elementin XML#

Elementtimallien käyttö päivittää elementtien loppullista suorituskonfiguraatiota, eikä prosessimoottorin tai muiden mallinnussovellusten tarvitse olla tietoisia elementtimallien käytöstä.

<bpmn:serviceTask
    id="Activity_0d1fst5"
    name="Message to public channel"
    camunda:modelerTemplate="firebase.messaging.broadcast"
    camunda:modelerTemplateVersion="2"
    openbpm:modelerTemplateIcon=""
    camunda:asyncAfter="true"
    camunda:type="external"
    camunda:topic="firebase.messaging.broadcast">
...
</bpmn:serviceTask>

Tuetut elementit#

  • Activity (Task, Service Task, …)

  • SequenceFlow (vain ehdot)

  • Process

  • Event

C7 puutteet#

  • Tuki BPMN-viesteille

  • List ja Map -kenttätyypit

  • Ehdolliset kentät

  • (Kuvakkeet ja pikalisäyskäyttöliittymä)

Korvaavat ratkaisut#

  • "type": "..." – kentän tyypin jättämine määrittämättä näyttää alkuperäisen käyttöliittymän

  • "entriesVisible": true – näyttää kaikki tavanomaiset kentät

  • Unlink – jättää mallin täyttämät kentät täytetyiksi