Skip to content

Latest commit

 

History

History
72 lines (41 loc) · 3.48 KB

File metadata and controls

72 lines (41 loc) · 3.48 KB
graph LR
    Module_Management_System["Module Management System"]
    Module_Metadata_Manager["Module Metadata Manager"]
    Module_Loading_Orchestrator["Module Loading Orchestrator"]
    Application_Registry["Application Registry"]
    Model_Dependency_Tracker["Model Dependency Tracker"]
    Module_Metadata_Manager -- "provides module definitions to" --> Module_Loading_Orchestrator
    Module_Loading_Orchestrator -- "depends on" --> Module_Metadata_Manager
    Module_Loading_Orchestrator -- "populates and interacts with" --> Application_Registry
    Application_Registry -- "is populated by" --> Module_Loading_Orchestrator
    Application_Registry -- "utilizes" --> Model_Dependency_Tracker
    Model_Dependency_Tracker -- "is utilized by" --> Application_Registry
    click Module_Management_System href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/odoo/Module_Management_System.md" "Details"
Loading

CodeBoardingDemoContact

Details

Manages the entire lifecycle of Odoo modules (addons), including installation, upgrade, and uninstallation. It builds and maintains the Odoo registry, ensuring proper module loading order and dependency resolution.

Module Management System [Expand]

Manages the entire lifecycle of Odoo modules (addons), including installation, upgrade, and uninstallation. It builds and maintains the Odoo registry, ensuring proper module loading order and dependency resolution.

Related Classes/Methods:

  • odoo/modules/module.py
  • odoo/modules/loading.py
  • odoo/modules/registry.py

Module Metadata Manager

Responsible for discovering, parsing, and validating module metadata (e.g., manifest.py files). It provides the Module Management System with essential information about available modules, their dependencies, and their structure, enabling proper installation, upgrade, and loading processes.

Related Classes/Methods:

  • odoo/modules/module.py

Module Loading Orchestrator

Orchestrates the dynamic loading and sequencing of Odoo modules at runtime. It resolves module dependencies, determines the correct loading order, and initiates the process of integrating module code and data into the application's runtime environment.

Related Classes/Methods:

  • odoo/modules/loading.py

Application Registry

Serves as the central runtime repository for all loaded Odoo modules, models, fields, and methods. It builds and maintains the Odoo registry, providing a unified and accessible data model and API for the entire application, reflecting the current state of all active modules.

Related Classes/Methods:

  • odoo/modules/registry.py

Model Dependency Tracker

A specialized utility within the Application Registry responsible for managing complex relationships, inheritance, and dependencies between Odoo models. It ensures the integrity and correct behavior of the data model by resolving inter-model constraints and ensuring proper data structure during runtime.

Related Classes/Methods:

  • odoo/modules/registry.py