Process Automation Araçlarının Properties Paneli

Exclusive Gateway

Bu araç, iş akışındaki işlemlerin koşul ve sıralamasını belirlemenizi sağlar. Gateway'in amacı, birden fazla olası yol arasından yalnızca bir tanesinin, tanımlı koşullara göre seçilerek çalıştırılmasıdır. Böylece süreç, farklı senaryolara göre dallanabilir.

"None" seçeneği altında bulunan Symbol Picker ile parametre panelinde tanımlanmış değişkenler çağrılarak koşullarda kullanılabilir. Bu değişkenler, string, number, boolean, datetime gibi farklı veri tiplerinde olabilir. Symbol Picker aracılığıyla seçilen parametre, Select Box içinde belirlenen bir karşılaştırma operatörüyle (örneğin equals, not equals, greater than, less than, contains gibi) değerlendirilir. Koşul doğruysa, bu koşula bağlı çıkış path'i çalıştırılır.

Bir Exclusive Gateway üzerinde birden fazla çıkış tanımlanabilir. Tanımlanan bu çıkışlardan biri "Will execute otherwise" seçeneği ile varsayılan yol olarak belirlenmelidir. Bu yol, yukarıdan aşağıya sıralanan diğer koşulların hiçbirinin sağlanmaması durumunda devreye girer. Eğer bu alan için örneğin "Yes" seçilirse, iş akışında ilk kontrol edilen path "No" olarak değerlendirilir. Sıralama önemlidir; çünkü sistem, koşulları yukarıdan aşağıya doğru değerlendirir ve ilk doğru olan koşuldan sonraki yolları kontrol etmez. Koşullar sürükle-bırak yöntemiyle yeniden sıralanabilir.

Koşulların doğruluk sırası süreç davranışını doğrudan etkiler. En genel koşul en alta, en özel koşul ise en üste yerleştirilmelidir. Aksi takdirde tüm koşullar sağlanamadığında beklenmeyen bir path çalışabilir. Her çıkış path'ine bir koşul eklenmesi önerilir. Ancak en az bir path mutlaka "Will execute otherwise" olarak ayarlanmalı, böylece tüm koşullar başarısız olduğunda sürecin ilerleyeceği yol net olarak belirlenmelidir.

Bu araca, sol araç panelindeki Gateways grubundan erişilir.

Inclusive Gateway

Birden fazla koşulun aynı anda sağlanabildiği durumlarda, iş akışını paralel şekilde dallandırmak için kullanılır. Inclusive Gateway, Exclusive Gateway'den farklı olarak, koşulların birden fazlası aynı anda doğruysa, bu koşullara bağlı tüm yolların aynı anda tetiklenmesini sağlar.

Her çıkış path'i için bağımsız koşullar tanımlanabilir. Koşullar Symbol Picker aracılığıyla parametre panelinde yer alan değişkenler kullanılarak oluşturulur. Değerlendirme işlemi sırasında sistem, tüm koşulları birbirinden bağımsız şekilde inceler. Bu nedenle birden fazla koşul "true" dönerse, bu path'lerin tümü aynı anda çalıştırılır.

Inclusive Gateway üzerinde de en az bir path, "Will execute otherwise" olarak belirlenmelidir. Bu seçenek, tanımlanan diğer koşulların hiçbirinin sağlanmadığı durumda sürecin kesilmeden devam etmesini garanti eder.

Inclusive Gateway, iş akışı senaryolarında esnek paralel yürütme sağlar. Örneğin, bir sipariş sürecinde hem "Fatura Güncelleme" hem de "İade Talebi" koşulları aynı anda sağlanıyorsa, sistem her iki süreci de eşzamanlı olarak başlatabilir.

Inclusive Gateway, iş süreçlerinin koşullara göre dinamik olarak dallanmasını ve aynı anda birden fazla işlemin başlatılmasını mümkün kılar.

Bu araca, sol araç panelindeki Gateways grubundan erişilir.

Parallel Gateway

İş akışında aynı anda yürütülmesi gereken birden fazla görevin paralel olarak başlatılmasını veya paralel yolların birleşmesini sağlar. Koşula bağlı değildir; bu nedenle tüm çıkış path'leri eşzamanlı olarak tetiklenir.

Parallel Gateway genellikle iki amaçla kullanılır:

  • Split (Ayrışma): Tek bir süreç noktasından birden fazla paralel akışın başlatılması.
  • Join (Birleşme): Farklı paralel akışların tamamlanmasını bekleyip tek bir akışa dönülmesi.

Split yapısında, gateway'e bağlı tüm çıkış path'leri aynı anda başlar ve birbirinden bağımsız olarak yürütülür. Join yapısında ise, birleştirici Parallel Gateway, tüm paralel path'lerin tamamlanmasını bekler ve ancak bu koşul sağlandığında sürecin bir sonraki adımına geçer.

Parallel Gateway'in kullanımı, süreçlerin zaman açısından optimize edilmesini sağlar. Örneğin, bir sipariş onaylandıktan sonra "Paketleme", "Fatura Hazırlama" ve "Kargo Etiketi Oluşturma" adımlarının eşzamanlı başlatılması, süreci hızlandırır.

Properties panelinde bu araç için genellikle koşul tanımlanmaz, çünkü tüm path'ler otomatik olarak tetiklenir. Ancak adlandırma, açıklama ve bağlantı yönleri düzenlenerek iş akışının okunabilirliği artırılabilir.

Bu araca, sol araç panelindeki Gateways grubundan erişilir.

System Task

Bu araç, Kuika platformunda sistem tarafından yürütülecek otomatik görevlerin tanımlandığı adımdır. Genellikle kullanıcı etkileşimi gerektirmeyen işlemleri modellemek için kullanılır. Örneğin, API çağrıları yapmak, dış servislerle entegrasyon sağlamak, sistem parametrelerini güncellemek veya arka planda veri hazırlamak gibi görevler bu adımda gerçekleştirilir.

System Task adımı iki ana yapı içerir: Actions ve Step Outputs. Actions bölümü, bu adım çalıştığında tetiklenecek sistem aksiyonlarının tanımlandığı alandır. Burada, daha önce tanımlanmış bir veya birden fazla aksiyon sıralı şekilde çalıştırılabilir. Bu aksiyonlar örneğin bir REST API çağrısı olabilir veya daha önce tanımlanmış bir Custom Action'a veri gönderip yanıt alınmasını sağlayabilir.

Step Outputs bölümü ise, aksiyon sonucunda elde edilen verilerin iş akışında kullanılacak parametrelerle eşleştirildiği alandır. Bu bölümde "+SELECT WF PARAMS TO MAP" seçeneği kullanılarak, aksiyon tarafından döndürülen değerlerin hangi değişkenlere aktarılacağı belirlenir. Böylece dış sistemlerden alınan ya da arka planda hesaplanan değerler, iş akışının devamında koşul, bildirim veya başka bir task için kullanılabilir hale gelir.

Bu görev tipi, kullanıcıya herhangi bir form veya bildirim göstermez. Tamamen arka planda gerçekleşen işlemleri yönetir. Uygun konumlandırıldığında iş akışını otomatikleştirir ve manuel işlem ihtiyacını ortadan kaldırır. Her System Task adımı, sadece bir işlem yapmak için değil, birbirini takip eden çok sayıda otomatik adımı bir arada yürütmek için de yapılandırılabilir.

Bu araca, sol araç panelindeki Activities grubundan erişilir.

User Task

Bu araç, iş akışında kullanıcıdan manuel veri girişi ve onay gerektiren görevleri tanımlamak için kullanılır. Kullanıcının belirli bir işlemi gerçekleştirmesi, veri girmesi, form doldurması ya da karar vermesi gerektiği durumlarda kullanılır. Kullanıcı, atanan görevi tamamlamadan süreç bir sonraki adıma geçmez. Bu nedenle User Task adımları süreçte kritik karar noktaları veya veri toplama alanları olarak işlev görür.

User Task, sistemdeki kullanıcılarla etkileşimli süreç tasarlamak için esnek konfigürasyon seçenekleri sunar. Bu adım bir form ile ilişkilendirilerek kullanıcıdan veri alınmasını sağlar ve kullanıcıya özel atama, bildirim, açıklama, son tarih ve butonlar gibi çeşitli alanlarla özelleştirilebilir.

Bu araca, sol araç panelindeki Activities grubundan erişilir.

Properties Paneli:

  • Description: İş sürecinde açıklamaların yapıldığı alandır. @ kullanarak parametreler çağrılabilir. Örneğin: "@UserName, @PermitStartDate ile @PermitEndDate arasında izin talep etti. Lütfen talebi değerlendiriniz."
  • Assignment: Kullanıcılara görev atamak için kullanılır.
  • Everyone: Görev görev havuzuna düşer ve tüm kullanıcılar görevi üzerine alabilir.
  • Role: Görev belirli bir role atanır. "Choose Role" alanından rol seçilir veya "+ Add New Role" ile yeni rol oluşturulur.
  • Dynamic Assignment: Görev süreç parametreleri üzerinden dinamik olarak atanacak kullanıcıya yönlendirilir. Süreç değişkenleri ile bağlantılı atamalar yapmayı sağlar. Görevin hangi kullanıcıya veya role atanacağını belirleyen veriyi seçmek için Field to Get Information alanı kullanılır; bu alanda kullanıcıyı yönlendirici bir placeholder metni yer alır ve hangi bilginin seçilmesi gerektiğini netleştirir.
  • Use Lane: Aktif edildiğinde görev lane yapısına göre atanır.
  • Step Outputs: Süreç içerisindeki çıkış adımlarının sonuçlarını belirler. Kullanıcının yaptığı işlemin (örneğin: onayladı, reddetti, geri gönderdi) sonuçları bu alanda tanımlanır. Her buton için ayrı bir çıkış tanımlanabilir ve gateway ile farklı akışlara yönlendirme yapılabilir.

Örnek Butonlar:

  • Approve → "Onaylandı" yoluna yönlendir
  • Reject → "Reddedildi" yoluna yönlendir
  • SendBack → "İade Edildi" yoluna yönlendir
User Task içerisinde yer alan Step Output, System Task'tan farklı olarak kullanıcıların girdiği ekranlardaki bilgilerin değiştirilebilmesini sağlar. Kullanıcıdan hangi bilgilerin alınacağı bu alanda belirlenir.

G. Forms Paneli: Workflow Screens ve Interactions

Kuika'nın Process Automation modülünde, iş süreçlerini yönetmek, kullanıcı etkileşimli adımları yapılandırmak ve görselleştirmek için Forms sekmesi kullanılır. Bu sekme, her iş süreci (process) için oluşturulan ekranların (forms) ilgili süreç altında gruplanarak düzenli bir şekilde yönetilmesini sağlar.

Her iş akışı kendi ekran grubuna sahiptir. Böylece:

  • Farklı süreçlerdeki ekranlar birbirinden ayrılır,
  • Her sürecin kullanıcı adımlarına ait ekranlar kendi alanında görüntülenir,
  • Ekran yönetimi daha sade ve hatasız hale gelir.

Forms sekmesi, biri Workflow Screens, diğeri Interactions olmak üzere iki alt sekmeden oluşur. Her iki alt sekmenin yanında, o sekmede kaç öğe tanımlı olduğunu gösteren bir sayaç bulunur (örn. "Workflow Screens 1", "Interactions 0"). Yapılan değişiklikler sağ üstteki APPLY SCREENS butonuyla kaydedilir; CANCEL ile iptal edilebilir.

Her iki alt sekmede de sol tarafta USER TASKS başlığı altında, sürecinizdeki tüm User Task adımlarının bir listesi görüntülenir. Arama kutusuyla adımlar filtrelenebilir. Listeden bir adım seçildiğinde, sağ tarafta o adıma ait ilgili içerik (form alanları veya etkileşimler) açılır.

1. Workflow Screens Alt Sekmesi

Bu alt sekmede, seçili adımın form alanları (fields) tanımlanır.

Sol tarafta USER TASKS listesinden bir adım (örn. "Sample Step") seçildiğinde, sağ tarafta şunlar görüntülenir:

  • Step Outputs: Bu adımın hangi çıktıları/parametreleri konfigüre ettiğini gösterir. Henüz bir çıktı tanımlanmadıysa "This step configures no outputs." mesajı görüntülenir.
  • Seçili adımın adı başlık olarak görüntülenir; sağ üstte Form Layout butonu ile formun genel yerleşimi düzenlenebilir.
  • Bilgilendirme notu: Custom (özel) alanlar bir workflow parametresine otomatik olarak bağlanmaz — formda görünürler, ancak değerlerinin kalıcı olması için ekrandaki bir aksiyona sizin tarafınızdan bağlanması gerekir.

Section (Bölüm) Yapısı

Form, bir veya birden fazla Section'a (bölüme) ayrılır. Her section, formda ayrı bir blok olarak görüntülenir. Bir section içinde eklenen her alan için şu bilgiler tanımlanır:

  • Sıralama: Sürükle simgesiyle alanın sırası değiştirilebilir.
  • Aktif/Pasif: Onay kutusuyla alanın aktif olup olmadığı belirlenir.
  • Label: Alanın kullanıcıya gösterilecek etiketi.
  • Process Parameters: Alanın bağlı olduğu süreç parametresi. Bir parametreye bağlı değilse "Custom" olarak işaretlenir.
  • Field Type: Alanın veri tipi (örn. Text).
  • Element Type: Alanın form üzerindeki bileşen tipi (örn. TextInput).
  • Required: Alanın zorunlu olup olmadığı.
  • Read-Only: Alanın salt okunur olup olmadığı.
  • Bir çöp kutusu ikonuyla alan silinebilir.

Yeni bir alan eklemek için + ADD FIELD butonuna tıklanır (açılır bir menüyle alan tipi seçilir).

Yeni bir bölüm eklemek için sayfanın altındaki + Add Section bağlantısı kullanılır. Henüz alan eklenmemiş bir section, "This section will appear as a separate block on the form." mesajıyla ve "Drag a field here to create it" ifadesiyle boş bir sürükle-bırak alanı olarak görüntülenir.

2. Interactions Alt Sekmesi

Bu alt sekmede, seçili adıma bağlı kullanıcı etkileşimleri (butonlar/User Interaction'lar) yönetilir.

Sol tarafta USER TASKS listesinden bir adım seçildiğinde, sağ tarafta iki bölüm açılır:

  • Step Outputs: Bu adımın hangi çıktıları/parametreleri konfigüre ettiğini gösterir. Henüz bir çıktı tanımlanmadıysa "This step configures no outputs." mesajı görüntülenir.
  • User Interactions: Adıma bağlı kullanıcı etkileşimlerinin (butonların) listelendiği alandır. Her etkileşim, otomatik olarak o adımın çıktılarını da listeler — ayrıca bir eşleme (mapping) yapmaya gerek yoktur. Henüz bir etkileşim tanımlanmadıysa "No interactions yet. Add one to define the buttons that resume this step." mesajı görüntülenir.

Yeni bir etkileşim eklemek için sağ üstteki + ADD NEW USER INTERACTION bağlantısı kullanılır.

User Interaction Nedir?

User Interaction öğesi, bir iş akışında kullanıcıdan doğrudan geri bildirim, form doldurma, karar verme veya belirli verilerin girişi gibi insan etkileşimi gerektiren adımları tanımlamak için kullanılır. Bu adım, iş sürecini sistem aksiyonlarından ayırarak kullanıcı girdisini zorunlu kılar.

Kullanım Senaryoları:

  • İzin talep formu doldurma
  • Masraf onayı verme
  • Görev yöneticisine yorum ile geri bildirme
  • Belge yükleme

Teknik Özellikler:

  • Form Tanımlama: Workflow Screens alt sekmesinde oluşturulan bir form, bu adıma bağlanarak kullanıcıya gösterilir.
  • Assignment (Görev Atama):
  • Belirli bir kullanıcıya atanabilir
  • Role göre atanabilir
  • Dinamik olarak (custom action ile) atanabilir
  • Everyone seçeneğiyle görev havuzuna düşürülebilir
  • Button Tanımlama: Onayla, Reddet, Geri Gönder gibi aksiyon butonları tanımlanabilir; her butona özel bir ID verilebilir (örn. approve, reject). Bu butonlar Interactions alt sekmesinden eklenir.
  • Output Mapping: Kullanıcıdan alınan veriler, tanımlı parametrelere bağlanarak sürece aktarılır — her yeni User Interaction eklendiğinde, ilgili çıktılar Step Outputs bölümünde otomatik olarak listelenir.

Etkileşim Akışı:

  1. Süreç bu adıma ulaştığında tanımlanan kullanıcıya görev atanır.
  2. Kullanıcı, form üzerinde gerekli girişleri yapar veya seçimlerde bulunur.
  3. Kullanıcı tanımlı bir butonla (örn. Onayla) işlemi tamamlar.
  4. Süreç, yapılan aksiyona göre farklı path'lere yönlenebilir.

İzleme ve Raporlama:

  • Görev Durumları: Her User Interaction adımı; Atandı, Devam Ediyor, Tamamlandı, Reddedildi, Geri Gönderildi gibi durumlarla izlenebilir.
  • Rapor Filtreleme: Bu görevler filtrelenerek süreç performans raporlarında analiz edilebilir.
  • Görev Havuzu: Everyone assignment ile tanımlanan görevler, görev havuzuna düşer ve tüm yetkili kullanıcılar tarafından sahiplenilebilir.

İpuçları ve En İyi Uygulamalar:

  • Sürecin kritik karar noktaları için User Interaction adımları kullanarak şeffaf ve izlenebilir onay akışları tasarlayın.
  • Butonlara anlamlı ID'ler verin (approve, reject, sendBack) ve gateway'lerle bağlayarak süreci dallandırın.
  • Gerekirse Task Due (tamamlanması gereken süre) tanımlayarak geciken görevleri tetikleyin.

Gelişmiş Kullanım: Form ile Entegrasyon

Workflow Screens alt sekmesinde bir adıma bağlanan form, aşağıdaki özellikleri destekler:

  • Dosya yükleme
  • Validasyon kuralları
  • Dinamik alan gösterimi
  • İşlem öncesi/sonrası tetikleyici (Trigger)

H. Multi-Instance Step Yapısı (PMI / SMI)

Multi-Instance Configuration (PMI / SMI)

Multi-Instance ayarları, adım seçildiğinde Advanced sekmesi altında yer alan Multi-Instance Configuration panelinden yapılır. Bu yapı hem Parallel Multi-Instance (PMI) hem de Sequential Multi-Instance (SMI) için geçerlidir.

Instance Generation

Sequential Instance Count Strategy (SMI)

Sequential yapı seçildiğinde, instance üretim yöntemi Instance Generation alanından belirlenir.

Manual (Number / Symbol): Instance sayısı manuel olarak belirlenir. Alt alanda yer alan Instance Count (Fixed/Variable):

  • Fixed Value → Sabit bir sayı girilir.
  • Symbol seçilerek bir değişken üzerinden dinamik sayı kullanılabilir.

Girilen sayı kadar instance oluşturulur ve sıralı olarak çalıştırılır.

Based on Step Assignment: Instance sayısı, adımın Assignment tipine göre belirlenir. Assignment tipi Role veya Dynamic ise, instance üretimi bu yapılandırmaya göre yapılır.

Instance üretim mantığı:

  • By Role (One instance per Role): Her role için 1 instance oluşturulur. Aynı role sahip kullanıcılar aynı Instance'ı görüntüler.
  • By User (One instance per User in Roles): Role bağlı her kullanıcı için ayrı instance oluşturulur. Her kullanıcı yalnızca kendisine assign edilen Instance'ı görür.

Dynamic Assignment kullanılıyorsa:

  • By Role → Dönen her rol için 1 instance
  • By User → Dönen rollerdeki her kullanıcı için 1 instance

Execution Order (SMI)

Sequential yapıda Instance'ların işlenme sırası belirlenebilir:

  • Ascending (First to Last)
  • Descending (Last to First)

Seçilen sıraya göre Instance'lar ardışık olarak oluşturulur ve çalıştırılır.

Cancel Condition (SMI)

Sequential Multi-Instance adımlarında kullanılabilir. Tanımlanan koşul sağlandığında, henüz çalıştırılmamış kalan instance'lar oluşturulmaz ve süreç sonlandırılır.

Koşullar AND GROUP yapısı ile tanımlanır.

Multi-Instance Aggregation

Child Instance'lardan dönen sonuçların birleştirilme yöntemi bu bölümde belirlenir.

Child Output Key: Aggregation'a dahil edilecek child output alanı seçilir.

Strategy: Desteklenen stratejiler:

  • Majority
  • SumInt
  • SumDouble
  • AverageDouble
  • Min
  • Max

Seçilen stratejiye göre child sonuçları tek bir çıktı olarak birleştirilir ve parent akışa aktarılır.

Parallel Multi-Instance (PMI)

Parallel yapı seçildiğinde:

  • Instance'lar aynı anda başlatılır.
  • Instance Generation seçenekleri (Manual / Based on Step Assignment) aynıdır.
  • Cancel Condition alanı bulunmaz.
  • Aggregation mantığı SMI ile aynı şekilde çalışır.

I. Symbol Picker Üzerinden Process Initiator Bilgisine Erişim

Process Automation modülünde, bir süreci başlatan kullanıcıya ait bilgilere Symbol Picker aracılığıyla erişilebilir. Bu bilgi, Process Initiator olarak adlandırılır ve iş akışının farklı adımlarında (Task, User Task, Notification, Gateway koşulları vb.) dinamik değer olarak kullanılabilir.

Symbol Picker'da Process Initiator altında aşağıdaki alanlar ayrı ayrı seçilebilir:

  • Mail / Email / Username: Süreci başlatan kullanıcının e-posta adresi veya kullanıcı adı bilgisidir. Özellikle Send Mail aksiyonlarında Receivers alanına doğrudan verilerek, Process Initiator'a otomatik bildirim/mail gönderimi yapılabilmesini sağlar.
  • FirstName: Süreci başlatan kullanıcının adıdır.
  • LastName: Süreci başlatan kullanıcının soyadıdır.
  • FullName: Süreci başlatan kullanıcının tam adıdır (ad + soyad).

Bu sayede, senaryoya göre yalnızca ad-soyad bilgisi göstermek yerine, kullanıcının e-posta adresi gibi işlevsel bir veri de doğrudan Symbol Picker üzerinden seçilerek aksiyonlara aktarılabilir.

Örnek Kullanım: Bir izin talebi sürecinde, talebin sonucu (onaylandı/reddedildi) Process Initiator'a bildirilmek istendiğinde, Send Mail aksiyonunun Receivers alanına Symbol Picker'dan Process Initiator → Mail seçilerek, süreci başlatan kullanıcıya doğrudan e-posta gönderimi yapılabilir.