đ Welcome to
MDriven Learn
â
MDriven is now on Discord
! Donât miss the
latest Release Notes
.
X
Documentation
Training
Q & A
Model Examples
Best Practices
Copyright 2023 © M
Documentation
Training
Q & A
Model Examples
Best Practices
Release Notes
Glossary
Documentation
Discussion
View source
View history
QR code
E-Mail
Navigation Menu
Designer
MDriven Designer
Modeling Basics
What is MDriven Designer
Designer
Modeling
What is MDriven Designer
Designer
Classes: definition and instances
Class
Objects
Classes, Attributes, and Relations
Object-oriented programming
Short introduction to UMLâ class diagram
Attributes and data types
Attribute
Blob
Column
Int32
Attribute.Eco.BlobType
Allow Null
Column.Texttype
InitialValue
Precision
Allow Null
Attribute.Eco.BlobType
Column
Column.Texttype
Data types
Float
Int64
Integer
Decimal
Decimal
Float
InitialValue
Int32
Int64
Integer
Precision
Associations
Association
Embed
Unique constraints on 1 to 1 links
Classes, Attributes, and Relations
Roles, multiplicity, and navigability
Enumerations and value lists
Enumerations in Modlr
Enumerations
Identity and keys (natural vs surrogate)
Doing your own Primary keys
Guid
Custom OR Mapping
Business delete rules
Business Delete Rules
CleanForFree
Packages and module organization
Calendar package
Component
Package
Referenced package
Segmenting definition and logic
Namespace in generated code
User-Paid-Model-Snippet
MDrivenDesignerPropertyInspectorHints
MDriven Designer Features & Settings
MDriven designer overview Part 1
MDriven Designer Overview part 3
MDriven Designer Overview Series
Part 10 MDriven Designer Overview. Actions and navigation
MDriven designer overview Part 4
MDriven Designer Overview part 3
MDriven Ethical Policy
MDriven designer overview Part 1
Modlr
Plugins in Modlr
Property inspector
Core Modeling Concepts
Aggregation vs composition
Composite and Aggregate and what they imply
Inheritance and polymorphism
Polymorphism
Calling base class
Parent, Own, and Child Table Mapping
UML in MDriven
Association classes and link objects
Association classes
Adding a link object
Part 8 Link Objects association classes
Qualified associations
QualifiedAssociations
Embedding behaviors and containment choices
Embed
Attribute with class type (why disallowed)
Attribute with class type
Derivation
Derived attributes (calculated fields)
Derived attributes & associations
Attribute or Data Type Conversion
Derivation is not available in the database
Part 5 Searching in databases
Part 3 OCL: Derivation properties
Derived associations
Derived attributes & associations
Let and Derived associations
Derivation is not available in the database
Settable derived attributes and associations
Derived settable attributes
Derived settable associations
Reverse Derivation
Derivation expressions editor and patterns
Derivation expressions
VerbalizePatterns
Performance tips for derivations
Default String Representation and asString
Constraints and Validation (OCL)
OCL basics and expression syntax
Let and Derived associations
Constraints
Case sensitive or not
ChatDesignerPrompt
Mockotype
OCL Editor, system prototyper and ViewModel
Part 5 Searching in databases
Part 3 OCL: Derivation properties
Searching
Modlr plugin
OCLOperators expressions separator
Class invariants and required fields
Constraints
Data validation
Pre and postconditions
Constraints
OCLEditorHelp OclPreconditionQuery
Cross object validation rules
GuardConstraints and reuse of rules
GuardConstraints
Opt out a constraint in all relevant viewmodel
State machine transitions, triggers, and guards
Common validation patterns and pitfalls
OCLOperators brokenConstraints
OCLOperators CascadeFetch
OCLOperators ExecuteQueryPlan
OCLOperators LogEntry
OCLOperators RemoteTurnkeyGetStringValue
OCLOperators Search
OCLOperators greater than or equal to
OCLOperators less than or equal to
OCLOperators not equal to
State Machines and Workflows
States, events, transitions
UML â State machines
Enforcing Business Rules with State Machines
OnStateChange
State value as a string
Statemachines forcing your hand even if you are admin
Guards, entry and exit actions
Enforcing Business Rules with State Machines
State machine transitions, triggers, and guards
Timers and signals
Substates and composite states
Long running workflows and escalations
OCLOperators stateMachineForceMode
ViewModels and UI Modeling
ViewModel fundamentals
Index page
ViewModel
UI Firstâor information first
ViewModelName
Nesting.Striped
Column.StringFormat
Span.HideSidebar
Actions And Viewmodels, MDriven Designer
AccessExpression
Act as For Actions
AccessGroups, InterestGroups and ViewModel-Enable
AutoFormsâget more with less faster
AsString
Auto save
Autofocus
Convergence â ViewModels, import, export, multi search, synchronization and Excel
Comboboxes in MVC from model driven ViewModel
Column.DataIsImageUrl
Column.DataIsLink
Column.BlobDownloadLink
Cursored or Full Tree
Declarative ViewModels and Taborder
Databind labels in ViewModels
Databound Placeholder text
Dragging and DragDrop Actions
Explaining âThe ViewModel does not require a root objectâ warning
How Null is represented in your picklist
FollowEnable
Logged in Person presentation
Input Controls
MDriven Movie Theatre Part 2
MVC View Model constraints
MVC View Model handling
MVC Generated ViewModel UI in MDrivenFramework
OCL Editor, system prototyper and ViewModel
Render MVC ViewModel without turnkey
PlacingContainer
Per viewmodel ReadOnly mode
SelfVM
SelfVM.DirtyList
Span.Eco.UIAllowed
Span.Eco.AutoSave
Softview
The combobox
Timedout viewmodel
Toolbarmode
ViewModel for Business
ViewModel actions
ViewModelColumnNamesWithSpecialMeaning
ViewModel settings
ViewModel Editor
InstantPageLoader
Grids, forms, and master detail
Column.SeekerSortable
Nesting.FrozenColumns
A simple table component for just listing a collection
Edit in Grid
Nesting.Editable
Pivot tables
Tables and Grids
Table Grid Column Style
Filters, sorting, and paging
Column.SeekerSortable
DataGrid filters
Nesting.ClientSortable
Search result pages
Tables, search and ordering
ViewModel nestings and parameters
Adding Buttons in Nested ViewModels
ListActions
Nesting.MultiSelect
Nesting.IsSeekerResultGrid
Nestings
Mounted ViewModel
ViewInView
ViewModel variables (VCurrent, VSelected, etc.)
Nesting.IncludeCurrentAndSelectedVariables
Built in ViewModel variables
Clipbook
Geolocation
How to use vCurrent and âselfâ correctly in viewmodels
SelfVM
VCurrent and vSelected
ViewModel variables
VCurrent Root
VClientScreenHeight
VIsMobileDevice
VClientScreenWidth
Validations and error presentation
MVC View Model constraints
Store complaint handling
Turnkey session 4: ViewModel validation
ViewModel validations
Dialogs and modals
Span.ModalSize
MDriven designer overview Part 4
Modal views
PopUp action
User Interaction
Dashboards and seekers
Searching
Seeker
ValueStore Pattern
Dashboards and seekers
OCLOperators ReQuery
Efficient fetch and large lists
Efficient ViewModel fetch
Column.MaxFetch
MaxFetch
InstantPageLoader
QueryPlan
MDriven Movie Theatre Part 1
MDriven Text Format
MVC GetImage
MVC
MVC GetImage
OCLOperators ViewModelAsXml
Part 11 ViewModel Designer Updates
Snippetsâthe productivity booster
TK Live View
Actions and Business Logic
Actions overview (class and instance scope)
Action names
Available Actions
Global actions
Actions And Viewmodels, MDriven Designer
Acting on object changes
Actions
Adding Buttons in Nested ViewModels
Actions Editor
Application actions
Assign actions a menu group based on class
Charge end user
Class actions
EAL â ExtendedActionLanguage.
ListActions
Periodic action
Standard actions
Web client actions in tables
Action guards and side effects
Acting on object changes
Mockotype
Side effects
Transactions and idempotency patterns
IsolationLevel
Error handling and undo strategies
Part 10 MDriven Designer Overview. Actions and navigation
Turnkey session 3: Opting out actions
OCL in Designer
Collections, iterators, and selection
Set vs bag
Assign actions a menu group based on class
Collection of strings
Collections
ChatDesignerPrompt
Methods
Further Linq enhancements
Modlr plugin
String, numeric, date and time operators
Creating numeric types
Char to int and back
Default String Representation and asString
Modulus math
Ocl hex to dec
Parse
Split time string to value
SysSingleton.UrlEncode
ToString
ClassFromString
OCLOperators addition
OCLOperators equal to
OCLOperators greater than
String
Conditional logic and pattern matching
OCL debugger and tracing workflow
LogEntry
Part 3 OCL: Derivation properties
ScriptAfterEvolve
SysDebugger
Updates to AutoForm and Debugger after latest feedback
OCL Debugger
Logging OCL in Turnkey
Action must have a name
OCLps and server side execution concepts
Searching
State value as a string
SysDebugger
OCL-PS
OCLps
PSExpression , or how to do things in the DB from MDriven
OCL, OCL-PS, and ActionLanguage
Reusable OCL libraries and conventions
OCLOperators JSonToObjects
OCLOperators MergeTaJson
Practical expressions to get insights into your model content
Data and Persistence
Persistence mapping overview
Database
OR Mapping
Persistence
Persistence mappers
SQL Database
SQL Server
How your classes are stored in the SQL database when using MDriven
Seeing everything that is persisted
Working with Code and Persistence Mapping
Default mappers and type mapping notes
Initial values and Default Database values
Column.Eco.BlobType
DefaultDBValue
MySQLânotes to support the use of MySQL with MDriven
Setting all model classes to use AutoInc as PrimaryKeyMapper
Type mapping, OR-Mapping
Autoguid
Reverse engineering an external database
Making sense of legacy dataâDB Reverse
Setting all model classes to use AutoInc as PrimaryKeyMapper
Custom OR Mapping
SQL
Importing CSV or Excel seed data
Convergence â ViewModels, import, export, multi search, synchronization and Excel
Import Data
ExternalId and object identity strategies
The ExternalId explained
Column.Eco.BlobType
Object Identity
The VMClassId Explained
Diagrams and Documentation
Class diagrams: layout and readability
Model Examples
Class diagrams
Ecomdl
Diagrams in Diagrams
UML in MDriven
State diagrams: modeling lifecycle
Diagrams in Diagrams
State Diagrams
Auto layout and diagram organization tips
Autodiagram
Tagged values, notes, and in model documentation
Column.Angular Ext Component
Column.ClientSortable
Column.FormatAttr
Column.HideHeading
Column.MaxFileSizeInBytes
Column.Placeholder
Column.Resizable
Column.SkipStyleLogic
Column.StringFormatRazor
Column.Switch
Data
Extensions
Operations
Span.HideMenubar
Span.Savebar
Span.XmlRootTag
Case sensitive or not
Column.autofocus
Column.DataIsHtml
Column.autocomplete
Ecomdl
Getting taggedvalues in runtime without code
Important TaggedValues for MDriven Turnkey Web-UI is found Here
MetricImperial
Span.FixColSize
TaggedValues
Tagged values in the Designer
Text formatting
Tag extensions
Column.StringFormatAngular
Column.FixColSize
Important TaggedValues for MDriven WPF Fat client
MDrivenDesignerTaggedValueHints
Span.DoNotSearchOnEnter
Added tagged values to attributes based on the class' tagged values
Traceability to requirements and specs
Ecomdl
Validation and Model Checks
Model validations and consistency checks
Validate data in the database
Attribute.CheckIdNameConflict
Check model error
Cross Reference and Rename
Typical error messages and quick fixes
Types of Software Bugs
Action must have a name
Check model error
Downgrade MDriven Framework version
Duplicate IDs in the database
Unknown valuetype
String attribute overflowing
Health checks and lint like conventions
Testing and Simulation
Deterministic test data and fixtures
Scenario based model testing
Simulating actions and state changes
Simulate login
Measuring rule impact over time
Integration Touchpoints
Publishing to Turnkey from Designer
AssetsTK
OCLOperators RestPost
Exposing REST from the model (overview)
Services
Api documentation
Communication between MDrivenServers
Improved routes
Rest Post
Receive post data not known at design time
RestAllowed UIAllowed
Rest Put
Rest Delete
Rest Services In MDriven
Rest API
SignalR and Realtime
Tajson
REST API For Versioned Downloads
Rest Patch
Span.Eco.RestAllowed
Microservices Architecture
OCLOperators RestPatch
Consuming external REST or SOAP definitions in model
Communication between MDrivenServers
Rest API
Using JSON or XML as class template
Importing web service interface as model
JsonToObject vs Tajson
Sign client rest request with certificate
OCLOperators RestDownload
OCLOperators RestHead
OCLOperators SoapCall
Designer to Server connections and model debug hook
LogEntry
MDriven Server - Connecting To
Debug CodeDress
Performance and Optimization
Cardinality choices and fetch strategies
Delayed Fetch
Memory optimization
Derived vs stored data tradeoffs
Optimizing for performance
Profiling OCL and hot paths
Collect very slow
Caching and pre materialized views in the model layer
InstantPageLoader
Subscriptions and Expression Invalidation
CacheInvalidation
Security and Access in the Model
Access groups and permissions
Security
Access groups
Access control system in MDriven
AccessGroups, InterestGroups and ViewModel-Enable
Part 9 MDriven Turnkey, cloud tools and access groups
Restricting data access
SysUser
ViewModel access and security
Certificate
Deeplink with authentication
GDPRPolicy
Model Access Review
SysSession
Source Code
SysSingleton and SysUser Model Pattern
OCLOperators AccessGroupsEnable
Attribute and association level security
Security
Access control system in MDriven
Restricting data access
Context based and row level rules
Security
Restricting data access
GDPRPolicy
Multi tenant rule variations
MultiTenantPrefix
High or low exposure to risk
Information security
Refactoring and Evolution
Rename, split, and merge classes safely
ContinuousIntegration
Model Examples Old
ScriptAfterEvolve
Database evolve
MDriven Designerâa new Rename function to save you time
Deepclone
Deprecation and migration strategies
ContinuousIntegration
Moving from legacy ECO to MDrivenServer
ScriptAfterEvolve
Bootstrap
GroupBox
Migrating From MDriven .NET Framework to .NET Core
Working with legacy Handles
Breaking changes
.NET Framework, .NET Core, and .NET 6+
Backward compatibility approaches
Versioning and change logs for releases
Versioned on class
Breaking changes
Changelog
Best Practices and Patterns
Naming conventions and structure
MDriven NuGet License
Requesting Paid MDriven Extensions
Fashion, Gist, and Modernity
Terms of Service
Calendar-Based Licensing
MDriven Source Code License
MCoins
Aggregates and consistency boundaries
Pattern catalog: factory, specification, adapter
Singleton
Pattern supported methods
Large model governance and reviews
Publish a Model with ModelMeta
Documentation debt and living guides
Trust and Guarantee
Summit
MDriven Gist
SysDocBatch
Documtr and XPS
Documentation Old
Legacy
Securing Knowledge Over Time
Complete model examples
Getting to the bottom of the Line of Business Application
Troubleshooting
Designer common issues and resolutions
Before going nuts about this issue
Codegen failed
Fault-finding certificate problems in IIS
Exception starting
Missing Set button in Autoform single link
Ng-click ( ngClick ) not working
Problem saving database script
Possible file version mismatch detected between ADO.NET Provider and native binaries of SQL Server Compact
RecyclableMemoryStream
PreserveLegacyFilenames
SQL not trusted
Threading bug
WCF issues
WebAssembly 2020
Derivation and validation debugging tips
Derivation is not available in the database
Multiple instances
State machine gotchas and recovery
Performance triage and profiling workflow
Database corruption
Edgar Test Page
Logging what MDriven does
Object is already deleted
Support options
The anti-forgery token could not be decrypted
Operations
Browse guides and technical documentation
Summit
Wednesdays with MDriven
Changelog
Debugging MDrivenServer Serverside actions
Finding angular scope from javascript
Import Data
Threading bug
Selenium Testing
__HIDECREDIT__
Categories
:
Diagrams and Documentation
Intermediate-Friendly
Priority 50
Tagged values, notes, and in model documentation