You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -21,6 +21,12 @@ would offer greater convenience and maintainability.
21
21
With the introduction of the :ref:`CONFIG file <config>` in MapServer 8.0, it is now possible to centrally manage information about all Mapfiles in a deployment.
22
22
This would ensure that the homepage remains automatically synchronised with both the CONFIG file and the capabilities of the Mapfiles it references.
23
23
24
+
The homepage would be a "superset" of all available Mapfiles in a MapServer deployment, as listed in the CONFIG file.
25
+
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.
26
+
27
+
As most MapServer deployments will likely be serving out a combination of WxS and new OGC API services for some time to come,
28
+
it will allow both types to be listed together.
29
+
24
30
2.1 Proposed Solution
25
31
=====================
26
32
@@ -59,42 +65,73 @@ Requests will look as follows:
59
65
As the service returns JSON any client-side library can be used to render the output. However a default HTML template will be provided
60
66
following the same approach as in OGC Features API.
61
67
68
+
.. note::
69
+
70
+
Even though the JSON format is based on the OGC API, the homepage JSON service will still be generated for a Mapfile even if it only supports
71
+
older WxS services.
72
+
62
73
JSON Structure
63
74
--------------
64
75
65
76
JSON will be generated using the nlohmann/json and Inja approach already implemented in :ref:`MS RFC 134: OGC API Support <rfc134>`.
66
-
A proposed JSON structure is shown below. Final details may vary. URLs will be constructed based on settings in each individual Mapfile.
77
+
78
+
The returned JSON will conform to the the `api-catalog <https://datatracker.ietf.org/doc/draft-ietf-httpapi-api-catalog/08/>`__,
79
+
a draft IETF (Internet Engineering Task Force) standard. An example implementation is the `pygeoapi homepage <https://demo.pygeoapi.io/>`__
80
+
(see the associated `pull request <https://github.com/geopython/demo.pygeoapi.io/pull/60/files>`__). The JSON structure is available at
81
+
https://demo.pygeoapi.io/api-catalog.json. An extract is shown below:
67
82
68
83
.. code-block:: json
69
84
70
85
{
71
-
"id": "TEST_MAPFILE1", // the key in the config file
72
-
"name": "My_Mapfile", // the NAME in the Mapfile
73
-
"title": "My Mapfile Title", // the TITLE in the Mapfile
0 commit comments