Найти неработающие ссылки (внутренние) для всех созданных ссылок (ввод компонентов и прямой HTML) в Adobe CQ5.5 SP 2.1

После установки SP2.1 на CQ5.5 мы столкнулись с проблемой, которая приводит к обновлению ссылок для всех страниц на странице, которая была переименована с помощью консоли "вебсайты" CQ5. Проблема описана здесь:

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

Это исправление исправляет будущие изменения имени страницы и обновляет ссылки на всех других страницах, независимо от того, созданы ли ссылки как html напрямую или через виджеты ввода, такие как "pathfields".

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

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

Помощь приветствуется.

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

1 ответ

Решение

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

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

Другие вопросы по тегам