<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v = 
"urn:schemas-microsoft-com:vml" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word" xmlns:st1 = 
"urn:schemas-microsoft-com:office:smarttags"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-2022-jp">
<META content="MSHTML 6.00.5730.11" name=GENERATOR><!--[if !mso]>
<STYLE>v\:* {
        BEHAVIOR: url(#default#VML)
}
o\:* {
        BEHAVIOR: url(#default#VML)
}
w\:* {
        BEHAVIOR: url(#default#VML)
}
.shape {
        BEHAVIOR: url(#default#VML)
}
</STYLE>
<![endif]--><o:SmartTagType name="PersonName" 
namespaceuri="urn:schemas-microsoft-com:office:smarttags"></o:SmartTagType><!--[if !mso]>
<STYLE>st1\:* {
        BEHAVIOR: url(#default#ieooui)
}
</STYLE>
<![endif]-->
<STYLE>@font-face {
        font-family: SimSun;
}
@font-face {
        font-family: MS Gothic;
}
@font-face {
        font-family: Tahoma;
}
@font-face {
        font-family: @SimSun;
}
@font-face {
        font-family: MS PGothic;
}
@font-face {
        font-family: @MS PGothic;
}
@font-face {
        font-family: @MS Gothic;
}
@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.25in 1.0in 1.25in; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; COLOR: black; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; COLOR: black; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; COLOR: black; FONT-FAMILY: "Times New Roman"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: blue; TEXT-DECORATION: underline
}
P {
        FONT-SIZE: 12pt; MARGIN-LEFT: 0in; MARGIN-RIGHT: 0in; FONT-FAMILY: "Times New Roman"; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto
}
CODE {
        FONT-FAMILY: "Courier New"
}
PRE {
        FONT-SIZE: 10pt; MARGIN: 0in 0in 0pt; COLOR: black; FONT-FAMILY: "Courier New"
}
SPAN.EmailStyle20 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle21 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle22 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal-reply
}
DIV.Section1 {
        page: Section1
}
OL {
        MARGIN-BOTTOM: 0in
}
UL {
        MARGIN-BOTTOM: 0in
}
</STYLE>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]--></HEAD>
<BODY lang=EN-US vLink=blue link=blue bgColor=white>
<DIV dir=ltr align=left><SPAN class=912221423-06122006><FONT face=Arial 
color=#0000ff size=2>The numbers are different for this than for the 
ResourceService EnumerateResources call.&nbsp; It would be nice if they could be 
consistent:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=912221423-06122006><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=912221423-06122006><FONT face=Arial 
color=#0000ff size=2>From:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=912221423-06122006><FONT face=Arial 
color=#0000ff size=2><A 
href="https://mapguide.osgeo.org/nonav/docs/webapi/d8/de1/class_mg_resource_service_de732787e769efc5b1bc1aeb8e2b1770.html#de732787e769efc5b1bc1aeb8e2b1770">https://mapguide.osgeo.org/nonav/docs/webapi/d8/de1/class_mg_resource_service_de732787e769efc5b1bc1aeb8e2b1770.html#de732787e769efc5b1bc1aeb8e2b1770</A></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=912221423-06122006><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=912221423-06122006><FONT face=Arial 
color=#0000ff size=2><FONT color=#000000 size=3>(int) Recursion depth, relative 
to the specified resource. </FONT>
<UL>
  <LI>If the resource is a document, depth must be set to 0. 
  <LI>If the resource is a folder: 
  <UL>
    <LI>If the depth is equal to 0, only information about the specified folder 
    is returned. 
    <LI>If the depth is greater than 0, information about the folder and its 
    descendants up to the specified depth are returned. </LI></UL>
  <LI>If the depth is -1, information about the folder and all its descendants 
  is returned. </LI></UL></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=912221423-06122006><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=912221423-06122006><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> Tony Fang [mailto:tony.fang@autodesk.com] 
<BR><B>Sent:</B> Wednesday, December 06, 2006 15:10<BR><B>To:</B> 
dev@mapguide.osgeo.org<BR><B>Subject:</B> RE: [mapguide-dev] Unmanaged Data APIs 
RFC<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV class=Section1>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">I’ve updated the 
Unmanaged Data APIs RFC.<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">http://wiki.osgeo.org/index.php/MapGuide_RFC_2_-_Unmanaged_Data_APIs<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">The main change is the 
addition of the 3 Resource Service API functions. <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Please have a look and 
post any feedback to the group.<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Thanks,<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Tony 
Fang<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt; COLOR: windowtext">The folllowing API functions will be 
added to the Resource Service: <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt; COLOR: windowtext"><BR>virtual MgStringCollection * 
MgResourceService::EnumerateUnmanagedData(CREFSTRING <I><SPAN 
style="FONT-STYLE: italic">dataTypeFilter</SPAN></I>, INT32 <I><SPAN 
style="FONT-STYLE: italic">depth</SPAN></I>); <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt; COLOR: windowtext">Enumerates the available unmanaged 
data from the server. <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><B><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-WEIGHT: bold; FONT-SIZE: 12pt; COLOR: windowtext">Parameters:</SPAN></FONT></B><FONT 
color=black><SPAN style="COLOR: windowtext"> <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><I><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt; COLOR: windowtext; FONT-STYLE: italic">dataTypeFilter</SPAN></FONT></I><FONT 
color=black><SPAN style="COLOR: windowtext"> is a filter on the returned data. 
E.g. SHP, SDF, DWF, RASTER, FOLDER. Empty string will return all data types. 
FOLDER returns a list of subfolders. <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><I><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt; COLOR: windowtext; FONT-STYLE: italic">depth</SPAN></FONT></I><FONT 
color=black><SPAN style="COLOR: windowtext"> is how many levels of subfolders it 
should search for data. 0 to search all subfolders, 1 to search only the 
top-level, 2 to search down one subfolder, etc. <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><B><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-WEIGHT: bold; FONT-SIZE: 12pt; COLOR: windowtext">Returns:</SPAN></FONT></B><FONT 
color=black><SPAN style="COLOR: windowtext"> <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt; COLOR: windowtext">Returns an MgStringCollection 
containing the available unmanaged data files. <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt; COLOR: windowtext"><BR>virtual MgStringCollection * 
MgResourceService::EnumerateUnmanagedDataMappings(); 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt; COLOR: windowtext">Enumerates the unmanaged data 
mappings. <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><B><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-WEIGHT: bold; FONT-SIZE: 12pt; COLOR: windowtext">Parameters:</SPAN></FONT></B><FONT 
color=black><SPAN style="COLOR: windowtext"> <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt; COLOR: windowtext">None. <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><B><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-WEIGHT: bold; FONT-SIZE: 12pt; COLOR: windowtext">Returns:</SPAN></FONT></B><FONT 
color=black><SPAN style="COLOR: windowtext"> <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt; COLOR: windowtext">Returns an MgStringCollection 
containing the mappings. <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt; COLOR: windowtext"><BR>virtual void 
MgResourceService::SetUnmanagedDataMapping(CREFSTRING <I><SPAN 
style="FONT-STYLE: italic">mapping</SPAN></I>, CREFSTRING <I><SPAN 
style="FONT-STYLE: italic">path</SPAN></I>); <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt; COLOR: windowtext">Sets the unmanaged data mapping. If 
the mapping does not exist, it adds it. If it does exist, it will set it to the 
new path. <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><B><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-WEIGHT: bold; FONT-SIZE: 12pt; COLOR: windowtext">Parameters:</SPAN></FONT></B><FONT 
color=black><SPAN style="COLOR: windowtext"> <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><I><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt; COLOR: windowtext; FONT-STYLE: italic">mapping</SPAN></FONT></I><FONT 
color=black><SPAN style="COLOR: windowtext"> is the mapping name. 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><I><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt; COLOR: windowtext; FONT-STYLE: italic">path</SPAN></FONT></I><FONT 
color=black><SPAN style="COLOR: windowtext"> is the mapped path. 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><B><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-WEIGHT: bold; FONT-SIZE: 12pt; COLOR: windowtext">Returns:</SPAN></FONT></B><FONT 
color=black><SPAN style="COLOR: windowtext"> <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt; COLOR: windowtext">Returns nothing. 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<DIV>
<DIV class=MsoNormal style="TEXT-ALIGN: center" align=center><FONT 
face="MS PGothic" color=black size=3><SPAN 
style="FONT-SIZE: 12pt; COLOR: windowtext; FONT-FAMILY: 'MS PGothic'">
<HR tabIndex=-1 align=center width="100%" SIZE=2>
</SPAN></FONT></DIV>
<P class=MsoNormal><B><FONT face=Tahoma color=black size=2><SPAN 
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: Tahoma">From:</SPAN></FONT></B><FONT 
face=Tahoma color=black size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: Tahoma"> Bill Dhimitri 
<BR><B><SPAN style="FONT-WEIGHT: bold">Sent:</SPAN></B> Friday, November 10, 
2006 7:38 AM<BR><B><SPAN style="FONT-WEIGHT: bold">To:</SPAN></B> 
<st1:PersonName w:st="on">dev@mapguide.osgeo.org</st1:PersonName><BR><B><SPAN 
style="FONT-WEIGHT: bold">Subject:</SPAN></B> RE: [mapguide-dev] Unmanaged Data 
APIs RFC</SPAN></FONT><FONT face="MS PGothic" color=black><SPAN 
style="COLOR: windowtext; FONT-FAMILY: 'MS PGothic'"><o:p></o:p></SPAN></FONT></P></DIV>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Hi 
Tony,<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">I think this looks good 
so far. &nbsp;One thing that might be worth clarifying is the </SPAN></FONT>API 
to enumerate the unmanaged data files<FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"><![if !supportLists]><FONT 
face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><SPAN 
style="mso-list: Ignore">1)<FONT face="Times New Roman" size=1><SPAN 
style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></FONT></SPAN></SPAN></FONT><![endif]><FONT face=Arial color=navy 
size=2><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Should the 
API provide a way to filter what is returned by file type?&nbsp; For example, 
maybe the caller wants just a list of SHP files.&nbsp; Or just a list of ECW 
files. Etc. I am assuming that the API would allow filtering based on a specific 
mapping (your example shows a list from “all” 
mappings).<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"><![if !supportLists]><FONT 
face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><SPAN 
style="mso-list: Ignore">2)<FONT face="Times New Roman" size=1><SPAN 
style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></FONT></SPAN></SPAN></FONT><![endif]><FONT face=Arial color=navy 
size=2><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Should the 
API provide control over the depth of the search into the directory 
sub-structure? &nbsp;For example, the caller might want only those files in the 
top-most folders.&nbsp; The concern here is that if I have a very large 
directory substructure with thousands of files, there could be a performance 
hit…<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"><![if !supportLists]><FONT 
face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><SPAN 
style="mso-list: Ignore">3)<FONT face="Times New Roman" size=1><SPAN 
style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></FONT></SPAN></SPAN></FONT><![endif]><FONT face=Arial color=navy 
size=2><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Should the 
API provide a way to get a list of sub-folders? &nbsp;Here, I am thinking about 
FDO which allows a folder (as opposed to a file) to be treated as a data source. 
FDO does this for raster and SHP/DBF/PRJ files.&nbsp; Notice that today, 
MapGuide Studio does not directly support the notion of a data source that 
consists of a folder containing SHP/DBF/PRJ files, but FDO and the MapGuide 
server handle this scenario just fine.&nbsp; Another common scenario that would 
be helped by this is a folder that contains say 500 geo-contiguous raster 
files.&nbsp; It’s much more convenient to treat the folder as a single data 
source, rather than deal with each individual file.<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Bill<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<DIV>
<DIV class=MsoNormal style="TEXT-ALIGN: center" align=center><FONT 
face="MS PGothic" color=black size=3><SPAN 
style="FONT-SIZE: 12pt; COLOR: windowtext; FONT-FAMILY: 'MS PGothic'">
<HR tabIndex=-1 align=center width="100%" SIZE=2>
</SPAN></FONT></DIV>
<P class=MsoNormal><B><FONT face=Tahoma color=black size=2><SPAN 
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: Tahoma">From:</SPAN></FONT></B><FONT 
face=Tahoma color=black size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: Tahoma"> Tony Fang 
<BR><B><SPAN style="FONT-WEIGHT: bold">Sent:</SPAN></B> Friday, November 03, 
2006 7:41 PM<BR><B><SPAN style="FONT-WEIGHT: bold">To:</SPAN></B> 
<st1:PersonName w:st="on">dev@mapguide.osgeo.org</st1:PersonName><BR><B><SPAN 
style="FONT-WEIGHT: bold">Subject:</SPAN></B> RE: [mapguide-dev] Unmanaged Data 
APIs RFC</SPAN></FONT><FONT face="MS PGothic" color=black><SPAN 
style="COLOR: windowtext; FONT-FAMILY: 'MS PGothic'"><o:p></o:p></SPAN></FONT></P></DIV>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">I’ve updated the RFC 
with the drive mappings suggestion. Any feedback on the returned list of drive 
mappings (using square brackets on the drive mapping name) would be 
appreciated.<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P><FONT face="Times New Roman" size=3><SPAN style="FONT-SIZE: 12pt">The 
server's unmanaged data directories will be specified using the 
serverconfig.ini. A new section defining directory mappings will be used to 
specify the unmanaged data directories. <o:p></o:p></SPAN></FONT></P>
<P><FONT face="Times New Roman" size=3><SPAN style="FONT-SIZE: 12pt">For 
windows, it may look like this: <o:p></o:p></SPAN></FONT></P>
<P><CODE><FONT face="Courier New" size=2><SPAN 
style="FONT-SIZE: 10pt">[Unmanaged Data Mappings]</SPAN></FONT></CODE><FONT 
face="Courier New" size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><BR></SPAN></FONT><CODE><FONT 
face="Courier New">SomeSdfFiles = c:\mydata\sdf</FONT></CODE><FONT 
face="Courier New" size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><BR></SPAN></FONT><CODE><FONT 
face="Courier New">Some Shp Files = d:\otherdata\shp</FONT></CODE><FONT 
face="Courier New" size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><BR></SPAN></FONT><CODE><FONT 
face="Courier New">BigArseImages = 
\\some_other_machine\data\images</FONT></CODE><FONT face="Courier New" 
size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><BR></SPAN></FONT><CODE><FONT 
face="Courier New">Some </FONT></CODE><CODE><FONT face=SimSun size=2><SPAN 
lang=ZH-CN 
style="FONT-SIZE: 10pt; FONT-FAMILY: SimSun">很大中文</SPAN></FONT></CODE><CODE><FONT 
face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt"> DwfFiles = 
c:\mydata\</SPAN></FONT></CODE><CODE><FONT face=SimSun size=2><SPAN lang=ZH-CN 
style="FONT-SIZE: 10pt; FONT-FAMILY: SimSun">很大中文</SPAN></FONT></CODE><CODE><FONT 
face="Courier New" size=2><SPAN 
style="FONT-SIZE: 10pt">Dwf</SPAN></FONT></CODE><FONT face="Courier New" 
size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><BR></SPAN></FONT><CODE><FONT 
face=SimSun size=2><SPAN lang=ZH-CN 
style="FONT-SIZE: 10pt; FONT-FAMILY: SimSun">大き</SPAN></FONT></CODE><CODE><FONT 
face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">sdf = c:\mydata\bigsdf 
</SPAN></FONT></CODE><o:p></o:p></P>
<P><FONT face="Times New Roman" size=3><SPAN style="FONT-SIZE: 12pt">For linux, 
it may look like this: <o:p></o:p></SPAN></FONT></P>
<P><CODE><FONT face="Courier New" size=2><SPAN 
style="FONT-SIZE: 10pt">[Unmanaged Data Mappings]</SPAN></FONT></CODE><FONT 
face="Courier New" size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><BR></SPAN></FONT><CODE><FONT 
face="Courier New">SomeSdfFiles = /usr/mydata/sdf</FONT></CODE><FONT 
face="Courier New" size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><BR></SPAN></FONT><CODE><FONT 
face="Courier New">Some Shp Files = /usr/otherdata/shp</FONT></CODE><FONT 
face="Courier New" size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><BR></SPAN></FONT><CODE><FONT 
face="Courier New">BigArseImages = 
/mnt/some_other_machine/data/images</FONT></CODE><FONT face="Courier New" 
size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><BR></SPAN></FONT><CODE><FONT 
face="Courier New">Some </FONT></CODE><CODE><FONT face=SimSun size=2><SPAN 
lang=ZH-CN 
style="FONT-SIZE: 10pt; FONT-FAMILY: SimSun">很大中文</SPAN></FONT></CODE><CODE><FONT 
face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt"> DwfFiles = 
/usr/mydata/</SPAN></FONT></CODE><CODE><FONT face=SimSun size=2><SPAN lang=ZH-CN 
style="FONT-SIZE: 10pt; FONT-FAMILY: SimSun">很大中文</SPAN></FONT></CODE><CODE><FONT 
face="Courier New" size=2><SPAN 
style="FONT-SIZE: 10pt">Dwf</SPAN></FONT></CODE><FONT face="Courier New" 
size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><BR></SPAN></FONT><CODE><FONT 
face=SimSun size=2><SPAN lang=ZH-CN 
style="FONT-SIZE: 10pt; FONT-FAMILY: SimSun">大き</SPAN></FONT></CODE><CODE><FONT 
face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">sdf = /usr/mydata/bigsdf 
</SPAN></FONT></CODE><o:p></o:p></P>
<P><FONT face="Times New Roman" size=3><SPAN style="FONT-SIZE: 12pt">Unicode 
characters are supported in the mapping names. Spaces in the mappings are also 
supported. Square brackets [ and ] are not allowed. They are reserved characters 
for the serverconfig.ini section titles. <o:p></o:p></SPAN></FONT></P>
<P><FONT face="Times New Roman" size=3><SPAN style="FONT-SIZE: 12pt">We will add 
API methods to return the unmanaged data mappings, set the mappings, and also 
verify that the mappings are valid and accessible. <o:p></o:p></SPAN></FONT></P>
<P><FONT face="Times New Roman" size=3><SPAN style="FONT-SIZE: 12pt">We will add 
an API to enumerate the unmanaged data files available on the server machine. 
The files will be prefaced with their mapping names. You may enumerate all files 
from all the available drive mappings, or you may select a single drive mapping. 
<o:p></o:p></SPAN></FONT></P>
<P><FONT face="Times New Roman" size=3><SPAN style="FONT-SIZE: 12pt">A returned 
list from all available drive mappings may look like this: 
<o:p></o:p></SPAN></FONT></P>
<P><CODE><FONT face="Courier New" size=2><SPAN 
style="FONT-SIZE: 10pt">[SomeSdfFiles]world.sdf</SPAN></FONT></CODE><FONT 
face="Courier New" size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><BR></SPAN></FONT><CODE><FONT 
face="Courier New">[Some Shp Files]ecuador.shp</FONT></CODE><FONT 
face="Courier New" size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><BR></SPAN></FONT><CODE><FONT 
face="Courier New">[Some </FONT></CODE><CODE><FONT face=SimSun size=2><SPAN 
lang=ZH-CN 
style="FONT-SIZE: 10pt; FONT-FAMILY: SimSun">很大中文</SPAN></FONT></CODE><CODE><FONT 
face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt"> 
DwfFiles]large.dwf</SPAN></FONT></CODE><FONT face="Courier New" size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><BR></SPAN></FONT><CODE><FONT 
face="Courier New">[Some </FONT></CODE><CODE><FONT face=SimSun size=2><SPAN 
lang=ZH-CN 
style="FONT-SIZE: 10pt; FONT-FAMILY: SimSun">很大中文</SPAN></FONT></CODE><CODE><FONT 
face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt"> 
DwfFiles]subdir/Big.dwf</SPAN></FONT></CODE><FONT face="Courier New" 
size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><BR></SPAN></FONT><CODE><FONT 
face="Courier New">[</FONT></CODE><CODE><FONT face=SimSun size=2><SPAN 
lang=ZH-CN 
style="FONT-SIZE: 10pt; FONT-FAMILY: SimSun">大き</SPAN></FONT></CODE><CODE><FONT 
face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">sdf]reallybig.sdf 
</SPAN></FONT></CODE><o:p></o:p></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Thanks,<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Tony<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<DIV>
<DIV class=MsoNormal style="TEXT-ALIGN: center" align=center><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt; COLOR: windowtext">
<HR tabIndex=-1 align=center width="100%" SIZE=2>
</SPAN></FONT></DIV>
<P class=MsoNormal><B><FONT face=Tahoma color=black size=2><SPAN 
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: Tahoma">From:</SPAN></FONT></B><FONT 
face=Tahoma color=black size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: Tahoma"> <st1:PersonName 
w:st="on">Robert Bray</st1:PersonName> [mailto:rbray@robertbray.net] 
<BR><B><SPAN style="FONT-WEIGHT: bold">Sent:</SPAN></B> Friday, November 03, 
2006 9:05 AM<BR><B><SPAN style="FONT-WEIGHT: bold">To:</SPAN></B> 
<st1:PersonName w:st="on">dev@mapguide.osgeo.org</st1:PersonName><BR><B><SPAN 
style="FONT-WEIGHT: bold">Subject:</SPAN></B> Re: [mapguide-dev] Unmanaged Data 
APIs RFC</SPAN></FONT><FONT color=black><SPAN 
style="COLOR: windowtext"><o:p></o:p></SPAN></FONT></P></DIV>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">Jason,<BR><BR>Good questions. In addition I think it 
would make sense / be highly desirable for all RFCs that add or modify APIs to 
include more detail with respect to those changes. It would be nice to see the 
actual API function signatures for example.<BR><BR>Bob<BR><BR><BR>Jason Birch 
wrote: <o:p></o:p></SPAN></FONT></P><PRE wrap=""><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">That would be cool.&nbsp; That way we can have a theme, and a nested hierarchy within that theme if we need the complexity.&nbsp; Are we restricted to single-word mappings, or will spaces be supported?&nbsp; ASCII characters only or full internationalisation?<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"> <o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">What about schema changes?&nbsp; Will there be a way of updating the repository's knowledge of unmanaged data schemae?&nbsp; Or are these maybe cached on a session basis like the RDBMS schemae?<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"> <o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">There would also need to be a method that allows the author UIs to validate resources that reference unmanaged data sources, to make sure that any dependancies (properties, maptips, themes, etc) are still valid, and give a graphical indication when the world slips.<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"> <o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">Jason<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">________________________________<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">From: <st1:PersonName w:st="on">Robert Bray</st1:PersonName> [<A href="mailto:rbray@robertbray.net">mailto:rbray@robertbray.net</A>]<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">Sent: Thu 2006-11-02 10:46 PM<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">To: <A href="mailto:dev@mapguide.osgeo.org">dev@mapguide.osgeo.org</A><o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">Subject: Re: [mapguide-dev] Unmanaged Data APIs RFC<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">I too am concerned this will make data management hard for people with lots of data / multiple projects. It might be better to dedicate a section in serverconfig.ini to define path mappings as follows:<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">[Path Mappings]<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">SomeSdfFiles = &lt;some path&gt;<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">SomeShpFiles = &lt;some other path&gt;<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">BigArseImages = &lt;path to SAN disk&gt;<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">...<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">In Studio / Web Studio the user would be presented the list of path mappings. Once they select a path mapping they can browse all files and folders below that path.<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">My 2 cents...<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">Bob<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">--------------------------------------------------------------------- To unsubscribe, e-mail: <A href="mailto:dev-unsubscribe@mapguide.osgeo.org">dev-unsubscribe@mapguide.osgeo.org</A> For additional commands, e-mail: <A href="mailto:dev-help@mapguide.osgeo.org">dev-help@mapguide.osgeo.org</A> <o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">&nbsp;&nbsp;<o:p></o:p></SPAN></FONT></PRE><PRE wrap=""><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE style="TEXT-ALIGN: center"><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE style="TEXT-ALIGN: center"><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE style="TEXT-ALIGN: center"><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE style="TEXT-ALIGN: center"><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE style="TEXT-ALIGN: center"><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">

<HR align=center width="90%" SIZE=4>

</SPAN></FONT></PRE><PRE style="TEXT-ALIGN: center"><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE style="TEXT-ALIGN: center"><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE style="TEXT-ALIGN: center"><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE style="TEXT-ALIGN: center"><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">---------------------------------------------------------------------<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">To unsubscribe, e-mail: <A href="mailto:dev-unsubscribe@mapguide.osgeo.org">dev-unsubscribe@mapguide.osgeo.org</A><o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" color=black size=2><SPAN style="FONT-SIZE: 10pt">For additional commands, e-mail: <A href="mailto:dev-help@mapguide.osgeo.org">dev-help@mapguide.osgeo.org</A><o:p></o:p></SPAN></FONT></PRE>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><o:p>&nbsp;</o:p></SPAN></FONT></P></DIV>--------------------------------------------------------------------- 
To unsubscribe, e-mail: dev-unsubscribe@mapguide.osgeo.org For additional 
commands, e-mail: dev-help@mapguide.osgeo.org</BODY></HTML>