Süreçler — BPMN Diyagramından Çalışan Sürece

Süreç tuvalinde çizilen BPMN 2.0 diyagramı; bir forma kayıt açılınca ya da elle başlatılınca çalışan bir örneğe dönüşür, insan görevlerini kulvar-rol eşlemesiyle doğru kullanıcıya düşürür.

Bu Modül Ne İşe Yarar

Süreçler modülü, formların ÜSTÜNE binen bir iş akışı katmanıdır: bir talep formunun doldurulmasından onaya, oradan satınalmaya ya da faturaya kadar birden çok formu ve kullanıcıyı tek bir BPMN 2.0 diyagramıyla birbirine bağlar. Diyagram Süreç Tanımları ekranındaki tuvalde (bpmn-js) çizilir; yayınlandığında her kayıt ya da elle başlatma bir Çalışan Süreç (örnek) doğurur. Motor SpiffWorkflow'dur; script görevleri sandbox'ta (QuickJS) izole çalışır.

Ön Koşullar

  • Form Tasarımcısı — sürecin başlangıç formu ve adımlarına bağlanacak ekranlar (adım ekranı) önceden form-builder'da tasarlanmış olmalı
  • Yeni bir codename UYDURULMADI: tasarım uçları herkeste hazır bulunan form.view/form.edit/form.publish iznine, başlatma ucu task.create'e, görev tamamlama task.view'a bağlıdır — bu izinler her firmanın rolünde zaten var

Kurulum Sırası

  1. Süreç Tanımları ekranından yeni bir tanım açın, tuvalde diyagramı çizin (Süreç Tanımları menüsündeki tasarımcı, form.edit ister)
  2. Diyagramdaki her userTask için Adım Yapılandırması'nı açıp bir ekran (form-builder tasarımı) bağlayın; ekran bağlanmazsa görev açılır ama kullanıcı önünde boş görev görür
  3. Diyagramdaki havuz kulvarlarını (lane) bir Rol adı, bir Birim adı (ör. "Muhasebe", "Depo") ya da bir yönetici unvanı (ör. "Bölüm Amiri") ile aynı ada yazın — çözümleme bu sırayla dener: önce rol, sonra birim sorumlusu/üyeleri, sonra unvan. Adayı hiçbiri karşılamazsa görev kimseye atanmaz ama sistemde bekler
  4. Sürecin bir form kaydı açılınca kendiliğinden başlamasını istiyorsanız tanımın otomatik başlatan form kodu'nu o formun koduna eşitleyin — bu, sürecin ASIL kullanım şekli; elle başlatma (adım 5) çoğunlukla operatör/test içindir
  5. Tanımı Yayınla'yın — yayınlanmamış bir tanımdan örnek başlatılamaz; aynı kodun önceki yayınlı sürümü otomatik indirilir, firma başına aynı anda yalnız BİR sürüm yayında kalır

Günlük Kullanım Akışı

  • Otomatik başlatma bağlıysa kullanıcı ilgili formda bir kayıt açtığı an süreç kendiliğinden doğar — elle bir şey yapmanız gerekmez
  • Çalışan Süreçler ekranından örneklerin durumunu (Çalışıyor / Bekliyor / Tamamlandı / İptal / Hata) izleyin
  • Bir kullanıcı görevine düşen kişi, göreve atanmış ekranı doldurup tamamladığında süreç bir sonraki durağa ilerler; görevin sahibi olmayan bir kullanıcı bu ekranı tamamlayamaz
  • Bir örneği durdurmak gerekirse İptal Et kullanın — durum silinmez, son hâliyle teşhis için saklanır
  • Tanım başına Süreç Analitiği ekranından (tanımın kendi sayfasından açılır, parametresiz genel bir liste YOKTUR) ortalama tamamlanma süresi ve adım bazlı darboğazları görün

Raporlar

EkranHangi soruyu cevaplar
Çalışan SüreçlerHangi örnekler hangi durumda, hangi adımda bekliyor?
Süreç Analitiği (tanım bazlı)Bu sürecin ortalama tamamlanma süresi ve adım bazlı darboğazı nedir?

Sık Yapılan Hatalar

  • Yayınlanmamış bir tanımdan örnek başlatmaya çalışmak — "yayınlanmamış; örnek başlatılamaz" hatasıyla reddedilir, önce Yayınla'yı çalıştırın
  • Diyagramda bir elemana elle Start id'si vermek — bu id süreç motorunun kendi kök görev adıyla çakışır ve akış sessizce kurulamaz; farklı bir id verin (ör. StartEvent_1)
  • Service task veya Business rule (DMN) task eklemek — bu sürümde ikisi de desteklenmiyor, tanım kaydedilirken reddedilir
  • Script task'ı JavaScript dışında bir formatla ya da boş bırakmak — sandbox yalnız QuickJS/JavaScript çalıştırıyor, boş script de reddedilir
  • 2 MB'ı aşan bir BPMN XML ya da 20.000 karakteri aşan bir script yüklemek — ikisi de sabit bir tavana takılıp reddedilir
  • XML içinde DOCTYPE bildirimi bulunması — güvenlik nedeniyle koşulsuz reddedilir
  • Birden çok çalıştırılabilir process taşıyan bir XML yüklerken kök process id belirtmemek — sistem hangisinin kök olduğunu tahmin etmez, hangi id'lerin bulunduğunu listeleyip reddeder
  • Görevin sahibi olmayan bir kullanıcının görevi tamamlamaya çalışması — "Bu süreç adımının sahibi değilsiniz" hatası alınır; aday kümesi kulvar çözümlemesinden ya da görev devrinden gelir

İlgili Modüller

Form Tasarımcısı, sürecin başlangıç ve adım ekranlarının kaynağıdır — bir form silinirse ilgili adım yapılandırması ölmez, yalnız ekranı boşalır. Görev Yönetimi, her insan görevini kendi görev listesinde de gösterir; süreç köprüsü (bpmn) bir Task'a bağlanarak çalışır, görevi tamamlamak süreci de ilerletir. Organizasyon Yapısı, kulvarların rol/birim/unvan üzerinden kime düştüğünü belirler.