Сводка новостей (отслеживание проблем)
Оригинальный автор(ы) | Ка-Пин Йи |
---|---|
Разработчик(и) | Ричард Джонс, Roundup Initiative |
Первоначальный выпуск | 18 августа 2001 г |
Стабильная версия | 2.4.0 [1] / 13 июля 2024 г |
Репозиторий | |
Написано в | Питон |
Операционная система | Кросс-платформенный |
Тип | Система отслеживания проблем |
Лицензия | МОЯ лицензия [2] |
Веб-сайт | www |
Roundup — это исходным кодом, с открытым система отслеживания ошибок или ошибок имеющая интерфейс командной строки, веб-интерфейс и интерфейс электронной почты . Он написан на Python и имеет широкие возможности настройки. [3]
История
[ редактировать ]Roundup был разработан Ка-Пинг Йи для проекта Software Carpentry и разрабатывался с 2001 по 2016 год под руководством Ричарда Джонса. С тех пор он разрабатывается сообществом Roundup. Это был трекер проблем языка программирования Python в течение 17 лет, прежде чем перейти на GitHub . [4] Когда-то его описывали как «как Bugzilla без шести лет обучения или RT без этой утомительной ерунды MySQL ». [5]
Функции
[ редактировать ]Стандартная конфигурация функций Roundup:
- веб -интерфейс для просмотра, редактирования и поиска задач
- ОТДЫХ [6] и интерфейсы XMLRPC для удаленной автоматизации и веб-приложений.
- шлюз Почтовый , позволяющий создавать и изменять выпуски [7]
- уровень абстракции базы данных , в настоящее время поддерживающий (среди прочего) Python встроенный в модуль «anydbm», PostgreSQL , MySQL и SQLite.
- «любопытные списки» по конкретным проблемам, используемые для уведомлений и разговоров по электронной почте (каждая проблема фактически становится мини- списком рассылки ) [8]
- система авторизации, [9] на основе ролей (пользователей), классов и объектов
- интерактивная оболочка для задач резервного копирования и восстановления, а также для манипулирования объектами
Roundup поддерживает несколько веб-серверов. [10] Его можно запускать автономно , как фоновый демон процесс- , как CGI- скрипт. [11] или как приложение WSGI .
Концепции
[ редактировать ]Раундап настраивается путем изменения содержимого каталога экземпляра трекера:
Схема базы данных
[ редактировать ]Схема базы данных определяется в файле Python в корневом каталоге экземпляра трекера; этоперечитывайте каждый раз, когда сервер запускается заново. При обнаружении изменений (например, новых атрибутов) таблицы базовой RDBS изменяются соответствующим образом.
Шаблоны страниц
[ редактировать ]Roundup использует язык атрибутов шаблона (TAL) для создания вывода в формате HTML или XHTML . Версия 1.5.0 добавляет экспериментальную поддержку альтернативных движков шаблонов, таких как Jinja2 . [12]
Шаблоны названы в честь классов в базе данных. Roundup автоматически выбирает шаблон на основе имени класса, запрашиваемого из URL. Некоторые шаблоны используются для нескольких классов, например _generic.index.html, который позволяет (авторизованным) пользователям изменять объекты всех классов, у которых нет собственного шаблона индекса.
Когда запрашивается «issue123», этот указатель разделяется на проблемы класс и идентификатор «123». [13] По умолчанию выбирается шаблон «item». Сначала ищется файл шаблона Issue.item.html; если его не удается найти, _generic.item.html используется как запасной вариант. Если это в равной степени отсутствует, возникает ошибка.
Детекторы
[ редактировать ]Многие функции Roundup, включая часть стандартного функционала, реализованы с помощью так называемых детекторов . [14] которые расположены в подкаталоге «детекторы» экземпляра трекера. Это подпрограммы Python , которые имеют доступ к изменяемому объекту (если он уже создан) и изменяет запрошенный атрибут.
В детекторах различают аудиторов и реакторов . Аудиторы используются в основном для нескольких автоматических изменений (в стандартной конфигурации назначенный пользователь автоматически добавляется в любопытный список проблем) и для отказа от неразрешенных изменений; Реакторы выполняются после этого и используются, например, для функции уведомления по электронной почте, отправляя уведомления по электронной почте всем пользователям, заинтересованным в определенной проблеме, когда к ней добавляется комментарий.
Детекторы срабатывают всякий раз, когда одно из действий
- создавать
- набор (изменение атрибутов)
- уходить в отставку
- восстановить
запрашивается. Их можно использовать для создания тщательно продуманного пользовательского рабочего процесса.
Расширения
[ редактировать ]Подкаталог «extensions» экземпляра может содержать дополнительные файлы, необходимые для расширенных функций, которые (удобно) невозможно реализовать с помощью TAL ; возможны даже совершенно новые действия.
Модули Python, которые используются как детекторами, так и расширениями, можно поместить в подкаталог «lib».
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Выпущена сводка новостей 2.4.0» . 13 июля 2024 г.
- ^ «Лицензия» .
- ^ Основным пользовательским интерфейсом является веб-интерфейс. Так называемый
classic
Шаблон трекера распространяется как стандартный шаблон и набор структур данных, но может использоваться как отправная точка для настройки. - ^ Трекер ошибок Python
- ^ NTKnow 2002/07/05 - ОТСЛЕЖИВАНИЕ
- ^ Документация REST
- ^ Пользовательский интерфейс электронной почты , руководство пользователя Roundup.
- ^ Дизайн любопытных списков
- ^ контроль доступа , описание дизайна Roundup
- ^ «Установка Roundup — документация Roundup 2.2.0» .
- ^ использование через CGI редко и не рекомендуется из соображений производительности.
- ^ «Roundup: простая в использовании и установке система отслеживания проблем с интерфейсами командной строки, веб-интерфейсом и электронной почтой. Широкие возможности настройки» .
- ^ идентификаторы и обозначения , описание дизайна Roundup
- ^ Интерфейс детектора , Описание конструкции Roundup
Внешние ссылки
[ редактировать ]- Программное обеспечение для отслеживания ошибок и проблем
- Программное обеспечение службы поддержки
- Бесплатное программное обеспечение для управления проектами
- Бесплатное программное обеспечение, написанное на Python.
- Программное обеспечение, использующее лицензию MIT
- Веб-приложения
- Программное обеспечение Python (язык программирования)