Changes between Version 2 and Version 3 of MapGuideRfc127


Ignore:
Timestamp:
Sep 17, 2012 7:17:30 AM (6 years ago)
Author:
baertelchen
Comment:

Added some more details: how the default directory path for 'user geospatial coordinate systems' will be retrieved on Windows (CLSID_LOCAL_APPDATA instead of <current User>); new supported key in serverconfig.ini (MentorUserDictionaryPath?)

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc127

    v2 v3  
    2525== Motivation ==
    2626
    27 The rationale behind changing the !MgCoordinateSystem API is the same as for CS-Map's RFC6. Adding user-defined coordinate systems to CS-Map - which is possible through the !MgCoordinateSystem API already today - would no longer rewrite entire *.CSD files. The installed CSD files could thus remain read-only. Also, having any custom geospatial coordinate system information separated from the default system files allows for much easier sharing, distribution and "installing" of these.
     27The rationale behind changing the !MgCoordinateSystem API is the same as for CS-Map's RFC6. Adding user-defined coordinate systems to CS-Map - which is possible through the !MgCoordinateSystem API already today - would no longer delete and then rewrite entire *.CSD files. The installed CSD files could thus remain read-only. Also, having any custom geospatial coordinate system information separated from the default system files allows for much easier sharing, distribution and "installing" of these.
    2828
    2929See [http://trac.osgeo.org/csmap/wiki/CsMapRfc6]'s 'Motivation' section for additional details.
     
    3333This RFC proposes to implement the following changes to the !MgCoordinateSystem API in principle and initialization routines in general:
    3434
    35  * Modify the initialization sequence of the !MgCoordinateSystemCatalog class so it by default initializes the system dictionary path and also the user's coordinate system path. The latter defaults to [<current user>\Autodesk\User Geospatial Coordinate Systems] which is analog to the default dictionary path already implemented in the CCoordinateSystemCatalog class. This can be dynamically overridden by the MENTOR_USER_DICTIONARY_PATH variable. In either case, if the targeted directory doesn't exist or is invalid in any way, the entire !MgCoordinateSystem API would behave as it does today. That is, any dictionary updates initiated through MapGuide's Coordinate System API will directly modify the root CSD files.
    36  * Adapt the changes made due the implementation of RFC122 (http://trac.osgeo.org/mapguide/wiki/MapGuideRfc122) so that the user's dictionary path can be configured through the serverconfig.ini/webconfig.ini file
     35 * Modify the initialization sequence of the !MgCoordinateSystemCatalog class so it by default initializes the system dictionary path and also the user's coordinate system path. The latter defaults to [CLSID_LOCAL_APPDATA\Autodesk\User Geospatial Coordinate Systems] which is analog to the default dictionary path already implemented in the CCoordinateSystemCatalog class. This can be dynamically overridden by the MENTOR_USER_DICTIONARY_PATH variable. In either case, if the targeted directory doesn't exist or is invalid in any way, the entire !MgCoordinateSystem API would behave as it does today. That is, any dictionary updates initiated through MapGuide's Coordinate System API will directly modify the root CSD files.
     36 * Adapt the changes made due the implementation of RFC122 (http://trac.osgeo.org/mapguide/wiki/MapGuideRfc122) so that the user's dictionary path can be configured through the serverconfig.ini file. The new, optional, parameter will be !MentorUserDictionaryPath which can be configured in co-existence with the !MentorDictionaryPath key.
    3737
    3838New API to be added:
     
    4949== Implications ==
    5050
    51 None. The additional directory where user-defined geospatial coordinate system information is to be stored is not created by default in any form. Instead, this feature has to be explicitly turned on by providing a valid target directory where custom geospatial coordinate system information can be stored. If that does not happen to be [<current user>\Autodesk\User Geospatial Coordinate Systems], MapGuide has to be configured in one of the following ways:
     51None. The additional directory where user-defined geospatial coordinate system information is to be stored is not created by default in any form. Instead, this feature has to be explicitly turned on by providing a valid target directory where custom geospatial coordinate system information can be stored. If that does not happen to be [CLSID_LOCAL_APPDATA\Autodesk\User Geospatial Coordinate Systems], MapGuide has to be configured in one of the following ways:
    5252
    5353 * setting the MENTOR_USER_DICTIONARY_PATH variable - OR -
    54  * setting up the correct configuration in the appropriate ini file - OR -
     54 * setting up the correct configuration in the serverconfig.ini file - OR -
    5555 * call the new !SetUserDictionaryDir() API in an appropriate way
    5656
    5757where none of the aforementioned is proposed to be implemented by this RFC. In particular, updating the installer is not covered by the changes proposed by this RFC.
    5858
     59
    5960== Test Plan ==
    6061
    61 The proposed changes will be tested at unit level, i.e. by enhancing existing (!CPPUnit)tests or new tests where appropriate. Existing unit tests, specifically those related to the coordinate system, should naturally not be negatively affected by the changes implemented by this RFC.
     62The proposed changes will be tested at unit level, i.e. by enhancing existing (CPPUnit)tests or new tests where appropriate. Existing unit tests, specifically those related to the coordinate system, should naturally not be negatively affected by the changes implemented by this RFC.
    6263
    6364In addition, the tests that have been run for RFC122 will have to be re-executed. See the Test Plan section for RFC 122.