9. Atama Yöntemleri
Workingflow görevleri atamak için iki yolu destekler: Statik (Tasarım zamanı) ve Dinamik (Çalışma zamanı).
Yöntem 1: Statik Atama (Sabit Kodlanmış)
Atama kurallarının sabit olduğu ve önceden bilindiği durumlarda bunu kullanın.
Belirli Bir Kullanıcıya Ata
<!-- Always assigned to this specific email -->
<userTask id="adminReview" flowable:assignee="admin@workingflow.com"/>
Birden Fazla Kullanıcıya Ata
Listedeki kullanıcılar görevi üzerlerine alabilirler (virgülle ayrılmış e-postalar).
<userTask id="peerReview" flowable:candidateUsers="user1@work.com,user2@work.com"/>
Grup(lar)a Ata
Listelenen gruplardan herhangi birindeki kullanıcılar görevi üzerlerine alabilirler.
<!-- Assigned to Manager and Admin roles -->
<userTask id="managerReview" flowable:candidateGroups="ROLE_MANAGER,ROLE_ADMIN"/>
Yöntem 2: Dinamik Atama (Değişken Tabanlı)
Atanacak kişi sürecin çalışması sırasında belirlendiğinde (örneğin önceki bir formda seçildiğinde) bunu kullanın.
Dinamik Kullanıcı Ataması
<!-- Step 1: Selection Form (stores email in 'user_reviewer') -->
<activiti:formProperty id="user_reviewer" name="Select Reviewer" type="enum" required="true"/>
<!-- Step 2: Assign to selected user -->
<userTask id="reviewTask" flowable:assignee="${user_reviewer}"/>
Dinamik Çoklu Kullanıcı Ataması
<!-- Step 1: Multi-select Form (stores 'jane@work.com,john@work.com') -->
<activiti:formProperty id="users_reviewers" name="Select Reviewers" type="enum" required="true"/>
<!-- Step 2: Assign to multiple candidate users -->
<userTask id="teamReview" flowable:candidateUsers="${users_reviewers}"/>
Dinamik Rol Ataması
<!-- Step 1: Selection Form (stores role name in 'role_dept') -->
<activiti:formProperty id="role_dept" name="Select Department" type="enum" required="true"/>
<!-- Step 2: Assign to selected role -->
<userTask id="deptReview" flowable:candidateGroups="${role_dept}"/>
Dinamik Çoklu Rol Ataması
<!-- Step 1: Multi-select Form (stores 'ROLE_A,ROLE_B') -->
<activiti:formProperty id="roles_approvers" name="Select Approvers" type="enum" required="true"/>
<!-- Step 2: Assign to multiple roles -->
<userTask id="multiReview" flowable:candidateGroups="${roles_approvers}"/>