Lesson 2 - Site Manager architecture
Before you can customize the Site Manager you need to understand how it works. So in this lesson you will read about the Site Manager system structure and its components and do a little exercise in the end.
Site Manager system structure and customizations
The Site Manager application consists of plugins and services which work on top of the data layer that controls the flow to and from the database.
When customizing the Site Manager you have 3 possibilities. You can change/create a plugin, change a service or add to the data layer.
It will depend on requirements whether you need to use one or more of the possibilities.
Site Manager application
The Site Manager application has two main functionalities. It handles loading the plugins and it also handles user login and security.
Loads up all the plugins:
Manages user-interface flow:
- When the Site Manager application loads a plugin it adds the plugins UI components, dialogs and tabs, to the Site Manager user interface.
- The plugin can control where their components are added.
- This resolves in a single back office applications with the standard functionality and with your customizations added rather than working with different components/applicaitons for each feature.
Manages user authentication:
- The Site Manager controls the user login and which users can login to the Site Manager.
- It will also only show functionality that the logged in user has permissions to view.
Other:
- The Site Manager audits the changes done in the Site Manager into a separate audit database. The changes can then be viewed in the Site Manager
- The Site Manager application also takes care of all licensing functionality.
The Site Manager application itself is closed source.
Site Manager Plugins
The Site Manager is a plugin based application. It has almost no default behavior and everything in it is defined in a plugin. Each plugin has different views, tabs and dialogs that it adds to the Site Manager. The plugins add themselves to the frame and they can add components to other plugins.
- The plugins of the Site Manager define system content: the Site Manager configures the LS One POS because the plugins tell it to do so.
- Remove plugin => remove functionality
Each plugin can be removed causing the functionality it provided to vanish from the system. Some setups do not, for example, want the Site Manager to handle inventory so they simply remove the Inventory plugin and the inventory functionality will no longer be in the system. - Open source:
All the standard plugins are open source execpt: User, security, scheduler, monitoring
All open source plugins are in the development pack
- No limit on the number of plugins the system can handle.
You will learn how to create and edit plugins and their components in Lesson 3 but finish lesson 2 first by reading this topic to the end and do the exercise.
Site Manager services
While plugins are independent of each other and can provide any functionality, services handle common system logic for the Site Manager. They cannot be removed because other system parts depend on them but they can be replaced with different logic.
Tax is an example of a service that obviously has to be included in the system for it to function. The user enters a price without tax and the Site Manager asks the Tax service for the price with tax. The default tax functionality handles most tax cases but there are some complicated local taxes that have special behavior.
Services can only be replaced, but very uncommon for the partners to change the services but sometimes it is necessary for example in USA and they are tax calculations are even more complex Canada
About services:
- The services take care of calculations and some are shared between the POS and the SM.
- A service cannot be removed.
Without the services the application will not be able to function. - Some services are shared between the Site Manager and the LS One POS such as Rounding, Site Service and Tax
We will look at the services in more details when we cover LS One POS customizations.
Site Manager data layer
When the LS One applications need to access the database they do this through the data layer.
The Data layer consists of three parts the BusinessObjects, DataProviders og SharedDatabase.
All the LS One applications, LS One POS, the Site Manager and the Site Service use the same data layer.
A Business object flows from the data layer to the application and the data can be displayed, edited and then sent back to the data layer which takes care of saving the changes to the database.
We will cover what these parts all do in a later lesson.
Site Manager Customizations
When customizing the Site Manager you have 3 possibilities. You can change or create a new plugin, edit the services or add to the data layer.
It will depend on your requirements whether you need to use one or more of the possibilities.
Exercise
Task:
In the Site Manager installation folder try removing all the Site Manager plugins and then run the Site Manager.
You want to be able to run the Site Manager again after wards. It is therefore a good idea just to move the plugins to another folder temporarily or you can just rename the Plugin folder to something else and then name it back after the exercise.
Reflect on:
- Does the Site Manager run?
- How does it look like? What is missing, what is still there?
Lesson 2 was short! Now go on to: Lesson 3 - Plugins