ODOO Technical Training - v7, v8-11
4.0 (262 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.
1,509 students enrolled

ODOO Technical Training - v7, v8-11

Learn ODOO Technical Training from Basic to Advance Level by ODOO Experts - useful for v7 to v11, all api compatible.
4.0 (262 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.
1,509 students enrolled
Last updated 11/2019
English [Auto]
Current price: $34.99 Original price: $49.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 19 hours on-demand video
  • 1 article
  • 13 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
  • Understand the development concepts and architecture.
  • Develop a new ODOO module.
  • Integrate any third-party tool to ODOO
Course content
Expand all 37 lectures 18:59:54
+ Introduction and History of ODOO
1 lecture 05:23

This is introductory session for the attendees.

You will get to know about history of ODOO, About the editor, About TinyERP, OpenERP, ODOO.

Preview 05:23
+ Technical Fundamental of ODOO Addons
11 lectures 06:54:31

In this video you will learn :-
ODOO Addons module directory structure
__openerp__.py manifest file parameters and its usage
Different dIrectory used to differenciate ODOO tools

Preview 24:36

In this video you can learn :

How to create basic fields.
How to use fields attributes in paritcular fields.
How to create basic views like :- Form, List and search view.
How to create action and Menu and how to bind action on menu.

Preview 38:19

In this video you can learn :-
How to create relation fields, Complex fields and Functional fields.
How to create advance search view like :- Add filter using domain, Add group by on field.
How to set domain In action using domain field.
How to set default values on fields in action using context field.

Writing you first module with relation fields, views, action and menu.

In this video you can learn :-

How to start web-client in developer mode. Once user can activating developer mode than user can easily debug technical information.
Widgets :- Widgets is use for change user inteface. Many widgets are available in ODOO like :- Selection, URL, Radio, email, image, float_time, many2many_tags, many2onebutton, progressbar, handle, password=True, Status bar and priority.

Widgets and Controls in UI.

In this video you can learn :-

-> A domain is a list of criteria used to select a subset of a model's records. Each criteria is a triple with a field name, an operator and a value. Using domain user can search specific records base on specific search criteria.
-> The attrs is an element in ODOO which is responsible to alter the attributes of a field, not the value. The 'attrs' attribute can be used to dynamically change the attributes of view components based on the value of other fields. Buttons in OpenERP use states attribute for dynamic visibility, they too can be used with attrs. It can be used on field, page, group, button and notebook tags. Remember, there is no RPC call ever made because this is a pure client side attribute at view level.
-> The “onchange” mechanism provides a way for the client interface to update a form whenever the user has filled in a value in a field, without saving anything to the database.

Domain - Structure, elements, Dynamic UI Behavious with ATTRS and Onchange.

In this video you can learn :-

-> Views define the way the records of a model are displayed. Each type of view represents a mode of visualization (a list of records, a graph of their aggregation, …). Views can either be requested generically via their type (e.g. a list of partners) or specifically via their id. For generic requests, the view with the correct type and the lowest priority will be used (so the lowest-priority view of each type is the default view for that type). Also you can learn how to use different attributes on field level and view level.
-> The diagram view can be used to display directed graphs of records.
-> Graph views allow aggregated overview and analysis of models, their root element is <graph>. Graph views have 4 display modes, the default mode is selected using the @type attribute.
-> Calendar views display records as events in a daily, weekly or monthly calendar.

Views, Views attribute, Diagram view, Graph view and Calendar view.

The model attributes are nothing but the attributes/ class variables. These are connected with the model. Each of the model attributes have their own significance. For e.g. name is used as the name of the model and a table is created in the database from the _name attribute. similarly _description is used to describe the model. There are list of attributes which can be used with model which are _rec_name, _inherit, _inherits, _sql_constraints, _constraints, _auto, _track and many more.

Model and Class level attributes
Creating a basic Module
13 questions

In this video you can learn :-

The fields parameters are the attributes of the fields for e.g. string will be the label of that field on the view. help would be the tool tip and required, readonly are the attributes that will decide the type of the field whether it should be mandatory or readonly. Similarly there are many other attributes and each attribute has it's own perspecitve.

Fields Parameters.

In this video you can learn :-

The other set of Fields are Complex Fields. These fields are different and complex than basic fields and relational fields. The Complex fields are related field, property field and functional field.
The Related field is used to fetch another field from the relational table. The Property field is a field in which a default values is filled based on the company selected. Very useful in case of multi company environment. The Functional field is used to compute some value from existing fields.

Complex Fields.

In this session you will learn :

Writing and Designing Kanban view,

Set Kanban card content, add widget in Kanban Card and set colours,

Grouping Kanban cards and change record values with Drag-Drop.

Designing Kanban View

In this video you can learn :-

Constraints are set of rules which are used for the validation process before creation, updation or deletion of a record.
There are basically two types of constraint in Odoo.
1. SQL Constraints
-> These are the constraints which will be applied on the table in database. and they will be validated when a query is fired in the database.
2. Object Constraints.
-> These are the constraints which are not applied on the table but are validated via a python code method defined in the model and is validated when create(), write() or unlink() method is called.

There are some fields which are automatically created when a table is created in the datbase. id, create_date, create_uid, write_date, write_uid. id is the primary key of the table and other four fields are very useful to trace the records for audittrail.

Apart from the Automatic fields there are some reserved fields which are used by odoo but they are manually created by the developer. They have certain significance in odoo. For e.g. name field is a required field specially if the model is having many2one relationship from some other model. The M2O field displays the name of the record. active is another one, if the active field is checked only then the record will be displayed in the list else not. The others are state and sequence.

Introduction to Constraints, SQL Constrains and Automatic and Reserved fields.
+ Inheritance
1 lecture 31:01

There are basically two types of Inheritance in Oddo. One of them is used to udpate existing model's fields and it's views. This can be achieved using the _inherit attribute of the model. When you want to use View Inheritance you need to use the tag xpath with it's attributes expr and position to place the field at a specific position in the existing view.

Modifying Existing Models, Inheritance
+ ORM Methods
8 lectures 03:11:58

This session explains the Core of Odoo, the ORM Methods which are responsible for the interaction of Odoo with the Postgresql. The mehods are create, write, read, browse, search, copy, unlink. These methods are used to create, update, read, search, duplicate or delete records. Using these methods you can perform the operations mentioned above in the same model as well as any other model using the object of the model.

Conventional ORM Methods
This session shows how to use the advanced ORM methods which are different from the conventional ORM Methods which deal with the database records for creation, updaion, deletion, fetching, searching etc. These method don't directly deal with the database but are still crucial for displaying the data in the GUI. Using this method we can have default values, our specified views, a string to be displayed in the M2O field can be searched with more than one field in M2O field's search etc.
Advance ORM Methods

This session explains how the action calls from GUI are executed and which methods are called from when any action is performed on GUI and how it reaches to the server to create, update or delete the data and sequence of methods in which manner they are being called.

The Sequence of Methods when an action is done from GUI
Decorators are concept of python which minimizes the efforts of the devlopers to pass the environmental variable every now and then like Cursor, Logged in User and Context.
A Decorator itself is a method, and it uses the concept of nesting. Whenever you call a method which is decorated first the decorator is called and then the method which is decorated is called.
It's also seen how the method calls in the prior version differ from the method calls of Odoo(v8) which are using API decorators
API decorators in ODOO, Difference between prior version and odoo calls
All the ORM methods, Functional field's method, on_change method are using the decorators from the Odoo API.
api.one, api.multi, api.model. api.constrains, api.depends, api.returns, api.v7, api.v8 are most commonly used decorators. Using the decorators the system has become much faster than before and the code has been made simpler avoiding passing the same arguments in all methods.
Most used API Decorators

In this session you will learn :
Overview of How x2many fields differ in DB operations in ORM Framework
x2Many patterns Overview, Create Records into x2many table - create()
Update the records of one2many table with IDS for the parent record - write()
Delete the records of x2many and option to choose to remove from DBs or unink relation
Update the records of Many2many
Unlink Many2Many relational records, but not from DB
Remove all existing relational records and overwrite by new relational records
Module Recorder by SerpentCS in Odoo

Relational Field Operations with API
Overview of ORM Methods and introduction to Basic Models.
Introduction to ORM Model
Most commonly used model for humans (customers, suppliers) is res.partner.
Others are res.users for Users, res.groups for Groups(Roles), res.company for Company. res.country for Country and res.currency for Currency
Few more technical ir.ui.view to store the views of all models, ir.actions.act_window to store the actions of views. ir.ui.menu to store the Menus, ir.model.access to store the Access rights,
ir.model and ir.model.fields to store Models and Fields respectively, ir.module.module to store the modules.
Apart from these models the other models of other official addons modules usef for Products, Warehouse, Invoices, Accounting, Sales, Purcahse, Manufacturing, HR, Project etc.
Preview 25:25

This lecture demonstrates the feature of Mass Editing developed by Serpent Consulting Services Pvt. Ltd. This presents a case of advance Odoo programming where you can develop a feature which will work on the ORM Level.

Preview 05:28
+ Introduction to Different Types of Button and Overview of Linked Views
1 lecture 43:02

There are basically 3 types of button available in Odoo.
1. Object
-> Object button is used to call a model's method.
2. Action
-> Action button is used to call an action to open another view
3. Workflow
-> Workflow button is used to call a signal to make a transition in the workflow.
Apart from these buttons there are Smart buttons which are customizable buttons and become very handy when we have relations with other models.
Just like Action buttons we have act_window which are used as a link from one model to another model but unlike buttons they don't appear in the form view but it appears in the more... dropdown on top of the view. It does the same thing, opening up another view.
We have one more special button which is link button, Instead of a normal button it is displayed as a link and does the same operations like other buttons.

Introduction to Different Types of Button and Overview of Linked Views
+ Creating Demonstration Data and Sequence
1 lecture 23:13

Demo and Data are related to creation of records when we install module. XML, YML files are used to create both Demo and Data. There's a difference between demo and data. Technically when you create a new database you have a checkbox "Load Demonstration Data". When you check this checkbox then the Demo data are created. When you have data they are always created irrespecitve of the checknbox. Demo are used only for demonstration and are not universal for all the industries for e.g. Customers, Products etc. Data are universal for all the industries for e.g. Countries, Currencies etc. Sequence is technically same as our sequence in database. It is used to get a auto incremental number generating. Used mostly for Invoice Numbers, Manufacturing Orders, Sale Orders, Purchase Orders, Journal Entries etc. The Sequence can be generated based on the prefix, suffix, number. You can skip the numbers if you want on a regular interval. for e.g. if you want only odd numbers it is possible to have. Moreover you can also use Company, Year, Month etc in the Sequence as well.

Creating Demonstration Data and Sequence
+ Wizard
1 lecture 47:13

Wizard is nothing but a popup dialogue box which is opened to perform some operation on the fly. Wizard can be used to update some information, create/update/delete records, print reports etc. Wizard works transparently same as our Odoo model i.e we can use read, browse, default_get methods for it. The difference between Odoo Model and Wizard is that the wizard table record is not permanent. It stores data temporarily which elapses after some time.

Creating Wizards
+ Web Services
2 lectures 38:07
Introduction to Web Services.
-> Connecting Odoo using XML-RPC
-> Connecting Odoo using JSON-RPC
Web Services

This lecture comes up with the guidelines for developers who wish to extend the skill of integration to the next level. We here demonstrate how you can integrate the various payment gateways to Odoo. We detail on every minute technical aspect of payment acquirer of Odoo.

Payment Gateway Integration Guideline
+ ODOO Server Parameters and Configuration
1 lecture 50:58

In this session you will learn :
Overview of Command Line Arguments while starting Odoo Server
Most Used Args : Ports, Addons path, Language, dbListDatabase related Operations : hosts, ports, and credentials.
How to see the list of server params and version of Odoo
Specifying a Config file
Saving the command line args into a config file
Loading a module from terminal on specific DB,
--init and -d Update the module from terminal, using -u MODULENAME/ALLUpdate the module from terminal,
without loading demo data Import partial data even the crash is found while importing module
Use Pid file to store process id of the Odoo server.
Running Server with multiple addons path
Load server wide modules by default
Specify Directory to store File data for Document ManagementSystem
XMLRPC Config, TCP port, Server port, proxy mode, log polling portXMLRPC Secure option with port,
Certification file for ssl and PEM file
Filtering the Database options to be seen by end user

Display no Database option to the end user
Load Test file, saving test results of YML files
Logging configurations, loglevels and logfiles.
SMTP Configuration, Database related Operations : hosts, ports, and credentials.
Internationalisation config, loading language from Terminal
Update Module for a specific Database
Load foreign Language from terminal
Load language from GUI, AutoReload server and putting into debug mode
Stopping server after initializing
Setting timezone from Terminal, Setting the age of Virtual memory/Transient records by time,
number of records, Setting the limit of Scheduler calls, Unaccenting the database to store only English chars
Setting up GEOIP database file
Configure workers and limits of CPUs for multiprocessing

ODOO Server Parameters and Configuration
+ Security in Odoo
2 lectures 01:12:06

In this session you will learn :
ODOO Security system for different levels like Menu, Action, Field, Model, Record, Button
ODOO has very easy to setup security systems with Groups, Users, Record Rules and Access Controls on different objects.

Security in Odoo from UI

In this session you will learn :

Configuring Security Groups from Module, Loading Access Rights using csv file in module.

Managing Menu and Action with Groups and Access Control

Record Level Security with Record Rules

Field Level and Button Level Security using groups

Security in ODOO with Module
  • Intermediate level experience in Python Language
  • Understanding of Object Oriented Concepts
  • Basic knowledge of ODOO
  • Eclipse editor configured in the system

Our highly affordable OpenERP/ODOO technical training is typically dedicated to IT professionals, developers and integrators who want to grasp a comprehensive knowledge of technical aspects of OpenERP/ODOO. We ensure that our training programs are delivered by industry professionals who possess extensive experience in technical implementation of OpenERP/ODOO and are aware of the professional challenges that one may face in an organizational environment.

The Course contains video series and material used for demonstrating the course. All code developed during training and material will be provided with the outline. The course will lead you the basic of Odoo programming and the same will be useful for Odoo v7, v8, v9 to v12(master, not released yet). The lessons are non-API and API-compliant both, which will be usable for all Odoo versions.

This training outline is starting from setting up developer environment and installing odoo to expert level customization on Reports, Wizards and Business process workflows. Developers with basic Python knowledge can take this course and build their career in Odoo development as technical consultant.

Who this course is for:
  • ODOO Beginner who wish to customise ODOO Module
  • Technical Experts who worked on OpenERP and want to learn ODOO API
  • ERP expert who wish to customise ODOO technical, Business Process, Reports