OSGeo is planning to participate in the 2007 Google Summer of Code. This page will be used to coordinate potential activities for the !MapGuide Open Source project. == Potential Projects == === Web Studio Enhancements === [Mentor: Paul Spencer] This project entails working with AJAX techniques to make a number of improvements to !MapGuide Web Studio, including adding support for all FDO providers (generically), color selection tools, map thematic generation logic and user interface improvements, etc. 1. The MapAgent fcgi provides operations via the Feature Service that allow querying which FDO providers are installed and what their individual capabilities are. Currently, only SHP and SDF FDO providers are supported, each with hard-coded interfaces. This improvement would remove the existing support for SHP and SDF FDO providers and replace it with code that queries the Feature Service for available FDO providers and builds an appropriate user interface for configuring the selected provider. 2. In various places in web studio, it is possible to specify an RRGGBBAA color value that MapGuide will use for a particular rendering operation. Currently, there is only a text box to enter these values. This improvement would add a UI for a color picker tool (possibly provided by DM Solutions Group) as an option to use for every available color input. 3. The MapAgent fcgi provides operations for discovering statistics of feature sources underlying Layers. These statistics can be used to build a UI for dynamically creating ranges of styles for a given layer. This improvement would add a new theme building dialog to the layer styling interface that would simplify creation of a range of styles based on available statistics on the undering feature attributes. 4. The web studio user interface is designed to be flexible and extensible. This improvement would continue this work by making general improvements to the user interface and possibly adding support for new Resource types. === !MapGuide and Google Web Toolkit === [Mentor: Simon Pelicon (Haris Kurtagic)] Develop Google Web Toolkit Widget for displaying maps from !MapGuide server. Widget will display maps and allow zooming, paning,... [[BR]] Main idea of widget is to allow easy way to include maps from !MapGuide server in GWT applications. === SWIG Enhancements for Java === [Mentor: Trevor Wekel] It has been identified that while !MapGuide's Java support is good, there are some areas where the current presentation of the APIs makes it hard to work with for Java developers. We would like to enhance the way SWIG generates the Java API wrappers. See Ticket #9 and this email : http://www.nabble.com/RE%3A-RE%3A--mapguide-users-GoodDevelopment-Environment-for-MGOS-p9364766s16610.html === REST/XML-RPC/SOAP Web Services === [Mentor: Bruce Dechant] The !MapGuide Server exposes a rich set of APIs querying and manipulating geospatial data, plotting and rendering maps, etc. This project entails exposing the !MapGuide Service APIs as Web Services via standard protocols like REST, XML-RPC, or SOAP. Today quite a few applications end up having to write their own web services interfaces around the basic !MapGuide services. Developing these in the !MapGuide Core would allow us to reduce the amount of effort it takes to integrate !MapGuide into enterprise applications. As well as the enterprise, we need to target the rapidly growing neogeography population. This will be accomplished by supporting a REST-based interface, and output formats like JSON and XML where appropriate. === PHP Gateway Scripts === [Mentor: Jason Birch] ==== !TileMapService Publishing ==== The [http://wiki.osgeo.org/index.php/Tile_Map_Service_Specification TMS Specification] provides a well documented method for sharing pyramid-based map tile caches between multiple mapping applications. This scales to public use much better than WMS, and allows extension of !MapGuide's internal tile caching service to external applications. This component of the project would involve the development of a PHP "gateway" script that exposes a !MapGuide tile cache as a TMS service. ==== GeoRSS Publishing ==== Adoption of [http://www.georss.org/ GeoRSS] as a simple method of sharing spatial information is growing rapidly. There are several compelling use cases for this. At the municipal level, it would be desirable to generate feeds of spatially related information such as recent fire calls, approved building permits, and road closures. This component of the project would involve the development of a PHP "gateway" script that allows the end user to configure the Geometry, Name, Description, and Modified Date from an existing feature source, and present this as a GeoRSS feed in any of Atom 1.0, RSS 1.0, and RSS 2.0 formats, leveraging the GeoRSS Simple and GML profiles.