Roadmap Ideas

This is a page for listing descriptions of roadmap ideas for the GeoNode. See also RoadmapStubs. Before putting an item on this list, please:

  1. Email the roadmap suggestion to the list.
  1. Encourage list discussion to see what skills would be needed, and whether there is enough interest and skill to deliver the item, in theory,
  1. If it looks like there is enough buy-in and potential, then puts the idea onto this page under the horizontal rule in the format of the template shown below.
== Idea Title ==

'''Ticket''': #99999999 (This is the ticket for the ballpark estimation task, which I made when I added this roadmap item.)

'''Point person''': Manny Guyverson

'''Other contacts''': Ima de Veloper, The Yellow Dart

This is my description of the roadmap idea.  
Note that it has enough detail to begin a ballpark estimate, and is meaningful to anyone with background in the GeoNode.

This is the second paragraph of the description.  It will may be necessary.  

Usage Statistics

Ticket: N/A

Point person: Sebastian Benthall

Other contacts: David Winslow, Andrea Aime

Any data layer, style or map should have automatically collected statistics about its use, which are displayed on its information page and used to sort/filter search results.

This will involve several components:

  • Statistics collection in GeoServer and an API for retrieving it, for Maps and Styles. Andrea will likely deliver ballpark estimates on this work soon.
  • Statistics collection in the Django app for Maps.
  • Incorporate GeoServer's collected data in the Django models, through either: a periodically-run piece of code that slurps statistics from a GeoServer web service into the django database (post-processor), having GeoServer modify the django database directly, or having Django just query GeoServer directly when doing searches
  • Presentation of the statistics on the information pages, and the option to "sort results by X" in the search page, where X here is the most salient of the gathered statistics.

Technologies/skills needed to implement this include:

  • GeoServer - Basic Java/Swing chops; some familiarity with the GeoServer request/response cycle; Restlet
    • utilize (and possibly introduce) request hooks so this usage data can be collected.
    • provide a query interface for accessing the statistic metadata.
  • Django - Basic Django application usage/implementation chops; templating; decent ORM usage;
    • hook up (3rd-party?) ratings/comments system
    • implement hooks for tracking usage statistics
    • extend search features to take advantage of statistics stored in Django DB
    • extend search features to take advantage of statistics stored in GeoServer DB
  • Client - Statistic gathering should not require any modifications to the client. Possibly some AJAX features of the search interface will require basic Ext chops.

Q: How do we include caching/GWC in this story? "A: See next Roadmap item"


GeoWebcache integration

Ticket: N/A

Point person: Gabriel Roldán

Other contacts: Sebastian Benthall, David Winslow

GeoNode exposes WMS layers from different sources, either remote WMS instances or the integrated GeoServer that serves user contributed layers. The GeoWebCache integrated in GeoServer provides out of the box caching for GeoServer internal layers and is a good choice to provide cacheing for data uploaded through GeoNode.

This proposal aims to provide GeoNode layers - both local and remote - with the performance benefits of tile cacheing in a seamless way, even when they change (either content or styling), while at the same time providing configuration and operational flexibility enough for the administrators to keep the cache healthy.

See the GWC Integration Proposal page for more information