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

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Mon Dec 23 20:09:52 PST 2013


Author: jng
Date: 2013-12-23 20:09:52 -0800 (Mon, 23 Dec 2013)
New Revision: 7965

Added:
   trunk/Tools/Maestro/Doc/Topics/AboutProviderTemplate.aml
   trunk/Tools/Maestro/Doc/Topics/HowtoUseProviderTemplate.aml
   trunk/Tools/Maestro/Doc/Topics/TestingProvider.aml
Modified:
   trunk/Tools/Maestro/Doc/Layout.content
   trunk/Tools/Maestro/Doc/MaestroAPI.shfbproj
   trunk/Tools/Maestro/Doc/Topics/Concept_Connections.aml
   trunk/Tools/Maestro/Doc/Topics/Concept_RuntimeMap.aml
   trunk/Tools/Maestro/Doc/Topics/GettingStarted.aml
Log:
Maestro API documentation updates. Added some new content covering the ProviderTemplate tool and updated document style to VS2010

Modified: trunk/Tools/Maestro/Doc/Layout.content
===================================================================
--- trunk/Tools/Maestro/Doc/Layout.content	2013-12-23 15:45:35 UTC (rev 7964)
+++ trunk/Tools/Maestro/Doc/Layout.content	2013-12-24 04:09:52 UTC (rev 7965)
@@ -1,9 +1,9 @@
 <?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="cc9271d0-86e4-480a-9a4c-b36ecb1e153f" visible="True" isDefault="true" isSelected="true" />
+  <Topic id="14cc3d10-a228-4fac-99b8-c0a66a9090fe" visible="True" noFile="true" isExpanded="true" 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="646587e4-cc05-4727-9999-81e2a0ddae2a" visible="True" noFile="true" isExpanded="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" />
@@ -22,4 +22,9 @@
     </Topic>
     <Topic id="3bb213ee-9083-4673-9463-9399bbd1b91c" visible="True" title="Class Diagram" tocTitle="Class Diagram" linkText="Class Diagram" />
   </Topic>
+  <Topic id="42969ddc-dca5-4925-985f-5d4fa2a2178b" visible="True" noFile="true" isExpanded="true" apiParentMode="InsertAfter" title="Using the ProviderTemplate tool" tocTitle="Using the ProviderTemplate tool" linkText="Using the ProviderTemplate tool">
+    <Topic id="d9dae2b2-3191-4a14-a9ee-024d23ef3a76" visible="True" title="Introduction" linkText="Introduction" />
+    <Topic id="a6602b0d-a00e-4e5b-838e-e61e22c7034b" visible="True" title="How to use the tool" linkText="How to use the tool" />
+    <Topic id="f9e844cf-632e-4e2e-873c-b17de9875cc4" visible="True" title="Testing your LocalNative provider" linkText="Testing your LocalNative provider" />
+  </Topic>
 </Topics>
\ No newline at end of file

Modified: trunk/Tools/Maestro/Doc/MaestroAPI.shfbproj
===================================================================
--- trunk/Tools/Maestro/Doc/MaestroAPI.shfbproj	2013-12-23 15:45:35 UTC (rev 7964)
+++ trunk/Tools/Maestro/Doc/MaestroAPI.shfbproj	2013-12-24 04:09:52 UTC (rev 7965)
@@ -20,26 +20,27 @@
     <FrameworkVersion>.NET 4.0.30319</FrameworkVersion>
     <HelpTitle>MapGuide Maestro API Documentation</HelpTitle>
     <IndentHtml>True</IndentHtml>
-    <PresentationStyle>vs2005</PresentationStyle>
+    <PresentationStyle>vs2010</PresentationStyle>
     <SandcastlePath>
     </SandcastlePath>
     <DocumentationSources>
       <DocumentationSource sourceFile="..\SDK\addin-bin\Maestro.Base.dll" />
-<DocumentationSource sourceFile="..\SDK\addin-bin\Maestro.Base.xml" />
-<DocumentationSource sourceFile="..\SDK\bin\Maestro.Editors.dll" />
-<DocumentationSource sourceFile="..\SDK\bin\Maestro.Editors.xml" />
-<DocumentationSource sourceFile="..\SDK\bin\Maestro.Login.dll" />
-<DocumentationSource sourceFile="..\SDK\bin\Maestro.Login.xml" />
-<DocumentationSource sourceFile="..\SDK\bin\Maestro.Packaging.dll" />
-<DocumentationSource sourceFile="..\SDK\bin\Maestro.Packaging.xml" />
-<DocumentationSource sourceFile="..\SDK\bin\Maestro.Shared.UI.dll" />
-<DocumentationSource sourceFile="..\SDK\bin\Maestro.Shared.UI.xml" />
-<DocumentationSource sourceFile="..\SDK\bin\Maestro.MapViewer.dll" />
-<DocumentationSource sourceFile="..\SDK\bin\Maestro.MapViewer.xml" />
-<DocumentationSource sourceFile="..\SDK\bin\OSGeo.MapGuide.ExtendedObjectModels.dll" />
-<DocumentationSource sourceFile="..\SDK\bin\OSGeo.MapGuide.ExtendedObjectModels.xml" />
-<DocumentationSource sourceFile="..\SDK\bin\OSGeo.MapGuide.MaestroAPI.dll" />
-<DocumentationSource sourceFile="..\SDK\bin\OSGeo.MapGuide.MaestroAPI.xml" /></DocumentationSources>
+      <DocumentationSource sourceFile="..\SDK\addin-bin\Maestro.Base.xml" />
+      <DocumentationSource sourceFile="..\SDK\bin\Maestro.Editors.dll" />
+      <DocumentationSource sourceFile="..\SDK\bin\Maestro.Editors.xml" />
+      <DocumentationSource sourceFile="..\SDK\bin\Maestro.Login.dll" />
+      <DocumentationSource sourceFile="..\SDK\bin\Maestro.Login.xml" />
+      <DocumentationSource sourceFile="..\SDK\bin\Maestro.Packaging.dll" />
+      <DocumentationSource sourceFile="..\SDK\bin\Maestro.Packaging.xml" />
+      <DocumentationSource sourceFile="..\SDK\bin\Maestro.Shared.UI.dll" />
+      <DocumentationSource sourceFile="..\SDK\bin\Maestro.Shared.UI.xml" />
+      <DocumentationSource sourceFile="..\SDK\bin\Maestro.MapViewer.dll" />
+      <DocumentationSource sourceFile="..\SDK\bin\Maestro.MapViewer.xml" />
+      <DocumentationSource sourceFile="..\SDK\bin\OSGeo.MapGuide.ExtendedObjectModels.dll" />
+      <DocumentationSource sourceFile="..\SDK\bin\OSGeo.MapGuide.ExtendedObjectModels.xml" />
+      <DocumentationSource sourceFile="..\SDK\bin\OSGeo.MapGuide.MaestroAPI.dll" />
+      <DocumentationSource sourceFile="..\SDK\bin\OSGeo.MapGuide.MaestroAPI.xml" />
+    </DocumentationSources>
     <VisibleItems>Attributes, InheritedMembers, Protected, SealedProtected</VisibleItems>
     <ApiFilter>
       <Filter entryType="Namespace" fullName="Aga.Controls" isExposed="False" />
@@ -65,7 +66,7 @@
     <HtmlSdkLinkType>None</HtmlSdkLinkType>
     <MSHelp2SdkLinkType>None</MSHelp2SdkLinkType>
     <MSHelpViewerSdkLinkType>None</MSHelpViewerSdkLinkType>
-    <CopyrightText>%28c%29 2012, Jackie Ng</CopyrightText>
+    <CopyrightText>%28c%29 2013, Jackie Ng</CopyrightText>
     <SyntaxFilters>CSharp, VisualBasic, CPlusPlus, FSharp, AspNet</SyntaxFilters>
     <RootNamespaceContainer>True</RootNamespaceContainer>
     <Preliminary>False</Preliminary>
@@ -74,6 +75,7 @@
 The main namespaces of the Maestro API are listed below
 &lt%3b/summary&gt%3b</ProjectSummary>
     <RootNamespaceTitle>API Reference</RootNamespaceTitle>
+    <IncludeFavorites>True</IncludeFavorites>
   </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
@@ -98,6 +100,9 @@
     <ContentLayout Include="Layout.content" />
   </ItemGroup>
   <ItemGroup>
+    <None Include="Topics\TestingProvider.aml" />
+    <None Include="Topics\HowtoUseProviderTemplate.aml" />
+    <None Include="Topics\AboutProviderTemplate.aml" />
     <None Include="Topics\ClassDiagram.aml" />
     <None Include="Topics\Component_Login.aml" />
     <None Include="Topics\GettingStarted.aml" />

Added: trunk/Tools/Maestro/Doc/Topics/AboutProviderTemplate.aml
===================================================================
--- trunk/Tools/Maestro/Doc/Topics/AboutProviderTemplate.aml	                        (rev 0)
+++ trunk/Tools/Maestro/Doc/Topics/AboutProviderTemplate.aml	2013-12-24 04:09:52 UTC (rev 7965)
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="utf-8"?>
+<topic id="d9dae2b2-3191-4a14-a9ee-024d23ef3a76" 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>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>Introduction</title>
+      <content>
+        <!-- Uncomment this to create a sub-section outline
+        <autoOutline /> -->
+        <para>
+        The ProviderTemplate tool that allows you to build your own LocalNative connection 
+        provider that works against your specific installation of MapGuide/AIMS. The LocalNative
+        connection provider wraps the official MapGuide .net API with the Maestro API interfaces.
+        </para>
+        <para>
+        In previous releases, the LocalNative connection support was built into the MaestroAPI 
+        and required tricks like assembly binding redirection to work with newer versions of 
+        MapGuide/AIMS. This approach makes debugging difficult and problems hard to diagnose and
+        resolve.
+        </para>
+        <para>
+        For this iteration of the Maestro API, we provide the source code of the LocalNative
+        connection provider with the SDK which you can then compile against the official
+        .net assemblies in your installation of MapGuide/AIMS using this tool.
+        </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

Modified: trunk/Tools/Maestro/Doc/Topics/Concept_Connections.aml
===================================================================
--- trunk/Tools/Maestro/Doc/Topics/Concept_Connections.aml	2013-12-23 15:45:35 UTC (rev 7964)
+++ trunk/Tools/Maestro/Doc/Topics/Concept_Connections.aml	2013-12-24 04:09:52 UTC (rev 7965)
@@ -49,7 +49,7 @@
 		  	<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>
+<linkUri>http://trac.osgeo.org/mapguide/wiki/mg-desktop</linkUri>
 <linkTarget>_blank</linkTarget>
 </externalLink>
  API)	</para>
@@ -59,9 +59,10 @@
 		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
+		The LocalNative implementation source code 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
+	    provider is disabled in the ConnectionProviders.xml file by default. The SDK includes a tool
+	    to help you build this LocalNative provider. <link xlink:href="d9dae2b2-3191-4a14-a9ee-024d23ef3a76">Click here for more info.</link>
 		</para>
 		<para>
 		The Local implementation is not included with the SDK. The windows version of Maestro

Modified: trunk/Tools/Maestro/Doc/Topics/Concept_RuntimeMap.aml
===================================================================
--- trunk/Tools/Maestro/Doc/Topics/Concept_RuntimeMap.aml	2013-12-23 15:45:35 UTC (rev 7964)
+++ trunk/Tools/Maestro/Doc/Topics/Concept_RuntimeMap.aml	2013-12-24 04:09:52 UTC (rev 7965)
@@ -59,15 +59,8 @@
       	such, usage of the RuntimeMap in the Maestro API is restricted to the following versions of MapGuide (includes point releases and service packs):
       	</para>
 		<list class="bullet">
-		  <listItem><para>MapGuide Open Source 1.2</para></listItem>
-		  <listItem><para>MapGuide Open Source 2.0</para></listItem>
-		  <listItem><para>MapGuide Open Source 2.1</para></listItem>
-		  <listItem><para>MapGuide Open Source 2.2</para></listItem>
-		  <listItem><para>Autodesk MapGuide Enterprise 2008</para></listItem>
-		  <listItem><para>Autodesk MapGuide Enterprise 2009</para></listItem>
-		  <listItem><para>Autodesk MapGuide Enterprise 2010</para></listItem>
-		  <listItem><para>Autodesk MapGuide Enterprise 2011</para></listItem>
-		  <listItem><para>Autodesk Infrastructure Map Server 2012</para></listItem>
+		  <listItem><para>MapGuide Open Source 1.2 and newer</para></listItem>
+		  <listItem><para>Autodesk MapGuide Enterprise / Infrastructure Map Serve 2008 and newer</para></listItem>
 		</list>
 		<para>
 		If you are not using a version of MapGuide that is on this list, there is no guarantee the RuntimeMap will work as expected.

Modified: trunk/Tools/Maestro/Doc/Topics/GettingStarted.aml
===================================================================
--- trunk/Tools/Maestro/Doc/Topics/GettingStarted.aml	2013-12-23 15:45:35 UTC (rev 7964)
+++ trunk/Tools/Maestro/Doc/Topics/GettingStarted.aml	2013-12-24 04:09:52 UTC (rev 7965)
@@ -69,6 +69,11 @@
         <para>
         To use the Maestro API in your project, simply reference the OSGeo.MapGuide.MaestroAPI assembly from the SDK.
         </para>
+        <para>
+        Also ensure that the ConnectionProviders.xml file is also copied to your application's output directory. If you want to use certain
+        connection providers in your application, make sure the provider assemblies are registered in ConnectionProviders.xml and that the
+        provider assemblies are also in your output directory.
+        </para>
       </content>
     </section>
 	<section address="ExtendedModelSetup">
@@ -80,8 +85,13 @@
         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>.
+        
+        Such objects are basically arbitrary containers of XML content.
+        </para>
+        <para>
         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.
+        you will need to also reference the OSGeo.MapGuide.ExtendedObjectModels assembly and have all OSGeo.MapGuide.ObjectModels.* assemblies
+        copied to your application's output directory (which referencing the ExtendedObjectModels assembly should automatically do)
         
         Then in your application's entry point, add the following line of code:
         </para>
@@ -90,7 +100,8 @@
 		</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.
+		you can use the Application_Start() entry point in Global.asax to add this line of code. For ASP.net MVC and other .net-based
+		web frameworks, look for a similar initialization entry point to insert this line of code.
 		</para>
       </content>
     </section>

Added: trunk/Tools/Maestro/Doc/Topics/HowtoUseProviderTemplate.aml
===================================================================
--- trunk/Tools/Maestro/Doc/Topics/HowtoUseProviderTemplate.aml	                        (rev 0)
+++ trunk/Tools/Maestro/Doc/Topics/HowtoUseProviderTemplate.aml	2013-12-24 04:09:52 UTC (rev 7965)
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="utf-8"?>
+<topic id="a6602b0d-a00e-4e5b-838e-e61e22c7034b" revisionNumber="1">
+  <developerHowToDocument 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>The ProviderTemplate tool allows you to build your own LocalNative provider against your specific version of MapGuide/AIMS</para>
+      <para><legacyBold>NOTE: These instructions below assume the SDK directory structure is not modified. Do not change this directory structure or these instructions below may not work</legacyBold></para>
+    </introduction>
+    <!-- Optional procedures followed by optional code example but must have
+         at least one procedure or code example -->
+    <procedure>
+      <title>How to use the tool</title>
+      <steps class="ordered">
+        <step>
+          <content>
+            <para>Run ProviderTemplate.exe</para>
+          </content>
+        </step>
+        <step>
+          <content>
+            <para>Ensure the path to csc.exe is correct. On most windows installations, this is the case</para>
+          </content>
+        </step>
+        <step>
+          <content>
+            <para>Ensure the path to your MapGuide .net assemblies is correct</para>
+          </content>
+        </step>
+        <step>
+          <content>
+            <para>Set the MapGuide version to the major.minor.revision version of your MapGuide/AIMS server. This is included in the file name of the compiled assembly</para>
+          </content>
+        </step>
+        <step>
+          <content>
+            <para>
+            Set the MapGuide assembly type. The MapGuide .net API is either monolithic (a single MapGuideDotNetApi.dll) or modular (multiple OSGeo.MapGuide dlls).
+            Versions of MapGuide Open Source before 2.2 (or MGE/AIMS 2011) are monolithic. Releases afterwards are modular.
+            </para>
+          </content>
+        </step>
+        <step>
+          <content>
+            <para>Optionally tick the <legacyBold>Build Debug</legacyBold> checkbox to build the LocalNative provider in debug mode</para>
+          </content>
+        </step>
+        <step>
+          <content>
+            <para>Click the <legacyBold>Build</legacyBold> button to build the LocalNative provider assembly. The assembly will be in the <legacyBold>Bin</legacyBold> directory and the supporting dlls will be in the <legacyBold>Lib\MapGuide</legacyBold> directory.</para>
+          </content>
+        </step>
+        <step>
+          <content>
+            <para>
+            Copy the LocalNative provider assembly and its supporting dlls to your application's output directory.
+            Edit the ConnectionProviders.xml file to include an entry for your LocalNative provider assembly. The name of the provider must
+            be <legacyBold>Maestro.LocalNative</legacyBold> and the type must be <legacyBold>OSGeo.MapGuide.MaestroAPI.LocalNativeConnection</legacyBold>
+            </para>
+          </content>
+        </step>
+      </steps>
+      <!-- <conclusion>Optional conclusion</conclusion> -->
+    </procedure>
+    <!-- <codeExample>Optional code example</codeExample> -->
+    <!-- <buildInstructions>Optional instructions for building a
+         code example.</buildInstructions> -->
+    <!-- <robustProgramming>Optional discussion of error handling and other
+         issues related to writing solid code.</robustProgramming> -->
+    <!-- <security>Optional discussion of security issues.</security> -->
+    <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>
+  </developerHowToDocument>
+</topic>
\ No newline at end of file

Added: trunk/Tools/Maestro/Doc/Topics/TestingProvider.aml
===================================================================
--- trunk/Tools/Maestro/Doc/Topics/TestingProvider.aml	                        (rev 0)
+++ trunk/Tools/Maestro/Doc/Topics/TestingProvider.aml	2013-12-24 04:09:52 UTC (rev 7965)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="utf-8"?>
+<topic id="f9e844cf-632e-4e2e-873c-b17de9875cc4" revisionNumber="1">
+  <developerHowToDocument 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>To ensure the LocalNative provider assembly you built works, you should run the assembly with the Maestro API test runner</para>
+    </introduction>
+    <!-- Optional procedures followed by optional code example but must have
+         at least one procedure or code example -->
+    <procedure>
+      <title>Testing the LocalNative provider</title>
+      <steps class="ordered">
+        <step>
+          <content>
+            <para>Copy the LocalNative provider assembly and its supportng dlls to the <legacyBold>Test</legacyBold> directory of the SDK</para>
+          </content>
+        </step>
+        <step>
+          <content>
+            <para>
+            Edit the ConnectionProviders.xml file to include an entry for your LocalNative provider assembly. The name of the provider must
+            be <legacyBold>Maestro.LocalNative</legacyBold> and the type must be <legacyBold>OSGeo.MapGuide.MaestroAPI.LocalNativeConnection</legacyBold>
+            </para>
+          </content>
+        </step>
+        <step>
+          <content>
+            <para>
+            If you built the LocalNative provider against the 32-bit MapGuide .net assemblies, run <legacyBold>MaestroAPITestRunner.exe</legacyBold> to run the test suite
+            </para>
+            <para>
+            If you built the LocalNative provider against the 64-bit MapGuide .net assemblies, run <legacyBold>MaestroAPITestRunner64.exe</legacyBold> to run the test suite
+            </para>
+            <para>
+            If the test runner reports 0 test failures, your LocalNative provider has passed validation.
+            </para>
+          </content>
+        </step>
+      </steps>
+      <!-- <conclusion>Optional conclusion</conclusion> -->
+    </procedure>
+    <!-- <codeExample>Optional code example</codeExample> -->
+    <!-- <buildInstructions>Optional instructions for building a
+         code example.</buildInstructions> -->
+    <!-- <robustProgramming>Optional discussion of error handling and other
+         issues related to writing solid code.</robustProgramming> -->
+    <!-- <security>Optional discussion of security issues.</security> -->
+    <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>
+  </developerHowToDocument>
+</topic>
\ No newline at end of file



More information about the mapguide-commits mailing list