# 1. Mental Model Before any worked example, the conceptual map. The framework is module-driven: every screen a PM creates and every screen a customer sees is a row in `gdsmodule` joined to layout rows in `gdsconfigformmaster/slave`, permission rows in `gdsjurisdiction`, and stored procedures invoked through `BusinessBaseController` in the runtime. ## At a glance ```mermaid flowchart TB classDef oos stroke-dasharray:5 5,color:#999 BACK["BACK
builder UI"] FROUNT["FROUNT
customer UI"] EXT([External integrators]) HOOKS([Third-party webhooks]) subgraph framework [Framework runtime - in scope] XENTRY[xlyEntry] XAPI[xlyApi] XIF[xlyInterface] XFLOW[xlyFlow] XPLC[xlyPlc] XMSG[/"xlyMsg
library"/] end DB[("MySQL
xlyweberp")] REDIS[(Redis)] AMQ([ActiveMQ]) XEJMSC[xlyErpJmsConsumer] PLAT[("xlyPlat* modules
+ MongoDB")]:::oos BACK --> XENTRY FROUNT --> XENTRY FROUNT --> XAPI EXT --> XAPI HOOKS --> XIF XENTRY --> DB XAPI --> DB XIF --> DB XFLOW --> DB XPLC --> DB XENTRY <--> REDIS XENTRY -- "metadata change" --> AMQ AMQ --> XEJMSC XEJMSC --> REDIS XENTRY -. uses .-> XMSG XIF -. uses .-> XMSG PLAT -.-> DB ``` The dashed cluster (`xlyPlat*` + MongoDB) is the B2B printing-platform tier — present in the build, but [out of scope](../index.md#whats-out-of-scope) for this wiki. For the library inventory behind each box, see the [Tech stack](../reference/maintainer/tech-stack.md) page. ## Concept pages These pages are intentionally short — each one explains one concept, with links to the [vertical slices](../slices/index.md) that exercise it. Concepts pages should stay short; if one grows past a screenful, that's a sign the content wants to be a slice instead. - [The data-driven thesis](thesis.md) — *why* the framework looks the way it does. - [Modules, forms, virtual tables](modules-forms-vtables.md) — the three core nouns. - [Master / slave document pattern](master-slave.md) — header/lines, everywhere. - [No-FK, semantic-FK reality](semantic-fk.md) — how relations actually work. - [Two customization channels](customization-channels.md) — metadata edits vs. SQL scripts. - [Customization layers](customization-layers.md) — within Channel 1, how base / per-tenant / per-user overlays merge. - [Multi-tenancy and product editions](multi-tenancy.md) — the three scoping axes (`sBrandsId`, `sSubsidiaryId`, `sVersionFlowId`). - [The metadata-driven request lifecycle](request-lifecycle.md) — the diagram you'll come back to. - [The three API tiers](api-surface.md) — internal (`xlyEntry`), external (`xlyApi`), inbound webhooks (`xlyInterface`).