2014-10-03 4 views
0

Мы столкнулись с проблемой после установки SP2.1 на CQ5.5, которая обновляет ссылки для всех страниц под страница, которая была переименована с помощью консоли веб-сайтов CQ5. Проблема описана здесь:Найти неработающие ссылки (внутренние) для всех авторских ссылок (компоненты input & straight html) в Adobe CQ5.5 SP 2.1

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

исправление устраняет будущие изменения названия страниц и обновляет ссылки на всех остальных страницах, являются ли автором ссылки в HTML непосредственно или через вход виджеты, такие как «pathfields».

Однако мы обнаружили эту ошибку довольно поздно, и было сделано много переименований страниц, что привело к поломке ссылок на существующих страницах, где мы использовали компонент pathfield в диалоговых окнах, чтобы авторы ссылались на другие страницы. Я хотел бы написать некоторый пользовательский код с помощью LinkChecker api в пакете com.day.cq.rewriter.linkchecker. Я не могу найти какой-либо пример кода, который CQ5 фактически использует для выполнения «справочных обновлений» на переименованиях страниц, чтобы служить отправной точкой.

Мне нужны входные данные, основанные на вашем опыте, является ли Linkchecker API лучшим путем или есть какой-либо другой API для проверки всех авторских ссылок и создания отчета о том, какие ссылки/пути имеют неверные ссылки.

Помогите оценить.

Я проверил: 1. инструмент проверки внешней ссылки, который сообщает о неработающих ссылках, но только если ссылка связана с каким-либо другим внешним доменом, поэтому в нашем случае это не полезно.

ответ

1

Linkchecker является переписывающим устройством Sling. Переписывающие устройства строго связаны с запросом. Они работают с кодом HTML, сгенерированным CQ, прежде чем он будет возвращен клиенту. Если я правильно понимаю, вы хотите найти нарушенные внутренние ссылки на всем сайте, и Linkchecker здесь не будет очень полезен.

Рассмотрите возможность использования для ползания по /content/your_site, ища строки, начинающиеся с /content. Затем используйте resourceResolver, чтобы проверить, существует ли найденный путь. Пример скрипта, реализующего этот алгоритм, можно найти here.

+0

Я попытался установить консоль с отличным концом, как указано в вашей ссылке, но я столкнулся с проблемами зависимостей, http://nexus.citytech.ctmsp.com/content/groups/public/com/citytechinc/aem/groovy/ extension/aem-groovy-extension-bundle /, кажется, имеет только версию 0.8.2, тогда как спецификации POM 0.9.0-SNAPSHOT. обновление до 0.8.2/0.8.0-SNAPSHOT не разрешило зависимость. Кроме того, прочитанное мной указывает, что для CQ5.5 вам нужно использовать версию 3.xxx, где я могу ее загрузить? ... - значительно! – vreddy

+0

Загрузите выпущенные [3.1.0] (https://github.com/Citytechinc/cq-groovy-console/archive/3.1.0.zip) источники из [Released] (https://github.com/Citytechinc/ cq-groovy-console/релизы) на Github. –

+0

Я установил 3.1.0 на CQ5.5, когда я просматриваю localhost: 4502/etc/groovyconsole.html Я вижу область ввода сценария, но я не вижу области вывода, это ошибка в 3.1.0 или должна Я просматриваю файлы журнала для вывода? ..... я новичок в Groovy, извините, если мой запрос является основополагающим :) – vreddy