WMDE Technical Wishes/Geoinformation/Versioned maps
Versioned maps: Make Kartographer compatible with page stabilization and pending changes
editStatus
editAll wikis are now able to use Kartographer.
- The solution was deployed on most wikis on May 10.
- After a few weeks of buffer to potentially identify caching issues, we have deployed the solution to these wikis on June 7, 2022 that weren't using Kartographer before:
- Albanian Wikipedia
- Classical Chinese language Wikipedia
- German Wikipedia
- Hungarian Wikipedia
- Polish Wikipedia
Underlying issues
editIn the past, maps created with Kartographer could only be shown for the current version of an article. This created issues for wikis that are using page stabilization (e.g. German Wikipedia) and pending changes (e.g. English Wikipedia) to review changes with the Flagged Revisions extension. When this review system is in place, an older, stable version of an article is shown until the newest edit has been reviewed. That meant: If you had edited a map in an article, this new map would no longer be in sync with the (older) page version that users see by default. As a result, the map was rendered as empty and appeared broken. Also, all old versions of a page showed an empty map if the map content had changed.
This issue affected many wikis using FlaggedRevisions, but to a different degree depending on the specific configuration:
- Some wikis use this extension to always show an older version of a page until the newest edit has been reviewed, a mode called “page stabilization”. These wikis (phab:T191585) could not use Kartographer at all:
- Albanian Wikipedia
- Classical Chinese language Wikipedia
- German Wikipedia
- Hungarian Wikipedia
- Polish Wikipedia
- These wikis decided to use Kartographer despite the issues described above:
- Bosnian Wikipedia
- Georgian Wikipedia
- Turkish Wikipedia
- Other wikis such as English Wikipedia use Pending Changes to hide edits done by unregistered and new users from readers until they are accepted by a pending changes reviewer, but only on specific, pending-change-protected pages. On those pages, the issues described above manifested as well.
Implementation
editOur technical changes make Kartographer maps aware of different page revisions. This way, it is possible to see the older map on an older version of the page, and a newer map on a newer version of the page. This versioning system has been deployed to all wikis.
However, please note that maps using shapes from an external source (such as geoshapes defined on OpenStreetMap, Wikidata or Wikimedia Commons) will always show the latest available information from this source, even on older page revisions. So unless shapes were defined in Kartographer, we are not enabling a way to see how these shapes changed over time, for example when a border changes.
Known limitations of Kartographer
editKartographer maps have been available on other wikis for several years. The Technical Wishes team has now made sure that Kartographer maps are also usable on the German Wikipedia. The feature is very useful, but not perfect. While working on this project, the Technical Wishes team has come across a few things where Kartographer has limited functionality. Here is an – incomplete – list:
It currently takes a long time to sync OSM with the Wikimedia map servers. (T260456)- Maps sometimes don’t render, or annotations are missing. (T305433)
- Labels are cut off at tile boundaries. (T228812)
- Android app currently doesn’t support interactive maps. (T229160)
- Cartesian projection is not practical for e.g. polar regions. (T185858)
- VisualEditor:
- Has limited features compared to wikitext (T158013)
More details about these restrictions and more known bugs can be found on Phabricator. Comments are welcome on Phabricator or on this talk page.
We will continue to work on Kartographer until the end of this year. Which problems and improvements will be addressed and which not, is not yet determined. However, we already know that we will not be able to solve all of them. Your feedback will also help us determine what we will work on.