Aprendí Odoo cuando todavía era OpenERP, allá por el 2013, cuando la documentación era un PDF con formato de folleto, cuando Odoo tenía apenas un puñado de módulos y era solamente Open Source. Desde entonces me encantó jugar con lo que tenía a la mano: modificar vistas, armar mi primer sincronizador de POS entre computadoras para que una sola caja pudiera cobrar las órdenes de todas. Básicamente, siempre me gustó llevar las herramientas que tengo un nivel más allá de donde vienen. Esa es la intención de fondo de este libro: exprimir Odoo y sacarle más de lo que trae de fábrica.
Ya con eso en mente, te comento un poco más sobre mí. Llevo más de una década trabajando con Odoo. Empecé en Poiesis Consulting, en Bolivia, una de las mejores empresas de implementación que existen en el país. Después, esa misma inquietud que nunca se me quita me lanzó al mundo freelance, y ahí conocer otras culturas, otras empresas y otras formas de trabajar me abrió la cabeza y me llevó a hacer bastante más de lo que hubiera imaginado. Estos últimos dos años, a través de Simplify IT S.R.L., mi trabajo se ha centrado en hacer que Odoo haga lo que los negocios realmente necesitan — implementaciones, migraciones, módulos a medida, integraciones con autoridades tributarias y marketplaces en Bolivia, Latinoamérica, Europa y Estados Unidos. La mayor parte de ese trabajo ocurre por debajo de la superficie: modelos, vistas, lógica de negocio, la plomería que mantiene honesto a un ERP. OWL fue, durante mucho tiempo, algo que usaba sin verlo realmente.
Eso cambió el día en que la actualización de un cliente desde una versión anterior de Odoo rompió cada widget personalizado que habíamos construido para ellos. El código viejo no necesitaba parches — necesitaba repensarse. Al recorrer esa migración línea por línea, me encontré haciéndome preguntas que había evitado en silencio durante años: ¿Por qué existe OWL siquiera, cuando Odoo podría haber usado React o Vue como todos los demás? ¿Qué cambió realmente entre OWL 1.0 y 2.0, y por qué importó lo suficiente como para justificar empezar de nuevo en vez de seguir parchando? ¿Cuál es el modelo mental que se supone que debo tener, en vez del que construí sin querer copiando y pegando de addons existentes?
Este libro es el recurso que hubiera deseado que existiera cuando me hacía esas preguntas.
Está escrito desde la perspectiva de un consultor de Odoo en ejercicio, no de un autor de frameworks. No voy a fingir que OWL es la única opción razonable, ni que cada decisión de diseño en él está más allá de toda duda — te voy a contar por qué se tomaron esas decisiones, qué compromisos conllevan, y dónde aparecen en el código que escribes todos los días. Mi objetivo es que dejes de tratar a OWL como "la forma en que Odoo hace el frontend, porque sí" y empieces a tratarlo como una herramienta que entiendes lo suficientemente bien como para usarla con intención, depurarla con confianza y, de vez en cuando, estar en desacuerdo con ella.
Para Quién es Este Libro
Si construyes addons personalizados, páginas de portal o extensiones de backend para Odoo — ya vengas de un trasfondo en Python que se extiende hacia el frontend, o de un trasfondo en JavaScript tratando de entender las convenciones de Odoo — este libro es para ti. Asumo que puedes leer JavaScript y que alguna vez abriste la carpeta static/src de un addon de Odoo, aunque te haya intimidado. No asumo que ya sepas qué es un proxy reactivo, o por qué Odoo abandonó el renderizado basado únicamente en QWeb, o siquiera qué significan las siglas "OWL" la primera vez que las escuchas.
Cómo Usar Este Libro
Cada capítulo se construye sobre lo asumido en los anteriores, pero traté de que los capítulos tempranos — el "por qué" antes del "cómo" — sean valiosos incluso si saltas directo a un capítulo posterior buscando una respuesta específica. En el camino encontrarás secciones de Preguntas de Reflexión y Errores Comunes extraídas directamente de trabajo real en proyectos, no de casos hipotéticos. Cuando algo rompió la instancia de producción de un cliente, o me costó una tarde que no me sobraba, lo vas a encontrar aquí, explicado con la claridad suficiente como para que a ti no te cueste esa misma tarde.
Una última nota: esto no es documentación oficial de Odoo, y no tengo ninguna afiliación con Odoo S.A. más allá de ser, como tú, alguien que tiene que hacer que su framework funcione en el mundo real. Donde mis explicaciones se apartan de la fuente oficial o la simplifican, es una decisión deliberada al servicio de un modelo mental que funcione — no una pretensión de mayor autoridad que el propio código del framework.
Una Nota Sobre Cómo se Hizo Este Libro
Este libro está construido sobre mi propia experiencia y todo lo que aprendí en el camino — pero fue refinado y afilado con la ayuda de Claude, de Anthropic. Trabajar las explicaciones, estructurar los capítulos y poner a prueba mis propios modelos mentales junto con Claude aceleró considerablemente este proyecto e hizo que escribir este libro fuera mucho más alcanzable de lo que hubiera sido de otra forma. Quiero dar el crédito donde corresponde.
Empecemos.