cm:countable aspect 在露天如何工作?

Posted

技术标签:

【中文标题】cm:countable aspect 在露天如何工作?【英文标题】:How does cm:countable aspect works in alfresco? 【发布时间】:2016-12-10 13:42:16 【问题描述】:

我已添加:

        <mandatory-aspects>
            <aspect>cm:countable</aspect>
        </mandatory-aspects>

要列出定义,所以每个项目都应该有“增量”字段。但是当创建列表项时没有发生任何事情。我检查了以下代码:

    nodeService.getAspects(nodeRef) 返回项目的所有定义方面,cm:countable 显示在此列表中。 nodeService.getProperty(nodeRef, QName.createQName("http://www.alfresco.org/model/content/1.0", "countable")) 返回 null。 nodeService.getProperties(nodeRef) 返回所有属性,但不存在 countable 键。

我在 alfresco 资源中进行了搜索,发现 CounterIncrementActionExecuter 扩展了 ActionExecuterAbstractBase 并定义了 executeImpl,但是:

    executeImpl 在创建新列表项时不会被调用。 ActionExecuterAbstractBase#isApplicableType 也没有被调用。 ActionExecuterAbstractBase#isApplicableType“查看”applicableTypes 变量,该变量在CounterIncrementActionExecuter 中明确填充。因此,尚不清楚应该如何填充以及何时填充。

所以问题是 - cm:countable aspect 在户外实际上是如何工作的?

UDPATE

正如我所见,计数器在 java 代码中递增。那么将它与一个数据库和多个连接到 db 的 alfresco 实例一起使用是否安全?

【问题讨论】:

看看这对你有没有帮助.. ***.com/questions/38843229/… 源代码看起来像CounterIncrementActionExecuter。我认为最好使用内置功能。 【参考方案1】:

Alfresco 管理员通常使用此方面。当节点被服务命中时,它会自动增加一个数字(整数)属性的值。这通常仅由 Alfresco 管理员使用

cm:countable aspect 具有名为 cm:counter 的属性,用于跟踪当前计数。

所以,你获取属性的代码应该是。

nodeService.getProperty(nodeRef, QName.createQName("http://www.alfresco.org/model/content/1.0", "counter"))

现在它基于与该方面相关的策略工作。因此,每当调用节点时,计数器就会增加。

【讨论】:

以上是关于cm:countable aspect 在露天如何工作?的主要内容,如果未能解决你的问题,请参考以下文章

如何在露天改变电子邮件的“回复”属性

如何将露天用户与 AD 同步

露天如何通过javascript获取类别名称

在一个露天项目中将 live-search-docs 配置文件放在哪里?

2022百度世界大会收官 希壤元宇宙露天巨幕&定制会场首秀

如何在Aspect的注解参数中获取方法并获取方法执行的结果