El temario del curso es susceptible de modificaciones
ABRIL | Lunes 1 | Martes 2 | Miérc. 3 | Jueves 4 | Viernes 5 |
Mañana (9:00-13:30) | |||||
Tarde (15:30-19:30) |
ABRIL | Lunes 8 | Martes 9 | Miérc. 10 | Jueves 11 | Viernes 12 |
(9:00-15:00) | Scrum | Scrum | Scrum | Review (10:00-14:00) |
ONLINE (Semana 22 de Abril) - Servicios (Proyectos, RRHH y Analítica)
ABRIL | Lunes 22 | Martes 23 | Miérc. 24 | Jueves 25 | Viernes 26 |
(9:00-15:00) | Scrum | Scrum | Scrum | Review (10:00-14:00) |
ONLINE (Semana 29 de Abril) - Website y Portal
ABRIL | Lunes 29 | Martes 30 | Miérc. 1 | Jueves 2 | Viernes 3 |
(9:00-15:00) | Scrum | Scrum | Scrum | Review (10:00-14:00) |
Explicación iniciativa al papel crítico en la gestión de información empresarial mediante el ERP. Ejemplos de diferentes marcas de ERP en el mercado y casos de uso típicos de Odoo en diferentes áreas empresariales.
Veremos cómo crear una nueva BBDD, duplicar, importar y exportar las ya existentes, y algunas configuraciones opcionales muy útiles para testear o desarrollar como usar datos Demo.
Introducción a la estructura modular de Odoo, el concepto de APP, y el de módulo. Cómo instalar, actualizar y desinstalar módulos de Odoo.
Navegación a través de la interface. Menús, tipos de vistas, campos relacionales y navegación a través migas de pan.
Creación y configuración de usuarios del sistema, grupos, configuración de la compañía e instalación de idiomas.
A través de la interface nos introduciremos en el modelado de la Base de datos. Gracias al modo desarrollador, podremos desde analizar los campos y modelos mostrados en una vista, hasta acceder a un listado con todos los modelos detallados cargados en la base de datos.
Una vez visto los modelos y campos en la BBDD, podremos entender el funcionamiento de los permisos a través de grupos de usuario. También nos permitirá hacer una primera aproximación a la creación de dominios en la notación polaca usada por Odoo para la creación de reglas de registros.
Odoo es capaz de abarcar muchas funcionalidades que tienen hoy en día las empresas. En esta sección vamos a explicar un breve resumen, para centrarnos después en cuatro áreas que tienen la mayoría de las empresas, Ventas, Compras, Almacén y Contabilidad.
La mayoría de las empresas empieza su actividad en la venta. Veremos como funciona las ventas en Odoo y sus diferentes formas de configurarla, desde los clientes y productos hasta su confirmación.
Al igual que las ventas todas las empresas tienen procesos de compra, ya sean materiales, subcontrataciones o simplemente suministros. Veremos cómo funcionan las compras en Odoo y su configuración.
El almacén es un punto crítico de muchas empresas que obviamente depende de las ventas y las compras. En este apartado se explicará el funcionamiento de los almacenes, ubicaciones, quants y funcionamiento de los albaranes.
Por excelencia, la facturación y la contabilidad es algo completamente obligatorio para las empresas. En este apartado realizaremos una introducción a la misma en Odoo, centrándonos en la facturación y los procesos de cobro o pago.
Introducción al concepto de CRM. Desde el más clásico punto de vista comercial, hasta el más global que gestionar todas las relaciones con el cliente. Ejemplos de Software de CRM en el mercado y comparación entre funcionalidades de Odoo y otros programas.
Módulos disponibles relacionados con el CRM. Aprovecharemos para profundizar en la diferencia entre un módulo principal (APP), y los módulos satélites, módulos propios de Odoo (core), o de terceros (OCA y equipos independientes).
Instalado CRM y APPs, veremos cómo gestionar clientes y productos. Aprovecharemos para ver el modelo res.partner y su estructura desde la interfaz.
Ejemplo de configuración y flujo del CRM. Desde la iniciativa hasta la oportunidad. Configuración de equipos de venta, etapas, y grupos de usuarios.
Veremos la gestión presupuestaria con Odoo. El flujo de ventas, hasta la factura, tanto con origen en el propio presupuesto como en oportunidades del CRM. Más adelante completaremos esta información con la gestión de tarifas.
Instalado CRM y Ventas, veremos los grupos y permisos que incorporan estas dos nuevas APPs. Aprender a crear reglas de registro para personalizar implantaciones en función de las necesidades específicas del cliente, así como ver que tipo de configuraciones son proclives de hacer en base de datos y cuáles se deberían extraer en un módulo independiente.
Gestión de tarifas de venta con Odoo. Creación de reglas de tarifa por producto, categoría, temporalidad y/o volumen, condiciones, asignación a clientes. Configuración de árboles de tarifas. Y gestión de tarifas en el presupuesto/pedido.
La gestión de comunicaciones internas es uno de las funcionalidades más horizontales de Odoo. Su correcta comprensión y configuración a través de métodos de followers, grupos, alias, etc, es crítico para el éxito de su implantación en la empresa.
Cuando configuramos un servidor de correo saliente y entrante en Odoo, abrimos las comunicaciones a toda nuestra red de contactos. Un punto crítico que necesita una fina compresión para evitar errores comunicativos con nuestros clientes, proveedores o socios externos.
Siendo tan variable los IDEs disponibles para el desarrollo. Nos centraremos en un IDE sencillo que nos permita instalar herramientas para facilitar el uso de las Guidelines adecuadas para el desarrollo en Odoo, más en concreto de OCA.
Introducción a los conceptos básicos necesarios para trabajar con Git en equipo. Aproximación a diferentes posibles flujos de trabajo, y ejemplos prácticos sobre su uso.
Además de explicar superficialmente las diferentes formas de instalar de Odoo, haremos una instalación completa sobre Linux.
Añadir nuevos módulos a través de Git en nuestra instancia. Actualizar la base de datos e instalarlos. Introducción a estructura de repositorios de la OCA.
Estructura de directorios de un módulo. Desde la APP más compleja hasta el módulo más sencillo, tienen una estructura acordada que permite facilitar la búsqueda y organización del código, ya sea python, xml, javascript….
Veremos los principales parámetros de configuración de servicio en el archivo de configuración de Odoo. Desde cómo arrancar en modo dev, personalizar cores y uso de memoria, archivos logs, addons, etc...
Comandos y búsquedas para revisar el estado del servicio, tanto en producción como en desarrollo. Interpretación del log.
Primeros pasos con nuestro módulo práctico sobre el que crearemos una lógica de trabajo. En este primer punto, veremos la instalación y asociación entre la definición del módulo y la interfaz de APPs.
Analizaremos las partes básicas de un módulo, como el manifest, el init, y las cabeceras y convenciones usadas para estructurar el código.
Creación de modelos utilizando el ORM, estructura básica del modelo, atributos y
Para dar accesibilidad a los registros de un módulo, debemos estructurar los menús y crear la vistas mejorando la usabilidad del módulo. En este apartado veremos la vista tree, la form y la search.
En este apartado veremos los principales tipos de campos utilizados por el ORM. En cada uno de ellos veremos los diferentes atributos necesarios u opcionales para definirlos.
Una vez tengamos nuestro módulo con la estructura necesaria para registrar la información, podremos definir los métodos que nos permitan incluir una lógica de negocio a nuestro modelos.
Veremos cómo definir permisos sobre nuestros modelos, y reglas de registros mediante dominios aplicados a grupos de usuarios.
Una vez tengamos toda la interfaz y estructura de modelos definida, podremos introducir en el módulo el archivo de traducciones a diferentes idiomas.
Para terminar esta primera parte de desarrollo, veremos cómo relacionar modelos entre si, con todas las variantes de relación de One2many, Many2one y Many2many.
La herencia de modelos en Odoo es una de las herramientas más potentes y comunes en cualquier desarrollo, ya que nos permite ajustar y ampliar el comportamiento de modelos que ya están definidos por otros módulos. En este apartado nos introduciremos en la herencia mediante la herencia de un modelo añadiendo campos a su esquema.
Veremos el atributo compute de los campos que nos permite auto-calcular los valores de ese campo en función del contexto del registro. También revisaremos el atributo store y los campos related.
Profundizaremos en las vistas probadas anteriormente (form, tree y search) y añadiremos nuevas vistas a nuestro módulo con la vista Kanban, Pivot y Graph. También profundizaremos en los actions revisando cómo personalizar el comportamiento de nuestros diferentes actions.
Los decoradores nos sirven para definir el marco en el que se debe ejecutar nuestro método, como se debe interpretar el entorno o cuándo/cómo se debe ejecutar. En este apartado veremos los principales decoradores con el multi, depends, model y onchange
Avanzaremos en los métodos introduciéndonos en lógicas más complejas de código usando el ORM.
Gracias a la previa herencia de modelos, podremos ya no solo añadir nuevos campos a la estructura, si no también añadir lógica a los métodos ya definidos en el modelo heredado.
Introducción a los principales métodos definidos en el models.Model. Veremos cómo personalizar el comportamiento de métodos como el _search_name, _get_name, etc...
Debido a la complejidad del sistema, resulta complicado tener una documentación exhaustiva de toda la lógica aplicada en el propio Core, y más añadiendo módulos de terceros. Por ello debemos saber bucear en el código buscando referencias y comprendiendo dónde y cómo debemos introducir nuestra lógica dentro de la red del ERP.
Dado que git es la herramienta de trabajo colaborativo más utilizada, veremos una introducción a sus funciones y ejemplos de diferentes modos de definir un flujo de trabajo en grupo con Git.
Las herramientas de integración continua son actualmente un pieza fundamental para conseguir un código estable y maduro. Veremos cómo se realizan los tests en Odoo y herramientas como travis o coverage que nos ayudarán en el propósito.
Github es actualmente la plataforma más utilizada para desarrollo de Odoo, principalmente por ser la base utilizada por Odoo para el Core, y la OCA para el código comunitario. Veremos las herramientas que nos propone esta plataforma para el trabajo entre diferentes equipos de desarrollo independientes.
La colaboración funcional en OCA es uno de los mejores modos de introducirse y aportar al esfuerzo común, podremos ver como mejorar las traducciones de Odoo mediante Weblate, la revisión funcional de PRs de la OCA a través de su Runbot, creación de Issues con sus especificaciones y como mejorar la documentación de los módulos mediante PRs propios.
Veremos el flujo y enfatizaremos los guidelines obligatorios para poder llevar nuestro código a la OCA. El flujo empieza con hacerse miembro, registrar el CLA, y crear nuestro primer PR. También repasaremos git para mantener un log de commits coherente con el trabajo de la OCA.
Mediante una pequeña introducción a las metodologías ágiles con Scrum, prepararemos la operativa para las siguientes 3 semanas de especialización. En las que trabajaremos en sprints de 1 semana enfocadas a partes específicas del ERP no vistas hasta ahora.
Lunes 8 de Abril de 9:00 a 14:00
Introducción a Compras y Almacén. Flujos de trabajo, modelos, métodos utilizados en el Core, módulos accesorios de la OCA. Presentación de Historia de Usuario (ejericio Scrum para la semana)
Martes 9 - Jueves 11
Sprint, con dailys diarios de 15 minutos entre los diferentes grupos de trabajo, y grupo de chat para el equipo. El profesor tomará el rol de Product Owner y un miembro del equipo de Scrum Master.
Viernes 12 de 11:00 a 14:00
Review. Muestra en común a todos los StakeHolders interesados de los resultados del Sprint.
Lunes 22 de Abril de 9:00 a 14:00
Introducción a Proyectos, RRHH y contabilidad Analítica. Flujos de trabajo, modelos, métodos utilizados en el Core, módulos accesorios de la OCA. Presentación de Historia de Usuario (ejericio Scrum para la semana)
Martes 23 - Jueves 25
Sprint, con dailys diarios de 15 minutos entre los diferentes grupos de trabajo, y grupo de chat para el equipo. El profesor tomará el rol de Product Owner y un miembro del equipo de Scrum Master.
Viernes 26 de 11:00 a 14:00
Review. Muestra en común a todos los StakeHolders interesados de los resultados del Sprint.
Lunes 29 de Abril de 9:00 a 14:00
Introducción a Website y Porta de usuario. Flujos de trabajo, modelos, métodos utilizados en el Core, módulos accesorios de la OCA. Presentación de Historia de Usuario (ejericio Scrum para la semana)
Martes 30 - Jueves 2
Sprint, con dailys diarios de 15 minutos entre los diferentes grupos de trabajo, y grupo de chat para el equipo. El profesor tomará el rol de Product Owner y un miembro del equipo de Scrum Master.
Viernes 3 de 11:00 a 14:00
Review. Muestra en común a todos los StakeHolders interesados de los resultados del Sprint.
Básico
CRM
Ventas
Logística
Fabricación
Eventos
Proyectos
Compras
Facturación
Contabilidad