Folder Structure of the SolutionBuilder based Applications
After completing this how-to you will have an understanding about the structure of application folder for SolutionBuilder based applications
Introduction to version control
We recommend storing sources for the project in Version Control. If you are already familiar with version control, you can skim or skip this section.
A version control system serves the following purposes, among others.
- Version control enables multiple people to simultaneously work on a single project. Each person edits his or her own copy of the files and chooses when to share those changes with the rest of the team. Thus, temporary or partial edits by one person do not interfere with another person's work.
Version control also enables one person you to use multiple computers to work on a project, so it is valuable even if you are working by yourself.
- Version control integrates work done simultaneously by different team members. In most cases, edits to different files or even the same file can be combined without losing any work. In rare cases, when two people make conflicting edits to the same line of a file, then the version control system requests human assistance in deciding what to do.
- Version control gives access to historical versions of your project. This is insurance against computer crashes or data lossage. If you make a mistake, you can roll back to a previous version. You can reproduce and understand a bug report on a past version of your software. You can also undo specific edits without losing all the work that was done in the meanwhile. For any part of a file, you can determine when, why, and by whom it was ever edited.
Development folder with extension sources
We recommend downloading sources to project folder, so sources are on the same level as installation folder.
After getting sources, the project folder may look like shown at the example:
- "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
In the installation folder of SolutionBuilder application, there are many folders with dedicate purpose
- "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>