Business Process/Linter Rules

No BPMNDI Information

Memastikan elemen BPMN yang tampil secara visual memiliki informasi grafis (BPMNDI).


AtributNilai
Rule IDno-bpmndi
SeverityError — wajib diperbaiki agar BPMN lolos linter
Elemen yang dicekSeluruh elemen yang seharusnya tampil di diagram
Sumberbpmnlint (rule bawaan)

Rule No BPMNDI Information memeriksa agar setiap elemen BPMN yang memiliki representasi visual juga memiliki informasi grafis (BPMNDI) yang menyertainya.

Sebuah elemen BPMN dirujuk oleh elemen BPMNDI. BPMNDI mendefinisikan bagaimana elemen tersebut ditampilkan atau digambar. Ada kalanya pengguna tidak sengaja menghapus elemen BPMNDI (misalnya karena mengedit XML secara langsung). Kondisi ini dapat menimbulkan kesalahan: elemen BPMN tetap ikut dijalankan saat proses dieksekusi, namun tidak lagi terlihat pada alat pemodelan grafis. Rule ini bertugas mendeteksi kasus-kasus semacam itu.

Contoh penggunaan yang salah (perhatikan task1):

Contoh salah rule No BPMNDI Information
<bpmn:process id="Process_0unw6ak" isExecutable="true">
  <bpmn:task id="task1" />
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
  <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_0unw6ak">
  </bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>

Contoh penggunaan yang benar:

Contoh benar rule No BPMNDI Information
<bpmn:process id="Process_0unw6ak" isExecutable="true">
  <bpmn:task id="task1" />
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
  <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_0unw6ak">
    <bpmndi:BPMNShape id="Activity_1r7w5u9_di" bpmnElement="task1">
      <dc:Bounds x="160" y="77" width="100" height="80" />
    </bpmndi:BPMNShape>
  </bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>

Pesan di Studio

Temuan rule ini tampil di panel Problems BPMN Editor dengan pesan berikut:

  • Element is missing bpmndi

Cara memperbaiki

  1. Temuan ini berarti elemen ada di XML BPMN tetapi tidak punya bentuk visual, sehingga tidak tampil di canvas. Biasanya terjadi pada BPMN hasil impor atau hasil generate.
  2. Hapus elemen tersebut dari XML BPMN bila memang tidak dipakai, atau gambar ulang elemen tersebut di canvas.
  3. Bila BPMN berasal dari hasil generate, generate ulang atau perbaiki sumbernya.

Referensi

Dokumentasi BPMN Linter: https://github.com/bpmn-io/bpmnlint/blob/main/docs/rules/no-bpmndi.md