### Developer Tutorials: Getting Started Source: https://www.odoo.com/documentation/14.0/developer/api/external_api A series of tutorials guiding developers through the Odoo 14.0 architecture and development environment setup. ```APIDOC ## Developer Tutorials: Getting Started ### Description This tutorial series covers the fundamentals of Odoo development, starting from architecture overview to creating your first application and understanding basic views. ### Chapters #### Chapter 1: Architecture Overview - **Description**: Understand the core components and architecture of the Odoo framework. - **Endpoint**: N/A (Conceptual documentation) #### Chapter 2: Development environment setup - **Description**: Guide to setting up your local development environment for Odoo 14.0. - **Endpoint**: N/A (Conceptual documentation) #### Chapter 3: A New Application - **Description**: Learn how to create a new Odoo module (application). - **Endpoint**: N/A (Conceptual documentation) #### Chapter 4: Models And Basic Fields - **Description**: Define Odoo models and their basic field types. - **Endpoint**: N/A (Conceptual documentation) #### Chapter 5: Security - A Brief Introduction - **Description**: Introduction to access control lists (ACLs) and security rules in Odoo. - **Endpoint**: N/A (Conceptual documentation) #### Chapter 6: Finally, Some UI To Play With - **Description**: Basic steps to interact with the user interface of your new module. - **Endpoint**: N/A (Conceptual documentation) #### Chapter 7: Basic Views - **Description**: Understand and create different types of basic views (form, tree, search). - **Endpoint**: N/A (Conceptual documentation) #### Chapter 8: Relations Between Models - **Description**: Implement relationships (one2many, many2one, many2many) between models. - **Endpoint**: N/A (Conceptual documentation) #### Chapter 9: Computed Fields And Onchanges - **Description**: Create fields whose values are computed or change based on other field values. - **Endpoint**: N/A (Conceptual documentation) #### Chapter 10: Ready For Some Action? - **Description**: Learn about server actions and how to trigger them. - **Endpoint**: N/A (Conceptual documentation) #### Chapter 11: Constraints - **Description**: Define constraints (like unique, required) for model fields. - **Endpoint**: N/A (Conceptual documentation) #### Chapter 12: Add The Sprinkles - **Description**: Add extra UI elements and features to enhance user experience. - **Endpoint**: N/A (Conceptual documentation) #### Chapter 13: Inheritance - **Description**: Understand and implement model and view inheritance. - **Endpoint**: N/A (Conceptual documentation) #### Chapter 14: Interact With Other Modules - **Description**: Learn how your module can interact with existing Odoo modules. - **Endpoint**: N/A (Conceptual documentation) #### Chapter 15: A Brief History Of QWeb - **Description**: Introduction to Odoo's templating engine, QWeb. - **Endpoint**: N/A (Conceptual documentation) #### Chapter 16: The final word - **Description**: Concluding remarks and next steps for Odoo development. - **Endpoint**: N/A (Conceptual documentation) ### Request/Response Examples These tutorials are primarily documentation-based and do not involve direct API request/response examples in the traditional sense. Code snippets within the tutorials demonstrate Python and XML code for module development. ``` -------------------------------- ### User Docs - Financials - Accounting and Invoicing - Getting Started Source: https://www.odoo.com/documentation/14.0/uk/developer/reference/extract_api Guides users through the initial setup and core concepts of Odoo Accounting and Invoicing. ```APIDOC ## User Docs - Financials - Accounting and Invoicing - Getting Started ### Description This section covers the fundamental concepts and initial configuration required to start using Odoo's Accounting and Invoicing modules. ### Topics - Main accounting concepts - Accounting cheat sheet - Initial setup of Odoo Accounting and Odoo Invoicing - Chart of Accounts (План рахунків) ### Method GET ### Endpoint /docs/user/financials/accounting/getting-started ``` -------------------------------- ### Odoo.sh Get Started API Source: https://www.odoo.com/documentation/14.0/developer/reference/extract_api APIs for getting started with Odoo.sh, including project creation, branch management, builds, and settings. ```APIDOC ## Odoo.sh Get Started API ### Description APIs to help you get started with Odoo.sh, covering project creation, branches, builds, and settings. ### Method POST, GET, PUT ### Endpoint /api/odoo-sh/projects /api/odoo-sh/projects/{project_id}/branches /api/odoo-sh/projects/{project_id}/builds ### Parameters #### Path Parameters - **project_id** (string) - Required - The unique identifier for the Odoo.sh project. #### Query Parameters - **branch_name** (string) - Optional - Name of the branch to filter or create. #### Request Body * **Project Creation Object** - **name** (string) - Required - Name of the new project. - **repository_url** (string) - Required - URL of the Git repository. * **Branch Object** - **name** (string) - Required - Name of the branch. ### Request Example ```json { "name": "My New Odoo Project", "repository_url": "https://github.com/user/repo.git" } ``` ### Response #### Success Response (200) - **project** (object) - Details of the Odoo.sh project. - **branches** (array) - List of branches associated with the project. - **builds** (array) - List of builds for a specific branch. #### Response Example ```json { "project": { "id": "proj123", "name": "My New Odoo Project", "repository_url": "https://github.com/user/repo.git" }, "branches": [ { "name": "master", "last_build": "build_abc" } ] } ``` ``` -------------------------------- ### Odoo Development Environment Setup Tutorial Source: https://www.odoo.com/documentation/14.0/developer/reference/external_api A step-by-step guide to setting up your development environment for Odoo 14.0. Covers installing necessary tools, cloning the repository, and configuring your system. ```shell # Install PostgreSQL sudo apt-get update sudo apt-get install postgresql # Clone Odoo repository git clone https://github.com/odoo/odoo.git --depth 1 --branch 14.0 /opt/odoo cd /opt/odoo # Install Python dependencies pip install -r requirements.txt # Create Odoo user (optional but recommended) sudo useradd -m -d /opt/odoo -s /bin/bash odoo sudo chown -R odoo:odoo /opt/odoo # Configure PostgreSQL sudo -u postgres psql -c "CREATE USER odoo CREATEDB" # Start Odoo service (example, actual command may vary) # python odoo-bin -c /etc/odoo/odoo.conf ``` -------------------------------- ### Deploy Odoo with KeyCDN Example Source: https://www.odoo.com/documentation/14.0/ro/administration/install This example outlines the steps to set up a Content Delivery Network (CDN) for Odoo using KeyCDN. It includes creating a pull zone and configuring Odoo to use the CDN for serving static files, improving performance. ```ini # Example Odoo configuration for KeyCDN [options] ; Enable serving static files from a CDN ; Set this to the URL of your KeyCDN pull zone ; Example: cdn_url = https://your-zone-name.kxcdn.com cdn_url = https://your-keycdn-zone.your-cdn-provider.com ; Optional: Configure CORS headers if needed for cross-origin resource sharing ; This is often handled by the CDN provider's settings, but can be configured here if necessary ; Example: cors_headers = Access-Control-Allow-Origin: * ; Ensure your Odoo instance is configured to serve static files correctly ; This is usually handled by default, but check your web server configuration if issues arise ``` -------------------------------- ### Odoo.sh Get Started API Source: https://www.odoo.com/documentation/14.0/developer/api/external_api API endpoints and guidance for getting started with Odoo.sh, including project creation and branch management. ```APIDOC ## Odoo.sh Get Started ### Description This section provides information on how to begin using Odoo.sh, covering project creation, branch management, builds, and status updates. ### Endpoints #### Create your project - **Method**: POST - **Endpoint**: `/api/projects` - **Description**: Creates a new Odoo.sh project. #### Branches - **Method**: GET - **Endpoint**: `/api/projects/{project_id}/branches` - **Description**: Lists all branches associated with a specific Odoo.sh project. - **Method**: POST - **Endpoint**: `/api/projects/{project_id}/branches` - **Description**: Creates a new branch for a project. #### Builds - **Method**: GET - **Endpoint**: `/api/projects/{project_id}/builds` - **Description**: Retrieves a list of builds for a project. #### Status - **Method**: GET - **Endpoint**: `/api/projects/{project_id}/status` - **Description**: Gets the current status of a project's deployments and builds. #### Settings - **Method**: GET/PUT - **Endpoint**: `/api/projects/{project_id}/settings` - **Description**: Retrieves or updates the settings for an Odoo.sh project. ### Parameters #### Path Parameters - **project_id** (string) - Required - The unique identifier of the Odoo.sh project. #### Request Body (Example for Create Project) ```json { "name": "My New Project", "repository_url": "https://github.com/user/repo.git" } ``` ### Response #### Success Response (200) - **id** (string) - The unique identifier of the created project or resource. - **status** (string) - The current status of the operation or resource. - **url** (string) - A URL related to the resource (e.g., project URL, branch URL). ``` -------------------------------- ### Odoo Developer Tutorials: Getting Started Source: https://www.odoo.com/documentation/14.0/nl/developer/tutorials/getting_started/02_setup A series of tutorials for developers starting with Odoo, covering fundamental concepts and practical steps. ```text Chapter 1: Architecture Overview Chapter 2: Development environment setup Chapter 3: A New Application Chapter 4: Models And Basic Fields Chapter 5: Security - A Brief Introduction Chapter 6: Finally, Some UI To Play With Chapter 7: Basic Views Chapter 8: Relations Between Models Chapter 9: Computed Fields And Onchanges Chapter 10: Ready For Some Action? Chapter 11: Constraints Chapter 12: Add The Sprinkles Chapter 13: Inheritance Chapter 14: Interact With Other Modules Chapter 15: A Brief History Of QWeb Chapter 16: The final word ``` -------------------------------- ### User Docs - Finances - Accounting and Invoicing - Initial Configuration Source: https://www.odoo.com/documentation/14.0/uk/developer/api/extract_api Guides on the initial setup of Odoo Accounting and Odoo Invoicing, including chart of accounts. ```APIDOC ## User Docs - Finances - Accounting and Invoicing - Initial Configuration ### Description Guides on the initial setup of Odoo Accounting and Odoo Invoicing, including chart of accounts. ### Method GET ### Endpoint /docs/user/finances/accounting/initial-configuration ### Parameters None ### Response #### Success Response (200) - **documentation** (string) - Detailed setup instructions. #### Response Example ```json { "documentation": "Follow these steps to set up Odoo Accounting and Invoicing..." } ``` ``` -------------------------------- ### Developer Tutorials API Source: https://www.odoo.com/documentation/14.0/developer/reference/extract_api APIs for accessing developer tutorials, including getting started guides, module development, and reporting. ```APIDOC ## Developer Tutorials API ### Description Access various developer tutorials for Odoo, covering architecture, environment setup, module creation, and more. ### Method GET ### Endpoint /api/developer/tutorials/getting-started /api/developer/tutorials/module-data /api/developer/tutorials/reports ### Parameters #### Path Parameters None #### Query Parameters - **chapter** (string) - Optional - Specific chapter of a tutorial to retrieve. #### Request Body None ### Request Example None ### Response #### Success Response (200) - **title** (string) - Title of the tutorial or chapter. - **content** (string) - The content of the tutorial or chapter. #### Response Example ```json { "title": "Chapter 1: Architecture Overview", "content": "This chapter provides an overview of Odoo's architecture..." } ``` ``` -------------------------------- ### Configure Odoo with dbfilter Example Source: https://www.odoo.com/documentation/14.0/ro/administration/install This example demonstrates how to configure the Odoo instance using the 'dbfilter' setting. This is useful for managing multiple databases on a single Odoo instance. ```ini [options] ; This filter is a regular expression. Only databases whose names match the regex ; will be accessible. If the regex is empty, all databases are accessible. dbfilter = %(db_name)s ``` -------------------------------- ### Configure HTTPS for Odoo Example Source: https://www.odoo.com/documentation/14.0/ro/administration/install This example demonstrates how to configure Odoo to use HTTPS, enhancing security by encrypting communication between the client and the server. It involves setting up SSL certificates. ```ini # Example Odoo configuration for HTTPS [options] ; Path to your SSL certificate file ; Example: ssl_certificate = /etc/ssl/certs/odoo.crt ssl_certificate = /etc/ssl/certs/your_domain.crt ; Path to your SSL private key file ; Example: ssl_key = /etc/ssl/private/odoo.key ssl_key = /etc/ssl/private/your_domain.key ; Optional: Path to your SSL certificate chain file ; ssl_chain = /etc/ssl/certs/your_domain_chain.crt ; Uncomment and set if you want to redirect HTTP to HTTPS ; redirect_https = True ``` -------------------------------- ### Configure PostgreSQL for Odoo Example Source: https://www.odoo.com/documentation/14.0/ro/administration/install This example shows a basic PostgreSQL configuration for Odoo, focusing on essential settings for optimal performance and security. It includes parameters for connection pooling and memory management. ```ini # Example PostgreSQL configuration for Odoo # Increase shared buffers for better performance sandbox_mode = off shared_buffers = 256MB work_mem = 16MB maintenance_work_mem = 128MB wal_buffers = 16MB checkpoint_segments = 10 # Adjust these values based on your system's resources and Odoo usage ``` -------------------------------- ### Configure Odoo for WSGI Example Source: https://www.odoo.com/documentation/14.0/ro/administration/install This example shows how to configure Odoo to run as a WSGI application, which is essential for deployment with web servers like Gunicorn or uWSGI. It covers worker process calculations for Cron and LiveChat. ```ini # Example Odoo WSGI configuration (odoo.conf) [options] ; Odoo settings ; Number of worker processes for the main Odoo server ; Recommended: 2 * number of CPU cores + 1 workers = 4 ; Number of worker processes for Cron jobs ; Recommended: 1-2 per CPU core cron_workers = 2 ; Number of worker processes for LiveChat ; Recommended: 1-2 per CPU core, depending on expected load ; livechat_workers = 2 ; Maximum memory size for each worker process (in MB) ; Recommended: 1/4 of available RAM, divided by the number of workers max_cron_threads = 512 ; Other settings logfile = /var/log/odoo/odoo-server.log pidfile = /var/run/odoo/odoo-server.pid addons_path = /usr/lib/python3/dist-packages/odoo/addons ; Uncomment and set if you are using a specific database filter ; dbfilter = mydatabase ``` -------------------------------- ### Odoo Configuration File Example Source: https://www.odoo.com/documentation/14.0/es/developer/reference/cli Demonstrates the structure of an Odoo configuration file, where command-line options are translated into key-value pairs. The '[options]' section is used for these settings. ```ini [options] db_user=odoo dbfilter=odoo ``` -------------------------------- ### Configure Odoo System Parameters Example Source: https://www.odoo.com/documentation/14.0/ro/administration/install This example illustrates common Odoo system parameter configurations, including settings for worker processes, memory, and LiveChat. These parameters are crucial for tuning Odoo's performance. ```ini # Example Odoo configuration file (odoo.conf) [options] ; Database settings database_host = False database_port = False database_user = odoo database_password = False ; Odoo settings ; Number of worker processes ; Recommended: 2 * number of CPU cores + 1 ; Example: If you have 4 CPU cores, set workers = 9 workers = 4 ; Maximum memory size for each worker process (in MB) ; Recommended: 1/4 of available RAM, divided by the number of workers ; Example: If you have 8GB RAM and 4 workers, set max_cron_threads = 2048 / 4 = 512MB max_cron_threads = 512 ; Enable LiveChat ; livechat_max_channels = 100 ; livechat_max_users = 100 ; Other settings logfile = /var/log/odoo/odoo-server.log pidfile = /var/run/odoo/odoo-server.pid addons_path = /usr/lib/python3/dist-packages/odoo/addons ; Uncomment and set if you are using a specific database filter ; dbfilter = mydatabase ``` -------------------------------- ### Odoo Developer: Development environment setup Source: https://www.odoo.com/documentation/14.0/nl/developer/reference/addons/data This chapter guides through setting up a development environment for Odoo, including installing Python, PostgreSQL, and cloning the Odoo source code. ```bash # Install PostgreSQL (example for Debian/Ubuntu) sudo apt update sudo apt install postgresql postgresql-client # Install Python 3 and pip sudo apt install python3 python3-pip python3-venv # Clone Odoo repository git clone https://github.com/odoo/odoo.git --depth 1 --branch 14.0 odoo-14.0 cd odoo-14.0 # Create a virtual environment python3 -m venv venv source venv/bin/activate # Install Odoo dependencies pip install -r requirements.txt # Install Python dependencies for specific modules if needed # pip install -r requirements_extra.txt # Create a PostgreSQL user for Odoo (optional but recommended) # sudo -u postgres createuser --createdb --username odoo --no-createrole --no-super usuário odoo # Create Odoo configuration file (odoo.conf) # cp /path/to/odoo/debian/odoo.conf.example /etc/odoo/odoo.conf # Edit /etc/odoo/odoo.conf with your database settings # Run Odoo server python3 odoo-bin -c /etc/odoo/odoo.conf ``` -------------------------------- ### Build and Preview Odoo Documentation Locally Source: https://www.odoo.com/documentation/14.0/es/contributing/documentation These commands are used to build the Odoo documentation locally and then open the generated index file in a web browser. 'make' is used to build, and 'make help' can show other useful commands. ```bash make open _build/index.html ``` ```bash make help ``` -------------------------------- ### Odoo.sh - Getting Started Source: https://www.odoo.com/documentation/14.0/nl/developer/reference/addons/data Learn how to create projects, manage branches, and build on Odoo.sh. ```APIDOC ## Odoo.sh - Getting Started ### Description Guides on creating your Odoo.sh project, understanding branches, builds, status, settings, using the online editor, and developing your first module. ### Method N/A ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` -------------------------------- ### Start Odoo Server with Custom Addons Path Source: https://www.odoo.com/documentation/14.0/developer/tutorials/website This command starts the Odoo server, specifying additional directories where Odoo should look for modules. This is necessary to load custom modules like 'academy'. ```bash $ ./odoo-bin --addons-path addons,my-modules ``` -------------------------------- ### Install Make Package (Linux/macOS) Source: https://www.odoo.com/documentation/14.0/uk/contributing/documentation Installs the 'make' utility on Debian-based Linux distributions and macOS using apt. Make is a build automation tool often used for documentation generation. ```bash $ sudo apt install make -y ``` -------------------------------- ### Developer Tutorials - Getting Started Source: https://www.odoo.com/documentation/14.0/nl/developer/reference/addons/data A series of tutorials covering the basics of Odoo development. ```APIDOC ## Developer Tutorials - Getting Started ### Description A comprehensive tutorial series covering Odoo architecture, environment setup, creating new applications, models, fields, security, UI elements, views, relationships, computed fields, actions, constraints, inheritance, module interaction, QWeb, and final considerations. ### Method N/A ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` -------------------------------- ### Install Odoo using Packaged Installers Source: https://www.odoo.com/documentation/14.0/nl/developer/tutorials/getting_started/02_setup A guide on installing Odoo via pre-packaged installers. This method is suitable for users who prefer a straightforward installation on their systems. ```text Packaged installers ``` -------------------------------- ### Install Odoo Online Source: https://www.odoo.com/documentation/14.0/nl/developer/tutorials/getting_started/02_setup Instructions for installing Odoo using the online installation method. This typically involves a streamlined setup process. ```text Online ```