GSOC 2010 project
Improving the Platform Support of Mapguide and extending the security features
This is the page for the Google Summer of Code, 2010 sponsored project. Check this page for project outline, weekly reports and other resources.
Page Outline
Project Overview
Outline
The MapGuide user base is having difficulty using MapGuide Open Source on Linux. Many current Linux distributions, including popular ones such as Ubuntu 9.10 are difficult to use due to the fact MapGuide does not compile under GCC 4.4. In addition, RPM binary packaging for CentOS/RedHat (our primary targets in the GIS space) has not been implemented yet. Third party dependencies are also outdated. I propose to update the code base to current standards and create easy installation experience for Linux users on many different distros. My first goal is to create a 'cleaner' installation experience for the end user and to eventually aim for inclusion of MapGuide in standard repositories.
For my second goal, MapGuide Open Source has a well defined role and permission based security model. However, this model has not been extended to facilitate map authoring and application creation. I intend to extend this to enable control layer inclusion on a map based on user and group information. If the user has permission to read both the LayerDefinition and FeatureSource for a specific layer, that layer will be included on the map.
If time permits, then I intend to extend the security model to selectively display GUI elements. The controls available would change depending on the security 'clearance' of the user. This is pretty complex part in its own right , but I am definitely going to attempt, at least some part of it.
Tentative Schedule
This schedule is highly tentative at the moment. This should be taken as just an indication of the pace that we have in mind.
April 26 (community bonding) Introduction to community. Begin mapguide-internals list discussions on the new projects with help of mentor. Begin code familiarization, review of debugging and unit test procedures.
May 24 (coding begins) Begin updating third party libraries on local machines (Windows and Linux), resolve compilation errors, run unit tests. Validate work on CentOS 5, Ubuntu 11, and VS 2008 SP1 May 31 Continue updates to third party libraries following same process as previous week.
June 7 Full compile of MapGuide and Fdo on gcc 4.4. Resolve compilation issues in MapGuide, start fdo-internals discussions to resolve any gcc 4.4 issues for FDO.
June 14 Complete gcc 4.4 upgrade for MapGuide. Continue to enlist help of fdo-internals to get any FDO compilation issues resolved.
June 21 Implement RPM packaging for MapGuide. Contact fdo-internals re: FDO RPM packaging. Document RPM packaging procedure.
June 28 Validate DEB packaging for MapGuide and FDO July 5 post "test" RPMs and DEBs for MapGuide and FDO. Respond to community feedback on any installation issues.
July 12 Begin implementation of permissions based layer inclusion July 19 Complete implementation of permissions based layer inclusion. Validate with both viewers, on Windows and on Linux.
July 26 Write documentation for permissions based layer inclusion. Post "test" RPMs, DEBs, installer, and respond to feedback from list.
August 2 Write RFC for permissions based GUI configuration August 9 (pencils down) Send permissions based GUI configuration RFC for review.
Weekly Reports
Misc Links
Week 0
Hi everyone,
Just a small introduction. I am Rohit, and I am a final year undegraduate at the Indian Institute of Technology, Kanpur. The wiki for my project has been setup at http://trac.osgeo.org/mapguide/wiki/GoogleSoC2010. You can hop over there for more information on my project, weekly report archives, links etc.
Work I have done till now.
- Setup a test machine, created the minimal install build environments for Centos and Ubuntu (32/64 bit) Though I would be focusing on Centos 5.5 32 bit, initially.
- Created a draft RFC for the first part of my project at http://trac.osgeo.org/mapguide/wiki/MapGuideRfc92
- Discussion on the mailing list, regarding Third Party dependencies and their inclusion into the source tree.
- Investigated about availability of packages for third party dependencies.
Work I propose to do this week.
- Compile MapGuide with a native dbxml and cppunit.
- If time permits move on to other Third party dependencies. (php, etc)
Obstacles for this week
- None. ( At least none that I can see, right now. )
About Me
You can find me on irc at freenode, #gsoc, #osgeo, #mapguide. Nick : rohitr or mail me at rohitr [TA] iitk [TOD] ac [TOD] in. I am still learning about MapGuide so your suggestions and comments are most welcome.