mirror of
https://github.com/bringout/oca-ocb-core.git
synced 2026-04-19 20:32:03 +02:00
Initial commit: Core packages
This commit is contained in:
commit
12c29a983b
9512 changed files with 8379910 additions and 0 deletions
65
odoo-bringout-oca-ocb-base/doc/ARCHITECTURE.md
Normal file
65
odoo-bringout-oca-ocb-base/doc/ARCHITECTURE.md
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
# Architecture
|
||||
|
||||
This package provides the Odoo core runtime and the `base` addon. It sits at the center of every other addon.
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
subgraph CLI
|
||||
OBIN[`odoo-bin`]
|
||||
CLI[CLI Entrypoints]
|
||||
end
|
||||
subgraph Core
|
||||
CONF[Config Loader]
|
||||
SRV[Server Service]
|
||||
REG[Registry]
|
||||
ORM[Models and ORM]
|
||||
MOD[Modules Loader]
|
||||
HTTP[HTTP Layer]
|
||||
QWEB[QWeb Templates]
|
||||
TOOLS[Tools misc ustr date]
|
||||
end
|
||||
subgraph Services
|
||||
PG[(PostgreSQL)]
|
||||
CRON[Cron]
|
||||
BUS[Bus]
|
||||
I18N[I18n]
|
||||
REPORT[Reports]
|
||||
FS[(Filestore)]
|
||||
end
|
||||
subgraph Base Addon
|
||||
IRM[ir.model and ir.model.fields]
|
||||
IRUI[ir.ui.menu and ir.actions]
|
||||
IRSEC[ir.model.access ir.rule res.groups]
|
||||
RES[res.users res.partner res.company res.currency]
|
||||
IRATT[ir.attachment]
|
||||
IRCONF[ir.config_parameter]
|
||||
end
|
||||
|
||||
OBIN --> CLI --> CONF --> SRV --> REG
|
||||
SRV --> HTTP -->|routes| BaseControllers
|
||||
SRV --> CRON
|
||||
REG --> ORM --> PG
|
||||
MOD --> REG
|
||||
QWEB --> HTTP
|
||||
ORM --> FS
|
||||
ORM --> REPORT
|
||||
ORM --> TOOLS
|
||||
|
||||
BaseControllers -.import.-> HTTP
|
||||
IRM --> ORM
|
||||
IRUI --> HTTP
|
||||
IRSEC -. enforces .-> ORM
|
||||
RES --> ORM
|
||||
IRATT --> ORM
|
||||
IRCONF --> ORM
|
||||
|
||||
BUS <--> HTTP
|
||||
```
|
||||
|
||||
Key Points
|
||||
- Registry: process-wide metadata for all models, caches, and methods.
|
||||
- ORM: `models.Model`, fields, environment, and caching. All addons extend here.
|
||||
- HTTP: WSGI app; controllers decorated with `@http.route` handle requests.
|
||||
- Modules Loader: resolves addons path, reads manifests, installs/updates.
|
||||
- Base Addon: provides the essential models that enable everything else.
|
||||
- Services: PostgreSQL connections, cron workers, bus long-polling, i18n.
|
||||
Loading…
Add table
Add a link
Reference in a new issue