Preface
Odoo, formerly known as OpenERP, is a great platform for developers. The framework, at its core, is very rich and allows building client-server applications from scratch, as well as adapting existing applications to your needs through a clever extension mechanism and a very modular design. The latest versions have brought a wealth of new possibilities with the addition of a full-featured website development stack. The scope is huge, and it is easy for newcomers to feel lost.
For years, Odoo developers have been learning their craft by reading the code of addon modules, which are built on top of the framework to provide enterprise management features.
While effective, this process is long and error-prone, since it is difficult to know whether the source code you are learning from uses the latest possibilities offered by the framework, or if you are looking at an older module that has not been updated to use these features. To make things worse, some code flows are intrinsically hard to follow because they're partly in the business logic layer, partly in the database layer, partly in the request handling layer, and partly in the client-side code.
This book is meant to save you time by tapping into the years of experience accumulated by long-time Odoo contributors to learn the current best practices in Odoo development by focusing on the new features of version 11, and also giving a solid base in the existing mature functionality of the framework. Since Odoo has a long tradition of guaranteeing backward compatibility, most of the presented material should still work with upcoming versions.