首页 > 解决方案 > 露天评估员,是否可以使用 OR 条件进行链接?

问题描述

我的问题很简单,是否可以将多个评估器与 OR 条件链接到一个操作?

例如,我想用一些评估器定义一个动作,但不是将它们链接在 AND 条件中,我希望如果 eval1 OR activeWorkflows 为真,最终结果将为真。

<action id="mark-as-custom" type="javascript" label="actions.mark-as-custom" icon="custom">
    <param name="function">onActionFormDialog</param>
    <param name="itemKind">action</param>
    <param name="itemId">markDocumentAsCustom</param>
    <param name="destination">{node.nodeRef}</param>
    <param name="mode">create</param>
    <param name="successMessage">actions.mark-as-custom.success</param>
    <param name="failureMessage">actions.mark-as-custom.failure</param>
    <permissions>
        <permission allow="true">Write</permission>
    </permissions>
    <evaluator>evaluator.doclib.action.IsMySite</evaluator>
    <evaluator negate="true">evaluator.doclib.document.eval1</evaluator>
    <evaluator negate="true">evaluator.doclib.indicator.activeWorkflows</evaluator>
    <evaluator negate="true">evaluator.doclib.action.isLocked</evaluator>
</action>

我知道我可以编写一个新的 java 评估器,它可以将单个结果与任何想要的条件结合起来,但我想知道是否有一种方法可以通过 xml 配置来获得唯一的结果。

谢谢

标签: alfrescoalfresco-shareevaluator

解决方案


你看过chainedMatchOne 和chainedMatchAll 评估器吗?chainedMatchAll 会将您的所有评估者与所有评估者放在一起,而 chainedMatchOne 将他们或他们。这是开箱即用评估器的文档:https ://docs.alfresco.com/5.2/concepts/doclib-predefined-evaluators-reference.html

您可以使用 grep 获取 ChainedMatchOne 示例的源代码,以了解它是如何工作的。基本上,您只需在 XML 中定义一个新的评估器,将 ChainedMatchOne 指定为其父级,然后您将列出您希望成为评估一部分的评估器。


推荐阅读