Skip to content
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

Closed
tomkralidis opened this issue Apr 8, 2016 · 10 comments
Closed

GNIP-67: GeoNode CSW-T #2467

tomkralidis opened this issue Apr 8, 2016 · 10 comments
Assignees
Labels
gnip A GeoNodeImprovementProcess Issue

Comments

@tomkralidis
Copy link
Member

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, 67 Record 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. The insert, update, delete functions will be added to pycsw.plugins.repository.geonode.geonode_.GeoNodeRepository to insert/update/delete metadata records seamlessly. Translation between core pycsw harvesting and GeoNode repository models is required.

Issues

  • which resource types to support?
  • workflow
  • how results are realized on GeoNode UI
@tomkralidis tomkralidis self-assigned this Apr 8, 2016
@tomkralidis tomkralidis added metadata gnip A GeoNodeImprovementProcess Issue labels Apr 8, 2016
@tomkralidis tomkralidis added this to the 2.5 milestone Apr 8, 2016
@tomkralidis tomkralidis changed the title GeoNode CSW-T GNIP GNIP: GeoNode CSW-T Apr 8, 2016
@tomkralidis tomkralidis changed the title GNIP: GeoNode CSW-T DRAFT GNIP: GeoNode CSW-T Apr 8, 2016
@tomkralidis tomkralidis changed the title DRAFT GNIP: GeoNode CSW-T GNIP: GeoNode CSW-T Apr 11, 2016
@pjdufour
Copy link
Member

What is CSW-T? Sorry, I've never heard of it before. Could you provide some reference links (Google doesn't return good results).

@tomkralidis
Copy link
Member Author

@pjdufour updated GNIP text for clarification.

@pjdufour
Copy link
Member

So the big gain is for registering remote services in GeoNode?

@tomkralidis
Copy link
Member Author

Remote services and resources (i.e. existing of standalone datasets, etc.)

@jj0hns0n
Copy link
Member

@tomkralidis is this ready for 2.5?

@jj0hns0n
Copy link
Member

@tomkralidis this can be closed as merged now right?

@kikislater
Copy link
Contributor

Please re-open as it's not implemented !

@afabiani afabiani reopened this Sep 5, 2019
@afabiani afabiani removed this from the 2.7 milestone Sep 5, 2019
@afabiani afabiani changed the title GNIP: GeoNode CSW-T GNIP-67: GeoNode CSW-T Sep 5, 2019
@afabiani
Copy link
Member

afabiani commented Sep 5, 2019

@ALL please, when creating a GNIP, other than the correct label it must:

@kikislater
Copy link
Contributor

Do we need to wait pycsw PR with commits available here :
geopython/pycsw@master...tomkralidis:geonode-csw-t

before making a PR with these commits in Geonode :
master...tomkralidis:csw-t
?

@giohappy
Copy link
Contributor

giohappy commented Apr 30, 2021

Is this issue still in progress?

@giohappy giohappy closed this as completed Feb 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gnip A GeoNodeImprovementProcess Issue
Projects
None yet
Development

No branches or pull requests

6 participants