舉報(bào)

會(huì)員
Odoo 12 Development Essentials
OdooisoneofthebestplatformsforopensourceERPandCRM.Itslatestversion,Odoo12,bringswithitnewfeaturesandupdatesinPythonpackagestodevelopmorecustomizableapplicationswithadditionalcloudcapabilities.Thebookbeginsbycoveringthedevelopmentessentialsforbuildingbusinessapplications.YouwillstartyourjourneybylearninghowtoinstallandconfigureOdoo,andthentransitionfromhavingnospecificknowledgeofOdootobeingreadyforapplicationdevelopment.YouwilldevelopyourfirstOdooapplicationandunderstandtopicssuchasmodelsandviews.Odoo12DevelopmentEssentialswillalsoguideyouinusingserverAPIstoaddbusinesslogic,helpingyoulayasolidfoundationforadvancedtopics.Asyouprogressthroughthechapters,youwillbeequippedtobuildandcustomizeyourapplicationsandexplorethenewfeaturesinOdoo12,suchascloudintegration,toscaleyourbusinessapplications.YouwillgetinsightsintobuildingbusinesslogicandintegratingvariousAPIsintoyourapplication.Bytheendofthebook,youwillbeabletobuildabusinessapplicationfromscratchbyusingthelatestversionofOdoo.
最新章節(jié)
- Leave a review - let other readers know what you think
- Other Books You May Enjoy
- Chapter 5
- Chapter 4
- Chapter 3
- Chapter 1
品牌:中圖公司
上架時(shí)間:2021-07-02 12:34:57
出版社:Packt Publishing
本書數(shù)字版權(quán)由中圖公司提供,并由其授權(quán)上海閱文信息技術(shù)有限公司制作發(fā)行
- Leave a review - let other readers know what you think 更新時(shí)間:2021-07-02 14:19:38
- Other Books You May Enjoy
- Chapter 5
- Chapter 4
- Chapter 3
- Chapter 1
- Assessments
- Further reading
- Summary
- Updating Odoo source code
- Creating a staging environment
- Server and module updates
- Caching static content
- Configuring HTTPS access on nginx
- Creating a self-signed SSL certificate
- Configuring and enforcing HTTPS
- Setting up an nginx reverse proxy
- Checking the Odoo service from the command line
- Creating an Upstart or sysvinit service
- Creating a systemd service
- Setting up Odoo as a system service
- Multiprocessing workers
- Setting up the configuration file
- Installing from the source code
- Preparing a dedicated system user
- Installing dependencies
- Installing Odoo from source code
- Technical requirements
- Deploying and Maintaining Production Instances
- Further reading
- Summary
- The checkout detail page
- The checkout QWeb template
- The checkout-list controller
- Adding CSS and JavaScript assets
- Building websites
- HelloCMS!
- Hello World using a QWeb template
- Our first web page
- Learning project – the Library self-service
- Technical requirements
- Creating Website Frontend Features
- Further reading
- Summary
- Reports based on custom SQL
- Enabling language translation in reports
- Defining paper formats
- Report totals
- Rendering images
- Presenting data in reports
- QWeb report templates
- Creating business reports
- Installing wkhtmltopdf
- Technical requirements
- Reports and Server-Side QWeb
- Further reading
- Summary
- Custom CSS and JavaScript assets
- Inheritance on Kanban views
- Dynamic attributes using dictionaries and lists
- Call and reuse other templates – t-call
- Set values on variables – t-set
- Rendering values – t-esc and t-raw
- Conditionals – t-if
- Loops – t-foreach
- Dynamic attributes by expressions – t-att
- Dynamic attributes by string substitution – t-attf
- The QWeb JavaScript evaluation context
- The QWeb template language
- Actions in Kanban views
- Adding a Kanban card option menu
- The Kanban card layout
- Kanban card elements
- Priority Kanban state and color
- Designing Kanban views
- Kanban views
- About Kanban boards
- Technical requirements
- Kanban Views and Client-Side QWeb
- Further reading
- Summary
- Graph views
- Pivot views
- Calendar views
- Activity views
- Other view types
- Search views
- List views
- Dynamic attributes
- On-change events
- Dynamic view elements
- Smart buttons
- Buttons
- Relational fields
- Field widgets
- Labels for fields
- Fields
- Tabbed notebooks
- Grouping the form content
- Title and subtitle
- The document sheet
- Using states instead of stages
- The stage pipeline
- Header buttons
- The header
- Business document views
- Form view structure
- Window Actions
- Menu items
- Technical requirements
- Backend Views – Designing the User Interface
- Further reading
- Summary
- About the ERPpeek client
- Using the OdooRPC library
- The Library client user interface
- The Library client XML-RPC interface
- Search and read API methods
- Running server methods using XML-RPC
- Connecting to Odoo API using XML-RPC
- Setting up Python on the client machine
- Learning project – a client to catalogue books
- Technical requirements
- External API – Integrating with Other Systems
- Further reading
- Summary
- Inspecting and killing running processes
- Printing messages and logging
- Alternative Python debuggers
- A sample debugging session
- The Python debugger
- Debugging
- Server development options
- Development tools
- Testing exceptions
- Writing test cases
- Setting up tests
- Running tests
- Adding unit tests
- Unit tests
- Raising exceptions
- Using log messages
- The wizard business logic
- The wizard form
- The wizard model
- Creating a wizard
- Adding followers
- Posting messages
- Message subtypes
- The message and activity features
- Methods to support the user interface
- Methods for data import and export
- Methods for writing model data
- Using the ORM built-in methods
- Other model method decorators
- On change methods
- Class static methods – @api.model
- Methods for singleton records – @api.one
- Methods for recordsets – @api.multi
- The ORM method decorators
- Using stages for document-centered workflows
- Learning project – the library_checkout module
- Technical requirements
- Business Logic – Supporting Business Processes
- Summary
- Low-level SQL and database transactions
- Composing recordsets
- Creating and deleting records
- Writing date and time values
- Writing with the write() method
- Writing with object-style value assignment
- Writing on records
- Converting text-represented dates and times
- Accessing date and time values
- Accessing relational fields
- Accessing data on records
- Accessing data on recordsets
- Domain expressions
- Creating recordsets
- Querying data with recordsets and domains
- Modifying the recordset execution environment
- The environment context
- Environment attributes
- The execution environment
- Using the shell command
- Technical requirements
- Recordsets – Working with Model Data
- Summary
- About the Odoo base Models
- Python model constraints
- SQL model constraints
- Model constraints
- Related fields
- Storing computed fields
- Searching and writing to computed fields
- Computed fields
- Flexible relationships using Reference fields
- Hierarchical relationships
- Many-to-many relationships
- One-to-many inverse relationships
- Many-to-one relationships
- Relationships between models
- Special field names
- Common field attributes
- Basic field types
- Creating fields
- Inspecting existing models
- Transient and abstract models
- Models and Python classes
- Model attributes
- Creating models
- Learning project – improving the Library app
- Technical requirements
- Models – Structuring the Application Data
- Further reading
- Questions
- Summary
- Calling model methods
- Deleting records
- Other actions in XML data files
- Shortcuts for frequently used models
- Setting values on to-many relation fields
- Setting values on many-to-one relation fields
- Setting values using expressions
- Setting field values directly
- Defining records in XML
- The noupdate data attribute
- Using XML data files
- Demonstration data
- Adding module data
- Related records in CSV data files
- Importing data
- Exporting data
- Exporting and importing CSV data files
- Finding external identifiers
- How external identifiers work
- Understanding the external identifier concept
- Technical requirements
- Import Export and Module Data
- Further reading
- Questions
- Summary
- Extending QWeb Templates
- Extending Web Controllers
- Extending web controllers and templates
- Extending Python methods
- Extending Models using mixin classes
- Embedding Models using delegation inheritance
- Copying features with prototype inheritance
- More Model inheritance mechanisms
- Modifying data
- Selecting extension points with XPath
- Extending Views
- Modifying Views and data
- Modifying existing fields
- Adding fields to a Model
- In-place Model extension
- Learning project – extending the Library app
- Technical requirements
- Extending Modules
- Further Reading
- Questions
- Summary
- Web pages and controllers
- Adding business logic
- The business logic layer
- Adding list and search views
- The complete form view
- Using groups to organize forms
- Adding action buttons
- Business document form views
- Creating the form view
- Adding menu items
- The view layer
- Row-level access rules
- Adding access control security
- Setting up access security
- Creating the data model
- The model layer
- Testing access security
- Testing business logic
- Adding automated tests
- Adding security groups
- Adding the app's top menu item
- Creating a new application
- Upgrading modules
- Installing a new module
- Choosing a license
- Adding an icon
- Creating the module directory and manifest
- Preparing the addons path
- Creating a new addon module
- Overview of the library project
- Technical requirements
- Your First Odoo Application
- Summary
- The server development mode
- Downloading and installing add-on modules from PyPI
- Installing Odoo in a Python virtual environment
- Configuring the add-ons path
- Finding community modules
- Installing additional modules
- Managing server log messages
- Database selection options
- Changing the listening port
- Odoo server configuration files
- More server configuration options
- Managing Odoo databases
- Initializing a new Odoo database
- Installing Odoo from source
- Installing Odoo system dependencies
- Installing the PostgreSQL database
- Installing Odoo from source
- Installing a Linux server
- Installing the Windows Subsystem for Linux
- Setting up a host for the Odoo server
- Technical requirements
- Preparing the Development Environment
- Questions
- Summary
- Search views
- Form views
- List views
- Creating views
- Creating menu items
- The superuser account
- Security record rules
- Security access control lists
- Security groups
- Configuring access control security
- Creating a new Model
- Adding a field to a form view
- Adding a field to a Model
- Modifying an existing model to add a field
- Enabling the developer mode
- Creating a work database
- Other installation options
- Installing Odoo using Docker containers
- Installing Odoo on Windows
- Using an Odoo SaaS trial database
- Preparing a basic work environment
- Odoo version policy
- Odoo community versus Odoo enterprise
- The Odoo architecture
- Basic concepts
- Introducing the to-do list project
- Technical requirements
- Quick Start Using the Developer Mode
- Reviews
- Get in touch
- Conventions used
- Download the color images
- Download the example code files
- To get the most out of this book
- What this book covers
- Who this book is for
- Preface
- Packt is searching for authors like you
- About the reviewer
- About the author
- Contributors
- Foreword
- Packt.com
- Why subscribe?
- Packt Upsell
- Odoo 12 Development Essentials Fourth Edition
- Copyright and Credits
- Title Page
- coverpage
- coverpage
- Title Page
- Copyright and Credits
- Odoo 12 Development Essentials Fourth Edition
- Packt Upsell
- Why subscribe?
- Packt.com
- Foreword
- 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
- Download the color images
- Conventions used
- Get in touch
- Reviews
- Quick Start Using the Developer Mode
- Technical requirements
- Introducing the to-do list project
- Basic concepts
- The Odoo architecture
- Odoo community versus Odoo enterprise
- Odoo version policy
- Preparing a basic work environment
- Using an Odoo SaaS trial database
- Installing Odoo on Windows
- Installing Odoo using Docker containers
- Other installation options
- Creating a work database
- Enabling the developer mode
- Modifying an existing model to add a field
- Adding a field to a Model
- Adding a field to a form view
- Creating a new Model
- Configuring access control security
- Security groups
- Security access control lists
- Security record rules
- The superuser account
- Creating menu items
- Creating views
- List views
- Form views
- Search views
- Summary
- Questions
- Preparing the Development Environment
- Technical requirements
- Setting up a host for the Odoo server
- Installing the Windows Subsystem for Linux
- Installing a Linux server
- Installing Odoo from source
- Installing the PostgreSQL database
- Installing Odoo system dependencies
- Installing Odoo from source
- Initializing a new Odoo database
- Managing Odoo databases
- More server configuration options
- Odoo server configuration files
- Changing the listening port
- Database selection options
- Managing server log messages
- Installing additional modules
- Finding community modules
- Configuring the add-ons path
- Installing Odoo in a Python virtual environment
- Downloading and installing add-on modules from PyPI
- The server development mode
- Summary
- Your First Odoo Application
- Technical requirements
- Overview of the library project
- Creating a new addon module
- Preparing the addons path
- Creating the module directory and manifest
- Adding an icon
- Choosing a license
- Installing a new module
- Upgrading modules
- Creating a new application
- Adding the app's top menu item
- Adding security groups
- Adding automated tests
- Testing business logic
- Testing access security
- The model layer
- Creating the data model
- Setting up access security
- Adding access control security
- Row-level access rules
- 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
- The business logic layer
- Adding business logic
- Web pages and controllers
- Summary
- Questions
- Further Reading
- Extending Modules
- Technical requirements
- Learning project – extending the Library app
- In-place Model extension
- Adding fields to a Model
- Modifying existing fields
- Modifying Views and data
- Extending Views
- Selecting extension points with XPath
- Modifying data
- More Model inheritance mechanisms
- Copying features with prototype inheritance
- Embedding Models using delegation inheritance
- Extending Models using mixin classes
- Extending Python methods
- Extending web controllers and templates
- Extending Web Controllers
- Extending QWeb Templates
- Summary
- Questions
- Further reading
- Import Export and Module Data
- Technical requirements
- Understanding the external identifier concept
- How external identifiers work
- Finding external identifiers
- Exporting and importing CSV data files
- Exporting data
- Importing data
- Related records in CSV data files
- Adding module data
- Demonstration data
- Using XML data files
- The noupdate data attribute
- Defining records in XML
- Setting field values directly
- Setting values using expressions
- Setting values on many-to-one relation fields
- Setting values on to-many relation fields
- Shortcuts for frequently used models
- Other actions in XML data files
- Deleting records
- Calling model methods
- Summary
- Questions
- Further reading
- Models – Structuring the Application Data
- Technical requirements
- Learning project – improving the Library app
- 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
- Relationships between models
- Many-to-one relationships
- One-to-many inverse relationships
- Many-to-many relationships
- Hierarchical relationships
- Flexible relationships using Reference fields
- Computed fields
- Searching and writing to computed fields
- Storing computed fields
- Related fields
- Model constraints
- SQL model constraints
- Python model constraints
- About the Odoo base Models
- Summary
- Recordsets – Working with Model Data
- Technical requirements
- Using the shell command
- The execution environment
- Environment attributes
- The environment context
- Modifying the recordset execution environment
- Querying data with recordsets and domains
- Creating recordsets
- Domain expressions
- Accessing data on recordsets
- Accessing data on records
- Accessing relational fields
- Accessing date and time values
- Converting text-represented dates and times
- Writing on records
- Writing with object-style value assignment
- Writing with the write() method
- Writing date and time values
- Creating and deleting records
- Composing recordsets
- Low-level SQL and database transactions
- Summary
- Business Logic – Supporting Business Processes
- Technical requirements
- Learning project – the library_checkout module
- Using stages for document-centered workflows
- The ORM method decorators
- Methods for recordsets – @api.multi
- Methods for singleton records – @api.one
- Class static methods – @api.model
- On change methods
- Other model method decorators
- Using the ORM built-in methods
- Methods for writing model data
- Methods for data import and export
- Methods to support the user interface
- The message and activity features
- Message subtypes
- Posting messages
- Adding followers
- Creating a wizard
- The wizard model
- The wizard form
- The wizard business logic
- Using log messages
- Raising exceptions
- Unit tests
- Adding unit tests
- Running tests
- Setting up tests
- Writing test cases
- Testing exceptions
- Development tools
- Server development options
- Debugging
- The Python debugger
- A sample debugging session
- Alternative Python debuggers
- Printing messages and logging
- Inspecting and killing running processes
- Summary
- Further reading
- External API – Integrating with Other Systems
- Technical requirements
- Learning project – a client to catalogue books
- Setting up Python on the client machine
- Connecting to Odoo API using XML-RPC
- Running server methods using XML-RPC
- Search and read API methods
- The Library client XML-RPC interface
- The Library client user interface
- Using the OdooRPC library
- About the ERPpeek client
- Summary
- Further reading
- Backend Views – Designing the User Interface
- Technical requirements
- Menu items
- Window Actions
- Form view structure
- Business document views
- The header
- Header buttons
- The stage pipeline
- Using states instead of stages
- The document sheet
- Title and subtitle
- Grouping the form content
- Tabbed notebooks
- Fields
- Labels for fields
- Field widgets
- Relational fields
- Buttons
- Smart buttons
- Dynamic view elements
- On-change events
- Dynamic attributes
- List views
- Search views
- Other view types
- Activity views
- Calendar views
- Pivot views
- Graph views
- Summary
- Further reading
- Kanban Views and Client-Side QWeb
- Technical requirements
- 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 template 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 dictionaries and lists
- Inheritance on Kanban views
- Custom CSS and JavaScript assets
- Summary
- Further reading
- Reports and Server-Side QWeb
- Technical requirements
- 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
- Further reading
- Creating Website Frontend Features
- Technical requirements
- Learning project – the Library self-service
- Our first web page
- Hello World using a QWeb template
- HelloCMS!
- Building websites
- Adding CSS and JavaScript assets
- The checkout-list controller
- The checkout QWeb template
- The checkout detail page
- Summary
- Further reading
- Deploying and Maintaining Production Instances
- Technical requirements
- Installing Odoo from source code
- 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 or sysvinit service
- Checking the Odoo service from the command line
- Setting up an nginx reverse proxy
- Configuring and enforcing HTTPS
- Creating a self-signed SSL certificate
- Configuring HTTPS access on nginx
- Caching static content
- Server and module updates
- Creating a staging environment
- Updating Odoo source code
- Summary
- Further reading
- Assessments
- Chapter 1
- Chapter 3
- Chapter 4
- Chapter 5
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時(shí)間:2021-07-02 14:19:38