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.

Reply via email to