Back to FOSS4G2007...
Code Sprint - what's that?
A code sprint is usually organized by a group that is using an open source project and wants to see something done. They fly the developers to a single location and feed them for a couple of days with the necessities of the hacking life (internet, caffeine, electricity). The communication that happens from face to face hacking usually lasts the project for a year or more. You see this a lot in projects like Drupal etc...
Motivation and Direction
A day, a code base, and your imagination?
On the Friday after the conference, a big room with internet connectivity, lots of tables and flip charts will be arranged. Projects can use the time and venue for organizational discussions, development roadmaps, and group resolution of thorny issues in their code bases.
Is this your First Sprint? Here is some background information to get you started:
- Example Sprint (from same people who do GeoServer): http://www.openplans.org/projects/bbq-sprint
To participate, start a section below for your project.
We are going to to do a cross project code sprint (with GeoServer and uDig developers) focused on changing the internals over to the new Feature model. If we run across any old Filter code we will take care of it as well. The "old" Feature interface will still be available for client code to use - this sprint is just focused on updating (and testing the heck out of) our internals.
We need *good* code examples of how to do the following before we start: Use SimpleFeatureTypeBuilder, use SimpleFeatureBuilder. It may also help to have a big old class diagram of the Feature model.
We expect each developer to have a working build of trunk, have read the interfaces for SimpleFeature and the above code examples.
Out of Scope
There are lots of things that are going to have to follow out of scope for this sprint. I am going to bring attention to the following explicitly. *Performance* (the implementation of SimpleFeature available here is for the transition period only - optimize on your own time after we have updated the codebase to handle it). *Javadocs* - much of the javadocs will be out of date by the time we are done, type a sentence and move on.
During the code sprint you will be tempted - when you run into any good ideas on these topics simply fire an email off to the devel list and we will revisit it later.
- Hack session
GDAL Bug Squash
Details at: http://trac.osgeo.org/gdal/wiki/BugSquash2007
GeoNetwork / Metadata Madness
Building crawler/harvester/aggregator applications on top of the GeoNetwork metadata catalog network and similar interfaces. Plugging client stuff like gvSIG and uDig into it.
- Christopher Schmidt
- Aaron Racicot
- Tim Schaub
- Erik Uzureau
- Lorenzo Becchi
- Schuyler Erle
- Paul Spencer
- Pierre Giraud
- Mike Adair
- Andreas Hocevar
- David Zwarg
- Cameron Shorter, after lunch for a couple of hours, remotely from Australia.
Hack, hack, hack. I think this will be OpenLayers 2.6 or 2.7?
Some specific ideas:
- OL Context/WMC+ - read/write support for and OWS Context style doc
- SLD support - edit/read/write
- OWS:Filter - pass & integrate with WFS Layer. (Interest to Cameron)
- Renderer Optimizations
- consider attributing geometry components with a minResolution below which the renderer doesn't deal with them
- clipping - svg supports clipping, we need to consider clipping or another method of dealing with geometries that extend beyond the renderer bounds
- add <canvas> renderer
- integrate emanual's animated zooming stuff
- client-side coordinate transformations
Here are some goals/wishes/ideas for the code sprint:
1. I would love to get some traction on expanding the "Tim Tutorials" into a more generic and robust framework for stand alone apps. Focusing on the Python bindings would be my preference. (Aaron Racicot)
2. Build an all-in-one data browser:
- Display a tree of all QGIS supported types, including PostGIS and WMS
- Support drag and drop from the browser to the QGIS map canvas
- Include file/layer management tools
3. I would prefer a discussion in which direction symbolisation should go. (Horst Düster)
SWIG bindings are increasingly used and could be used by many projects. GDAL uses them, and this sprint will focus in GDAL's (new generation) bindings but more general discussion, goal setting, and talk on integration is very much hoped for.
- present a short introduction to SWIG (AJ: I'll prepare this)
- develop a vision of how we integrate tools and create common look and feel high-level programming interfaces with SWIG bindings
Specifically for GDAL (from Tamas Szekeres' email):
- harmonize the typemap usage between the various bindings (and update the README.typemaps accordingly)
- determine which of the gdal/ogr features should be added to (or perhaps removed from) the SWIG interface.
- look over the possibilities to automate the creation of the code-comment-documentation for the various languages.
- construct the expected object model diagram to follow by the various languages (and publish the model itself)
- discuss the language specific issues and the expected treatments.
Udig / JGrass
Cross project code sprint with the JGrass and uDig projects.
Currently these are proposals we are working on selecting a subset of these goals.
|Animation Framework||If we could code up an example animation (say a point moving over a road network), then it becomes much easier for newcommers to work on fleshing this out. We could come up with a list of topics as the meeting draws nearer and decide on site as to which we wanted to tackle.|
|Debug uDig Trunk||uDig trunk was moved to GeoTools trunk some time ago but the changes were major and many bugs still exist. Styling for example still doesn't work|
|Simple Feature||GeoTools is doing a cross project code sprint and will need a uDig developer to update our trunk to SimpleFeature|
|Better GRASS compatibility||better GRASS compatibility through JGrass|
|Wizard and DND||Separate catalog wizards and Drag and Drop code to simplify both problems|
|Rendering||Rendering has been in need of an overhaul for quite some time. Lets fix it|
|Remove Cruft||Lets comb the code base and get rid of some of the ugly/unused|
|3D visualization||let's talk a bit about 3D, jogl, jirr and other nasty things and udig|
|Italian translation of uDig||I know this is rather utopic, but you never know :)|
|Definition of a portable workspace||UDig should have the possibility to export the workspace, either automagically or even by just moving a folder from one user to the other. It's about relative paths, about copying data eventually into the workspace and things like that. I believe this is a critical problem for usability. Should remember to isolate username/password information as well.|
Voting (scale 1-5)
|Debug uDig Trunk||1||1||0||4||4|
|Better GRASS compatibility||3||5||5||2||0|
|Wizard and DND||4||3||0||4||3|
Translate OSGeo Journal Vol. 2 into french. Some other aspects of translation/localization of OSGeo software could be discussed as well.
Promotion Projects: Demo Videos, Website
Contact: Tyler Mitchell
For at least part of the Code Sprint time, we can meet to put together various screenshot and/or video demonstrations of OSGeo software. These will be used for future promotional purposes at conferences, online and more.
Also, we can update the OSGeo.org website for the projects' info sheet: i.e. http://osgeo.org/mapserver, etc.