Book Image

Odoo 14 Development Cookbook - Fourth Edition

By : Parth Gajjar, Alexandre Fayolle, Holger Brunn, Daniel Reis
5 (2)
Book Image

Odoo 14 Development Cookbook - Fourth Edition

5 (2)
By: Parth Gajjar, Alexandre Fayolle, Holger Brunn, Daniel Reis

Overview of this book

With its latest iteration, the powerful Odoo framework released a wide variety of features for rapid application development. This updated Odoo development cookbook will help you explore the new features in Odoo 14 and learn how to use them to develop Odoo applications from scratch. You'll learn about the new website concepts in Odoo 14 and get a glimpse of Odoo's new web-client framework, the Odoo Web Library (OWL). Once you've completed the installation, you'll begin to explore the Odoo framework with real-world examples. You'll then create a new Odoo module from the ground up and progress to advanced framework concepts. You'll also learn how to modify existing applications, including Point of Sale (POS) applications. This book isn't just limited to backend development; you'll discover advanced JavaScript recipes for creating new views and widgets. As you progress, you'll learn about website development and become a quality Odoo developer by studying performance optimization, debugging, and automated testing. Finally, you'll delve into advanced concepts such as multi-website, In-App Purchasing (IAP), Odoo.sh, the IoT Box, and security. By the end of the book, you'll have all the knowledge you need to build impressive Odoo applications and you'll be well versed in development best practices that will come in handy when working with the Odoo framework.
Table of Contents (26 chapters)

What this book covers

Chapter 1, Installing the Odoo Development Environment, explains how to create a development environment for Odoo, start Odoo, create a configuration file, and activate Odoo's developer tools.

Chapter 2, Managing Odoo Server Instances, provides useful tips for working with add-ons installed from GitHub and organizing the source code of your instance.

Chapter 3, Creating Odoo Add-On Modules, explains the structure of an Odoo add-on module and gives a step-by-step guide for creating a simple module from scratch.

Chapter 4, Application Models, focuses on the Odoo model structure, and explains all types of fields with their attributes. It also covers techniques to extend existing database structures via extended modules.

Chapter 5, Basic Server-Side Development, explains various framework methods to perform CRUD operations in Odoo. This chapter also includes different ways to inherit and extend existing methods.

Chapter 6, Managing Module Data, shows how to ship data along with the code of your module. It also explains how to write a migration script when a data model provided by an add-on is modified in a new release.

Chapter 7, Debugging Modules, proposes some strategies for server-side debugging and an introduction to the Python debugger. It also covers techniques to run Odoo in developer mode.

Chapter 8, Advanced Server-Side Development Techniques, covers more advanced topics of the ORM framework. It is useful for developing wizards, SQL views, installation hooks, on-change methods, and more. This chapter also explains how to execute raw SQL queries in the database.

Chapter 9, Backend Views, explains how to write business views for your data models and how to call server-side methods from these views. It covers the usual views (list view, form view, and search view), as well as some complex views (kanban, graph, calendar, pivot, and so on).

Chapter 10, Security Access, explains how to control who has access to what in your Odoo instance by creating security groups, writing access control lists to define what operations are available to each group on a given model, and, if necessary, by writing record-level rules.

Chapter 11, Internationalization, shows how language translation works in Odoo. It shows how to install multiple languages and how to import/export translated terms.

Chapter 12, Automation, Workflows, Emails, and Printing, illustrates the different tools available in Odoo to implement business processes for your records. It also shows how server actions and automated rules can be used to support business rules. This also covers the QWeb report to generate dynamic PDF documents.

Chapter 13, Web Server Development, covers the core of the Odoo web server. It shows how to create custom URL routes to serve data on a given URL, and also shows how to control access to these URLs.

Chapter 14, CMS Website Development, shows how to manage a website with Odoo. It also shows how to create and modify beautiful web pages and QWeb templates. This chapter also includes how to create dynamic building blocks with options. It includes some dedicated recipes for managing SEO, user forms, UTM tracking, sitemaps, and fetching visitor location information. This chapter also highlights the latest concept of a multi-website in Odoo.

Chapter 15, Web Client Development, dives into the JavaScript part of Odoo. It covers how to create a new field widget and make RPC calls to the server. This also includes how to create a brand-new view from scratch. You will also learn how to create onboarding tours.

Chapter 16, The Odoo Web Library (OWL), gives introductions to the new client-side framework called OWL. It covers the life cycle of the OWL component. It also covers recipes to create a field widget from scratch.

Chapter 17, In-App Purchasing with Odoo, covers everything related to the latest concept of IAP in Odoo. In this chapter, you will learn how to create client and service modules for IAP. You will also learn how to create an IAP account and draw IAP credits from the end user.

Chapter 18, Automated Test Cases, includes how to write and execute automated test cases. This includes both server-side and client-side test cases. This chapter also covers tour test cases and setting up headless Chrome to get videos for failed test cases.

Chapter 19, Managing, Deploying, and Testing with Odoo.sh, explains how to manage, deploy, and test Odoo instances with the PaaS platform, Odoo.sh. It covers how you can manage different types of instances, such as production, staging, and development. This chapter also covers various configuration options for Odoo.sh.

Chapter 20, Remote Procedure Calls in Odoo, covers different ways to connect Odoo instances from external applications. This chapter teaches you how to connect to and access the data from an Odoo instance through XML-RPC, JSON-RPC, and the odoorpc library.

Chapter 21, Performance Optimization, explains the different concepts and patterns used to gain performance improvements in Odoo. This chapter includes the concept of prefetching, ORM-cache, and profiling the code to detect performance issues.

Chapter 22, Point of Sale, covers customization in a PoS application. This includes customization of the user interface, adding a new action button, modifying business flow, and extending customer recipes.

Chapter 23, Managing Emails in Odoo, explains how to manage email and chatter in Odoo. It starts by configuring mail servers and then moves to the mailing API of the Odoo framework. This chapter also covers the Jinja2 and QWeb mail templates, chatters on the form view, field logs, and activities.

Chapter 24, Managing IoT Box, gives you the highlights of the latest hardware of IoT Box. This chapter covers how to configure, access, and debug IoT Box. It also includes a recipe to integrate IoT Box with your custom add-ons.