MXMS: Difference between revisions
| Line 33: | Line 33: | ||
=== Modules === | === Modules === | ||
For a modular approach modules can be created which can be injected into the application. A [[ | For a modular approach modules can be created which can be injected into the application. A module is a class which inherits from [[MXA.Module.IModule]] which injects configuration to the application. | ||
== Data storage == | == Data storage == | ||
Revision as of 05:11, 31 March 2026
What is MXMS

The MXMS framework enables rapid development of business software solutions by using a structured class entity model in which the database / SQL is maintained and updated by the framework and the UI is built.
MXMS enables rapid development of API's which exposes certain fuctionality of the entity model in a JsonRPC, REST or a custom format.
Custom scheduled tasks can be created for background processes to execute to create data synchronisation tasks or other custom workflows.
.NET Core
MXMS uses .NET Core as the development platform and is written in C#
Model driven development
At it's core a MXMS implementation expects a model definition which is used to generate the application and it's functionality.
A model is a collection of classes which contains properties annotated with attributes which provides context to the property and methods which provides functionality to the implementation.
Configuration
MXMS has various ways of changing the application configuration. There is a json file which contains basic configuration which changes from instance to instance. The main way to configure the application is through strongly types configuration classes using the options pattern in the startup.cs. The strongly typed configurtion can by further filled by creating a module.
mxmsSettings.json

MXMS uses a json file called mxmsSettings.json to configure specific items between instances. Each instance of the application can have it's own mxmsSettings.config. The file is using the json format.
The configuration consists of the global mailserver settings which are used to send mails and the connection string which provides storage for the ORM mapper. Additionally MXMS registers when which scheduled process was last run.
If a mxmsSettings.json file is not present during application startup an empty configuration file is created which can be edited as required.
Application startup
MXMS can be further configured during the application startup using a strongly typed configuration and model mapping structure.
Modules
For a modular approach modules can be created which can be injected into the application. A module is a class which inherits from MXA.Module.IModule which injects configuration to the application.
Data storage
TODO add db info
ORM
Updates
Dialects
File storage
TODO file storage
User interface
TODO add ui info
Pages
Apps
Views
Widgets
Input controls
Custom applications
Background processes
TODO add background process info
Security
TODO add security role / claim based info
Filters
TODO add filter information
API development
TODO add APIs info.