= !MapGuide RFC 38 - GETDYNAMICMAPOVERLAYIMAGE Enhancements for Selection = This page contains an change request (RFC) for the !MapGuide Open Source project. More !MapGuide RFCs can be found on the [wiki:MapGuideRfcs RFCs] page. == Status == ||RFC Template Version||(1.0)|| ||Submission Date||Oct 2 15:40:00 2007 || ||Last Modified||Trevor Wekel [[Timestamp]]|| ||Author||Trevor Wekel|| ||RFC Status||draft|| ||Implementation Status||pending|| ||Proposed Milestone||2.0|| ||Assigned PSC guide(s)|||| ||'''Voting History'''||Oct 9, 2007|| ||+1|| || ||+0|| || ||-0|| || ||-1|| || == Overview == Enhance the GETDYNAMICMAPOVERLAYIMAGE HTTP API to allow the selection and overlay images to be rendered as separate images. == Motivation == Currently, !MapGuide renders the selection and the overlay image as a single image. This requires all untiled layers to be redrawn whenever the selection is changed. This is an inefficient use of server-side rendering resources and it reduces multi-user performance for untiled maps. == Proposed Solution == Add an additional parameter BEHAVIOR to the existing GETDYNAMICMAPOVERLAYIMAGE. Increase the VERSION to 2.0.0 and deprecate the existing KEEPSELECTION parameter for the new version of the API. BEHAVIOR is a bitmask with the following values: {{{ RenderSelection = 1 RenderLayers = 2 KeepSelection = 4 }} Add an additional signature for !MgRenderingService.!RenderDynamicMapOverlay that includes the behavior parameter: {{{ MgByteReader* RenderDynamicOverlay(MgMap* map, MgSelection* selection, CREFSTRING format, INT32 behavior); }}} Update the existing !WebLayout based ajax viewer to use the new API. This will have no performance benefit since the viewer will call the new API specifying both !RenderSelection and !RenderLayers. == Implications == Since this is a new version of the HTTP request and a new signature for RenderDynamicMapOverlay, compatibility with existing clients/scripts is maintained. The behavior parameter encapsulates the current "keepSelection" functionality so the existing RenderDynamicOverlay methods could be deprecated in a future release. == Test Plan == Ensure that existing clients continue to function as expected. Verify that the new HTTP API renders only the selection or layers, or both depending on the behavior setting. == Funding/Resources == Autodesk. Selection improvements for the new "Fusion" based viewer are TBD.