Escribiendo un Modulo de Tryton ERP Básico 1

Tryton ERP además de ERP es un excelente framework y más su versatilidad a la hora de ser personalizado, a continuación estudiaremos un poco como se puede extender el comportamiento y la vista de los módulos, el que considero como primer paso para aprender a personalizar trytond a nivel de código, asumo que se tiene conocimiento de Python, Tryton ERP y desarrollo de software en general. Como ejercicio de práctica vamos a realizar la extensión del módulo party y adicionarle un campo, en nuestro caso vamos adicionar el campo CIIU, que en Colombia se utiliza para describir la actividad económica del tercero.

Markdown To Application

mdotapp es otra herramienta más para la programación literaria, pero con un objetivo practico: hacer ejecutable los post de este sitio, la diferencia fundamental con otras herramientas es que fácilmente podemos crear una aplicación de software es decir múltiples archivos con código ejecutable. Uso se permiten los siguientes atributos en el bloque: @mdtoapp marcar el bloque para ser procesado por mdtoapp file:<archivo> escribir contenido en el archivo indicado, se puede indicar una ruta de directorios.

Infrastructure Behavior Driven-Development

(WIP) Ahí más inventores que inventos dice un amigo mio. Como Desarrollador y Operador de plataformas de software orientadas a telefonía (VOIP) y como practicante de TDD, me he visto envuelto en mayores responsabilidades y por lo tanto en la necesidad de mejorar el proceso de configuración y mantenimiento de los diferentes servicios, en este ejercicio he llegado a la conclusión que muchos otros ya han llegado y es usar la práctica de un entorno de pruebas automatizadas para configurar y probar los servicios.

¿Público y/o Públicado?

Cuando ré/factorizamos surgen nuevos elementos de los cuales es importante determinar si son públicos y adicionalmente estan publicados, si no hacemos esta aclaración podemos fácilmente crear referencias innecesarias, veamos un ejemplo. class Billetera def initialize @movimientos = [] end def ingreso(concepto, valor) @movimientos << [concepto, valor] end def gasto(concepto, valor) @movimientos << [concepto, -valor] end def saldo @movimientos.inject(0) { |saldo, movimiento| saldo + movimiento[1] } end end La clase Billetera es pública y publicada (concepto común al asumir que cualquiera puede referenciar la clase y hacer uso de esta).