Alfresco 模板属性的电子邮件模板自定义参数

Alfresco 模板属性的电子邮件模板自定义参数,alfresco,alfresco-webscripts,Alfresco,Alfresco Webscripts,我正在实现一个简单的邮件触发服务,向用户通知工作流任务。我在用户任务下使用了下面的代码,邮件会像预期的那样被触发,但是有没有一种方法可以从S3 bucket URL/链接而不是数据字典访问模板 以下是我目前的代码 var mail = actions.create("mail"); mail.parameters.to = "xyx@gmail.com"; mail.parameters.subject="Hello"; mail.parameters.text="blablabla"; mai

我正在实现一个简单的邮件触发服务,向用户通知工作流任务。我在用户任务下使用了下面的代码,邮件会像预期的那样被触发,但是有没有一种方法可以从S3 bucket URL/链接而不是数据字典访问模板

以下是我目前的代码

var mail = actions.create("mail");
mail.parameters.to = "xyx@gmail.com";
mail.parameters.subject="Hello";
mail.parameters.text="blablabla";
mail.parameters.template = companyhome.childByNamePath('Data Dictionary/Email Templates/Workflow Notification/File.html.ftl');
var templateArgs = new Array();
templateArgs['workflowTitle'] = "Page";
templateArgs['workflowDescription'] = "Task Assigned";
templateArgs['workflowId'] = "11111";

var templateModel = new Array();
templateModel['args'] = templateArgs;
mail.parameters.template_model = templateModel;
mail.execute(bpm_package);

如果您使用的是S3连接器,那么Alfresco存储库中的所有对象都驻留在S3中,包括freemarker模板

如果您没有使用S3连接器,那么从S3或任何其他源中拉入模板确实没有简单、现成的方法

你可以自己写。您可以从web脚本的JavaScript控制器调用外部REST端点。您还可以编写一个Java控制器来实现这一点

基本上,您的web脚本将获取模板,然后进行您自己的合并,然后将合并结果作为电子邮件正文发送

不确定您希望在S3中存储模板有多糟糕,但基本上就是这样做的

您也可以考虑编写一个计划动作,只需将存储在S3中的对象与回购中的节点同步,那么您的操作将不会改变。