Sync SOP Lanes
Mencocokkan lane diagram BPMN dengan node struktur organisasi berdasarkan nama (Sync SOP lanes dan Match lanes by name), lengkap dengan langkah Review sebelum Apply.
Gambaran Umum
Memilih Select Role satu per satu pada setiap lane memakan waktu kalau Drive Anda berisi banyak diagram. Fitur ini mencocokkan lane di diagram BPMN dengan node struktur organisasi berdasarkan nama, lalu menuliskan node itu sebagai role lane (properti Select Role pada lane).
Role lane menentukan dua hal:
- Daftar pilihan Assignee untuk task di dalam lane itu.
- SOP yang muncul per role di halaman Organization Structure.
Karena itu, salah role berarti salah daftar assignee dan salah daftar SOP. Selalu tinjau langkah Review sebelum menekan Apply.
Fitur bertahap
Fitur ini bawaannya mati dan harus dinyalakan di dua sisi (bpm-service dan Studio). Lihat Feature Flag.
Ada tiga pintu masuk:
| Pintu masuk | Lokasi | Cakupan | Cara menyimpan |
|---|---|---|---|
| Sync SOP lanes | Halaman Organization Structure, tombol di kartu Lane sync | Banyak file sekaligus (seluruh Drive atau folder terpilih) | Tiap file disimpan sebagai versi baru, dengan catatan versi Lane sync: N lanes mapped |
| Match lanes by name (editor) | Toolbar editor BPMN | Hanya diagram yang sedang terbuka | Perubahan hanya di kanvas sampai file disimpan; bisa di-undo satu langkah (Ctrl+Z) |
| Match lanes by name (Drive) | Menu tiga titik pada file BPMN, dan tombol di bagian Lane roles pada panel File information → tab Details | Satu file | Langsung disimpan sebagai satu versi baru, dengan catatan versi Lane match: N lanes mapped |
Aturan Pencocokan Nama
Sebuah lane mendapat role bila nama lane sama dengan nama node di organisasi milik Pool file itu, setelah normalisasi berikut:
- spasi di awal dan akhir dibuang,
- spasi berturut-turut digabung menjadi satu,
- huruf besar/kecil diabaikan.
| Nama lane | Nama node | Hasil |
|---|---|---|
" finance " | Finance | Cocok |
Kepala Divisi | Kepala Divisi | Cocok |
HR | People & Culture | Tidak cocok |
Ini adalah batasan yang permanen, bukan kekurangan sementara. Pencocokan selalu persis sama setelah normalisasi:
- Singkatan tidak dikenali (
HRtidak sama denganPeople & Culture). - Sinonim, terjemahan, kemiripan tulisan, dan tanda baca yang berbeda tidak disamakan.
Lane yang tidak cocok tidak dibiarkan begitu saja: di langkah Review, Anda tetap bisa memilih node tujuannya secara manual (lihat status No match).
Batas lainnya:
- Pencocokan hanya di dalam satu organisasi. Organisasi diambil dari properti organisasi pada Pool (process), bukan per lane. Lane tidak pernah dicocokkan lintas organisasi. Cara mengatur organisasi pada Pool dijelaskan di Mengelola SOP Berdasarkan Role.
- Child lane ikut dibaca dan ditampilkan dengan keterangan "Child lane of
nama lane induk".
Sync SOP Lanes (Banyak File)
Sync SOP lanes berjalan dalam empat langkah. Stepper di bagian atas dialog menampilkannya: Scope → Scan → Review → Apply, lalu layar hasil.
Hak akses
Hanya Admin SOP dan Owner yang dapat menjalankan sync dan menyimpan file. Peran lain tidak melihat tombolnya.
Scope
Klik tombol Sync SOP lanes pada kartu Lane sync di halaman Organization Structure, lalu pilih cakupan:
- All of Drive, atau
- Selected folders: centang folder yang diinginkan. Folder yang dipilih mencakup subfoldernya.
Boks How lanes are matched merangkum aturan pencocokan di atas. Footer dialog selalu mengingatkan: "Nothing is changed until you apply."

Scan
Scan hanya membaca: sistem mendaftar file, mengunduh XML-nya, lalu mencocokkan nama di memori. Tidak ada apa pun yang ditulis pada langkah ini.
- Scan bisa dibatalkan dengan Cancel.
- Satu file yang gagal dibaca tidak menghentikan scan.

Review
Review menampilkan ringkasan angka (ready to map, need a choice, no match, already mapped) dan lima tab, dikelompokkan per file. Di sinilah Anda memeriksa dan mengubah pilihan sebelum apa pun disimpan. Penjelasan tiap status ada di bagian berikutnya.
Apply
File disimpan satu per satu dengan progres per file. Satu kegagalan tidak menghentikan file lain. Biarkan jendela tetap terbuka: "Saving files one by one. Keep this window open."

Status per Lane di Review
| Status (label UI) | Arti | Perilaku default |
|---|---|---|
| Ready to map | Tepat satu node bernama sama | Tercentang otomatis. Bila hanya beda huruf besar/kecil atau spasi, muncul tanda "Case or spacing differs"; bila identik, "Same name" |
| Needs a choice | Nama kembar: dua node atau lebih bernama sama (tanda "Name used twice"), atau lane menunjuk node yang sudah tidak ada (tanda "Role missing") | Tidak tercentang. Anda memilih node tujuan sendiri. Pilihan dibatasi pada kandidat bernama sama, dan node ditampilkan dengan jalur induk (Induk › Nama · N members) agar nama kembar bisa dibedakan |
| No match | Tidak ada node bernama sama | Tidak tercentang. Anda boleh memilih node mana pun di organisasi itu secara manual, atau memilih "Leave without a role" |
| Already mapped | Lane sudah punya role | Tidak pernah diubah. Bila nama node-nya berbeda dari nama lane, ditandai "Role name differs" dan tetap dibiarkan |
| Skipped files | File yang Pool-nya tidak punya organisasi (badge "No organization"), atau file yang gagal dibaca (badge "Could not be read") | Tidak discan dan tidak diubah |
Hal lain yang perlu diketahui di Review:
- Memilih node di sebuah baris otomatis mencentang baris itu. Memilih "Leave without a role" melepas centangnya.
- Pool tanpa organisasi: file itu dilewati. Atur organisasi pada Pool di editor BPMN, lalu jalankan sync lagi.
- File yang Pool-nya memakai organisasi lain dibiarkan sepenuhnya dan dihitung terpisah di ringkasan Review ("N files of other organizations left alone").
- Peringatan assignee: bila sebuah user task di lane itu punya assignee tetap yang bukan anggota node tujuan, barisnya memberi peringatan. Sync tidak mengubah assignee; ia hanya memperingatkan.
- Setiap grup file punya tautan Open in editor yang terbuka di tab baru, sehingga hasil Review Anda tidak hilang.
Hasil Sync
Setelah Apply selesai, layar Lane sync applied memuat:
- jumlah lane dan file yang tersimpan, serta waktunya,
- daftar per file dengan nomor versi
vN → vN+1dan pasanganlane → node, - pengingat cara membatalkan.
Tanda di Organization Structure
Setelah Apply, halaman Organization Structure memberi beberapa tanda:
- banner Lane sync applied dengan tombol View result untuk membuka kembali layar hasil,
- kartu Lane sync yang menampilkan waktu dan jumlah lane dari run terakhir,
- tanda +N sync pada node di pohon organisasi,
- tanda Lane sync pada file di tab SOP node itu.
Tanda-tanda ini hanya state halaman: hilang setelah halaman dimuat ulang dan tidak disimpan di server. Hasil pemetaan lane-nya sendiri tetap tersimpan di file.
Hal yang Wajib Diperhatikan
Sync tidak men-deploy proses
Yang tersimpan adalah versi file baru. Proses yang sudah di-deploy tetap memakai versi yang berjalan sekarang sampai Anda men-deploy ulang. Lihat BPMN Deploy.
- Hanya role lane yang berubah. Sync tidak mengubah assignee, dan tidak mengubah lane yang sudah punya role.
- Konflik versi: bila ada orang menyimpan versi baru setelah Scan membaca file itu, file tersebut tidak ditulis sehingga pekerjaan orang lain tetap aman. Muncul peringatan beserta tombol Scan again.
- Satu kegagalan tidak menghentikan yang lain: Apply dan Scan melanjutkan ke file berikutnya.
Membatalkan
Buka file yang ingin dikembalikan, lalu restore versi sebelumnya dari panel Versions (lihat BPMN Versioning). Versi hasil sync mudah dikenali dari catatannya:
| Catatan versi | Berasal dari |
|---|---|
Lane sync: N lanes mapped | Sync SOP lanes (banyak file) |
Lane match: N lanes mapped | Match lanes by name dari Drive |
Setelah restore, deploy ulang bila Anda sudah men-deploy versi hasil sync.
Match Lanes by Name (Satu File)
Bila hanya satu diagram yang perlu dicocokkan, pakai Match lanes by name. Aturan pencocokan dan status per lane sama dengan Sync SOP lanes; yang berbeda adalah tempat memulainya dan cara menyimpannya.
Dari Editor BPMN
- Buka diagram, lalu klik Match lanes by name pada toolbar editor BPMN.
- Tinjau hasilnya pada dialog, ubah pilihan bila perlu, lalu terapkan.
- Perubahan hanya terjadi di kanvas. Simpan file seperti biasa agar tersimpan. Sebelum disimpan, Anda bisa membatalkannya satu langkah dengan Ctrl+Z.
Dari Drive
Ada dua jalan:
- Klik menu tiga titik pada file BPMN, lalu pilih Match lanes by name.
- Buka panel File information → tab Details, lalu klik tombol di bagian Lane roles.
Hasilnya langsung disimpan sebagai satu versi baru dengan catatan Lane match: N lanes mapped.
Bagian Lane roles pada panel File information → Details untuk file BPMN menampilkan:
- organisasi Pool,
- satu baris per lane beserta role-nya (atau "No role" dengan alasannya),
- badge
N of M lanes, - catatan ringkas, misalnya "N lanes without a role have a node with the same name."
Perubahan pada Select Role di Editor
Saat fitur aktif, dropdown Select Role pada lane berubah:
- Node bernama kembar diberi nama induk:
Nama (Induk). - Di bawah dropdown muncul daftar Assignee options for tasks in this lane, atau "This node has no members yet." bila node belum punya anggota.
- Muncul peringatan untuk assignee tetap yang bukan anggota node.
Feature Flag
Fitur ini bawaannya mati di kedua sisi. Keduanya harus dinyalakan.
| Variabel | Tempat | Nilai bawaan |
|---|---|---|
FEATURE_FLAG_LANE_SYNC=true | bpm-service | Mati |
VITE_FEATURE_FLAG_LANE_SYNC=true | Studio | Mati |
Cara menyalakannya:
- Di environment bpm-service, set
FEATURE_FLAG_LANE_SYNC=true, lalu restart bpm-service. - Di Studio, set
VITE_FEATURE_FLAG_LANE_SYNC=true. Studio membaca nilai ini dariconf.jssaat runtime (bisa diganti per deployment tanpa build ulang) atau dari.envsaat build.
Bila flag tidak dinyalakan:
| Kondisi | Akibat |
|---|---|
VITE_FEATURE_FLAG_LANE_SYNC mati (Studio) | Tombol Sync SOP lanes, item menu/tombol Match lanes by name, bagian Lane roles, dan tambahan label/peringatan di Select Role tidak muncul. Select Role berperilaku seperti sebelumnya. |
FEATURE_FLAG_LANE_SYNC mati (bpm-service) | Endpoint lane-sync tidak ada, dan Studio menampilkan "Lane sync is not enabled on the server yet." |
Nyalakan kedua flag. Flag Studio saja memunculkan tombol yang memanggil endpoint yang belum ada.
