= !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. == 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. TBD: Selection improvements for the new "Fusion" based viewer.