PMS 5.5 Release Notes

Create MRL boundaries layer and update associated services

Background

Before this release, the MapRoad Licensing system used engineering areas as indicative of MRL licensing areas. However, on consultation between the RMO and LGMA, this was found no to be the case for every local authority. In reality, some local authorities use engineering areas, others municipal district boundaries, others county boundaries and some have their own custom licensing area boundaries.

This development was concerned with updating the PMS road schedule with a new Licensing Area attribute that reflects these distinctions. Going forward local authority data officers can use the Segments tool in PMS to edit MRL Licensing Areas for segments in the Road Schedule.

Tasks

  • Secure MRL services - Create an MRL user and assign a permanent token (using updated admin module) for new and existing services and support

  • Add LicencingAreaId field to roadschedule.Segments

  • Create table roadschedule.LicencingAreas

  • Write SQL to insert data into roadschedule.LicencingAreas from temp polygon table and run

  • Write SQL (Spatial Join - line intersect polygon) to populate LicencingAreaId in Segments table.

  • Update MapRoadLicensingExport DB view to include LicencingAreaId and/or Name

  • Update MRL Service(s) to include LicencingAreaId and/or Name

  • Add Licensing Area selector dropdown to Segments edit form

  • Update .NET services to push updates to road schedule

  • Styling RS: Create a Python script to dynamically create styles for each LA (a la EAs)

  • Styling RS: Update JS so MRL areas are displayed as a style option on the current Road Schedule layer

  • Styling RS: Update Road Schedule Layer in MapServer with replace text

  • Add MRL Area Name to the Road Schedule grid

  • Create ExtJS filter for LicencingAreas and add to grid

  • Create look up service for Licensing Areas

  • Write tests for Licensing Area functionality

  • Import boundary polygons shapefile using ogr2ogr

  • Analyse received data

  • Update RS Documentation

  • Manually fix incorrect segments after update (60 approx)

  • Running Test Cases

  • Add Licensing Area to Info Tool

  • Update info/schedule info/psci and info/surfaceSurvey to include Licensing Areas

  • Manually fix incorrect segments after update (2 segments)

Bugs found and fixed during Regression & UAT testing

  • No Bugs Found

Secure PMS for the public internet (backend)

Background

Currently, the Pavement Management System can only be accessed when users are on the government VPN, and access is restricted to a user’s own LA, based on their IP address range.

The PMS was originally designed with the LGMA as a replacement for the MapRoad MapInfo Desktop application which was not at that time intended for deployment to the Internet. Therefore, PMS was designed and developed as an intranet‐based web mapping application that would only be available via the Government VPN and thus secured from public access. The PMS uses web services to read and write from the PMS SQL Server database. Any services that write to the PMS database are secured by a username and password. Read‐only services are secured by IP range i.e. each local authority has an IP range on the Government VPN and only users within this range can access the PMS services.

When PMS is moved to new servers it will also be made available to the open Internet. This requires not only the browser access to be secured, but also all the web services used by the browser. This development was concerned with the design of a security token-based approach to accessing PMS backend and mapping services and includes token creation and management function within the PMS Management Application.

Tasks

  • Securing of all .NET GET internal web services used by PMS

  • Testing and Documentation for how to connect to WMS/WFS with authentication for ARC,FME, MapInfo, QGIS

  • Create secure .NET service proxy for all mapserver requests

  • Test and configure mapserver .NET service proxy

  • Test and configure CI/CD variables/pipelines with changes to mapserver

  • Update and test token processing after implementing token management module

  • Create secure.NET services proxies for Python services

  • Test and configure .NET service proxies for Python services

  • Refactor and update usage of Python services from other .NET services

  • Changes to UserTokens table and related stored procedures and refactoring of all related code

  • Create tokens and users views to help load data for token management module

  • Create Token Management module within management tool UI

  • Changes in Web UI for inactive users

  • Writing Test Cases

  • Running Test Cases

  • Create Tipperary user for testing tokens in GIS

  • Testing - Changes in Web UI for inactive users

Bugs found and fixed during Regression & UAT testing

  • Weird validation on ‘Valid To’ field on Create

  • ‘Is Permanent?’ Tick box stretches the full width of input

  • Layer will display with no token if loaded Previously present

  • Possible to Add External Layers after deleting Token

Upgrade from Mapserver 7 to Mapserver 8 (Tech Refresh 2022)

Background

Updating to MapServer 8.0 would allow the WMS/WFS to be further locked down, which would harden security prior to opening PMS to the public Internet.

Part of MapServer 8.0 is the introduction of support for OGC API (WFS3). This will potentially allow us to provide a REST API from our established mapping services. This will facilitate the ingestion of PMS data into external services such as Power BI.

Tasks

  • Creation of global config files

  • Installation and configuration of MS8 on local machines

  • Installation of MapServer 8.0 on Dev Server

  • Installation on all servers of MapServer 8.0

  • Updates to the PMS Mapfiles

  • Updates to MapScript

  • Continuous deployment changes

  • Layer and grid testing

  • Documentation and installation notes updates

  • Updates to Public Lighting Mapfiles and deployments

Bugs found and fixed during Regression & UAT testing

  • No Bugs Found

Create WFS layer of Project end and start points

Background

To provide context to the materials report new a map layer showing the start and end point markers for project geometries was developed.

This layer is available as WMS/WFS for access in GIS applications and is also displayed in the PMS web browser, along with an attribute grid for layer filtering.

Tasks

  • Create DB View

  • Create MapServer Layer file

  • Test WFS layer in GIS

  • Set up local dev environment

  • Finalise, run and spot check in GIS Mapserver_ProjectStartEndPoints

  • Add Year to the Project Start/End Points layer

  • Add Project Type to layer grid

  • Test - Project Type in Layer Grid

Bugs found and fixed during Regression & UAT testing

  • No Bugs Found

Add projection files to shapefile export from grids

Background

Previously, when users export shapefiles from a layer grid in the PMS web browser no projection (.prj) file was provided. A .prj file contains the definition for a shapefiles projection element and is required to correctly display shapefile geometries in certain GIS applications.
Now when a user exports a shapefile from a layer grid, the projection file is included in the zip export.

This issue was initially raised under this support ticket.

Tasks

  • Update MapServer to use the Proj7 library

  • Test shapefile exports from grids

  • Writing Test Cases for Shapefile Export from Grids

Bugs found and fixed during Regression & UAT testing

  • No Bugs Found

Bridges App Privileges

Background

Administrating MapRoad PMS ‘Mobile Roles’ privileges, by default allowed Read-Only access to the PMS web application.
This was seen as problematic as it can be necessary to provide external (non-Local Authority based) contractors access to MapRoad PMS Mobile Applications.

Administrating Bridge Inventory Editor, Bridge Maintenance Inspection Editor or Bridge Engineering Inspection Editor Mobile Role privileges, by default provided the privilege to ‘Allow access from mobile devices’.
This is an issue for non-Local Authority users of MapRoad PMS Mobile Applications as they will access the PSCI, Projects, Speed Limits and Footways Apps.

This development was concerned with removing the access to the browser by default functionality and uncoupling the Bridges app user privileges from the other apps in the PMS suite of apps.

Tasks

  • Update PMS Management Tool user roles to be optional

  • Create new ‘No Access’ role and make it as a default if no user role selected

  • Review current implementation of the Bridges app related to the roles “Mobile_BridgeInventoryEditor”, “Mobile_BridgeMIEditor”, “Mobile_BridgeEIEditor”

  • Test other PMS apps with external and internal users

  • Implement role changes in Bridges app

  • Developer testing after changes on Roles in the Bridges app

  • Test Bridges App Privileges

  • Review bridges app privileges changes

  • Deploy to staging for testing

  • Writing Test cases for Changes to Bridges App Priveleges

Bugs found and fixed during Regression & UAT testing

  • PSCI and Footways Apps will let user login with no roles associated

Upgrade Bridges App to Android 11 (Tech Refresh 2022)

Background

As of the begin November 2021, all apps that are being updated must target at least Android 11 (API level 30).

Tasks

  • Update debug user in code

  • Update app version from 1.0.73 to 2.0.74 to indicate major update

  • Create new branch for tech refresh

  • Update app to support Android 11

  • Fix camera crash

  • Highlight selected geometry on Basic Inventory screen when user taps on a geometry

  • Set-up CI/CD pipelines

  • Update CI/CD pipeline to use Master branch when it was merged back from tech refresh branch

  • EI images not loaded

  • Create regression test cases - Bridges App

  • Execute regression test cases - Bridges App: against staging database

  • Release to the App Store - Bridges App

  • Documentation Update - Bridges App

  • Create layout for the built in camera page

  • Implement image compression

  • Peer Review Changes

  • Release to the App Center for UAT (Live)

  • Component Condition Rating - Alert modal should be displayed when user clicks in the back button(toolbar and native back button) so the user won’t loose the changes

  • The Binding library does not target android 11

  • Add Bridges App Test Cases to Dev-ops

  • Execute regression test cases - Bridges App: - against Live database

Bugs found and fixed during Regression & UAT testing

  • Bridges App - Missing Fields and Structure Under/Over Fields are not marked as required but are required fields

  • Bridges App - If user updates the location of the bridge to a new road and select “No” when prompted “Do you want to change the road number” the road number is not updated

  • Bridges App - Engineering Inspection Component Condition Rating 5 has a typo (Ultimage - Ultimate)

Upgrade Speed Limits App to Android 11 (Tech Refresh 2022)

Background

As of the begin November 2021, all apps that are being updated must target at least Android 11 (API level 30).

Tasks

  • Android 11 - Fix Take/pick photo issue

  • Target Android 11

  • Memory management for Android 11

  • Update Preferences for XF Essentials

  • Implement Settings Fragment

  • Improving Map( loading data)

  • Set-up CI/CD pipeline

  • Create Regression Test Cases - Speed Limits App

  • Execute Regression Test Cases - Speed Limits App: against staging database

  • Release to the App Store - Speed Limits App

  • Documentation Update - Speed Limits App

  • Release to App Centre (Staging)

  • Peer Review Changes

  • Add Speed Signs App Test Cases to Dev-ops

  • Execute Regression Test Cases - Speed Limits App: against Live Database

Bugs found and fixed during Regression & UAT testing

  • cannot login offline

  • Tablet - updated location is not displayed when app goes back to the “View & Edit Sign” page from the “Update Location” page

  • Tablet - new speed limit sign pin not displayed when app goes back to the “”View & Edit Sign” page” from the “Location” page

  • Speed Signs App - Photo not displayed in dialogue box when selected from thumbnail

  • Speed Signs App - Photos Can Not Be Deleted on App if saved already.

  • Speed Signs App - No records from mobile app (Live) were uploaded to PMS

  • Speed Limits App - All photos for speed sign can be deleted on PMS (by design?)

Upgrade the PSCI App to Android 11 (Tech Refresh 2022)

Background

As of the begin November 2021, all apps that are being updated must target at least Android 11 (API level 30).

Tasks

  • PSCI APP - Update functionality to view previous survey (Update Cache)

Bugs found and fixed during Regression & UAT testing

  • No Bugs Found

Upgrade the Projects App to Android 11 (Tech Refresh 2022)

Background

As of the begin November 2021, all apps that are being updated must target at least Android 11 (API level 30).

Tasks

  • Update to support Android 11

  • Update used libraries

  • Fix GPS when app is in background

  • Add validation based on UserRoles

  • Create Regression Test Cases - Projects App

  • Execute Regression Test Cases - Projects App - against staging

  • Documentation update - Projects App

  • Peer Review Changes

  • Release to App Center (Staging)

  • Add Projects App Test Cases to Dev-ops

Bugs found and fixed during Regression & UAT testing

  • No Bugs Found

Lockout PMS User after 3 months non-usage

Background

In preparation for making the PMS system ready to be exposed outside the VPN all users who have not used the browser or mobile PMS applications in the last 3 months should be automatically locked out of the system on a nightly basis.

Tasks

  • Create script for SQL Server Agent nightly job to lockout inactive users

Bugs found and fixed during Regression & UAT testing

  • No Bugs Found

UAT Deployment Preparation

Background

Prepare codebase for UAT deployment

Tasks

  • Restore latest PMS database backup on DEV server

  • Run and fix all the database deployment scripts on newly restored PMS database

  • Compare PMS DEV database to newly restored PMS database and apply fixes if necessary

  • Create UAT deployment package

  • Restore latest PMS database backup to PMS DEV database and run all deployment scripts

  • Provide PMS live database backup to Compass FTP (PF)

Bugs found and fixed during Regression & UAT testing

  • No Bugs Found

Live Deployment Preparation

Background

Prepare codebase for live deployment

Tasks

  • Add OSi Routing to External Server

Bugs found and fixed during Regression & UAT testing

  • No Bugs Found

TII Priority Schemes

Background

As part of the PMS 5.3 development we introduced the TII Priority Schemes layer to the Pavement Management System. This layer consisted of TII schemes for 2021.

As part of the PMS 5.5 development we imported new data and updated the layer schema. Users now have the ability to view TII Priority Schemes for 2022, 2023 & 2024 within the PMS.

Tasks

  • Import shp and convert to SQL

  • Write SQL to insert new data to TII Priority Schemes table

  • Update MapServer view

  • Update grid and create list filter for treatment

  • Writing Test Cases

  • Testing TII Priority Schemes

  • Import updated dataset and apply changes

Bugs found and fixed during Regression & UAT testing

  • TII Priority Schemes not aligning with Projects on some parts

  • Improvements to TII Priority Schemes Grid Filters

  • TII Priority Schemes Grid - Exact match Search not working for decimal values

  • TII Priority Schemes - Some columns cannot be filtered due to validations in Place

DCC SED for Antique & Specialist surfaces

Background

SEDs are surveys that mark up parts of the road schedule as having elements that are considered Special Engineering Difficulties. A SED survey module was added to the PMS as part of PMS 4.6.

Dublin City Council recently provided the RMO with map survey data for areas of historic or specialist surfacing and kerbs. The raw data they provided were polygons for paving areas and lines representing kerbs. DCC asked the RMO to look into bringing this data into PMS to create SEDs to feed into the licensing process. The RMO processed the raw data and buffered around DCC’s polygons and lines to create a set of polygons that intersect with the PMS Road Schedule.

The Compass development team have created a series of SQL scripts to automatically add this survey data to the SED module in the PMS.

Tasks

  • Import shp to PMS DB

  • Create SED Surveys based on the imported polygons

Bugs found and fixed during Regression & UAT testing

  • No Bugs Found

Misc PMS 5.5.

Background

Miscellaneous tasks that don’t warrant a specific user story.

Tasks

  • Apply Calculated PSCI Rating logic to Info Tool

Bugs found and fixed during Regression & UAT testing

  • No Bugs Found

Completed Support Tickets

Ticket ID

Subject

From

Ticket date

Tech

1915

No Valid Rating not appearing in forms

Darragh McGowan

2022-04-05 10:58:28

Liam O’Connor

1904

remove link from email notification

Paul Fox

2022-03-15 16:24:01

Marek Siadul

1885

Speed Limit layer displaying multiple Lines

Darragh McGowan

2022-02-22 14:56:45

Liam O’Connor

1875

Unable to add Road Segment in Galway City

Hugh Trearty

2022-02-10 12:47:02

Liam O’Connor

1874

Legacy Layers

Eamon Sheehan

2022-02-10 11:15:17

Liam O’Connor

1868

Road Schedule Issue - Cork County

Aidan McClafferty

2022-02-03 12:20:43

Liam O’Connor

1862

PMS management Tool Freezing

Hugh Trearty

2022-01-26 16:14:56

Marek Siadul

1857

Speed Limit Sign Symbology

Darragh McGowan

2022-01-24 12:22:08

Liam O’Connor