2014-10-03 31 views
0

在CQ5.5上安裝SP2.1後,我們遇到了一個問題,該問題在已使用CQ5的「網站」控制檯重命名的頁面。這裏描述的問題:查找Adobe CQ5.5 SP 2.1中的所有創作鏈接(組件輸入和直線html)的斷鏈(內部)

http://blogs.adobe.com/dmcmahon/2012/12/13/cq5-5-sp2-1-linksreferences-are-not-updated-following-moverename/

的修補程序解決未來的頁面名稱的變化,並更新所有其它頁面引用,鏈接是否編寫爲HTML直接或通過輸入部件,如「pathfields」。

但是,我們發現這個bug很晚,並且已經有很多頁面重命名完成,導致現有頁面上的鏈接斷開,我們在對話框中使用pathfield組件來引用其他頁面。我想使用com.day.cq.rewriter.linkchecker包下的LinkChecker api編寫一些自定義代碼。我無法找到CQ5實際用於執行頁面重命名中的「參考更新」的任何示例代碼,以此作爲起點。

我需要根據您的經驗進行輸入,不管Linkchecker API是否是最好的前進方向,或者是否有其他API用於檢查所有創作的鏈接並生成關於哪些鏈接/路徑域已斷開鏈接的報告。

幫助讚賞。

我檢查了: 1.外部鏈接檢查器工具,它報告斷開的鏈接,但只有當鏈接到一些其他外部域時,對我們的情況沒有用處。

回答

1

Linkchecker是一個Sling重寫器。重寫器與請求嚴格相關。它們在CQ返回給客戶端之前對CQ生成的HTML代碼進行操作。如果我理解正確的話,你想在整個網站中查找內部鏈接,而Linkchecker在這裏不會很有用。

考慮使用Groovy console爬過的/content/your_site尋找開始/content字符串。然後使用resourceResolver來檢查找到的路徑是否存在。使用這種算法的示例腳本可以在here找到。

+0

我已經嘗試安裝groovy控制檯在您的鏈接中提到,但我遇到了依賴性問題,http://nexus.citytech.ctmsp.com/content/groups/public/com/citytechinc/aem/groovy/擴展/ aem-groovy-extension-bundle /似乎只有0.8.2版本,而POM規範0.9.0-SNAPSHOT。更新到0.8.2/0.8.0-SNAPSHOT沒有解決依賴關係。另外閱讀我指出,對於CQ5.5,您需要使用3.xxx版本,我可以從哪裏下載?... - 非常感謝! – vreddy 2014-10-06 15:25:13

+0

下載發佈[3.1.0](https://github.com/Citytechinc/cq-groovy-console/archive/3.1.0.zip)來自[Released](https://github.com/Citytechinc/) cq-groovy-console/releases)在Github上的頁面。 – 2014-10-06 19:10:51

+0

我在CQ5.5上安裝了3.1.0,當我瀏覽到localhost時:4502/etc/groovyconsole.html我看到一個腳本輸入區域,但是我沒有看到輸出區域,這是3.1.0中的一個錯誤還是應該我在輸出的日誌文件中查找? .....是Groovy的新手,對不起,如果我的查詢是基礎:) – vreddy 2014-10-07 15:54:01