[mapguide-commits] r6261 - in trunk/Tools/Maestro/Doc: . Images Topics

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Tue Nov 29 10:42:41 EST 2011


Author: jng
Date: 2011-11-29 07:42:41 -0800 (Tue, 29 Nov 2011)
New Revision: 6261

Added:
   trunk/Tools/Maestro/Doc/Images/
   trunk/Tools/Maestro/Doc/Images/ConnectionOverview.PNG
   trunk/Tools/Maestro/Doc/Layout.content
   trunk/Tools/Maestro/Doc/Topics/
   trunk/Tools/Maestro/Doc/Topics/Component_Editors.aml
   trunk/Tools/Maestro/Doc/Topics/Component_Login.aml
   trunk/Tools/Maestro/Doc/Topics/Component_Packaging.aml
   trunk/Tools/Maestro/Doc/Topics/Component_SharedUI.aml
   trunk/Tools/Maestro/Doc/Topics/Concept_Connections.aml
   trunk/Tools/Maestro/Doc/Topics/Concept_ObjectModels.aml
   trunk/Tools/Maestro/Doc/Topics/Concept_RuntimeMap.aml
   trunk/Tools/Maestro/Doc/Topics/Concept_Services.aml
   trunk/Tools/Maestro/Doc/Topics/Deployment_AspNet.aml
   trunk/Tools/Maestro/Doc/Topics/Deployment_Desktop.aml
   trunk/Tools/Maestro/Doc/Topics/GettingStarted.aml
   trunk/Tools/Maestro/Doc/Topics/Welcome.aml
Modified:
   trunk/Tools/Maestro/Doc/MaestroAPI.shfbproj
Log:
#1319: Turns out Sandcastle does support conceptual content. As a result this submission includes API documentation updates to include a basic introduction to the Maestro API and a small (in-progress) developer's guide, instead of being just a dump of auto-generated documentation

Added: trunk/Tools/Maestro/Doc/Images/ConnectionOverview.PNG
===================================================================
(Binary files differ)


Property changes on: trunk/Tools/Maestro/Doc/Images/ConnectionOverview.PNG
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/Tools/Maestro/Doc/Layout.content
===================================================================
--- trunk/Tools/Maestro/Doc/Layout.content	                        (rev 0)
+++ trunk/Tools/Maestro/Doc/Layout.content	2011-11-29 15:42:41 UTC (rev 6261)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Topics>
+  <Topic id="cc9271d0-86e4-480a-9a4c-b36ecb1e153f" visible="True" isDefault="true" />
+  <Topic id="14cc3d10-a228-4fac-99b8-c0a66a9090fe" visible="True" noFile="true" apiParentMode="InsertAfter" title="Developer's Guide">
+    <Topic id="0395ae33-fb9f-46cf-bf1e-528a4ec3d948" visible="True" title="Getting Started" tocTitle="Getting Started" linkText="Getting Started" />
+    <Topic id="646587e4-cc05-4727-9999-81e2a0ddae2a" visible="True" noFile="true" title="Core Concepts">
+      <Topic id="adae6d9e-5445-46a1-b3cc-b3c966f0ee16" visible="True" title="Connections" tocTitle="Connections" linkText="Connections" />
+      <Topic id="c6f8002d-fa64-48ee-902c-a6939bc6f86c" visible="True" title="Service Interfaces" tocTitle="Service Interfaces" linkText="Service Interfaces" />
+      <Topic id="af30df93-30ad-4a67-a074-661e04434d01" visible="True" title="Resource Object Models" tocTitle="Resource Object Models" linkText="Resource Object Models" />
+      <Topic id="5e1e5592-14ad-4f6f-ab05-941a6c0fe9ae" visible="True" title="The Runtime Map" tocTitle="The Runtime Map" linkText="The Runtime Map" />
+    </Topic>
+    <Topic id="f7390400-59dd-43e9-8902-9b4c449ac766" visible="True" noFile="true" title="Deploying your Application" tocTitle="Deploying your Application" linkText="Deploying your Application">
+      <Topic id="38658a1e-4008-4eec-9e20-297d38942505" visible="True" title="Desktop Applications" tocTitle="Desktop Applications" linkText="Desktop Applications" />
+      <Topic id="ce7d4037-69e0-434d-9a0a-0ff8e01f9057" visible="True" title="ASP.net Web Applications" tocTitle="ASP.net Web Applications" linkText="ASP.net Web Applications" />
+    </Topic>
+    <Topic id="de3da3e7-6ebe-40cd-a20d-a2834cbaa924" visible="True" noFile="true" title="Optional Libraries/Components" tocTitle="Optional Libraries/Components" linkText="Optional Libraries/Components">
+      <Topic id="56d3bbf1-a76a-44ed-a63d-e02dd8a4d0ba" visible="True" title="Editor Library" tocTitle="Editor Library" linkText="Editor Library" />
+      <Topic id="dba29570-f9bb-4f02-9eb0-0a5221f4c330" visible="True" title="Packaging Library" tocTitle="Packaging Library" linkText="Packaging Library" />
+      <Topic id="f47821f2-31ba-4cb7-868b-5896e5a3268e" visible="True" title="Shared UI Library" tocTitle="Shared UI Library" linkText="Shared UI Library" />
+      <Topic id="2f9e519e-8f39-463d-98db-b687f8567670" visible="True" title="Login Library" tocTitle="Login Library" linkText="Login Library" />
+    </Topic>
+  </Topic>
+</Topics>
\ No newline at end of file

Modified: trunk/Tools/Maestro/Doc/MaestroAPI.shfbproj
===================================================================
--- trunk/Tools/Maestro/Doc/MaestroAPI.shfbproj	2011-11-29 09:25:04 UTC (rev 6260)
+++ trunk/Tools/Maestro/Doc/MaestroAPI.shfbproj	2011-11-29 15:42:41 UTC (rev 6261)
@@ -40,20 +40,21 @@
     <VisibleItems>Attributes, InheritedMembers, Protected, SealedProtected</VisibleItems>
     <ApiFilter>
       <Filter entryType="Namespace" fullName="Maestro.Editors.FeatureSource.Preview" isExposed="False" />
-<Filter entryType="Namespace" fullName="Maestro.Editors.FeatureSource.Providers.Odbc" isExposed="False" />
-<Filter entryType="Namespace" fullName="Maestro.Editors.FeatureSource.Providers.Odbc.Drivers" isExposed="False" />
-<Filter entryType="Namespace" fullName="Maestro.Editors.LayerDefinition.Vector.Scales" isExposed="False" />
-<Filter entryType="Namespace" fullName="Maestro.Editors.LayerDefinition.Vector.StyleEditors" isExposed="False" />
-<Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.ApplicationDefinition_1_0_0" isExposed="False" />
-<Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.DrawingSource_1_0_0" isExposed="False" />
-<Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.FeatureSource_1_0_0" isExposed="False" />
-<Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.LayerDefinition_1_0_0" isExposed="False" />
-<Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.LoadProcedure_1_0_0" isExposed="False" />
-<Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.MapDefinition_1_0_0" isExposed="False" />
-<Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.PrintLayout_1_0_0" isExposed="False" />
-<Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.SymbolDefinition_1_0_0" isExposed="False" />
-<Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.SymbolLibrary_1_0_0" isExposed="False" />
-<Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.WebLayout_1_0_0" isExposed="False" /></ApiFilter>
+      <Filter entryType="Namespace" fullName="Maestro.Editors.FeatureSource.Providers.Odbc" isExposed="False" />
+      <Filter entryType="Namespace" fullName="Maestro.Editors.FeatureSource.Providers.Odbc.Drivers" isExposed="False" />
+      <Filter entryType="Namespace" fullName="Maestro.Editors.LayerDefinition.Vector.Scales" isExposed="False" />
+      <Filter entryType="Namespace" fullName="Maestro.Editors.LayerDefinition.Vector.StyleEditors" isExposed="False" />
+      <Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.ApplicationDefinition_1_0_0" isExposed="False" />
+      <Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.DrawingSource_1_0_0" isExposed="False" />
+      <Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.FeatureSource_1_0_0" isExposed="False" />
+      <Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.LayerDefinition_1_0_0" isExposed="False" />
+      <Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.LoadProcedure_1_0_0" isExposed="False" />
+      <Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.MapDefinition_1_0_0" isExposed="False" />
+      <Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.PrintLayout_1_0_0" isExposed="False" />
+      <Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.SymbolDefinition_1_0_0" isExposed="False" />
+      <Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.SymbolLibrary_1_0_0" isExposed="False" />
+      <Filter entryType="Namespace" fullName="OSGeo.MapGuide.ObjectModels.WebLayout_1_0_0" isExposed="False" />
+    </ApiFilter>
     <SdkLinkType>None</SdkLinkType>
     <FeedbackEMailAddress>jumpinjackie at gmail.com</FeedbackEMailAddress>
     <WebsiteSdkLinkType>None</WebsiteSdkLinkType>
@@ -61,25 +62,14 @@
     <MSHelp2SdkLinkType>None</MSHelp2SdkLinkType>
     <MSHelpViewerSdkLinkType>None</MSHelpViewerSdkLinkType>
     <CopyrightText>%28c%29 2011, Jackie Ng</CopyrightText>
-    <SyntaxFilters>CSharp, VisualBasic, CPlusPlus, FSharp</SyntaxFilters>
+    <SyntaxFilters>CSharp, VisualBasic, CPlusPlus, FSharp, AspNet</SyntaxFilters>
     <RootNamespaceContainer>True</RootNamespaceContainer>
     <Preliminary>False</Preliminary>
     <MissingTags>Summary, Parameter, Returns, AutoDocumentCtors, Namespace, TypeParameter, AutoDocumentDispose</MissingTags>
     <ProjectSummary>&amp;lt%3bsummary&amp;gt%3b
-This is the reference documentation for the MapGuide Maestro API. The API consists of:
-
-&amp;lt%3blist type=&amp;quot%3bbullet&amp;quot%3b&amp;gt%3b
-   &amp;lt%3bitem&amp;gt%3b&amp;lt%3bdescription&amp;gt%3bThe Maestro API core %28OSGeo.MapGuide.MaestroAPI.dll%29&amp;lt%3b/description&amp;gt%3b&amp;lt%3b/item&amp;gt%3b
-   &amp;lt%3bitem&amp;gt%3b&amp;lt%3bdescription&amp;gt%3bThe Maestro Extended Object Model Helper %28OSGeo.MapGuide.ExtendedObjectModels.dll%29&amp;lt%3b/description&amp;gt%3b&amp;lt%3b/item&amp;gt%3b
-   &amp;lt%3bitem&amp;gt%3b&amp;lt%3bdescription&amp;gt%3bThe Maestro Editor UI library %28Maestro.Editors.dll%29&amp;lt%3b/description&amp;gt%3b&amp;lt%3b/item&amp;gt%3b
-   &amp;lt%3bitem&amp;gt%3b&amp;lt%3bdescription&amp;gt%3bThe Maestro Packaging library %28Maestro.Packaging.dll%29&amp;lt%3b/description&amp;gt%3b&amp;lt%3b/item&amp;gt%3b
-   &amp;lt%3bitem&amp;gt%3b&amp;lt%3bdescription&amp;gt%3bThe Maestro Login UI library %28Maestro.Login.dll%29&amp;lt%3b/description&amp;gt%3b&amp;lt%3b/item&amp;gt%3b
-   &amp;lt%3bitem&amp;gt%3b&amp;lt%3bdescription&amp;gt%3bThe Maestro Shared UI library %28Maestro.Shared.UI.dll%29&amp;lt%3b/description&amp;gt%3b&amp;lt%3b/item&amp;gt%3b
-&amp;lt%3b/list&amp;gt%3b
-
-Public classes, interfaces and types defined within these libraries are covered in this document.
+The main namespaces of the Maestro API are listed below
 &amp;lt%3b/summary&amp;gt%3b</ProjectSummary>
-    <RootNamespaceTitle>MapGuide Maestro API Documentation</RootNamespaceTitle>
+    <RootNamespaceTitle>API Reference</RootNamespaceTitle>
   </PropertyGroup>
   <!-- There are no properties for these groups.  AnyCPU needs to appear in
        order for Visual Studio to perform the build.  The others are optional
@@ -100,6 +90,45 @@
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|Win32' ">
   </PropertyGroup>
+  <ItemGroup>
+    <ContentLayout Include="Layout.content" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Topics\Component_Login.aml" />
+    <None Include="Topics\GettingStarted.aml" />
+    <None Include="Topics\GettingStarted.aml" />
+    <None Include="Topics\Concept_RuntimeMap.aml" />
+    <None Include="Topics\Component_SharedUI.aml" />
+    <None Include="Topics\Component_Packaging.aml" />
+    <None Include="Topics\Component_Editors.aml" />
+    <None Include="Topics\Deployment_AspNet.aml" />
+    <None Include="Topics\Deployment_Desktop.aml" />
+    <None Include="Topics\Deployment.aml" />
+    <None Include="Topics\VSSetup.aml" />
+    <None Include="Topics\Concept_ObjectModels.aml" />
+    <None Include="Topics\Concept_Services.aml" />
+    <None Include="Topics\Concept_Services.aml" />
+    <None Include="Topics\Concept_Connections.aml" />
+    <None Include="Topics\GettingStarted.aml" />
+    <None Include="Topics\GettingStarted.aml" />
+    <None Include="Topics\DevelopersGuideRoot.aml" />
+    <None Include="Topics\Welcome.aml" />
+    <None Include="Topics\Welcome.aml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="Images\" />
+    <Folder Include="Topics\" />
+  </ItemGroup>
+  <ItemGroup>
+    <Image Include="Images\ConnectionOverview.PNG">
+      <ImageId>ConnectionOverview</ImageId>
+      <AlternateText>Connection Overview</AlternateText>
+    </Image>
+    <Image Include="Images\ConnectionOverview.PNG">
+      <ImageId>ConnectionOverview</ImageId>
+      <AlternateText>Connection Overview</AlternateText>
+    </Image>
+  </ItemGroup>
   <!-- Import the SHFB build targets -->
   <Import Project="$(SHFBROOT)\SandcastleHelpFileBuilder.targets" />
 </Project>
\ No newline at end of file

Added: trunk/Tools/Maestro/Doc/Topics/Component_Editors.aml
===================================================================
--- trunk/Tools/Maestro/Doc/Topics/Component_Editors.aml	                        (rev 0)
+++ trunk/Tools/Maestro/Doc/Topics/Component_Editors.aml	2011-11-29 15:42:41 UTC (rev 6261)
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<topic id="56d3bbf1-a76a-44ed-a63d-e02dd8a4d0ba" revisionNumber="1">
+  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!--
+    <summary>
+      <para>Optional summary abstract</para>
+    </summary>
+    -->
+    <introduction>
+      <!-- Uncomment this to generate an outline of the section and sub-section
+           titles.  Specify a numeric value as the inner text to limit it to
+           a specific number of sub-topics when creating the outline.  Specify
+           zero (0) to limit it to top-level sections only.  -->
+      <!-- <autoOutline /> -->
+      <para>About the Editor Library</para>
+    </introduction>
+    <!-- Add one or more top-level section elements.  These are collapsible.
+         If using <autoOutline />, add an address attribute to identify it
+         and specify a title so that it can be jumped to with a hyperlink. -->
+    <section address="Section1">
+      <title>Overview</title>
+      <content>
+        <!-- Uncomment this to create a sub-section outline
+        <autoOutline /> -->
+        <para>
+        The Maestro Editor Library is a Windows Forms control library containing many
+        pre-defined UI classes and components for:
+        </para>
+		<list class="bullet">
+		  <listItem><para>Interacting with resources via the <codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.MaestroAPI.Services.IResourceService</codeEntityReference> interface (eg. Resource browsing/selection)</para></listItem>
+		  <listItem><para>Pre-built editor components for editing resource model objects</para></listItem>
+		</list>
+		<para>
+		This library is recommended if your MaestroAPI application requires basic/advanced resource
+		editing capabilities. The UI components in this library are the same components used in the
+		MapGuide Maestro application
+		</para>
+      </content>
+      <!-- If a section contains a sections element, its content creates
+           sub-sections.  These are not collapsible.
+      <sections>
+          <section address="SubSection1">
+              <title>Sub-section 1</title>
+              <content>
+                  <para>Sub-section content.</para>
+              </content>
+          </section>
+          <section address="SubSection2">
+              <title>Sub-section 2</title>
+              <content>
+                  <para>Sub-section content.</para>
+              </content>
+          </section>
+      </sections> -->
+    </section>
+    <relatedTopics>
+      <!-- One or more of the following:
+           - A local link
+           - An external link
+           - A code entity reference
+
+      <link xlink:href="Other Topic's ID"/>
+      <link xlink:href="Other Topic's ID">Link inner text</link>
+
+      <externalLink>
+          <linkText>Link text</linkText>
+          <linkAlternateText>Optional alternate link text</linkAlternateText>
+          <linkUri>URI</linkUri>
+      </externalLink>
+
+      <codeEntityReference>API member ID</codeEntityReference>
+
+      Examples:
+
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8270" />
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
+
+      <externalLink>
+          <linkText>SHFB on CodePlex</linkText>
+          <linkAlternateText>Go to CodePlex</linkAlternateText>
+          <linkUri>http://shfb.codeplex.com</linkUri>
+      </externalLink>
+
+      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
+      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
+      -->
+    </relatedTopics>
+  </developerConceptualDocument>
+</topic>
\ No newline at end of file

Added: trunk/Tools/Maestro/Doc/Topics/Component_Login.aml
===================================================================
--- trunk/Tools/Maestro/Doc/Topics/Component_Login.aml	                        (rev 0)
+++ trunk/Tools/Maestro/Doc/Topics/Component_Login.aml	2011-11-29 15:42:41 UTC (rev 6261)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="utf-8"?>
+<topic id="2f9e519e-8f39-463d-98db-b687f8567670" revisionNumber="1">
+  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!--
+    <summary>
+      <para>Optional summary abstract</para>
+    </summary>
+    -->
+    <introduction>
+      <!-- Uncomment this to generate an outline of the section and sub-section
+           titles.  Specify a numeric value as the inner text to limit it to
+           a specific number of sub-topics when creating the outline.  Specify
+           zero (0) to limit it to top-level sections only.  -->
+      <!-- <autoOutline /> -->
+      <para>About the Login Library</para>
+    </introduction>
+    <!-- Add one or more top-level section elements.  These are collapsible.
+         If using <autoOutline />, add an address attribute to identify it
+         and specify a title so that it can be jumped to with a hyperlink. -->
+    <section address="Section1">
+      <title>Overview</title>
+      <content>
+        <!-- Uncomment this to create a sub-section outline
+        <autoOutline /> -->
+        <para>
+        The Maestro Login library contains a UI component that assists in creating
+        <codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.MaestroAPI.IServerConnection</codeEntityReference>
+        instances through interactive user input
+        </para>
+      </content>
+      <!-- If a section contains a sections element, its content creates
+           sub-sections.  These are not collapsible.
+      <sections>
+          <section address="SubSection1">
+              <title>Sub-section 1</title>
+              <content>
+                  <para>Sub-section content.</para>
+              </content>
+          </section>
+          <section address="SubSection2">
+              <title>Sub-section 2</title>
+              <content>
+                  <para>Sub-section content.</para>
+              </content>
+          </section>
+      </sections> -->
+    </section>
+    <relatedTopics>
+      <!-- One or more of the following:
+           - A local link
+           - An external link
+           - A code entity reference
+
+      <link xlink:href="Other Topic's ID"/>
+      <link xlink:href="Other Topic's ID">Link inner text</link>
+
+      <externalLink>
+          <linkText>Link text</linkText>
+          <linkAlternateText>Optional alternate link text</linkAlternateText>
+          <linkUri>URI</linkUri>
+      </externalLink>
+
+      <codeEntityReference>API member ID</codeEntityReference>
+
+      Examples:
+
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8270" />
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
+
+      <externalLink>
+          <linkText>SHFB on CodePlex</linkText>
+          <linkAlternateText>Go to CodePlex</linkAlternateText>
+          <linkUri>http://shfb.codeplex.com</linkUri>
+      </externalLink>
+
+      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
+      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
+      -->
+    </relatedTopics>
+  </developerConceptualDocument>
+</topic>
\ No newline at end of file

Added: trunk/Tools/Maestro/Doc/Topics/Component_Packaging.aml
===================================================================
--- trunk/Tools/Maestro/Doc/Topics/Component_Packaging.aml	                        (rev 0)
+++ trunk/Tools/Maestro/Doc/Topics/Component_Packaging.aml	2011-11-29 15:42:41 UTC (rev 6261)
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>
+<topic id="dba29570-f9bb-4f02-9eb0-0a5221f4c330" revisionNumber="1">
+  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!--
+    <summary>
+      <para>Optional summary abstract</para>
+    </summary>
+    -->
+    <introduction>
+      <!-- Uncomment this to generate an outline of the section and sub-section
+           titles.  Specify a numeric value as the inner text to limit it to
+           a specific number of sub-topics when creating the outline.  Specify
+           zero (0) to limit it to top-level sections only.  -->
+      <!-- <autoOutline /> -->
+      <para>About the Packaging Library</para>
+    </introduction>
+    <!-- Add one or more top-level section elements.  These are collapsible.
+         If using <autoOutline />, add an address attribute to identify it
+         and specify a title so that it can be jumped to with a hyperlink. -->
+    <section address="Section1">
+      <title>Overview</title>
+      <content>
+        <!-- Uncomment this to create a sub-section outline
+        <autoOutline /> -->
+        <para>
+        The Maestro Packaging Library is a Windows Forms control library containing many
+        pre-defined UI classes and components for:
+        </para>
+		<list class="bullet">
+		  <listItem><para>Creating/Editing MapGuide Package files</para></listItem>
+		  <listItem><para>Loading MapGuide Package files into a resource repository (using <codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.MaestroAPI.Services.IResourceService</codeEntityReference>)</para></listItem>
+		</list>
+		<para>
+		This library is recommended if your MaestroAPI application requires package loading
+		or manipulation capabilities
+		</para>
+      </content>
+      <!-- If a section contains a sections element, its content creates
+           sub-sections.  These are not collapsible.
+      <sections>
+          <section address="SubSection1">
+              <title>Sub-section 1</title>
+              <content>
+                  <para>Sub-section content.</para>
+              </content>
+          </section>
+          <section address="SubSection2">
+              <title>Sub-section 2</title>
+              <content>
+                  <para>Sub-section content.</para>
+              </content>
+          </section>
+      </sections> -->
+    </section>
+    <relatedTopics>
+      <!-- One or more of the following:
+           - A local link
+           - An external link
+           - A code entity reference
+
+      <link xlink:href="Other Topic's ID"/>
+      <link xlink:href="Other Topic's ID">Link inner text</link>
+
+      <externalLink>
+          <linkText>Link text</linkText>
+          <linkAlternateText>Optional alternate link text</linkAlternateText>
+          <linkUri>URI</linkUri>
+      </externalLink>
+
+      <codeEntityReference>API member ID</codeEntityReference>
+
+      Examples:
+
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8270" />
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
+
+      <externalLink>
+          <linkText>SHFB on CodePlex</linkText>
+          <linkAlternateText>Go to CodePlex</linkAlternateText>
+          <linkUri>http://shfb.codeplex.com</linkUri>
+      </externalLink>
+
+      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
+      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
+      -->
+    </relatedTopics>
+  </developerConceptualDocument>
+</topic>
\ No newline at end of file

Added: trunk/Tools/Maestro/Doc/Topics/Component_SharedUI.aml
===================================================================
--- trunk/Tools/Maestro/Doc/Topics/Component_SharedUI.aml	                        (rev 0)
+++ trunk/Tools/Maestro/Doc/Topics/Component_SharedUI.aml	2011-11-29 15:42:41 UTC (rev 6261)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="utf-8"?>
+<topic id="f47821f2-31ba-4cb7-868b-5896e5a3268e" revisionNumber="1">
+  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!--
+    <summary>
+      <para>Optional summary abstract</para>
+    </summary>
+    -->
+    <introduction>
+      <!-- Uncomment this to generate an outline of the section and sub-section
+           titles.  Specify a numeric value as the inner text to limit it to
+           a specific number of sub-topics when creating the outline.  Specify
+           zero (0) to limit it to top-level sections only.  -->
+      <!-- <autoOutline /> -->
+      <para>About the Shared UI library</para>
+    </introduction>
+    <!-- Add one or more top-level section elements.  These are collapsible.
+         If using <autoOutline />, add an address attribute to identify it
+         and specify a title so that it can be jumped to with a hyperlink. -->
+    <section address="Section1">
+      <title>Overview</title>
+      <content>
+        <!-- Uncomment this to create a sub-section outline
+        <autoOutline /> -->
+        <para>
+        The Maestro Shared UI library contains core UI components used by the MapGuide
+        Maestro application. These components are generic enough to be used for your
+        own applications.
+        </para>
+      </content>
+      <!-- If a section contains a sections element, its content creates
+           sub-sections.  These are not collapsible.
+      <sections>
+          <section address="SubSection1">
+              <title>Sub-section 1</title>
+              <content>
+                  <para>Sub-section content.</para>
+              </content>
+          </section>
+          <section address="SubSection2">
+              <title>Sub-section 2</title>
+              <content>
+                  <para>Sub-section content.</para>
+              </content>
+          </section>
+      </sections> -->
+    </section>
+    <relatedTopics>
+      <!-- One or more of the following:
+           - A local link
+           - An external link
+           - A code entity reference
+
+      <link xlink:href="Other Topic's ID"/>
+      <link xlink:href="Other Topic's ID">Link inner text</link>
+
+      <externalLink>
+          <linkText>Link text</linkText>
+          <linkAlternateText>Optional alternate link text</linkAlternateText>
+          <linkUri>URI</linkUri>
+      </externalLink>
+
+      <codeEntityReference>API member ID</codeEntityReference>
+
+      Examples:
+
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8270" />
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
+
+      <externalLink>
+          <linkText>SHFB on CodePlex</linkText>
+          <linkAlternateText>Go to CodePlex</linkAlternateText>
+          <linkUri>http://shfb.codeplex.com</linkUri>
+      </externalLink>
+
+      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
+      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
+      -->
+    </relatedTopics>
+  </developerConceptualDocument>
+</topic>
\ No newline at end of file

Added: trunk/Tools/Maestro/Doc/Topics/Concept_Connections.aml
===================================================================
--- trunk/Tools/Maestro/Doc/Topics/Concept_Connections.aml	                        (rev 0)
+++ trunk/Tools/Maestro/Doc/Topics/Concept_Connections.aml	2011-11-29 15:42:41 UTC (rev 6261)
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="utf-8"?>
+<topic id="adae6d9e-5445-46a1-b3cc-b3c966f0ee16" revisionNumber="1">
+  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!--
+    <summary>
+      <para>Optional summary abstract</para>
+    </summary>
+    -->
+    <introduction>
+      <!-- Uncomment this to generate an outline of the section and sub-section
+           titles.  Specify a numeric value as the inner text to limit it to
+           a specific number of sub-topics when creating the outline.  Specify
+           zero (0) to limit it to top-level sections only.  -->
+      <!-- <autoOutline /> -->
+      <para>About Connections</para>
+    </introduction>
+    <!-- Add one or more top-level section elements.  These are collapsible.
+         If using <autoOutline />, add an address attribute to identify it
+         and specify a title so that it can be jumped to with a hyperlink. -->
+    <section address="ConnectionsOverview">
+      <title>Overview</title>
+      <content>
+        <!-- Uncomment this to create a sub-section outline
+        <autoOutline /> -->
+        <para>
+        Connections are the primary entry point into the functionality offered by the
+        Maestro API. It abstracts away the various methods of interacting with a MapGuide
+        Server into a single unified interface
+        </para>
+        <mediaLink><image xlink:href="ConnectionOverview" placement="center" /></mediaLink>
+        <para>
+        A connection is represented by the <codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.MaestroAPI.IServerConnection</codeEntityReference>
+        interface. Creating such connections is done via the <codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.MaestroAPI.ConnectionProviderRegistry</codeEntityReference>
+        class. This class uses the ConnectionProviders.xml file to resolve and load the matching
+        implementation
+        </para>
+      </content>
+    </section>
+    <section address="ConnectionImplementations">
+      <title>Known Implementations</title>
+      <content>
+        <para>
+        There are 3 known implementations of the <codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.MaestroAPI.IServerConnection</codeEntityReference> interface:
+        </para>
+		<list class="bullet">
+		  <listItem><para>Maestro.Http: A HTTP implementation (that communicates with the http mapagent)</para></listItem>
+		  <listItem><para>Maestro.LocalNative: A Local Native implementation (that wraps the official MapGuide API)</para></listItem>
+		  <listItem>
+		  	<para>Maestro.Local: A Local implementation (that wraps the <externalLink>
+<linkText>mg-desktop</linkText>
+<linkAlternateText>mg-desktop homepage</linkAlternateText>
+<linkUri>http://mg-desktop.googlecode.com</linkUri>
+<linkTarget>_blank</linkTarget>
+</externalLink>
+ API)	</para>
+ 		  </listItem>
+		</list>
+		<para>
+		Additional implementations can be registered in the ConnectionProviders.xml file
+		</para>
+		<para>
+		The Local Native implementation files is included with this SDK, but requires the official
+	    MapGuide API binaries to be also added to your application's directory. As a result this
+	    provider is disabled in the ConnectionProviders.xml file
+		</para>
+		<para>
+		The Local implementation is not included with the SDK. The windows version of Maestro
+		includes this implementation and you can copy the required files from your Maestro
+		installation should you choose to use this implementation.
+		</para>
+		<para>
+		All examples outlined in this guide assume the use of the HTTP implementation (Maestro.Http)
+		</para>
+      </content>
+    </section>
+    <relatedTopics>
+      <!-- One or more of the following:
+           - A local link
+           - An external link
+           - A code entity reference
+
+      <link xlink:href="Other Topic's ID"/>
+      <link xlink:href="Other Topic's ID">Link inner text</link>
+
+      <externalLink>
+          <linkText>Link text</linkText>
+          <linkAlternateText>Optional alternate link text</linkAlternateText>
+          <linkUri>URI</linkUri>
+      </externalLink>
+
+      <codeEntityReference>API member ID</codeEntityReference>
+
+      Examples:
+
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8270" />
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
+
+      <externalLink>
+          <linkText>SHFB on CodePlex</linkText>
+          <linkAlternateText>Go to CodePlex</linkAlternateText>
+          <linkUri>http://shfb.codeplex.com</linkUri>
+      </externalLink>
+
+      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
+      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
+      -->
+    </relatedTopics>
+  </developerConceptualDocument>
+</topic>
\ No newline at end of file

Added: trunk/Tools/Maestro/Doc/Topics/Concept_ObjectModels.aml
===================================================================
--- trunk/Tools/Maestro/Doc/Topics/Concept_ObjectModels.aml	                        (rev 0)
+++ trunk/Tools/Maestro/Doc/Topics/Concept_ObjectModels.aml	2011-11-29 15:42:41 UTC (rev 6261)
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="utf-8"?>
+<topic id="af30df93-30ad-4a67-a074-661e04434d01" revisionNumber="1">
+  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!--
+    <summary>
+      <para>Optional summary abstract</para>
+    </summary>
+    -->
+    <introduction>
+      <!-- Uncomment this to generate an outline of the section and sub-section
+           titles.  Specify a numeric value as the inner text to limit it to
+           a specific number of sub-topics when creating the outline.  Specify
+           zero (0) to limit it to top-level sections only.  -->
+      <!-- <autoOutline /> -->
+      <para>The Resource Object Model</para>
+    </introduction>
+    <!-- Add one or more top-level section elements.  These are collapsible.
+         If using <autoOutline />, add an address attribute to identify it
+         and specify a title so that it can be jumped to with a hyperlink. -->
+    <section address="ResourcesOverview">
+      <title>Overview</title>
+      <content>
+        <!-- Uncomment this to create a sub-section outline
+        <autoOutline /> -->
+        <para>
+        Unlike the official MapGuide API, all resources in the Maestro API are strongly-typed objects
+        and not blobs of arbitrary XML content that needs to be manually processed and manipulated.
+        </para>
+        <para>
+        All XML resource elements are represented as classes. These classes are automatically generated
+        from the respective XSD used to validate this resource content. Because a resource can have many
+        different schema versions, these classes implement a set of common interfaces that reside under the
+        OSGeo.MapGuide.ObjectModels namespace. This has 2 benefits:
+        </para>
+		<list class="ordered">
+		  <listItem><para>It prevents collision of the autogenerated classes across different versions. The generated classes are partitioned under internal version-specific namespaces</para></listItem>
+		  <listItem><para>By working against the resource interfaces, your code can work with any supported schema version of a given resource. In addition, adding support for newer schema revisions requires no changes on your side</para></listItem>
+		</list>
+      </content>
+    </section>
+	<section address="ResourceInterfaceVersions">
+      <title>Resource Interface Versions</title>
+      <content>
+        <para>
+        Each schema revision introduces new elements, which require new resource interfaces in the Maestro API that map to these new elements.
+        In such cases, we adopt the approach of COM interfaces and create a new interface that extends the old one
+        and incorporates the methods and properties to handle the new elements. The new interface is suffixed with a number
+        that increases with each new schema revision
+        </para>
+        <para>
+        For example, the <codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.WebLayout.IWebLayout</codeEntityReference> interface represents the Web Layout resource (version 1.0.0). The
+        1.1.0 schema introduces a new PingServer element (to prevent viewer session expiry). To tap into this newly exposed element provided by this schema, a 
+        <codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.WebLayout.IWebLayout2</codeEntityReference> interface included, which extends the original
+        <codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.WebLayout.IWebLayout</codeEntityReference> interface and includes the new <codeEntityReference qualifyHint="false">P:OSGeo.MapGuide.ObjectModels.WebLayout.IWebLayout2.EnablePingServer</codeEntityReference>
+        property. All other resource interfaces follow the same pattern of design.
+        </para>
+		<para>
+		Of course, due to the large number of schema revisions made since the very first release of MapGuide Open Source, it is a bit difficult to keep track of all
+		the relevant schema revisions and the resource interfaces that are affected. The following table shows which resource schema versions a newer resource interface
+		is applicable to:
+		</para>
+		<table>
+		  <tableHeader>
+		    <row>
+		      <entry><para>Resource Type</para></entry>
+		      <entry><para>Interfaces introduced for this version (also applicable for versions after it)</para></entry>
+		    </row>
+		  </tableHeader>
+		  <row>
+		    <entry><para>Layer Definition (v1.1.0)</para></entry>
+		    <entry>
+		    	<para>
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.LayerDefinition.IVectorScaleRange2</codeEntityReference>,
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.LayerDefinition.ICompositeTypeStyle</codeEntityReference>,
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.LayerDefinition.ICompositeRule</codeEntityReference>,
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.LayerDefinition.IStroke2</codeEntityReference>,
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.LayerDefinition.ElevationTypeType</codeEntityReference>,
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.LayerDefinition.IElevationSettings</codeEntityReference>,
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.SymbolDefinition.ISymbolInstance</codeEntityReference>,
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.LayerDefinition.ICompositeSymbolization</codeEntityReference>,
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.LayerDefinition.IParameterOverride</codeEntityReference>,
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.LayerDefinition.IParameterOverrideCollection</codeEntityReference>
+		    	</para>
+		    </entry>
+		  </row>
+		  <row>
+		    <entry><para>Layer Definition (v1.2.0)</para></entry>
+		    <entry>
+		    	<para>
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.LayerDefinition.ISymbolInstance2</codeEntityReference>,
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.LayerDefinition.IParameterOverride2</codeEntityReference>,
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.LayerDefinition.IThemeLabel</codeEntityReference>,
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.LayerDefinition.UsageContextType</codeEntityReference>,
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.LayerDefinition.GeometryContextType</codeEntityReference>
+		    	</para>
+		    </entry>
+		  </row>
+		  <row>
+		    <entry><para>Layer Definition (v1.3.0)</para></entry>
+		    <entry>
+		    	<para>
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.LayerDefinition.ICompositeTypeStyle2</codeEntityReference>,
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.LayerDefinition.IAreaVectorStyle2</codeEntityReference>,
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.LayerDefinition.ILineVectorStyle2</codeEntityReference>,
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.LayerDefinition.IPointVectorStyle2</codeEntityReference>
+		    	</para>
+		    </entry>
+		  </row>
+		  <row>
+		    <entry><para>Layer Definition (v2.3.0)</para></entry>
+		    <entry>
+		    	<para>
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.LayerDefinition.ISubLayerDefinition2</codeEntityReference>
+		    	</para>
+		    </entry>
+		  </row>
+		  <row>
+		    <entry><para>Map Definition (v2.3.0)</para></entry>
+		    <entry>
+		    	<para>
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.MapDefinition.IMapDefinition2</codeEntityReference>
+		    	</para>
+		    </entry>
+		  </row>
+		  <row>
+		    <entry><para>Web Layout (v1.1.0)</para></entry>
+		    <entry>
+		    	<para>
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.WebLayout.IWebLayout2</codeEntityReference>
+		    	</para>
+		    </entry>
+		  </row>
+		  <row>
+		    <entry><para>Symbol Definition (v1.1.0)</para></entry>
+		    <entry>
+		    	<para>
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.SymbolDefinition.ITextGraphic2</codeEntityReference>,
+		    	<codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.SymbolDefinition.DataType2</codeEntityReference>
+		    	</para>
+		    </entry>
+		  </row>
+		</table>
+		<para>
+		To determine whether a given interface is accessible, you can either check the <codeEntityReference qualifyHint="false">P:OSGeo.MapGuide.MaestroAPI.Resource.IVersionedEntity.ResourceVersion</codeEntityReference> and refer
+		to this table to see if these interfaces can be casted from their older versions. Or you can utilise language features such as C#'s 
+		</para>
+      </content>
+    </section>
+    <relatedTopics>
+      <!-- One or more of the following:
+           - A local link
+           - An external link
+           - A code entity reference
+
+      <link xlink:href="Other Topic's ID"/>
+      <link xlink:href="Other Topic's ID">Link inner text</link>
+
+      <externalLink>
+          <linkText>Link text</linkText>
+          <linkAlternateText>Optional alternate link text</linkAlternateText>
+          <linkUri>URI</linkUri>
+      </externalLink>
+
+      <codeEntityReference>API member ID</codeEntityReference>
+
+      Examples:
+
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8270" />
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
+
+      <externalLink>
+          <linkText>SHFB on CodePlex</linkText>
+          <linkAlternateText>Go to CodePlex</linkAlternateText>
+          <linkUri>http://shfb.codeplex.com</linkUri>
+      </externalLink>
+
+      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
+      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
+      -->
+    </relatedTopics>
+  </developerConceptualDocument>
+</topic>
\ No newline at end of file

Added: trunk/Tools/Maestro/Doc/Topics/Concept_RuntimeMap.aml
===================================================================
--- trunk/Tools/Maestro/Doc/Topics/Concept_RuntimeMap.aml	                        (rev 0)
+++ trunk/Tools/Maestro/Doc/Topics/Concept_RuntimeMap.aml	2011-11-29 15:42:41 UTC (rev 6261)
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<topic id="5e1e5592-14ad-4f6f-ab05-941a6c0fe9ae" revisionNumber="1">
+  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!--
+    <summary>
+      <para>Optional summary abstract</para>
+    </summary>
+    -->
+    <introduction>
+      <!-- Uncomment this to generate an outline of the section and sub-section
+           titles.  Specify a numeric value as the inner text to limit it to
+           a specific number of sub-topics when creating the outline.  Specify
+           zero (0) to limit it to top-level sections only.  -->
+      <!-- <autoOutline /> -->
+      <para>Required introduction</para>
+    </introduction>
+    <!-- Add one or more top-level section elements.  These are collapsible.
+         If using <autoOutline />, add an address attribute to identify it
+         and specify a title so that it can be jumped to with a hyperlink. -->
+    <section address="Section1">
+      <title>Optional section title</title>
+      <content>
+        <!-- Uncomment this to create a sub-section outline
+        <autoOutline /> -->
+        <para>Add one or more sections with content</para>
+      </content>
+      <!-- If a section contains a sections element, its content creates
+           sub-sections.  These are not collapsible.
+      <sections>
+          <section address="SubSection1">
+              <title>Sub-section 1</title>
+              <content>
+                  <para>Sub-section content.</para>
+              </content>
+          </section>
+          <section address="SubSection2">
+              <title>Sub-section 2</title>
+              <content>
+                  <para>Sub-section content.</para>
+              </content>
+          </section>
+      </sections> -->
+    </section>
+    <relatedTopics>
+      <!-- One or more of the following:
+           - A local link
+           - An external link
+           - A code entity reference
+
+      <link xlink:href="Other Topic's ID"/>
+      <link xlink:href="Other Topic's ID">Link inner text</link>
+
+      <externalLink>
+          <linkText>Link text</linkText>
+          <linkAlternateText>Optional alternate link text</linkAlternateText>
+          <linkUri>URI</linkUri>
+      </externalLink>
+
+      <codeEntityReference>API member ID</codeEntityReference>
+
+      Examples:
+
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8270" />
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
+
+      <externalLink>
+          <linkText>SHFB on CodePlex</linkText>
+          <linkAlternateText>Go to CodePlex</linkAlternateText>
+          <linkUri>http://shfb.codeplex.com</linkUri>
+      </externalLink>
+
+      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
+      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
+      -->
+    </relatedTopics>
+  </developerConceptualDocument>
+</topic>
\ No newline at end of file

Added: trunk/Tools/Maestro/Doc/Topics/Concept_Services.aml
===================================================================
--- trunk/Tools/Maestro/Doc/Topics/Concept_Services.aml	                        (rev 0)
+++ trunk/Tools/Maestro/Doc/Topics/Concept_Services.aml	2011-11-29 15:42:41 UTC (rev 6261)
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="utf-8"?>
+<topic id="c6f8002d-fa64-48ee-902c-a6939bc6f86c" revisionNumber="1">
+  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!--
+    <summary>
+      <para>Optional summary abstract</para>
+    </summary>
+    -->
+    <introduction>
+      <!-- Uncomment this to generate an outline of the section and sub-section
+           titles.  Specify a numeric value as the inner text to limit it to
+           a specific number of sub-topics when creating the outline.  Specify
+           zero (0) to limit it to top-level sections only.  -->
+      <!-- <autoOutline /> -->
+      <para>Service Interfaces</para>
+    </introduction>
+    <!-- Add one or more top-level section elements.  These are collapsible.
+         If using <autoOutline />, add an address attribute to identify it
+         and specify a title so that it can be jumped to with a hyperlink. -->
+    <section address="ServiceInterfacesOverview">
+      <title>Overview</title>
+      <content>
+        <!-- Uncomment this to create a sub-section outline
+        <autoOutline /> -->
+        <para>
+        The MapGuide Server exposes many different pieces of functionality either as
+        part of the official API, or through the http mapagent. Such functionality is 
+        grouped and represented in the form of service interfaces
+        </para>
+        <para>
+        The Maestro API offers the following services:
+        </para>
+		<list class="bullet">
+		  <listItem><para><codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.MaestroAPI.Services.IResourceService</codeEntityReference> for managing resources</para></listItem>
+		  <listItem><para><codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.MaestroAPI.Services.IFeatureService</codeEntityReference> for querying feature data</para></listItem>
+		  <listItem><para><codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.MaestroAPI.Services.IDrawingService</codeEntityReference> for working with DWF-based Drawing Sources</para></listItem>
+		  <listItem><para><codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.MaestroAPI.Services.IFusionService</codeEntityReference> for assisting in the construction of Fusion flexible layouts</para></listItem>
+		  <listItem><para><codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.MaestroAPI.Services.IMappingService</codeEntityReference> for interacting with the <codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.MaestroAPI.Mapping.RuntimeMap</codeEntityReference></para></listItem>
+		  <listItem><para><codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.MaestroAPI.Services.ISiteService</codeEntityReference> for querying information about a MapGuide Server</para></listItem>
+		  <listItem><para><codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.MaestroAPI.Services.ITileService</codeEntityReference> for the rendering and pre-caching of Map Tile Images</para></listItem>
+		</list>
+      </content>
+    </section>
+    <section address="ServiceInterfacesAvailability">
+      <title>Service availability between various connection implementations</title>
+      <content>
+      No implementation of <codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.MaestroAPI.IServerConnection</codeEntityReference> is a level
+      playing field. Certain implementations may not provide certain services. In such cases, you can
+      use the <codeEntityReference qualifyHint="false">P:OSGeo.MapGuide.MaestroAPI.IServerConnection.Capabilities</codeEntityReference> property to
+      check what services are provided by your particular connection implementation.
+      </content>
+      <content>
+      However, all implementations are <legacyBold>guaranteed</legacyBold> to implement at a bare minimum, the
+      Resource and Feature Service interfaces. As such, these services are available through the respective
+      <codeEntityReference qualifyHint="false">P:OSGeo.MapGuide.MaestroAPI.IServerConnection.ResourceService</codeEntityReference> and 
+      <codeEntityReference qualifyHint="false">P:OSGeo.MapGuide.MaestroAPI.IServerConnection.FeatureService</codeEntityReference>
+      top-level properties
+      </content>
+      <content>
+      Other services are accessible via the <codeEntityReference qualifyHint="false" autoUpgrade="true">M:OSGeo.MapGuide.MaestroAPI.IServerConnection.GetService(System.Int32)</codeEntityReference>
+      method. You will need to cast the returned result to the appropriate interface (all interfaces inherit from <codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.MaestroAPI.Services.IService</codeEntityReference>)
+      </content>
+    </section>
+    <relatedTopics>
+      <!-- One or more of the following:
+           - A local link
+           - An external link
+           - A code entity reference
+
+      <link xlink:href="Other Topic's ID"/>
+      <link xlink:href="Other Topic's ID">Link inner text</link>
+
+      <externalLink>
+          <linkText>Link text</linkText>
+          <linkAlternateText>Optional alternate link text</linkAlternateText>
+          <linkUri>URI</linkUri>
+      </externalLink>
+
+      <codeEntityReference>API member ID</codeEntityReference>
+
+      Examples:
+
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8270" />
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
+
+      <externalLink>
+          <linkText>SHFB on CodePlex</linkText>
+          <linkAlternateText>Go to CodePlex</linkAlternateText>
+          <linkUri>http://shfb.codeplex.com</linkUri>
+      </externalLink>
+
+      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
+      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
+      -->
+    </relatedTopics>
+  </developerConceptualDocument>
+</topic>
\ No newline at end of file

Added: trunk/Tools/Maestro/Doc/Topics/Deployment_AspNet.aml
===================================================================
--- trunk/Tools/Maestro/Doc/Topics/Deployment_AspNet.aml	                        (rev 0)
+++ trunk/Tools/Maestro/Doc/Topics/Deployment_AspNet.aml	2011-11-29 15:42:41 UTC (rev 6261)
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="utf-8"?>
+<topic id="ce7d4037-69e0-434d-9a0a-0ff8e01f9057" revisionNumber="1">
+  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!--
+    <summary>
+      <para>Optional summary abstract</para>
+    </summary>
+    -->
+    <introduction>
+      <!-- Uncomment this to generate an outline of the section and sub-section
+           titles.  Specify a numeric value as the inner text to limit it to
+           a specific number of sub-topics when creating the outline.  Specify
+           zero (0) to limit it to top-level sections only.  -->
+      <!-- <autoOutline /> -->
+      <para>This page details the requirements to consider when deploying your MaestroAPI application for the web</para>
+    </introduction>
+    <!-- Add one or more top-level section elements.  These are collapsible.
+         If using <autoOutline />, add an address attribute to identify it
+         and specify a title so that it can be jumped to with a hyperlink. -->
+    <section address="RequiredAspNetLibs">
+      <title>Binaries that you must include</title>
+      <content>
+        <!-- Uncomment this to create a sub-section outline
+        <autoOutline /> -->
+        <para>
+		When deploying your Maestro web application, you need to ensure that you 
+		have the following binaries included in your application's bin directory:
+		</para>
+		<list class="bullet">
+		  <listItem><para>OSGeo.MapGuide.MaestroAPI.dll</para></listItem>
+		  <listItem><para>ConnectionProviders.xml</para></listItem>
+		  <listItem><para>Ciloci.Flee.dll</para></listItem>
+		  <listItem><para>NetTopologySuite.Merged.dll</para></listItem>
+		  <listItem><para>OSGeo.MapGuide.MaestroAPI.Http.dll</para></listItem>
+		</list>
+		<para>
+		In addition, if you have referenced the OSGeo.MapGuide.ExtenedObjectModels assembly
+		and need to support all known resource versions (greater than v1.0.0), then your application needs to
+		include the following additional binaries in your application's bin directory:
+		</para>
+		<list class="bullet">
+		  <listItem><para>OSGeo.MapGuide.ExtendedObjectModels.dll</para></listItem>
+		  <listItem><para>OSGeo.MapGuide.ObjectModels.*.dll</para></listItem>
+		</list>
+      </content>
+	</section>
+	<section address="OptionalAspNetLibs">
+      <title>Binaries that you must include for optional components</title>
+      <content>
+        <!-- Uncomment this to create a sub-section outline
+        <autoOutline /> -->
+        <para>
+		If your application uses any optional components, then their dependencies will also
+		have to be included in your application's bin directory
+		</para>
+		<para>Editor Library</para>
+		<list class="bullet">
+		  <listItem><para>Aga.Controls.dll</para></listItem>
+		  <listItem><para>ICSharpCode.SharpZipLib.dll</para></listItem>
+		  <listItem><para>Maestro.Packaging.dll</para></listItem>
+		  <listItem><para>Maestro.Shared.UI.dll</para></listItem>
+		</list>
+		<para>Packaging Library</para>
+		<list class="bullet">
+		  <listItem><para>ICSharpCode.SharpZipLib.dll</para></listItem>
+		  <listItem><para>Maestro.Shared.UI.dll</para></listItem>
+		</list>
+		<para>Login Library</para>
+		<list class="bullet">
+		  <listItem><para>Maestro.Shared.UI.dll</para></listItem>
+		</list>
+		<para>Shared UI Library</para>
+		<list class="bullet">
+		  <listItem><para>no additional depedencies</para></listItem>
+		</list>
+      </content>
+    </section>
+    <relatedTopics>
+      <!-- One or more of the following:
+           - A local link
+           - An external link
+           - A code entity reference
+
+      <link xlink:href="Other Topic's ID"/>
+      <link xlink:href="Other Topic's ID">Link inner text</link>
+
+      <externalLink>
+          <linkText>Link text</linkText>
+          <linkAlternateText>Optional alternate link text</linkAlternateText>
+          <linkUri>URI</linkUri>
+      </externalLink>
+
+      <codeEntityReference>API member ID</codeEntityReference>
+
+      Examples:
+
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8270" />
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
+
+      <externalLink>
+          <linkText>SHFB on CodePlex</linkText>
+          <linkAlternateText>Go to CodePlex</linkAlternateText>
+          <linkUri>http://shfb.codeplex.com</linkUri>
+      </externalLink>
+
+      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
+      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
+      -->
+    </relatedTopics>
+  </developerConceptualDocument>
+</topic>
\ No newline at end of file

Added: trunk/Tools/Maestro/Doc/Topics/Deployment_Desktop.aml
===================================================================
--- trunk/Tools/Maestro/Doc/Topics/Deployment_Desktop.aml	                        (rev 0)
+++ trunk/Tools/Maestro/Doc/Topics/Deployment_Desktop.aml	2011-11-29 15:42:41 UTC (rev 6261)
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="utf-8"?>
+<topic id="38658a1e-4008-4eec-9e20-297d38942505" revisionNumber="1">
+  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!--
+    <summary>
+      <para>Optional summary abstract</para>
+    </summary>
+    -->
+    <introduction>
+      <!-- Uncomment this to generate an outline of the section and sub-section
+           titles.  Specify a numeric value as the inner text to limit it to
+           a specific number of sub-topics when creating the outline.  Specify
+           zero (0) to limit it to top-level sections only.  -->
+      <!-- <autoOutline /> -->
+		<para>This page details the requirements to consider when deploying your MaestroAPI application for the desktop</para>
+    </introduction>
+    <!-- Add one or more top-level section elements.  These are collapsible.
+         If using <autoOutline />, add an address attribute to identify it
+         and specify a title so that it can be jumped to with a hyperlink. -->
+    <section address="RequiredDesktopLibs">
+      <title>Binaries that you must include</title>
+      <content>
+        <!-- Uncomment this to create a sub-section outline
+        <autoOutline /> -->
+        <para>
+		When deploying your Maestro desktop application, you need to ensure that you 
+		have the following binaries included:
+		</para>
+		<list class="bullet">
+		  <listItem><para>OSGeo.MapGuide.MaestroAPI.dll</para></listItem>
+		  <listItem><para>ConnectionProviders.xml</para></listItem>
+		  <listItem><para>Ciloci.Flee.dll</para></listItem>
+		  <listItem><para>NetTopologySuite.Merged.dll</para></listItem>
+		  <listItem><para>OSGeo.MapGuide.MaestroAPI.Http.dll</para></listItem>
+		</list>
+		<para>
+		In addition, if you have referenced the OSGeo.MapGuide.ExtenedObjectModels assembly
+		and need to support all known resource versions (greater than v1.0.0), then your application needs to
+		include the following additional binaries:
+		</para>
+		<list class="bullet">
+		  <listItem><para>OSGeo.MapGuide.ExtendedObjectModels.dll</para></listItem>
+		  <listItem><para>OSGeo.MapGuide.ObjectModels.*.dll</para></listItem>
+		</list>
+      </content>
+    </section>
+    <section address="OptionalDesktopLibs">
+      <title>Binaries that you must include for optional components</title>
+      <content>
+        <!-- Uncomment this to create a sub-section outline
+        <autoOutline /> -->
+        <para>
+		If your application uses any optional components, then their dependencies will also
+		have to be included with your application
+		</para>
+		<para>Editor Library</para>
+		<list class="bullet">
+		  <listItem><para>Aga.Controls.dll</para></listItem>
+		  <listItem><para>ICSharpCode.SharpZipLib.dll</para></listItem>
+		  <listItem><para>Maestro.Packaging.dll</para></listItem>
+		  <listItem><para>Maestro.Shared.UI.dll</para></listItem>
+		</list>
+		<para>Packaging Library</para>
+		<list class="bullet">
+		  <listItem><para>ICSharpCode.SharpZipLib.dll</para></listItem>
+		  <listItem><para>Maestro.Shared.UI.dll</para></listItem>
+		</list>
+		<para>Login Library</para>
+		<list class="bullet">
+		  <listItem><para>Maestro.Shared.UI.dll</para></listItem>
+		</list>
+		<para>Shared UI Library</para>
+		<list class="bullet">
+		  <listItem><para>no additional depedencies</para></listItem>
+		</list>
+      </content>
+      <!-- If a section contains a sections element, its content creates
+           sub-sections.  These are not collapsible.
+      <sections>
+          <section address="SubSection1">
+              <title>Sub-section 1</title>
+              <content>
+                  <para>Sub-section content.</para>
+              </content>
+          </section>
+          <section address="SubSection2">
+              <title>Sub-section 2</title>
+              <content>
+                  <para>Sub-section content.</para>
+              </content>
+          </section>
+      </sections> -->
+    </section>
+    <relatedTopics>
+      <!-- One or more of the following:
+           - A local link
+           - An external link
+           - A code entity reference
+
+      <link xlink:href="Other Topic's ID"/>
+      <link xlink:href="Other Topic's ID">Link inner text</link>
+
+      <externalLink>
+          <linkText>Link text</linkText>
+          <linkAlternateText>Optional alternate link text</linkAlternateText>
+          <linkUri>URI</linkUri>
+      </externalLink>
+
+      <codeEntityReference>API member ID</codeEntityReference>
+
+      Examples:
+
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8270" />
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
+
+      <externalLink>
+          <linkText>SHFB on CodePlex</linkText>
+          <linkAlternateText>Go to CodePlex</linkAlternateText>
+          <linkUri>http://shfb.codeplex.com</linkUri>
+      </externalLink>
+
+      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
+      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
+      -->
+    </relatedTopics>
+  </developerConceptualDocument>
+</topic>
\ No newline at end of file

Added: trunk/Tools/Maestro/Doc/Topics/GettingStarted.aml
===================================================================
--- trunk/Tools/Maestro/Doc/Topics/GettingStarted.aml	                        (rev 0)
+++ trunk/Tools/Maestro/Doc/Topics/GettingStarted.aml	2011-11-29 15:42:41 UTC (rev 6261)
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="utf-8"?>
+<topic id="0395ae33-fb9f-46cf-bf1e-528a4ec3d948" revisionNumber="1">
+  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!--
+    <summary>
+      <para>Optional summary abstract</para>
+    </summary>
+    -->
+    <introduction>
+      <!-- Uncomment this to generate an outline of the section and sub-section
+           titles.  Specify a numeric value as the inner text to limit it to
+           a specific number of sub-topics when creating the outline.  Specify
+           zero (0) to limit it to top-level sections only.  -->
+      <!-- <autoOutline /> -->
+      <para>Getting started with the Maestro API</para>
+    </introduction>
+    <!-- Add one or more top-level section elements.  These are collapsible.
+         If using <autoOutline />, add an address attribute to identify it
+         and specify a title so that it can be jumped to with a hyperlink. -->
+    <section address="GettingStartedRequiredKnowledge">
+      <title>Required Knowledge</title>
+      <content>
+        <!-- Uncomment this to create a sub-section outline
+        <autoOutline /> -->
+        <para>
+        Before you get started with the Maestro API, it helps to have an understanding
+        of the following:
+        </para>
+		<list class="bullet">
+		  <listItem><para>Programming in C# and/or the .net Framework. Most of the code examples illustrated here are in C#</para></listItem>
+		  <listItem><para>Understanding the basics of MapGuide development and/or the MapGuide API. The Maestro API supplements MapGuide as an additional development option and carries many of the same concepts used in the official MapGuide API</para></listItem>
+		</list>
+      </content>
+    </section>
+    <section address="WhyMaestroApi">
+      <title>Why use the Maestro API?</title>
+      <content>
+        <!-- Uncomment this to create a sub-section outline
+        <autoOutline /> -->
+        <para>
+        As mentioned above, the Maestro API is an alternative option for MapGuide application development. 
+        Depending on your needs, the Maestro API may either complement the official MapGuide API or be a wholesale
+        replacement. The Maestro API may be of interest to you if:
+        </para>
+		<list class="bullet">
+		  <listItem><para>You prefer to work with MapGuide resources as strongly-typed objects instead of raw XML content</para></listItem>
+		  <listItem><para>You require a strongly-typed service client interface to the http mapagent</para></listItem>
+		  <listItem><para>You would like to build MapGuide applications/libraries that can work on <legacyBold>both</legacyBold> client and web tiers</para></listItem>
+		  <listItem><para>You would like to build MapGuide applications/libraries that can easily integrate with the respective .net web (asp.net) and desktop (WinForms/WPF) platforms</para></listItem>
+		</list>
+      </content>
+    </section>
+    <section address="SupportedVersions">
+      <title>Supported versions of .net Framework / Visual Studio</title>
+      <content>
+        <!-- Uncomment this to create a sub-section outline
+        <autoOutline /> -->
+        <para>
+        To use the Maestro API in your project, your application must target the .net Framework 2.0 or higher. You can use
+        any version (and any edition) of Visual Studio that supports targeting the .net Framework 2.0 or higher.
+        </para>
+      </content>
+    </section>
+    <section address="VSSetup">
+      <title>Visual Studio project setup</title>
+      <content>
+        <!-- Uncomment this to create a sub-section outline
+        <autoOutline /> -->
+        <para>
+        To use the Maestro API in your project, simply reference the OSGeo.MapGuide.MaestroAPI assembly from the SDK.
+        </para>
+      </content>
+    </section>
+	<section address="ExtendedModelSetup">
+      <title>Setting up extended model support</title>
+      <content>
+        <!-- Uncomment this to create a sub-section outline
+        <autoOutline /> -->
+        <para>
+        The Maestro API understands and supports all known schema versions of every resource. If your application only references
+        the OSGeo.MapGuide.MaestroAPI assembly, it will only recognise v1.0.0 resources. Newer versions will return an <codeEntityReference qualifyHint="false">T:OSGeo.MapGuide.ObjectModels.UntypedResource</codeEntityReference> if you
+        are to retrieve a resource via <codeEntityReference qualifyHint="false" autoUpgrade="true">M:OSGeo.MapGuide.MaestroAPI.Services.IResourceService.GetResource(System.String)</codeEntityReference>.
+        For your application to recognise all supported resource schema versions, and to have the above APIs return strongly typed objects,
+        you will need to also reference the OSGeo.MapGuide.ExtendedObjectModels assembly.
+        
+        Then in your application's entry point, add the following line of code:
+        </para>
+		<code language="cs">
+		/// Code 
+		ModelSetup.Initialize();
+		</code>
+		<para>
+		This line of code will automatically register the additional schema versions with the Maestro API. For an ASP.net application,
+		you can use the Application_Start() entry point in Global.asax to add this line of code.
+		</para>
+      </content>
+    </section>
+    <relatedTopics>
+      <!-- One or more of the following:
+           - A local link
+           - An external link
+           - A code entity reference
+
+      <link xlink:href="Other Topic's ID"/>
+      <link xlink:href="Other Topic's ID">Link inner text</link>
+
+      <externalLink>
+          <linkText>Link text</linkText>
+          <linkAlternateText>Optional alternate link text</linkAlternateText>
+          <linkUri>URI</linkUri>
+      </externalLink>
+
+      <codeEntityReference>API member ID</codeEntityReference>
+
+      Examples:
+
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8270" />
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
+
+      <externalLink>
+          <linkText>SHFB on CodePlex</linkText>
+          <linkAlternateText>Go to CodePlex</linkAlternateText>
+          <linkUri>http://shfb.codeplex.com</linkUri>
+      </externalLink>
+
+      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
+      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
+      -->
+    </relatedTopics>
+  </developerConceptualDocument>
+</topic>
\ No newline at end of file

Added: trunk/Tools/Maestro/Doc/Topics/Welcome.aml
===================================================================
--- trunk/Tools/Maestro/Doc/Topics/Welcome.aml	                        (rev 0)
+++ trunk/Tools/Maestro/Doc/Topics/Welcome.aml	2011-11-29 15:42:41 UTC (rev 6261)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<topic id="cc9271d0-86e4-480a-9a4c-b36ecb1e153f" revisionNumber="1">
+  <developerOrientationDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!--
+    <summary>
+      <para>Optional summary abstract</para>
+    </summary>
+    -->
+    <introduction>
+      <para>
+      This is the reference documentation for the MapGuide Maestro API. The API consists of:
+	  </para>
+	 <list class="bullet">
+		   <listItem><para>The Maestro API core (OSGeo.MapGuide.MaestroAPI.dll)</para></listItem>
+		   <listItem><para>The Maestro Extended Object Model Helper (OSGeo.MapGuide.ExtendedObjectModels.dll)</para></listItem>
+		   <listItem><para>The Maestro Editor UI library (Maestro.Editors.dll)</para></listItem>
+		   <listItem><para>The Maestro Packaging library (Maestro.Packaging.dll)</para></listItem>
+		   <listItem><para>The Maestro Login UI library (Maestro.Login.dll)</para></listItem>
+		   <listItem><para>The Maestro Shared UI library (Maestro.Shared.UI.dll)</para></listItem>
+		</list>
+      
+    </introduction>
+    <!-- <inThisSection>Optional description of content in this section</inThisSection> -->
+    <!-- <reference>Optional reference section</reference> -->
+    <!-- <relatedSections>Optional related sections info</relatedSections> -->
+    <!-- <externalResources>Optional external resources section</externalResources> -->
+    <relatedTopics>
+      <!-- One or more of the following:
+           - A local link
+           - An external link
+           - A code entity reference
+
+      <link xlink:href="Other Topic's ID">Link text</link>
+      <externalLink>
+          <linkText>Link text</linkText>
+          <linkAlternateText>Optional alternate link text</linkAlternateText>
+          <linkUri>URI</linkUri>
+      </externalLink>
+      <codeEntityReference>API member ID</codeEntityReference>
+
+      Examples:
+
+      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
+
+      <externalLink>
+          <linkText>SHFB on CodePlex</linkText>
+          <linkAlternateText>Go to CodePlex</linkAlternateText>
+          <linkUri>http://shfb.codeplex.com</linkUri>
+      </externalLink>
+
+      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
+      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
+      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
+      -->
+    </relatedTopics>
+  </developerOrientationDocument>
+</topic>
\ No newline at end of file



More information about the mapguide-commits mailing list