Mastering Odoo 9 Development - Technical Fundamentals
4.3 (800 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,086 students enrolled

Mastering Odoo 9 Development - Technical Fundamentals

Everything you need to get started developing Odoo applications. No previous Python experience required.
4.3 (800 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,086 students enrolled
Created by Odoo Class Videos
Last updated 3/2016
English [Auto], Spanish [Auto]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 10.5 hours on-demand video
  • 11 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Learn how to setup your Ubuntu server for development
  • Install Odoo 9 source code from github
  • Understand the Odoo framework
  • Customize Odoo 9 using debug mode
  • Develop custom Odoo 9 Applications
  • Understand enough Python to make basic Odoo applications
  • Learn to Create Calculated and Related Fields
  • Create a custom report using qweb templates
  • Use Python to translate and import data into Odoo
  • Have a solid foundation for developing more advanced Odoo applications
  • Basic computer skills
  • You should understand the basics of using Odoo from a functional perspective
  • You should be able to edit files
  • Previous experience in programming is helpful but not required
  • It is also helpful to understand a little bit about XML
  • You should be reasonably computer savvy

Mastering Odoo 9 Development - Technical Fundamentals is a comprehensive Odoo Technical Training course from Odoo Class that is designed to take you from the beginning of installing Odoo all the way up to developing Odoo Applications. At the end of this course you will understand how the Odoo Framework fits together and have a strong foundation for building real Odoo applications.

As the API has not changed fundamentally since Odoo 8... this course can be utilized in versions Odoo 8 to Odoo 11 with relatively small changes. If you are following along with the course you may wish to use Odoo 9 to make things just a bit easier. However, both Odoo 10 and Odoo 11 development are very similar to Odoo 9 and you should be able to make the transition without too much difficulty.  

OdooClass continues to produce updated videos for Odoo and we hope in the future to bring more of them to the Udemy platform.

NOTICE - If you are an active Odoo Class subscriber, this video is included with your subscription. Please login to your Odoo Class subscription to get access to this course.

Odoo Class is recognized as the #1 source of Odoo Video Training and Workshops. If you Google for Odoo Class, you will quickly see that this is certainly not our first successful video course.

If you want to Learn to Customize Odoo 9 or become an Odoo Developer, you have come to the right place!

If you are looking to learn how to develop in Odoo or want a complete comprehensive course to help you fill in some of the missing pieces you have been picking up trying to self teach yourself Odoo development... this is the course for you!

We have created over 100 Odoo videos over the past two years. Now we've created the definitive Odoo 9 Development Master Course and made it available here on Udemy.

Here are some testimonials from Odoo Class Video subscribers:

I just wanted to say that the videos are great and have really opened my eyes to the capabilities with Odoo.

- Joey K.

I recommend Odoo Class for anyone want to learn Odoo, they have a very high quality videos for both functional and technical

- Vyas S.

I find your videos real easy to follow and often revert back to them as a point of reference…

- Peter Y.

First off I want to comment on all of the quality video editions you have recently added to your library. They have been tremendously helpful and I have been recommending your service to many people.

- John P.

Now we have taken what we have learned from creating more than 100 video training courses for Odoo and brought that knowledge here to create our first Udemy full length course, Mastering Odoo 9 Development.

Remember, if you are an Odoo Class subscriber you already have access to this course as part of your subscription.

What makes this Odoo course special?

1. We make it easy for those that are new to programming

While it certainly will be a little easier for someone who already knows some Python, this course does not require you to have any previous knowledge of Python.

Even if you have virtually no experience in computer programming we walk you through learning the Odoo framework in such a way that even a relative beginner can understand. In fact we show you several ways you can customize Odoo without even writing a single line of Python code!

If you are new to Python, we teach you how to add fields to any Odoo model, customize Odoo views, and creating you own menus and actions. Already know Python? That will make it all the easier. Just because we assume you don't know Python doesn't mean the course moves slowly. Within the 30 minutes of finishing your Odoo install you will be on your way to customizing Odoo!

2. The course helps you get Odoo 9 installed and developing RIGHT NOW!

Even if you have never used Ubuntu before, we show you the basics on how to get around Ubuntu and enter the required commands to setup an Odoo server right on your Windows machine. You learn how to setup your Ubuntu server with Odoo. Naturally if you have never setup Ubuntu, you may need to watch the video more than once, Google a few commands, or ask a few questions in our help forum. If you wish to run a production Odoo server you will need to supplement your skills. Still, if you don't know Ubuntu... this video will help you get started and you can follow along step-by-step with this course.

3. This Video is Designed to Help you Understand the Odoo framework

Instead of just showing you code examples we begin by going through the Odoo Framework and explaining how models, views and actions work together to make Odoo applications. You learn to customize Odoo without writing code making it easy to both understand the framework and prepare you for building powerful Odoo Applications.

We cover major development topics you will need for real Odoo customization and development.

  • Learn the power of the Odoo Framework
  • See how to customize Odoo applications without writing a single line of code!
  • Create your own Odoo Application from scratch
  • Learn to extend Odoo models with your own custom fields
  • Modify views to display the information the users require
  • Create your own custom search filters
  • Learn how to create your own custom menus.
  • Add functional fields to your models that can perform calculations
  • Learn how to use domain and context to limit data and create dynamic applications
  • Write utility scripts in Python to quickly translate and import data into Odoo
  • Learn how to modify Odoo reports
  • Get a solid foundation you can use to create powerful Odoo Applications

Will this video teach you everything you need to know about Odoo? No. The purpose is to give you a solid foundation and understanding of the Odoo framework and give you essential knowledge in Mastering Odoo Development.

4. Mastering Odoo Development uses a Real Business Example

While this is our first Udemy course, Odoo Class has created more than 100 professional Odoo videos. In all our video courses we always look at how to use Odoo to solve real world business problems. Unlike many video courses that just show you a set of disconnected examples or walk you through a tutorial that is already on other websites... this video is based on a real world example. Using a requirements driven approach we see how to extend product records with far more detailed information.

5. Updated Content - A strong foundation for becoming an expert Odoo Developer

This video course will continue to be updated to include all the important topics for becoming a solid Odoo Developer. With this course you will have a solid foundation to begin exploring more advanced topics and videos that we will produce both here on Udemy and on Odoo Class.

Please provide us feedback and additional content and future course videos we can continue to provide to the Odoo community.

Who this course is for:
  • Anyone wishing to learn how to develop Odoo Applications
  • Anyone wishing to customize Odoo
  • Anyone who would like to better understand the Odoo Framework
Course content
Expand all 59 lectures 10:16:18
+ Welcome to Mastering Odoo 9 Development - Technical Fundamentals
1 lecture 01:04

In this lecture we introduce you to the overall course curriculum and the primary goals for this course.

Preview 01:04
+ Setting up an Ubuntu Server and Installing Odoo 9
5 lectures 45:51

In this lecture we walk through the basics of download VMware Workstation player for windows. VMware Workstation Player is a powerful free application (for non-commercial use) that allows you to install and manage a nearly unlimited number of virtual servers right within your Windows workstation. You don't need to purchase any new hardware or sign up for a hosting service to begin using Odoo right away.

After downloading and installingg VMWare Workstation we then go to to download the actual Ubuntu server, in this case the desktop edition of Ubuntu, that we will use to install Odoo and setup our development environment.

Preview 05:41

In this video you will see how to install Ubuntu 14.04 desktop from scratch, setup your development user and how to pull up terminal window.

Preview 11:34

In this video we finish up our Ubuntu install by making sure all the patches are applied. We reboot our server to make sure everything is operational. Next the video walks you through how to install Postgresql and configure your development user to have permission to create Odoo databases.

Finish updating Ubuntu and installing Postgres Server

In this video we install the required dependencies to successfully run Odoo.

Installing Odoo Dependencies

In this lecture you learn to use GIT to download the Odoo source and then start the Odoo server.

Downloading the Odoo 9 source code and starting the Odoo Server
+ Understanding the Odoo framework and basic Odoo customization
11 lectures 01:40:07

In this lecture you will get introduced to our business example we will use through the course and create the Odoo database and basic setup required for the example.

Introducing our development example and creating our development database

In this lecture you begin learning how the Odoo framework fits together by understanding the models that make up the foundation of all Odoo applications. To better understand the framework you learn how to use the debug mode to examine forms and see behind the scenes how Odoo fits together.

Understanding Odoo models using the Odoo Debug Mode

Using the debug mode we explore other Odoo models and begin discussing the basics of how models in Odoo work together to create powerful applications. By the end of the lecture you should be well on your way to understand how models make up the core foundation of Odoo applications.

Learning more about Odoo models

In this lecture we begin preparing to add a custom field to a model within our Odoo database. We take this opportunity to demonstrate how to make a backup of your database and the importance of also testing your backup to make sure it can be restored properly.

Backup and Restore your Odoo Database

Now we are really starting to make some changes to our Odoo application! We add our first field to an Odoo model and use what we have learned to verify that we have been successful.

Understanding models in Odoo - Creating our first field

Now that we understand the importance of Odoo models we turn our attention to understanding Odoo views. Views are the forms, tree views, kanbans, and other visual interfaces you interact with when using Odoo. By the end of the lecture you will be comfortable with the basics of adding fields and customizing forms using the debug mode in Odoo.

Understanding and modifying Odoo Views in Debug Mode

Building on our basic understanding of customizing views we learn to edit a tree view and then get into some of the basics of re-positioning fields within Odoo views.

Add custom fields to tree views and learn to position fields in views

Now that you understand the basics of Odoo models and views you are ready to learn about actions. At the end of this lecture you will really begin to start understanding how the overall Odoo framework manages models, views and actions.

Learn about Odoo actions and how they work with models and views

In this lecture we look at one of the most common interface elements that are used to initiate actions... menus. Menus are used throughout Odoo applications to trigger actions and with that present the views that are appropriate for that action.

Learn how Odoo menus, actions, and views fit together

When it comes to meeting the requirements of a specific business or industry one of the most common requests is custom filters that allow users to access the records that are most important to their task. In this lecture learn how to create your own custom search views.

Learn how to customize Odoo search views

This lecture wraps up all we have learned and creates a menu to call our new custom action. At the end of this lecture and this section you should have a strong general understanding of the Odoo framework. Even if you don't choose to go on and develop your own Odoo applications you will have the knowledge to customize models, views, actions and menus. Essential skills for making simple Odoo customization's... without creating a single Python file. More importantly you will be well prepared to begin writing your first custom Odoo Application.

Create a custom menu and action in Odoo
+ Create your first Odoo Application
6 lectures 01:16:13

In less than 10 minutes you will have created all the directories and files as well as the basic structure required for your very first Odoo Appplication.

Learn the fundamentals for creating an Odoo application in 10 minutes

Learn to install and test your application.

Installing your custom Odoo Application

In this lecture we learn to add an additional field to an existing Odoo model. To make it easy to understand, we are adding the same field we added through debug mode in the section on Understanding the Odoo Framework. This is a big step in learning how to extend Odoo applications and meet essential business requirements.

Adding a custom field to your Odoo application

One of the primary tasks of an Odoo developer is to modify views to better meet the needs of a given business. Here we get started at learning how to create custom Odoo applications that modify existing Odoo views with the new field we added in the previous lecture.

Create a custom view to display your new field

Here we continue to reinforce what we have learned about extending views with our custom field. This course is not designed like Odoo documentation or online documentation. It is designed to give you enough practice with developing Applications for Odoo that you can really begin Mastering Odoo Development. This lecture also begins to introduce you to how you can re-position fields within a view.

Exercise: Add new fields to your Odoo model and Tree view

In the past few lectures we looked at how to modify tree views (often known as list views) with our new custom fields. In this lecture we take what we have learned and apply it to customizing form views with our custom fields.

Add a customized form view to your Odoo application
+ Odoo Python Primer
6 lectures 49:46

This very first lecture introduces you to the basics of Python. You learn how to create a simple Python program, the basics of using variables, and how to print our results out the console.

Getting Started with Python Development

One of the most powerful features of Python is the ability to utilize powerful libraries that can be used to extend the power of your Python programs. This is an important lecture as Odoo has libraries that must be referenced from within your Odoo applications in order to leverage the Odoo framework. We then go on to see how to utilize a simple library that we import and then perform basic loops in Python.

Learn to Import Libraries and Create Basic Loops

This lecture introduces the power of lists. Lists and collections are used frequently within Odoo. Here you will begin learning some of the basics that will make it much easier for you to understand the Odoo framework and source code.

Creating and Looping through Lists in Python

This is an exercise lecture in which you practice what you have learned so far to create your own lists.

Exercise: Create your own list of Toys in Python and Print them

Python dictionaries are powerful data structures that are used throughout the Odoo framework. In this lecture we examine the structure of Python dictionaries so that you will have the basic knowledge you need to use them within Odoo.

Understanding the Basics of Python Dictionaries

When writing programs in Python or any other language for that matter, it's important that you understand how to keep your code modular and avoid single routines that are hundreds of lines long. This lecture teaches you how you can create a simple re-usable method in Python.

Creating Custom Methods to Organize your Python Code
+ Improving your Odoo Development Skills
5 lectures 01:06:45

Up to this point we have used Nano, a built in editor that comes installed with Ubuntu 14.04. While it is important to know how to use the simple tools like Nano, there are far better solutions for editing code. In this lecture we learn how to install Eclipse, a robust editor that makes it far easier to edit our application.

Installing Eclipse to Improve your Odoo Development Environment

Of all the lectures in this entire course, this lecture maybe the most important for expanding your skills as an Odoo developer and to put yourself on the path to Mastering Odoo Development. The best teacher you will ever find on Odoo Development is the Odoo source code itself. In this lecture you will learn how to navigate the Odoo source code and how to use the search features within Eclipse to find code that can be helpful in building your Odoo application. If you want a deep understanding of the Odoo framework this is where you really need to devote your time and efforts.

Looking at the Odoo source code and Understanding the Odoo Framework

In this lecture we expand our application to include an entire new menu and action. Building on the previous lecture we take a look at the Odoo source in order to find the syntax we need for our new menu and action.

Adding a Custom Menu and Action to your Odoo Application

Now, with our new custom menu and action in place, we learn how to use domains to filter records.

Learn to use Domain to Filter Records in Odoo Actions

In this lecture we learn how to re-factor or improve our application by better utilizing the Odoo framework. We introduce students here to one of the biggest mistakes you can make in building Odoo applications and how to both avoid and correct applications that are on the wrong track.

Improve the Application Design using the Odoo Framework
+ Intermediate Odoo Development
8 lectures 01:37:27

If you have worked through the course to this point you should start feeling pretty comfortable at how Odoo's model, view and action (controller) framework fits together. Now we will use what we have learned to create our own new custom model to expand our application with more functionality.

Adding a New Model to your Odoo Application

As mentioned previously, Mastering Odoo Development is not designed as an Odoo reference but as a course that will get you comfortable creating powerful Odoo applications. This lecture we reinforce how to create menus and actions, this time tying them to our new Odoo model we created in the previous lecture.

Add a Menu and an Action to your New Odoo Model

In previous lectures we looked at the basics of related models and Many2One fields in Odoo. In this lecture you learn how to create related models in your custom application and use Many2One fields to link them together. By the end of this lecture you should really start to understand the incredible power within the Odoo framework. If you are familiar with developing database applications, this lecture will help you really appreciate the Odoo Framework and how easy it is to create powerful applicaitons.

Learn to use Related Models and Many2One Fields

We learn that Odoo will automatically provide us a default form and tree view for our new model. Now we learn how to create our own custom form for our new Odoo models.

Create a Custom Form for your New Models

Notebooks and pages are key components that help us create powerful dynamic interfaces. This lecture demonstrates how to add these useful features to your application.

Using a Notebook and Page to Display your Related Model

Another very critical lecture on your path to Mastering Odoo Development. Computed fields allow you to create your own custom methods that then are automatically re-computed within the Odoo framework. This lecture demonstrates exactly how to create a computed field in Odoo and the method to do the calculation.

Learn How to Create Computed and Functional Fields

This lecture adds a little more complexity to our computed field. Structured as an exercise for the more ambitious Odoo developers in the course we begin to see just how powerful computed fields are and how critical they are to building more complex Odoo applications.

Exercise: Modify Compute Field and Create a Tree View

Odoo's default tree view does not provide much information. In fact it only gives you the name field from your model. In this lecture we create a custom tree view for our new model and learn how to total the column of our custom computed field that we have created in the previous lectures.

Improving your Tree View and Putting a Total in a Column
+ Expanding Your Odoo Application
7 lectures 01:17:14

In the previous section we learned how to create related models. Now in this lecture we build on what we have learned creating two more related models.

Creating Two New Related Models in Your Application

Now that you have had a chance to build up menus and actions, use this exercise lecture to try and add a new menu and action for the model we created in the previous lecture.

Exercise - Create a new Menu and Action for your Model

View inheritance is a powerful aspect of developing Odoo applications. We have touched on it previously in earlier lectures and in this lecture we learn how to extend the notebook in our product form with a new page.

Using View Inheritance to Add a Page to the Product Notebook

When you create new models in Odoo by default they are only accessible by the admin user. Odoo also provides you warning methods in the console to remind you that you have not configured any security for the model. In this lecture we again revisit the power of using the existing Odoo source code for helping us create the security for our new model. Then we see how we can quickly create the necessary entries for our new models.

Using ir.model.access.csv to Configure Model Security

Building what we have learned on related models we see how to tie our two new custom models into our product model. If you have been following the course to this point you should now feel quite comfortable with your ability to extend Odoo. Certainly if you are new to Python or programming in general you may need to review some of the previous lectures or use Google to answer questions that come up, but most of you will now be well on your way to having the core skills required to create powerful Odoo applications.

Adding a Related Field To Your Model

In this lecture we create another computed field that is more complex. This lecture is part instructional, part exercise. It is intentionally designed to ask you to put your own creative twist on the application when creating your own computed field.

Creating a Computed Field with More Complex Calculations

Often times in Odoo you will want to take actions or update data in a field when data in another field changes. In this lecture we learn to use the OnChange decorator to change data within your Odoo application in real time. Even better your view automatically becomes dynamic by just specifying the decorator within your Odoo model.

Learn to use the OnChange Decorator to Create Dynamic Applications
+ Creating Custom Odoo Reports
3 lectures 30:32

Learn to create the basic template for your custom Odoo report and the menu required to call up the report.

Creating the Basic Template and Print Menu for your Custom Report

This lecture addresses one of the most common issues that you will encounter when installing Odoo.

Updating Wkhtmltopdf to Eliminate Odoo Report Warning

Learn to create more complex reports that loop through the data in related models. Even better, these basic skills will be leveraged when developing more advanced Odoo applications and understanding more advanced video courses from Odoo Class.

Learn to Report Data from Related Models in Odoo Reports
+ Understanding the Odoo API
7 lectures 01:11:19

Odoo provides a powerful API that allows you to integrate Odoo with external applications. In this video we learn how to hook up to our Odoo server using the API and verify it is functioning properly.

Learn to Connect to the Odoo API

In this lecture we learn how to authenticate to our Odoo database and do our first basic query to count records in various Odoo models.

Authenticating to the API and using search_count

Using what we have learned previously on Odoo domains, we learn how to filter data through the Odoo API.

Learn How to Filter Data using the Odoo API

One of the common tasks you will encounter as an Odoo developer is importing data from a variety of pre-existing systems. While the CSV import features of Odoo can be useful at times, there are a lot of limitations. This lecture shows you how to access data from an external file. If you are new to Python, you may want to review our Python Primer to better understand the collections of data from the file. We then see how to import that data into the Odoo product listing.

Importing Data from a CSV File into Odoo

One of the great benefits of creating a custom Odoo import routine is that it can be run multiple times. However this only works if you first make sure that record is not already in your Odoo model. In this lecture you upgrade your Odoo import routine so it will check for duplicate records.

Improve your Import Routine to Prevent Duplicate Records

Often times when importing data into Odoo you will need to translate data from one system so that it will match the data as it is stored in Odoo. This means you may need to lookup records from another model in Odoo and then use those results when adding records into your Odoo model. In this lecture you will learn how to search for a specific product category and then use the results to better import your data into Odoo.

Search for Records using the Odoo API

This lecture is structured as an exercise to take what you have learned so far and attempt to update a product in Odoo rather than creating a new one.

Exercise - Update Data Using the Odoo API