<html 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" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-2022-jp">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[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
 namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PersonName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"MS Gothic";
        panose-1:2 11 6 9 7 2 5 8 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"\@MS Gothic";
        panose-1:2 11 6 9 7 2 5 8 2 4;}
@font-face
        {font-family:"MS PGothic";
        panose-1:2 11 6 0 7 2 5 8 2 4;}
@font-face
        {font-family:"\@MS PGothic";
        panose-1:2 11 6 0 7 2 5 8 2 4;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";
        color:black;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;}
p
        {mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman";}
code
        {font-family:"Courier New";}
pre
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:Arial;
        color:navy;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:Arial;
        color:navy;}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:Arial;
        color:navy;}
span.EmailStyle23
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:47924799;
        mso-list-type:hybrid;
        mso-list-template-ids:-1082745352 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1
        {mso-list-id:317853328;
        mso-list-type:hybrid;
        mso-list-template-ids:-1101774102 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l1:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
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 bgcolor=white lang=EN-US link=blue vlink=blue>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>For cross platform compatibilities (i.e. Linux
only supports ‘/’s while Windows supports both ‘/’s and ‘\’s), pathnames
referenced in the XML document and the serverconfig.ini file should always contain
forward slashes (‘/’s) instead of backward slashes (‘\’s).<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Thanks,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Steve.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
color=black face="MS PGothic"><span style='font-size:12.0pt;font-family:"MS PGothic";
color:windowtext'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 color=black face=Tahoma><span
style='font-size:10.0pt;font-family:Tahoma;color:windowtext;font-weight:bold'>From:</span></font></b><font
size=2 color=black face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma;
color:windowtext'> Tony Fang <br>
<b><span style='font-weight:bold'>Sent:</span></b> Wednesday, December 06, 2006
4:10 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 color=black face="MS PGothic"><span
style='font-family:"MS PGothic";color:windowtext'><o:p></o:p></span></font></p>

</div>

<p class=MsoNormal><font size=3 color=black face="Times New Roman"><span
style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>I’ve updated the Unmanaged Data APIs RFC.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>http://wiki.osgeo.org/index.php/MapGuide_RFC_2_-_Unmanaged_Data_APIs<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>The main change is the addition of the 3
Resource Service API functions. <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Please have a look and post any feedback
to the group.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Thanks,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Tony Fang<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
color:windowtext;font-weight:bold'>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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
color:windowtext;font-weight:bold'>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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
color:windowtext;font-weight:bold'>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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
color:windowtext;font-weight:bold'>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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
color:windowtext;font-weight:bold'>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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
color:windowtext;font-weight:bold'>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
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
color:windowtext'>Returns nothing. <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
color=black face="MS PGothic"><span style='font-size:12.0pt;font-family:"MS PGothic";
color:windowtext'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 color=black face=Tahoma><span
style='font-size:10.0pt;font-family:Tahoma;color:windowtext;font-weight:bold'>From:</span></font></b><font
size=2 color=black face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma;
color:windowtext'> <st1:PersonName w:st="on">Bill Dhimitri</st1:PersonName> <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 color=black face="MS PGothic"><span
style='font-family:"MS PGothic";color:windowtext'><o:p></o:p></span></font></p>

</div>

<p class=MsoNormal><font size=3 color=black face="Times New Roman"><span
style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Hi Tony,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>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 size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo2'><![if !supportLists]><font
size=2 color=navy face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:navy'><span style='mso-list:Ignore'>1)<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span></span></font><![endif]><font
size=2 color=navy face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:navy'>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:.5in;text-indent:-.25in;mso-list:l1 level1 lfo2'><![if !supportLists]><font
size=2 color=navy face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:navy'><span style='mso-list:Ignore'>2)<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span></span></font><![endif]><font
size=2 color=navy face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:navy'>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:.5in;text-indent:-.25in;mso-list:l1 level1 lfo2'><![if !supportLists]><font
size=2 color=navy face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:navy'><span style='mso-list:Ignore'>3)<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span></span></font><![endif]><font
size=2 color=navy face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:navy'>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 size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Bill<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
color=black face="MS PGothic"><span style='font-size:12.0pt;font-family:"MS PGothic";
color:windowtext'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 color=black face=Tahoma><span
style='font-size:10.0pt;font-family:Tahoma;color:windowtext;font-weight:bold'>From:</span></font></b><font
size=2 color=black face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma;
color:windowtext'> 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 color=black face="MS PGothic"><span
style='font-family:"MS PGothic";color:windowtext'><o:p></o:p></span></font></p>

</div>

<p class=MsoNormal><font size=3 color=black face="Times New Roman"><span
style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>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 size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>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 size=3 face="Times New Roman"><span style='font-size:12.0pt'>For
windows, it may look like this: <o:p></o:p></span></font></p>

<p><code><font size=2 face="Courier New"><span style='font-size:10.0pt'>[Unmanaged
Data Mappings]</span></font></code><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'><br>
</span></font><code><font face="Courier New">SomeSdfFiles = c:\mydata\sdf</font></code><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><br>
</span></font><code><font face="Courier New">Some Shp Files = d:\otherdata\shp</font></code><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><br>
</span></font><code><font face="Courier New">BigArseImages =
\\some_other_machine\data\images</font></code><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'><br>
</span></font><code><font face="Courier New">Some </font></code><code><font
size=2 face=SimSun><span lang=ZH-CN style='font-size:10.0pt;font-family:SimSun'>很大中文</span></font></code><code><font
size=2 face="Courier New"><span style='font-size:10.0pt'> DwfFiles = c:\mydata\</span></font></code><code><font
size=2 face=SimSun><span lang=ZH-CN style='font-size:10.0pt;font-family:SimSun'>很大中文</span></font></code><code><font
size=2 face="Courier New"><span style='font-size:10.0pt'>Dwf</span></font></code><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><br>
</span></font><code><font size=2 face=SimSun><span lang=ZH-CN style='font-size:
10.0pt;font-family:SimSun'>大き</span></font></code><code><font size=2
face="Courier New"><span style='font-size:10.0pt'>sdf = c:\mydata\bigsdf </span></font></code><o:p></o:p></p>

<p><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>For
linux, it may look like this: <o:p></o:p></span></font></p>

<p><code><font size=2 face="Courier New"><span style='font-size:10.0pt'>[Unmanaged
Data Mappings]</span></font></code><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'><br>
</span></font><code><font face="Courier New">SomeSdfFiles = /usr/mydata/sdf</font></code><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><br>
</span></font><code><font face="Courier New">Some Shp Files =
/usr/otherdata/shp</font></code><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'><br>
</span></font><code><font face="Courier New">BigArseImages =
/mnt/some_other_machine/data/images</font></code><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'><br>
</span></font><code><font face="Courier New">Some </font></code><code><font
size=2 face=SimSun><span lang=ZH-CN style='font-size:10.0pt;font-family:SimSun'>很大中文</span></font></code><code><font
size=2 face="Courier New"><span style='font-size:10.0pt'> DwfFiles =
/usr/mydata/</span></font></code><code><font size=2 face=SimSun><span
lang=ZH-CN style='font-size:10.0pt;font-family:SimSun'>很大中文</span></font></code><code><font
size=2 face="Courier New"><span style='font-size:10.0pt'>Dwf</span></font></code><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><br>
</span></font><code><font size=2 face=SimSun><span lang=ZH-CN style='font-size:
10.0pt;font-family:SimSun'>大き</span></font></code><code><font size=2
face="Courier New"><span style='font-size:10.0pt'>sdf = /usr/mydata/bigsdf </span></font></code><o:p></o:p></p>

<p><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>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 size=3 face="Times New Roman"><span style='font-size:12.0pt'>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 size=3 face="Times New Roman"><span style='font-size:12.0pt'>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 size=3 face="Times New Roman"><span style='font-size:12.0pt'>A
returned list from all available drive mappings may look like this: <o:p></o:p></span></font></p>

<p><code><font size=2 face="Courier New"><span style='font-size:10.0pt'>[SomeSdfFiles]world.sdf</span></font></code><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><br>
</span></font><code><font face="Courier New">[Some Shp Files]ecuador.shp</font></code><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><br>
</span></font><code><font face="Courier New">[Some </font></code><code><font
size=2 face=SimSun><span lang=ZH-CN style='font-size:10.0pt;font-family:SimSun'>很大中文</span></font></code><code><font
size=2 face="Courier New"><span style='font-size:10.0pt'> DwfFiles]large.dwf</span></font></code><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><br>
</span></font><code><font face="Courier New">[Some </font></code><code><font
size=2 face=SimSun><span lang=ZH-CN style='font-size:10.0pt;font-family:SimSun'>很大中文</span></font></code><code><font
size=2 face="Courier New"><span style='font-size:10.0pt'>
DwfFiles]subdir/Big.dwf</span></font></code><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'><br>
</span></font><code><font face="Courier New">[</font></code><code><font size=2
face=SimSun><span lang=ZH-CN style='font-size:10.0pt;font-family:SimSun'>大き</span></font></code><code><font
size=2 face="Courier New"><span style='font-size:10.0pt'>sdf]reallybig.sdf </span></font></code><o:p></o:p></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Thanks,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Tony<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
color=black face="Times New Roman"><span style='font-size:12.0pt;color:windowtext'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 color=black face=Tahoma><span
style='font-size:10.0pt;font-family:Tahoma;color:windowtext;font-weight:bold'>From:</span></font></b><font
size=2 color=black face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma;
color:windowtext'> <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 size=3 color=black face="Times New Roman"><span
style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=3 color=black face="Times New Roman"><span
style='font-size:12.0pt'>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 size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>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
size=2 color=black face="Courier New"><span style='font-size:10.0pt'> <o:p></o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>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
size=2 color=black face="Courier New"><span style='font-size:10.0pt'> <o:p></o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>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
size=2 color=black face="Courier New"><span style='font-size:10.0pt'> <o:p></o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>Jason<o:p></o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>________________________________<o:p></o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>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
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>Sent: Thu 2006-11-02 10:46 PM<o:p></o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>To: <a
href="mailto:dev@mapguide.osgeo.org">dev@mapguide.osgeo.org</a><o:p></o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>Subject: Re: [mapguide-dev] Unmanaged Data APIs RFC<o:p></o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>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
size=2 color=black face="Courier New"><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>[Path Mappings]<o:p></o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>SomeSdfFiles = &lt;some path&gt;<o:p></o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>SomeShpFiles = &lt;some other path&gt;<o:p></o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>BigArseImages = &lt;path to SAN disk&gt;<o:p></o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>...<o:p></o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>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
size=2 color=black face="Courier New"><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>My 2 cents...<o:p></o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>Bob<o:p></o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>--------------------------------------------------------------------- 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
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp;<o:p></o:p></span></font></pre><pre
wrap=""><font size=2 color=black face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre style='text-align:center'><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre
style='text-align:center'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre
style='text-align:center'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre
style='text-align:center'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre
style='text-align:center'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre
style='text-align:center'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre
style='text-align:center'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>

<hr size=4 width="90%" align=center>

</span></font></pre><pre style='text-align:center'><font size=2 color=black
face="Courier New"><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre
style='text-align:center'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre
style='text-align:center'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre
style='text-align:center'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre
style='text-align:center'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre
style='text-align:center'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>---------------------------------------------------------------------<o:p></o:p></span></font></pre><pre><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>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
size=2 color=black face="Courier New"><span style='font-size:10.0pt'>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 size=3 color=black face="Times New Roman"><span
style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@mapguide.osgeo.org
For additional commands, e-mail: dev-help@mapguide.osgeo.org