升级到AEM 6.5 SP23后,model.json中缺少allowedComponents
在Adobe Experience Manager中,升级到Service Pack 23后,allowedComponents元数据不再包含在发布实例上的model.json导出中。 出现此行为是因为AEM在导出期间处理组件策略的方式发生了变化。 本文解释了缺失allowedComponents的原因及其对依赖此元数据的集成的影响。
描述 description
环境
-
产品: Adobe Experience Manager (AEM)
-
版本:带有Service Pack 23的AEM 6.5
-
实例:发布
-
作者(SP21):
- 在WCM模式下可见
allowedComponents=编辑 ?wcmmode=disabled时可见
- 在WCM模式下可见
-
作者(SP23):
- 在WCM模式下可见
allowedComponents=编辑 ?wcmmode=disabled时不可见
- 在WCM模式下可见
问题/症状
-
升级到AEM 6.5 Service Pack 23 (SP23 ) 后,发布实例上的
allowedComponents输出中缺少model.json字段。 -
行为不同于以前的Service Pack(例如SP21),后者始终包含
allowedComponents。 -
影响所有包含公开
*.model.json的容器/布局组件的AEM JSON导出(allowedComponents)。 受影响的json模型:-
页面级导出,例如:
code language-none /content/your-site/en/home.model.json /content/your-site/en/landing-page.model.json -
容器级别的导出,例如:
code language-none /content/your-site/en/home/_jcr_content/root.model.json /content/your-site/en/home/_jcr_content/root/container.model.json /content/your-site/en/home/_jcr_content/root/responsivegrid.model.json
-
影响
-
发布实例上的任何
allowedComponents响应中不再存在model.json。 -
AEM发布不依赖此属性进行渲染;已解析并存储创作的内容。
-
此更改不会破坏现成渲染和页面交付。
-
在创作实例上:
- 在编辑模式下没有影响;
allowedComponents保持可见。 - 当
?wcmmode=disabled与投放视图对齐时移除。
- 在编辑模式下没有影响;
这是设计上的更改,不是错误。
解决方法 resolution
在AEM 6.5 SP23中,有意从发布端的allowedComponents响应中删除model.json字段。 这是预期行为,而不是错误。 依赖此字段的任何集成必须相应地更新。
注意:这是一个临时解决方法。
·克隆SP21发布者,连接到创作复制代理。
·通过此节点发布内容,然后为外部使用者调度程序缓存JSON。
·仅适用于短期缓解(缓存刷新会删除文件)。