Changes between Initial Version and Version 1 of MapGuideRfc73


Ignore:
Timestamp:
Jul 7, 2009, 2:43:10 AM (15 years ago)
Author:
CXYS
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc73

    v1 v1  
     1= !MapGuide RFC 73 - Batch processing of layers =
     2
     3This page contains an change request (RFC) for the !MapGuide Open Source project.
     4More !MapGuide RFCs can be found on the [wiki:MapGuideRfcs RFCs] page.
     5
     6
     7== Status ==
     8
     9||RFC Template Version||(1.0)||
     10||Submission Date||(July 7, 2009)||
     11||Last Modified||(Christine Bao Tue July 7 02:22:17 2009)||
     12||Author||Christine Bao||
     13||RFC Status||ready for review||
     14||Implementation Status||(under development)||
     15||Proposed Milestone||2.2||
     16||Assigned PSC guide(s)||Tom Fukushima||
     17||'''Voting History'''||||
     18||+1||||
     19||+0||||
     20||-0||||
     21||-1||||
     22||no vote|| ||
     23
     24== Overview ==
     25
     26This RFC improves performance by getting batch layers in one request, instead of each layer in one request.
     27
     28== Motivation ==
     29
     30Currently MgMap is created on Web Extension side, and for each layer of this map it sends a request to get the resource content. This causes a lot of requests send to server again and again. To improve performance MgMap should get the layers in a single request, and use the batch processing result to create layer models. The more layers a map has, the better performance improvement is achieved.
     31
     32== Proposed Solution ==
     33
     34The possible solutions could be:[[BR]]
     351.      Add a new API of ResourceService to get a batch of resource contents for a collection of resource identifiers[[BR]]
     36
     37{{{
     38INTERNAL_API:
     39    ///////////////////////////////////////////////////////////////////////////
     40    /// \brief
     41    /// Gets the contents of the specified resources.
     42    ///
     43    /// \param resources
     44    /// Resource identifiers describing the resources.
     45    /// \param preProcessTags
     46    /// Pre-processing to apply to resource before returning content.  An empty
     47    /// string indicate no pre-processing. See MgResourcePreProcessingType for
     48    /// a list of supported pre-processing tags.
     49    ///
     50    /// \return
     51    /// MgStringCollection object representing the corresponding resource contents.
     52    ///
     53    /// \exception MgInvalidRepositoryTypeException
     54    /// \exception MgInvalidRepositoryNameException
     55    /// \exception MgInvalidResourcePathException
     56    /// \exception MgInvalidResourceNameException
     57    /// \exception MgInvalidResourceTypeException
     58    ///
     59    virtual MgStringCollection* GetResourceContent(MgStringCollection* resources,
     60        MgStringCollection* preProcessTags) = 0;
     61}}}
     62[[BR]]
     63
     642.      MgMap doesn't request the resource content of layers one by one, instead it forms a collection of layer resource ids, and use the new API to get a collection of layer definitions.
     65
     66== Implications ==
     67
     68
     69== Test Plan ==
     70
     71Test both Ajax viewer and Fusion viewer.
     72
     73== Funding/Resources ==
     74
     75Supplied by Autodesk.