Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Odoo Development Cookbook

You're reading from   Odoo Development Cookbook Build effective business applications using the latest features in Odoo 17

Arrow left icon
Product type Paperback
Published in May 2024
Publisher Packt
ISBN-13 9781805124276
Length 774 pages
Edition 5th Edition
Languages
Tools
Arrow right icon
Authors (6):
Arrow left icon
Holger Brunn Holger Brunn
Author Profile Icon Holger Brunn
Holger Brunn
Husen Daudi Husen Daudi
Author Profile Icon Husen Daudi
Husen Daudi
Daniel Reis Daniel Reis
Author Profile Icon Daniel Reis
Daniel Reis
Jay Vora Jay Vora
Author Profile Icon Jay Vora
Jay Vora
Parth Gajjar Parth Gajjar
Author Profile Icon Parth Gajjar
Parth Gajjar
Alexandre Fayolle Alexandre Fayolle
Author Profile Icon Alexandre Fayolle
Alexandre Fayolle
+2 more Show less
Arrow right icon
View More author details
Toc

Table of Contents (28) Chapters Close

Preface 1. Chapter 1: Installing the Odoo Development Environment 2. Chapter 2: Managing Odoo Server Instances FREE CHAPTER 3. Chapter 3: Creating Odoo Add-On Modules 4. Chapter 4: Application Models 5. Chapter 5: Basic Server-Side Development 6. Chapter 6: Managing Module Data 7. Chapter 7: Debugging Modules 8. Chapter 8: Advanced Server-Side Development Techniques 9. Chapter 9: Backend Views 10. Chapter 10: Security Access 11. Chapter 11: Internationalization 12. Chapter 12: Automation, Workflows, Emails, and Printing 13. Chapter 13: Web Server Development 14. Chapter 14: CMS Website Development 15. Chapter 15: Web Client Development 16. Chapter 16: The Odoo Web Library (OWL) 17. Chapter 17: In-App Purchasing with Odoo 18. Chapter 18: Automated Test Cases 19. Chapter 19: Managing, Deploying, and Testing with Odoo.sh 20. Chapter 20: Remote Procedure Calls in Odoo 21. Chapter 21: Performance Optimization 22. Chapter 22: Point of Sale 23. Chapter 23: Managing Emails in Odoo 24. Chapter 24: Managing the IoT Box 25. Chapter 25: Web Studio 26. Index 27. Other Books You May Enjoy

Understanding the Odoo ecosystem

Odoo provides developers with out-of-the-box modularity and its powerful framework helps them build projects quickly. There are various characters in the Odoo ecosystem that you should be familiar with before embarking on your journey of becoming a successful Odoo developer.

Let’s assume you have a system with 4 CPU cores, 8 GB of RAM, and 30 concurrent Odoo users.

To determine the number of workers needed, divide the number of users by 6. In this case, 30 users divided by 6 equals 5, which is the theoretical number of workers required.

To calculate the theoretical maximum number of workers, multiply the number of CPU cores by 2 and add 1. For 4 CPU cores, (4 * 2) + 1 equals 9, which is the theoretical maximum number of workers.

Based on these calculations, you can use 5 workers for the Odoo users and an additional worker for the cron worker, making a total of 6 workers.

To estimate the RAM consumption, use the following formula:

RAM = Number of workers * ((0.8 * 150) + (0.2 * 1024))

In this case, 6 workers multiplied by ((0.8 * 150) + (0.2 * 1024)) equals approximately 2 GB of RAM.

Therefore, based on these calculations, the Odoo installation will require around 2 GB of RAM.

Odoo editions

Odoo comes in two different editions. The first one is Community Edition, which is open source, while the second one is Enterprise Edition, which has licensing fees. Unlike other software vendors, Odoo Enterprise Edition is just a pack of extra applications that adds extra features or new apps to the Community Edition. The Enterprise Edition runs on top of the Community Edition. The Community Edition comes under the Lesser General Public License v3.0 (LGPLv3) and comes with all of the basic enterprise resource planning (ERP) applications, such as sales, customer relationship management (CRM), invoicing, purchases, and a website builder. Alternatively, the Enterprise Edition comes with the Odoo Enterprise Edition license, which is a proprietary license. Odoo Enterprise Edition has several advanced features, such as full accounting, studio, Voice over Internet Protocol (VoIP), mobile responsive design, e-sign, marketing automation, delivery and banking integrations, Internet of Things (IoT), and more. The Enterprise Edition also provides you with unlimited bugfix support. The following diagram shows that the Enterprise Edition depends on the Community Edition, which is why you need the latter to use the former:

Figure 1.1 – Differences between the Community Edition and Enterprise Edition

Figure 1.1 – Differences between the Community Edition and Enterprise Edition

You can find a full comparison of both editions here: https://www.odoo.com/page/editions.

Note

Odoo has the largest number of community developers among all open source ERPs on the market with 20K+ forks on GitHub, hence why you will find a large number of third-party apps (modules) on the app store. Some of the free apps use an Affero General Public License version 3 (AGPLv3). You cannot use the proprietary license on your app if your application has dependencies on such apps. Apps with an Odoo proprietary license can only be developed on modules that have LGPL or other proprietary licenses.

Git repositories

The entire code base of Odoo is hosted on GitHub. You can post bugs/issues for stable versions here. You can also propose a new feature by submitting a pull request (PR). There are several repositories in Odoo. See the following table for more information:

Repositories

Purpose

https://github.com/odoo/odoo

This is the Community Edition of Odoo. It’s available publicly.

https://github.com/odoo/enterprise

This is the Enterprise Edition of Odoo. It’s available to official Odoo partners only.

https://github.com/odoo-dev/odoo

This is an ongoing development repository. It’s available publicly.

Table 1.1 – Odoo git repositories

Every year, Odoo releases a major release, which is a long-term support version that will last for 3 years, and a few minor versions. Minor versions are mostly used in Odoo’s online Software-as-a-Service (SaaS) offering, meaning that Odoo SaaS users get early access to these features. Major version branches have names such as 17.0, 16.0, 15.0, 14.0, 13.0, and 12.0, while minor version branches have names such as saas-17.1 and saas-17.2 on GitHub. These minor versions are mostly used for Odoo’s SaaS platform. The master branch is under development and is unstable, so it is advisable not to use this for production since it might break your database.

Runbot

Runbot is Odoo’s automated testing environment. Whenever there is a new commit in Odoo’s GitHub branch, Runbot pulls those latest changes and creates the builds for the last four commits. Here, you can test all stable and in-development branches. You can even play with the Enterprise Edition and its development branches.

Every build has a different background color, which indicates the status of the test cases. A green background color means that all of the test cases run successfully and you can test that branch, while a red background color means that some test cases have failed on this branch and some features might be broken on that build. You can view the logs for all test cases, which show exactly what happens during installation. Every build has two databases. The all database has all of the modules installed on it, while the base database only has base Odoo modules installed. Every build is installed with basic demo data, so you can test it quickly without extra configurations.

Note

You can access Runbot at http://runbot.odoo.com/runbot.

The following credentials can be used to access any Runbot build:

  • Login ID: admin Password: admin
  • Login ID: demo Password: demo
  • Login ID: portal Password: portal

Note

This is a public testing environment, so other users might be using/testing the same branch that you are testing.

Odoo app store

Odoo launched the app store a few years back, and it was an instant hit. At the time of writing, over 39,000+ different apps are hosted there. You will find lots of free and paid applications for different versions here. This includes specific solutions for different business verticals, such as education, food industries, and medicine. It also includes apps that extend or add new features to existing Odoo applications. The app store also provides numerous beautiful themes for the Odoo website builder. In Chapter 3, Creating Odoo Add-On Modules, you will learn how to set pricing and currency for your custom module.

You can access the Odoo app store by going to https://www.odoo.com/apps.

You can access Odoo’s themes by going to https://www.odoo.com/apps/themes.

Note

Odoo has open sourced several themes after version 13 and now works with an advanced JavaScript called OWL. We will cover this in Chapter 16. Note that these were paid themes in previous versions. This means that, in Odoo versions 15 and 16, you can download and use those beautiful themes at no extra cost.

Odoo Community Association

Odoo Community Association (OCA) is a non-profit organization that develops/manages community-based Odoo modules. All OCA modules are open source and maintained by Odoo community members. OCA’s GitHub account contains multiple repositories for different Odoo applications. Apart from Odoo modules, it also contains various tools, a migration library, accounting localizations, and so on.

Here is the URL for OCA’s official GitHub account: https://github.com/OCA.

Official Odoo help forum

Odoo has a very powerful framework, and tons of things can be achieved just by using/activating options or by following specific patterns. Consequently, if you run into some technical issues or if you are not sure about some complex cases, then you can post your query on Odoo’s official help forum. Lots of developers are active on this forum, including some official Odoo employees.

You can search for questions or post your new questions by going to https://www.odoo.com/forum/help-1.

Odoo’s eLearning platform

Recently, Odoo has launched a new eLearning platform. This platform provides lots of videos that explain how to use different Odoo applications. At the time of writing, this platform does not have technical videos, just functional ones.

Here is the URL for Odoo’s eLearning platform: https://www.odoo.com/slides.

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime