---
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 |