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

lym*_*yma 4 aem

有没有人能够成功使用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

小智 6

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

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

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

<?xml version="1.0" encoding="UTF-8"?>
<workspaceFilter version="1.0">
    <filter root="/apps/myproject/new_directory"/>
</workspaceFilter>
Run Code Online (Sandbox Code Playgroud)

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