售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Title Page
Copyright and Credits
Odoo 11 Development Essentials Third Edition
Packt Upsell
Why subscribe?
PacktPub.com
Contributors
About the author
About the reviewer
Packt is searching for authors like you
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
Get in touch
Reviews
Quick Start – The Odoo Developer Mode and Concepts
The Odoo architecture
The Developer mode
Introducing the Library project
Creating a work database
Enabling the developer tools
Adding a field to an existing Model
Adding Menus, Models, and Views
Creating menus
Creating a Custom Model
Creating Views
Configuring access control security
About Odoo base Models
Summary
Installing and Organizing the Development Environment
Setting up a host for the Odoo server
Using a virtual machine
Installing a Linux server
Installing Odoo from source
Initializing a new Odoo database
Managing Odoo databases
A word about Odoo product versions
More server configuration options
Odoo server configuration files
Changing the listening port
The database filter option
Managing server log messages
Developing from a remote workstation
Using a Linux text editor
Installing and configuring Samba
Installing additional modules
Finding community modules
Configuring the addons path
Updating the apps list
Summary
Your First Odoo Application – A Practical Overview
Creating a new addon module
Creating the module's basic skeleton
Adding an icon
A word about licenses
Discovering and installing new modules
Adding to the addons path
Installing the new module
Upgrading a module
The server development mode
The model layer
Creating the data model
Extending existing models
The view layer
Adding menu items
Creating the form view
Business document form views
Adding action buttons
Using groups to organize forms
The complete form view
Adding list and search views
Extending views
The business logic layer
Adding business logic
Extending Python methods
Adding automated tests
Testing business logic
Testing access security
Setting up access security
Adding access control security
Row-level access rules
Web pages and controllers
Summary
Models – Structuring the Application Data
Organizing application features into modules
Introducing the todo_stage module
Creating models
Model attributes
Models and Python classes
Transient and Abstract models
Inspecting existing models
Creating fields
Basic field types
Common field attributes
Special field names
Extending models
Adding fields to a model
Modifying existing fields
Relationships between models
Many-to-one relationships
Many-to-many relationships
One-to-many inverse relationships
Hierarchical relationships
Dynamic relationships using Reference fields
Computed fields
Searching and writing to computed fields
Storing computed fields
Related fields
Model constraints
More model inheritance mechanisms
Copying features with prototype inheritance
Embedding models using delegation inheritance
Summary
Import, Export, and Module Data
Understanding external identifiers
Finding external identifiers
Exporting and importing data
Exporting data
Importing data
Related records in CSV data files
Module data
Demonstration data
XML data files
The noupdate data attribute
Defining records in XML
Setting field values
Setting values using expressions
Setting values for relation fields
Shortcuts for frequently used models
Other actions in XML data files
Deleting records
Triggering functions
Modifying data
Summary
The ORM API – Handling Application Data
Understanding the ORM decorators
Record handling decorators
Specific purpose decorators
Using the ORM built-in methods
Methods for writing model data
Methods for web client use over RPC
Methods for data import and export
Methods for the user interface
The Mail and Social features API
Message subtypes
Posting messages
Adding followers
Summary
Business Logic – Supporting Business Processes
Creating a wizard
The wizard model
The wizard form
The wizard business logic
Logging
Raising exceptions
Helper actions in wizards
Working with the ORM API
The shell command
The server environment
Modifying the execution environment
Transactions and low-level SQL
Context and domain
Context data
Domain expressions
Working with recordsets
Querying models
Singletons
Writing on records
Working with time and dates
Operations on recordsets
Manipulating recordsets
Using relational fields
Working with relational fields
Summary
External API – Integrating with Other Systems
Setting up a Python client
Calling the Odoo API using XML-RPC
Opening an XML-RPC connection
Reading data from the server
Calling other methods
Writing a To-Do client application
Communication layer with Odoo
Creating the CLI
Introducing the ERPpeek client
The ERPpeek API
The ERPpeek CLI
Introducing the OdooRPC library
Summary
Backend Views – Design the User Interface
Defining the user interface with XML files
Menu items
Window actions
The form views
Dealing with several views of the same type
Business document views
The header
The document sheet
Title and subtitle
Smart buttons area
Grouping content in a form
Tabbed notebooks
View semantic components
Fields
Labels for fields
Relational fields
Field widgets
Buttons
Smart buttons
Dynamic views
On change events
Dynamic attributes
List views
Search views
Calendar views
Graph and pivot views
Other view types
Summary
Kanban Views and Client-Side QWeb
About Kanban boards
Kanban views
Designing Kanban views
Priority, kanban state, and color
Kanban card elements
The Kanban card layout
Adding a Kanban card option menu
Actions in Kanban views
The QWeb templating language
The QWeb JavaScript evaluation context
Dynamic attributes by string substitution – t-attf
Dynamic attributes by expressions – t-att
Loops – t-foreach
Conditionals – t-if
Rendering values – t-esc and t-raw
Set values on variables – t-set
Call and reuse other templates – t-call
Dynamic attributes using dicts and lists
Inheritance on Kanban views
Custom CSS and JavaScript assets
Summary
Reports and Server-Side QWeb
Installing wkhtmltopdf
Creating business reports
QWeb report templates
Presenting data in reports
Rendering images
Report totals
Defining paper formats
Enabling language translation in reports
Reports based on custom SQL
Summary
Creating Website Frontend Features
Roadmap
Our first web page
Hello World!
Hello World! with a QWeb template
Extending web features
HelloCMS!
Building websites
Adding CSS and JavaScript assets
The to-do list controller
The to-do list template
The To-Do Task detail page
Website forms
The form page
Accessing the security and menu item
Adding custom logic
Summary
Debugging and Automated Tests
Unit tests
Adding unit tests
Setting up tests
Writing test cases
Testing exceptions
Running tests
About YAML tests
Development tools
Server development options
Debugging
The Python debugger
A sample debugging session
Alternative Python debuggers
Printing messages and logging
Killing running processes
Summary
Deploying and Maintaining Production Instances
Available prebuilt packages
Installing dependencies
Preparing a dedicated system user
Installing from the source code
Setting up the configuration file
Multiprocessing workers
Setting up Odoo as a system service
Creating a systemd service
Creating an Upstart/sysvinit service
Checking the Odoo service from the command line
Using a reverse proxy
Setting up Nginx as a reverse proxy
Enforcing HTTPS
Nginx optimizations
Long polling
Server and module updates
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜