Ergebnisse des internationalen Code Sprints „GeoExt 2“ in Bonn (07. – 11. Mai 2012)

In der Woche vom 07. bis 11. Mai fand in den Geschäftsräumen der terrestris GmbH & Co. KG ein Code Sprint zum Thema „GeoExt 2“ statt, an dem neben drei Entwicklern von terrestris weitere internationale Entwickler teilnahmen. Ziel des Sprints war es, die Bibliothek GeoExt, welche auf Ext JS aufbaut, derart umzugestalten, dass sie mit der neuesten Version der Muttersoftware Ext JS kompatibel wird. Ausgangslage waren die Funktionalitäten von GeoExt 1.1 (basierend auf Ext JS 3.4) und Ziel war es, möglichst viele der Funktionalitäten auch mit der neu zu schaffenden Version GeoExt 2 (dann basierend auf Ext JS 4.x) bereitstellen zu können. Um es vorweg zu nehmen, der Erfolg des Sprints ist beachtlich und mit einer Version 2.0 von GeoExt ist in absehbarer Zukunft zu rechnen. Dank zahlreicher Sponsoren, die etwa die Kosten für die Anreise, Verpflegung und Unterkünfte der Sprinter übernahmen, konnten sich insgesamt 12 Entwickler in Bonn diesem Ziel widmen. Die Sponsoren des Sprints waren: Die Firmen camptocamp, Mapgears, Occam Labs, OpenGeo und terrestris entsandten Entwickler, um dem hehren Wunsch nach Migration Taten folgen zu lassen. Die folgenden 12 Personen waren aktiv mit Code-Entwicklung, Testing und Dokumentation beschäftigt:
  • 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.
Beginnend mit Vorarbeiten seitens terrestris (vgl. a. unseren internen Codesprint Mallorca 2011) konnte in dem öffentlichen git-repository https://github.com/geoext/geoext2 gemeinsam entwickelt werden. Nach fünf Tagen intensiver Zusammenarbeit können die folgenden Ergebnisse festgehalten werden:
GeoExt 2 MVC Beispiel

Das GeoExt 2 MVC Beispiel

  • Um den veränderten Rahmenbedingungen durch Ext 4 Rechnung zu tragen, werden vielfätige Informationen bereitgestellt, die die Migration erleichtern sollen:
  • Die API-Dokumentation der entwickelten Klassen ist nun vom Look ’n‘ Feel an die hervorragende Dokumentation von Ext JS 4 und den verwandten Bibliotheken aus dem Hause Sencha angepasst. Dies wurde ermöglicht durch die Verwendung der gleichen API-Dokumentations-Engine JSDuck
  • Die initial angestrebte Verquickung von GeoExt Mobile (GXM, für Smartphones und Tablets) und GeoExt (für Desktop-Browser) innerhalb einer Bibliothek ist derzeit nicht realisierbar. Auch zukünftig wird am Bedarf für GXM und GeoExt festzuhalten sein, auch wenn sich die zugrunde liegenden Basisbibliotheken aneinander annähern.
  • Für die konzentrierte Weiterentwicklung einer Basissoftware sind Code Sprints ein sehr gutes Mittel, um wesentliche Ergebnisse zu erzielen.
GeoExt 2 ist also in einem sehr guten Entwicklungsstand, jedoch bei weitem noch nicht fertiggestellt. Die folgenden wesentlichen Schritte wurden gemeinsam identifiziert:
  • Migration fehlender Komponenten
  • Noch bessere Testsuite-Abdeckung und API-Dokumentation
  • Migrationshilfen in Form von Tutorials und/oder Blogeinträgen
  • Testen der Bibliothek durch Realweltanwendungen.
Hierbei ist jeder herzlich eingeladen zu partizipieren. Testen Sie den aktuellen Stand von GeoExt 2 und berichten Sie über Ihre Erfarhungen über die üblichen Kanäle (Mailinglisten für User & Entwickler, github issues, etc.). Auch Code ist immer gerne gesehen: please fork geoext2 on github! Von Seiten terrestris ist der Sprint in Gänze als großer Erfolg zu bewerten. Die messbaren Ergebnisse (s.o.) sprechen für sich, aber auch die Kommunikation und Zusammenarbeit mit Partnern an einem gemeinsamen Ziel war sehr fruchtbar. Wir danken an dieser Stelle allen Sponsoren und Teilnehmern des Sprintes und hoffen, in Zukunft auch weiter an der Weiterentwicklung unserer vornehmlich verwendeten OpenSource Komponenten teilhaben zu dürfen und können.