【关于AEM】
Adobe Experience Manager (AEM)
一个将 Content Management System (CMS)与 Digital Asset Management (DAM)的强大功能相结合的企业级应用
【正文】
今天这篇文章,主要来讲一下在 AEM6.3 版本升级到 AEM6.4 的时候
在Live Copy方面需要注意的事项
应该有不少人在 AEM6.3 升级到 AEM6.4 之后会发现
之前创建的一些Live Copy节点都不好用了,所有的Rollout Config都失效了
无论是Push on modify 还是 Activate on Blueprint activation 等等设置
全都 Not Work
这时候 作为IT人员的你,或者是作为Architect的你 就会创建一个新的Live Copy Test Demo来找问题
这时候你就会惊喜的发现,新创建的Live Copy,所有功能一切正常
接下来,就让我们分别在AEM6.3和 AEM6.4里面创建Live Copy,来找寻其中的问题
首先,我分别在 4502端口 启动一个AEM6.4 和 4506端口 启动一个AEM6.3
(Runmode 记得用有 sample content的)
那我们就用 we-retial 这个sample site 我分别在AEM6.3 和 AEM6.4 创建Live Copy
创建完之后 让我们分别进度CRXDE 在/content 下找到这两个节点,看看两者有何不同
由上方两张图我们不难发现,两个Live Copy 节点下的 ../jcr:content/cq:LiveSyncConfig 节点存在不同
这两者的 cq:rolloutConfigs 属性不同
AEM6.3里创建的 lc63 节点下的 cq:rolloutConfigs 属性为:/etc/msm/rolloutconfigs/pushonmodify
AEM6.4里创建的 lc64 节点下的 cq:rolloutConfigs 属性为:/libs/msm/wcm/rolloutconfigs/pushonmodify
那到这里,我们就可以得出一个结论:
在AEM6.4里,处理Live Copy一系列逻辑的节点路径相较于AEM6.3发生了变化,导致了这一系列的问题
【总结】
最后我们梳理一下整个事件
在我们升级AEM6.3 到 AEM6.4里的时候,我们在升级之前创建的所有LIve Copy节点的 cq:rolloutConfigs 属性 还依旧是 /etc/msm/rolloutconfigs/pushonmodify
而最新的 AEM6.4 的Live Copy 的 cq:rolloutConfigs 属性已经变为了 /libs/msm/wcm/rolloutconfigs/pushonmodify
所以在升级之后,旧的Live Copy节点,依旧按照旧的 cq:rolloutConfigs 属性去处理Live Copy节点的一系列监听和操作,就会发现那个属性对应的路径已经不存在了,所以一系列的监听和操作就全都失效了
然后当你创建一个新的Live Copy节点的时候,cq:rolloutConfigs 属性是用的AEM6.4的新路径,所以新的Live Copy节点,又是可用的
所以这个现象和我们的结论,是完全吻合的
所以在我们从AEM6.3 升级到 AEM6.4 之后,要记得手工排查一下,SItes下已创建的Live Copy
手动将这些旧的Live Copy节点的 cq:rolloutConfigs 属性
从 /etc/msm/rolloutconfigs/pushonmodify 改为 /libs/msm/wcm/rolloutconfigs/pushonmodify
这样,就可以让这些不生效的Live Copy,重新生效了
【写在最后】
今天时间有限,就暂时只用AEM6.3和AEM6.4两个版本做了横向对比
其实我当时遇到这个问题的时候,是直接从AEM6.2升级到AEM6.4 出现的
如果以后有时间,我再把AEM6.1,6.2,6.3,6.4,6.5作一个横向对比
看看是不是6.1,6.2,6.3是一样的,6.4,6.5是一样的