--- alias: user-guide-oib-extensions-displayservice tags: - connect iot description: "The Display Service facilitates sending messages to station GUIs, utilizing commands for various targeting methods and message configurations" --- # Display Service Display Service provides the ability to dispatch messages from an external system to the station GUI. ## Communication Parameters | Name | Type | Possible Values | Default Value | Description | | - | - | - | - | - | | EnableMode | Enum | | | | | CallbackPort | Int32 | | | | | CallbackPortRange | Int32 | | | | | ClientRegistrationId | String | | `string.Empty`| The Client Registration Id to restore. If it is empty, then there will be created a new registration | |UnregisterOnDisposeFinalize|Boolean|`true`, `false`| `false` | Whether to unregister the client on dispose or keep the registration to allow a future state restore | |NewRegistrationOnRestoreFailed|Boolean| |`true`| Whether to create a new client registration if the restore from the provided ClientRegistrationId fails (no registration exists with that Id) or throw exception | ## Commands ### DisplayService.Command.SendMessageToViewers Generic command for sending a message to a viewer(s), handling which of the more specific send message commands is to be executed depending on the inputs received. | Property Id | Type | Mandatory | Possible Values | Default Value | Description | | - | - | - | - | - | - | | SendingMode | Enum | Yes | `Explicit`(0)
`AllStationsOfLine`(1)
`AllNonStationsOfLine`(2)
`FirstStationOfLine`(3)
`StationPath`(4) | `Explicit` | The mode to send the message, i.e., the target(s) of the message:
0: viewers that are currently registered in the system
1: all stations of one line
2: all viewers that are not stations of one line
3: the first station of one line
4: specific station | | ViewerRegistrations | List | No | | | The viewer registrations to send the message. If no value is provided, all existing viewer registrations will be considered | | LinePath | String | Yes/No(*) | | | The line path | | StationPath | String | Yes/No(*) | | | The station path | | MessageText | String | Yes | | | Message main contents to send | | ExtendedDescription | String | No | | `string.Empty`| Used for a more detailed description of the message to the operator | | AcknowledgementType | Enum | No | `Originator`(0)
`OneReceiver`(1)
`AllReceivers`(2) | `OneReceiver` | 0: message can only be closed/revoked by originator
1: message can be acknowledged by at least one viewer (message will be closed on all other viewers in that case)
2: message has to be acknowledged by all viewers this message is being displayed to | | CallbackRequested | Boolean | No | `true`, `false` | `false` | Defines for each message if the operator acknowledgment will be send to the Display Service client (originator). In case a callback is requested and the receiver is not available, an error message will be displayed and the message is not removed at the viewer | | Priority | Int32 | No | [0,100] | 100 | Used by viewers to sort messages. Value 0 corresponds to the highest priority | | SeverityLevel | Enum | No | `None`, `Info`, `Warning`, `Error`| `None` | Used for displaying an icon next to the message at the viewer | | Answers |List|No | | | List of options that can be selected by the operator | | SiplaceProDbId | String | No | | | SIPLACE Pro DB Id. In an EDM case when you connect to different databases and there are lines / stations with the same name in the databases, you need to specify the database Id. Otherwise sending of the message will fail since the viewer cannot be identified | | DefaultAnswerIndex | Int32 | No | | -1 | Default index for answer selection | | ExtendedDescriptionDefault|Boolean| No | `true`, `false` | `false` | If set to true the extended description will be expanded when the message is displayed at the viewer | | SendToLineControlViewerToo|Boolean| No | `true`, `false` | `false` | If set to true, the message is also displayed on the line control viewer if there is one registered for that line | LinePath is required if the SendingMode is `AllStationsOfLine`, `AllNonStationsOfLine` or `FirstStationOfLine`, and StationPath is required when the SendingMode is `StationPath`. ### DisplayService.Command.SendMessageToStationPath This command sends a message to the viewer of the given station path (SIPLACE Station). | Property Id | Type | Mandatory | Possible Values | Default Value | Description | | - | - | - | - | - | - | | StationPath | String | Yes | | | The station path | | MessageText | String | Yes | | | Message main contents to send | | ExtendedDescription | String | No | | `string.Empty`| Used for a more detailed description of the message to the operator | | AcknowledgementType | Enum | No | `Originator`(0)
`OneReceiver`(1)
`AllReceivers`(2) | `OneReceiver` | 0: message can only be closed/revoked by originator
1: message can be acknowledged by at least one viewer (message will be closed on all other viewers in that case)
2: message has to be acknowledged by all viewers this message is being displayed | | CallbackRequested | Boolean | No | `true`, `false` | `false` | Defines for each message if the operator acknowledgment will be send to the Display Service client (originator). In case a callback is requested and the receiver is not available, an error message will be displayed and the message is not removed at the viewer | | Priority | Int32 | No | [0,100] | 100 | Used by viewers to sort messages. Value 0 corresponds to the highest priority | | SeverityLevel | Enum | No | `None`, `Info`, `Warning`, `Error`| `None` | Used for displaying an icon next to the message at the viewer | | Answers |List|No | | | List of options that can be selected by the operator | | SiplaceProDbId | String | No | | `string.Empty`| SIPLACE Pro DB Id. In an EDM case when you connect to different databases and there are lines / stations with the same name in the databases, you need to specify the database Id. Otherwise sending of the message will fail since the viewer cannot be identified | | DefaultAnswerIndex | Int32 | No | | -1 | Default index for answer selection | | ExtendedDescriptionDefault|Boolean| No | `true`, `false` | `false` | If set to true the extended description will be expanded when the message is displayed at the viewer | The value returned is an object of type `SendMessageResponseLite` (a simplified version of `SendMessageResponse`). This object contains details about the delivery status for the viewers and the created message and its structure is: | Property/Field | Data Type | Description | | - | - | - | | DeliveryDetails | List | Viewers that this message should be displayed at | | Message | Message | | The structure of an object of type `MessageDeliveryDetailsLite` (which is a simplified version of `MessageDeliveryDetails`) is the following: | Property/Field | Data Type | Description | | - | - | - | | ComputerName | String | Name of the Viewer computer | | ViewerGUID | String | Viewer GUID. Used for identifying the Viewer in the Display Service System | | SIPLACEProStationPath | String | SIPLACE Pro Path of the station | | SIPLACEProLinePath | String | SIPLACE Pro Path of the line | | SIPLACEProStationIndexInLine | Int32 | SIPLACE Pro Index of the Station in the Line. Only valid for stations | | ExceptionMessage | String | The exception message that was returned | | DeliveredSuccessfully | Boolean | Whether the message was delivered successfully to the viewer or not | | AnswerReceived | Boolean | If true, an answer was received from this viewer | | Answer | string | The answer that was returned | | SubAnswer | string | The sub-answer that was returned | | ConfirmationForwarded | Boolean | Can be used in internal logic | | ConfirmationForwardedSuccessfullyNullable | Boolean | If true, the confirmation was forwarded successfully to the client. If null, then viewer has not confirmed the message sent yet | ### DisplayService.Command.SendMessageToSpecificViewers This command sends a message to the viewer(s) of the given viewer registration(s) | Property Id | Type | Mandatory | Possible Values | Default Value | Description | | - | - | - | - | - | - | | ViewerRegistrations | List | No | | | The viewer registrations to send the message. If no value is provided, all existing viewer registrations will be considered | | MessageText | String | Yes | | | Message main contents to send | | ExtendedDescription | String | No | | `string.Empty`| Used for a more detailed description of the message to the operator | | AcknowledgementType | Enum | No | `Originator`(0)
`OneReceiver`(1)
`AllReceivers`(2) | `OneReceiver` | 0: message can only be closed/revoked by originator
1: message can be acknowledged by at least one viewer (message will be closed on all other viewers in that case)
2: message has to be acknowledged by all viewers this message is being displayed | | CallbackRequested | Boolean | No | `true`, `false` | `false` | Defines for each message if the operator acknowledgment will be send to the Display Service client (originator). In case a callback is requested and the receiver is not available, an error message will be displayed and the message is not removed at the viewer | | Priority | Int32 | No | [0,100] | 100 | Used by viewers to sort messages. Value 0 corresponds to the highest priority | | SeverityLevel | Enum | No | `None`, `Info`, `Warning`, `Error`| `None` | Used for displaying an icon next to the message at the viewer | | Answers |List|No | | | List of options that can be selected by the operator | | DefaultAnswerIndex | Int32 | No | | -1 | Default index for answer selection | | ExtendedDescriptionDefault|Boolean| No | `true`, `false` | `false` | If set to true the extended description will be expanded when the message is displayed at the viewer | The value returned is an object of type `SendMessageResponseLite`, identical to command `SendMessageToStationPath`. ### DisplayService.Command.SendMessageToFirstStationOfLinePath Sends a message to the viewer of the first station of the given line path. A station may be of any of the supported station types (station, printer, generic line device). In case there are 2 printers upfront the line, only one of the printers will be addressed. Only the one which has the SIPLACEProStationIndexInLine set to 0 (in its ViewerRegistration) will be used. | Property Id | Type | Mandatory | Possible Values | Default Value | Description | | - | - | - | - | - | - | | LinePath | String | Yes | | | The line path | | MessageText | String | Yes | | | Message main contents to send | | ExtendedDescription | String | No | | `string.Empty`| Used for a more detailed description of the message to the operator | | AcknowledgementType | Enum | No | `Originator`(0)
`OneReceiver`(1)
`AllReceivers`(2) | `OneReceiver` | 0: message can only be closed/revoked by originator
1: message can be acknowledged by at least one viewer (message will be closed on all other viewers in that case)
2: message has to be acknowledged by all viewers this message is being displayed | | CallbackRequested | Boolean | No | `true`, `false` | `false` | Defines for each message if the operator acknowledgment will be send to the Display Service client (originator). In case a callback is requested and the receiver is not available, an error message will be displayed and the message is not removed at the viewer | | Priority | Int32 | No | [0,100] | 100 | Used by viewers to sort messages. Value 0 corresponds to the highest priority | | SeverityLevel | Enum | No | `None`, `Info`, `Warning`, `Error`| `None` | Used for displaying an icon next to the message at the viewer | | Answers |List|No | | | List of options that can be selected by the operator | | SiplaceProDbId | String | No | | | SIPLACE Pro DB Id. In an EDM case when you connect to different databases and there are lines / stations with the same name in the databases, you need to specify the database Id. Otherwise sending of the message will fail since the viewer cannot be identified | | DefaultAnswerIndex | Int32 | No | | -1 | Default index for answer selection | | ExtendedDescriptionDefault|Boolean| No | `true`, `false` | `false` | If set to true, the extended description will be expanded when the message is displayed at the viewer | | SendToLineControlViewerToo|Boolean| No | `true`, `false` | `false` | If set to true, the message is also displayed on the line control viewer if there is one registered for that line | The value returned is an object of type `SendMessageResponseLite`, identical to the previous commands. ### DisplayService.Command.SendMessageToAllStationsOfLinePath Sends a message to the viewer of all stations of the given line path. All station types will be used (SIPLACE Station, Printer, Generic line device). | Property Id | Type | Mandatory | Possible Values | Default Value | Description | | - | - | - | - | - | - | | LinePath | String | Yes | | | The line path | | MessageText | String | Yes | | | Message main contents to send | | ExtendedDescription | String | No | | `string.Empty`| Used for a more detailed description of the message to the operator | | AcknowledgementType | Enum | No | `Originator`(0)
`OneReceiver`(1)
`AllReceivers`(2) | `OneReceiver` | 0: message can only be closed/revoked by originator
1: message can be acknowledged by at least one viewer (message will be closed on all other viewers in that case)
2: message has to be acknowledged by all viewers this message is being displayed | | CallbackRequested | Boolean | No | `true`, `false` | `false` | Defines for each message if the operator acknowledgment will be send to the Display Service client (originator). In case a callback is requested and the receiver is not available, an error message will be displayed and the message is not removed at the viewer | | Priority | Int32 | No | [0,100] | 100 | Used by viewers to sort messages. Value 0 corresponds to the highest priority | | SeverityLevel | Enum | No | `None`, `Info`, `Warning`, `Error`| `None` | Used for displaying an icon next to the message at the viewer | | Answers |List|No | | | List of options that can be selected by the operator | | SiplaceProDbId | String | No | | | SIPLACE Pro DB Id. In an EDM case when you connect to different databases and there are lines / stations with the same name in the databases, you need to specify the database Id. Otherwise sending of the message will fail since the viewer cannot be identified | | DefaultAnswerIndex | Int32 | No | | -1 | Default index for answer selection | | ExtendedDescriptionDefault|Boolean| No | `true`, `false` | `false` | If set to true, the extended description will be expanded when the message is displayed at the viewer | | SendToLineControlViewerToo|Boolean| No | `true`, `false` | `false` | If set to true, the message is also displayed on the line control viewer if there is one registered for that line | The value returned is an object of type `SendMessageResponseLite`, identical to the previous commands. ### DisplayService.Command.SendMessageToNonStationsOfLinePath Sends a message to the line control computer viewer that is registered for the given line path. | Property Id | Type | Mandatory | Possible Values | Default Value | Description | | - | - | - | - | - | - | | LinePath | String | Yes | | | The line path | | MessageText | String | Yes | | | Message main contents to send | | ExtendedDescription | String | No | | `string.Empty`| Used for a more detailed description of the message to the operator | | AcknowledgementType | Enum | No | `Originator`(0)
`OneReceiver`(1)
`AllReceivers`(2) | `OneReceiver` | 0: message can only be closed/revoked by originator
1: message can be acknowledged by at least one viewer (message will be closed on all other viewers in that case)
2: message has to be acknowledged by all viewers this message is being displayed | | CallbackRequested | Boolean | No | `true`, `false` | `false` | Defines for each message if the operator acknowledgment will be send to the Display Service client (originator). In case a callback is requested and the receiver is not available, an error message will be displayed and the message is not removed at the viewer | | Priority | Int32 | No | [0,100] | 100 | Used by viewers to sort messages. Value 0 corresponds to the highest priority | | SeverityLevel | Enum | No | `None`, `Info`, `Warning`, `Error`| `None` | Used for displaying an icon next to the message at the viewer | | Answers |List|No | | | List of options that can be selected by the operator | | SiplaceProDbId | String | No | | | SIPLACE Pro DB Id. In an EDM case when you connect to different databases and there are lines / stations with the same name in the databases, you need to specify the database Id. Otherwise sending of the message will fail since the viewer cannot be identified | | DefaultAnswerIndex | Int32 | No | | -1 | Default index for answer selection | | ExtendedDescriptionDefault|Boolean| No | `true`, `false` | `false` | If set to true, the extended description will be expanded when the message is displayed at the viewer | The value returned is an object of type `SendMessageResponseLite`, identical to the previous commands. #### DisplayService.Command.UpdateMessage This command updates a specific (previously sent) message. | Property Id | Type | Mandatory | Possible Values | Default Value | Description | | - | - | - | - | - | - | | MessageGUID | String | Yes | | | The GUID of message to update | | MessageText | String | Yes | | | (Replacement) Message text | | ExtendedDescription | String | No | | `null` | Used for a more detailed description of the message to the operator | | ExtendedDescriptionDefault | Boolean | No | `true`, `false` | `false` | If set to true the extended description will be expanded when the message is displayed at the viewer | | Priority | Int32 | No | [0,100] | 100 | Used by viewers to sort messages. Value 0 corresponds to the highest priority | | SeverityLevel | Enum | No | `None`, `Info`, `Warning`, `Error` | `None` | Used for displaying an icon next to the message at the viewer | The return value of the command is a `List`. #### DisplayService.Command.RevokeMessage This command revokes (removes) a specific (previously sent) message, returning a Boolean, whose value depends on the success of the operation (True, if successful; False if unsuccessful). | Property Id | Type | Mandatory | Description | | - | - | - | - | | MessageGUID | String | Yes | The GUID of the message to revoke | #### DisplayService.Command.GetClientMessages This command retrieves the statuses of the messages for the current Display Service client. There are no parameters and the return value is of type `List` whose structure is: | Property/Field | Data Type | Description | | - | - | - | | DeliveryDetails | List | Delivery details for the message | | Message | Message | Corresponding message data |