02-16-2020 07:02 AM
Hello,
Eventually, I want to send an email notification based on Freemarker template when the workflow is finished. I know I can do it using Javascript or Java but I saw this is also possible with Activiti itself (I will allow me to use Freemarker template easily).
Unfortunately, when when I create an Alfresco Mail Task in the process definition, I get an ActivitiIllegalArgumentException error.
myProject | 2020-02-16 11:42:34,727 ERROR [impl.interceptor.CommandContext] [http-nio-8080-exec-10] Error while closing command context myProject | org.activiti.engine.ActivitiIllegalArgumentException: Field definition uses unexisting field 'mail.parameters.subject' on class org.alfresco.repo.workflow.activiti.script.AlfrescoScriptDelegate
This is part of my process definition:
<serviceTask id="alfrescoMailtask1" name="Alfresco Mail Task" activiti:class="org.alfresco.repo.workflow.activiti.script.AlfrescoScriptDelegate"> <extensionElements> <activiti:field name="script"> <activiti:string><![CDATA[var mail = actions.create("mail"); mail.execute(bpm_package);]]></activiti:string> </activiti:field> <activiti:field name="mail.parameters.subject"> <activiti:string><![CDATA[Rejected]]></activiti:string> </activiti:field> <activiti:field name="mail.parameters.to"> <activiti:expression><![CDATA[${initiator.properties.email}]]></activiti:expression> </activiti:field> <activiti:field name="mail.parameters.html"> <activiti:expression><![CDATA[<html> <body> Hello ${male ? 'Mr.' : 'Mrs.' } ${recipientName},<br/><br/> As of ${now}, the process has been rejected <b>rejected</b>.<br/><br/> Greetings,<br/> The Company. </body> </html>]]></activiti:expression> </activiti:field> </extensionElements> </serviceTask>
What's wrong with it?
PS. How can I populate Freemarker model with additional variable? Is execution.setVariable('foo', 'test'); enough?
Explore our Alfresco products with the links below. Use labels to filter content by product module.