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

时间:2019-10-08 10:25:58

标签: alfresco alfresco-webscripts

我正在实现一个简单的邮件触发服务,以向用户通知有关工作流程的任务。我已经在用户任务下使用了以下代码,并且邮件已按预期触发,但是有一种方法可以从 S3 存储桶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);

1 个答案:

答案 0 :(得分:1)

如果您使用的是S3连接器,则Alfresco存储库中的所有对象都位于S3中,包括自由标记模板。

如果您不使用S3连接器,那么实际上就没有简便,即用的方法可以从S3或任何其他来源提取模板。

您始终可以自己编写。您可以从Web脚本的JavaScript控制器调用外部REST端点。您还可以编写一个可以执行此操作的Java控制器。

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

不确定您要在S3中存储模板有多糟,但这实际上就是您要这样做的方式。

您还可以考虑编写一个计划的操作,该操作仅将S3中存储的对象与存储库中的节点同步,那么您的操作将保持不变。