Skip to content

Odoo Development Essentials, Article #1: Introduction to Odoo Development Using the Developer Mode

  • Guides

At this stage, we’ve effectively parsed out our Odoo To-do App, which means we need to dive into the ins and outs of the Odoo developer tools before hitting the gas on the actual implementation. While we will rarely use SQL to interact directly with the database engine, it’s important to note that it is possible to do so and might be necessary in particular cases. Conducting business at the pace and complexity of today’s world often comes with some amount of logistical strain across the gamut of your operations.

For user convenience, we can also add predefined filters to the List view’s search box. The search box options are configured through a Search view component. The presentation tier is responsible for presenting data and interacting with the user. It is implemented by the client section of the software, and is responsible for end user interaction.

The source code for the OpenObject framework and the core ERP modules are provided by Belgium-based Odoo S.A. Both the Odoo Enterprise Edition and the Odoo SaaS offer the Odoo Studio App, an interactive application builder. We won’t be using it here, since it is not available for the Odoo Community Edition used as reference for this series of articles. Finally, for the presentation tier, we will add the Menu option for our application, as well as the Views for the To-do Item model. The essential views for a business application are the List view (to browse the existing records), and the Form view (to zoom in to a record and see all the details).

Odoo development¶

Using an Odoo nightly repository, you will be able to install and upgrade Odoo with the help of your traditional package manager (apt or yum). For those who enjoy the Docker reasons to use an outsourced bookkeeping project, officials docker images for Odoo 14, 15 and 16 are provided on Docker Hub. They are not nightly builds per se, but we keep these images updated on a regular basis.

The client software uses remote procedure calls (RPCs) to the Odoo service, running the ORM and the business logic. ORM API calls are sent to the Odoo server for processing, to read, write, verify, or perform any other action. As previously noted, our specification for the app includes a Work Team feature, i.e., the ability to select a list of people that will be working on the task. This is where Odoo’s Partner model, technical name res.partner, comes into play for individual people, companies, and addresses. One special aspect under the presentation tier is that Odoo provides a web client out of the box.

Odoo relies on its object relational mapping (ORM) engine as the interface between the apps and the database. The ORM provides the application programming interface (API) used by the addon modules to interact with the data. For example, the Partner data entity, used for data records like customers or suppliers, is represented by a model.

  • Click to enable developer mode features for the current browser window.
  • For example, the Partner data entity, used for data records like customers or suppliers, is represented by a model.
  • Both the Odoo Enterprise Edition and the Odoo SaaS offer the Odoo Studio App, an interactive application builder.
  • For example, the create() and write() model methods might implement default values or some other automation.

This is useful to debug the web client itself, at the expense of making the web client navigation slower. Odoo 17 was released in November 2023 and is supported until Odoo 20 – the recommended version. Every night, a new set of packages is generated for the branches listed below. This set consists of deb and rpm packages for Debian and RedHat distributions, an exe package for Windows and a source package.

Odoo is a Belgian suite of business management software tools including, for example, CRM, e-commerce, billing, accounting, manufacturing, warehouse, project management, and inventory management. We hope these articles act as a jumping-off point for teachers, trainers, developers with a basic knowledge of Python programming, Odoo development managers, and even experienced Odoo developers. For example, the developer tools can’t add or extend the default ORM methods. For Odoo 10 to 12, the developer mode is enabled in Settings | Dashboard page, in the lower right corner. For Odoo 9 and before, the developer mode is activated in the About dialog window, available from the User menu, in the upper right corner of the web client. Odoo’s unique value proposition is to be at the same time very easy to use and fully integrated.

This set of articles intends to spread basic knowledge about Odoo development in hopes of providing the Odoo community with more autonomy when it comes to building better business applications. The business logic tier will be the basic create, read, update, delete (CRUD) operations handled by the web framework, with no additional automation requirements to support. We’ll use Python code in developer modules to access the full power of the framework.

Odoo applications can be divided into three tiers:

One point of focus here will be to enable adding new to-do items to the list and mark them as complete. For example, add a Buy Eggs item to the list and check the Is Done? Additionally, we’ll make the to-do items private to each user, meaning that the current owner of the to-list is able to only access their own to-do items. Then, to throw some spice to the project, we’ll get to work incorporating a list of people involved with the task, i.e., a Work Team. For our purposes here, we will be using the developer mode and the technical menu, both available in all Odoo editions. Most of what can be built using Odoo Studio can also be built with these tools, but it is important to keep in mind that developer mode is a much more technical approach to building, which might not be so friendly to non-developers.

We can See the Session details in partner module.

From sales and marketing to services and manufacturing, an inability to mold your business software according to your needs can have drastic effects on how your organization gets work done. This is the Mint Systemopen in new window Odoo development environment. To benefit from the best experience of our nightlies, you should use our repositories. They are available for Debian (and similar distributions like Ubuntu) and RedHat distributions (esp. Centos and Fedora).

Odoo13 Development Courses.

Using either a self-hosted instance of Odoo or an Odoo Online instance at odoo.com, we’ll begin digging into the to-do list project and related Odoo practices. Unlock the potential of Odoo 16 with our hands-on development tutorial. Dive deep into the latest version, gaining the expertise to create tailored solutions and integrate seamlessly with the Odoo ecosystem. For the Work Team feature, we’ll leverage the built-in Contacts model (also called a Partner model). At the lowest level, the data tier is responsible for data storage and persistence. Note that PostgreSQL is the only supported database server for Odoo—a design choice made over the database backend.

As a teaching tool, the developer mode features act as a way to introduce how the application configuration data is organized in the Odoo framework, and how the developer mode can be leveraged for simple customizations or prototyping solutions. The Community version is libre software, licensed under the GNU LGPLv3. The Enterprise version has proprietary extra features and services. The source code for the framework and core ERP modules is curated by the Belgium-based Odoo S.A. Odoo is available for both on-premises and ready to use SaaS environment.

The basic CRUD operations can be extended to implement specific business logic. For example, the create() and write() model methods might implement default values or some other automation. Other code methods can be added to enforce validation rules or automatically compute field values.

The To-do Items model should include the Work Team field to select a list of people. Part of the project will be to limit the people that can be selected to be part of Work Teams, which can be executed by modifying the Partner model to add an Is Work Team? Odoo’s extensible architecture allows a large number of freelancers and organizations to develop Odoo Apps or Modules and place them in the marketplace for sale or to be downloaded for free. The main Odoo components are the framework, about 30 core applications (also called official modules), and thousands of community modules.

Leave a Reply

Your email address will not be published. Required fields are marked *