MapGuide RFC 48 - Add MapStudio Open Source (Maestro) as an official MapGuide tool

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)
Submission Date April 20, 2008
Last Modified Jason Birch - 2008-05-01 20:00 PST
AuthorJason Birch
AuthorKenneth Skovhede
RFC Statusimplemented
Implementation Statusimplemented
Proposed Milestone2.1
Assigned PSC guide(s)Jason Birch
Voting HistoryVoting completed May 4, 2008
+1Jason, Bob, Paul, Tom, Bruce, Andy, Haris


This is a proposal to make the MapStudio Open Source project an "official" part of the MapGuide project, using the MapGuide Open Source SVN repository, issues tracker, and download site.


While MapGuide does have the Web Studio application as an open source authoring tool, it is currently not being maintained and its functionality is not suitable to develop a production MapGuide site on its own. MapStudio Open Source is being actively developed by Kenneth Skovhede and despite its recent origins, already provides the majority of functionality required to develop a MapGuide site.

Having MapStudio Open Source as part of the MapGuide project will give MapGuide a respectable answer to open source map configuration, reduce confusion around the status of the project, and potentially will allow us to leverage the OSGeo project sponsorship mechanism to fund large improvements to MapStudio if necessary. It will also provide a "well-known" home for MapStudio, which will hopefully encourage others to contribute to its development.

Proposed Solution

  • Re-brand MapStudio to "MapGuide Maestro" to avoid confusion with Autodesk MapGuide Studio and WebStudio
  • Migrate SVN repository from Google Code to the OSGeo MapGuide SVN
  • Set up a new Component in MapGuide Trac for MapStudio Open Source
  • Give Kenneth access to so that he can make new releases available from that server
  • Port documentation from Google Code to the MapGuide Trac wiki (or maybe the MapGuide web site?)
  • Update MapGuide site to reflect the status of the MapStudio application as an official part of the MapGuide project.

The initial proposal is to import the subfolders of this SVN repository:

Into the following location:

The API is currently named MapGuideAPI, which may cause confusion, since it is not an official API. The API will be renamed to MaestroAPI before import.


This will require that Kenneth sign a contributor agreement, and certify that all of the work is owned by him.

It would be desirable for someone to do a provenance review on the code.

This is a .Net 1.1 application, so is not natively cross-platform. However, it is reported to be functional under Mono, and bringing it into the MapGuide fold will encourage more users who can help to test and modify MapStudio to ensure that it is fully supported on this platform.

We may require some assistance from the OSGeo SAC in bringing in the Google Code SVN, but if this is not available then the code can just be committed without history.

MapStudio relies on a custom .Net 1.1 API for MapGuide that is included in the MapStudio source tree. This API will also need to be present in the Maestro source. It does not require endorsement by MapGuide, but may prove usefull for .Net developers. The API contains a native wrapper section that has a static patched (for .Net 1.1) copy of the Swig-generated MapGuide managed API. It may be desirable to have this code automatically created/patched from the current MapGuide source at build time rather than storing the generated files in the repository, but this does not need to be done immediately. Alternatively the entire application may be upgraded to .Net 2.0, and then be able to use the managed API that is shipped with MapGuide.

It is intended that MapStudio remain as a separate application from MapGuide, with its own download packages and release cycle. Existing tags in the repository already have a MAPGUIDE prefix, but we may need to either modify the existing branch names, or just ensure that MapStudio uses a prefix for its branches.

Test Plan

No test plan should be required, this is just a code import.


Kenneth, Jason (where he can)

Last modified 15 years ago Last modified on Sep 15, 2008, 1:32:55 PM
Note: See TracWiki for help on using the wiki.