The screen shown below is the Person Summary screen from Sage CRM.
The screen is built from HTML that has been returned from the Sage CRM application running in the web server as a result of a request sent from the browser.
In this example it is the eWare dll that was responsible for how the interface is generated and takes into account the security and business rules defined in the system. It then returns the HTML that builds the screens that the user sees.
Consider the URL that has caused the screen to be displayed.
http://localhost/crm/eware.dll/Do?SID=157613724028715 &Act=220 &Mode=1 &CLk=T &Key0=2 &Key1=28 &Key2=30 &T=Person
The eWare.dll itself contains the object definitions of how to draw a screen. It has inbuilt actions that allows screens and system behaviour to be called. These are the API objects that can be used by the developers who want to extend ther behaviour of Sage CRM.
Sage CRM knows to return the Person Summary screen because the system action 220. The System Action is a hard coded set of references to one or more screen or list blocks (objects) that are defined in the database.
Sage CRM uses the concept of Meta Data to build its screens. The system database holds the data that describes how the screen should be built.
Consider these questions:
- What fields should be included in the screen?
- In what order should the fields be displayed?
- Should every user be able to change each field?
- What caption should label each field?
- What options should be available in the selection list?
These are all design questions are all answered by definitions held in the system. The key point is that these definitions are under the control of the system administrator. All the system administrator has to do is change some settings in the administration menus and the design of the screens will change dramtically. The administration choices allow extensive changes to the system to be made without the need to use any code.
If we look at the Person Summary screen again we can see that it is divided up into a number of different parts that can be customised by changing the meta data.
The screen is made up of a number of individual screen definitions.
These screens can be accessed through the system admin screens.
The fields within these screens can then be changed. New fields can be added, existing fields can be removed or can be reordered in the display and properties such as the spacing or change to a new line can be controlled.
The individual captions of the screen and fields can be changed.
The URL of the screen also contains a reference to the Tab Menu to be used. This menu can also be changed in the System Administration screens.
Other aspects of a screen that can changed through control of the Meta Data include
- Coaching Captions
- A user security profiles may determine which buttons are displayed as may other system settings.
- The captions of the buttons are controlled by the translations features of Sage CRM
- The Button Group feature allows new buttons to be added to the screen
- Field Level security determines display
- Captions can be changed
- Addition scripted rules can be added that change behaviour
The control of the aspects of meta data is covered in other articles.