During the week May 07 to 11, 2012 a code sprint titled “GeoExt 2″ took place on the premises of terrestris GmbH & Co. KG in which 3 developers from terrestris and numerous international developers participated.
The aim of the sprint was to modify the library GeoExt, which is based on Ext JS, in such a way that it will be compatible with the newest version of Ext JS. Starting position was the functionality of GeoExt 1.1 (based on Ext JS 3.4) and the target was to make available as much of this functionality as possible with the new version of GeoExt 2 (then based on Ext JS 4.x). To get straight to the point, the success of the sprint is remarkable and a fully fledged version 2.0 of GeoExt should be available soon.
Thanks to numerous sponsors who provided funding for travel expenses, accomodation and catering 12 developers were able to dedicate themselves to the task in Bonn. The sponsors of the sprint were:
- David Bitner, MAC
- The U.S. Army Corps of Engineers
- Jacob Westfall
- 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 actually get some work done. 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 and pull-requests etc.
Using preliminary work by terrestris (see also our internal code sprint Mallorca 2011) it was possible to use the public git-repository https://github.com/geoext/geoext2 for the joint work. After five days of intensive collaboration we can announce the following results:
- Essential components of GeoExt have been migrated completely (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
- To take the modified general requirements due to Ext JS 4 into consideration a lot of information is being provided to make migration easier:
- A detailed blogpost from Eric Lemoine regarding the internal changes and their implications
- A complete MVC-example (online application, source code)
- The API-documentation of the developed classes has been adapted to the Look ‘n’ Feel of the outstanding documentation of Ext JS 4 and related libraries from Sencha. This was enabled through the use of the same API-documentation-engine JSDuck
- The initial intention of merging GeoExt Mobile (GXM, for Smartphones and Tablets) and GeoExt (for desktop-browsers) into one library is currently not feasible. In the future there will also be the need to adhere to the two libraries GXM and GeoExt even though the base libraries will converge.
- Code sprints are a good method to further develop base software and to reach good results in a short time.
GeoExt 2 has reached a good stage of development but by no means can be considered finished. The following work packages were jointly identified:
- Migration of missing components
- An even better testsuite exposure and API-documentation
- Help with migration in the form of tutorials and/or blogs
- Tests of the library through real-world applications
Everybody is cordially invited to participate. Test the current state of GeoExt 2 and report on it through the normal channels (mailing lists for users & developers, github issues, etc.). Code is also always welcome: please fork geoext2 on github!
terrestris considers the sprint to be a huge success. The measurable results (see above) speak for themselves but also the communication and collaboratioin amongst the partners was very fruitful. We would like to thank at this point all sponsors and participants and hope to be part of further development in the future of the open source software components we mostly use.