4

我正在尝试编辑task-edit发送给任务受让人的电子邮件的链接。我在文件中看到了这一点,wf-emails.html.ftl但在Data Dictionary -> Email Templates -> Workflow NotificationAlfresco 管理员帐户中。如何通过 Alfresco 的模块(例如,在放大器中的一体机)编辑此文件...

我把

模块上下文.xml

  <bean id="customSpacesBootstrap" parent="spacesStoreImporter" singleton="true" >
        <property name="useExistingStore">
            <value>true</value>
        </property>
        <property name="bootstrapViews">
            <list>
                <props>
                    <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.templates.email.childname}</prop>
                    <prop key="location">alfresco/module/repo-amp/bootstrap/config_email_templates.xml</prop>
                </props>
            </list>
        </property>
    </bean>

config_email_templates.xml

<view:view xmlns:view="http://www.alfresco.org/view/repository/1.0"
           xmlns:cm="http://www.alfresco.org/model/content/1.0" xmlns:app="http://www.alfresco.org/model/application/1.0"
           xmlns:emailserver="http://www.alfresco.org/model/emailserver/1.0">

    <cm:folder view:childName="cm:My First Folder">
        <app:uifacets />
        <cm:name>My First Folder</cm:name>
        <app:icon>space-icon-default</app:icon>
        <cm:title>My First Folder</cm:title>
        <cm:description></cm:description>
        <cm:contains>
            <cm:content view:childName="cm:custom_email_template.ftl">
                <view:aspects>
                    <cm:titled />
                    <cm:author />
                    <app:inlineeditable />
                </view:aspects>
                <view:properties>
                    <app:editInline>true</app:editInline>
                    <cm:description>This is a custom email template.</cm:description>
                    <cm:content>contentUrl=classpath:alfresco/module/repo-amp/bootstrap/custom_email_template.ftl|mimetype=text/plain|size=|encoding=UTF-8|locale=en_US_</cm:content>
                    <cm:title>My first email template</cm:title>
                    <cm:author>Me</cm:author>
                    <cm:name>custom_email_template.ftl</cm:name>
                </view:properties>
                <view:associations></view:associations>
            </cm:content>
        </cm:contains>
    </cm:folder>
</view:view>

而在

custom_email_templates.ftl

我把模板与编辑。但电子邮件不会编辑。

我怎样才能做到这一点?

4

2 回答 2

1

来自Alfresco 文档

XML 导入只能替换/更新/删除设置了 UUID 的文件。

如果要替换现有节点,则必须查看有关导入策略的更多信息:

<bean id="myModule.bootstrap" class="org.alfresco.repo.module.ImporterModuleComponent"  parent="module.baseComponent">
    <property name="uuidBinding">
        <value>REPLACE_EXISTING</value>
    </property>

...

当然,您需要知道要替换的文件的uuid :

<view:properties>
    <sys:node-uuid>b7c6b88a-e5fd-4ccf-b134-69a2460c3b89</sys:node-uuid>
....
于 2016-05-18T11:42:08.110 回答
0

此处: Alfresco 登录重置回购 AMP https://github.com/teqnology/alfresco-login-reset-repo

您将找到有关如何添加自定义电子邮件模板的源代码示例。更具体地说,电子邮件模板位于名为 alfresco-email-template-bootstrap.acp的文件中

最后,这里是文件service-context.xml,其中包含有关如何导入自定义 acp 的此类引导文件的信息(其中包含自定义电子邮件模板)。' 希望这可以帮助。干杯。

长话短说,您应该在您的 Maven 项目中进行此设置:

  • 您的电子邮件模板打包为 acp(您可以使用旧的 Alfrecso Explorer 界面导出您的 ftl 模板):src/main/amp/config/alfresco/bootstrap/emailtemplate.acp
  • service-context.xml在此处声明所述 acp 文件的引导导入的文件:src/main/amp/config/alfresco/module/<yourmoduleid>/context/service-context.xml

从那里您可以通过 Alfresco JS API 自由使用它,例如:

  var mailTemplates = search.xpathSearch("/app:company_home/app:dictionary/app:email_templates/cm:custom-email-template/cm:youremailtemplate.ftl");
 if(mailTemplates.length > 0){
   mail.parameters.template = mailTemplates[0];
 }else{
    mail.parameters.text = "Rollback to plain text if template is not found";
 }
于 2016-04-04T11:13:56.633 回答