[Qgis-developer] proposing MetaSearch for QGIS Core

Tom Kralidis tomkralidis at gmail.com
Fri Apr 4 06:30:42 PDT 2014


tl; dr: we are proposing MetaSearch for inclusion into QGIS core, to
help the discovery (download/add, find/bind) workflow in QGIS. There
are Python dependencies and build workflows that need to be
discussed/resolved, but overall we believe it's a good time to start
this discussion.




Devs: as per https://github.com/geopython/MetaSearch/wiki/QGIS-Core-Integration,
I'd like to discuss the possibility of integrating the MetaSearch
Catalogue Client into QGIS as a core plugin.

To quote Tim (Sutton):

`tomkralidis: btw it would be great to see the CSW client made ready
to go into QGIS core one of these days - its a missing piece from our
'out of the box OGC compliance'`

Plugin: http://plugins.qgis.org/plugins/MetaSearch/

Notes:

- supports the badly-in-need publish/find/bind SDI workflow, allowing
users to discover data/services and add them to their map
- OGC services are seamlessly supported for dynamic add layer dialogues
- over 1300 downloads in the last 6 weeks from plugins.qgis.org
- interest across multiple organizations and countries (development,
pull requests, documentation, feature requests/enhancements/bug
reports, translation, etc.)
- documentation: currently Sphinx, hosted on GitHub, translated on Transifex
- extensible, future work will include additional APIs (OpenSearch, etc.)
- initially forked from the excellent CSWClient work by NextGIS

Dependencies:
- user: https://github.com/geopython/MetaSearch/blob/master/requirements.txt
- developer: https://github.com/geopython/MetaSearch/blob/master/requirements-dev.txt
- managed in https://github.com/geopython/MetaSearch/blob/master/pavement.py#L60
- OWSLib is a hard requirement
- I'd be willing to move off Jinja2 (HTML templating) and pygments
(Syntax highlighting) in favour of something already in QGIS; these
are self contained in
https://github.com/geopython/MetaSearch/blob/master/plugin/MetaSearch/util.py#L55
and https://github.com/geopython/MetaSearch/blob/master/plugin/MetaSearch/util.py#L103,
if there are easy alternatives already supported in the QGIS Python
environment
- I'm not familiar with QGIS development/build workflow/etc., so I'm
not sure how the dependencies are/will be handled. Does/will QGIS have
a Python package dependency strategy?

Build/packaging:
- uses Paver to build, package, bundle and upload to plugins.qgis.org
- **dependencies are bundled with the plugin in isolation**
- how does/would this look in a QGIS build?

Issues:

- UI: thanks to Anita, Tim and others on UI comments and development
in Vienna last week.  We are working on these in master branch
currently
- default connections file: there is interest in organizations
publishing their CSW to this list as a means to have it default in
QGIS. Current process at
https://github.com/geopython/MetaSearch/wiki/MetaSearch-Default-Connections-List.
 We have Travis CI setup to always test the default connections so the
list does not become stale over time (as well as pep8 checks, etc.)

I hope this provides enough of an overview to move the discussion forward.

Thanks for consideration.

Tom Kralidis, Richard Duivenvoorde, Angelos Tzotsos,


More information about the Qgis-developer mailing list