我们如何处理CQ5内置网站的重大变更/修改?

时间:2014-07-14 09:31:22

标签: cq5 aem

我已经建立了一个"网站/ Web应用程序"在CQ5。它在/ apps下的结构是 / apps / videojet / components,/ apps / videojet / templates等。简而言之,一切都在/ apps / videojet / *

现在我的老板告诉我将videojet文件夹重命名为hiresite = apps / hiresite / *

但如果我这样做,我认为我的任何模板都不会指向组件。由于模板仍将指向/ apps / videojet /*.

现在我必须将/ cq:template下的所有页面更改为/ apps / videojet / templates / xxx至/ apps / hiresite / templates / xxx。

我也在我的Sling Serlvets中执行request.getDispatcher()并调度到pages / content / videojet / xxx。

即使在/ content下,它也将是/ content / hiresite / xxxx。

如何执行此类任务?

我不认为我可以像Eclipse那样折射吗?需要帮助我有太多的页面,组件和页面。 我必须手动完成吗?

1 个答案:

答案 0 :(得分:3)

Groovy console似乎是完美的工具。您可以轻松编写一个迭代/content的简单脚本,并将属性值从/apps/videojet更改为/apps/hiresite。您也可以使用this one。将脚本粘贴到Groovy控制台窗口,最后添加以下行:

updateContent("/content", "/apps/videojet", "/apps/hiresite")

第一个参数是根路径,第二个是搜索主题,第三个是替换字符串。

默认情况下,脚本将替换所有属性中的主题。您可以通过第四个参数覆盖此行为 - 它应该是要检查的属性列表:

updateContent("/content", "/apps/videojet", "/apps/hiresite",
    ["sling:resourceType", "sling:resourceSuperType"])