Book Image

Odoo 11 Development Cookbook - Second Edition - Second Edition

Book Image

Odoo 11 Development Cookbook - Second Edition - Second Edition

Overview of this book

Odoo is a full-featured open source ERP with a focus on extensibility. The flexibility and sustainability of open source are also a key selling point of Odoo. It is built on a powerful framework for rapid application development, both for back-end applications and front-end websites. Version 11 offers better usability and speed: a new design (as compared to the current Odoo Enterprise version) and a mobile interface. The book starts by covering Odoo installation and administration and Odoo Server deployment. It then delves into the implementation of Odoo modules, the different inheritance models available in Odoo. You will then learn how to define access rules for your data; how to make your application available in different languages; how to expose your data models to end users on the back end and on the front end; and how to create beautiful PDF versions of your data. By the end of the book, you will have a thorough knowledge of Odoo and will be able to build effective applications by applying Odoo development best practices
Table of Contents (18 chapters)

What this book covers

Chapter 1, Installing the Odoo Development Environment, begins with 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, 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.

Chapter 4, Creating Odoo addon Modules, explains the structure of an Odoo addon module and provides a step-by-step guide for creating a simple module from scratch.

Chapter 5, Application Models, focuses on Odoo model descriptions, and explains the various field types and the different inheritance models available in Odoo.

Chapter 6, Basic Server-Side Development, introduces the API of Odoo, presents the commonly used methods of the Model class, and explains how to write business logic methods. More advanced topics are covered in Chapter 9, Advanced Server-Side Development.

Chapter 7, 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 8, Debugging and Automated Testing, proposes some strategies for server-side debugging and provides an introduction to the Python debugger. It also explains how to write and run automated tests using YAML or Python for your addon modules. Client-side testing is covered in Chapter 15, Web Client Development.

Chapter 9, Advanced Server-Side Development Techniques, outlines more advanced topics useful when writing business methods, such as writing wizards to walk the user through a process, writing onchange methods, manipulating the execution context or bypassing the ORM to use raw SQL.

Chapter 10, Backend Views, teaches you 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 11, Access Security, discusses 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 12, Internationalization, takes you through the translation of the user interfaces of your addons and provides useful tricks about using GNU Gettext command line tools to manipulate translation files.

Chapter 13, Automation, Workflows, Emails, and Printouts, illustrates the different tools available in Odoo to implement business processes for your records. It also shows how server actions and automated rules can be used to support business rules, and how to generate emails and PDF documents with Odoo.

Chapter 14, 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 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, 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.