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:
- Email the roadmap suggestion to the list.
- Encourage list discussion to see what skills would be needed, and whether there is enough interest and skill to deliver the item, in theory,
- 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?
