OGC compliance for QGIS - qgis/QGIS GitHub Wiki

Table of Contents

What is OGC compliance
Certification Process
Status and plans for QGIS server
Status and plans for QGIS Desktop client

What is OGC compliance ?

The OGC (Open Geospatial Consortium) is an international not for profit organization committed to making quality open standards for the global geospatial community. These standards are made through a consensus process and are freely available for anyone to use to improve sharing of the world's geospatial data: http://www.opengeospatial.org/.

OGC offers an OGC validator here http://cite.opengeospatial.org/teamengine/. It is an essential tool that helps organizations better implement service interfaces, encodings and clients that adhere to OGC standards. Passing the test and getting OGC certified helps organizations distinguishing their product in the market place.

So in two words, if a server and a client are both certified, it is highly likely that things are going to work smoothly between them. And this is why we love standards for interoperability.

Certification process

The OGC certification must be renewed every year by running the online OGC certification tool against a reference QGIS server url.
The certification - for each version and each service - must be renewed every year.

Due to the administrative burden, QGIS.org currently only will renew certification for LTR versions.

A dedicated contact mail has been set up : ogc at qgis dot org forwarding mails to 3-4 persons in charge.

Régis Haubourg (@haubourg) is currently the maintainer of the OGC certification.

Paul Blottiere (@pblottiere) is managing the testing and performance infrastructure (and did most of the associated bugfixing).

Technical steps

Here follows the process for WMS service, but the process is the same for other services.

  1. Check that nightly test platform succeed at http://test.qgis.org/ogc_cite/wms_130/latest/report.html
  2. Check if the reference qgis server demo is running at http://qgis4.qgis.org:8080. E. g. for 3_4 and WMS? you can check get capabilities here http://qgis4.qgis.org:8080/qgisserver_3_4_teamengine?SERVICE=WMS&REQUEST=GetCapabilities If not, ask ogc at qgis.org to set up a reference server for the target version
  3. Log into http://www.opengeospatial.org/resource/products/registration with the maintainer account (ask again the qgis ogc team if needed)
  4. Create a new entry for the new service / version. (We don't renew certifications for unsupported versions, no need to renew certification - our release cycle is faster than certification renewal's cycle)
  5. Go to the testing site and create a new testing session where the real tests are run http://cite.opengeospatial.org/teamengine
  6. Uncheck raster elevation, vector elevation and time tests
  7. DO NOT close the popup - it will list the logs of the application. At some point, in the main web page you will have to validate 3 times generated images manually. Don't go drink a coffee and wait for it to finish alone.
  8. In case of failure, you can download logs or access to the html report (which is not very informative). in case of success, keep track of the session id and name to use it into the final certification form.
  9. Get the logo of the certification and push it to qgis.org team to display it in qgis.org website

Status and plans for QGIS server

QGIS server has been fully rewritten for QGIS 3. A lot of efforts have been spent to make it cleaner, easier to maintain, easier to extend with plugins, python services, with better error logs, and faster. The best way to consolidate that and gain the trust in it was to test it every day with the OGC team Engine tools.

In 2017, we built up an open source platform, named QGIS-Server-CertifSuite, that embeds the OGC TeamEngine testing tools and QGIS latest server builds. Daily reports are published to avoid regressions.

QGIS.org supported a lot of efforts in progressively fixing platform issues with TeamEngine - which took some time - and then tackling all OGC failures.

In may 2018, an official certification process has been successful for the first time with the OGC for WMS 1.3.0.

QGIS 3.x plans

Service compliance status and history

QGIS server version Test endpoint Service Service version Statuts certification date comment
3.0.2 http://qgis4.qgis.org:8080/qgisserver_3_4_teamengine?SERVICE=WMS WMS 1.3.0 Compliant 2018-05-03 First official certification. Reference implementation status
3.4.6 http://qgis4.qgis.org:8080/qgisserver_3_4_teamengine?SERVICE=WMS WMS 1.3.0 Compliant 2019-03-08 Reference implementation status
3.10.10 http://qgis4.qgis.org:8080/certification_ogcapif_qgisserver_3_10/wfs3/ OGC APIF 1.0 Compliant 2020-10-21

WFS compliance

As for 2020, we now support OGC API for Features protocol, also know as WFS3 (REST / Json style).

For older WFS, a grant application in 2018 allowed to set up a permanent WFS 1.x/2.x test platform and tackle the first main issues.

About 1/3 of the tests are still failing and need love.

OGC continuous integration futur plans

Currently, the tests run on a separate infrastructure and failures are not forwarded in pull request in the server. Due to stability issue with TeamEngine, it was kept separated, but it would be a lot more efficient to connect the continuous integration with OGC testing.

Since 2020-10-06, certification tests are part of the integrated CI via Github Actions. See this PR test for an example of running tests.

Status and plans for QGIS Desktop client

nothing planned yet, though the OGC team suggests we go for it.