17

Actualmente estoy desarrollando algunos complementos para Redmine, y debo decir que estoy un poco decepcionado por la falta de documentación disponible sobre este tema.Buena documentación para escribir complementos de Redmine

Normalmente, si estoy buscando explicaciones sobre clases/métodos, necesito pasar una cantidad constante de tiempo navegando a través de las clases principales, y esforzándome por comprender el código escrito allí (Parece que algunas personas olvidaron documentar su código, por desgracia).

He revisado sus foros http://www.redmine.org/projects/redmine/boards, y parece demorar una eternidad para poder responder a una pregunta.

Es por eso que me gustaría recibir algunos consejos sobre algunos buenos documentos de API/libros/foros sobre este tema.

+0

El #redmine canal de IRC en freenode.net puede ser más útil para más rápido vuelco en respuestas. – GuruM

+0

Si mi respuesta ayuda, acepte como respuesta a su pregunta. – GuruM

Respuesta

9

la mejor documentación es el codesource. Uno de los mantenedores de Redmine tiene casi todo el complemento de Redmine en github.

puede elegir cualquier complemento y ver lo que se ve. en su mayoría se trata de metaprogramming y alias_method_in_chain uso

+0

Puede que esta no parezca la respuesta, pero ahórrese muchos dolores de cabeza y créanos que sí lo es. Los complementos en realidad no son tan difíciles de escribir. Salga de lo que ya está escrito y podrá descubrir cómo hacer la mayoría de las cosas. – Milimetric

+1

sí, tampoco encuentro una buena documentación de 'texto' sobre cómo escribir el complemento para Redmine. ¿Podrías decirme si puedes encontrarlo? – Anatoly

+0

Estoy considerando escribir un par de tutoriales para ayudar a otras personas a comenzar más rápido que yo, una vez que adquiera más experiencia. Probablemente publique el enlace aquí, si tengo éxito. Gracias por las respuestas –

6

Como se indica en la redmine wiki page about plugin hooks:

Hay una lista de ganchos válidos. Pero la mejor manera de encontrarlos es echar un vistazo al código para encontrar el lugar que desea extender y buscar una llamada a un gancho cercano.

Parece navegación a través de las clases principales, así como buscar en otros plugins es el camino a seguir.

Supongo que ya encontrar toda la documentación en el wiki relacionados con plugins:

En cuanto a la reactividad en el foro, puede intentar hacer una pregunta en el forum of chiliproject, la reciente bifurcación de redmine. No estoy seguro de cuánto de eso ya ha cambiado.

+2

Redmine y ChiliProject 1.x son bastante cercanos, intentamos mantener la compatibilidad tanto como sea posible. ChiliProject 2.x tiene algunos cambios importantes, especialmente en torno a los diarios (notas de problemas). El código antiguo aún debería funcionar pero será necesario probarlo y portarlo. Aproximadamente el 50% de mis complementos funcionaba sin cambios, el 40% trabajaba con un Gemfile para el bundler y el resto necesitaba algunas actualizaciones. –

12

Sé que tal vez sea demasiado tarde para el cartel de la pregunta original, pero podría ayudar a alguien más en una situación similar. Los enlaces a continuación son para un novato total (como yo) para RubyOnRails, pero alguien que ha sido programado anteriormente. Puede elegir los relevantes según su nivel de habilidad.

La comprensión de Redmine (funcionalidad):
Si no está familiarizado con Redmine o administrar otro software de seguimiento de asuntos Mastering Redmine libro es un buen lugar para comenzar. No está muy empaquetado, por lo que ayudará solo como una organización estructurada de la información. Si desea información más densa, consulte la documentación en su lugar.

La comprensión de Redmine plugins:
"Redmine Plugin Extension and Development" by Alex Bevilacqua acaba de ser lanzado (marzo de 2014). Está disponible tanto en formato impreso como ebook desde packtpub.

Voy a revisar el libro por mi cuenta ya que necesito personalizar/reescribir un plugin para Redmine. Soy nuevo en Rails/Ruby/Redmine. Aunque soy de origen Unix/C++ aún estoy conociendo las cuerdas de Ruby, Rails, Redmine a través de los siguientes libros.

rieles entendimiento:
encontré el libro Agile Web Development with Rails ser una buena introducción suficiente para los carriles para los programadores de otros idiomas.
Nota: El público objetivo parece ser los desarrolladores de Rails, pero debería ser posible atravesar esa curva de aprendizaje navegando por los repositorios de los plugins de github redmine.

entendimiento Ruby:
Programming Ruby (the PickAxe Book)

Comprensión de expresiones idiomáticas Rubí metaprogramming (utilizados en Rails):
En la superficie de Ruby se parece a la mayoría de los lenguajes de scripting que es el uso de metaprogramming y la naturaleza dinámica de Rubí Modelo de objeto que permite que la gimnasia interna compleja sea invisible para los novatos.

Una sola línea de código de Rails contiene suficientes trucos para completar un pequeño libro.
Afortunadamente tal libro ya ha sido escrito - Ruby MetaProgramming libro en la serie Pragmatic Programmers. Es excelente enfrentarse a esta metaprogramación dinámica basada en Mixin. Rails y Redmine usan muchos de estos trucos como ganchos, etc. para hacer el trabajo.

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

Cuestiones relacionadas