Skip to content
This repository

Molly 1.1

Config changes

The following non-backwards compatible changes to the config files have been made. To update to Molly 1.1, you'll need to update the following:

Enabling new NaPTAN types

In order to allow the new NaPTAN types to be imported, in your settings.py, you will need to add the following to the areas setting on the NaPTAN provider:

  • '920' for airports
  • '930' for ferry terminals
  • '940' for metro stops (e.g., Tube, tram, etc)

e.g.,

Provider('molly.apps.places.providers.NaptanMapsProvider',
            method='http',
            areas=('340','920','930','940'),
        ),

Enabling Tube statuses

To enable realtime Tube data to be shown on the Tube station's page, then the provider 'molly.apps.places.providers.TubeRealtimeProvider' must be added to the providers list in the places app.

Configuration changes to the transport app

  • The nearby setting is now in the format: (slug, number), dropping 2 previous additional arguments
  • park_and_ride sort has been dropped and replaced with a new setting, park_and_ride, which is used to select and render the park and rides (park and rides should be taken out of the nearby settings)
  • A new setting transit_status_provider can be used to show current statuses of rapid transit services. To enable the current Tube status to be shown, add: transit_status_provider = 'molly.apps.transport.providers.TubeStatusProvider'

EntityType changes

The nearby_entity_types setting on the places app is no longer respected. The 'show in category list' and 'show in nearby list' in the database now is. These values are no longer overridden on every import.

New Features

  • Public Transport POI data
    • Metro stops, entrances, platforms, ferry terminals and airports are now supported as places of interest (the NaPTAN import areas must have 920, 930 and 940 added to it to support this)
    • The NaPTAN importer now imports stop groups to automatically create associated groups of bus stops, entrances/platforms with stations, etc
  • Transport for London provider
    • The transport page can now display the current status of Tube lines
    • Real time Tube departure information is now displayed
  • Entity types can now be categorised in the database, rather than by hand in the config. This means that the 'By Category' page is now categorised like 'Nearby', and the 'show_in_category' and 'show_in_nearby' options on an EntityType are now respected
  • AJAX updating
    • The following lists are now dynamically created/expanded using AJAX where supported: Nearby Places, By Category, library search results
    • Page content for the following pages are now periodically refreshed using AJAX where supported: Entity detail (i.e., train departure boards and bus stops), Transport (all information, also following changes in location)
    • Where supported, changing pages is done using AJAX calls
  • Rail replacement bus departures from a train station are now shown
  • In the Sakai app, announcements from Sakai are now supported
  • An interface to Sakai surveys
  • Favourites are now persistent over all sessions by a particular user
  • New links to share links to pages on social media on the URL shortener page

Minor Changes

  • When setting the location using a full postcode, alternative locations are now not shown (this is nonsensical for postcodes)
  • Live Departure Boards now show (up to) 15 services
  • Arrival boards now show service origins
  • Distances are now shown to an accuracy of 10m, and units are now metres
  • The telephone number formatter now implements logic from across the UK, not just Oxford
  • All Sakai pages are now negatively cached, meaning no phones should ever cache these pages (solves an issue on Android regarding users being asked to log in multiple times, or appearing logged in even after the session has cleared)
  • You can now specify a prefix to be added to telephone numbers in the LDAP contact search provider.
  • Pages which manually set Expires headers now also send Cache-control headers
  • More pages now send Expires headers

Changes for Developers

  • The AJAX framework will now fire events on page changes which JS can look for to execute, as JS in the will no longer be executed on pages that are loaded using AJAX
  • All kwargs ending in "provider" will get the special provider config treatment

Code Cleanup

  • All logic relating to Live Departure Boards now lives in the LDB provider
  • JavaScript for geolocation now lives in the geolocation app
  • Transport CSS has been taken out of the page and put into a separate file
  • In-line park-and-ride CSS has been moved into classes
  • Fragment rendering is now considerably more efficient
  • All *provider settings on an Application object now gets the special provider treatment

Bug Fixes

  • Telephone numbers are now displayed on the entity detail page, not just a link (it should have been doing this)
  • Some NaPTAN SMS codes are already represented numerically - don't try to convert them to keypad format
  • The time from the Live Departure Boards API is now localised
  • If a device supports the geolocation API, but has no actual geolocation support (i.e., callbacks will never be called), then the geolocation app will now handle this correctly, rather than waiting forever for a callback
  • Bug fix for fetching external media from webservers which don't support HTTP HEAD (i.e., some webcams)
  • A UI fix for Blackberry
  • Fix regression in automating cache.manifest generation
  • Add nofollow to a link which can sometimes cause recursive URLs to be generated
  • Fix an XML parser issue when parsing some users' Sakai data
  • Fix an issue where categories weren't being shown in search results
  • When the 500 error page is shown over HTTPS, all links now should use HTTPS
  • Fix a syntax error in the default contact/results.html template
  • Crontabs should now be better supported on CentOS
  • The URL shortener will always shorten to a HTML rendering of a page (i.e., any format=X overrides in the URL are dropped)
  • cache.manifest references have been removed - it (rather unintuitively) decreased performance by disabling browser caching
  • cache.manifest generation no longer fails if the desktop app isn't loaded
  • cache.manifest no longer includes superfluous touchmaplite
  • A footer wrapping bug on Blackberry has been fixed
Something went wrong with that request. Please try again.