During the week of May 7 to 11, a code sprint on the topic of “GeoExt 2” took place at the terrestris GmbH & Co. KG business premises, in which, in addition to three terrestris developers, other international developers took part.
The aim of the sprint was to redesign the GeoExt library, which is based on Ext JS, in such a way that it is compatible with the latest version of the parent software Ext JS. The starting point was the functionalities of GeoExt 1.1 (based on Ext JS 3.4) and the goal was to be able to provide as many of the functionalities as possible with the newly created version GeoExt 2 (then based on Ext JS 4.x). To anticipate, the success of the sprint is remarkable and a version 2.0 of GeoExt is to be expected in the foreseeable future.
Thanks to numerous sponsors, who covered the costs for travel, catering and accommodation for the sprinters, a total of 12 developers were able to dedicate themselves to this goal in Bonn. The sponsors of the sprint were:
- Swisstopo
- David Bitner, MAC
- The U.S. Army Corps of Engineers
- Jacob Westfall
- SYNCADD
- Mettenmeier
- FOSSGIS e.V.
- Felix Reichert und Partner
- Landplan – Büro für Landschaftsgestaltung
The companies camptocamp, Mapgears, Occam Labs, OpenGeo and terrestris sent developers to follow up the lofty desire for migration with action. The following 12 people were actively involved in code development, testing and documentation:
- Alexandre Dubé, Mapgears
- Andreas Hocevar, OpenGeo
- Bart van den Eijnden, OpenGeo
- Eric Lemoine, Camptocamp
- François Van Der Biest, Camptocamp
- Frédéric Junod, Camptocamp
- Julien-Samuel Lacroix, Mapgears
- Matt Priour, OpenGeo
- Marc Jansen, terrestris
- Christian Mayer, terrestris
- Johannes Weskamm, terrestris
- Andreas Schmitz, Occam Labs
- Markus Schneider, Occam Labs
- Volker Grabsch & Cédric Moullet remote via IRC und pull-requests etc.
Starting with preliminary work by terrestris (see also our internal code sprint Mallorca 2011), collaborative development was possible in the public git repository https://github.com/geoext/geoext2. After five days of intensive collaboration, the following results can be recorded:

- Essential components of GeoExt have been fully migrated (including API documentation and tests):
- Action: online example
- Geocoder: online example
- Grid: online example
- LayerOpacitySlider: online example
- LegendPanel: online example
- MapPanel: online example
- Permalink: online example
- Popup: online example
- PrintExtent: online example
- PrintForm: online example
- PrintPage: online example
- PrintPreview: online example
- Renderer: online example
- StyleGrid: online example
- Tree: online example
- WfsCapabilities: online example
- WmsCapabilities: online example
- ZoomChooser: online example
- ZoomSlider: online example
- In order to take into account the changed framework conditions due to Ext 4, a wide range of information is provided to facilitate migration:
- A detailed blog post by Eric Lemoine on the internal changes and their effects
- A complete MVC example (online application, source code)
- The API documentation of the developed classes now has a look and feel that is adapted to the excellent documentation of Ext JS 4 and the related libraries from Sencha. This was made possible by using the same API documentation engine JSDuck
- The initially intended combination of GeoExt Mobile (GXM, for smartphones and tablets) and GeoExt (for desktop browsers) within a library is currently not feasible. In the future, the need for GXM and GeoExt will have to be maintained, even if the underlying base libraries are approaching each other.
- Code sprints are a very good means of achieving significant results for the concentrated further development of a base software.
GeoExt 2 is therefore in a very good state of development, but by no means finished. The following essential steps have been jointly identified:
- Migration of missing components
- Even better test suite coverage and API documentation
- Migration aids in the form of tutorials and/or blog entries
- Testing the library through real-world applications.
Everyone is welcome to participate. Test the current state of GeoExt 2 and report your experiences via the usual channels (mailing lists for users & developers, github issues, etc.). Code is always welcome: please fork geoext2 on github!
From terrestris’ point of view, the sprint can be assessed as a great success. The measurable results (see above) speak for themselves, but also the communication and cooperation with partners towards a common goal was very fruitful. We would like to thank all sponsors and participants of the sprint at this point and hope to be able to continue to participate in the further development of our primarily used open source components in the future.