Skip to content

Migration to v4 of RSS, OpenSearch and INSPIRE OpenSearch #5332

@pvgenuchten

Description

@pvgenuchten

These 3 topics are quite related and each of them still lacking in v4. Suggestion is to use the moment to align these functionalities. Currently the documentation about these topics is quite limited, so it is a bit unclear what is the expected behaviour of each of them. This issue tries to collect some user scenario's and suggestion for implementation.

Use scenario's

RSS

  • User can subscribe to a metadata record, by copying the rss url of a metadata record to a rss reader. Most feed readers support both RSS and Atom format, so this can potentially be deprecated in favor of Atom.
  • Some (like esri geoportal) use rss endpoint to run a query against the catalogue and return a set of records, this functionality looks quite similar to OpenSearch as below.

OpenSearch

The main page of the application (example.com/index.html) should have a reference to the opensearch endpoint

<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="OpenSearch">

A user can type the domain name, then space and use the opensearch functionality to query the catalogue from the browser bar. Search result opens in Angular application (or oapi-records)

OGC OpenSearch

OGC introduced a space-time extension to OpenSearch facilitating the earth observation domain. AFAIK GeoNetwork currently does not support that extension. It could be interesting to add support for it.

INSPIRE OpenSearch

Similar as above, however this introduces an opensearch endpoint for each download service to query for datasets within that download service. INSPIRE also adds some implementation specific elements to the Atom document, not sure if it would break the default Opensearch service if added. Also some new methods are introduced to link to related resources (describe dataset, download dataset). These methods should be migrated to API.

INSPIRE OpenSearch local vs remote

In remote mode, GeoNetwork loads atom feeds from remote location, indexes them and returns the remote feed when requested. In local mode feed responses are generated from metadata content. Another option to support is a hybrid mode, use the remote feed if available, else create a feed response based on metadata content. Local mode seems deactivated in 3.10

Plugin/micro service vs integration in core

A choice should be made to embed the INSPIRE OpenSearch into the core product or to introduce it as a separate plugin / micro service. The functionality is only relevant to a subset of the users and due to its dedicated url structure it is relatively easy to seperate it to a separate micro service. The micro service could potentially still use some query functions from the core library.

On the other hand it would make sense to reuse the canonical url of a record, enforcing the relevant output encoding. For example the url of a record in atom would be /oapi/collections/srv/items/{uuid}?f=atom

Metadata

Metadata

Assignees

No one assigned

    Labels

    stalestale issue flagged for closure.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions