A five-day technical training on Odoo module development. From basic models and views to advanced workflows, QWeb reports, and front-office development.

Duration 5 days (35 hours)
Format 50 percent presentation, 50 percent exercises
Prerequisites Solid Python fundamentals required, Odoo functional knowledge recommended
Materials Virtual machines provided, electronic course materials

Installation and Development Environment

  • Development environment setup: source installation, IDE configuration
  • Odoo architecture overview: server, addons, configuration
  • Module structure: manifest, models, views, data, controllers
  • Development workflow: creating and installing custom modules

Basic Back-Office Development

Models

  • Model types: Model, TransientModel, AbstractModel
  • Fields: basic types, relational fields, computed fields, related fields
  • Constraints: Python constraints, SQL constraints
  • ORM methods: create, write, unlink, search, browse

Controllers

  • HTTP controllers: routes, request handling, JSON-RPC
  • Authentication and access control in controllers

Views

  • View types: form, tree, kanban, search, graph, pivot, calendar
  • View inheritance and extension
  • Actions and menus: window actions, server actions, menu items

Complete Model, Controller, and View Presentation

  • Advanced model features: onchange, default values, domain filters
  • Advanced controller patterns: file uploads, downloads, portal access
  • Advanced views: dynamic domains, attrs, modifiers, statusbar widgets
  • Data files: XML data, CSV data, demo data, noupdate records

Security

  • Access control: groups, access rights (ir.model.access)
  • Record rules: domain-based row-level security
  • Field-level access control
  • Superuser and sudo() usage

Advanced Development

Workflows and Automation

  • Workflow management: stages, transitions, automated actions
  • Server actions: Python code, email, SMS, record updates
  • Scheduled actions (cron jobs)

Kanban and QWeb

  • Kanban views: custom templates, progress bars, activity support
  • QWeb templates: report generation, PDF reports
  • Custom report development: headers, footers, layouts

Front-Office Development

  • Website controllers: public pages, portal pages
  • QWeb templates for website: snippets, theme development
  • JavaScript integration: widgets, OWL components
  • E-commerce customization: product pages, checkout flow

RECOMMENDATIONS

The following updates are suggested for review to modernize this training program:

  • Update to Odoo 17 or 18 OWL framework for frontend development
  • Replace deprecated workflow engine references with the new stage-based approach
  • Add coverage of the new web client architecture based on OWL
  • Include modern JavaScript tooling and asset bundling in Odoo
  • Add unit testing patterns for Odoo modules