[kepler-dev] csw search module

Simon.Pigot at csiro.au Simon.Pigot at csiro.au
Fri Jun 3 07:41:39 PDT 2011


Dear Kepler community,

I've written a csw module for kepler that is intended to allow search of OGC-CSW (catalog services - web) servers in much the same way as the ecogrid is searched through the 'Data' tab. The main features of the module are:

- Results that match the search criteria (specified using an OGC filter query in the csw configuration) are returned in the dataset pane (as for ecogrid searches) and can be dropped into workflows as a datasource

- Result records dropped into the workflow are composite actors with internal actors created from data links in the metadata (eg. ISO onlineresource elements). Currently three types of actors can be created with parameters populated from the metadata: database table, OPeNDAP and data turbine

- Results from the CSW service can be requested in either csw:Record (a dublin-core profile) or ISO19115/19139 when using the 'Sources' button to open the preferences interface (as for ecogrid). All records are converted to csw:Record via xslt for interpretation by the code. You can add your own format to the configuration and an xslt to convert it to csw:Record if your CSW service returns something different. 

    - You can also alter the supplied xslts csw-RecordTocsw-Record.xsl and/or gmdTocsw-Record.xsl (for ISO19115/19139) if your metadata doesn't use the same conventions for describing data linkages that the code expects to find in csw:Record metadata

- You can do authenticated CSW queries across one or more services by grouping CSW services with a serviceGroup name and specifying a domain (as for ecogrid) with the name of the domain matching the CSW serviceGroup name - you use the standard Tools->Ecogrid Authentication to specify usernames/password for these serviceGroups. Currently the GeoNetwork way of doing authentication via a sessionid cookie is supported but you can add your own class to do this if you need something different.

- Although the test case and the case I've developed this for is the GeoNetwork CSW service, it should be configurable to suit any CSW service (and any authenticated CSW service that uses sessionid cookies).

I've had a few exchanges with Matt Jones about this module and various subjects like how to override config properties etc so that I can make this into a conformant kepler module (thanks for the help with that Matt) - and I think it's ready for others to look at, use and/or suggest ways it can be improved. 

It is planned to use this for our local projects in our organisation and thus to do some further development on it (for example, to support creation of other types of actors from data linkages in metadata and to publish workflows back to a CSW catalog) but I'm hoping others will be interested in this and perhaps improving it as a kepler module as I'd definitely like to contribute the code to the community.

Cheers and thanks very much for creating and maintaining Kepler!
Simon
----
Simon Pigot - simon.pigot at csiro.au
CSIRO Marine and Atmospheric Research
Castray Esplanade,
Hobart, Tasmania, Australia


More information about the Kepler-dev mailing list