alfresco - 露天评估员,是否可以使用 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 配置来获得唯一的结果。
谢谢
解决方案
你看过chainedMatchOne 和chainedMatchAll 评估器吗?chainedMatchAll 会将您的所有评估者与所有评估者放在一起,而 chainedMatchOne 将他们或他们。这是开箱即用评估器的文档:https ://docs.alfresco.com/5.2/concepts/doclib-predefined-evaluators-reference.html
您可以使用 grep 获取 ChainedMatchOne 示例的源代码,以了解它是如何工作的。基本上,您只需在 XML 中定义一个新的评估器,将 ChainedMatchOne 指定为其父级,然后您将列出您希望成为评估一部分的评估器。
推荐阅读
- flutter - 在初始化器中只能访问静态 memebrs
- asp.net-core-mvc - 如何使用 asp.net mvc 核心在 DataContext 类中正确配置 IdentityUserRole
- python - 如何使用 numpy 访问矩阵的相邻元素?
- javascript - 如何滚动以使特定元素位于 div 可见区域的中间?
- python - 来自 Arduino 的数据不会出现在树形视图 tkinter 窗口中(Python 3.7)
- mysql - 连接多个表,然后根据 CASE 条件将其中一个表中的数据显示为单独的列
- python-3.x - 使用python 3将文件从ftp检索到特定的os目录
- python - AttributeError:“str”对象没有属性“findAll”,使用 BeautifulSoup 从 Youtube 抓取数据时没有输出
- jquery - 什么是 data-cid 和 data-cdata?
- php - 如何避免使菜单激活的变量未定义?