-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GNIP-67: GeoNode CSW-T #2467
Comments
What is CSW-T? Sorry, I've never heard of it before. Could you provide some reference links (Google doesn't return good results). |
@pjdufour updated GNIP text for clarification. |
So the big gain is for registering remote services in GeoNode? |
Remote services and resources (i.e. existing of standalone datasets, etc.) |
@tomkralidis is this ready for 2.5? |
@tomkralidis this can be closed as merged now right? |
Please re-open as it's not implemented ! |
@ALL please, when creating a GNIP, other than the correct label it must:
|
Do we need to wait pycsw PR with commits available here : before making a PR with these commits in Geonode : |
Is this issue still in progress? |
Overview
GeoNode's core CSW support is realized by pycsw. Alternate CSW endpoints can be configured with the underlying interaction being HTTP via the CSW request/response mechanisms.
CSW-T is a profile of CSW which allows transactions to be performed against a catalogue (insert/update/delete). pycsw provides full CSW (core/basic and transactional) but CSW-T is disabled to facilitate transactional workflows via GeoNode proper.
Allow for CSW-T based functionality directly against GeoNode/Django models.
This GNIP will enable GeoNode's underlying pycsw support to provide CSW-T capability directly against the GeoNode/Django models.
Proposed By
@tomkralidis
Assigned to Release
2.5.x
Motivation
Currently, pycsw as integrated in GeoNode provides a one-way/outbound/readonly endpoint with direct read access from the GeoNode DB. Enhancing with CSW-T will allow GeoNode to support a richer harvesting workflow via CSW-T of numerous resource types (WMS, WFS, WCS, WAF, etc.)
Proposal
Enable pycsw's GeoNode backend to support CSW-T functionality.
Implementation
Concepts
pycsw's harvesting approach is to create a generic
Record
object which is managed as a metadata record in a given metadata repository. This covers the metadata record workflow.For the services (WMS, WFS, WCS, SOS, WPS, etc.) workflow, pycsw inserts 1+n
Record
objects into the repository. For example, if a WMS has 66 layers, 67Record
objects are inserted (1 as a service metadata record, and 66 layer metadata records).pycsw
pycsw's backend architecture allows for using a default model and/or binding to an alternate model via configuration of field mappings with some detailed semantics. pycsw's GeoNode repository plugin contains the required functionality as part of the
pycsw.core.repository.Repository
model. Theinsert
,update
,delete
functions will be added topycsw.plugins.repository.geonode.geonode_.GeoNodeRepository
to insert/update/delete metadata records seamlessly. Translation between core pycsw harvesting and GeoNode repository models is required.Issues
The text was updated successfully, but these errors were encountered: