= Use OpenLayers for web mapping interface (replace Intermap with OL) = || '''Date''' || 2008/06/20 || || '''Contact(s)''' || etj, francois || || '''Last edited''' || [[Timestamp]] || || '''Status''' || draft || || '''Assigned to release''' || to be determined || || '''Resources''' || ? || == Overview == Replace IM with a more responsive map client. Current known initiatives : * In the context of a project in Switzerland, Camptocamp team is working on setting MapFish as a client for catalogue. See proposal http://trac.mapfish.org/trac/mapfish/wiki/Proposals/Catalogue * NGR (http://www.nationaalgeoregister.nl/geonetwork/srv/nl/main.home) * Mali (Jean) - start from geocat.ch * MEDWIP (http://www.emwis.net/geonetwork/) === Some screenshots === [[Image(GeoNetworkOpenLayerMapFish.png, 450)]] [[Image(gdtmali-home.png, 450)]] [[Image(gdtmali-search.png, 450)]] [[Image(gdtmali-compare-maps.png, 450)]] [[Image(geocat-home.png, 450)]] === Proposal Type === * '''Type''': GUI Change, Module Change * '''App''': !Intermap * '''Module''': === Links === * '''Documents''': [http://openlayers.org/ OpenLayers], [http://trac.mapfish.org/trac/mapfish MapFish], [http://ext.js/ Ext.js] * '''Email discussions''': * '''Other wiki discussions''': === Voting History === * No votation requested yet. ---- == Motivations == The current implementation of the map client needs an image transfer from the Intermap server every time something in the map changes.[[BR]] !OpenLayers has a quite different architecture, where many efforts has been spent in order to minimize heavy data transfers from map servers to the client. Also many map operations are ready out of the box. Removing the IM webapp in order to simplify the installation is also a nice target. The main objectives are : * add support for some Intermap missing functionnalities: * allow simple vector feature support (bbox highlight, define bbox or bounding polygon in the editor) * allow non WGS84 projection support * improve : * map viewing (tiling, layer tree) * pdf printing GUI will be mainly written using javascript. It will be easier to update the layout as it will use div and css (instead of existing deeply nested table layout). A jeeves service named "home" is using XSL to read localized string for the UI. Then all the layout will be HTML and JS. == Proposal == || Function || Available in 2.2 || Available || Comments || || Zoom in/out || X || X || default OL navigation or in map toolbar || || Zoom slider || || X || default OL navigation || || Panning || X || X || default OL navigation or in map toolbar || || Zoom to full extent || X || X || double click the metadata record to go to the metadata extent || || Layer tree || X || X || GeoExt layer tree (add, remove, view, reorder, transparency) || || Pdf printing || X || X || MapFish print module, TODO send by email || || WMC || X || X || OL WMC support, TODO email context || || Metadata Bbox higlighter || || X || || || Metadata view || || X || Popup (modal?) in default view mode ? Button to access to advanced view ? || || Function || Available || Comments || || Markers & annotation || || Not planned yet || === To be discussed === * Feature to support ? * Which version of the lib? Use svn:external ? * From where to start ? * geocat.ch : * needs to be migrated from !MapFish to !GeoExt (!MapPanel mainly - started on other project in Camptocamp). * Build CSW query from search forms https://geonetwork.svn.sourceforge.net/svnroot/geonetwork/sandbox/geocat.ch/trunk/web/geonetwork/scripts/mapfishIntegration/searchTools.js * Tocheck : !GetDomain support Required librairies : * !OpenLayers (2.8?) * !GeoExt (0.5?) * !MapFish (?) The GeoEditorViewer proposal add the !OpenLayers 2.8 and !GeoExt 0.5 libs. Related works : * CSW protocol support in !OpenLayers http://trac.openlayers.org/ticket/2133 * CSW components in !GeoExt (!GetRecords & !GetDomain operation support) http://trac.geoext.org/ticket/87 === Backwards Compatibility Issues === * JS file size for ext.js http://extjs.com/blog/2008/11/18/ext-cdn-custom-builds-compression-and-fast-performance/ * js-build is used to compress required JS libs. See GeoEditorViewer == Risks == == Participants == * Francois (geocat.ch) * Patrick (geocat.ch)