我有一个方面是另外两个方面的主要方面。
<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直接连接的节点,只继承该方面。
检查某个方面的最佳做法是什么,无论它是直接应用还是继承在层次结构的某个位置?
答案 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的起点。