wiki:MapGuideRfc48

Version 1 (modified by jbirch, 14 years ago) ( diff )

Initial wording

MapGuide RFC 48 - Add MapStudio Open Source 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.

Status

RFC Template Version(1.0)
Submission Date April 20, 2008
Last Modified Jason Birch - 2008-04-20 00:27
AuthorJason Birch
RFC Statusdraft
Implementation Statusnot started
Proposed Milestone2.1
Assigned PSC guide(s)Jason Birch
Voting History(vote date)
+1
+0
-0
-1

Overview

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.

Motivation

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

  • 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 download.osgeo.org 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:

http://mapstudioos.googlecode.com/svn/trunk/

Into the following location:

http://svn.osgeo.org/mapguide/trunk/Tools/MapStudioOS/

Implications

This will require that Kenneth sign a contributor agreement, and either certify that all of the work is owned by him (done on his own time) or obtain a contributor agreement from his employer.

The majority of the code appears to have LGPL headers, but some will need to be added, and it would be desirable for someone to do a quick 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 brining 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 "adopted" by MapGuide. 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.

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.

Funding/Resources

Kenneth, Jason (where he can)

Note: See TracWiki for help on using the wiki.