-
Notifications
You must be signed in to change notification settings - Fork 1.1k
GNIP 27 CSW Django Backend Support
Allow for GeoNode CSW server to bind directly to Django backend.
This will enable GeoNode metadata to be managed with less duplication between component databases, and provide streamlined CSW services, accessing a single metadata database directly from source of publishing.
Jeffrey Johnson
TBD
For Review and Comment
Currently, all catalogue metadata is stored as per the CSW's implementation database, in addition to GeoNode's Django db. As a result, there exists duplication between publishing metadata to the GeoNode Django db, as well as the CSW db. This has resulted in supporting saving metadata across multiple databases.
Reducing GeoNode's metadata database to a single instance adds value to the project in reducing duplication of metadata and supporting synchronization of on create/update/delete operations.
The scope of this GNIP is constrained to pycsw.
Remove all CSW transactional functionality. Since the CSW will read directly from the GeoNode Django database, there is no need to invoke CSW transactions on top of saving to the Django db.
Utilize the same query functionality as present in GeoNode, against a pycsw instance which is configured to read directly from the GeoNode Django db. Since pycsw is written in Python, utilize geonode.maps.models.ResourceBase as the class to operate queries against.
Provide test mechanisms to demonstrate interoperability. This will involve invoking the existing integration tests against a pycsw Django configured backend.
Do nothing
Implemented as part of https://github.com/GeoNode/geonode/pull/387