Installation (For On-premise clients)

The Street Manager interface is provided as part of Street Works Transfer agent in Confirm. This is provided through the Task Processor in a decoupled mode which means the Task Processor for the Street Works Transfer agent can be installed and upgraded without the need of upgrading main Confirm. It is backward compatible with Confirm v18.2.

Location

The installer is available for download here.

Installation

The installer setup.exe needs to be installed from the \Task Processor directory from the Street Manager package in the 'Run as administrator' mode. This instance of the Task Processor needs to be installed on a separate machine from main Task Processor as two instances of Task processor cannot work on one machine. For installation details, you may refer to Confirm Task Processor documentation, and 'setup' section therein.

If you have been using earlier versions of Street Manager interface through the StreetManagerAgent.zip folder files,you need to stop the old Windows scheduled task.

The database config (cfg) file for the Task Processor are located under the registry location HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Confirm\Task Processor. The key name is CfgFilePath.

The ConfirmWebBeta.exe needs to be installed this in the same way as Confirm Web would normally be installed, as described in the "Installing, Configuring and Upgrading the Confirm web interface" section in the Confirm help. The Confirm Web Beta service can be installed side-by-side on the same server as a normal Confirm Web installation, but we would recommend that it is installed on a different server.

Document Proxy Service

To be able to view Street Manager files from Confirm without having to log into Street Manager, a "proxy" service is required which is installed as part of Confirm Web beta.

Database Changes

In order to prevent the main Task Processor from running tagged Tasks the Task Processor stored procedures must be updated in the database as follows:

For Oracle database:

  1. Go to Task Processor folder under Program Files (x86)\Confirm
  2. Login to the database with non-central schema e.g. HIGHWAYS/CONFIRM.
  3. Open StreetManagerTaskProcessorPatchOracle.sql from "StreetManagerAgent\Resources" folder and copy the content to a query window.
  4. Run the query
  5. Setup is complete.

For SQL Server database:A DBA can follow similar steps for a SQL database by using StreetManagerTaskProcessorPatchSQL.sql instead of StreetManagerTaskProcessorPatchOracle.sql in step #3.

Testing Connectivity

You can verify connectivity with Street Manager and check your credentials are working from a PowerShell prompt, by creating the following function:

function Test-StreetManagerCredentials {
    Param (
        $Username,
        $Password,
        [Switch] $Production
    )
 
    if ($Production) {
        $Url = "https://api.manage-roadworks.service.gov.uk/v2"
    } else {
        $Url = "https://api.sandbox.manage-roadworks.service.gov.uk/v2"
    }
    (New-Object System.Net.WebClient).Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    try {
        $authenticateResponse = (Invoke-RestMethod -Method POST -Uri "$Url/work/authenticate" -Body @{"emailAddress" = $Username; "password" = $Password})
    } catch {
        return $_.Exception
    }
    $idToken = $authenticateResponse.idToken
 
    $headers = @{
        'Content-Type' = 'application/json'
        'Token' = $idToken
    }
    try{
        $res = (Invoke-RestMethod -Method GET -Uri "$Url/work/works/junk" -Headers $headers)   
    }
    catch {
        $status = $_.Exception.Response.StatusCode.value__
        if($status -eq 401){
            return 'Not API credentials'
        }
        if($status -eq 404){
            return 'Valid API credentials'
        }
        return $_.Exception
    }
}

You can then call this, supplying your user name and password in single quotes, e.g.

Test-StreetManagerCredentials 'username@test.com' 'password'

This will test Sandbox by default. To test production add the -Production switch, e.g.

Test-StreetManagerCredentials 'username@test.com' 'password' -Production

If the user is valid then "Valid API credentials" will be returned, If the user is valid but not configured with API access then the error "Not API credentials" will be returned.

A "401 Unauthorised" error indicates that either the Username or password is incorrect. Any other errors indicate connectivity issues accessing the Street Manager services which may be caused by local proxy servers or firewalls.

Logging settings

The tenant logging settings for the Confirm Street Manager interface are located in the Confirm Task Processor Settings screen. The beta Task Processor for Confirm Street manager interface share these settings and append <Decoupled Task Processor version> prefix like <V21.20_> to the log file name. So for a Task Processor log file path of D:\Logs\TaskProcessor.log, the Street Manager interface creates D:\Logs\V21.20_TaskProcessor.log log file.

The Provider log settings for the beta Task Processor are specified under the 'HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Confirm\Task Processor' key for log file path.

Lookup Tables

A number of changes to Confirm lookup tables are required to support the interface with Street Manager. When the decoupled Street Works Transfer agent runs, it automatically updates the required lookup in the Confirm database. These lookup are refreshed automatically on every upgrade of Confirm Street Manager software.

Note: The Confirm system uses first 6 characters of the new Conditions entered in the 'Name' of 'Permit Condition Type' lookup when sending condition code to Street Manager. It is recommended not to change the name of the new permit condition types.

Upgrades

An upgrade to the Confirm Street Manager interface will require an upgrade of the decoupled Task Processor and Confirm Web beta. Also, the version tag against the Notes section of the Street Works Transfer agent in the Scheduled Task screen need to be updated in Confirm, e.g from V21.12 to V21.20.

Switch off the Decoupled Task Processor

In order to switch off the decoupled Task Processor and execute the Street Works Transfer agent as per the main Confirm version, remove the Task Processor version tag from the Notes section of Street Works Transfer agent in the Scheduled Task screen. This will prevent the decoupled Task Processor from running the Street Manager Works Transfer agent.