如何在Liferay的Kaleo工作流程中的单一approver-definition.xml中获取页面URL?

时间:2015-04-30 13:40:11

标签: java liferay workflow

如果审阅者批准或拒绝提交,我如何在电子邮件模板中的single-approver-definition.xml中获取用于向内容创建者发送电子邮件的页面URL。现有的xml如下:

<template>
    Your submission has been reviewed and the reviewer has applied the following: 
    ${taskComments}.
</template>

我试过了${serviceContext.getAttribute("contentURL")}但它没有用。

我希望能够做到 - Your submission for ${pageURL} has been reviewed and the reviewier has applied the following: \n ${taskComments}.\n

任何建议都将受到赞赏。

2 个答案:

答案 0 :(得分:1)

我不知道您要在通知中准确处理哪个变量。我只能假设,您将它用于Web内容,所有有趣的变量都存储在两个地方。

  1. 工作流程上下文变量 - 它们可直接使用。很少有例子:

      
        
    • $ {taskComments}
    •   
    • $ {entryType}
    •   
    • $ {用户id}
    •   
    • $ {用户名}
    •   
    • ...
    •   
  2. ServiceContext变量 - 使用$ serviceContext可以使用它们。几个例子:

      
        
    • $ serviceContext.getAttributes()得到(&#34;版本&#34)
    •   
    • $ serviceContext.getAttributes()得到(&#34;条款ArticleID&#34)
    •   
    • $ {serviceContext.getPortalURL()}
    •   
    • ...
    •   
  3. 对于所有有趣的变量,请检查此网址https://www.liferay.com/web/igor.beslic/blog/-/blogs/workflow-in-action-kaleo-workflow-context-variables有些可能已经更改,但是大部分都可以正常使用当前版本。

答案 1 :(得分:1)

内容更改可能在页面上进行,也可以通过控制面板(或API)触发。当您进入工作流程时,您通常不再拥有此背景 - 如果您发现某种情况我并不依赖它在那里。工作流与UI和页面无关。

此外,文章可能会在一个页面上提交,在它被批准之前可能会被替换/删除。在这种情况下,链接不会有帮助。

可能有用的是检查背后的概念&#34; Web内容显示页面&#34; (如果您的文章已经配置并且您处理Web内容)。但机制将根据您正在处理的实际内容类型而有所不同。通过工作流程的内容可能根本不会显示在任何页面上(例如,通过控制面板提交时)或许多不同的页面上(显式地 - Web内容显示 - 或隐式 - Asset Publisher)。

@tomic基本上提供了你所拥有的内容的指示,我只是在推理为什么你最初的问题最好解决的问题 - 它不是完全可以指定的。