The Guide provides the various information about the development process of the UUX applications based on SolutionBuilder Platform, and provides answers for the following topics:
- Setup and Configure Development Environment
- Understanding the structure of the Application Folders
- How to develop, debug and deploy Back-end components
- How to develop, debug and deploy Front-end components
- End-to-End Automation
Setup DEVELOPMENT Environment
Install SolutionBuilder platform
First of all latest released version must be downloaded from marketplace
Before you install SolutionBuilder platform, please perform the following steps:
- Install Microsoft SQL Server and specify all required features and roles.
- Install the required components that are specified here.
Now you can install SolutionBuilder platform to development environment following installation steps using Setup Wizard
Instead of installing to default folder that Setup Wizard will propose, we recommend to change it to "c:\dev\<yourprojecthere>\root", for example "c:\dev\uemconsole\root\"
After successful installation, new empty environment is ready for use under the following link
Configure project name in application
It is possible to work with different projects on the same system. You only need to switch current project when developing
Add project name to SPSCustomizingOptionPickup data definition in Administration area
Set current project for development in Administration->Settings prefix for custom schema object
Install tools to develop with SolutionBuilder platform
The Visual Studio integrated development environment is a creative launching pad that you can use to edit, debug, and build code for back-end and front-end development
To install it, follow that article
Application Folders (Logistics)
After getting sources, the folder that was previously mapped, will look like this:
It includes all folders with sources of extension:
- "UEMServices" folder contains project where all services are implemented
- "UEM CustomControls" folder contains sources for the front-end components
- "Schema" folder contain all scripts for that application UEM
- "Root" was selected as <InstallationFolder> when installing SolutionBuilder platform to development environment
Installation Folder structure
At the moment, SolutionBuilder platform installation still deliverers some legacy folders, but in future they will be removed
- "bin" folder - binaries for Engines(Hostcommon, HostScheduler) are placed. Also, you can find "sps.config" wile where connection to DataBase is defined. Normally the file should be updated only with Matrix42 Setup Wizard
- "Certificates" folder contains certificate for modules like SchemaDesigner, Wokflows, Service Desk, License etc.. After adding new certificate application restart must be performed
- "Config" folder contains all scripts that describes application structure, and default objects, setting of application. Setup Wizard installs updates our of there
- "DataGateway" folder contains logs about datagateway process
- "Logs" folder contains server side log of SolutionBuilder and their archieve
- HostCommon.log - logs from HostCommon service (Engine activations)
- HostCommonX86.log - logs from HostCommonX86 service (GDI)
- HostScheduler.log- logs from HostScheduler service
- Matrix42.Services.log - logs regarding api call and SolutionBuilder services
- Matrix42.Setup.log - logs from Matrix42 Setup wizard
- Security.HostCommon.log - logs regarding security in HostCommon
- Security.Matrix42.Services.log - logs regarding security in SolutionBuilder services
- WE.HostCommon.log -logs regarding Workflow Engine in HostCommon
- "Reports" folder - reports are deployed by Setup Wizard from that folder.
- "ServiceRepository" folder - libraries and assets needed for Worklow Activites to be opened in Workflow Studio
- "svc" folder - this is host folder for M42Service application. Inside there is folder "bin" where all dll needs to be placed in order to be user with SolutionBuilder
- "WM" folder - frontend application with configuration. When adding js libraries or control they must be registered here
Schema script is used in SolutionBuilder for delivering changes to others systems when building application DataModel, Structure, User Interface, Localization, Settings, and default objects. When Solution Recorder is enabled, every change in Administration will be tracked and generate correct script for insert, update or delete
Every application has its own scripts stored in source control.
To be able to install scripts, you need to perform those steps:
- copy them to <InstallationFolder>\Config (ex. c:\dev\uemconsole\root\config). This can be done when building application
- register scripts in SolutionBuilder
- run Matrix42 Setup wizard for updating the environment
Register scripts in SolutionBuilder
- Open file for edit <InstallationFolder>\Config\Custom.xml (ex. c:\dev\uemconsole\root\config\Custom.xml)
- add link to xml file where every script is defined. For example: uem.xml
- save the file
<?xml version="1.0" standalone="yes"?> <CustomFiles> <Files FileName="Config\uem.xml" SchemaFilesPath="Config\"/> ..... <Files FileName="Config\Platform.xml" SchemaFilesPath="Config\"/> <Files FileName="Config\Pandora.xml" SchemaFilesPath="Config\"/> <Files FileName="Config\Compliance_UUX.xml" SchemaFilesPath="Config\"/> <Files FileName="Config\SolutionBuilder.xml" SchemaFilesPath="Config\"/> <Files FileName="Config\EDM.xml" SchemaFilesPath="Config\"/> <Files FileName="Config\GDIE.xml" SchemaFilesPath="Config\"/> <Files FileName="Config\Alerting.xml" SchemaFilesPath="Config\"/> <Files FileName="Config\Engines.xml" SchemaFilesPath="Config\"/> <Files FileName="Config\WorkflowEngine.xml" SchemaFilesPath="Config\"/> <Files FileName="Config\LCM.xml" SchemaFilesPath="Config\"/> </CustomFiles>
Back-end Development Process
Setup Back-End Development Environment
The SolutionBuilder Back-end components are implemented on .NET Framework version 4.5. What means any new Server component which is going to be hosted on SolutionBuilder Application Server has to be implemented on the same version of the .NET Framework.
.NET Framework provides the big variety of the programming languages which can be used for the developing of the Server components, like C#, F#, VB.NET. The Solution Builder Product team uses C# language for development, as the most powerful language for developing components on .NET Framework.
Integrated Development Environment
.NET SDK right after installation provides the full range of tools for not only running .NET Applications in runtime but also for compilers which can be used for the creation of the new components. For example, C# compiler (C:\WINDOWS\Microsoft.NET\Framework\v[your version number]\csc.exe), is absolutely Free, and absolutely enough for creating any .NET Application. But organizing the C# Project files structure is very tedious and complex procedure. To significantly simplify the development process of .NET Application we strongly recommend using Visual Studio.
To develop SolutionBuilder extensions the minimum amount of Visual Studio components need to be installed.
Introducing new Web Services
Explains how to develop, deploy and debug new Web Service to Solution Builder.
Please see the Fleet Management Tutorial lesson "Car Tracking 3: Web Service for Tracking Car" which step by step explains and demonstrates the creation of the new Web Service.
Creating new Workflow Activities
Explains how to create new Workflow Activity and register it in SolutionBuilder Platform.
Front-end Development Process
End-TO-END Test Automation
Test Automation:Getting started guide delivers the Best Practices examples how to implement End-To-End testing of the developed Application.