RFC 9: OGC API - Records support

Overview

This RFC describes the pycsw implementation of the OGC API - Records - Part 1: Core Specification (OGC 20-004).

OGC API - Records (i.e. OARec) is part of the overall OGC API to modernize API specifications in support of lowering the barrier to implementation, leveraging more native web patterns, as well as modern web technologies. The OGC API effort represents a clean break from first generation OGC web services.

Notable enhancements include:

Proposed Solution

Given the pycsw architecture, the approach will be to leverage the existing pycsw configuration and backend metadata repository management via the pycsw native Python API. OARec will be implemented on top of

Given the major changes in OARec, the following technical strategies are put forth:

Implementation

Activating the feature

OARec support is enabled by default and is exposed by deploying pycsw.wsgi_flask via WSGI. The default Docker implementation will be updated to use pycsw.wsgi_flask thereby supporting all pycsw APIs.

The pycsw.wsgi_flask WSGI deployment provides updated routes as follows:

Existing functionality will stil exist via the pycsw.wsgi WSGI deployment.

Files affected

Backwards Compatibility Issues

None.

Internal Interface changes

None

Performance Implications

None expected.

None

Restrictions

None

Documentation

Documentation will be updated to describe OARec support and features. A migration guide will also be provided for users wishing to upgrade to OARec and the Flask deployment strategy.

Miscellaneous

Issue Tracking ID

https://github.com/geopython/pycsw/issues/670

Pull Request

https://github.com/geopython/pycsw/pull/686

Voting History

+1 from @capooti, @amercader, @kalxas, @tomkralidis

Status

Adopted.