v1-generation template. This project is based on the
iBackendPlugincontract — execution generation v1, which the platform still supports and uses; it is kept for compatibility and is not aligned with the TMF-compatible layer. For the current attribute-based approach (generation v2) start from tutorial-backend-plugin; the Model-first development mode itself remains current — see the Developer's Guide.
The Model-First project for MEF.DEV platform is autogenerated and ready-to-build a Model-First solution within MEF.DEV platform, that aims to host MEF-applications as a plugin. This MEF.DEV Model-First project based on an XML schema file that controls input sets of Entities & Actions data from external sources, like Database or Visual Modeling Tools. The MEF.DEV project is aimed to use with Visual Studio or Visual Code, but it can run without Visual Studio or Visual Code by using MSBuild. By invoking msbuild.exe, you can orchestrate and build products in environments where Visual Studio isn't installed.
Important to understand, that MEF.DEV projects are using the MEF.DEV.Common.Plugin NuGet package from MEF.DEV.Common.Plugin. The MEF.DEV.Common.Plugin is the MEF.DEV core provider into your solution, that you should follow general development principles on-base Entities & Actions approach.
From a technical perspective, the MEF.DEV.Common.Plugin library contains a description of the iBackendPlugin and iPluginСonfig interfaces, as well as the base class BaseEntity, which are part of the contract the Managed Extensibility Framework infrastructure, namely [Export ("plugin_name", typeof (IBackendPlugin))] and required for each self-development Plugin for integration into the mef.dev serverless platform.
For more information on MEF.DEV, see the Developer's Guide on mef.dev
The current development branch of MEF.DEV.Common.Plugin is master. Changes in master will go into a future update of MEF.DEV Model-First project template, the current release MEF.DEV.Common.Plugin is 1.3.4.
For the full supported experience, you will need to have Visual Studio 2019 or higher.
To get started on Visual Studio 2019:
- Install Visual Studio 2019. Select the following Workloads:
- ASP.NET and web development
- .NET Core cross-platform development
- Open
plugin_name.slnin Visual Studio 2019. - (optional) Make changes in Entities & Actions schemas into
.\models.xmlfile in the root of the repo - Run
.\build_for_deploy.cmdfrom the root of the repo to build the code. This also will generate new Entities & Actions classes from.\models.xmlneeded to build new version of Plugin. - Open
\bin\Deployfolder and use fileplugin_name.zipthat consists of all files from build.
MSBuild can be run on Unix systems that support .NET Core. Set-up instructions can be viewed on the wiki: Building Testing and Debugging on .Net Core MSBuild
To complete this operation, you will need to log on to the MEF.DEV platform. Access is provided by invitation — request it via Request Info.
-
Log in to the MEF.DEV platform (access is provided by invitation via https://natec.tech/request-demo)
-
Create a new package
plugin_namein the Plugins section of the console - the minimal set of information is:- PLUGIN MEFNAME - the unique (within the ALIAS) Plugin name, must be equal to the namespace from the build solution above (in this case value =
plugin_name) - ALIAS - a unique logical name that unites all entities and actions of one subject area (business domain), if unknown - please input value in
ddmmyyhhmmformat - SERVICE NAME - the unique friendly Plugin name for UI, if unknown - please input specific to your build
plugin_name
- PLUGIN MEFNAME - the unique (within the ALIAS) Plugin name, must be equal to the namespace from the build solution above (in this case value =
-
Upload created at building step 5
plugin_name.zipto plugin package, created on step 2. This also register new version of plugin and start the generation process of technical specification for future review. -
Create configuration for plugin to connect it to database - as business logic for models: { "RuntimeState": "Run", "StartTime": "dd.mm.yyyy hh:ss", "RuntimeStateDescription": "503 http code details description for manual operation with plugin", "ConnectionStrings": { "ConnectionString": "Server={servername};Database={database_name};Trusted_Connection=Yes;MultipleActiveResultSets=true" }, "DeadlockRetryCount" : 3 }
-
After click SAVE button, mef.dev platform will run this version of plugin and you can use it after the rights assessment procedure.
Before you contribute, please read through the developer guides
- Developer Guide on:
Looking for something to work on? This Telegram support group of MEF.DEV support is a great place to start a discussion. You are also encouraged to start a discussion by filing an issue or creating a gist.
-
PluginProjectGenerator. The tool that is uses to auto-generate source code into MEF.DEV projects, provided by MEF.DEV authors.
-
MEF.DEV.Common.Plugin. The MEF.DEV.Common.Plugin nuget contains a description of the iBackendPlugin and iPluginСonfig interfaces, as well as the base class BaseEntity, which are part of the contract the Managed Extensibility Framework infrastructure, namely [Export ("plugin_name", typeof (IBackendPlugin))] and required for each self-development Plugin for integration into the mef.dev platform.
MEF.DEV Model-First project is licensed under the GNU AGPL 3.0.