Сводка новостей (система отслеживания проблем) - Roundup (issue tracker)

Округлять
Автор (ы) оригинала Ка-Пинг Йи
Разработчики) Ричард Джонс, Roundup Initiative
Первый выпуск 18 августа 2001 г . ; 19 лет назад ( 2001-08-18 )
Стабильный выпуск
2.1.0 / 13 июля 2021 г . ; 0 дней назад ( 2021-07-13 )
Репозиторий Отредактируйте это в Викиданных
Написано в Python
Операционная система Кроссплатформенность
Тип Система отслеживания проблем
Лицензия Лицензия MIT
Веб-сайт сводка-трекер .org

Раундап является открытым исходным кодом проблемы или ошибки системы слежения с участием командной строки, веб и электронной почтой интерфейса. Он написан на Python и имеет широкие возможности настройки. Roundup был разработан Ка-Пинг Йи для проекта Software Carpentry и разрабатывался в 2001-2016 годах под руководством Ричарда Джонса. С тех пор он был разработан сообществом Roundup. В настоящее время это средство отслеживания проблем для самого языка программирования Python. Однажды его описали как «как Bugzilla без шести лет обучения или RT без утомительного мусора MySQL ».

Функции

Стандартная конфигурация возможностей Roundup:

  • веб-интерфейс для просмотра, редактирования и поиска проблем
  • почты шлюз позволяет создавать и изменять вопросы
  • абстракции базы данных , в настоящее время поддерживает (среди других) Python «ы встроенный„anydbm“модуль, PostgreSQL , MySQL и SQLite
  • специальные "любопытные списки", используемые для уведомлений и бесед по электронной почте (каждая проблема фактически становится мини-списком рассылки)
  • система авторизации на основе ролей (пользователей), классов и объектов
  • интерактивная оболочка для задач резервного копирования и восстановления, а также для управления объектами

Roundup поддерживает несколько веб-интерфейсов. Его можно запускать автономно, как фоновый процесс демона , как сценарий CGI или как приложение WSGI .

Концепции

Roundup настраивается путем изменения содержимого каталога экземпляра трекера:

Схема базы данных

Схема базы данных определяется в файле Python в корневом каталоге экземпляра трекера; он перечитывается всякий раз, когда сервер запускается заново. Когда обнаруживаются изменения (например, новые атрибуты), соответственно изменяются таблицы базовой RDBS .

Шаблоны страниц

Roundup использует язык атрибутов шаблона (TAL) для создания вывода HTML или XHTML . Версия 1.5.0 добавляет экспериментальную поддержку альтернативных шаблонизаторов, таких как Jinja2 .

Шаблоны названы в честь классов в базе данных. Roundup автоматически выбирает шаблон на основе имени класса, запрошенного из URL. Некоторые шаблоны используются для нескольких классов, например _generic.index.html, что позволяет (авторизованным) пользователям изменять объекты всех классов, для которых отсутствует собственный шаблон индекса.

Когда «issue123» запрашивается, это обозначение расщепляется в выпуске класса и идентификатор «123». По умолчанию выбирается шаблон "item": сначала ищется файл шаблона issue.item.html; если его не удается найти, в качестве альтернативного варианта используется _generic.item.html. Если и этого не хватает, возникает ошибка.

Детекторы

Многие функции Roundup, включая некоторые стандартные функции, реализованы с помощью так называемых детекторов , которые расположены в подкаталоге «детекторы» экземпляра трекера. Это подпрограммы Python, которые имеют доступ к изменяемому объекту (если он уже создан) и изменению запрашиваемого атрибута.

Детекторы различают аудиторов и реакторов . Аудиторы используются в основном для нескольких автоматических изменений (в стандартной конфигурации назначенный пользователю автоматически добавляется в список любопытных проблем), а также для отказа от запрещенных изменений; После этого выполняются реакторы, которые используются, например, для функции уведомления по электронной почте, отправки уведомлений по электронной почте всем пользователям, заинтересованным в определенной проблеме, когда к ней добавляется комментарий.

Детекторы срабатывают всякий раз, когда одно из действий

  • Создайте
  • набор (изменение атрибутов)
  • выходить на пенсию
  • восстановить

запрашивается. Их можно использовать для создания тщательно продуманного пользовательского рабочего процесса.

Расширения

Подкаталог экземпляров «extension» может содержать дополнительные файлы, которые необходимы для расширенных функций, которые (удобно) не могут быть выполнены с помощью TAL ; возможны даже совершенно новые действия.

Модули Python, которые используются как детекторами, так и расширениями, можно поместить в подкаталог "lib".

Смотрите также

Рекомендации

Внешние ссылки