——————————目录大纲——————————
一、提要
1、背景
AEM中存在部分不会再去使用的历史遗留页面Template,需要从系统中逐渐进行移除。
2、Template构成
Template基础信息和组成等相关的信息可参考文章:3、模板,以下只会对基于清理模板的角度,归纳涉及需要处理的内容。
目前已知涉及的内容:
| 名称 | 说明 |
|---|---|
| page | 模板关联的页面 |
| policy | 模板自身配置的策略 |
| structure | 模板自身的结构 |
3、关联的页面
想要知道模板关联的页面,可以通过Tools - ACS AEM Commons - Reports - Page Report

查询报表的形式进行,如下图所示:

参考JIRA:
EAGLE-12710
-
Getting issue details...
STATUS
二、说明
以下将会通过几个方面针对执行了template清理后,面对的一些情况进行汇总。
注意:删除模板必须得从code level进行,如果在crx中进行移除(只有DEV、QA环境能够进行该操作),下次部署依旧会存在。
1、有影响
以下将是截止目前在主流程中,进行template清理后,直接会造成的影响,如果没有列出来则一律认为暂时无影响。
1.1 页面Editor时,将没有Edit in Template功能
删除模板前:

删除模板后:

1.2 被清理的模板在Editor中展示空白
删除前:

删除后:

1.3 Template下的页面无法再添加组件
清理前:

清理后:

组件列表中展示的内容,将随模板删除后不再展示。
1.4 被清理的Template将无法在【Template列表】中找到
清理前:

清理后:

1.5 创建页面时,将无法找到已清理模板
清理前:

清理后:

1.6 模板中原有的组件或者结构将会消失
清理前:

清理后:

原有模板中的内容将会消失不见。
注意:如果是把模板的allowedPaths移除,那么这里也是会不见的。
2、无影响
以下是主要流程中不会受到template被移除后的部分,如果未曾在上面中提到的场景,那么也默认属于无影响的部分。
2.1 已经拖入的组件不会被影响
在template移除前,根据template上的policy拖入的组件,在template清理后,不受影响,依然保留在页面上。

三、总结
1、保险措施
如果出于保险的考虑,可以先将需要清理的Template整理后,先将allowedPaths属性进行移除:

这样实际内容在代码层级还是存在,但是在AEM后台将看不到该模板,和模板被删除基本上效果一致,同时如果后续需要恢复,可以及时将allowedPaths属性加回来,还原模板。
弊端:在模板列表中,还是能够看到当前模板的,但是在创建页面的时候,是看不到当前模板的。
下一篇
Virtusa速记