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}"/>