Book Image

Learn Odoo

By : Greg Moss
Book Image

Learn Odoo

By: Greg Moss

Overview of this book

Odoo is management software that contains a set of open source enterprise management applications that help you modernize your business. Completely revised and updated, this comprehensive Odoo guide is a fourth edition of Working with Odoo. This book begins with an introduction to Odoo and helps you set up Odoo Online in your system. You'll learn how to start a new company database in Odoo and the basics of Odoo sales management. You will explore customer relationship management in Odoo and its importance in a modern business environment. Moving on, you'll learn how to install the purchasing application, set up suppliers, and begin purchasing and receiving products in Odoo. Next, you'll learn how to use the MRP module to create, process, and schedule the manufacturing and production order. Once you get to grips with the basic applications, you'll uncover how to customize Odoo to meet the specific needs of your business. You'll learn some advanced techniques for searching and finding information, and you'll be taken through business intelligence in Odoo. Towards the end of the book, you'll go in-depth into Odoo's architecture and learn to use Odoo's API to integrate with other applications. By the end of the book, you'll be ready to use Odoo to build enterprise applications and set up the functional requirements for your business.
Table of Contents (19 chapters)

Getting to know the Odoo architecture

Setting up and managing an Odoo installation will require a basic understanding of the components that make up Odoo. Every business system has a set of technologies and underlying software platforms that are required for the system to function. Fortunately, unless you plan to customize Odoo, you only need to understand the very basics of the Odoo architecture to complete a successful installation.

In this book, we provide a basic overview of the Odoo architecture. If you wish to get more detailed documentation on the Odoo architecture and technical documentation, visit https://www.odoo.com/documentation/12.0/.

Introducing the PostgreSQL database

Like most ERP systems, Odoo has specific database requirements: in this case, PostgreSQL. PostgreSQL is an open source, cross-platform Object Relational Database Management System (ORDMS). While not popular on the scale of Microsoft SQL Server or MySQL, PostgreSQL is an enterprise-class database server with many advanced features. In fact, PostgreSQL stacks up very well against far more expensive databases such as Microsoft SQL Server and Oracle Database.

PostgreSQL runs on every major OS. For most Odoo installations, Ubuntu is the OS of choice. However, PostgreSQL will also run quite well under other versions of Linux, Microsoft Windows, and even macOS X.

You can learn more about PostgreSQL at http://www.postgresql.org/.

Writing code with Python

The primary programming language of Odoo is Python. Like the other technologies underlying Odoo, the Python language is open source and runs on all of the major contemporary OS. It is an extremely popular programming language, which makes it very easy to find resources to help you to get started.

Starting in Odoo 11, Odoo began using Python 3.5 instead of Python 2.7.

You can learn more about the Python programming language at http://python.org/.

Following the Model-View-Controller design

Odoo is built upon a Model-View-Controller (MVC) architecture. One of the primary goals of this architecture is to separate the visual display of the information from the business rules and management of the underlying data. For example, if you need to change the way data is organized in the model, it is desirable not to have to make dramatic changes to how you view the data. This is true for maintaining flexibility in viewing data. Today, it is common to have many different client applications sharing the same underlying data.

Designing models

The model is essentially the data that makes up your Odoo installation, which is stored in the PostgreSQL database. Odoo is unique in that database structures are typically defined by the Odoo modules at the time they are installed. The Odoo framework takes the model definitions and automatically creates the necessary table structures inside of the PostgreSQL database. Furthermore, a web interface in Odoo allows administrators to easily extend the Odoo data model in a variety of ways without having to modify the Odoo source code.

Rendering views

Each view in Odoo is defined in XML documents. The Odoo framework is responsible for rendering these view files in a web browser. Alternative views can be built to render Odoo functionality upon other platforms such as mobile devices.

Authoring controllers

The controller component of the architecture is where the business logic and workflow rules of the Odoo application are applied. The controller components in Odoo are written in Python code and stored as objects in Odoo modules.