我是CQ的新手,如何在Day(adobe)CQ5.4中创建新的自定义节点类型,如mycmpny:testNode
答案 0 :(得分:3)
您可以从工作区获得NodeTypeManager,如下所示:
NodeTypeManager manager = session.getWorkspace().getNodeTypeManager();
manager.registerNodeTypes(myNewNodeType, true);
当天网站上有custom node types和administration的其他信息。
但是,您可能最好避免使用模式,并在必要时稍后添加。看看Michael Marth的Structured or unstructured? In JCR you do not have to choose是另一种看法。这是echoed by JCR spec lead David Nuescheler。
答案 1 :(得分:1)
如果你看看哪种节点类型可以为你做,基本上有三件事:
第三点可能是引入自定义节点类型的最重要原因。如果您不想观察存储库某个部分的所有更改,那么节点类型可提供有效的过滤器。 (这是从Adobe CQ5产品经理Lars Trieloff的帖子中捕获的)
这几乎是使用自定义节点类型的唯一原因。我在一些场景中只使用了自定义节点类型,而且大多数情况下它与索引和复杂的jcr查询有关。从你的问题的声音,听起来你没有做这些。我建议使用out of box节点类型。
要创建新节点类型,请创建一个名为nodetypes的文件夹,并在其中放置包含以下内容的example.cnd文件
<'example'='http://www.somedomain.com/example'>
[example:Audit]
- * (undefined)
它还应该有一个.content.xml
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
xmlns:rep="internal" jcr:mixinTypes="[rep:AccessControllable]"
jcr:primaryType="nt:folder" />