= !MapGuide RFC 107 - Enhance Tile service to add a new API !GenerateTile = This page contains a 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||July 23, 2010|| ||Last Modified||Ted Yang July 23, 2010|| ||Author||Ted Yang|| ||RFC Status||draft|| ||Implementation Status||incomplete|| ||Proposed Milestone||2.3|| ||Assigned PSC guide(s)|| || ||'''Voting History'''|||| ||+1|||| ||+0|||| ||-0|||| ||-1|||| ||Abstained|||| == Overview == This RFC proposes to add a NEW !GenerateTile() API to the tile service. This new API will generate the tile on the server but not get the image from server. == Motivation == MapGuide users want to allow easy pre-seeding of base map tiles, for example, to generate all the tiles of a map at one time, now they can call the API GetTile: Existing API: {{{ MgByteReader* GetTile(MgResourceIdentifier* mapDefinition,CREFSTRING baseMapLayerGroupName,INT32 tileColumn,INT32 tileRow,INT32 scaleIndex); }}} There's one problem with this existing API, suppose the user run a tool(like Maestro MgCooker) on the client PC to generate all the tiles of a map, the client will get the tile image from the server. Actually the user just want to generate the tiles on the server to make the rendering/navigation of a map more smooth. But the transfer of the tile image will increase the cost to finish this job(usually thousands of tiles will be generate). So this RFC want to add a NEW API !GenerateTile() which generate the tile on the server and return a bool value. == Proposed Solution == Create a NEW !GenerateTile() API which return a bool value to indicate the tile generation is successful or not. Proposed NEW API: {{{ bool GenerateTile(MgResourceIdentifier* mapDefinition,CREFSTRING baseMapLayerGroupName,INT32 tileColumn,INT32 tileRow,INT32 scaleIndex); }}} == Implications == This change will NOT break existing API compatibility. == Test Plan == * !Build/Run on !Windows/Linux * New Unit test for !GenerateTile will be added == !Funding/Resources == Supplied by Autodesk.