This is all such excellent stuff. It's really exciting to know that we're synced up with the tightest, most robust libraries now. Thanks for all this hard work, Andreas. It's going to make the client-side experience much better for both users and developers.
Can't wait to get the live site update with the new front-end improvements. On Thu, Jun 24, 2010 at 3:48 PM, Andreas Hocevar <[email protected]>wrote: > 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. > > -- Sebastian Benthall OpenGeo - http://opengeo.org
