AEM资源缺少sling:resourceType

时间:2017-09-14 16:22:34

标签: aem sling

我的内容存储库在2年的时间内积累了许多过时的组件资源。组件节点缺少sling:resourceType属性。这些组件节点如下所示:

missing sling:resourceType

由于资源非常糟糕,页面会抛出异常:

14.09.2017 12:33:21.079 *ERROR* [172.21.142.98 [1505392399461] GET /content/xx/en_ca/home.html HTTP/1.1] 
org.apache.sling.servlets.get.impl.DefaultGetServlet No renderer for extension html, cannot render resource Paragraph, 
path=/content/xx/en_ca/home/jcr:content/par-sidebar/contentbox_c540/rightRailContentPar/contentbox_f1fd, 
type=nt:unstructured, cssClass=default, column=0/0, diffInfo=[null], 
resource=[JcrNodeResource, type=nt:unstructured, superType=null, 
path=/content/xx/en_ca/home/jcr:content/par-sidebar/contentbox_c540/rightRailContentPar/contentbox_f1fd]

进一步挖掘我发现有人写了tool to cleanup这样过时的资源。

虽然很容易查询和清理这样的无效节点,但我的问题是这些资源是如何最终存储在存储库中的?我尝试通过移动组件来模拟,从页面中删除组件但是徒劳无功。没有自定义脚本删除sling:resourceType。这个问题只面对我吗?或者是否存在可以清除资源类型的产品问题/用例?

我正在运行AEM 6.0 SP2。

1 个答案:

答案 0 :(得分:0)

似乎这是一个已知的产品错误,需要为将来的AEM修复。这是我从日托票上得到的回复:

有几个与吊索有关的已知问题:AEM 6.0 SP2及更高版本中的resourceType,但是在复制和粘贴组件时会出现最接近您提到的场景的那个。

删除/中断sling:resourceType属性。此问题包含在内部标识-CQ-4212306中,其修复程序将成为AEM未来版本的一部分。