MapGuide RFC 111 - Deploy Viewer Code with Subversion Attributes
This page contains a change request (RFC) for the MapGuide Open Source project. More MapGuide RFCs can be found on the RFCs page.
|RFC Template Version||(1.0)|
|Last Modified||(Zac Spitzer) (11/January/2012)|
|Assigned PSC guide(s)||(Zac/Jackie)|
|+1||Bruce, Trevor, Robert, Haris, Zac, Jackie|
Change the deployment options for MapGuide so that the viewers, AJAX and Fusion are deployed with subversion attributes, to allow updates without requiring a full build
Creating new builds for all platforms is a lot of work. This approach avoids the requirement to generate builds only to deploy a few text file changes which are stored as-is in subversion.
It's low impact for production environments to svn update a few directories, compared to un-installing and re-installing the entire application.
Hacking the viewer code becomes much easier for users. Being able to diff and revert any changes, encourages users to experiment and then hopefully generate and submit patches for bug fixes and enhancements.
Update installer build to include subversion attributes
Check in a compiled version of fusion into the mapguide svn repo. A separate build_fusion.bat will do the following:
- Build fusion via ant
- ant deploy into a svn-tracked fusion_build directory under Oem
- svn commit any changes under the fusion_build directory
- Copy fusion_build to the staging area as part of installer preparations with svn metadata intact
The build process for MapGuide will need to be modified to allow a built version for fusion to be checked into subversion (branches & trunk)
Bug fixes and updates for the viewers can be deployed quickly, reducing the need for full builds to be created only to update a few text files
This RFC imposes some constraints on the build infrastructure that will produce the MapGuide installer.
- Due to working copy metadata changes introduced with Subversion 1.7, the build machine that will produce the MGOS installer needs to use Subversion 1.6 or older. This way, WC compatibility is retained with SVN 1.6 or older clients. For SVN 1.7 or newer clients, they can detect that these .svn directories are older versions and will direct the user to upgrade said working copies to the 1.7 format.
- The installer build must be performed against a SVN working copy (<= 1.6) and not an *export* of an SVN repo/working copy. Exported copies lose all svn metadata that this RFC aims to preserve.
Verify the affected viewer files are under svn control when installed via the installer. An easy way to check is having TortoiseSVN installed. Files/Directories under svn control will have icon overlays in Windows Explorer.
Funding / Resources
Ennoble Consultancy Australia