The case
Launch date
One of the most important parts of the new website is the interactive malfunctions map. This map shows malfunctions and planned maintenance on several locations. Within this map users have the possibility to search for malfunctions on specific zip codes but it also gives the freedom to view the whole map.

The malfunctions and maintenance work are periodically being picked up from an external URL and imported within Drupal. Several data, such as status, category, duration (time) and a drawn location of the affected area are all imported automatically. On a malfunction’s detail page, the user can see the current status of the malfunction and is offered the possibility to subscribe for status updates of the concerning malfunction.

The challenge was to import the external malfunctions within Drupal correctly. Therefore a unique import cron job was developed which imports the malfunctions as nodes and based on geoPHP adds the correct locations. A check is taking place with each import to see whether there has been a moderation with a particular malfunction, so it can be adjusted. For the status updates towards users we have realized a custom made implementation, whereat users can ‘register’ for a specific node. When the node adjusts itself, an update is being send to the subscribed users.

Another challenge was to build a map with Leaflet which would show all the malfunctions, allowing users to search by zip code. This is eventually being split in two components:

• A unique section where the malfunctions are being displayed and where a filter is made available to search by zip code (geolocation).
• A view which shows a map with all the malfunctions/maintenance work. Based on the category a different type of icon will be shown. The filter on this map is linked through its own javascript behaviours to the zip code filter within the section.

The section will always overlay the map, so users can filter/search by zip code or navigate directly to the malfunction.

Other challenges where to create a link with the SAP/CRM system of PWN ( to make the data exchange between Drupal and SAP possible. To do so an Enterprise Service BUS (ESB) & SOAP is being used. A good example is the contact form, where data is send towards SAP and the Drupal data will periodically be deleted to protect private information.
Community contributions
Name client
Contact information
Name organisation
Name contact person
Joost Appers
E-mail address contact person
Phone number contact person
023 - 3032100
E-mail address invoice
I agree to the terms of submission