🚀 Welcome to MDriven Learn –  MDriven is now on Discord!  Don’t miss the latest Release Notes.
MDriven Turnkey Series
This page was created by Alexandra on 2017-01-25. Last edited by Wikiadmin on 2026-07-29.

MDriven Turnkey Overview Sessions help you learn how to design, publish, secure, and tailor a model-driven web application with MDriven Turnkey and MDriven Designer.

MDriven Turnkey is the model-driven application front end for internet applications. You define the application’s information, rules, actions, and views in MDriven Designer; Turnkey and MDrivenServer run the application and provide its web user interface.

Use this series when you want a guided route from an initial Turnkey application to specific tasks such as validation, authorization, styling, custom rendering, reporting, and local development. For initial site creation and setup instructions, use MDriven Turnkey documentation alongside this series.

What you will build and learn

The sessions use business-application scenarios to show how a model becomes a working web application. For example, a rental application can contain a Car class and a rental-contract class; a user can select a car in a modal dialog, while rules prevent invalid contracts from being saved.

By following the sessions, you will learn to:

  • Model business information and make it persistent in a database.
  • Define navigation, actions, and views in MDriven Designer.
  • Use a ViewModel—the model-defined representation of a user interaction—to control what a user sees and can do.
  • Define business expressions with OCL (Object Constraint Language).
  • Control action availability and user access with AccessGroups.
  • Apply CSS and replace selected generated views with your own HTML when required.
  • Create a document-style report.
  • Move into local Visual Studio development when you need custom rendering or code-level work.

Before you start

  1. Read Starting with MDriven Turnkey and use the latest available MDriven Designer when working with Turnkey.
  2. Create or obtain a Turnkey site. See MDriven Turnkey documentation for site-creation and setup guidance.
  3. Start with the MDriven Designer fundamentals if you are new to modeling. MDriven Designer Overview Series covers the Designer, OCL editor, prototyper, ViewModels, actions, navigation, reports, files, images, and access groups.
  4. Work through the sessions in order until you reach the topic you need. Later sessions assume that you can create and edit a model and its ViewModels.

How Turnkey development is divided

Turnkey development separates the application into three areas. Keeping these areas distinct helps you decide where a change belongs.

Area You define or use Example
System gist The information structure, rules, actions, and views in MDriven Designer. Define RentalContract, associate it with Car, and add a rule that expresses when a car can be selected.
Runtime and delivery MDriven Turnkey and MDrivenServer execute the model and provide the application behavior. Publish an updated model so the running application uses the revised contract and rule.
Presentation Bootstrap-based HTML5 rendering, CSS, and, where needed, your own HTML and client-side rendering. Show unavailable cars in a different style, or replace one generated view with a custom map-oriented view.

For the broader product relationship between MDriven Designer, Turnkey, MDrivenServer, and MDriven Framework, see MDriven Product Line.

Session guide

Session Focus What you should be able to do afterwards
Starting with MDriven Turnkey Introduction to developing an internet application with Turnkey. Explain the role of MDriven Designer, Turnkey, and the hosted application site.
Types, Images, Value Stores, Pick Lists Modeling types and working with images, stored values, and selectable lists. Model information that users can select from a defined list and include images in the application.
Session 3: Opting out Actions Limiting actions to those relevant in the current context; organizing global actions in submenus; class constraints; default string representations. Hide an action when it does not apply. For example, expose a contract-cancellation action only for contracts that can be cancelled, and use a meaningful default object label in pick lists.
Session 4: ViewModel Validation ViewModel-level validation, concurrent use of an application, sign-in, and modal dialogs. Add validation that applies to one interaction and use a modal ViewModel to select a Car for a rental contract.
Session 5: Logged-in User and AccessGroups Accessing the logged-in user and using AccessGroups for authorization. Make an action available to the appropriate user group. For example, allow managers to approve a contract while other users can view it without approval access.
Session 6: Social Login Configuring social sign-in providers. Offer users sign-in through the providers covered in the session after completing the required configuration.
Session 7: Expressions OCL expressions over objects and collections. Write a compact OCL expression that queries model data, such as selecting the collection of records that meet a business condition. Learn OCL in depth at Learn OCL.
Session 8: CSS Defining and applying CSS styles, including styles controlled by model expressions. Change an element’s style from model data. For example, apply a distinct style when a record requires attention.
Session 9: View Override Replacing generated UI with your own HTML; using a map; reading device location. Override a selected view when the generated layout does not meet the interaction requirement, while retaining the model-driven application behavior.
Session 10: Report Creating a Word-style report in a Turnkey web application. Produce a document-style report from model information.
Development in Visual Studio Local development and debugging while using cloud data and model; binding ViewModel data; replacing a standard view. Set up local development, bind to ViewModel data in custom rendering, and replace a standard view. This is the route to take when model and presentation work needs code-level control.
MDriven Turnkey Face, Theme, Styles, Fashion Application appearance and styling. Identify the presentation-level controls used to shape the application’s visual appearance.
Plugins in Turnkey Integrating JavaScript libraries. Add a JavaScript library when a required client-side capability is not provided by the generated UI. See Using Plugins in Turnkey.
Turnkey Treeview Tree-based presentation. Use a tree view where hierarchical information is the appropriate interaction pattern.
MDriven Turnkey Core Running a model with Turnkey on .NET Core. Prepare the model data XML file with the required .PrototypeData.xml naming convention in the same directory as the model. See MDriven Turnkey Core.

Practice scenario: movie-theatre tickets

The movie-theatre ticket sample demonstrates a complete Angular web application from creation to customization. Use it as a practice project to connect the sessions:

  1. Create the model and persistence structure for the ticketing information.
  2. Define navigation between the application pages.
  3. Add server-side reservation behavior for the business case where tickets must not be reserved inconsistently.
  4. Start with the generated UI.
  5. Replace or extend selected rendering with HTML5, CSS, and Angular when the generated UI does not meet the required presentation.

This scenario is intended to show both the model-driven route and the point at which you can take control of individual parts of the front end.

Hosting and ownership

A Turnkey site can hold your application. The documented subscription model has no per-user fees or restrictions; additional performance requirements can incur additional cost. You can retrieve your data and end the subscription, so your application is not locked to the service.

Turnkey can also be set up in an Azure account or on your own premises. Choose the hosting route that fits your operational requirements, then follow the relevant setup documentation. For a local server installation, see Local Installation.

Choose the next page

If you need to... Go to
Create or configure a Turnkey site MDriven Turnkey documentation
Understand the product and its main components Introducing MDriven Turnkey
Learn MDriven Designer before continuing with Turnkey MDriven Designer Overview Series
Run Turnkey with .NET Core MDriven Turnkey Core
Install MDrivenServer and Turnkey locally Local Installation

See also