Опубликовано: 24.10.2017
В своем прошлом посте я постарался довольно подробно описать все тонкости установки Redmine на Linux Ubuntu. В этом, хочу рассказать о тонкостях написания плагинов под Redmine, об основных вероятностях метаморфозы функциональности стандартного Redmine, о подводных камнях, которые встречались моей команде на этом пути.
Думаю, эта статья будет пригодна тем, кто теснее знаком с основами фреймворка Ruby on Rails и хочет начать разрабатывать плагины для Redmine.
Раньше каждого, стоит поделить все плагины Redmine на две категории:
В первую попадают те плагины, которые реально не затрагивают функциональность стандартного Redmine. По сути это обыкновенные Rails-приложения внутри Redmine, с ними появляется немного трудностей, следственно они малоинтересны. На официальном сайте Redmine есть недурной туториал, детально описывающий как сделать плагин для голосования .
Все немножко труднее, когда плагин должен изменять встроенную функциональность!
Начнем с команды, которая создает конструкцию папок для плагина Redmine. Пускай наш плагин будет именоваться Luxury Buttons. Перейдем в корневую папку Redmine, запустим команду, создающую конструкцию папок: $cd /usr/share/srv-redmine/redmine-2.3 $rails generate redmine_plugin LuxuryButtonsПозже выполнения команды в папке plugins должна возникнуть папка luxury_buttons со дальнейшей конструкцией:
В папку lib стоит сразу добавить, папку, совпадающую с наименованием плагина, т.е. папку luxury_buttons (дальше папка патчинга ). В этой папке, в последующем, будут лежать файлы патчинга разных способов Redmine.Отчего мы назвали эту папку также как назвали плагин? Это легко рекомендация, папку дозволено назвать и по-иному, но здесь появляется 1-й подводный камень: если в ином плагине наименование этой папки будет совпадать, и будет совпадать наименование файла патчинга, то один из файлов патчинга легко не примениться! Следственно, я рекомендую, называть папку патчинга одноименно с наименованием плагина. Такой метод минимизирует появление ошибок!