Хорошая документация для написания плагинов Redmine - PullRequest
17 голосов
/ 18 июля 2011

В настоящее время я разрабатываю несколько плагинов для Redmine, и должен сказать, что я немного разочарован отсутствием документации по этому вопросу.

Обычно, если я ищу объяснения по классам / методам, мне нужно тратить согласованное количество времени на просмотр базовых классов и стремление понять код, написанный там (кажется, что некоторые люди забыли документировать свой код к сожалению).

Я проверил их форумы http://www.redmine.org/projects/redmine/boards,, и кажется, что ответ на вопрос занимает вечность.

Вот почему я хотел бы получить несколько советов относительно хорошей документации API / книг / форумов на эту тему.

Ответы [ 3 ]

13 голосов
/ 21 марта 2014

Я знаю, что это может быть слишком поздно для оригинального плаката с вопросом, но может помочь кому-то еще в подобной ситуации. Ниже приведены ссылки для полного новичка (как и я) на RubyOnRails, но кто-то, кто запрограммирован раньше. Вы можете выбрать соответствующие в соответствии с вашим уровнем квалификации.

Понимание Redmine (функциональность):
Если вы не знакомы с Redmine или не управляете другим программным обеспечением для отслеживания проблем Освоение Redmine Книга - это то, что вам нужно. Это не очень плотно упаковано, так что это поможет только как структурированная организация информации. Если вам нужна более плотная информация, просмотрите документацию.

Общие сведения о плагинах Redmine:
«Расширение и разработка плагинов Redmine» Алекса Бевилаква только что выпущен (март 2014). Он доступен как в печатном, так и в электронном виде в формате packtpub.

Я сам изучаю книгу, так как мне нужно настроить / переписать плагин для Redmine. Я новичок в Rails / Ruby / Redmine. Хотя я из Unix / C ++ и до сих пор знакомлюсь с трюками Ruby, Rails, Redmine по следующим книгам.

Понимание рельсов:
Я нашел книгу Agile Web Development с Rails как достаточно хорошее введение в Rails для программистов из других языков.
Примечание. Целевой аудиторией, по-видимому, являются разработчики Rails, но должна быть возможность пройти через эту кривую обучения, просматривая репозитории плагинов github redmine.

Понимание Ruby:
Программирование Ruby (книга PickAxe)

Понимание идиом метапрограммирования Ruby (используется в Rails):
На первый взгляд, Ruby похож на большинство языков сценариев. Именно использование метапрограммирования и динамической природы Ruby Object Model позволяет сделать сложную внутреннюю гимнастику невидимой для новичков.

Одна строка кода Rails содержит достаточно таких трюков, чтобы заполнить небольшую книгу.
К счастью, такая книга уже была написана - Ruby MetaProgramming книга из серии Pragmatic Programmers. Это превосходно, чтобы справиться с этим Mixin на основе динамического метапрограммирования. Rails и Redmine используют множество этих трюков в качестве хуков и т.д., чтобы выполнить работу.

Отличное видео о объектной модели Ruby Дэйва Томаса
Видео по объектной модели Ruby и метапрограммированию

9 голосов
/ 18 июля 2011

лучшая документация - кодовый источник. Один из тех, кто поддерживает Redmine, имеет почти весь плагин Redmine на github .

Вы можете выбрать любой плагин и посмотреть, как он выглядит. в основном речь идет о метапрограммировании и использовании alias_method_in_chain

6 голосов
/ 18 июля 2011

Как указано на странице redmine wiki о перехватах плагинов :

Существует список допустимых перехватов.Но лучший способ найти их - просто заглянуть в код, чтобы найти место, которое вы хотели бы расширить, и выполнить поиск звонка поблизости.

Кажется, просмотрпройти через базовые классы , а также посмотреть на другие плагины.

Я предполагаю, что вы уже нашли всю документацию в вики, касающуюся плагинов:

Что касается реактивности на форуме, выможет попытаться задать вопрос на форуме chiliproject , недавней развилки redmine.Не уверен, однако, сколько из этого уже изменилось.

...