User:RolandUnger/Marker and map tools on German Wikivoyage

Within the last two years we made a big effort on German Wikivoyage to improve marker and map functionality. This made sense because of new features like Kartographer maps, Lua scripting and Wikidata access. On the other hand it is necessary to bring new services to the readers, in particular for readers with smartphones. And there are several Wikivoyage language branches which can benefit from data stored at Wikidata. At last it seems to be necessary to bring back external tools into the wikis.

To to this we started from scratch. This means we have a completely new code base with about 10,000 lines, but we tried to assure a high extend of backward compatibility. All tools are optimized in a manner that they can interact.

Internationalization is prepared but it must be checked.

Templates

 * Marker
 * vCard which is identical to the listing template on English Wikivoyage
 * Marker Kopie which creates a marker duplicate for the same location based on an identical name or Wikidata id
 * GeoData which is identical to the Geo template on English Wikivoyage

JavaScript tools

 * ListingEditor.js
 * ListingInfo.js giving location information to interact with local people and taxi drivers
 * MarkerTooltip.js showing a marker tooltip with coordinates and links to map resources.
 * Poi2gpx.js giving Gpx files.
 * MapTools.js displaying different kinds of maps.

Template compatibility

 * vCard/listing
 * Only one template. No do, see, eat etc. templates. vCard/listing are using a type parameter instead.
 * Both description and content parameters for a description are supported.
 * Removed parameters: wikipedia.
 * Added parameters: name-local, name-latin, name-extra, address-local, directions-local, facebook, flickr, google (g+), show (display modes), skype, twitter, youtube.
 * Parameters only from Wikidata: booking.com, hotels.com, iata, icao, recreation.gov, tripadvisor, unesco.


 * Marker
 * Added parameters: format (display modes), name-extra, styles, symbol.

Rethinking types
We deprecated generalized types like do, go, see etc. because they are senseless for a transfer to Wikidata. For accommodations, we use for instance hotel, hostel, campsite instead of sleep. See also the list of types. All types belong to a group like go, do, see etc. But we are planning to make subdivisions like for do: culture, recreation, sports and fitness and so on. We have new groups like populated (instead of city), view, and area.

Wikidata

 * It is possible to select which data should be fetched from Wikidata.
 * Software optimization to reduce Wikidata access and calculation time.

i18n
We give support to internationalization.


 * Usually, i18n strings are stored in separate modules to make software updates easier and to keep them uniform.
 * Translated type/group names for maps.
 * Bidi is intended but to be checked.

Maintenance: parameters and values checks

 * About 30 maintenance categories.
 * Check for correct parameter names.
 * Check for parameter values like phone numbers, urls, email addresses, skype addresses, times, coordinate check and conversion (decimal, hexagesimal), file names, wikidata ids, etc.