FOSS4G2007 CodeSprint

From OSGeo
Revision as of 10:33, 25 September 2007 by Wiki-Dfc (talk | contribs)
Jump to navigation Jump to search

Back to FOSS4G2007...

Organizing Contacts

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:

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:

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.





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

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.

Topic Description
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)

ID Voter Voter Voter Voter Voter
Animation Framework 1 4 4 1 4
Debug uDig Trunk 1 1 0 4 4
Simple Feature 2 2
Better GRASS compatibility 3 5 5 2 0
Wizard and DND 4 3 0 4 3
Rendering 4 3 5 4 4
Remove Cruft 4 3 0 3 4
3D visualization 5 5 5 4 4
Italian translation 2.5 3 5 x 0
Portable workspace 4 5 5 4 1

French translation

Contact: Yjacolin, Vincent Picavet


See Translation sprint (in french)


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 website for the projects' info sheet: i.e., etc.

MAJAS call for participation

Contact: Dirk Frigne

What is Majas ?

MAJAS is a component framework for building rich Internet applications (RIA) with sophisticated capabilities for the display, analysis and management of geographic information. It is a building block that allows developers to add maps and other geographic data capabilities to their web applications.


Finding participants for further development and maintenance of the project and warming up the community for this project (and have a beer afterwards)

  • Discussion about setting up collaboration MAJAS
  • Roadmap MAJAS
  • Some technical issues like OSGI server integration