SignalR

The ENPS client receives real-time updates through SignalR by default. Private Channel delivery still takes precedence over SignalR when configured.

As SignalR is only supported as of ENPS 8.2, Webservice instances as well as clients must be version 8.2 or higher for SignalR to work.

Configuration

Very little configuration is needed to use SignalR in ENPS. However, you must identify which Webservices in your Enterprise have been upgraded to version. To do this:

  1. Open the System Maintenance tool.

  2. Open the Services table.

  3. Set the Service Version field to 9 for each defined Webservice.

  4. Click Save.

This will ensure that, during a failover, the client will only utilize the Webservices in an ENPS environment.

SignalR automatically works across subnets, eliminating the need for most News Object Manager (NOM) and News Wire Profiler (NWP) reflector entries and any special configuration of your network hardware.

The NOM passes its updates to the Webservice via an automatically-generated Private Channel. You can remove all reflector entries from the NOM.ini file, remembering to restart the NOM after saving the file. If you have reflectors to subnets at other sites in your enterprise which have not yet gone to ENPS, you may wish to leave these in place to ensure they continue to receive updates.

The NWP does not have Private Channels, so it sends its updates to the Webservice via UDP broadcast. Since, in general, the Webservice is running on the same server as the NWP, no special configuration is needed to enable this. You can remove any reflector entries from the NWP.INI file for all subnets where you have clients. You should leave reflector entries for subnets where there may still be older clients and may wish to add new entries for any Webservices running outside your server's local subnet (i.e., at another site in your Enterprise).

If, for troubleshooting purposes, you need to disable SignalR on a specific workstation, open the enpsclient.exe.config file and set the DisableSignalR setting to True, then relaunch the client. The client will now receive its updates via either UDP or Multicast, depending on your server configuration.

Verification

Since SignalR is the default technology used to deliver updates, basic testing of real-time updates should be conducted after upgrading to a new version. You can test this by opening the same Rundown on two different machines and ensuring that changes made on one machines are seen dynamically on the other. In addition, wires should be coming into the client dynamically if SignalR is working correctly.

Open the File > Real Time Updates Statistics window to check if SignalR is in use. This shows the servers that the user has content open from, and how many objects are referencing each SignalR group.

Trace Logging

To help troubleshoot issues receiving real time updates, enable SignalR logging on your client:

  1. Open ENPSClient.exe.config.

  2. Add the following to the ENPS.My.Settings node, changing the value if desired:

    <setting name="SignalRLoggingLevel" serializeAs="String">
        <value>7</value>
    </setting>

    Available values.

    Value

    Description

    0

    No Logging.

    Default is no value is specified

    1

    Message logging only.

    2

    Event logging only.

    3

    State changes only.

    7

    Verbose. All logging.

    Recommended value.

  3. Relaunch the ENPS client.

Updates are logged as they are received to the Windows Event Viewer tool under Applications and Services Logs > ENPS > Client > SignalR in the Operational log file. The Admin log file in the same location contains errors, warnings and informational messages that are not a product of SignalR tracing.

Errors and warnings are also captured in the system Application log.

Log Message Codes

Log messages in the Admin and Operational logs are tagged with codes.

Admin Log

Code

Description

1

Informational Data.

2

Warning.

3

Error.

Operational Log

Code

Description

4

News Object Manager (NOM) Data.

5

News Wire Profiler (NWP) Data.

6

SignalR Control Message.