Alfresco分享:如何使用evaluateator =“aspect”来检查(父)方面

时间:2013-12-27 13:58:58

标签: alfresco evaluation alfresco-share evaluator

我有一个方面是另外两个方面的主要方面。

<aspect name="my:parentAspect">
</aspect> 

<aspect name="my:subAspect1">
    <parent>my:parentAspect</parent>
</aspect>

<aspect name="my:subAspect2">
    <parent>my:parentAspect</parent>
</aspect>

现在我想在我的share-config-custom中使用“aspect”-evaluator来应用一些自定义,如果一个节点直接具有方面“my:parentAspect”,或者节点有一个已经继承的方面来自“my:parentAspect”,将其作为父母

<config evaluator="aspect" condition="my:subAspect1">...</config>
<config evaluator="aspect" condition="my:subAspect2">...</config>

有效,但我更愿意使用

<config evaluator="aspect" condition="my:parentAspect">...</config>

因为每个subAspect的配置实际上都是相同的 但是,这不适用于没有my:parentAspect直接连接的节点,只继承该方面。

检查某个方面的最佳做法是什么,无论它是直接应用还是继承在层次结构的某个位置?

1 个答案:

答案 0 :(得分:3)

关于你自己的意见:不要混合形式配置和doclib configs!

org.alfresco.web.config.forms.AspectEvaluator是表单配置的评估器,如

<config evaluator="aspect" condition="my:parentAspect">...</config>

org.alfresco.web.evaluator.HasAspectEvaluator.java用于

中与方面相关的评估者
<config evaluator="string-compare" condition="DocumentLibrary">

e.g。用于指标,元数据模板等 所以,org.alfresco.web.config.forms.AspectEvaluator就在这里。它是org.alfresco.web.config.forms.NodeMetadataBasedEvaluator的子类,它使用api / metadata Webscript来获取给定节点的元数据:

/api/metadata?nodeRef=" + nodeString + "&shortQNames=true"

此webscript使用org.alfresco.repo.jscript.ScriptNode.toJson(),它只包含直接附加的方面。这可能是您自定义Evalutor的起点。