如何定义在CQ5中卸载旧代码的软件包?

时间:2013-06-04 23:38:46

标签: cq5

有没有人能够成功使用CQ5 Package Manager中的Replace依赖过滤器来卸载/删除旧代码? http://dev.day.com/docs/en/crx/current/how_to/package_manager.html

我最近重新构建了我的目录,并且我正在尝试找到一种简单的方法来卸载旧分支。

换句话说,我目前正在使用:

/应用/ myproject的/ old_directory

但想过渡到:

/应用/ myproject的/ new_directory

就像我说的那样,我尝试使用旧包名设置Replace Dependency Filter。它似乎正在工作,因为它说“替换my_packages:oldPackage:1”这是一个有效的链接。但是,运行安装对预先存在的代码库没有任何作用。

我意识到我可以手动卸载原始软件包,但这会被添加到软件包共享中,所以我想确保任何当前用户都可以安装升级而不必担心未使用的代码。

我目前正在使用CQ 5.4

1 个答案:

答案 0 :(得分:6)

要使用CQ5包删除内容分支,您需要一个包:

  • 指向要删除的内容分支的过滤器定义
  • 没有该分支中的任何内容

换句话说,您可以创建一个空包,其中过滤器定义指向要删除的区域。您可以在空实例上执行此操作,也可以手动将filter.xml条目编辑为:

<?xml version="1.0" encoding="UTF-8"?>
<workspaceFilter version="1.0">
    <filter root="/apps/myproject/new_directory"/>
</workspaceFilter>

在指定的路径下安装此类程序包擦除内容。此操作无法撤消。这适用于所有CQ5版本。