GNIP 16 - Remote Services

80 views
Skip to first unread message

David Winslow

unread,
Jan 10, 2012, 2:41:04 PM1/10/12
to geono...@opengeo.org
See the proposal on the wiki: https://github.com/GeoNode/geonode/wiki/GNIP-16---Remote-Services

You link to a mailing list thread listing several different approaches to implementing the functionality; which of those approaches is being proposed here?

What changes do you see being required in gsconfig.py? What does GeoServer configuration have to do with connecting to third-party services?

--
David Winslow

Jeffrey Johnson

unread,
Jan 10, 2012, 6:14:05 PM1/10/12
to David Winslow, geono...@opengeo.org
On Tue, Jan 10, 2012 at 11:41 AM, David Winslow <dwin...@opengeo.org> wrote:
> See the proposal on the wiki:
> https://github.com/GeoNode/geonode/wiki/GNIP-16---Remote-Services
>
> You link to a mailing list thread listing several different approaches to
> implementing the functionality; which of those approaches is being proposed
> here?

In fact a good bit of this code is already written. I've implemented
the cascading method for both WMS and WFS using GeoServer's cascading
functionality. I've also implemented the indexing method for WMS, but
it doesnt seem to make sense for WFS. Additionally, I added
functionality to 'harvest' external CSW's and add the harvested
records as GeoNode Layer pages with the map only displaying the
footprint rather than the actual data. These pages then provide a link
to the URI specified in the CSW GetRecord. I have *not* done any work
on 'real-time' cascading (searching against external services at
run-time). I think discussion on something like that should take place
under a separate GNIP.

> What changes do you see being required in gsconfig.py? What does GeoServer
> configuration have to do with connecting to third-party services?

Again, the necessary changes have already been made in gsconfig.py and
in GeoServer. Changes were necessary in gsconfig.py in order to allow
Cascaded services to be configured via the REST api in gsconfig.py.
You can see my diff here.
https://github.com/jj0hns0n/gsconfig.py/compare/master...wms_store ...
In GeoServer, a few problems were encountered when implementing the
cascading method, mostly having to do with the metadata
(abstracts/keywords etc) that was received from external services not
being completely stored for the new layers by GeoServer. Additionally,
Gabriel Roldan and Justin Deolivera made a few patches that helped
with the configuration of things like connect and read-timeouts. Im
happy to dig up the Geoserver tickets and link them here if anyone is
interested.

Tom Kralidis

unread,
Jan 11, 2012, 3:54:09 PM1/11/12
to jjoh...@opengeo.org, dwin...@opengeo.org, geono...@opengeo.org


> Date: Tue, 10 Jan 2012 15:14:05 -0800
> Subject: Re: GNIP 16 - Remote Services
> From: jjoh...@opengeo.org
> To: dwin...@opengeo.org
> CC: geono...@opengeo.org

>
> On Tue, Jan 10, 2012 at 11:41 AM, David Winslow <dwin...@opengeo.org> wrote:
> > See the proposal on the wiki:
> > https://github.com/GeoNode/geonode/wiki/GNIP-16---Remote-Services
> >
> > You link to a mailing list thread listing several different approaches to
> > implementing the functionality; which of those approaches is being proposed
> > here?
>
> In fact a good bit of this code is already written. I've implemented
> the cascading method for both WMS and WFS using GeoServer's cascading
> functionality. I've also implemented the indexing method for WMS, but
> it doesnt seem to make sense for WFS. Additionally, I added
> functionality to 'harvest' external CSW's and add the harvested
> records as GeoNode Layer pages with the map only displaying the
> footprint rather than the actual data. These pages then provide a link
> to the URI specified in the CSW GetRecord. I have *not* done any work
> on 'real-time' cascading (searching against external services at
> run-time). I think discussion on something like that should take place
> under a separate GNIP.
>

Realtime cascading can be realized by CSW itself (see http://pycsw.org/docs/distributedsearching.html).  The results would be transparent to the client.  We'd have to keep in mind performance and latency here.

Jeffrey Johnson

unread,
Jan 11, 2012, 4:06:44 PM1/11/12
to Tom Kralidis, dwin...@opengeo.org, geono...@opengeo.org

Tom, It would be good to take a crack at this kind of thing
eventually, and also against other real-time search services (like
opensearchgeo and google etc) ... but our current concentration has
been on cascading services via geoserver, and addressing remote wms
directly from within the geonode map-composer and pages.

This is the place to check this out in my remote_services branch. I
intended for the X type to be 'real-time' services.

https://github.com/jj0hns0n/geonode/blob/remote_services/src/GeoNodePy/geonode/maps/views.py#L1878

Reply all
Reply to author
Forward
0 new messages