<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=utf-8">
<meta name="Generator" content="Microsoft Word 15 (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:Aptos;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:12.0pt;
font-family:"Aptos",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0in;
font-size:10.0pt;
font-family:"Courier New";}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Consolas;}
span.EmailStyle22
{mso-style-type:personal-reply;
font-family:"Aptos",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
mso-ligatures:none;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
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="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt">One idea might be to support a more restful URL, e.g. https://myhost.com/cgi-bin/mapserv/homepage (or /home or /index or ?) instead of using a parameter-based approach. Maybe that endpoint name could be configurable
via the config file – and that could also enable the functionality.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">--Steve <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> MapServer-dev <mapserver-dev-bounces@lists.osgeo.org>
<b>On Behalf Of </b>Daniel Morissette via MapServer-dev<br>
<b>Sent:</b> Monday, March 10, 2025 4:58 PM<br>
<b>To:</b> mapserver-dev@lists.osgeo.org<br>
<b>Subject:</b> Re: [MapServer-dev] RFC-140 - MapServer Homepage<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Hi everyone,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Sorry for being late with my feedback. I like the RFC overall, but was wondering if we could find a better trigger than mode=config for this feature. My first reaction when I saw mode=config was that this mode could be used to deal with
the actual config settings in the future if we ever want to go there so using mode=config today for this homepage feature could limit our future options. That being said, I couldn't find any good names other than mode=homepage to match the MS_HOMEPAGE_TEMPLATE_DIRECTORY
variable that controls it.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I can live with mode=config if we have no better option and am +1 with the RFC otherwise.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Daniel<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">On 2025-03-09 11:57, Seth G via MapServer-dev wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">Hi all,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I've added in the feedback from the comments above to RFC 140 [1], see diff of changes at [2].<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I'd like to now formally propose to adopt this RFC, starting with my +1.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Seth<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">[1] <a href="https://mapserver.org/development/rfc/ms-rfc-140.html">
https://mapserver.org/development/rfc/ms-rfc-140.html</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[2] <a href="https://github.com/MapServer/MapServer-documentation/pull/1000/files">https://github.com/MapServer/MapServer-documentation/pull/1000/files</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div id="sig62266145">
<div>
<p class="MsoNormal">--<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">web:<a href="https://geographika.net/">https://geographika.net</a> & <a href="https://mapserverstudio.net/">https://mapserverstudio.net</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">mastodon: @<a href="mailto:geographika@mastodon.social">geographika@mastodon.social</a><o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">On Wed, Jan 22, 2025, at 4:40 PM, Tom Kralidis wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt" id="qt">
<div>
<div>
<p class="MsoNormal">Thanks Seth.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">RE: service-meta: I would still keep to the link conventions (proper media type for "type", we could add a custom "service-type=WMS" property), and include an href as well.<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">..Tom<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">On Wed, Jan 22, 2025 at 10:27<span style="font-family:"Arial",sans-serif"> </span>AM Seth G <<a href="mailto:sethg@geographika.co.uk">sethg@geographika.co.uk</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">Thanks Tom - that pygeoapi pull request is good timing!<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">After reviewing and reading some of the associated documents, I'm planning to update the RFC with the notes below.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">pygeoapi has implemented a JSON service for their homepage at [1] (pull request at [2].<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">This implements the api-catalog, a draft IETF (Internet Engineering Task Force) standard [3]. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">The Link Set format is described at [4]. It is proposed this approach is used to generate JSON for a MapServer "homepage".<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">The generated JSON format can be seen at <a href="https://demo.pygeoapi.io/api-catalog.json" target="_blank">
https://demo.pygeoapi.io/api-catalog.json</a>, with an extract below:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">{<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "linkset": [<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "anchor": "<a href="https://demo.pygeoapi.io/master" target="_blank">https://demo.pygeoapi.io/master</a>", <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "service-desc": [<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "href": "<a href="https://demo.pygeoapi.io/master/openapi?f=json" target="_blank">https://demo.pygeoapi.io/master/openapi?f=json</a>", <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "title": "pygeoapi - latest GitHub 'master' version (JSON)", <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "type": "application/vnd.oai.openapi+json"<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> ], <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "service-doc": [<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "href": "<a href="https://demo.pygeoapi.io/master/openapi?f=html" target="_blank">https://demo.pygeoapi.io/master/openapi?f=html</a>", <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "title": "pygeoapi - latest GitHub 'master' version (HTML)", <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "type": "text/html"<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> ]<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> }, <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The spec allows for an additional "service-meta" property "used to link to additional metadata about the API, <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">and is primarily intended for machine consumption." I think this can be used to add any additional properties from Mapfiles<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">we'd need to generate a MapServer homepage.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">"service-doc" isn't mandatory, so WxS service links can ignore this. An example of the proposed JSON and metadata is shown below:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">{<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "linkset": [<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "anchor": "<a href="https://demo.mapserver.org/" target="_blank">https://demo.mapserver.org/</a>", <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "service-desc": [<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "href": "<a href="https://demo.mapserver.org/cgi-bin/msautotest?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities" target="_blank">https://demo.mapserver.org/cgi-bin/msautotest?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities</a>", <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "title": "World WMS service", <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "type": "text/xml"<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> ], <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "service-meta": {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "type": "wms",<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "title": "WMS demo server for MapServer, used in the msautotest suite",<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "keywords": ["layers", "list"],<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "mapfile": "msautotest.map",<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> }, <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Seth<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">[1] <a href="https://demo.pygeoapi.io/" target="_blank">https://demo.pygeoapi.io/</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[2] <a href="https://github.com/geopython/demo.pygeoapi.io/pull/60/files" target="_blank">
https://github.com/geopython/demo.pygeoapi.io/pull/60/files</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[3] <a href="https://datatracker.ietf.org/doc/draft-ietf-httpapi-api-catalog/08/" target="_blank">
https://datatracker.ietf.org/doc/draft-ietf-httpapi-api-catalog/08/</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[4] <a href="https://www.rfc-editor.org/rfc/rfc9264.html" target="_blank">
https://www.rfc-editor.org/rfc/rfc9264.html</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div id="qt-m_4961441124732064760sig62266145">
<div>
<p class="MsoNormal">--<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">web:<a href="https://geographika.net/" target="_blank">https://geographika.net</a> & <a href="https://mapserverstudio.net/" target="_blank">https://mapserverstudio.net</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">mastodon: @<a href="mailto:geographika@mastodon.social" target="_blank">geographika@mastodon.social</a><o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">On Sun, Jan 19, 2025, at 5:10 PM, Tom Kralidis wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt" id="qt-m_4961441124732064760qt">
<div>
<div>
<p class="MsoNormal">Seth: thanks for this RFC. IETF has api-catalog (draft, [1]) which I think would be a good candidate for this RFC. This is also an item for review in the OGC API - Records SWG [2].<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Overall it looks pretty close to the RFC proposal. We can consider using api-catalog as a baseline and we can extend the JSON accordingly as needed for anything specific to our needs.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Cheers<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">..Tom<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">[1] <a href="https://datatracker.ietf.org/doc/draft-ietf-httpapi-api-catalog" target="_blank">
https://datatracker.ietf.org/doc/draft-ietf-httpapi-api-catalog</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[2] <a href="https://github.com/opengeospatial/ogcapi-records/issues/355" target="_blank">
https://github.com/opengeospatial/ogcapi-records/issues/355</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">On Sat, Jan 18, 2025 at 5:39<span style="font-family:"Arial",sans-serif"> </span>PM Seth G via MapServer-dev <<a href="mailto:mapserver-dev@lists.osgeo.org" target="_blank">mapserver-dev@lists.osgeo.org</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<p class="MsoNormal">Looking again at the landing page JSON at <a href="https://demo.mapserver.org/cgi-bin/mapserv/localdemo/ogcapi?f=json" target="_blank">
https://demo.mapserver.org/cgi-bin/mapserv/localdemo/ogcapi?f=json</a> it is in the same format, so as you suggested could simply be expanded with links to WxS services, or even CGI generated responses. This would also more easily allow template reuse.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Seth<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">--<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">web:<a href="https://geographika.net/" target="_blank">https://geographika.net</a> &
<a href="https://mapserverstudio.net/" target="_blank">https://mapserverstudio.net</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">mastodon: @geographika@mastodon.social<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">On Sat, Jan 18, 2025, at 11:33 PM, Seth G via MapServer-dev wrote:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> Hi Even,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">> Thanks for your valuable feedback.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">> The homepage would be a "superset" of all available Mapfiles in a<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> MapServer deployment, as listed in the CONFIG file. Each individual<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> Mapfile would still have its own OGC API landing page, so the homepage<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> is best described as a directory of all landing pages.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">> As most MapServer deployments will likely be serving out a combination<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> of WxS and new OGC API services for some time to come, it will allow<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> both types to be listed together (I'm unaware of a OGC API spec that<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> would cover this).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">> In regard to the JSON used for links, I was modelling it as closely as<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> possible to OGC API conventions. Looking at the pygeoapi demo home<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> page, it provides a set of links in a common format, so I'll likely<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> switch to this format/approach:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">> <a href="https://demo.pygeoapi.io/stable?f=json" target="_blank">
https://demo.pygeoapi.io/stable?f=json</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">> A few of the "rel" values are defined as below, and can be reused:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">> alternate Provides an alternate representation (e.g., HTML version of a<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> resource).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> service-desc Links to the machine-readable API description (e.g.,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> OpenAPI JSON).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> service-doc Links to the human-readable API documentation (e.g.,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> OpenAPI HTML).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> conformance Lists the standards and conformance classes supported by<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> the API.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">> I'll update the RFC with the above,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">> Seth<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">> --<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> web:<a href="https://geographika.net/" target="_blank">https://geographika.net</a> &
<a href="https://mapserverstudio.net/" target="_blank">https://mapserverstudio.net</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> mastodon: @geographika@mastodon.social<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">> On Sat, Jan 18, 2025, at 12:39 PM, Even Rouault wrote:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>> Seth,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">>> Thanks for putting this together. I'm wondering how much your proposal<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>> relates/intersects with the concept of the landing page of OGC API<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>> services ? You mention some connection with it, but it is not<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>> immediately clear to me the exact nature of the connection. Perhaps it<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>> is just a matter of clarifying. I have put zero thoughts in it, but it<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>> would feel weird to invent a MapServer specific thing, so I'm naively<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>> wondering if we can't we just adopt the landing page formalism (for the<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>> JSON part), and potentially extend it by exposing old WxS services as<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>> well in the links as you suggest? I'm also wondering if there's some<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>> best practice used by other projects on how to expose for things like<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">>> {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>> "href":<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>> "<a href="https://demo.mapserver.org/cgi-bin/wms?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities" target="_blank">https://demo.mapserver.org/cgi-bin/wms?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities</a>",<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>> "title": "GetCapabilities",<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>> "type": "WMS"<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>> },<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">>> so they can be interoperably consumed.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">>> Even<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">>> Le 18/01/2025 à 09:11, Seth G via MapServer-dev a écrit :<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>>> Hi devs,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>>><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">>>> I've drafted an RFC with an approach of creating a MapServer homepage based on the MAPs referenced in a mapserver.conf file. This will allow MapServer installations to easily advertise available services, dynamically.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>>><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">>>> Text available in pull request at <a href="https://github.com/MapServer/MapServer-documentation/pull/996" target="_blank">
https://github.com/MapServer/MapServer-documentation/pull/996</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>>><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">>>> Comments and thoughts appreciated,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>>> Thanks,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>>><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">>>> Seth<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>>><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">>>> --<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>>> web:<a href="https://geographika.net/" target="_blank">https://geographika.net</a> &
<a href="https://mapserverstudio.net/" target="_blank">https://mapserverstudio.net</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>>> mastodon: @geographika@mastodon.social<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>>> _______________________________________________<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>>> MapServer-dev mailing list<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>>> <a href="mailto:MapServer-dev@lists.osgeo.org" target="_blank">
MapServer-dev@lists.osgeo.org</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>>> <a href="https://lists.osgeo.org/mailman/listinfo/mapserver-dev" target="_blank">
https://lists.osgeo.org/mailman/listinfo/mapserver-dev</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">>> --<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>> <a href="http://www.spatialys.com/" target="_blank">http://www.spatialys.com</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>> My software is free, but my time generally not.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>> Butcher of all kinds of standards, open or closed formats. At the end,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>> this is just about bytes.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> _______________________________________________<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> MapServer-dev mailing list<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> <a href="mailto:MapServer-dev@lists.osgeo.org" target="_blank">
MapServer-dev@lists.osgeo.org</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">> <a href="https://lists.osgeo.org/mailman/listinfo/mapserver-dev" target="_blank">
https://lists.osgeo.org/mailman/listinfo/mapserver-dev</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">_______________________________________________<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">MapServer-dev mailing list<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="mailto:MapServer-dev@lists.osgeo.org" target="_blank">MapServer-dev@lists.osgeo.org</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="https://lists.osgeo.org/mailman/listinfo/mapserver-dev" target="_blank">https://lists.osgeo.org/mailman/listinfo/mapserver-dev</a><o:p></o:p></p>
</div>
</blockquote>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>MapServer-dev mailing list<o:p></o:p></pre>
<pre><a href="mailto:MapServer-dev@lists.osgeo.org">MapServer-dev@lists.osgeo.org</a><o:p></o:p></pre>
<pre><a href="https://lists.osgeo.org/mailman/listinfo/mapserver-dev">https://lists.osgeo.org/mailman/listinfo/mapserver-dev</a><o:p></o:p></pre>
</blockquote>
<p><o:p> </o:p></p>
<pre>-- <o:p></o:p></pre>
<pre>Daniel Morissette<o:p></o:p></pre>
<pre>Mapgears Inc<o:p></o:p></pre>
<pre>T: +1 418-696-5056 #201<o:p></o:p></pre>
</div>
</div>
</body>
</html>