[MapServer-dev] RFC-140 - MapServer Homepage
Tom Kralidis
tomkralidis at gmail.com
Sun Mar 9 19:05:42 PDT 2025
+1
..Tom
On Sun, Mar 9, 2025 at 12:06 PM Seth G via MapServer-dev <
mapserver-dev at lists.osgeo.org> wrote:
> Hi all,
>
> I've added in the feedback from the comments above to RFC 140 [1], see
> diff of changes at [2].
> I'd like to now formally propose to adopt this RFC, starting with my +1.
>
> Seth
>
> [1] https://mapserver.org/development/rfc/ms-rfc-140.html
> [2] https://github.com/MapServer/MapServer-documentation/pull/1000/files
>
> --
> web:https://geographika.net & https://mapserverstudio.net
> mastodon: @geographika at mastodon.social
>
> On Wed, Jan 22, 2025, at 4:40 PM, Tom Kralidis wrote:
>
> Thanks Seth.
>
> 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.
>
> ..Tom
>
> On Wed, Jan 22, 2025 at 10:27 AM Seth G <sethg at geographika.co.uk> wrote:
>
>
> Thanks Tom - that pygeoapi pull request is good timing!
>
> After reviewing and reading some of the associated documents, I'm planning
> to update the RFC with the notes below.
>
> pygeoapi has implemented a JSON service for their homepage at [1] (pull
> request at [2].
> This implements the api-catalog, a draft IETF (Internet Engineering Task
> Force) standard [3].
> The Link Set format is described at [4]. It is proposed this approach is
> used to generate JSON for a MapServer "homepage".
> The generated JSON format can be seen at
> https://demo.pygeoapi.io/api-catalog.json, with an extract below:
>
> {
> "linkset": [
> {
> "anchor": "https://demo.pygeoapi.io/master",
> "service-desc": [
> {
> "href": "https://demo.pygeoapi.io/master/openapi?f=json",
> "title": "pygeoapi - latest GitHub 'master' version (JSON)",
> "type": "application/vnd.oai.openapi+json"
> }
> ],
> "service-doc": [
> {
> "href": "https://demo.pygeoapi.io/master/openapi?f=html",
> "title": "pygeoapi - latest GitHub 'master' version (HTML)",
> "type": "text/html"
> }
> ]
> },
>
> The spec allows for an additional "service-meta" property "used to link to
> additional metadata about the API,
> and is primarily intended for machine consumption." I think this can be
> used to add any additional properties from Mapfiles
> we'd need to generate a MapServer homepage.
> "service-doc" isn't mandatory, so WxS service links can ignore this. An
> example of the proposed JSON and metadata is shown below:
>
> {
> "linkset": [
> {
> "anchor": "https://demo.mapserver.org/",
> "service-desc": [
> {
> "href": "
> https://demo.mapserver.org/cgi-bin/msautotest?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities
> ",
> "title": "World WMS service",
> "type": "text/xml"
> }
> ],
> "service-meta": {
> {
> "type": "wms",
> "title": "WMS demo server for MapServer, used in the msautotest
> suite",
> "keywords": ["layers", "list"],
> "mapfile": "msautotest.map",
> }
> }
> },
>
> Seth
>
> [1] https://demo.pygeoapi.io/
> [2] https://github.com/geopython/demo.pygeoapi.io/pull/60/files
> [3] https://datatracker.ietf.org/doc/draft-ietf-httpapi-api-catalog/08/
> [4] https://www.rfc-editor.org/rfc/rfc9264.html
>
>
> --
> web:https://geographika.net & https://mapserverstudio.net
> mastodon: @geographika at mastodon.social
>
> On Sun, Jan 19, 2025, at 5:10 PM, Tom Kralidis wrote:
>
> 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].
>
> 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.
>
> Cheers
>
> ..Tom
>
> [1] https://datatracker.ietf.org/doc/draft-ietf-httpapi-api-catalog
> [2] https://github.com/opengeospatial/ogcapi-records/issues/355
>
>
>
>
> On Sat, Jan 18, 2025 at 5:39 PM Seth G via MapServer-dev <
> mapserver-dev at lists.osgeo.org> wrote:
>
> Looking again at the landing page JSON at
> https://demo.mapserver.org/cgi-bin/mapserv/localdemo/ogcapi?f=json 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.
>
> Seth
>
> --
> web:https://geographika.net & https://mapserverstudio.net
> mastodon: @geographika at mastodon.social
>
> On Sat, Jan 18, 2025, at 11:33 PM, Seth G via MapServer-dev wrote:
> > Hi Even,
> >
> > Thanks for your valuable feedback.
> >
> > The homepage would be a "superset" of all available Mapfiles in a
> > MapServer deployment, as listed in the CONFIG file. Each individual
> > Mapfile would still have its own OGC API landing page, so the homepage
> > is best described as a directory of all landing pages.
> >
> > As most MapServer deployments will likely be serving out a combination
> > of WxS and new OGC API services for some time to come, it will allow
> > both types to be listed together (I'm unaware of a OGC API spec that
> > would cover this).
> >
> > In regard to the JSON used for links, I was modelling it as closely as
> > possible to OGC API conventions. Looking at the pygeoapi demo home
> > page, it provides a set of links in a common format, so I'll likely
> > switch to this format/approach:
> >
> > https://demo.pygeoapi.io/stable?f=json
> >
> > A few of the "rel" values are defined as below, and can be reused:
> >
> > alternate Provides an alternate representation (e.g., HTML version
> of a
> > resource).
> > service-desc Links to the machine-readable API description (e.g.,
> > OpenAPI JSON).
> > service-doc Links to the human-readable API documentation (e.g.,
> > OpenAPI HTML).
> > conformance Lists the standards and conformance classes supported by
> > the API.
> >
> > I'll update the RFC with the above,
> >
> > Seth
> >
> > --
> > web:https://geographika.net & https://mapserverstudio.net
> > mastodon: @geographika at mastodon.social
> >
> > On Sat, Jan 18, 2025, at 12:39 PM, Even Rouault wrote:
> >> Seth,
> >>
> >> Thanks for putting this together. I'm wondering how much your proposal
> >> relates/intersects with the concept of the landing page of OGC API
> >> services ? You mention some connection with it, but it is not
> >> immediately clear to me the exact nature of the connection. Perhaps it
> >> is just a matter of clarifying. I have put zero thoughts in it, but it
> >> would feel weird to invent a MapServer specific thing, so I'm naively
> >> wondering if we can't we just adopt the landing page formalism (for the
> >> JSON part), and potentially extend it by exposing old WxS services as
> >> well in the links as you suggest? I'm also wondering if there's some
> >> best practice used by other projects on how to expose for things like
> >>
> >> {
> >> "href":
> >> "
> https://demo.mapserver.org/cgi-bin/wms?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities
> ",
> >> "title": "GetCapabilities",
> >> "type": "WMS"
> >> },
> >>
> >> so they can be interoperably consumed.
> >>
> >> Even
> >>
> >> Le 18/01/2025 à 09:11, Seth G via MapServer-dev a écrit :
> >>> Hi devs,
> >>>
> >>> 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.
> >>>
> >>> Text available in pull request at
> https://github.com/MapServer/MapServer-documentation/pull/996
> >>>
> >>> Comments and thoughts appreciated,
> >>> Thanks,
> >>>
> >>> Seth
> >>>
> >>> --
> >>> web:https://geographika.net & https://mapserverstudio.net
> >>> mastodon: @geographika at mastodon.social
> >>> _______________________________________________
> >>> MapServer-dev mailing list
> >>> MapServer-dev at lists.osgeo.org
> >>> https://lists.osgeo.org/mailman/listinfo/mapserver-dev
> >>
> >> --
> >> http://www.spatialys.com
> >> My software is free, but my time generally not.
> >> Butcher of all kinds of standards, open or closed formats. At the end,
> >> this is just about bytes.
> > _______________________________________________
> > MapServer-dev mailing list
> > MapServer-dev at lists.osgeo.org
> > https://lists.osgeo.org/mailman/listinfo/mapserver-dev
> _______________________________________________
> MapServer-dev mailing list
> MapServer-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/mapserver-dev
>
>
>
> _______________________________________________
> MapServer-dev mailing list
> MapServer-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/mapserver-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-dev/attachments/20250309/076e71cb/attachment-0001.htm>
More information about the MapServer-dev
mailing list