Virtual CSW endpoints
| Date | 2011/11/17 |
| Contact(s) | Jose García |
| Last edited | |
| Status | done |
| Assigned to release | 2.7.0 |
| Resources | Available |
| Ticket # | #660 |
Overview
This proposal aim to add the capability to define custom CSW entry points that applies extra criteria to the CSW request. A useful use case is to define an INSPIRE CSW endpoint to deliver only the INSPIRE related metadata stored in the catalog.
Proposal Type
- Type: Core Change
- App: GeoNetwork
- Module: CSW server
Links
- Documents:
- Email discussions:
- Other wiki discussions:
Voting History
- Vote proposed by Jose García on 2011/11/17, result was +1 Francois, Simon, Jeroen
Motivations
A use case of this proposal is to allow define an INSPIRE CSW end-point to deliver only the INSPIRE related metadata stored in the catalog. Other use cases can be useful to create CSW end-points for metadata related to specific theme/s: climate, boundaries, etc.
Proposal
Add the capability to have custom CSW entry points that apply extra criteria to the CSW request. A new CSW service entry point is defined in a configuration file config-csw-servers.xml using the following syntax:
<service name="csw-with-my-filter">
<class name=".services.main.CswDispatcher" >
<param name="filter" value="+inspirerelated:on
+themekey:environment"/>
</class>
</service>
The "filter" parameter value is the filter to apply to Lucene query using Lucene query syntax ( http://lucene.apache.org/java/2_9_1/queryparsersyntax.html). Allows OR and AND operators.
The "filter" is applied in these CSW operations:
- GetRecords
- GetRecordById
- GetDomain
- GetCapabilities (keywords section)
It's possible to define several services for CSW end-points that apply different filter criteria:
<service name="csw-with-my-filter-environment">
<class name=".services.main.CswDispatcher" >
<param name="filter" value="+inspirerelated:on +themekey:environment"/>
</class>
</service>
<service name="csw-with-my-filter-climate">
<class name=".services.main.CswDispatcher" >
<param name="filter" value="+inspirerelated:on +themekey:climate"/>
</class>
</service>
Adding new services require:
- Create the service definition in a configuration file config-csw-servers.xml with the custom filter criteria.
- Define permissions for the service in user-profiles.xml file.
- Restart of the application.
The issue #660 contains a patch to review with the implementation of this proposal.
Backwards Compatibility Issues
The default CSW endpoint behavior is not changed, working as in actual version.
Risks
Participants
- Francois Prunayre
- Heikki Doeleman
- Jose García
Funded by EEA
