<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:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.E-MailFormatvorlage17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
-->
</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=DE link=blue vlink=purple>

<div class=WordSection1>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Ok, but as I wrote – we use a php wrapper to hide our
mapfiles. The main code is just as follows:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><?php<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>$request = ms_newowsrequestobj();<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>$request->loadparams();<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>ms_ioinstallstdouttobuffer();<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>$oMap = ms_newMapobj("path/to/my.map");<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>$oMap->owsdispatch($request);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>$contenttype = ms_iostripstdoutbuffercontenttype();<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>if ($contenttype == 'image/png')<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>   header('Content-type: image/png');<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>ms_iogetStdoutBufferBytes();<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>ms_ioresethandlers();<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>?><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Using this file works at least in QuantumGIS and should do so in
others.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Thomas<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>Von:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> John Callahan
[mailto:john.callahan@udel.edu] <br>
<b>Gesendet:</b> Donnerstag, 4. November 2010 15:18<br>
<b>An:</b> Waberzeck, Thomas<br>
<b>Cc:</b> Rahkonen Jukka; mapserver-users@lists.osgeo.org<br>
<b>Betreff:</b> Re: [mapserver-users] map file paths<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal style='margin-bottom:12.0pt'>The PHP mapscript wrapper looks
promising.  Thanks. The examples would need to be combined into one php
file to handle both GetMap and GetCapabilities requests. Seems doable. 
I'm not a programmer and didn't want to get into mapscript, however, modifying
this script template doesn't seem too difficult (if you already have PHP, which
my server does.)<br>
<br>
I'm not a big fan of copying and renaming the mapserv.exe file but it does work
well. We only publish a handful of services and do not expect to significantly
increase in the future.  If we do, scripting a batch file would work just
as well.  This is relatively easy and without the need to install (re:
maintenance, security) or learn additional programming languages.  <br>
<br>
For me, it's also important to have short, easily readable URLs to send out to
people that use our WMS services.  I do not want the extra
"?map=mymap" parameters at the end of the URLs.  For one reason
or another, things always get screwed up when people start pasting these URLs
into their desktop GIS or other apps.  Simpler the better, even if it's not
elegant or involves slightly more work on my part.<br>
<br>
- John<br>
<br clear=all>
**************************************************<br>
John Callahan, Research Scientist<br>
Delaware Geological Survey, University of Delaware<br>
URL: <a href="http://www.dgs.udel.edu" target="_blank">http://www.dgs.udel.edu</a><br>
**************************************************<br>
<br>
<o:p></o:p></p>

<div>

<p class=MsoNormal>On Thu, Nov 4, 2010 at 2:53 AM, Waberzeck, Thomas <<a
href="mailto:Thomas.Waberzeck@liag-hannover.de">Thomas.Waberzeck@liag-hannover.de</a>>
wrote:<o:p></o:p></p>

<div>

<p class=MsoNormal style='margin-bottom:12.0pt'>Jukka Rahkonen wrote:<br>
> P Kishor wrote:<br>
><br>
> > So you have 15 copies of the binary floating around on your computer.<br>
> > What a nightmare. If you upgrade, you have to make 15 copies of the<br>
> > new version and replace the old version.<br>
><br>
> > What would happen when you publish the 150th geologic map?<br>
><br>
> > Use a single binary, and use a wrapper (or the env variable) to get<br>
> > the right query.<br>
><br>
> I do not believe there are handy wrappers for Windows and the only way<br>
> I have been able to get SetEnvIf to work is to make copies of<br>
> mapserv.exe with different names. I maintain a batch file about our<br>
> services with lines like "COPY mapserv.exe WMS_service1" etc.
and then<br>
> I only need to run the batch after update and publishing the 150th<br>
> service does not change anything.<br>
<br>
<o:p></o:p></p>

</div>

<p class=MsoNormal>If you have php it's quite easy to write a small wrapper for
it. See <a href="http://www.mapserver.org/ogc/mapscript.html#php-example"
target="_blank">http://www.mapserver.org/ogc/mapscript.html#php-example</a> so
the only thing to do is to write the wrappers once and you have a single setup
of Mapserver.<br>
<br>
Thomas<br>
BTW: The Example should be updated - I think php_mapscript_4.10.0.dll is out of
date. The name of the .dll is just php_mapscript.dll.<o:p></o:p></p>

<div>

<div>

<p class=MsoNormal>_______________________________________________<br>
mapserver-users mailing list<br>
<a href="mailto:mapserver-users@lists.osgeo.org">mapserver-users@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/mapserver-users"
target="_blank">http://lists.osgeo.org/mailman/listinfo/mapserver-users</a><o:p></o:p></p>

</div>

</div>

</div>

<p class=MsoNormal><o:p> </o:p></p>

</div>

</div>

</body>

</html>