wiki:MapGuideRfc111

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.

Status

RFC Template Version(1.0)
Submission Date(1/April/2011)
Last Modified(Zac Spitzer) (11/January/2012)
Author(Zac Spitzer)
RFC Status(adopted)
Implementation StatusCompleted
Proposed Milestone(2.4)
Assigned PSC guide(s)(Zac/Jackie?)
+1Bruce, Trevor, Robert, Haris, Zac, Jackie
+0 Tom
-0
-1

Overview

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

Motivation

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.

Proposed Solution

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:

  1. Build fusion via ant
  2. ant deploy into a svn-tracked fusion_build directory under Oem
  3. svn commit any changes under the fusion_build directory
  4. Copy fusion_build to the staging area as part of installer preparations with svn metadata intact

Implications

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.

  1. 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.
  1. 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.

Test Plan

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

Last modified 6 years ago Last modified on Jan 11, 2012 3:04:37 AM