問題
- スクリプト割り当てによって複数のユーザーにワークフロー・タスクを割り当てることはできますが、ロールにタスクを割り当てることはできません。
環境
- 四半期ごとのリリース
- 7.4
- 7.3
解像度
-
一般的な要件の1つは、特定のロジックが発生したときに、組織内の特定のロールまたはユーザーに通知することです。ユーザーまたはロールに通知するために追加の実装が必要な場合は、スクリプト割り当て機能を通知タスク内に実装することができます。
- 以下に例を挙げる:
<notification>
<name>Review Notification</name>
<description>
<![CDATA[]]>
</description>
<template>
<![CDATA[${userName} sent you a ${entryType} for review in the workflow.
]]>
</template>
<template-language>freemarker</template-language>
<notification-type>email</notification-type>
<notification-type>user-notification</notification-type>
<recipients receptionType="to">
<scripted-recipient>
<script>
<![CDATA[
import com.liferay.portal.kernel.model.Role
import com.liferay.portal.kernel.service.RoleLocalServiceUtil
import com.liferay.portal.kernel.service.ServiceContext
import com.liferay.portal.kernel.workflow.WorkflowConstants
ServiceContext serviceContext = (ServiceContext)workflowContext.get(WorkflowConstants.CONTEXT_SERVICE_CONTEXT)
long roleId = (long)serviceContext.getAttribute("roleIdKey")
Role roleRecipient = RoleLocalServiceUtil.getRole(roleId)
user=null
roles = [roleRecipient]
]]>
</script>
<script-language>groovy</script-language>
</scripted-recipient>
</recipients>
<execution-type>onAssignment</execution-type>
</notification>