0% found this document useful (0 votes)
579 views10 pages

Comprehensive Technical Guide To Odoo 18.1746264034144

The document is a comprehensive technical guide to Odoo 18, detailing its features, architecture, installation, development, and maintenance. It highlights Odoo's modularity, new functionalities, and technical innovations, while providing best practices for development and security. The guide serves as a resource for users and developers looking to understand and implement Odoo 18 effectively.

Uploaded by

teguhteja
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
579 views10 pages

Comprehensive Technical Guide To Odoo 18.1746264034144

The document is a comprehensive technical guide to Odoo 18, detailing its features, architecture, installation, development, and maintenance. It highlights Odoo's modularity, new functionalities, and technical innovations, while providing best practices for development and security. The guide serves as a resource for users and developers looking to understand and implement Odoo 18 effectively.

Uploaded by

teguhteja
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Comprehensive Technical Guide to Odoo 18

Yahia chehaidar

April 28, 2025


Contents

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Overview of Odoo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 Position in the ERP Market . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 Advantages of Odoo . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 New Features in Odoo 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Added Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Technical Innovations . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Technical Architecture of Odoo 18 . . . . . . . . . . . . . . . . . . . . . 4
2.1 Overview of the Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1 PostgreSQL Database . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.2 Odoo Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Codebase Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.1 Module Organization . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.2 Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Technologies Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 Installation and Configuration . . . . . . . . . . . . . . . . . . . . . . . 5
3.1 Technical Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2.1 Via GitHub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2.2 Via Docker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2.3 Via apt-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.3 Initial Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 Development and Customization . . . . . . . . . . . . . . . . . . . . . . 6
4.1 Creating a Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2 ORM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.3 Customizing Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5 Administration and Maintenance . . . . . . . . . . . . . . . . . . . . . . 7
5.1 Users and Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.2 Backup and Restoration . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.2.1 Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.2.2 Restoration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6 Integration with Third-Party Systems . . . . . . . . . . . . . . . . . . . 8
6.1 REST/OAuth API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7 Best Practices and Recommendations . . . . . . . . . . . . . . . . . . . 9

1
CONTENTS Odoo 18 Technical Guide

7.1 Development Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . 9


7.2 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2
1 Introduction

1.1 Overview of Odoo


Odoo is an open-source ERP software created in 2005 by Fabien Pinckaers. Initially
named "TinyERP," it has evolved to become one of the most popular ERP solutions
worldwide.

1.1.1 Position in the ERP Market


Odoo stands out for its modularity, allowing businesses to choose only the modules they
need (CRM, accounting, inventory management, etc.).

1.1.2 Advantages of Odoo


- Modularity: Over 30 native modules and thousands of third-party modules available
via the App Store.
- Open Source: Accessible source code, facilitating customization.
- Customization: Adaptability to various industries through custom modules.

1.2 New Features in Odoo 18


1.2.1 Added Features
- Improved user interface with a modern and responsive design.
- Performance optimization for large databases.
- New modules such as "Talent Management" and "Advanced Planning."

1.2.2 Technical Innovations


- Update of OWL (Odoo Web Library) for a more reactive frontend.
- Enhanced support for REST and GraphQL APIs.

3
2 Technical Architecture of Odoo 18

2.1 Overview of the Architecture


Odoo operates on a client-server model where the server handles HTTP requests and
interacts with the PostgreSQL database.

2.1.1 PostgreSQL Database


Odoo exclusively uses PostgreSQL to store data. Relationships between tables are man-
aged through the ORM.

2.1.2 Odoo Framework


- ORM (Object-Relational Mapping): Allows manipulation of data without writing
SQL queries directly.
- Models: Represent database tables.
- Views: Define how data is displayed (form, tree, kanban, etc.).
- Controllers: Handle routes and HTTP actions.

2.2 Codebase Structure


2.2.1 Module Organization
Each module is a folder containing specific files (__manifest__.py, models/, views/,
controllers/).

2.2.2 Best Practices


- Clear naming of files and classes.
- Documentation of code with explanatory comments.

2.3 Technologies Used


- Python, XML, JavaScript/OWL, CSS/SCSS.

4
3 Installation and Configuration

3.1 Technical Requirements


- Systems: Linux (Ubuntu), Windows (WSL), macOS.
- Python ≥ 3.8, PostgreSQL ≥ 12.
- Tools: pip, nodejs, wkhtmltopdf.

3.2 Installation
3.2.1 Via GitHub
1 git clone https :// github . com / odoo / odoo . git -b 18.0
2 cd odoo
3 pip install -r requirements . txt
4 ./ odoo - bin

3.2.2 Via Docker


1 docker pull odoo :18
2 docker run -p 8069:8069 -- name odoo18 -v odoo - data :/ var / lib /
postgresql / data odoo :18

3.2.3 Via apt-get


1 sudo apt - get update
2 sudo apt - get install odoo

3.3 Initial Configuration


[options]
db_host = localhost
db_port = 5432
db_user = odoo
db_password = password
addons_path = /path/to/addons

5
4 Development and Customization

4.1 Creating a Module


custom_module/
__init__.py
__manifest__.py
models/
custom_model.py
views/
custom_view.xml
controllers/
custom_controller.py

1 {
2 ’ name ’: ’ Custom Module ’ ,
3 ’ version ’: ’ 1.0 ’ ,
4 ’ depends ’: [ ’ base ’] ,
5 ’ data ’: [ ’ views / custom_view . xml ’] ,
6 }

4.2 ORM
1 record = self . env [ ’ model . name ’ ]. create ({ ’ field ’: ’ value ’ })
2 record . write ({ ’ field ’: ’ new_value ’ })
3 record . unlink ()

4.3 Customizing Views


1 < record id = " view_form_inherit " model = " ir . ui . view " >
2 < field name = " inherit_id " ref = " module . view_form " / >
3 < field name = " arch " type = " xml " >
4 < xpath expr = " // field [ @name = ’ field_name ’] " position = " after "
>
5 < field name = " new_field " / >
6 </ xpath >
7 </ field >
8 </ record >

6
5 Administration and Maintenance

5.1 Users and Permissions


- Roles via the interface.
- Groups in security/[Link].

5.2 Backup and Restoration


5.2.1 Backup
1 pg_dump -U odoo -d dbname > backup . sql

5.2.2 Restoration
1 psql -U odoo -d dbname < backup . sql

7
6 Integration with Third-Party Systems

6.1 REST/OAuth API


1 import requests
2 url = " http :// localhost :8069/ api / v1 / resource "
3 headers = { " Authorization " : " Bearer token " }
4 response = requests . get ( url , headers = headers )

8
7 Best Practices and Recommendations

7.1 Development Best Practices


- Follow PEP8 conventions.
- Document functions and classes.

7.2 Security
Protect your API endpoints with OAuth tokens. This ensures that only authorized users
can access protected resources.

You might also like