-
-
Notifications
You must be signed in to change notification settings - Fork 496
Description
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