AlarmScreenNg 0.9.6
Action names

The action names were introduced with two goals in mind:

  • To have a way of identifying individual UI elements (widgets) inside AS EWO for access control.
    In 'usual' WinCC OA panel, CTRL code may access any control in this panel - for example, to set that control to 'disabled' state when current user has no rights to it.
    However, EWO is a single control in panel from CTRL code point of view, the rich/complex UI of EWO is hidden from CTRL code inside EWO's implementation. In order to control appearance of individual widgets inside EWO, CTRL code needs some mean to identify these widgets or EWO, like: 'I want to disable button for acknowledging alarms'.
    However, the CTRL code is not required to know which controls are used inside EWO for particular purpose, instead CTRL code shall need to know what actions can be initiated from inside EWO. Thus, CTRL code needs to address not he controls inside EWO, but rather actions which can be initiated from EWO. Then the request to EWO can be reformulated as following: 'I want to disable EWO control(s) which can initiate the action of alarm acknowledgedment'.
  • Many (really many) of actions arounf Alarm Screen functionality are easier to implement in CTRL code. However, most of these actions are initiated by user activation of widgets inside AS EWO. EWO has a standard way of notifying CTRL code in panel that something has happened (for example, user has clicked a abutton), that requires processing by CTRL code. Two extreme approaches can be considered: individual event of EWO for every control (widget) inside EWO; or single event of EWO with one of arguments for this event telling what exactly is requested. The second approach was used, with using action name as that 'what' argument, see "sAction" in description of AS EWO's events.

The names of actions are declared as constants in CTRL library AlarmScreenNgActions.ctl:

  • AS_EWO_ACTION_xxx: names of actions initiated by controls (widgets) inside EWO
  • AS_ACTION_xxx: names of actions initiated bu control in WinCC OA panels which part of this component</li<

The action namess in this section are not listed alphabetically, instead they are grouped around related UI elements.

Special actions

First of all, there are two special action names which serve only second goal of two, declared at the beginning of this part of document. These actions can't be disabled by means of access control.

Action name description
basicConfigApplied EWO's notification that new basic config was applied, CTRL code can perform any required processing that shal be done with 'ready to use EW'O, for example: load default user settings, connect EWO to all (or some) of systems etc.
mouseEvent This name is used in mouse event of AS EWO. CTRL code can disable execution of some (or all) of actions in response to mouse event, but firing the mouse event by EWO can't be disabled.
oraclePassRequest The request to decode password for ORACLE schema containing archived data. The encoded password is stored in dedicated DPE. When EWO receives new encoded string from DPE, the EWO fires event with this action and encoded password. In fact, this is a request to CTRL code asking to decode password.

Admin Settings

UI elements Action names
Controls in AS EWO
1: adminAccessControl
2: adminPopupMenu
3: adminOracleRdbSettings
4: adminHelpFileTypes
Apply button in panel for edidting Access Control rules editAccessControl
Apply button in panel for editing popup menu editPopupMenu
Apply button in panel for editing the types of help files editHelpFileTypes

Alarm acknowledgement

UI elements Action names
Controls in AS EWO
1: ackMultiple
2: ackSelected
3: ackGone
4: ackAll
Ack from Alarm Table
The user can click on cells in highlighted column in order to acknowledge alarm shown in this row. The clicking itself can't be disabled, AS EWO will fire corresponding event (see Special actions), and CTRL code will process acknowledgement request. Furthermore, the AS EWO itself doesn't even know that clicking on this cell may result in alarm acknowledgement.
But during processing CTRL code can check if the action is allowed for current user, if not - clicking will result in message like "You don't have permission..." instead of alarm acknowledgement.
ackSingle

User settings

UI elements Action names
Controls in AS EWO
1: userSettings
2: editUserSettings
3: loadUserSettings
4: saveUserSettings
5: defaultUserSettings
Delete button in panels, related to user settings operations. It is assumed that user can always delete his own settings, but deleting settings of another user requires special privilege deleteUserSetting
Apply button in panel nominating default user settings. Controls the ability of user to set selected user settings as 'Default for user' setDefaultUserSettings
Apply button in panel nominating default user settings. Controls the ability of user to set selected user settings as 'Default for all users' setDefaultUserSettingsAll

AlarmSource

UI elements Action names
The whole source control area (1) on the picture sourceControl
Combo box used for selection of source type in source control area switchSourceMode

Filters

UI elements Action names
Controls in AS EWO
1: saveFilter
2: loadFilter
Delete button in panel for Save/Load operations with filters. It is assumed that user is always allowed to delete own filter, but deleting filter of another user requires special privilege. deleteFilter

Filter View

UI elements Action names
Control in AS EWO
editFilterSet
New button in panel for editing Filter View createFilterSet
Delete button in panel for editing Filter View deleteFilterSet

Other actions

UI elements Action names
Default popup menu (JCOP)
1. viewFSMPanel
2. viewAlarmDetails
3. viewAlarmTrend
4. viewAlarmHelp
5. viewAlarmComment
6. toggleAlarmMasked
Note
The appearance of last item in this menu is additionally controlled by specific option in basic configuration
Popup menu for grouping columns
Popup menu for grouping columns
I'm wondering what was the reason for adding these actions. The menu items are processed inside EWO, without involving CTRL code. And I don't the reasons for resticting user access to these actions.
1. expandAllNodes
2. collapseAllNodes