Una de las mayores características de odoo es su modularidad. Esto hace que sea flexible y legible, pero por otra parte exige que seamos ordenados y previsores a la hora de desarrollar soluciones.

Cuando hablo de modularidad en odoo, me refiero a que para brindar una solución, debemos instalar un modulo de los que ya cuenta odoo, o bien desarrollar uno o mas nuevos módulos.

No debemos reinventar la rueda

Odoo cuenta con muchos módulos que ya están desarrollados, muchos de los cuales son libres bajo sus respectivas licencias, mientras que otros son pagos. Por eso digo que debemos ser ordenados y previsores, porque si no conocemos los módulos que ya presenta odoo, lo más probable es que nos larguemos a desarrollar cosas que ya existen y que quizás tan solo necesitan ser adaptadas (vamos a perder tiempo, costo de oportunidad). Y si no somos previsores, va a suceder que desarrollamos un “super modulo” que hace miles de cosas y a los tres días nos daremos cuenta de que una de las prestaciones del modulo también la necesitamos en otra solución que estamos desarrollando, pero no necesitamos todas las otras. Situación que vamos a evitar siempre que analicemos la situación y nos percatemos de que podemos encapsular en un modulo esa prestación que vamos a utilizar bastante seguido. Luego tan solo debemos inyectar la dependencia en los futuros módulos que desarrollemos (similar al concepto de herencia de POO).

Conclusiones

  • Antes de comenzar un desarrollo de cero, investigar módulos existentes que den solución parcial o total a nuestro problema.
  • Si decidimos desarrollar un modulo, analizar que prestaciones se van a necesitar en otros módulos y ver la posibilidad de encapsular eso en otro modulo y luego inyectar la dependencia (ya veremos como).