2013-06-04 52 views
3

是否有人已经能够成功地使用替换依赖过滤器在CQ5包管理器卸载/删除旧的代码? http://dev.day.com/docs/en/crx/current/how_to/package_manager.html如何定义在CQ5中卸载旧代码的软件包?

我最近改组我的目录,我试图找到一个简单的方法来卸载旧的分支。

换句话说,我目前的工作:

/应用/ myproject的/ old_directory

,但要过渡到:

/应用/ myproject的/ new_directory

就像我说,我试着设置替换依赖过滤器与旧的包名称。它似乎工作,因为它说“替换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> 

安装这种包湿巾指定的路径(S)下的内容。此操作无法撤消。这在所有的CQ5版本上都一致。

+0

很好,谢谢。 Replace过滤器做了什么? – lyma

+0

我相信包对话框选项卡仅用于文档目的。使用了前所未有的“替换依赖”,但试过这是从来没有核对过,至少一些CQ版本“上取决于”(没有测试5.6上一个还没有)。 –