Skip to content

GSIP 200

Peter Rushforth edited this page Feb 24, 2021 · 5 revisions

GSIP 200 Promote MapML to extension

Overview

Map Markup Language (MapML) is a proposal to extend HTML to include maps and layers as native browser objects. MapML has been co-designed by the OGC Testbed community within the W3C Maps for HTML Community Group. MapML support has been built into MapServer, GeoServer, GDAL and the Web-Map-Custom-Element client library.

The GeoServer MapML Community Module was originally developed by Chris Hodgson, Refractions Research, for Natural Resources Canada. The module has been extended by Peter Rushforth, and has been used and improved as part of the OGC Testbed 15 and 16 activities of the the OGC Innovation Program.

Proposed By

Peter Rushforth

Assigned to Release

This proposal is for GeoServer 2.19.0.

State

  • Under Discussion, herewith
  • In Progress
  • Completed
  • Rejected
  • Deferred

Motivation

The objective of the Maps for HTML initiative is to persuade browser makers that maps and location information are important enough to include native browser APIs in support geospatial information. It's not enough that maps are fabricated at run time by JavaScript libraries - maps, layers and features should be representable in HTML elements, enabling performant rendering while exposing location semantics to Web crawlers for use in resource discovery. Further, JavaScript has become one of the most confusing development environments in IT, with new and different frameworks pulling developers attention in every direction at once. It is the intent of MapML to integrate with the lowest, most primitive layer of the Web stack that is suitable, allowing definition of standardized client-side APIs based on standard markup primitives.

It is likely that MapML will become the subject or core of a joint OGC - W3C working group, and it is the objective of this module to provide a leading implementation of that specification. Apart from the existence of a solid specification for this markup, it will be important to demonstrate that there exist ready sources of MapML-flavoured HTML, as one aspect or means of making the case that maps and location belong in the native code of Web browsers. GeoServer can be a leading implementation of the future standard, risking little but potentially gaining users as the standard grows.

Proposal

GeoServer already has the complete code of the module. The module is lightly documented, and we are building a client API documentation site.

Actions needed for graduation:

  • Moving the module from community to extension in the build system.
  • Cleaning up eventual QA failures
  • Updating the website template to make the extension available.
  • Updating the pom.xml contact information.
  • Updating documentation location, remove eventual warnings related to community status.

Extension status requirements

The developers guide lists several requirements for community modules graduating to an extension:

  1. The module has at least a “handful” of users

    • The module has been used by OGC Testbed 15 and 16, and NRCan intends to replace existing MapML services with GeoServer-provided content. The objective is to gain traction for the initiative (maps in HTML), not just the module, but hopefully eventually the module will graduate to core, with enough users and implementation of MapML / maps in HTML by browsers.
  2. The module has a designated and active maintainer

    • Peter Rushforth (Natural Resources Canada) is willing to act in this capacity, with Chris Hodgson (Refractions Research, the original developer) acting as co-maintainer.
  3. The module is considered “stable” by the majority of the PSC

    • The module has been unchanged and working for several releases. The module was first introduced in 2.16.0, and has remained pretty stable since. We have recently checked in a reasonable test suite, with a few bug fixes that were found during that process. We intend to evolve the functionality as the format evolves, as well as to better leverage GeoServer architecture than we currently do.
  4. The module maintains 40% test coverage

    • Module has 73% test coverage and 49% branch coverage, as reported by Jacoco
  5. The module has no IP violations

    • Module was fully written and maintained by Natural Resources personnel.
  6. The module has a page in the user manual

  7. The maintainer has signed the GeoServer Contributor Agreement

    • OSGeo CLA signed

Feedback

Voting

Project Steering Committee:

  • Alessio Fabiani: +0
  • Andrea Aime: +1
  • Ian Turton: +1
  • Jody Garnett: +1
  • Jukka Rahkonen: +1
  • Kevin Smith:
  • Simone Giannecchini: +0
  • Torben Barsballe: +1
  • Nuno Oliveira: +1

Links

[1] MapML Community Module Documentation

[2] How to install the MapML Community Module

[3] Web-Map-Custom-Element Client built into the module

[4] Client API Documentation (in progress)

Clone this wiki locally