Jackrabbit 如何生成 jcr:uuid(在 AEM 中)?
How does Jackrabbit generate jcr:uuid (in AEM)?
我正在尝试在所有 cq:PageContent 节点上创建一个自动生成的 GUID 属性。这将类似于 jcr:uuid 属性,但会随着内容 promotion/replication/package 安装而持续存在(而内容项的 jcr:uuid 在不同环境之间会发生变化)。
我正在尝试确定 AEM/JCR 如何在节点创建时生成 jcr:uuid 属性。定义 属性 的 CND 是:
[mix:referenceable]
mixin
- jcr:uuid (string) mandatory autocreated protected initialize
我尝试在类似的庄园中定义我的 GUID 属性,指定 autocreated
和 initialize
属性,但这并没有导致自动生成 属性.
谁能指出 jcr:uuid 一代的来源?
顺便说一句,我在 Adobe 社区论坛上问了一个相关问题:http://help-forums.adobe.com/content/adobeforums/en/experience-manager-forum/adobe-experience-manager.topic.5_ciot.html/forum__bnxr-i_am_tryingtocreat.html
你没有提到是哪个版本的 AEM(所以无论你是在处理 Jackrabbit 还是 Oak),但结果证明机制基本相同。
分配默认值时,有一些硬编码系统 属性 名称会得到特殊处理(jcr:uuid 就是其中之一)。如果 属性 的名称被分配了默认值 不 匹配任何特殊情况,它会回退 [=25= 的静态默认值列表] 定义(例如在 CND 文件中列出)。
总而言之,您似乎无法借助此机制为任意 属性 分配您自己的动态默认值。您需要实现自己的事件侦听器或其他东西。
Jackrabbit:参见 setDefaultValues and computeSystemGeneratedPropertyValues
的实现
Oak:参见 TreeUtil 的实现 autoCreateProperty
我正在尝试在所有 cq:PageContent 节点上创建一个自动生成的 GUID 属性。这将类似于 jcr:uuid 属性,但会随着内容 promotion/replication/package 安装而持续存在(而内容项的 jcr:uuid 在不同环境之间会发生变化)。
我正在尝试确定 AEM/JCR 如何在节点创建时生成 jcr:uuid 属性。定义 属性 的 CND 是:
[mix:referenceable]
mixin
- jcr:uuid (string) mandatory autocreated protected initialize
我尝试在类似的庄园中定义我的 GUID 属性,指定 autocreated
和 initialize
属性,但这并没有导致自动生成 属性.
谁能指出 jcr:uuid 一代的来源?
顺便说一句,我在 Adobe 社区论坛上问了一个相关问题:http://help-forums.adobe.com/content/adobeforums/en/experience-manager-forum/adobe-experience-manager.topic.5_ciot.html/forum__bnxr-i_am_tryingtocreat.html
你没有提到是哪个版本的 AEM(所以无论你是在处理 Jackrabbit 还是 Oak),但结果证明机制基本相同。
分配默认值时,有一些硬编码系统 属性 名称会得到特殊处理(jcr:uuid 就是其中之一)。如果 属性 的名称被分配了默认值 不 匹配任何特殊情况,它会回退 [=25= 的静态默认值列表] 定义(例如在 CND 文件中列出)。
总而言之,您似乎无法借助此机制为任意 属性 分配您自己的动态默认值。您需要实现自己的事件侦听器或其他东西。
Jackrabbit:参见 setDefaultValues and computeSystemGeneratedPropertyValues
的实现Oak:参见 TreeUtil 的实现 autoCreateProperty