Hi Devs,<br><br>&nbsp; First of all congratulations for the amazing progress on OpenLayers mapping toolkit. I am Sanjiv Singh, from New Delhi, India. I am a prospective student for the GSoC this summer with the TurboGears Team. TurboGears is a python rapid web application framework which supports the use of widgets. Widgets provide an easy way for developers to provide specific functionality on Turbogears webapps by encapsulating javascript, css and the necessary view logic. Work is now on to migrate widgets to ToscaWidgets which make this feature framework independent. e.g. ToscaWidgets are now supported by both TurboGears and Pylon frameworks.<br>
&nbsp; As part of the GSoC project I have proposed to build ToscaWidgets for enabling the use of OpenLayers javascript library for making it easy for python web developers to provide mapping features on their web apps. I have gone through the OpenLayers intro docs and the example user recipies. I have to now decide what widgets to create and what functionality they would provide? <br>
&nbsp; After my initial research on openLayers, I feel that there are three most basic elements that all openlayers map would have. These are a map object, one or more layers and one or more controls.<br>&nbsp; I need some guidance on how I should partition the functionality into different widgets so that all functionalities, from simple to more complex ones, are covered without making the widget api too complicated. Too explain the problem a bit more, I could have that one widget encapsulating the entire feature set of openlayers. But in that case all information has to be passed to the widget as parameter, which would make its interface too complex.<br>
&nbsp; My initial thoughts are:<br>&nbsp;&nbsp;&nbsp;&nbsp; One base widget - OLMap, which takes the list of layers as parameters<br>&nbsp;&nbsp;&nbsp;&nbsp; Having subclasses - <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OLMapWithControls, which additionally takes the list of controls<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OLMapMapWithPopup, which additionally takes a list of popups and their behavioral options<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OLMapEditable - Still not sure whether it is required as a separate class<br><br>&nbsp; Any thoughts, suggestions, ideas would be highly appreciated.<br><br>Regards<br>Sanjiv<br>