What this book covers
This book contains 16 chapters. We tried hard to make each chapter as independent as possible, and to make the various recipes in each chapter self-contained.
Chapter 1, Installing the Odoo Development Environment, explains how to create a development environment for Odoo, start Odoo, create a configuration file, and activate the developer tools of Odoo.
Chapter 2, Managing Odoo Server Instances, is about addon installation and upgrading. It provides useful tips for working with addons installed from GitHub, and organizing the source code of your instance.
Chapter 3, Creating Odoo Modules, explains the structure of an Odoo addon module and gives a step-by-step guide for creating a simple module from scratch.
Chapter 4, Application Models, focuses on Odoo model descriptions, and explains the various field types and the different inheritance models available in Odoo.
Chapter 5, Basic Server Side Development, introduces the v8 API of Odoo, presents the commonly used methods of the Model
class, and explains how to write business logic methods.
Chapter 6, Advanced Server Side Development Techniques, deals with more advanced topics useful when writing business methods such as writing wizards to walk the user through a process or writing onchange methods. It also covers porting code from the old API to the v8 API.
Chapter 7, Debugging and Automated Testing, proposes some strategies for server-side debugging and an introduction to the Python debugger. It also explains how to write and run automated tests using YAML or Python for your addon modules.
Chapter 8, Backend Views, explains how to write business views for your data models and how to call server-side methods from these views. It covers the usual views (list view, form view, and search view) as well as the views introduced in recent versions of Odoo (Kanban, graph, calendar, pivot, and so on)
Chapter 9, Module Data, shows how to ship data along with the code of your module. It also explains how to write a migration script when a data model provided by an addon is modified in a new release.
Chapter 10, Access Security, explains how to control who has access to what in your Odoo instance, by creating security groups, writing access control lists to define what operations are available to each group on a given model, and, if necessary, by writing record level rules.
Chapter 11, Internationalization, deals with the translation of the user interfaces of your addons.
Chapter 12, Automation and Workflows, illustrates the different tools available in Odoo to implement business process for your records. It also shows how server actions and automated rules can be used to support business rules.
Chapter 13, Web Server Development, deals with the core of the web server in Odoo. It explains how to map URLs to methods and how to control who can access these URLs.
Chapter 14, CMS Website Development, shows how to customize websites built with Odoo, by writing your own templates and providing new snippets for use in the website builder.
Chapter 15, Web Client Development, dives into the JavaScript part of Odoo and explains how you can provide new widgets and make RPC calls to the server. It also gives tips about debugging and testing this part of your code.
Chapter 16, Server Deployment, provides advice on how to install and configure Odoo for production, including setting up a reverse proxy to encrypt network communications over HTTPS and ensuring that Odoo starts when the server boots.