Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Conventions used
Sections
Getting ready
How to do it…
How it works…
There's more…
See also
Get in touch
Reviews
Installing the Odoo Development Environment
Introduction
Easy installation of Odoo from source
Getting ready
How to do it...
How it works...
Virtual environments
PostgreSQL configuration
Git configuration
Downloading the Odoo source code
Starting the instance
There's more…
Managing Odoo environments using the start command
Getting ready
How to do it...
How it works...
There's more…
Managing Odoo server databases
Getting ready
How to do it...
Accessing the database management interface
Setting or changing the master password
Creating a new database
Duplicating a database
Removing a database
Backing up a database
Restoring a database backup
How it works...
There's more...
Storing the instance configuration in a file
How to do it...
How it works...
Activating the Odoo developer tools
How to do it...
How it works...
Updating Odoo from source
Getting ready
How to do it...
How it works...
Managing Odoo Server Instances
Introduction
Configuring the addons path
Getting ready
How to do it…
How it works…
There's more…
Updating the addon modules list
Getting ready
How to do it…
How it works…
Standardizing your instance directory layout
How to do it…
How it works…
See also
Installing and upgrading local addon modules
Getting ready
How to do it…
From the web interface
From the command line
How it works…
Addon installation
Addon update
There's more…
Installing addon modules from GitHub
Getting ready
How to do it…
How it works…
There's more…
Applying changes to addons
Getting ready
How to do it…
How it works…
See also
Applying and trying proposed pull requests
Getting ready
How to do it…
How it works…
There's more…
Server Deployment
Introduction
Installing Odoo for production use
Getting ready
How to do it...
How it works...
There's more...
Server dimensioning
PostgreSQL tuning
Source code version
Backups
See also
Adapting the configuration file for production
Getting ready
How to do it...
How it works...
There's more...
Setting up Odoo as a system service
Getting ready
How to do it...
How it works...
There's more...
Configuring a reverse proxy and SSL with nginx and Let's Encrypt
Getting ready
How to do it...
How it works...
There's more...
See also
Using buildout for repeatable builds
Getting ready
How to do it...
How it works...
There's more...
Temporary merges
Freezing a buildout
See also
Using Docker to run Odoo
Getting ready
How to do it…
Building a Docker image
Running Odoo in a container
How it works…
There's more…
Creating Odoo Addon Modules
Introduction
Creating and installing a new addon module
Getting ready
How to do it...
How it works...
Completing the addon module manifest
Getting ready
How to do it...
How it works...
There's more…
Organizing the addon module file structure
Getting ready
How to do it...
How it works...
Adding models
Getting ready
How to do it...
How it works...
Adding Menu Items and Views
Getting ready
How to do it...
How it works...
Adding Access Security
Getting ready
How to do it...
How it works…
Using scaffold to create a module
Getting ready
How to do it...
How it works...
Application Models
Introduction
Defining the Model representation and order
Getting ready
How to do it...
How it works...
There's more...
Adding data fields to a Model
Getting ready
How to do it...
How it works...
There's more...
Using a float field with configurable precision
Getting ready
How to do it...
How it works...
Adding a monetary field to a Model
Getting ready
How to do it...
How it works...
Adding relational fields to a Model
Getting ready
How to do it...
How it works...
There's more...
Adding a hierarchy to a Model
Getting ready
How to do it...
How it works...
There's more...
Adding constraint validations to a Model
Getting ready
How to do it...
How it works...
Adding computed fields to a Model
Getting ready
How to do it...
How it works...
Exposing related fields stored in other Models
Getting ready
How to do it...
How it works...
There's more...
Adding dynamic relations using Reference fields
Getting ready
How to do it...
How it works...
Adding features to a Model using inheritance
Getting ready
How to do it...
How it works...
There's more...
Using abstract Models for reusable Model features
Getting ready
How to do it...
How it works...
There's more...
Using delegation inheritance to copy features to another Model
Getting ready
How to do it...
How it works...
There's more...
Basic Server-Side Development
Introduction
Defining model methods and using the API decorators
Getting ready
How to do it...
How it works...
There's more...
See also
Reporting errors to the user
Getting ready
How to do it...
How it works...
There's more...
Obtaining an empty recordset for a different model
Getting ready
How to do it...
How it works...
See also
Creating new records
Getting ready
How to do it...
How it works...
There's more…
Updating values of recordset records
Getting ready
How to do it...
How it works...
There's more...
Searching for records
Getting ready
How to do it...
How it works...
There's more...
Combining recordsets
Getting ready
How to do it...
How it works...
There's more...
Filtering recordsets
Getting ready
How to do it...
How it works...
There's more...
Traversing recordset relations
Getting ready
How to do it...
How it works...
There's more...
See also
Extending the business logic defined in a Model
Getting ready
How to do it...
How it works...
There's more...
Extending write() and create()
Getting ready
How to do it...
How it works...
There's more...
Customizing how records are searched
Getting ready
How to do it...
How it works...
There's more...
See also
Module Data
Introduction
Using external IDs and namespaces
How to do it...
How it works...
There's more...
See also
Loading data using XML files
How to do it...
How it works...
There's more...
Using the noupdate and forcecreate flags
How to do it...
How it works...
There's more...
See also
Loading data using CSV files
How to do it...
How it works...
There's more...
Loading data using YAML files
How to do it...
How it works...
There's more...
See also
Addon updates and data migration
How to do it...
How it works...
There's more...
See also
Debugging and Automated Testing
Introduction
Producing server logs to help debug methods
Getting ready
How to do it...
How it works...
There's more...
See also
Using the Odoo shell to interactively call methods
Getting ready
How to do it...
How it works...
Using the Python debugger to trace method execution
Getting ready
How to do it...
How it works...
There's more...
See also
Writing tests for your module using Python unit tests
Getting ready
How to do it...
How it works...
There's more...
Running server tests
Getting ready
How to do it...
How it works...
There's more...
Using the Odoo Community Association maintainer quality tools
Getting ready
How to do it...
How it works...
There's more...
Using Pylint to check your code
Using Flake8 to check your code
Advanced Server-Side Development Techniques
Introduction
Changing the user performing an action
Getting ready
How to do it...
How it works...
There's more...
See also
Calling a method with a modified context
Getting ready
How to do it...
How it works...
There's more...
See also
Executing raw SQL queries
Getting ready
How to do it...
How it works...
There's more...
See also
Writing a wizard to guide the user
Getting ready
How to do it...
How it works...
There's more...
Using the context to compute default values
Wizards and code reuse
Redirecting the user
Defining onchange methods
Getting ready
How to do it...
How it works...
There's more...
Calling onchange methods on the server side
Getting ready
How to do it...
How it works...
There's more...
See also
Defining a model based on a SQL view
Getting ready
How to do it...
How it works...
There's more...
Backend Views
Introduction
Adding a menu item and window action
How to do it...
How it works...
There's more...
See also
Having an action open a specific view
How to do it...
How it works...
ir.actions.act_window.view
Adding content and widgets to a form view
How to do it...
How it works...
Form
Header
Button
Group
Field
General attributes
Other tags
There's more...
See also
Adding buttons to forms
How to do it...
How it works...
There's more...
Passing parameters to forms and actions – Context
Getting ready
How to do it...
How it works...
There's more...
See also
Defining filters on record lists – Domain
How to do it...
How it works...
There's more...
Operators
Pitfalls
See also
List views
How to do it...
How it works...
There's more...
Search views
How to do it...
How it works...
There's more...
See also
Changing existing views – View inheritance
How to do it...
How it works...
There's more...
Order of evaluation in view inheritance
See also
Document-style forms
How to do it...
How it works...
Dynamic form elements using attrs
How to do it...
How it works...
There's more...
Embedded views
How to do it...
How it works...
There's more...
Kanban views
How to do it...
How it works...
There's more...
Showing kanban cards in columns according to their state
Getting ready
How to do it...
How it works...
There's more...
Calendar and gantt views
How to do it...
How it works...
There's more...
Graph and pivot views
Getting ready
How to do it...
How it works...
There's more...
Access Security
Creating security groups and assigning them to users
Getting ready
How to do it...
How it works...
There's more...
Adding security access to models
Getting ready
How to do it...
How it works...
There's more...
Limiting access to fields in models
How to do it...
How it works...
There's more...
Limiting record access using record rules
Getting ready
How to do it...
How it works...
There's more...
Using security groups to activate features
Getting ready
How to do it...
How it works...
There's more...
Internationalization
Installing a language and configuring user preferences
Getting ready
How to do it...
How it works...
There's more...
Configuring language-related settings
Getting ready
How to do it...
How it works...
There's more...
Translating texts through the web client user interface
Getting ready
How to do it...
How it works...
There's more...
Exporting translation strings to a file
Getting ready
How to do it...
How it works...
There's more...
Using gettext tools to ease translations
How to do it...
How it works...
There's more...
Importing translation files into Odoo
Getting ready
How to do it...
How it works...
Automation, Workflows, Emails, and Printouts
Introduction
Using Kanban stages and features
Getting ready
How to do it...
How it works...
There's more...
Creating server actions
Getting ready
How to do it...
How it works...
There's more...
Using Python code server actions
Getting ready
How to do it...
How it works...
There's more...
Using automated actions on time conditions
Getting ready
How to do it...
How it works...
There's more...
Using automated actions on event conditions
Getting ready
How to do it...
How it works...
There's more...
Adding messaging and tracking features
Getting ready
How to do it...
How it works...
There's more...
Email templates
Getting ready
How to do it...
How it works...
There's more…
See also
QWeb-based PDF reports
Getting ready
How to do it...
How it works...
There's more...
Producing LibreOffice-based reports with Py3O
Getting ready
Getting the report_py3o module in Odoo
Installing and running a py3o.fusion server
How to do it...
How it works...
Placeholders
Control structures
There's more...
Web Server Development
Introduction
Making a path accessible from the network
Getting ready
How to do it...
How it works...
odoo.http.route
Return values
odoo.http.request
There's more...
See also
Restricting access to web accessible paths
Getting ready
How to do it...
How it works...
There's more...
Consuming parameters passed to your handlers
How to do it...
How it works...
There's more...
See also
Modifying an existing handler
Getting ready
How to do it...
How it works…
There's more...
See also
Using the RPC API
How to do it...
How it works...
XMLRPC
JSONRPC
There's more...
See also
Web Client Development
Introduction
Creating custom widgets
Getting ready
How to do it...
How it works...
There’s more...
See also
Using client-side QWeb templates
Getting ready
How to do it...
How it works...
There’s more...
See also
Making RPC calls to the server
Getting ready
How to do it...
How it works...
There’s more...
See also
Writing tests for client-side code
Getting ready
How to do it...
How it works...
There’s more...
See also
Debugging your client-side code
Getting ready
How to do it...
How it works...
There’s more...
CMS Website Development
Introduction
Extending CSS and JavaScript for the website
Getting ready
How to do it...
How it works...
There's more...
Creating or modifying templates – QWeb
Getting ready
How to do it...
How it works...
Loops
Attributes
Fields
Conditionals
Inline editing
There's more...
See also
Offering snippets to the user
Getting ready
How to do it...
How it works...
There's more...
Other Books You May Enjoy
Leave a review - let other readers know what you think
← Prev
Back
Next →
← Prev
Back
Next →