MapGuide RFC 34 - Add ApplicationDefinition resource type and schema for Fusion integration
This page contains an 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 | Aug 20, 2007 |
Last Modified | Chris Claydon Timestamp |
Author | Chris Claydon |
RFC Status | adopted |
Implementation Status | completed |
Proposed Milestone | 2.0 |
Assigned PSC guide(s) | Tom |
Voting History | |
+1 | Tom, Bruce, Paul, Jason, Andy, Haris, Bob |
Overview
This RFC contains a proposal for the new schema for web applications based on the new "Fusion" framework, and for code modifications required to support the corresponding new resource type.
Motivation
The new application definition framework (aka Fusion) for MapGuide Open Source web applications requires ApplicationDefinition resources to be created and stored in the MapGuide repository. These resources define and configure the various components that are used in the web application, such as toolbars, context menus and maps, as well as controls such as Pan, Zoom, Search, Select etc.
Proposed Solution
A link to the working version of the ApplicationDefinition schema is given below. It may still require a few modifications during the development process, but is essentially complete in its current form. This schema will be installed along with the MapGuide Server to allow it to validate ApplicationDefinition resources that are added to the repository.
The current APIs to save, retrieve and enumerate resources will remain unchanged. However, the underlying code will support the new "ApplicationDefinition" resource type, and MgResourceType will gain a definition for the MgResourceType::ApplicationDefinition string constant.
The schema is located here:
http://svn.osgeo.org/mapguide/trunk/MgDev/Common/Schema/ApplicationDefinition-1.0.0.xsd
Implications
Support for this additional resource type will not impact any of the existing resource types. ApplicationDefinitions will be allowed in the Session and Library repositories only (not in the Site repository). MapGuide map definitions referenced by the application definition will be identified using a <ResourceId> tag to allow the resource dependencies to be tracked in the same fashion as for the existing resource types.
Test Plan
Testing should be carried out by creating, updating, deleting and enumerating ApplicationDefinition resources in the MapGuide Repository.
Funding/Resources
Funding and resources to be supplied by Autodesk.