+1. @akzhan благодарю за ссылку, форкнул :) Redmine — штука хорошая, то же используем. Правда в нашей команде Ruby и Rails интересуюсь только я, поэтому приходится играться одному.
Нет, мы исользуем Redmine как систему управления проектами. Написание плагина — чисто моя инициатива. А занимается наша фирма совсем другим — автоматизацией технологических процессов (АСУТП).
Осмелюсь добавить.
В статье применялся способ перекрытия вьюх.
ИХМО, он служит, чтобы заменить одно отображение альтернативным.
для того, чтобы добавить новый функционал, не изменяя старого, лучше использовать механизм хуков, а точнее хуки во вьюхах.
Собственно, автор redmine_close_button так и делает.
Почему оно так:
От версии к версии вьюхи могут меняться, если смотреть код redmine начиная с версий 0.8, то они там проводят серьезный рефакторинг. Меняются классы, конструкторы, методы, их параметры и т.п.
перекрыв вьюху, вы при обновлении redmine рискуете сломать функционал, т.к. ваша вьюха будет старой, которая может не понять новых данных.
Я так пару раз натыкался, обновил редмайн и сломал несколько плагинов. Приходилось их патчить.
Так что, чтобы добавить функционал — используйте хуки. Это более надежно. Такой плагин проще поддерживать под разные версии redmine.
Согласен, но к сожалению хуки есть далеко не для всех объектов. Хотя от версии к версии количество хуков растет, всё же пока не все можно делать с их помощью.
я решал для себя такую проблему так.
вешал хук на ближайший объект или вообще добавлял свой JS.
и в нем прототайпом добавлял всё нужное мне.
получалось симпатично, данные подгружались ajax-ом и вставлялись куда мне нужно было.
тоже время от времени занимаюсь созданием плагинов к редмайну, некоторые можно посмотреть здесь
руби все-таки крут в плане переопределения всего и вся, и, создавая плагины, это можно доказать )
Я как-то писал redmine_custom_js_and_css для добавления своего CSS и JavaScript на разные страницы: я таким способом раскрашиваю разные проекты в разные цвета и в одном из них прячу и переименовываю поля и ссылки. Мне на redmine.org в комментариях кто-то писал, что, якобы, есть более простой способ, не требующий написания плагина, но в чём состоит этот способ, я так и не понял, поэтому пользуюсь своим плагином.
Вряд ли. Потому что тема меняет весь редмайн целиком.
Я не нашёл в редмайне штатный способ к разным проектам применять разные стилевые файлы. Потому и пришлось писать плагин, не зная руби :-)
Написание плагина к Redmine