2013-06-04 53 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上一個還沒有)。 –