This documentation website is under construction. Its content is to be ported from the legacy documentation and also the Video Tutorials (contact us for access). Previously you used a web-based IDE for developing M# apps and all the old documentation is based on that model. In the new M#, everything is in Visual Studio and you use special C# classes to define M# concepts. Mapping from the old model to the new one is not too complex as the concepts are still the same. You just need to map the syntax between the two in your head. Read CONTRIBUTING.md if you want to participate in M# documentation.
M# is based on the Olive Framework which you must learn in order to use M#.
Understand the M# development model in a nutshell.
Learn how to install M# on your computer and create a project to get started.
Learn about the structure of an M# solution and learn the development workflow.
An introduction to all key M# concepts such as Entity Type, Property, Page, Module, ....
In this lesson you will learn about the key M# concepts:
- Entity type creation (including associations)
- Page & menus and navigation
- List modules, form modules and buttons
In this lesson you will learn about:
- Menu
- Pop-up (modal) pages
- Image and file properties
In this lesson you will learn about:
- Uniqueness rules
In this lesson you will learn about:
- Property search element
- All fields search element
- Custom Label for form / search elements
In this lesson you will learn about:
- Inheritance
- Export to excel
- Client-side filter
- Index column
In this lesson you will learn about:
- One to Many (inverse) associations
- Many to Many associations
In this lesson you will learn about:
- Range validation
- Paging
- Button style (link)
- Property setter
- Expected lines
In this lesson you will learn about:
- Footer
- Cascade delete
- Calculated property
In this lesson you will learn about:
- Master-detail forms
In this lesson you will learn about:
- List data source
- View module property
- Link button
In this lesson you will learn about:
- Html.Raw
- Empty markup
- Method logic
In this lesson you will learn about:
- Validate() method of objects
- Form level custom validation
- Form element header markup
- Module header text
In this lesson you will learn about:
- Control type
- Form element data source
- Form element source criteria
In this lesson you will learn about:
- Boolean form element (true, false text)
- Custom workflow action
- Sending emails
- Email Templates
In this lesson you will learn about:
- List column format (date and percentage, and number separator)
- Form element display expression
- Search element display expression
In this lesson you will learn about:
- Mandatory property, but optional on a form
- Optional property, but mandatory on a form
- Setting a form value automatically only if the user didn't.
- Interactive image (using buttons)
- Custom search behavior
In this lesson you will learn about:
- Dynamic menu item
- Custom Active menu item
- Visibility
- Module box
- After control, Before control settings
In this lesson you will learn about:
- Repeated buttons
- Button markup template
- Checkbox column for list modules
- Display option for columns
- Instance accessor for entity types
- Automated tasks
- Understanding Entity Types
- Properties
- Inheritance
- Transient, Interface, Abstract
- Generated Code
- Partial Class & Business Logic
- String Property
- DateTime Property
- Associations
- Number Property
- File
- Boolean
- Calculated Properties
- The role of ID
- The role of IsNew
- The role of ToStringExpression()
- IEntity interface
- TransientEntity
- MSharp Interfaces
- Database.Get() VS Database.Find()
- Database.GetList()
- Database.Save()
- Database.Update()
- Database.Delete()
- Database.Any(), None() and Count()
- ConnectionString and config
- Working with existing databases
Soon™ ...
Learn how to use the msharp.exe CLI (Command Line Interface) to diagnose problems, or automate things.
Learn tips and tricks to speed you up and make your life easier when developing M# apps in Visual Studio.