Install UI of GuardServerSession Library
It contains a set of instructions to create the user interface, with above preview,
for specialists working with the GuardServerSession library.
After adding the library to your project, you can start building a user interface to that library in WebUI.
The rest of this article details the WebUI page GSS Session History Management in this project and
how you can replicate this functionality in your application.
Sidepanel
In this section, we create a sidepanel page first. This sidepanel will be used in the actual UI for specialists.
Create a side panel page with name sp_controls.
Check the MainProject/WebUI/webui.json file; the page sp_controls should have “slug”: sp_controls_1.
If not, the slug needs to be renamed at two places in the webui.json file (with AIMMS closed).
The status bar of your app should be set to gss::sp_messageStatusBar, or to a string parameter that contains this information.
Widgets on sidepanel
We start adding widget to the side panel as follows:
Scalar widget
shownSession, titled:Selection Session & TypeContents:
gss::ep_shownSessiongss::sp_shownSessionDescription
Miscellaneous property “Enable multi line”: 1.
Upload widget
UploadErrorWarningData, titled “Upload Error Warning data”:procedure:
gss::pr_uploadErrorDataDownload widget
DownloadModelLog, titledgss::sp_titleDownloadActionLog:procedure:
gss::pr_downloadActionLogDownload widget
DownloadErrorReport, titled “Download error report for current session”:procedure:
gss::pr_downloadErrorReportDownload widget
DownloadErrorWarningData, titled “Download error data for current session”:procedure:
gss::pr_downloadErrorData
Main UI for specialists
The page GSS Session History Management has Action Upon Load set to gss::pr_openPageErrorWarningProfiler.
Tip
If you have a multi-page application, you might want to add this page to the group of “developer” or “control” pages in your application.
Make the page a grid page and give it standard layout 5, see Grid Layout for beautiful and consistent looking applications
The page extensions > side panels property should be set to `gss::sp_sidePanel.
Add the following Widgets
Below are the widgets recommended to build a user interface for the GuardServerSession library.
Table
ErrorWarningMessageTable, titled:gss::sp_titleErrorWarningMessagesTableContents:
gss::ep_shownJobErrorSeveritygss::sp_shownJobErrorMomentsgss::sp_shownJobErrorMessages
Pivoting:
Rows:
gss::i_jobErrorMessageNumberCols:
<Identifiers>
Store focus:
gss::i_jobErrorMessageNumbertogss::ep_errorWarningSelectedNessageWidget Extensions:
Widget actions:
gss::sp_widgetActionMessageListItem actions:
gss::sp_itemActionMessageList
Move this widget to Area A of the grid page
Table
JobProfilerData, titled:sp_titleProfilerOverviewContents:
gss::p_shownJobProfilerHitsgss::p_shownJobProfilerGrossgss::p_shownJobProfilerNetto
Store Focus:
IndexIdentifiers–>gss::ep_profilerDataSelectedIdentifierIdentifier Settings > Set slicing per index
gss::i_lineNumber–> fixed element'0'Widget Extensions:
Widget actions:
gss::sp_widgetActionIdentifierProfilerItem actions:
gss::sp_itemActionIdentifierProfiler
Move this widget to Area B of the grid page
Table
ErrorWarningStack, titled:gss::sp_titleStackMessageContents:
gss::ep_shownJobErrorNodesgss::ep_shownJobErrorAttributesgss::p_shownJobErrorLines
Identifier settings:
For all three, slice type index
gss::i_jobErrorMessageNumberto element parametergss::ep_errorWarningSelectedMessageno decimals: 0
Store Focus:
gss::i_stackPosition–>gss::ep_stackPosWidget Extensions:
Widget actions:
gss::sp_widgetActionMessageStackItem actions:
gss::sp_itemActionMessageStack
Move this widget to Area C of the grid page
Table
LineBasedProfilerData, titled:gss::sp_titleProfilerDetailContents:
gss::p_shownJobProfilerHitsgss::p_shownJobProfilerGrossgss::p_shownJobProfilerNetto
Identifier Settings - Set slicing per index
index
IndexIdentifiers–> element parametergss::ep_profilerDataSelectedIdentifier
Move this widget to Area D of the grid page
Testing
To visually guide the adaption of the width of the columns of the tables, please run:
gss::pr_artificialDataGSSPageto have an artificial warning message and
gss::pr_openPageErrorWarningProfilerto ensure theGSS Session History Managementtables are filled properly.And then start manually adapting the column widths such that the contents fit neatly.