[mapserver-users] Parameterized MapFile using CGI variable

Nicolas BOUTET nicolas.boutet at geosys.com
Fri Apr 29 08:44:14 PDT 2011


Yes, I realize reading you that the include statement can be inserted at any
place in the main Map file.

So, it works !!!

 

Thanks a lot David

 

De : Fawcett, David (MPCA) [mailto:david.fawcett at state.mn.us] 
Envoyé : vendredi 29 avril 2011 17:03
À : nicolas.boutet at geosys.com; mapserver-users at lists.osgeo.org
Objet : RE: [mapserver-users] Parameterized MapFile using CGI variable

 

Nicolas, 

 

I didn’t have a mapfile that utilizes connection handy, but I did test using
INCLUDE to substitute the value for DATA in an individual layer.  

 

Here is part of the layer definition:

 

LAYER

  NAME "watersheds"

  STATUS DEFAULT

  #DATA 'majclip'

  INCLUDE "inc_data_majclip.map"

  TYPE POLYGON

 

The file inc_data_majclip.map contains:

 

  DATA "majclip"

 

Based on this, I would assume that you should be able to do the same with
the CONNECTION for each of your layers.

 

David.

 

From: Nicolas BOUTET [mailto:nicolas.boutet at geosys.com] 
Sent: Friday, April 29, 2011 9:49 AM
To: Fawcett, David (MPCA); mapserver-users at lists.osgeo.org
Subject: RE: [mapserver-users] Parameterized MapFile using CGI variable

 

Thank you David,

 

Yes, using INCLUDE should be a good solution. But as I know in MapServer
5.6, CONNECTION is a parameter of my LAYER objects, and not an object
itself. So I cannot have a CONNECTION object declared in a separate map
file
 And I prefer to not have to duplicate the layers in different map
files.

 

Nicolas

 

 

De : Fawcett, David (MPCA) [mailto:david.fawcett at state.mn.us] 
Envoyé : vendredi 29 avril 2011 16:37
À : nicolas.boutet at geosys.com; mapserver-users at lists.osgeo.org
Objet : RE: [mapserver-users] Parameterized MapFile using CGI variable

 

One potential way to do it would be with the use of ‘include’s.  

 

http://mapserver.org/mapfile/Include.html

 

The primary mapfile wouldn’t have a connection object, but it would contain:

 

INCLUDE “connect_info.map”

 

Then on each machine, you would have a different version of connect_info.map
that contained the correct connection object for that machine.  

 

This wouldn’t give you the flexibility of changing it through the CGI
interface, but would allow you to use the same exact mapfile on both
machines.  

 

David.

 

From: mapserver-users-bounces at lists.osgeo.org
[mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of Nicolas BOUTET
Sent: Friday, April 29, 2011 8:57 AM
To: mapserver-users at lists.osgeo.org
Subject: [mapserver-users] Parameterized MapFile using CGI variable

 

Dear All,

 

I have 2 MapServer servers. One for Production use, and the other for
Validation use.

The MAP files placed on those servers are similar except that each server
has a different Oracle database as datasource.

For now, I have some different CONNECTION values depending if the map file
is on the Production or on the Validation server. So finally I must have
different MAP files.

 

Is there a way to have exactly the same map files on the 2 servers, and to
use a variable to parameterize the CONNECTION.

 

For example, I would like to set the CONNECTION of my layers to
“%ORACLECONNECTIONSTRING%” and to set a CGI Environment variable named
ORACLECONNECTIONSTRING to the correct value on each server. 

 

Nicolas

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20110429/cbb68d71/attachment.htm>


More information about the MapServer-users mailing list