Redmine

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Redmine
Логотип программы Redmine
Скриншот программы Redmine
Тип Система отслеживания ошибок, система управления проектами
Разработчик Jean-Philippe Lang
Написана на Ruby
Операционная система Кроссплатформенное программное обеспечение
Первый выпуск 25 июня 2006
Аппаратная платформа Ruby on Rails
Последняя версия
Репозиторий svn.redmine.org/redmine
github.com/redmine/redmi…
Лицензия GNU General Public License
Сайт redmine.org
Логотип Викисклада Медиафайлы на Викискладе

Redmine [ɹɛdˈmɑɪn] — открытое серверное веб-приложение для управления проектами и задачами (в том числе для отслеживания ошибок). Redmine написан на Ruby и представляет собой приложение на основе широко известного веб-фреймворка Ruby on Rails. Распространяется согласно GNU General Public License.

Функциональные возможности[править | править код]

Данный продукт предоставляет следующие возможности:

  • ведение нескольких проектов;
  • гибкая система доступа, основанная на ролях;
  • система отслеживания ошибок;
  • диаграммы Ганта и календарь;
  • ведение новостей проекта, документов и управление файлами;
  • оповещение об изменениях с помощью RSS-потоков и электронной почты;
  • форумы для каждого проекта;
  • учёт временных затрат;
  • настраиваемые произвольные поля для инцидентов, временных затрат, проектов и пользователей;
  • лёгкая интеграция с системами управления версиями (SVN, CVS, Git, Mercurial, Bazaar и Darcs);
  • создание записей об ошибках на основе полученных писем;
  • поддержка множественной аутентификации LDAP;
  • возможность самостоятельной регистрации новых пользователей;
  • многоязычный интерфейс (в том числе русский);
  • поддержка СУБД MySQL, Microsoft SQL Server[3], PostgreSQL, SQLite.

Структура базы данных[править | править код]

Пользователи системы[править | править код]

Пользователи являются одним из центральных понятий предметной области. Модель пользователя является основой для идентификации и аутентификации работающего с системой персонала и клиентов, а также для авторизации их в разных ролях, проектах и т. п.

Роли[править | править код]

Роли пользователей определяются гибкой моделью определения прав доступа пользователей. Роли включают в себя набор привилегий, позволяющих разграничивать доступ к различным функциям системы.

Пользователям назначается роль в каждом проекте, в котором он участвует, например, «менеджер в проекте по разработке сайта А», «разработчик в проекте по поддержанию интранета компании» или «клиент в проекте по рефакторингу информационной системы компании Б». Пользователь может иметь несколько ролей. Назначение роли для отдельной задачи (issue) в данный момент невозможно.

Проекты[править | править код]

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

Трекеры[править | править код]

Трекеры являются основной классификацией, по которой сортируются задачи в проекте. Само по себе понятие «трекер» восходит к системам учёта ошибок (англ. Bug tracking tool), представлявшим каждая в отдельности один проект.

По сути, в «Redmine» трекеры представляют собой аналог подклассов класса «Задача» и являются основой для полиморфизма разного рода задач, позволяя определять для каждого их типа различные поля. Примерами трекеров являются «Улучшение», «Ошибка», «Документирование», «Поддержка».

Задачи[править | править код]

Задачи являются центральным понятием всей системы, описывающим некую задачу, которую необходимо выполнить. У каждой задачи в обязательном порядке есть описание и автор, в обязательном порядке задача привязана к трекеру.

Каждая задача имеет статус. Статусы представляют собой отдельную сущность с возможностью определения прав на назначение статуса для различных ролей (например, статус «отклонён» может присвоить только менеджер) или определение актуальности задачи (например, «открыт», «назначен» — актуальные, а «закрыт», «отклонён» — нет).

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

Значения других перечислимых свойств (например, приоритетность) хранятся в отдельной общей таблице.

Отслеживание изменения параметров задач[править | править код]

За отслеживание изменений параметров задач пользователями в системе отвечают две сущности: «Запись журнала изменений» и «Изменённый параметр». Запись журнала отображает одно действие пользователя по редактированию параметров задачи и/или добавление комментария к ней. То есть служит одновременно инструментом ведения истории задачи и инструментом ведения диалога.

Сущность «Изменённый параметр» привязана к отдельной записи журнала и предназначена для хранения старого и нового значения изменённого пользователем параметра.

Связи между задачами[править | править код]

Задачи могут быть взаимосвязаны: например, одна задача является подзадачей для другой или предшествовать ей. Эта информация может быть полезна в ходе планирования разработки программы, за её хранение в Redmine отвечает отдельная сущность.

Учёт затраченного на проект времени[править | править код]

Система поддерживает учёт затраченного времени благодаря сущности «Затраченное время», связанной с пользователями и задачей. Сущность позволяет хранить затраченное время, вид деятельности пользователя (разработка, проектирование, поддержка) и краткий комментарий к работе. Эти данные могут быть использованы, например, для анализа вклада каждого участника в проект или для оценки фактической трудоёмкости и стоимости разработки.

Привязка репозиториев[править | править код]

Redmine предоставляет возможность интеграции с различными системами управления версиями (репозиториями). Интеграция заключается в отслеживании изменений во внешнем репозитории, их фиксации в базе данных, анализе изменений с целью их привязки к определённым задачам.

В инфологической структуре системы за интеграцию с внешними репозиториями отвечают три сущности: Репозиторий, Редакция и Изменение.

  • Репозиторий — связанная с проектом сущность, хранящая тип подключенного репозитория, его местонахождение и идентификационные данные его пользователя.
  • Редакция — отображение редакции репозитория, и, кроме информационных полей, может быть привязана к конкретной задаче: для этого требуется указать в описании изменений «refs #NUM», где NUM — номер задачи), и к пользователю-автору редакции.
  • Изменение — хранит список измененных (добавленных, удалённых, перемещенных, модифицированных) файлов в каждой редакции.

Получение уведомлений[править | править код]

Уведомления пользователей об изменениях, происходящих на сайте, осуществляется с помощью сущности «Наблюдатели», связывающей пользователей с объектами различных классов (проекты, задачи, форумы и др.). В базе данных хранятся также ключи доступа к подписке RSS, позволяющие получать уведомления посредством этой технологии, также уведомления рассылаются с помощью электронной почты.

ChiliProject[править | править код]

В результате того, что видение некоторых пользователей относительно проекта отличалось от видения лидера разработчиков, был создан форк Redmine под названием ChiliProject. В настоящее время данный проект закрыт.

См. также[править | править код]

Примечания[править | править код]

  1. Release 5.1.1 — 2023.
  2. Tagged version 5.1.2 — 2024.
  3. Installing Redmine. Redmine ©. Дата обращения: 15 января 2015. Архивировано 15 января 2015 года.

Литература[править | править код]

  • 前田剛 (Go Maeda). 入門Redmine Linux/Windows対応. — 秀和システム. — 226 с. — ISBN 978-4-7980-2137-9.
  • Gunther Popp. Konfigurationsmanagement mit Subversion, Maven und Redmine: Grundlagen für Softwarearchitekten und Entwickler. — 3. — Dpunkt.Verlag GmbH, 2009. — P. 362. — ISBN 9783898645218.

Ссылки[править | править код]