Автоматическое предотвращение wiki-rot в Trac?

#python #wiki #trac #code-documentation

#python #Вики #trac #код-документация

Вопрос:

Привет, ребята: Есть ли способ улучшить качество trac wiki с помощью плагина, который обрабатывает артефакты, например, для устаревших страниц или страниц, которые ссылаются на код, который больше не существует, страницы, на которые нет ссылок, или страницы с низкой частотой обновления? Я думаю, что может быть несколько эвристик, которые можно было бы использовать для предотвращения wiki-rot :

  • Количество последних правок
  • Количество последних просмотров
  • Ссылается ли страница на исходный файл или нет
  • Является ли последнее обновление вики-страницы < или> исходными файлами, на которые она ссылается
  • Были ли использованы / отредактированы / проигнорированы целые каталоги в вики за последние «n» дней

и т. Д. и т. Д. И т. Д.

Если ничего другого, только эти показатели были бы полезны для каждой страницы и каждого каталога с административной точки зрения.

Ответ №1:

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

Вы можете использовать команду командной строки trac-admin, чтобы получить список вики-страниц и выгрузить содержимое конкретной вики-страницы (в виде обычного текста) в файл или стандартный вывод. Используя это, вы можете написать скрипт, который считывает все страницы wiki, анализирует содержимое на наличие ссылок и генерирует график, на какие страницы ссылаются. на что. Это должно точно определять «сирот» (страницы, на которые нет ссылок), страницы, которые ссылаются на исходные файлы, и страницы, которые ссылаются на внешние ресурсы. Запуск внешних ссылок через что-то вроде wget может помочь вам определить неработающие ссылки.

Чтобы получить доступ к последним отредактированным датам, вам нужно запросить базу данных Trac. Запрос, который вам понадобится, будет зависеть от конкретного типа базы данных, который вы используете. Для (относительно) безопасной и простой работы с базой данных я нахожу плагины WikiTableMacro и TracSql весьма полезными.

Самая сложная функция в вашем вопросе для реализации — это функция, касающаяся просмотров страниц. Я не думаю, что Trac отслеживает просмотры страниц, вам, вероятно, придется проанализировать журнал вашего веб-сервера для получения такой информации.

Ответ №2:

Как насчет этих:

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

VisitCounterMacro: макрос отображает, сколько раз отображалась страница wiki. Это довольно старый. Вы получите только статистику по странице, пока отсутствует административное представление, но это можно было бы создать довольно легко, например, как пользовательский индекс страницы.