Visual Map Editor for MediaWiki


Posted on 2019-12-14 by Jeroen De Dauw


We have added a visual editing interface to the Maps extension for MediaWiki. This brings collaborating on geospatial information in your wiki to a new level.

Starting with version 7.13.0, released earlier today, the Maps extension supports inline visual editing of GeoJSON.

GeoJSON is an open standard for representing geospatial information. There are several online editors that allow editing GeoJSON, such as geojson.io.

Features

Inline visual editing is supported both in #display_map and #ask. The editor shows when using the geojson parameter. Example: {{#display_map:geojson=Berlin}}

Assuming you have edit rights, the map will show an edit button on the left, below the zoom control. Clicking this button will make the map go into edit mode. You can tell the map is in edit mode by the edit button being replaced by several edit controls. These new controls allow adding markers and drawing shapes.

After your first edit, a save button will appear below the edit controls. Clicking this button gives you a dialog to enter an edit summary and then causes the map to exit edit mode. This is all done without the page reloading.

Tooltip text for markers and shapes can be edited by clicking the marker or shape while in edit mode.

When entering edit mode the map verifies it has the latest version of the GeoJSON. If not, it will get the latest version and display it. This minimizes the risk you override changes when using the standard MediaWiki page caching settings.

A full overview of recent improvements can be found in the release notes. You can also play around with the visual editor on the Semantic MediaWiki sandbox wiki on pages GeoJson:Berlin and Berlin. Note that you need an email-verified account.

A walkthrough of the new features is available in video format:

Limitations

The editor can only edit information stored in GeoJSON. Markers or shapes defined in wikitext cannot be edited. You can however combine the two.

The editor only supports Leaflet.

The biggest limitations listed under "next steps".

Next steps

We are looking for someone to fund development of one or all of the below features.
Contact us now.

Full in-line editing

The biggest usability problem with the current visual editing experience is the need to have a dedicated page in the GeoJSON namespace which is referenced with the geojson parameter.

{{#display_map:geojson=NameOfPageInGeoJsonNamespace}}

Things would be simpler if this extra page was not needed. It'd also avoid caching problems, as right now edits directly on the GeoJSON namespace will not be reflected on pages where it is used via the geojson parameter unless those pages are purged.

Ultimately all the user should need to tell the map is to turn the editor on. Or perhaps not even that if it is on by default for the wiki (which would be configurable).

{{#display_map:editor=on}}

The map would then store the markers and shapes in GeoJSON inside the page itself. Besides being much more user-friendly, this approach integrates with features like watching or protecting the page.

If you'd like to fund this feature, please contact us.

Style editing

While Maps now supports display of styled shapes, based on the simplestyle specification, editing of these styles is not possible via the visual editor. To edit these styles you either need to edit them in the GeoJSON source, or export this source to an off-site editor that does support styling and then import it again.

The same limitations apply to marker styling. Right now it is not possible to change which markers are used in the visual editor.

If you'd like to fund this feature, please contact us.

Semantic MediaWiki integration

Semantic MediaWiki is one of the most useful MediaWiki extensions out there. Especially if you are working with data. Maps integrates with Semantic MediaWiki, allowing you to store and query coordinates, possibly combined with other information.

Right now it is not possible to store the geographical information contained in the GeoJSON into Semantic MediaWiki. At least not without manually converting it into wikitext, storing that somewhere and then somehow keeping things in sync.

It is possible to create a new integration that allows automatically storing information contained in the GeoJSON into Semantic MediaWiki. Initially this would just be for markers/locations, though this could be extended to polygons and other shapes as well.

If you'd like to fund this feature, please contact us.

Getting Maps

All Professional Wiki hosting plans include the Maps extension. If you want to install the extension on your own, please refer to the installation instructions.

Contact us to fund further Maps development or to get Professional Support.