Hi, I have finally committed refactored versions of the GeoNode map viewers and the composer. Note that this only affects GeoNode, not the MyHazard viewer. In this mail, I will explain the changes that I have made and how they affect future work on mapping related javascript components.
GeoExplorer [1] =============== GeoExplorer is the base class for the map composer. It now inherits from gxp.Viewer and uses gxp.GoogleEarthPanel, and the CapabilitiesGrid is no longer required. All this saves us 690 lines of code. And it looks very similar to the OpenGeo Suite's GeoExplorer, which will make it easier to remove more code as gxp advances. As a side effect, with gxp.GoogleEarthPanel, WMS layers display fine again. Viewer [2] ========== Replaces Embed.js [3] and LayerPreview.js [4], saving us 80 lines of code. With the useMapOverlay and useToolbar options, a laver viewer can be configured as a lightweight viewer or just as a preview. To replace the old LayerPreview.js, the layer preview page now uses a gxp.LayerMenu configured on the application level instead of a tree to switch background layers [5]. The preview page now also sets the extent of the previewed layer correctly. ConfigManager [6] ================= Replaces the BackgroundLayerManager [7]. It requires about 70 more lines of code, and its purpose is to convert between the configuration objects that come from Django in GeoNode and the configuration objects that gxp.Viewer requires. The BackgroundLayerManager is still used by the MyHazard viewer, and was moved to the MyHazard namespace. SearchTable [8] =============== Now also features a gxp.Viewer, saving us 50 lines of code. BTW, this component is a good example for a direct integration of a map into a web page, without using an iframe. With portalConfig, gxp.Viewer and subclasses make it easy to do such integration. Configuration (settings.py) [9] =============================== gxp.Viewer's WMSSource plugin does not require a GetCapabilities request url, just the base url of the WMS service. This is why I have removed ?service=WMS&request=GetCapabilities from the urls. Please contact me if there are any questions, and create bug reports assigned to me in case you find regressions. I will write about performance considerations and how we should work together on future ExtJS related JavaScript development in the future in separate mails. -Andreas. [1] http://bit.ly/asFdEZ [2] http://bit.ly/baGJPm [3] http://bit.ly/9B2mZY [4] http://bit.ly/9B2mZY [5] http://bit.ly/cQ0V1M [6| http://bit.ly/buf4WY [7] http://bit.ly/cmujxd [8] http://bit.ly/aov6xp [9] http://bit.ly/dhn0ez -- Andreas Hocevar OpenGeo - http://opengeo.org/ Expert service straight from the developers.
