-
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
Add support for Remote Services #1408
Conversation
…node into services-redux
Conflicts: geonode/context_processors.py geonode/templates/base.html
@@ -45,5 +45,6 @@ def resource_urls(request): | |||
GS_SECURITY_ENABLED = ogc_server_settings.GEONODE_SECURITY_ENABLED, | |||
PROXY_URL = getattr(settings, 'PROXY_URL', '/proxy/?url='), | |||
SOCIAL_BUTTONS = getattr(settings, 'SOCIAL_BUTTONS', True), | |||
USE_SERVICES = 'geonode.contrib.services' in settings.INSTALLED_APPS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing comma here :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yep, I think merge was incorrect here :)
I'll fix it in the morning |
|
||
while stop == 0: | ||
if flag == 0: # first run, start from 0 | ||
startposition = 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be 1, not 0. Spec say non-negative integer.
I tested this today but it does not seem to be ready for prime time (tests do not pass). I will submit a PR to you @jj0hns0n with the updates I made. |
PR created jj0hns0n#16 |
Updates to services branch
Added dependency on geonode-arcrest
All right, all other PRs closed, I volunteer to review and merge this one once the tests are passing. |
Conflicts: geonode/context_processors.py geonode/layers/models.py geonode/layers/views.py geonode/maps/models.py geonode/templates/base.html geonode/urls.py setup.py
What does this PR do?
Adds an initial implementation that supports remote services in GeoNode. Support for WMS, WFS, CSW, ArcGIS REST, OpenGeoPortal and Harvard Geospatial Library are provided. Additionally, it provides a basic framework for further work in this direction.
Background
Support for configuring and using Remote Services in a GeoNode instance has long been requested by GeoNode users and administratrors. This PR implements the basic functionality to make this possible. Initial support for the most common OGC services as well as ArcGIS REST and other specific services is provided.
The initial implementation of this work was done by myself (@jj0hns0n) as part of the Australia New Zealand Spatial Marketplace (ANZSM) demonstrator project, and was picked up by Matt Bertrand (@mbertrand) and is in use in the WorldMap project. Further work has been done recently to make it work with GeoNode 2.0.
'Indexed' WMS layers allow for layers in a remote WMS to be indexed and Layer records created for each of the remote layers. The Map Client makes requests directly against the remote service.
'Cascaded' WMS layers are configured in both the local GeoNode database and the catalog of the GeoServer paired with the GeoNode. This method is useful when the remote server does not support 900913 projection as GeoServer will do the reprojection on the fly. Additionally, it is possible to use the local geoserver to do caching with GeoWebCache to improve performance or handle for remote servers being offline.
The CSW support is somewhat rudimentary and only supports looking for WMS layers in the records of the remote WMS that match a specific set of conditions. @tomkralidis is planning to pick this work up and improve on it.
Additionally, Basic support for an asyncrhonous queue is added and the geonode will need to be configured with kombu support if this functionality is desired. @mbertrand can add more docs about his setup.
Issues
#1330
#770
#996
#268
#188
#188
Screenshots

Configure a new Service
Service Layers as GeoNode Layers

Service Information Page

TODO