17

Obecnie rozwijam kilka wtyczek dla Redmine, i muszę powiedzieć, że jestem trochę rozczarowany brakiem dokumentacji na ten temat.Dobra dokumentacja do pisania wtyczek Redmine

Normalnie, jeśli szukam wyjaśnień na temat zajęć/metod, muszę spędzić niezmienny czas przeglądając podstawowe klasy i starając się zrozumieć napisany tam kod (Wydaje się, że niektórzy ludzie zapomnieli udokumentować swoje kod, niestety).

Sprawdziłem swoje fora http://www.redmine.org/projects/redmine/boards, i wydaje się zawsze, aby na pytanie należy odpowiedzieć.

Dlatego chciałbym kilka porad dotyczących niektórych Dobra dokumentacja API/książki/fora na ten temat.

+0

Kanał #redmine IRC freenode.net mogą być bardziej przydatne do szybszego odwrócić w odpowiedzi. – GuruM

+0

Jeśli moja odpowiedź na to pozwoli, proszę przyjąć jako odpowiedź na swoje pytanie. – GuruM

Odpowiedz

9

lepszą dokumentacją jest źródło kodów. Jeden z opiekunów Redmine ma prawie wszystkie wtyczki Redmine na github.

możesz wybrać dowolną wtyczkę i zobaczyć, jak wygląda. głównie chodzi o METAPROGRAMOWANIE i alias_method_in_chain użytkowania

+0

To może nie wydawać się odpowiedzią, ale zaoszczędź sobie dużo bólu głowy i uwierz nam, że tak. Wtyczki nie są tak trudne do napisania. Odejdź od tego, co już napisałeś i powinieneś być w stanie dowiedzieć się, jak robić większość rzeczy. – Milimetric

+1

Tak, również nie mogę znaleźć dobrej "tekstowej" dokumentacji, jak napisać wtyczkę dla Redmine. czy możesz dać mi znać, jeśli możesz go znaleźć? – Anatoly

+0

Rozważam napisanie kilku tutoriali, aby pomóc innym ludziom zacząć pracę szybciej niż ja, gdy zdobędę więcej doświadczenia. Prawdopodobnie opublikuję link tutaj, jeśli mi się uda. Dzięki za odpowiedzi –

6

Jak stwierdzono na redmine wiki page about plugin hooks:

Istnieje lista ważnych haków. Ale najlepszym sposobem na ich znalezienie jest po prostu zajrzenie do kodu, aby znaleźć miejsce, które chciałbyś przedłużyć i wyszukać połączenie z hakiem w pobliżu.

Wydaje przejrzenia podstawowych klas a także patrząc na innych wtyczek jest droga.

Zakładam, że już znaleźć całą dokumentację na wiki związanej z wtyczek:

Co do reaktywności na forum, można spróbować zadaje pytanie na forum of chiliproject niedawne rozwidleniu Redmine. Nie jestem pewien, jak dużo już się zmieniło.

+2

Redmine i ChiliProject 1.x są dość blisko, staraliśmy się zachowaj zgodność tak bardzo, jak to możliwe. ChiliProject 2.x ma kilka istotnych zmian, szczególnie wokół czasopism (noty emisyjne). Starszy kod powinien nadal działać, ale będzie musiał zostać przetestowany i przeniesiony. Około 50% moich wtyczek działało bez zmian, 40% pracowało z Gemfile dla bundler, a reszta potrzebuje pewnych aktualizacji. –

12

Wiem, że to może zbyt późno dla oryginalnego zapytania plakat ale może pomóc komuś w podobnej sytuacji. Poniższe linki są dla totalnego początkującego (jak ja) dla RubyOnRails, ale kogoś, kto był zaprogramowany wcześniej. Możesz wybrać i wybrać odpowiednie zgodnie z poziomem umiejętności.

Zrozumienie Redmine (funkcjonalność):
Jeśli nie jesteś zaznajomiony z Redmine lub podawanie innych Issue Tracking Software Mastering Redmine książka jest ok miejsce, aby rozpocząć. Nie jest zbyt gęsto zapakowany, więc pomoże tylko jako uporządkowana organizacja informacji. Jeśli chcesz uzyskać bardziej gęste informacje, przejdź do dokumentacji.

Zrozumienie Redmine wtyczki:
"Redmine Plugin Extension and Development" by Alex Bevilacqua właśnie został zwolniony (marzec 2014). Jest dostępny zarówno w wersji drukowanej, jak i ebookowej z pakietu packtpub.

Sam przechodzę przez książkę, ponieważ potrzebuję dostosować/przepisać wtyczkę dla Redmine. Jestem nowy w Rails/Ruby/Redmine myself. Chociaż jestem z Unix/C++, tło wciąż poznaję arkany Ruby, Rails, Redmine poprzez następujące książki.

Zrozumienie szyn:
znalazłem książkę Agile Web Development with Rails być wystarczająco dobry wstęp do szyn dla programistów z innych języków.
Uwaga: Docelowi odbiorcy wydają się być programistami Rails, ale powinno być możliwe przejście przez tę krzywą uczenia się poprzez przeglądanie repozytoriów pluginów Github redmine.

Zrozumienie Ruby:
Programming Ruby (the PickAxe Book)

Zrozumienie idiomy Ruby metaprogramowanie (używane w Rails):
Na powierzchni Ruby wygląda większości języków skryptowych jest stosowanie METAPROGRAMOWANIE i dynamiczny charakter Ruby Model obiektowy, który pozwala na tworzenie złożonych wewnętrznych gimnastyki niewidocznych dla początkujących.

Pojedyncza linia kodu Railsa zawiera wystarczającą liczbę takich sztuczek, aby wypełnić małą książkę.
Na szczęście taka książka została już napisana - Ruby MetaProgramming książka w serii Pragmatic Programmers. To wspaniałe, aby poradzić sobie z tym dynamicznym MetaProgramming opartym na Mixin. Railsy i Redmine używają wielu tych trików jako haczyków itp., Aby wykonać pracę.

Excellent Video on Ruby Object Model by Dave Thomas
Video on Ruby Object Model and Meta Programming