Jump to content

Extension:TimeZonePicker: Difference between revisions

From mediawiki.org
Content deleted Content added
No edit summary
m This extension appears to be in SVN, not Git.
Line 16: Line 16:
|php =
|php =
|license = GPLv2
|license = GPLv2
|download = {{WikimediaDownload}}
|download = {{WikimediaDownload}}
|readme =
|readme =
|changelog =
|changelog =

Revision as of 22:56, 13 August 2012

MediaWiki extensions manual
TimeZonePicker
Release status: experimental
Implementation User interface, Ajax
Description Timezone selection map for Special:Preferences
Author(s) Brion Vibber (Brion VIBBERtalk)
MediaWiki 1.18+
License GPLv2
Download Template:WikimediaDownload/svn
Translate the TimeZonePicker extension if it is available at translatewiki.net

Time Zone Picker adds an experimental time zone picker map to Special:Preferences' date/time panel.

PHP's date-and-time functions pass through latitude and longitude coordinates from the system timezone database, which we use here to plot on a map.

To prune things down, only zone settings that match the currently selected offset are shown on the map; this lets us show what likely candidates are available that match either the configured server offset or the browser settings, then pick one from the map. (This pruning implements a form of my feature request in bugzilla:16763)

Selecting a new setting (a specific zone or the server, guess, or other options) from the drop-down updates the map automatically, and centers the view on the selected offset.

The map can be zoomed in 2x by double-clicking; this may require vertical scrolling in some instances.


Note on the location information: we do not have boundaries available, and even if we did it wouldn't be wise to use them as borders are in dispute in a number of countries. Available locations are for the cities that are representative.

The map has a shading overlay that highlights a fairly generic range that approximates the size of a time zone.

Installation

To install this extension, add the following to LocalSettings.php:

require_once("$IP/extensions/TimeZonePicker/TimeZonePicker.php");

Configuration

There are no configuration options.

Development

While the master code for this extension lives in Wikimedia's SVN repository, I also have a git repo where I may have some experimental branches:

 http://gitorious.org/mediawiki-timezonepicker

Known bugs

  • doesn't pick server mode right
  • doesn't check for compatibility -- almost certain not to work right on IE6
  • double-click to zoom can select something you didn't intend to
  • it's hard to distinguish lots of items close together in some areas like Europe and the Caribbean, even in the 2x zoomed map

Todo

  • pretty sure server default isn't being handled right if not UTC
  • clean up rambling code
  • find a cleaner way to get non-current items showing (can show them but it makes the map much busier)
  • redo the map refreshes so we're not removing and recreating everything when you click something already on the map!
  • make map zoom work on iPad (?)
  • show the TZ offset in HH:MM clearly at the top of the map, with selectors to jump over to other zones for browsing :D
  • South Pole entry is still a little off
  • scroll automatically in zoomed mode
  • clearer controls for zoom
  • (perhaps) use geolocation info to help pick something