<!DOCTYPE html><html><head><title></title><style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div>Hi Brent,<br></div><div><br></div><div>All Mapfile keywords are linkable using the following format: <a href="https://mapserver.org/mapfile/layer.html#mapfile-layer-data">https://mapserver.org/mapfile/layer.html#mapfile-layer-data</a><br></div><div>I might "borrow" that idea of linking keywords directly to the docs in the online mappyfile editor. <br></div><div><br></div><div>Longer term I'm hoping to make the JSON schema "official" and bring it into the MapServer project (possible along with mappyfile project itself). See draft RFC at <a href="https://mapserver.org/mapfile/layer.html#mapfile-layer-data">https://mapserver.org/mapfile/layer.html#mapfile-layer-data</a><br></div><div><br></div><div>mappyfile is also designed to allow plugins (the idea is to allow custom validation plugins for example to check a Mapfile is correctly configured for WMS/WFS for example). Your idea for a mapfile generator could maybe build on mappyfile? At the very least you'd get pretty-printing in Python.<br></div><div><br></div><div>An enjoyable discussion in any case!<br></div><div><br></div><div>Seth<br></div><div><br></div><div id="sig62266145"><div class="signature">--<br></div><div class="signature">web:http://geographika.co.uk<br></div><div class="signature">twitter: @geographika<br></div></div><div><br></div><div><br></div><div>On Fri, Mar 19, 2021, at 6:39 PM, Brent Fraser wrote:<br></div><blockquote type="cite" id="qt" style=""><div style="font-family:arial;font-size:14px;"><div style="box-sizing:border-box;">Good idea, but too much coding for me since it's a lot of work to cover all (most?) of the possibilities.    Seth's mappyfile json files are interesting though; might make it easier.<br></div><div style="box-sizing:border-box;"><br></div><div style="box-sizing:border-box;"><br></div><div><hr id="qt-previousmessagehr" style="box-sizing:border-box;clear:both;"><br></div><div style="box-sizing:border-box;"><span style="box-sizing:border-box;"><b style="box-sizing:border-box;font-weight:700;">From</b>: "Basques, Bob (CI-StPaul)" <bob.basques@ci.stpaul.mn.us><br style="box-sizing:border-box;"><b style="box-sizing:border-box;font-weight:700;">Sent</b>: 3/19/21 11:27 AM<br style="box-sizing:border-box;"><b style="box-sizing:border-box;font-weight:700;">To</b>: "bfraser@geoanalytic.com" <bfraser@geoanalytic.com>, "mapserver-dev@lists.osgeo.org" <mapserver-dev@lists.osgeo.org>, "Jeff McKenna" <jmckenna@gatewaygeomatics.com><br style="box-sizing:border-box;"><b style="box-sizing:border-box;font-weight:700;">Subject</b>: Re: [mapserver-dev] Versioned MapServer Docs?</span></div><div style="box-sizing:border-box;"><br></div><div style="box-sizing:border-box;"><p style="box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;">Another thought to consider,  With the HTML option I got to thinking about setting it up as a visual form, where certain elements could be changed in the HTML by the user as FORM elements, and used to create a new Map output tile when submitted.  A way of showing how different parameters/ settings change the output, etc.  sort of a dynamic doc linking thing.<br></p><p style="box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"> <br></p><p style="box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;">Thanks on the DATA statement, goes to that thought on being able to pass things onto the next curator of the system, probably overkill, but easily readable, etc . . .  I have a real good one for formatting of TEXT inside of the SQL that I should have used.<br></p><p style="box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"> <br></p><p style="box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;">Bobb<br></p><p style="box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"> <br></p><p style="box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"> <br></p><p style="box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"> <br></p><div style="border-top-color:rgb(181, 196, 223);border-right-color:currentcolor;border-bottom-color:currentcolor;border-left-color:currentcolor;border-top-style:solid;border-right-style:none;border-bottom-style:none;border-left-style:none;border-top-width:1pt;border-right-width:medium;border-bottom-width:medium;border-left-width:medium;border-image-outset:0;border-image-repeat:stretch;border-image-slice:100%;border-image-source:none;border-image-width:1;padding-top:3pt;padding-right:0in;padding-bottom:0in;padding-left:0in;box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><b style="box-sizing:border-box;font-weight:700;"><span style="color:black;box-sizing:border-box;"><span class="size" style="font-size:12pt;">From: </span></span></b><span style="color:black;box-sizing:border-box;"><span class="size" style="font-size:12pt;">Brent Fraser <bfraser@geoanalytic.com><br style="box-sizing:border-box;"> <b style="box-sizing:border-box;font-weight:700;">Reply-To: </b>Brent Fraser <bfraser@geoanalytic.com><br style="box-sizing:border-box;"> <b style="box-sizing:border-box;font-weight:700;">Date: </b>Friday, March 19, 2021 at 12:09 PM<br style="box-sizing:border-box;"> <b style="box-sizing:border-box;font-weight:700;">To: </b>Bob Basques <bob.basques@ci.stpaul.mn.us>, "mapserver-dev@lists.osgeo.org" <mapserver-dev@lists.osgeo.org>, Jeff McKenna <jmckenna@gatewaygeomatics.com><br style="box-sizing:border-box;"> <b style="box-sizing:border-box;font-weight:700;">Subject: </b>Re: [mapserver-dev] Versioned MapServer Docs?</span></span></p></div><div style="box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"> <br></p></div><table style="margin-left:0.5in;background-color:rgb(226, 247, 0);background-position-x:0%;background-position-y:0%;background-repeat:repeat;background-attachment:scroll;background-image:none;background-size:auto;background-origin:padding-box;background-clip:border-box;border-top-color:black;border-top-style:solid;border-top-width:1pt;border-right-color:black;border-right-style:solid;border-right-width:1pt;border-bottom-color:black;border-bottom-style:solid;border-bottom-width:1pt;border-left-color:black;border-left-style:solid;border-left-width:1pt;border-image-outset:0;border-image-repeat:stretch;border-image-slice:100%;border-image-source:none;border-image-width:1;box-sizing:border-box;border-collapse:collapse;empty-cells:show;max-width:100%;" cellpadding="0" border="1"><tbody style="box-sizing:border-box;"><tr style="box-sizing:border-box;"><td style="border-top-color:currentcolor;border-top-style:none;border-top-width:medium;border-right-color:currentcolor;border-right-style:none;border-right-width:medium;border-bottom-color:currentcolor;border-bottom-style:none;border-bottom-width:medium;border-left-color:currentcolor;border-left-style:none;border-left-width:medium;border-image-outset:0;border-image-repeat:stretch;border-image-slice:100%;border-image-source:none;border-image-width:1;padding-top:0.75pt;padding-right:0.75pt;padding-bottom:0.75pt;padding-left:0.75pt;box-sizing:border-box;min-width:5px;"><p style="box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><b style="box-sizing:border-box;font-weight:700;"><span style="color:rgb(255, 51, 51);box-sizing:border-box;"><span class="font" style="font-family:"Calibri", sans-serif;">Think Before You Click: </span></span></b><span style="color:black;box-sizing:border-box;">This email originated <b style="box-sizing:border-box;font-weight:700;"><span style="box-sizing:border-box;"><span class="font" style="font-family:"Calibri", sans-serif;">outside </span></span></b>our organization.</span><br></p></td></tr></tbody></table><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"> <br></p><div style="box-sizing:border-box;"><div style="box-sizing:border-box;"><div style="box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><span style="box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;">I too use a editor with [imperfect] syntax highlighting (Notepad++).  But i wanted to go beyond that (your Vim -> html is a nice option).  </span></span></span><br></p></div><div style="box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><span style="box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;"> </span></span></span><br></p></div><div style="box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><span style="box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;">My goals for the "mapfile cheatsheet" are:</span></span></span><br></p></div><div style="box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><span style="box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;"> </span></span></span><br></p></div><div style="box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><span style="box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;">1.  Make it easy to create a workable mapfile </span></span></span><br></p></div><div style="box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><span style="box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;">    - can simply cut-and paste</span></span></span><br></p></div><div style="box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><span style="box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;">    - content should be almost complete</span></span></span><br></p></div><div style="box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><span style="box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;">    - have comments showing options, acceptable values, etc for tweaking</span></span></span><br></p></div><div style="box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><span style="box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;">2.  Make it available for others to use (e.g. a web page)</span></span></span><br></p></div><div style="box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><span style="box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;">3.  Provide links on the keywords pointing to the official doc for details (.rst? .md?) </span></span></span><br></p></div><div style="box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><span style="box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;">    - show syntax highlighting for ease of reading</span></span></span><br></p></div><div style="box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><span style="box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;">4.  Make it easy to maintain/update as the mapfile syntax changes</span></span></span><br></p></div><div style="box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><span style="box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;"> </span></span></span><br></p></div><div style="box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><span style="box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;"> </span></span></span><br></p></div><div style="box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><span style="box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;">Loved your DATA statement by the way!</span></span></span><br></p></div><div style="box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><span style="box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;"> </span></span></span><br></p></div><div style="box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><span style="box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;">Brent</span></span></span><br></p></div><div style="box-sizing:border-box;"><p style="margin-left:0.5in;box-sizing:border-box;color:rgb(68, 68, 68);margin-top:1px;"><span style="box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;"> </span></span></span><br></p></div><div style="box-sizing:border-box;"><div style="box-sizing:border-box;"><div style="box-sizing:border-box;"><div style="box-sizing:border-box;"><p style="margin-top:1px;margin-right:0in;margin-bottom:5pt;margin-left:1in;box-sizing:border-box;color:rgb(68, 68, 68);"><span style="color:rgb(68, 68, 68);box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;"> </span></span></span><br></p></div><div style="box-sizing:border-box;"><div style="box-sizing:border-box;"><div style="box-sizing:border-box;"><div style="box-sizing:border-box;"><div style="box-sizing:border-box;"><div style="box-sizing:border-box;"><p style="margin-top:1px;margin-right:0in;margin-bottom:5pt;margin-left:1in;box-sizing:border-box;color:rgb(68, 68, 68);"><span style="color:rgb(68, 68, 68);box-sizing:border-box;"><span class="font" style="font-family:"Arial", sans-serif;"><span class="size" style="font-size:10.5pt;"> </span></span></span><br></p></div></div></div></div></div></div></div></div></div></div></div></div></div><div>_______________________________________________<br></div><div>mapserver-dev mailing list<br></div><div><a href="mailto:mapserver-dev%40lists.osgeo.org">mapserver-dev@lists.osgeo.org</a><br></div><div><a href="https://lists.osgeo.org/mailman/listinfo/mapserver-dev">https://lists.osgeo.org/mailman/listinfo/mapserver-dev</a><br></div><div><br></div></blockquote><div><br></div></body></html>