mirror of
https://github.com/bringout/oca-ocb-core.git
synced 2026-04-18 08:12:07 +02:00
The diagram had a cycle where node 'CLI' was inside subgraph 'CLI', creating: 'Setting CLI as parent of CLI would create a cycle' Fixed by renaming the node to 'CLIEP' (CLI Entrypoints) to avoid the naming conflict. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1.7 KiB
1.7 KiB
Architecture
This package provides the Odoo core runtime and the base addon. It sits at the center of every other addon.
flowchart LR
subgraph CLI
OBIN[`odoo-bin`]
CLIEP[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 --> CLIEP --> 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.routehandle 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.