Final status report for the project: "ToscaWidgets Library for jQuery & OpenLayers" GSoC 2008 Mentoring Org: TurboGears Student: Sanjiv Singh Mentor: Christopher Perkins
Dear Community, The coding for GSoC officially ends today at 19:00 UTC. Before I move on to the report, I wish to convey my sincere thanks and gratitude to my mentor Christopher Perkins[1] who showed faith in me and constantly guided and encouraged me to move ahead. I would like to specially thank TG2[2] project lead Mark Ramm and ToscaWidgets[3] creator Alberto Valverde who have helped me a lot during the project. I would also like to thank our GSoC Admin Christopher Arndt, Michele Bertoldi, Laureano Arcanio, Bruno Melo and rest of the TurboGears Community for their help and support. I also thank Eric Lemonie of Camp to Camp for helping me move ahead with MapFish and to the entire MapFish and OpenLayers Community for their support. I thank Christopher Schmidt of Metacarta Labs for OpenLayers and TileCache. Although the initial project accepted for GSoC involved creating ToscaWidgets for OpenLayers and jQuery, after creating several widgets with jQuery and ExtJS, it was felt that some work on bringing in server side geo components to TG2 along with OpenLayers would enable the use of TG for GIS Applications and the TurboGears Extension tg.ext.geo[6] project was born. At the end of coding for GSoC 2008 the status of all these works are as follows:- 1) Widgets for jQuery and ExtJS Several widgets were created for jQuery and ExtJS. These include jQuery AjaxForm, jQuery Treeview, FlexiGrid, ExtJS SingleSelectCombo, ItemSelector (aka SelectShuttle). The documentaion and examples for these widgets with TG2 were in the old wiki documentation. They would be moved into the official TG2 ToscaWidgets Cookbook docs soon. 2) Widgets for JSUnit[4] While coding for these widgets, a need for javascript unit testing tool was felt and a widget for JSUnit[7] Javascript Unit Testing framework was developed. A runner widget for in-browser running of the tests was also created. The documentation for TG2 usage would be moved from old wiki to official docs soon. 3) OpenLayers[5] A ToscaWidgets library has been created for OpenLayers Javascript Mapping toolkit. At present it has support for maps with layers of GoogleMaps, YahooMaps, VirtualEarth, WMS, OpenStreetMap layers using Mapnik and OSMRender, and Vector Layers (GML). The standard map control components like layer switcher, panzoom, etc. have been added. Controls for vector editing are also supported. A demo application with WMS and GML layers and vector editing of features can been seen at http://sanjiv.homelinux.net:8081/ . Feel free to edit the vectors and deform the geography as I have a backup of the db ;) 4) TG2 Geo Extension with MapFish[6] The tg.ext.geo extension implements the server side component for vector query and editing. It is mainly based on MapFish server. However the templates are modified to suit the TG Object Distach BaseController. This may change in future and be fully based on MapFish server which uses a RESTFul controller. The extension makes use of existing PythonGIS tools like Shapely and GeoJSON. Thanks to Eric Lemonie, Sean Gillies, Matt Russell and the GISPython community for bringing the GIS tools to python developers. A demo application with openlayers based feature selection and a DojoGrid for displaying the attribute data can be seen at http://sanjiv.homelinux.net/ . Thanks to Michele Bertoldi for helping me with his Dojo Grid. 5) TG2 Geo Extension for TileCache[7] tg.ext.geo has a paster command for reading a tilecache config file and generating controller code with TileCache mounted as a WSGI app in TG2. This makes it possible to use TileCache within TG for caching of WMS tiles using the WMS-C standard proposed by MetaCarta Labs. Once again thanks to Christopher Schmidt for creating TileCache. A demo app with backend tile generation using TileCache running in a TG2 app can be seen at http://sanjiv.homelinux.net:8082/ . Over the next couple of weeks I would write tests and documentation for all these components and would continue to develop and maintain them in future as these works are far from complete. I would be extremely happy to receive your views, suggestions, feedbacks, etc. I would be most delighted to see people join in and move these tools forward. Thanks once again to the open source community and Google for this great learning experience. Regards Sanjiv [1] http://www.percious.com [2] http://turbogears.org [3] http://toscawidgets.org [4] http://jsunit.net [5] http://openlayers.org [6] http://mapfish.org [7] http://tilecache.org _______________________________________________ Dev mailing list [email protected] http://openlayers.org/mailman/listinfo/dev
