Сводка новостей (система отслеживания проблем) - Roundup (issue tracker)
Оригинальный автор (ы) | Ка-Пинг Йи |
---|---|
Разработчики) | Ричард Джонс, Roundup Initiative |
изначальный выпуск | 18 августа 2001 г. |
Стабильный выпуск | 2.0.0[1] / 13 июля 2020 |
Репозиторий | |
Написано в | Python |
Операционная система | Кроссплатформенность |
Тип | Система отслеживания проблем |
Лицензия | Лицензия MIT[2] |
Интернет сайт | сводка новостей |
Округлять является Открытый исходный код выпуск или система отслеживания ошибок с помощью командной строки, Интернета и Эл. почта интерфейс. Это написано в Python и разработан так, чтобы его можно было легко настраивать.[3] Roundup был разработан Ка-Пинг Йи для проекта Software Carpentry и разрабатывался в 2001–2016 годах под руководством Ричарда Джонса. С тех пор он был разработан сообществом Roundup. В настоящее время это средство отслеживания проблем для самого языка программирования Python.[4] Когда-то это было описано как "как Bugzilla без шести лет обучения, или RT без этого утомительного MySQL мусор."[5]
Функции
Стандартная конфигурация возможностей Roundup:
- веб-интерфейс для просмотра, редактирования и поиска проблем
- а Почта шлюз, позволяющий создавать и изменять задачи[6]
- а уровень абстракции базы данных, в настоящее время поддерживает (среди прочего) Python встроенный модуль anydbm, PostgreSQL, MySQL и SQLite
- специальные "любопытные списки", используемые для уведомлений по электронной почте и беседы (каждая проблема фактически становится мини-списком рассылки) [7]
- система авторизации,[8] на основе ролей (пользователей), классов и объектов
- интерактивная оболочка для задач резервного копирования и восстановления, а также для управления объектами
Roundup поддерживает несколько веб-интерфейсов.[9] Его можно запускать автономно в качестве фона демон процесс, как CGI сценарий[10] или как WSGI применение.
Концепции
Roundup настраивается путем изменения содержимого каталога экземпляра трекера:
Схема базы данных
Схема базы данных определена в Python файл в корневом каталоге экземпляра трекера; он перечитывается всякий раз, когда сервер запускается заново. При обнаружении изменений (например, новых атрибутов) таблицы базовых RDBS изменены соответственно.
Шаблоны страниц
Roundup использует Язык атрибутов шаблона (TAL) создать HTML или XHTML вывод. Версия 1.5.0 добавляет экспериментальную поддержку альтернативных движков шаблонов, таких как Jinja2.[11]
Шаблоны названы в честь классов в базе данных. Roundup автоматически выбирает шаблон на основе имени класса, запрошенного из URL. Некоторые шаблоны используются для нескольких классов, например _generic.index.html, который позволяет (авторизованным) пользователям изменять объекты всех классов, для которых отсутствует собственный шаблон индекса.
Когда запрашивается "issue123", это указатель разделен на выпуск класс и идентификатор "123".[12] По умолчанию выбирается шаблон "item": сначала ищется файл шаблона issue.item.html; если его невозможно найти, в качестве альтернативного варианта используется _generic.item.html. Если и этого не хватает, возникает ошибка.
Детекторы
Многие функции Roundup, включая некоторые стандартные функции, реализованы с использованием так называемых детекторы,[13] которые находятся в подкаталоге "детекторы" экземпляра трекера. Они Python подпрограммы которые имеют доступ к изменяемому объекту (если он уже создан) и изменению запрашиваемого атрибута.
Детекторы различают аудиторы и реакторы. Аудиторы используются в основном для нескольких автоматических изменений (в стандартной конфигурации назначен пользователь автоматически добавляется в любопытный список вопроса), а также отказаться от недопустимых изменений; реакторы выполняются после этого и используются, например, для функции уведомления по электронной почте, отправка уведомлений всем пользователям, заинтересованным в определенной проблеме, когда к ней добавляется комментарий.
Детекторы срабатывают всякий раз, когда одно из действий
- Создайте
- набор (изменение атрибутов)
- выходить на пенсию
- восстановить
запрашивается. Их можно использовать для создания тщательно продуманного пользовательского рабочего процесса.
Расширения
Подкаталог "extension" экземпляра может содержать дополнительные файлы, необходимые для расширенных функций, которые (удобно) не могут быть выполнены с помощью TAL; возможны даже совершенно новые действия.
Модули Python, которые используются как детекторами, так и расширениями, можно поместить в подкаталог «lib».
Смотрите также
Рекомендации
- ^ https://sourceforge.net/p/roundup/mailman/message/37060144/
- ^ Лицензия - Документация Roundup 1.5
- ^ Первичный пользовательский интерфейс - это веб-интерфейс. Так называемый
классический
шаблон трекера распространяется как стандартный шаблон и набор структур данных, но может использоваться в качестве отправной точки для настройки - ^ Отслеживание ошибок Python
- ^ NTKnow 2002/07/05 - ОТСЛЕЖИВАНИЕ
- ^ Пользовательский интерфейс электронной почты, Описание дизайна сводки
- ^ Дизайн любопытных списков
- ^ контроль доступа, Описание дизайна сводки
- ^ http://roundup.sourceforge.net/docs/installation.html#configure-a-web-interface
- ^ использование через CGI редко и не рекомендуется по соображениям производительности
- ^ https://pypi.python.org/pypi/roundup/1.5.0
- ^ идентификаторы и указатели, Описание дизайна сводки
- ^ интерфейс детектора, Описание дизайна сводки