[[TOC]] = !GeoExplorer = Work has started to integrate !OpenGeo's !GeoExplorer as an alternate/replacement Map Viewing Client. == Why? == * Good for Users to use consistent tools across applications * Good for Developers to be part of a bigger community * We want to rewrite to have most of the app in static !JavaScript with [http://yuiblog.com/blog/2007/06/12/module-pattern/ module pattern] anyway * ease contributions from !JavaScript developers (who may be put off the Python part) * support caching * There are some [wiki:BluePrintGISGeoExplorer#GeoExplorerhaswhichMVCdoesnt cool features] available which we'd like to make use of == Links == * [http://demo.eden.sahanafoundation.org/eden/gis/geoexplorer Sahana Demo site] * [http://suite.opengeo.org/geoexplorer OpenGeo Demo site] * [http://suite.opengeo.org/docs/geoexplorer/index.html Geoexplorer Documentation] * [http://projects.opengeo.org/geoext/wiki/GeoExplorer OpenGeo Wiki] * [http://svn.opengeo.org/suite/trunk/geoexplorer/ OpenGeo Trunk code] * !OpenGeo are using !GeoExplorer as part of !GeoNode: * http://geonode.org * http://dev.geonode.org/trac * These tools will be merged with !GeoExplorer: * [http://suite.opengeo.org/geoeditor/ GeoEditor] * [http://suite.opengeo.org/styler/ Styler] == How == * [https://github.com/opengeo/GeoExplorer GeoExplorer GitHub] * [https://github.com/opengeo/gxp GXP GitHub] - toolset upon which !GeoExplorer is built * [http://getsatisfaction.com/opengeo OpenGeo Community Forum] * GeoExplorer extends gxp.Viewer * Composer extends GeoExplorer (adds left 3 buttons) Server shouldn't write out JavaScript: * config should be passed between client & server using JSON config objects == Feature Comparison == === !GeoExplorer has which MVC doesn't === * Save personalised, bookmarkable map views (layers / viewport) * Browse for new WMS servers/layers * Google Earth 'layer' * Legend panel for WMS layers * Print support more complete * Warning for unsupported layers * Implementation of 'group' for different layer folders (can use this for Internal/External feeds) * Icons in top toolbar ('north') instead of Map panel title: more screen real-estate for map & potentially space for more icons (although good to keep uncluttered if possible) === MVC has which !GeoExplorer doesn't === NB It should be relatively easy to patch some of these in within Sahana (using a slightly-modified version of the existing Python code) as an interim measure to getting them added to the !GeoExplorer !JavaScript libraries (crossed-out lines here have been implemented like that). * ~~Internal feature layers~~ * KML/GeoRSS/GPX layers * Parse config from /eden/gis/layer_kml.json * Add new Layers via /eden/gis/layer_kml/create.json * unzip KMZs * Caching * WFS Layers * ~~Extra OSM layers (!CycleMap, Hillshading, Taiwan, Custom)~~ * Extra Google layers (!MapMaker) * Yahoo layers * Potlatch2 integration * ~~HTML5 !GeoLocation support~~ * ~~!GeoNames Search~~ * WMS Browser (do we need this with the multi-server browser?) * Overview map * ~~Mouse Pointer: Lat/Lon & MGRS~~ * Configurability * can each button have an enabled option? == Issues with !GeoExplorer == === Outstanding === * Internal Feature Layers need to populate the Legend * Not fully localisable (GXP is OK): * text strings are hidden in private methods not separate public variables * http://www.sencha.com/learn/Tutorial:Localizing_Ext * Published maps: {{{geoexplorer/viewer.html#id}}} * Doesn't appear to read the config at all! * Viewer sends about to geoexplorer/about.html * How to edit Title/Abstract(Description)/Contact when saving a map? * How to save a WMS Server when saving a Map? ({{{"source":"source78"}}}) * Not clear when saving whether this is a New map or an Update * Should have a 'Save As' option * scaleLinePanel ugly: remove the Scale Chooser? * Layer-Switcher in Embedded View not as nice...why different UI (just that we have less space not a reason since we can collapse mini) === Changed === Local to Sahana: * OSM uses {{{TMSSource.js}}} [{{{gxp/loader.js}}}] * Base layers above Overlays [{{{GeoExplorer.js}}}] * NB if try to {{{//expanded: true,}}} then get weird effects with 1 baselayer appearing on load & a different one when the Base Layers folder is opened * {{{Composer.js}}} showEmbedWindow shows wrong link: geoexplorer/viewer.html (can't redirect as web2py doesn't see the '#') === Fixed === Can go upstream: * Ext 3.0.0 -> 3.3.1 (Test they work ok with 3.0.0 too): * {{{header: false}}} (westPanel) [{{{GeoExplorer.js}}}] * !OpenLayers 2.9 -> 2.10 * Can remove the 'Patch the !SphericalMercator layer' from the top of {{{GeoExplorer.js}}} * !GeoExt - >Trunk * Can {{{//,items: []}}} [{{{GeoExplorer.js}}}] since http://trac.geoext.org/ticket/305 is fixed ---- [wiki:BluePrintGeographicInformationSystems GIS BluePrints]