Conditional Flows
Memastikan kondisi pada sequence flow ditetapkan secara konsisten.
| Atribut | Nilai |
|---|---|
| Rule ID | conditional-flows |
| Severity | Error — wajib diperbaiki agar BPMN lolos linter |
| Elemen yang dicek | Sequence flow yang keluar dari gateway atau aktivitas yang bercabang dengan kondisi |
| Sumber | bpmnlint (rule bawaan) |
Rule Conditional Flows memastikan bahwa kondisi pada sequence flow ditetapkan secara konsisten. Jika sebuah sequence flow yang keluar dari gateway percabangan bersyarat (conditional forking gateway) atau dari sebuah aktivitas bersifat default atau salah satu sequence flow sudah memiliki kondisi, maka seluruh sequence flow lainnya juga wajib memiliki metadata kondisi masing-masing. Konsistensi ini mencegah percabangan yang ambigu dan memastikan setiap jalur memiliki aturan yang jelas.
Contoh penggunaan yang salah:
...
<bpmn:sequenceFlow name="Conditional" />
...Contoh penggunaan yang benar:
...
<bpmn:sequenceFlow name="Conditional">
<bpmn:conditionExpression>foo</bpmn:conditionExpression>
</bpmn:sequenceFlow>
...Pesan di Studio
Temuan rule ini tampil di panel Problems BPMN Editor dengan pesan berikut:
Sequence flow is missing condition
Cara memperbaiki
- Isi Condition pada sequence flow yang dilaporkan, di Properties Panel.
- Atau tandai sequence flow tersebut sebagai Default Flow bila ia adalah cabang "selain itu".
- Ingat: begitu satu cabang memiliki kondisi atau ada default flow, cabang lain harus berkondisi atau menjadi default flow.
Referensi
Dokumentasi BPMN Linter: https://github.com/bpmn-io/bpmnlint/blob/main/docs/rules/conditional-flows.md
