Changes between Version 12 and Version 13 of MapGuideRfc25
- Timestamp:
- 08/09/07 17:28:54 (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
MapGuideRfc25
v12 v13 33 33 == Proposed Solution == 34 34 35 The solution involves adding an extra "format" parameter onselected API invocations from the Web-tier to the Server. The "format" can be either "text/xml" or "application/json". If no parameter is specified at the Web-tier, the "format" will default to "text/xml". Due to performance considerations, two additional APIs (i.e. !DescribeSchemaAsJson and GetFDOCacheInfoAsJson) have been added to handle the special cases.35 The solution involves adding an extra "format" parameter to the selected API invocations from the Web-tier to the Server. The "format" can be either "text/xml" or "application/json". If no parameter is specified at the Web-tier, the "format" will default to "text/xml". Due to performance considerations, two additional APIs (i.e. !DescribeSchemaAsJson and GetFDOCacheInfoAsJson) have been added to handle the special cases. 36 36 37 37 ---- … … 93 93 where the appended labeling indicates the different implementation schemes: 94 94 95 (1) Web-tier changes -- every !ToXml implementation is matched with a !ToJson implementation that composes a JSON document in place.95 (1) Web-tier changes -- !ToJson functions are introduced to compose the JSON document in place; that is, most of the !ToXml implementation is matched with a !ToJson implementation. 96 96 97 97 (2) Web-tier changes -- utilizes the !MgXmlJsonConvert class to convert XML documents to JSON documents. 98 98 99 (3) Server changes -- an extra parameter "CREFSTRING format" has been added to the respective API call ; the !MgXmlJsonConvert class is used if format is equaled to the JSON MIME type.99 (3) Server changes -- an extra parameter "CREFSTRING format" has been added to the respective API calls; the !MgXmlJsonConvert class is used if format is equaled to the JSON MIME type (i.e. "application/json"). 100 100 101 (4) Server changes -- an extra API has been added matching the respective API call (e.g. !DescribeSchemaAsXml has !DescribeSchemaAsJson as the JSON version, and GetFDOCacheInfo has GetFDOCacheInfoAsJson as its JSON specific implementation); this is because the original APIs return "STRING" and could not be efficiently adapted by the conversion process within the !MgXmlJsonConvert class implementation; and for the affected APIs, the !MgByteReader* is returned instead.101 (4) Server changes -- extra APIs have been added to handle JSON requests (e.g. !DescribeSchemaAsXml has !DescribeSchemaAsJson as the JSON version, and GetFDOCacheInfo has GetFDOCacheInfoAsJson as its JSON implementation). This is because the original APIs return "STRING" and could not be efficiently adapted by the conversion process within the !MgXmlJsonConvert class implementation. For the affected APIs, the !MgByteReader* is returned instead. 102 102 103 103 == Implications == … … 109 109 The following tests should be performed: 110 110 111 * Resource Service unit tests must all pass.112 * Feature Service unit tests must all pass.113 * A PI test pages should be checked against the affected APIs.111 * Resource Service unit tests 112 * Feature Service unit tests 113 * Affected APIs on the HTML test pages. 114 114 115 115 == Funding/Resources ==