= !MapGuide RFC 19 - Client/Web/Server Compatibility = 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||March 7, 2007|| ||Last Modified||Bruce Dechant [[Timestamp]]|| ||Author||Bruce Dechant|| ||RFC Status||draft|| ||Implementation Status||pending|| ||Proposed Milestone||1.2|| ||Assigned PSC guide(s)||(when determined)|| ||'''Voting History'''||March 7, 2007|| ||+1|| || ||+0|| || ||-0|| || ||-1|| || == Overview == There is currently no mechanism in place to allow older clients to communicate with a newer MapGuide web tier or server and vice versa. == Motivation == There needs to be someway for a client to be able to identify the version it is so that the web tier and server can properly communicate with it. This proposal hopes to add some form of forwards/backwards compatibility to MapGuide in order to solve this. == Proposed Solution == Client Changes: Clients like MapGuide Studio will need to add the following HTTP parameter: CVER=MajorVersion.MinorVersion Example: CVER=1.2 The web tier and server will be able to use this information in order to do the operation that uses that version. This will allow schema changes to take place and for multiple versions of the schema to be supported because the client tells us what version it is and therefore what schema version it supports. This solution only helps with newer releases of MapGuide as existing releases will not contain this forwards/backwards compatibility logic. However, the web tier/server will assume that if a CVER is not included in the HTTP operation that it is an older client and to use the oldest supported version of the operation. == Implications == The web tier and server will now be able to recognize clients and will be able to give the proper response, as long as, they support the version of the client. == Test Plan == Simulate old client and new client operations to the web tier/server. == Funding/Resources == Autodesk to provide resources / funding.