MXMS: Difference between revisions

From MXMS Wiki
Jump to navigationJump to search
Line 29: Line 29:


=== Application startup ===
=== Application startup ===
MXMS is injected into the ASP.NET Core pipeline during [[Startup|startup]]of the .NET Core application. MXMS provides injection classes to enable the MXMS application within the ASP.NET Core implementation. Additional or ad hoc configuration can be passed during the initial startup of the application. MXMS uses a strongly types class model to confige the application furing startup.
MXMS is injected into the ASP.NET Core pipeline during [[Startup|startup]] of the .NET Core application. MXMS provides injection classes to enable the MXMS application within the ASP.NET Core implementation. Additional or ad hoc configuration can be passed during the initial startup of the application. MXMS uses a strongly types class model to confige the application furing startup.


=== Modules ===
=== Modules ===

Revision as of 05:33, 31 March 2026

What is MXMS

An example implementation using the MXMS framework
An example implementation using the MXMS framework

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 configuration can be further filled by creating a module. A module can be re-used to provide certain functionality to implementations.

mxmsSettings.json

An example startup configuration file open in Visual Studio
An example startup configuration file open in Visual Studio

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. It uses this information to determine which processes needs executing.

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 is injected into the ASP.NET Core pipeline during startup of the .NET Core application. MXMS provides injection classes to enable the MXMS application within the ASP.NET Core implementation. Additional or ad hoc configuration can be passed during the initial startup of the application. MXMS uses a strongly types class model to confige the application furing startup.

Modules

For a modular approach modules can be created which can be injected into the application. A module is a class which injects configuration options to the application. This module can be re-used in various implementations.

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.