In 2014 Dutch logistics company Beurtvaartadres released a new web portal. The DGSPortal contains a throve of information on the transportation of Dangerous Goods. The website is an advanced extension of the iOS / Android apps that the company also offers. Apart from the basic information on Dangerous Goods themselves, users of the site can add business specific information to individual goods. There is also an option to assemble a quick transport list with a calculation algorithm to check for hazards and tranportation prohibitions. Site members can even walk through a wizard to generate transport documentation. This possibly complicated documentation can be used as a reference for official transport documents.
Because the dataset is based on European legislation, every 2 years a new core dataset is imported. We've implemented this import using several of the strengths of the Drupal framework. For example: both the content and interface need to be translated into 4 different languages. The dataset contains an English, Dutch, German and French subset. So we leveraged the multilingual capabilities of Drupal and layed a strong foundation for future additions of extra languages.
Next, the importer function is managed by using a Drush command set. Drush is the command line interface for Drupal. The importer checks for validity of the dataset. And the thousands of goods are imported each two years with minimal maintenance downtime of the site.
Once in Drupal, new versions of the dataset are revisioned so the history of the dataset is always preserved. Beurtvaartadres can see the history, correct incorrect data and if necessary even revert information if they need to.
Finally there is a geo-information aspect to this project. We've used a set of Openlayers based mapping tools to present geographic such as tunnels and tank cleaning locations to users. Tunnels and transport list data can be combined to see which clearances and prohibitions are in effect for which tunnels. Users can also do proximity searches on tunnel or tank cleaning locations.