ES-Analyzer-Premium-Edition
Περιεχόμενα
ES Analyzer Structure
To begin with, ES Analyzer is formed by several json files. There is the master json file named ESAnalyzer_Premium.json and the ESAnalyzer_Premium folder (Application Folder\ESWebAssets). The master json file (ESAnalyzer_Premium.json) holds Groups and the related folder (ESAnalyzer_Premium) contains subfolders with other json files. These subfolders are used for managing easier the large number of json files. Their names are based on each Group’s ID. Finally, the json files stored in each subfolder refer to the MainMenu and the MainMenu content items. The json files are named after MainMenu item ID. It is recommended to follow this practice when naming your folders or json files. Though, you can name them at your convenience.
Groups correspond to the sidebar menu of ES Analyzer.- MainMenu items correspond to the sidebar submenu
- MainMenu content items correspond to the content area of each MainMenu item.
If there are two MainMenu items with the same ID, then the last one (in alphabetical order) will prevail.
MainMenu and MainMenu content items use ESUITypes to manage the way data are displayed. Some ESUITypes use restricted structure of data. Currently, there are seven (7) UI (User Interface) types available; ESGrid, ESChart, ESTreemap, ESPivot, ESMap, ESGauge and ESCombo.
In the following pages, a brief description of Groups, MainMenu & MainMenu content items, and afterwards, ESUITypes are thoroughly presented along with the necessary user guidelines and examples.
Prerequisites
- ESUITypes use a specific data retrieval component, named Public Query. To design and manage a Public Query you have to use the view designer. Firstly, you create the view and then through the ‘Publish’ action you create the related Public Query.
For detailed instructions for Public Query creation, please visit: Entersoft Public Queries
Data CANNOT be sorted, if you use SQL Additions and ‘Instead of SELECT’ option is activated. If data are not sorted then server pagination is not supported.
- CSWebAssets folder creation. This is required in order to avoid replacement of files when upgrading to latest EBS version. After, CSWebAssets folder creation, the ESAnalyzer_Premium.json and the ESAnalyzer_Premium folder must be copied from ESWebAssets to CSWebAssets.
If the master json file ESAnalyzer_Premium.json is copied to CSWebAssets then the system searches for the related ESAnalyzer_Premium folder INSIDE CSWebAssets. Consequently, IT IS MANDATORY TO COPY BOTH the master json file ESAnalyzer_Premium.json AND the related ESAnalyzer_Premium folder to CSWebAssets.
Groups
All groups are saved to the “ESAnalyzer_Premium” json file (Application Folder\ESWebAssets). The “Groups” section is bounded by opening and closing square brackets ( [ ] ) and all objects between square brackets must be comma ( , ) separated. As previously mentioned, it corresponds to the sidebar menu of ES Analyzer Site as depicted below. Also, the ID of each Group refers to the related subfolder inside ESAnalyzer_Premium folder.
User Privileges
By default, in the “ESAnalyzer_Premium” json file the following six (6) groups are included and each group is related to a user group which could be used to deny access to a user of this group:
| ID | Description | EBS User Group Code |
|---|---|---|
| MGMT | Deny access to General management | DENY_ANALYZER_MGMT |
| FIN | Deny access to Financial management | DENY_ANALYZER_FIN |
| CML | Deny access to Commercial management | DENY_ANALYZER_CML |
| SVC | Deny access to Customer support | DENY_ANALYZER_SVC |
| SCLOG | Deny access to Supply chain management | DENY_ANALYZER_SCLOG |
| BUSENT | Deny access to Master entities | DENY_ANALYZER_BUSENT |
To deny access to a menu group to a specific user, the corresponding user group should be assigned to this user in the Entersoft Business Suite and the group disappears from the ES Analyzer side bar menu.
If any new group was added, then the corresponding EBS User group should be created. For instance, the group with title ‘General’ and ID ‘GNR’ was added to the json file, then the corresponding EBS User Group should be DENY_ANALYZER_GNR.
To assign a user group to a user open the Entersoft Business Suite and go to General \ User administration and select a user. Then insert the user group in the user groups list and refresh the application server.
The prefix of the group should always be DENY_ANALYZER_ and the suffix should always be the ES Analyzer Group ID.
New Group
To add a new Group, a new object must be added to the Groups section in the JSON file.
In between the opening and closing remarks of this section, the following script should be inserted and be configured:
Group Configuration
The Group object main properties and their value types are the following:
- AA
Holds number value and defines the sequence in which a group is shown on the sidebar menu.
ID
Holds string value and it is recommended to be an abbreviation of the title.
Title
Holds an object value. The object properties get string values. Each property refers to the language in which the title has to be written, i.e. “en” refers to the English language, “ro” refers to the Romanian language, etc. In case of monolingual title, the corresponding language property of our interest must be filled out and all others should have an empty string.
Icon
Holds string value and refers to the icon depicted in front of the title. All available icons can be found on the following websites:
To replace the existing icon with another one from this website you have to click on the icon you wish, copy the icon’s title and keep the “mdi mdi-“ and replace the second part of the string. See the example below:
To replace the existing icon with another one from this website you have to open the drop down list of the selected icon and select “HTML Tag”. Then paste the copied tag to a notepad and select the string defined to “class” and paste it to the “icon” property. See the example below:
MainMenu item
Each MainMenu item is saved as a distinct json file inside the folder of the Group that it is bound to. The Group folder has the same name with the GroupID of MainMenu item and the json file name must be the same with its ID. MainMenu is bounded by opening and closing curly brackets ( { } ).
New MainMenu
To add a new MainMenu item, create a new json file inside the folder of the group you wish to be bound to.
In the new json file insert and configure the following script:
MainMenu Configuration
The most important MainMenu object properties and their value types are the following:
- AA
Holds number value and defines the sequence in which a group is shown on the sidebar menu. It is recommended to use tens of thousands of the Group AA that the MainMenu belongs to. For instance, the script of the MainMenu item above belongs to the Group "BUSENT" and this Group’s AA is 1, so 1 x 10000 = 10000. In many cases, more than one MainMenus are related to a Group, so a hundred is added to the AA of the previous MainMenu related to the same Group. For example, the AA of the first MainMenu related to Group "BUSENT" is 10000, so the AA of the next MainMenu related to the same Group should be 10000 + 100 =10100. The AA of the following MainMenu related to the same Group should be 10100 + 100 =10200 and so forth.
- ID
Holds string value and always begins with “PQ_” followed by the MainMenu AA, i.e. PQ_10000.
- GroupID
Holds string value and always is the Group’s ID that the MainMenu belongs to. For instance, the MainMenu above belongs to the Group "BUSENT" and this Group’s ID is "BUSENT".
- Title
Holds an object value. The object properties get string values. Each property refers to the language in which the title has to be written, i.e. “en” refers to the English language, “ro” refers to the Romanian language, etc. In case of monolingual title, the corresponding language properties of our interest must be filled out and all others should have an empty string.
- Description
Holds string value.
- ESUIType
Holds string value. There are seven (7) UI (User Interface) types available; ESGrid, ESChart, ESTreemap, ESPivot, ESMap, ESGauge and ESCombo.
- esDef
The MainMenu Content is set to this property. MainMenu Content configuration is thoroughly described in the following pages.
MainMenu Content item
MainMenu Content items are stored in the same json file with the MainMenu item that it is related to. MainMenu Content is set to the MainMenu property “esDef”. This section of the JSON is depicted in the content area of ES Analyzer Site and is related to a MainMenu.
New MainMenu Content item
To add a new item to the MainMenu Content, a new object or an array object must be set to the MainMenu property “esDef” in the JSON file. The esDef value type depends on the defined MainMenu ESUIType. Only in case of esCombo UI type, an array object must be set to esDef. In any other case, only one object can be set to esDef. The array object values are bounded by opening and closing square brackets ( [ ] ) and all objects between square brackets must be comma ( , ) separated.
There is no specific script to set to esDef, since it differs from UI type to type.
ES UI Types
At this time, there are eight (8) UI (User Interface) types available. Each one corresponds to a graphic representation of data retrieved from the Entersoftt Business Suite (EBS) system. To retrieve data, the use of Views and Public Queries is required. Firstly, a View must be designed and afterwards, it must be published in order to create the related Public Query. In the JSON file, only the Public Queries and their areas are used. In some UI types, views must have restricted structure and their column names must apply to specific terms.
Currently, the following ES UI types are available:
General
Parameter panel
All ES UI types, except of ESGauge, use parameter panel and by default it is collapsed. All parameters defined in every Public Query are shown in the parameter panel of the corresponding component.
Investigation parameters
You can make any parameter of a Public Query investigable by assigning a zoom table to this parameter in the related view or by assigning a custom view.
To assign a custom view to a parameter, you have to:
- If Public Query of the custom view does not exist, create the related Public Query.
- Go to the parameter and assign the property ‘Investigation PQ’. The value of the parameter must have the following syntax PublicQueryArea\PublicQuery\ColumnName
- PublicQueryArea
Corresponds to the Public Query Area inside the ESPublicQueries folder
- PublicQuery
Corresponds to the investigation Public Query
- ColumnName
The column name of the Public Query that refers to the value that will be passed to the investigation parameter.
Show parameter value
In case you wish a parameter value of a Public Query to be always visible, even if the parameter panel is collapsed, go to the related view of the public query in the view designer and assign to this specific parameter the property ‘Show parameter’ as True.
Params Property
This property is used to set default parameter values to every Public Query of every ES UI Type. The parameter can be either hidden or displayed in the parameter panel. Default parameter value could be set even if the ES UI Type does not have parameter panel. It is assigned right after the FlterID property of any object.
It holds an array object where the id property holds as a string the parameter id and the value property holds as a string the value.
Supported types of parameters
At the present moment, the supported types of parameters are the following:
- Date range
List of values:
- Today - “ESDateRange(Day)”
- Until today – “ESDateRange(SpecificDate, #1753/01/01#, Day, 0)”
- From today – “ESDateRange(Day, 0, SpecificDate, #9999/01/01#)”
- Yesterday – “ESDateRange(Day, -1)”
- Until yesterday – “ESDateRange(SpecificDate, #1753/01/01#, Day, -1)”
- Tomorrow – “ESDateRange(Day, 1)”
- From tomorrow – “ESDateRange(Day, 1, SpecificDate, #9999/01/01#)”
- Current week – “ESDateRange(Week)”
- Previous week – “ESDateRange(Week, -1)”
- Next week – “ESDateRange(Week, 1)”
- Current month – “ESDateRange(Month)”
- From start of month – “ESDateRange(Month, 0, SpecificDate, #9999/01/01#)”
- Until the end of month – “ESDateRange(SpecificDate, #1753/01/01#, Month, 0)”
- Previous month – “ESDateRange(Month, -1)”
- From start of prev month – “ESDateRange(Month, -1, SpecificDate, #9999/01/01#)”
- Until the end of previous month – “ESDateRange(SpecificDate, #1753/01/01#, Month, -1)”
- Current quarter – “ESDateRange(Quarter)”
- Previous quarter – “ESDateRange(Quarter, -1)”
- Current semester – “ESDateRange(SixMonth)”
- Previous semester – “ESDateRange(SixMonth, -1)”
- This year – “ESDateRange(Year)”
- Last year – “ESDateRange(Year, -1)”
- String
- Date
- Boolean
- Integer
Global parameter panel
This type of parameter panel can be used in ESCombo UI type to group the parameters that the objects of the ESCombo have in common. For instance, two different objects use two different Public Queries, though they are filtered by the same type of parameter with the title ‘Cash account’ and its code is ‘CashAccountCode’. Therefore, instead of having two different parameter panels, one for each object, the parameter in common could be grouped into one global parameter.
Global Parameter Panel Configuration
The Global Parameter Panel main properties and their value types are the following:
AutoExecute
Holds a Boolean value. Passes the parameter values and executes or not the Public Queries. The available options are true and false.
- esPanelOpen
- status
Holds Boolean value. Expands or collapses the panel. The available options are true and false.
- Parameters
The parameter configuration options. It accepts an Array of parameters, each with its own configuration options.
- id
The id of the parameter. The value must be the same with the parameters’ code.
- aa
Holds number value and defines the sequence in which the parameter is shown.
- Caption
Holds an object value. The object properties get string values. Each property refers to the language in which the parameter caption has to be written, i.e. “en” refers to the English language, “ro” refers to the Romanian language etc. In case of monolingual parameter caption, the corresponding language property of our interest must be filled out and all others should have an empty string.
- controlType
Refers to the control type of the parameter. For detailed information, refer to Appendix A
- parameterType
Refers to the parameter type. For detailed information, refer to Appendix A
- multiValued
Holds Boolean value. Determines if the parameter can hold single or multiple values. The available options are true and false.
- visible
Holds Boolean value. Determines if the parameter will be visible. The available options are true and false.
- required
Holds Boolean value. Determines if the parameter is required. The available options are true and false.
- defaultValues
- Value
Holds the default value of the parameter. The syntax is the same with the default values defined in the view designer.
- Tags
Holds the value assigned to the parameter in the tab ‘Parameters’ in ‘Properties’ field of view designer. To get the value of the properties field, just click in the field and press
+
. After pasting the tag, you should replace single backslash ( \ ) with double backslash ( \\ ) e.g. "INVPQ:ESPQParams\CompanyBranch\Code" "INVPQ:ESPQParams\\CompanyBranch\\Code".
The global parameter panel feature is available from version 2.1.0 and latest.
ESGrid
This type of UI is used when data should be displayed in a grid. No restricted structure and terms required in the view.
ESGrid Configuration
The ESGrid UI type main properties and their value types are the following:
- GroupID
Holds the area of the Public Query as string value.
- FilterID
Holds the Public Query name (namely, the view ID).
- PQOptions
- serverPaging
Holds Boolean value. Enables or disables server pagination. The available options are true and false.
To avoid any delays or server limitations when large amount of data are going to be shown in the grid, it is highly recommended to set serverPaging as true.
- pageSize
Holds numeric value and corresponds to the number of items shown to each page in the grid.
When large amount of data are going to be shown in the grid, it is highly recommended to set pageSize a reasonable number (i.e. avoid setting more than 60 items per page)
- AutoExecute
Holds a Boolean value. Executes or not the Public Query. The available options are true and false.
Grid Layout
The layout defined in the view designer is used by ES Analyzer to depict the corresponding grid. For instance, column width, total row, number format, etc. Currently, colors and state icons are not supported.
It is highly recommended to keep grids as simple as possible. For instance, try to show only the necessary columns and avoid giving too large header titles considering that the grid is accessed through mobile devices.
ESChart
There are several types of charts. Supported types: Area, Bar, Box plot, Bubble, Bullet, Donut, Funnel, Line, Pie, Polar, Radar, Range Bar, Scatter, Sparklines and Waterfall. In the following lines, a description of mandatory properties of each chart is provided. For further information you can visit: Telerik - Kendo UI Chart documentation and see the Charts Section.
ESChart Configuration
All of the chart types mentioned above must have the following properties.
Mandatory Common Properties
GroupID
Holds the area of the Public Query as string value.
FlterID
Holds the Public Query name (namely, the view ID).
UIOptions
Holds an object that contains all properties relative to the graphic representation of data.
- Series
type
Holds a string value that defines the chart type.
Area, Bar, Box plot, Bubble, Bullet, Donut, Funnel, Line, Pie, Polar, Radar, Range Bar, Scatter, Sparklines and Waterfall
Field
Holds a column name defined in the view designer. This column must always contain numerical values. Occasionally, this property is set in the array of Group property.
categoryField
Holds the column name defined in the view designer which contains categorical values.
- Legend
visible
Holds a Boolean value; true or false. Defines the legend visibility.
Position
Holds string value that defines the position of the legend. There are four (4) basic options; top, bottom, left and right.
- Tooltip
visible
Holds a Boolean value; true or false. Defines the tooltip visibility.
template
Holds string value: e.g. "template": "#= category #: #= value #"
Visit Telerik - Kendo UI Templates for further information about templates
- === Area ===
- === Bubble ===
No restricted structure and terms required in the view.
Properties
UIOptions
- Series
Legend
- visible
Holds a Boolean value; true or false. Defines the legend visibility.
- Position
Holds string value that defines the position of the legend. There are four (4) basic options; top, bottom, left and right.
- Labels
- Template
Holds string value and must be the following: "template": "#= series.name #"
Group
- Field
Holds as string a column name which contains categorical values. All other data will be grouped by these categorical values.
xField
Holds string value. It refers to the X coordinate of the bubble, so it holds a column name with numerical values.
yField
Holds string value. It refers to the Y coordinate of the bubble, so it holds a column name with numerical values.
sizeField
Holds string value. It refers to the size (or Z value) of the bubble, so it holds a column name with numerical values.
- xAxis
labels
- format
Holds string value which defines the format of the label.
Title
Holds an object value. It corresponds to the x axis title of the chart. The object properties get string values. Each property refers to the language in which the title has to be written, i.e. “en” refers to the English language, “ro” refers to the Romanian language etc. In case of monolingual title, the corresponding language property of our interest must be filled out and all others should have an empty string.
- yAxis
labels
- format
Holds string value which defines the format of the label.
Name
Holds as string the column name which contains categorical values. It has been previously declared in the field of Series Group.
Title
Holds an object value. The object properties get string values. Each property refers to the language in which the title has to be written, i.e. “en” refers to the English language, “ro” refers to the Romanian language etc. In case of monolingual title, the corresponding language property of our interest must be filled out and all others should have an empty string.
- === Funnel ===
- === Pie ===
No restricted structure and terms required in the view.
Properties
UIOptions
- Series
startAngle
The start angle (degrees) of the first pie segment.
axis
Holds the column name defined in the view designer, which contains the number of counting items.
No restricted structure and terms required in the view.
Properties
UIOptions
- Series
Holds array object. The array can hold multiple series (objects). In this case, multiple data will be depicted in multiple columns, or bars, or lines or a combination of them. The possible combinations could be bar – line or column – line. All series must contain the following:
type
Holds a string value that defines the chart type. The available options are column, bar and line.
legend
- visible
Holds a Boolean value; true or false. Defines the legend visibility.
- Position
Holds string value that defines the position of the legend. There are four (4) basic options; top, bottom, left and right.
- Labels
- Template
Holds string value and must be the following: "template": "#= series.title #"
axis
The name of the value axis to use. Holds the column name defined in the view designer. This column must always contain numerical values.
- valueAxis
Corresponds to the graphical representation of Υ axis in the chart.
visible
Holds a Boolean value; true or false. Defines the axis visibility.
name
Holds a column name defined in the view designer. This column must always contain numerical values.
title
Holds an object value. The object properties get string values. Each property refers to the language in which the title has to be written, i.e. “en” refers to the English language, “ro” refers to the Romanian language etc. In case of monolingual title, the corresponding language property of our interest must be filled out and all others should have an empty string.
- categoryAxis
Corresponds to the graphical representation of the X axis in the chart.
Categories
Holds a string value. Here, the column name which returns categorical values should be defined.
Labels
There are several properties to help the user manage the way categorical data are depicted, such as rotation and font.
The property rotation holds a numeric value which defines the angle of the categorical values. The property font holds as a string value the size of the categorical values in pixels.
axisCrossingValues
Category indices at which the value axes cross the category axis.
The configuration of this UI type is exactly the same as a simple column or bar chart. Their configuration has been described before. The only difference is that the user have to add two (2) more properties; the group and the seriesDefaults. Those properties must be inserted right after the legend property inside UIOptions. In case of stacked column or bar chart the series property type has to be removed, since it is declared in seriesDefaults property.
- Group
- Field
Holds as string a column name which contains categorical values. All other data will be grouped by these categorical values.
- seriesDefaults
- type
Holds a string value that defines the chart type. In this case, column or bar.
- Stack
Holds a Boolean value; true or false.
- === Range area ===
- === Scatter ===
ESTreemap
This type of UI is used when a hierarchy should be depicted as treemap. In this case, restricted structure and terms are required in this view. For instance, let us depict the item hierarchy as a treemap. In the view, items are grouped into two (2) groups; Family and Group. Each one of the columns with categorical values must be named as a1, a2, a3 and so forth, and the column with the numerical values must be always named as Figure.
ESTreemap Configuration
- AA
Holds number value and defines the sequence in which the chart is shown.
- GroupID
Holds the area of the Public Query as string value.
- FilterID
Holds the Public Query name (namely, the view ID).
- UIOptions
- Type
Holds a string value and defines the way data are depicted. There are three (3) available options; horizontal, vertical and squarified.
ESPivot
This type of UI is used when data should be depicted in a pivot chart. No restricted structure and terms required in the view.
ESPivot Configuration
- AA
Holds number value and defines the sequence in which the chart is shown.
- GroupID
Holds the area of the Public Query as string value.
- FilterID
Holds the Public Query name (namely, the view ID).
- UIOptions
- EnableChart
Holds Boolean value. Shows or hides the chart. The available options are true and false.
- autoBind
Holds Boolean value. If set to false the widget is not bound to the data source during initialization. In this case data binding will occur when the change event of the data source is fired.
- cudeDef
- Fields
- dataField
- Fields
Holds the column name defined in the view designer, which contains the data we want to be depicted.
- Area
Holds the area where the data will be placed in the chart. The available options are row, column, filter and data.
- dataType
This field is not mandatory. It is used only when the dataField contains datetime data. In this case the datatype must be defined through this property.
- GroupInterval
This field is not mandatory. It is used only when the dataField contains datetime data and we wish to group the measures by a specific time period. For instance, we wish to depict the measures in quarters. By setting this property to quarter the data will be grouped by quarter. The available options are all calendar periods.
- pivotOptions
- allowSortingBySummary
Holds Boolean value. Enables or disables sorting by summary. The available options are true and false.
- allowSorting
Holds Boolean value. Enables or disables sorting. The available options are true and false.
- allowFiltering
Holds Boolean value. Enables or disables filtering. The available options are true and false.
- allowExpandAll
Holds Boolean value. Enables or disables expansion. The available options are true and false.
- showBorders
Holds Boolean value. Shows or hides borders. The available options are true and false.
- fieldChooser
- enabled
Holds Boolean value. Enables or disables the field chooser. The available options are true and false.
- export
- enabled
Holds Boolean value. Enables or disables the exporting. The available options are true and false.
- fieldPanel
- showDataFields
Holds Boolean value. Shows or hides data fields. The available options are true and false.
- showRowFields
Holds Boolean value. Shows or hides row fields. The available options are true and false.
- showColumnFields
Holds Boolean value. Shows or hides column fields. The available options are true and false.
- showFilterFields
Holds Boolean value. Shows or hides filter fields. The available options are true and false.
- allowFieldDragging
Holds Boolean value. Enables or disables field dragging. The available options are true and false.
- visible
Holds Boolean value. Shows or hides field panel. The available options are true and false.
ESMap
This type of UI is used when data should be depicted on geographical map. In this case, restricted structure and terms are required in this view. Since, data will be presented on geographical map, the view must return columns with the longitude and latitude. Also, the following columns required:
- GID
Expression column of GID type with the following script:
“newID()”.
- esTempl
Expression column of String type with the following script:
“@esTempl”
- esIcon
Expression column of string type with an empty string (‘’).
- esLabel
This column must contain the categorical values (i.e. region name).
- esTitle
This column must contain the numerical values (i.e. turnover).
ESMap Configuration
- GroupID
Holds the area of the Public Query as string value.
- FilterID
Holds the Public Query name (namely, the view ID).
- UIOptions
- Type
Holds a string value and defines the way data are depicted. Currently, only bubble type is available.
- titleField
Holds a string value and must be the column name that contains the categorical values (region names). Since specific terms are used, the column name is esLabel.
- valueField
Holds a string value and must be the column name that contains the numerical values.
ESGauge
This type of UI is used when you want to inform the user about the current value of a measure in comparison with the minimum and maximum values or with any other values. In this case, restricted structure and terms are required in this view. The Public Query result set could contain one or multiple rows. If the result set contains multiple rows, then multiple gauge graphs are created.
- GTitle
The title of a gauge graph.
- GScale
The code of a system scale.
- GValue1, GValue2, … , GValueN
The values of the measures.
ESGauge Configuration
- GroupID
Holds the area of the Public Query as string value.
- FilterID
Holds the Public Query name (namely, the view ID).
- UIOptions
- GType
Mandatory property that holds a string value and defines the way data are depicted. Available values: radial, linear and arc
- title
Refers to a string shown in each gauge graph title and it is concatenated with the GTitle.
- expandRows
Holds Boolean value. Enables or disables the creation of multiple gauge graphs. The available options are true and false. If the result set contains multiple rows and the selected option is false, then a graph using data of the first row is created.
- gaugesPerRow
Corresponds to the number of gauge graphs that will be shown in each row. The valid values are 1, 2, 3, 4, 6 and 12
- Labels
Refers to the values of the scale. In this section you define their format and their position.
- pointer
The pointer configuration options. It accepts an Array of pointers, each with its own configuration options.
- PQOptions
- serverPaging
Holds Boolean value. Enables or disables server pagination. The available options are true and false.
Since the Public Query contains only one row, set tis property to false.
- AutoExecute
Holds a Boolean value. Executes or not the Public Query. The available options are true and false.
ESCard
This UI type is used when you want to present information about an entity (e.g. customer, item,etc.) in a card. No restricted structure and terms required in the view, unless you want to show on a map the entity’s location. In this case, the columns of longitude and latitude must be named Longitude and Latitude, respectively.
ESCard Configuration
- GroupID
Holds the area of the Public Query as string value.
- FilterID
Holds the Public Query name (namely, the view ID).
- PQOptions
- serverPaging
Holds Boolean value. Enables or disables server pagination. The available options are true and false.
Since the Public Query contains only one row, set tis property to false.
- AutoExecute
Holds a Boolean value. Executes or not the Public Query. The available options are true and false.
- pageSize
Holds numeric value and corresponds to the number of items shown to each page in the grid.
When large amount of data are going to be shown in the grid, it is highly recommended to set pageSize a reasonable number (i.e. avoid setting more than 60 items per page)
- UIOptions
- HeaderField
Refers to the upper part of the card. Any column of the related public query can be assigned to this property.
- titleField
Refers to the title of the card.
- footerField
Refers to the footer of the card.
- tagField
This field is used in order to classify each card by adding border style color. The column assigned to this field can contain null values or values between 1 and 5. Each number corresponds to a color.
- null Light grey
- 1 Black
- 2 Blue
- 3 Green
- 4 Yellow
- 5 Red
- imageField
Refers to the image of the entity. Specifically, the column assigned to this field must hold the GID of table ES00Blob or the image url.
ESSankey
This UI type is used for visualization of material or cost flows. It shows the flow with arrows proportional to the flow measure.
ESSankey Configuration
- GroupID
Holds the area of the Public Query as string value.
- FilterID
Holds the Public Query name (namely, the view ID).
- PQOptions
- serverPaging
Holds Boolean value. Enables or disables server pagination. The available options are true and false.
Since the Public Query contains only one row, set tis property to false.
- AutoExecute
Holds a Boolean value. Executes or not the Public Query. The available options are true and false.
- pageSize
Holds numeric value and corresponds to the number of items shown to each page in the grid.
When large amount of data are going to be shown in the grid, it is highly recommended to set pageSize a reasonable number (i.e. avoid setting more than 60 items per page)
- UIOptions
- HeaderField
Refers to the upper part of the card. Any column of the related public query can be assigned to this property.
- titleField
Refers to the title of the card.
- footerField
Refers to the footer of the card.
ESGantt
This UI type is used for providing a graphical illustration of a schedule that helps to plan, coordinate and track specific tasks in a project.
ESGantt Configuration
By definition, the following three (3) Public Queries are used for visualizing data using this UI type:
- ProjectTaskResources
The unique resources of the project tasks.
ProjectTaskAssignments
The resources assigned to each project task (resources by project task).
ProjectTasks
The project tasks that will be depicted. This public query uses the values of the two (2) aforementioned public queries.
- GroupID
Holds the area of the ProjectTasks Public Query as string value (by definition, the value is ESWebManager).
- FilterID
Holds the ProjectTasks Public Query name (by definition, the value is ProjectTasks).
- PQOptions
- serverPaging
Holds Boolean value. Enables or disables server pagination. The available options are true and false.
Since the Public Query contains only one row, set tis property to false.
- AutoExecute
Holds a Boolean value. Executes or not the Public Query. The available options are true and false.
- pageSize
Holds numeric value and corresponds to the number of items shown to each page in the grid.
When large amount of data are going to be shown in the grid, it is highly recommended to set pageSize a reasonable number (i.e. avoid setting more than 60 items per page)
- UIOptions
If the following two (2) properties have NO values assigned to, then the system will search for the ProjectTaskResources & ProjectTaskAssignments public queries in the area assigned to the GroupID and then will execute them. If values are set to the properties, then those values will be used for searching and executing the public queries assigned to them.
- ProjectTaskResourcesPQ
Holds a string comma separated value which is used for searching and executing the public query that applies to the required data set structure of ProjectTaskResources public query.
Format: “PublicQueryArea , PublicQueryName”
Where PublicQueryArea is the public query area, eg. ESTMtask
and PublicQueryName is the public query name, eg. Resources.
So, the value based on the example is “ESTMTask,Resources”.
If you wish to execute another public query that is located in the area assigned to the GroupID, then the value format turns into “,Name” (eg. “,TaskResources”).
If you wish to execute a public query with the name ProjectTaskResources, but its location differs from the GroupID, then the value format turns into “Area,” (eg. “ESTMTask,”).
- ProjectTaskAssignmentsPQ
Holds a string comma separated value which is used for searching and executing the public query that applies to the required data set structure of ProjectTaskAssignments public query.
Format: “PublicQueryArea , PublicQueryName”
Where PublicQueryArea is the public query area, eg. ESTMtask
and PublicQueryName is the public query name, eg. Assignments.
So, the value based on the example is “ESTMTask,Assignments”.
If you wish to execute another public query that is located in the area assigned to the GroupID, then the value format turns into “,Name” (eg. “,TaskAssignments”).
If you wish to execute a public query with the name ProjectTaskAssignments, but its location differs from the GroupID, then the value format turns into “Area,” (eg. “ESTMTask,”).
ESTimeline
This UI type is used for visualizing processes (tasks, documents, etc.) in chronological order.
ESTimeline Configuration
This component is consisted of two (2) sections; Header and Details. Each one of them uses the related Public Query. For instance, in the trade account timeline scenario, the header section uses the ‘TimelineBusinessAccountInfo’ public query and the details section uses the ‘TimelineEvents’ public query. In the sales person timeline scenario, these two sections use the related header & details public queries.
- GroupID
Holds the area of the Public Query that refers to the Details section as string value.
- FilterID
Holds the title of the Public query that refers to the Details section.
- PQOptions
- serverPaging
Holds Boolean value. Enables or disables server pagination. The available options are true and false.
Since the Public Query contains only one row, set tis property to false.
- AutoExecute
Holds a Boolean value. Executes or not the Public Query. The available options are true and false.
- pageSize
Holds numeric value and corresponds to the number of items shown to each page in the grid.
When large amount of data are going to be shown in the grid, it is highly recommended to set pageSize a reasonable number (i.e. avoid setting more than 60 items per page)
- UIOptions
- TimelineEntityInfoPQ
Holds a string comma separated value which is used for searching and executing the public query that applies to the header of the timeline.
Format: “PublicQueryArea , PublicQueryName”
Where PublicQueryArea is the public query area, eg. ESWebManager
and PublicQueryName is the public query name, eg. TimeLineBusinessAccountInfo.
So, the value based on the example is “ESWebManager,TimeLineBusinessAccountInfo”.
ESCombo
This UI type is used when several of the UI types mentioned above must be combined and depicted in the same MainMenu content. In this case, an array must be assigned to MainMenu content “esDef” property, as shown in the figure. This array is multidimensional.
Every nested array corresponds to a subdivision of the MainMenu content area. The opening and closing square brackets ( [ ] ) of MainMenu content ‘esDef’ property can contain an array or arrays. In addition, each array of them can contain an object or more.
In the figure below, six (6) arrays are included in the esCombo. Only the first array contains two (2) objects; One combined and one funnel chart. An array can hold any type of object and any possible combination of them.
System Information
On this page, subsystems are enlisted and the related comments are shown next to each one of them.
In case that an error occurs, it is reported by the system on “System information” page of the ES Analyzer.
For instance, if there are two MainMenu items with the same ID or a MainMenu item is not related to a Group, then those events are reported.
Best Practices
- When you use Public Queries with large amount of data ALWAYS set serverPaging property as true and set a reasonable pageSize.
- Avoid using SQL Additions with the option ‘Instead of SELECT’ activated. In this case, server pagination is not supported.
- Avoid setting default parameters by using Params property in JSON file. Set them in Public Query.
- Use Params property when you need to assign the same Public Query to different ES UI Types and the Parameter is hidden.
- When you change any view ALWAYS publish it again to update the related Public Query.
- When you change your JSON file and a session is active on any device, refresh your browser to see changes.
- When you use a grid, avoid using too many columns and giving too large header titles considering that the grid is accessed through mobile devices.
Appendix A
Detailed information about parameter types and their control types used for configuring global parameter panels.
| Type | controlType | parameterType |
|---|---|---|
| String | 0 | System.String, mscorlib |
| String Range | 9 | Entersoft.Framework.Platform.ESString, QueryProcess |
| Decimal | 2 | System.String, mscorlib |
| Numeric Range | 8 | Entersoft.Framework.Platform.ESNumeric, QueryProcess |
| Date | 3 | System.DateTime, mscorlib |
| Date Range | 6 | Entersoft.Framework.Platform.ESDateRange, QueryProcess |
| Date Range Financial | 20 | Entersoft.Framework.Platform.ESDateRange, QueryProcess |
| Integer | 1 | System.String, mscorlib |
| GUID | 17 | System.Guid, mscorlib |
| Boolean | 7 | System.Boolean, mscorlib |
| FP Inventory | 10 | Entersoft.Framework.Platform.ESFiscalPeriodRange, QueryProcess |
| FP Normal | 11 | Entersoft.Framework.Platform.ESFiscalPeriodRange, QueryProcess |
| FP Closing | 12 | Entersoft.Framework.Platform.ESFiscalPeriodRange, QueryProcess |
| FP Normal Closing | 13 | Entersoft.Framework.Platform.ESFiscalPeriodRange, QueryProcess |
| FP Range Normal | 14 | Entersoft.Framework.Platform.ESFiscalPeriodRange, QueryProcess |
| FP Range Normal Closing | 15 | Entersoft.Framework.Platform.ESFiscalPeriodRange, QueryProcess |
| FP Compare | 16 | Entersoft.Framework.Platform.ESFPCompare, QueryProcess |
| Costing Period | 19 | Entersoft.Framework.Platform.ESCostingPeriodRange, QueryProcess |
| Hierarchical Task | 21 | System.String, mscorlib |
| Password | 22 | System.String, mscorlib |