MXMS

From MXMS Wiki
Jump to navigationJump to search

What is 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 custom format.

Custom scheduled tasks can be created for background processes to execute to create data synchronisation tasks or other custom workflows.

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.

Project folder structure

Sources

The repository contains a src folder which contains all sources. The solution file is located in the /src/ folder. This contains all projects for the framework.

Example project

There is an example folder which contains an example implementation of a model and a hosting environment which uses the MXMS framework.

How to publish it

MXMS uses NuGet as a deployment platform, the publishing system generates various NuGet packages. There are core projects and optional modules which provides additional functionality for specific tasks. E.g the GIS module provides maps functionality. The optional modules are located in the Modules solution folder. This repository contains a pub folder which contains 2 batch files which will automate the deployment process either offline or online.

Versioning

For each new release of the framework a new version needs to be chosen. Regardless of which publish method is chosen the new version needs to be updated in the batch file. Look for the parameter PackageVersion and set the version accordingly. This needs to be implemented more efficient in the future so there is no requirement of editing the bat file.

Online publishing

publish.bat publishes the NuGet packages to an online NuGet feed. To make this work you need to edit the publish.bat file. Line 10 contains an API-Key parameter. Provide this API-Key for your NuGet platform and save the batch file.

Local publishing

The file publish-local.bat allows you to publish the NuGet packages to a local folder. The contents will be published to the project folder dist/nuget/. If this folder does not exist the folder will be created. This enables the developer to use this folder as an offline NuGet store.