Skip to main content
Welcome. This site supports keyboard navigation and screen readers. Press ? at any time for keyboard shortcuts. Press [ to focus the sidebar, ] to focus the content. High-contrast themes are available via the toolbar.
serard@dev00:~/cv

From Domain Model to Running Site

Status: Public design proposal and product vision. This series presents Diem CMF .NET’s intended architecture and capabilities. Proposed features remain subject to implementation and validation; existing components are identified separately.

Acme Catalogue starts with three concepts: Product, Category and Enquiry. Its authors want a public catalogue, a useful administration application and a development workflow that can support several versions.

The architecture follows those concepts through a versionable model, generated contributions, a selected frontend renderer and a release bound to an instance.

One continuous flow

Diagram
Definitions, authored behavior and content have separate inputs that meet in a recorded release assembly.

The diagram is a logical flow. A dynamic renderer may read an authorized runtime data view rather than materializing all page HTML in a build. The release still records which application and renderer contracts are active.

Define and generate

The model author defines the Product fields and Category relationship. The modeling context validates those definitions. Generation emits the conventional sources and descriptors required by configured outputs.

The enquiry workflow is authored behavior. It attaches through a declared contract and contributes its own validation and tests. Generated administration should invoke that behavior rather than bypassing it through unrestricted storage access.

The candidate build combines authored and generated sources with resolved extension dependencies. It records the model version, source identity, package versions, generator versions and selected toolchain.

Compose and render

The page builder creates a listing and a Product detail view. The view binds to the current Product record. Layout areas contain ordered zones and compatible widget instances.

For a static target, the adapter transforms the composition and selected content snapshot into a Hugo project and resulting output. For a dynamic target, the application resolves the route and renders the view through its .NET components and services.

An enquiry form may require a dynamic endpoint even on a static catalogue. That requirement belongs to the composition and renderer capability check.

Bind a running instance

A domain binding points to a site instance and role. The instance owns a data scope and tracks its active release. Front and admin addresses can reference the same instance while exposing different surfaces.

A development track can follow a Git branch and maintain its own workspace and data. The active source preview may differ from the most recent commit. The Lab must be able to show that difference.

A source commit is not an instruction to overwrite production immediately. The configured build and promotion lifecycle determines when a candidate is ready and activated.

Observe and recover

Readiness checks establish whether the assembled release can serve the intended routes and reach its required services. A failed build or incompatible contribution produces diagnostics tied to the candidate, while the previous active release remains identifiable.

If activation requires data changes, the release plan specifies their order and completion checks. Returning to an earlier binary does not establish that its schema or data is still compatible. Recovery is recorded at the application and data levels.

The next chapters define the instance vocabulary and source authority used in this flow.


Previous: Diem CMF .NET 11: Architecture · Next: Environments, Instances and Diem Domains · Series index · Section index

⬇ Download