🚀 Welcome to MDriven Learn –  MDriven is now on Discord!  Don’t miss the latest Release Notes.
Education:TheIndex
This page was created by Hans.karlsen on 2022-07-08. Last edited by Wikiadmin on 2026-07-29.

This index helps you find MDriven concepts and choose the level of detail that fits your role, from first-time learner to technical implementer.

Use this index

Use the index as a map, not as a learning sequence. Entries point to pages that explain a concept in detail; a term without a destination page is still included so that you can identify the concept and continue your search elsewhere in the wiki.

  1. Start in Ring 1 when you are learning the vocabulary used to describe information systems, models, and user interfaces.
  2. Use Ring 2 when you are building and maintaining an MDriven application in MDrivenDesigner. This is the main working level for an MDriven developer.
  3. Use Ring 2 Meta when you need to inspect, extend, or debug the model itself.
  4. Use Ring 3 when you need implementation-level knowledge of databases, hosting, UI technologies, or persistence.

A concept can appear in more than one ring. This is intentional: the same concept can be understood from a business, modeling, extension, or technical perspective.

For a guided learning path, use HowTos:Reading list and HowTos:Taking It Further Still. For the broader documentation entry point, see Documentation:Index page.

The rings

Ring What it covers Use it when Example
Ring 1 Concepts explained without requiring prior MDriven knowledge. You need to understand the problem space and the common terms used in MDriven documentation. Learn what an information model is before creating classes such as Person and attributes such as Name.
Ring 2 MDriven concepts explained in relation to other MDriven concepts. You are designing, prototyping, delivering, or evolving an information system. Define a ViewModel, add a ViewModel action, and test its behavior in a prototype.
Ring 2 Meta The model layer and mechanisms for inspecting or extending it. You need to look behind the modeled application or create model extensions. Inspect TaggedValues or use a model debugger while investigating model behavior.
Ring 3 Technical implementation concepts and their relation to the surrounding technology stack. You are responsible for hosting, persistence, integration, or technical customization. Configure MDrivenServer with a database and understand how model changes affect the database schema.

Ring 1 — Foundations

These topics establish the vocabulary for modeling information and describing a system before you work with MDriven-specific features.

Information and modeling

Expressions and presentation

Delivery, architecture, and operations

Context and quality

Ring 2 — Build with MDriven

Use these topics while modeling an application, defining its behavior, creating its user interface, and preparing it for delivery.

Model and diagram work

ViewModels and user interface

For example, a ViewModel can present a multi-valued association as a nested grid. If Person has a multi-association named Cars I used to own, add a nested ViewModel class that follows that association and add a column with the expression self.RegistrationNumber. The nesting represents the multiple related objects; its columns become columns in the grid.

Actions and expressions

Choose an action scope based on where behavior belongs. A global action is available globally, a class action applies where its class type matches, and a ViewModel action is specific to the ViewModel context. An action button exposes behavior in the rendered user interface.

OCL evaluates and transforms data without changing the source data. ActionLanguage can change data. For example, an ActionLanguage expression can assign a value with :=; that operator is not available in OCL.

Server, persistence, and delivery

When you upload a changed model to MDrivenServer, the server can update the database schema to match model changes. Adding a class can add a table; adding attributes can add columns; and associations can result in database structures such as indexes and foreign keys. Removing modeled data structures can remove corresponding database data. Treat destructive model changes as data-impacting changes.

Integration, generation, and transformation

Ring 2 Meta — Inspect and extend the model

These topics are for work on the model as a model: its structure, metadata, debugging, and extension mechanisms.

For example, use tagged values and tag extensions when model elements need metadata beyond their standard properties. Use the model debugger when you need to inspect model-level behavior rather than application data in a ViewModel.

Ring 3 — Technical implementation

These topics cover the technologies and implementation details that support an MDriven solution. You normally need this level when configuring infrastructure, persistence, hosting, or custom technical behavior.

Databases and persistence

Hosting, identity, and runtime

Client technologies and UI customization

See also