c2cgeoportal-geoportal 2.6.0__py2.py3-none-any.whl → 2.8.1.180__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. c2cgeoportal_geoportal/__init__.py +245 -95
  2. c2cgeoportal_geoportal/lib/__init__.py +67 -43
  3. c2cgeoportal_geoportal/lib/authentication.py +50 -26
  4. c2cgeoportal_geoportal/lib/bashcolor.py +17 -13
  5. c2cgeoportal_geoportal/lib/cacheversion.py +16 -8
  6. c2cgeoportal_geoportal/lib/caching.py +65 -193
  7. c2cgeoportal_geoportal/lib/check_collector.py +17 -10
  8. c2cgeoportal_geoportal/lib/checker.py +67 -65
  9. c2cgeoportal_geoportal/lib/common_headers.py +167 -0
  10. c2cgeoportal_geoportal/lib/dbreflection.py +61 -46
  11. c2cgeoportal_geoportal/lib/filter_capabilities.py +126 -88
  12. c2cgeoportal_geoportal/lib/fulltextsearch.py +6 -5
  13. c2cgeoportal_geoportal/lib/functionality.py +20 -17
  14. c2cgeoportal_geoportal/lib/headers.py +14 -5
  15. c2cgeoportal_geoportal/lib/i18n.py +4 -4
  16. c2cgeoportal_geoportal/lib/layers.py +30 -11
  17. c2cgeoportal_geoportal/lib/lingua_extractor.py +363 -240
  18. c2cgeoportal_geoportal/lib/loader.py +11 -16
  19. c2cgeoportal_geoportal/lib/metrics.py +28 -17
  20. c2cgeoportal_geoportal/lib/oauth2.py +392 -206
  21. c2cgeoportal_geoportal/lib/wmstparsing.py +105 -84
  22. c2cgeoportal_geoportal/lib/xsd.py +26 -16
  23. c2cgeoportal_geoportal/resources.py +15 -9
  24. c2cgeoportal_geoportal/scaffolds/advance_create/ci/config.yaml +26 -0
  25. c2cgeoportal_geoportal/scaffolds/advance_create/cookiecutter.json +18 -0
  26. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.dockerignore +6 -0
  27. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.eslintrc.yaml +19 -0
  28. c2cgeoportal_geoportal/scaffolds/{create/geoportal/+dot+prospector.yaml → advance_create/{{cookiecutter.project}}/geoportal/.prospector.yaml} +8 -2
  29. c2cgeoportal_geoportal/scaffolds/{create/geoportal/Dockerfile_tmpl → advance_create/{{cookiecutter.project}}/geoportal/Dockerfile} +22 -15
  30. c2cgeoportal_geoportal/scaffolds/{create/geoportal/alembic.yaml_tmpl → advance_create/{{cookiecutter.project}}/geoportal/alembic.yaml} +1 -1
  31. c2cgeoportal_geoportal/scaffolds/{create/geoportal/development.ini_tmpl → advance_create/{{cookiecutter.project}}/geoportal/development.ini} +34 -15
  32. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/gunicorn.conf.py +100 -0
  33. c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/lingua-client.cfg +1 -0
  34. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/production.ini +38 -0
  35. c2cgeoportal_geoportal/scaffolds/{create/geoportal/setup.py_tmpl → advance_create/{{cookiecutter.project}}/geoportal/setup.py} +6 -7
  36. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/tsconfig.json +8 -0
  37. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.api.js +77 -0
  38. c2cgeoportal_geoportal/scaffolds/{create/geoportal/webpack.apps.js_tmpl → advance_create/{{cookiecutter.project}}/geoportal/webpack.apps.js} +29 -28
  39. c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/webpack.commons.js +4 -7
  40. c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/webpack.config.js +1 -1
  41. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/__init__.py +42 -0
  42. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/authentication.py +10 -0
  43. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/dev.py +14 -0
  44. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/models.py +8 -0
  45. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/multi_organization.py +7 -0
  46. c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/resources.py +4 -3
  47. c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal/static-ngeo/api/index.js_tmpl → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/api/index.js} +1 -2
  48. c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal/static-ngeo/js/+package+module.js_tmpl → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/js/{{cookiecutter.package}}module.js} +4 -4
  49. c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal/subscribers.py_tmpl → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/subscribers.py} +1 -3
  50. c2cgeoportal_geoportal/scaffolds/advance_update/cookiecutter.json +18 -0
  51. c2cgeoportal_geoportal/scaffolds/{update/geoportal/CONST_Makefile_tmpl → advance_update/{{cookiecutter.project}}/geoportal/CONST_Makefile} +3 -27
  52. c2cgeoportal_geoportal/scaffolds/create/cookiecutter.json +18 -0
  53. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.dockerignore +14 -0
  54. c2cgeoportal_geoportal/scaffolds/create/{+dot+editorconfig → {{cookiecutter.project}}/.editorconfig} +2 -5
  55. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/main.yaml +57 -0
  56. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/rebuild.yaml +46 -0
  57. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/update_l10n.yaml +66 -0
  58. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.gitignore +16 -0
  59. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierignore +1 -0
  60. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierrc.yaml +2 -0
  61. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/Dockerfile +76 -0
  62. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/Makefile +70 -0
  63. c2cgeoportal_geoportal/scaffolds/create/{README.rst_tmpl → {{cookiecutter.project}}/README.rst} +4 -4
  64. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/build +186 -0
  65. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/config.yaml +22 -0
  66. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/docker-compose-check +25 -0
  67. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/requirements.txt +1 -0
  68. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-db.yaml +26 -0
  69. c2cgeoportal_geoportal/scaffolds/create/{docker-compose-lib.yaml → {{cookiecutter.project}}/docker-compose-lib.yaml} +165 -22
  70. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-qgis.yaml +23 -0
  71. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose.override.sample.yaml +66 -0
  72. c2cgeoportal_geoportal/scaffolds/create/{docker-compose.yaml → {{cookiecutter.project}}/docker-compose.yaml} +20 -15
  73. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.default +101 -0
  74. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.project +69 -0
  75. c2cgeoportal_geoportal/scaffolds/create/{geoportal/vars.yaml_tmpl → {{cookiecutter.project}}/geoportal/vars.yaml} +126 -36
  76. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/mobile.css +0 -0
  77. c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/data/Readme.txt +3 -3
  78. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/demo.map.tmpl +224 -0
  79. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/mapserver.conf +15 -0
  80. c2cgeoportal_geoportal/scaffolds/create/{mapserver/mapserver.map.tmpl_tmpl → {{cookiecutter.project}}/mapserver/mapserver.map.tmpl} +9 -18
  81. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A3_Landscape.jrxml +13 -8
  82. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A3_Portrait.jrxml +13 -8
  83. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A4_Landscape.jrxml +13 -8
  84. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A4_Portrait.jrxml +13 -8
  85. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/config.yaml.tmpl +11 -4
  86. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation.properties +4 -0
  87. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation_fr.properties +4 -0
  88. c2cgeoportal_geoportal/scaffolds/create/{project.yaml_tmpl → {{cookiecutter.project}}/project.yaml} +6 -6
  89. c2cgeoportal_geoportal/scaffolds/create/{pyproject.toml → {{cookiecutter.project}}/pyproject.toml} +4 -0
  90. c2cgeoportal_geoportal/scaffolds/create/{qgisserver/pg_service.conf.tmpl_tmpl → {{cookiecutter.project}}/qgisserver/pg_service.conf.tmpl} +2 -2
  91. c2cgeoportal_geoportal/scaffolds/create/{run_alembic.sh → {{cookiecutter.project}}/run_alembic.sh} +3 -5
  92. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-backup +110 -0
  93. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-restore +114 -0
  94. c2cgeoportal_geoportal/scaffolds/create/{setup.cfg_tmpl → {{cookiecutter.project}}/setup.cfg} +1 -1
  95. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/spell-ignore-words.txt +5 -0
  96. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tests/__init__.py +0 -0
  97. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tests/test_app.py +38 -0
  98. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tilegeneration/config.yaml.tmpl +195 -0
  99. c2cgeoportal_geoportal/scaffolds/update/cookiecutter.json +18 -0
  100. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/.upgrade.yaml +61 -0
  101. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_CHANGELOG.txt +273 -0
  102. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_create_template/tests/test_testapp.py +48 -0
  103. c2cgeoportal_geoportal/scaffolds/update/{geoportal → {{cookiecutter.project}}/geoportal}/CONST_config-schema.yaml +64 -17
  104. c2cgeoportal_geoportal/scaffolds/update/{geoportal/CONST_vars.yaml_tmpl → {{cookiecutter.project}}/geoportal/CONST_vars.yaml} +396 -19
  105. c2cgeoportal_geoportal/scripts/__init__.py +16 -30
  106. c2cgeoportal_geoportal/scripts/c2cupgrade.py +272 -234
  107. c2cgeoportal_geoportal/scripts/create_demo_theme.py +3 -6
  108. c2cgeoportal_geoportal/scripts/manage_users.py +34 -39
  109. c2cgeoportal_geoportal/scripts/pcreate.py +310 -0
  110. c2cgeoportal_geoportal/scripts/theme2fts.py +128 -24
  111. c2cgeoportal_geoportal/scripts/urllogin.py +19 -11
  112. c2cgeoportal_geoportal/templates/login.html +88 -84
  113. c2cgeoportal_geoportal/templates/notlogin.html +59 -59
  114. c2cgeoportal_geoportal/templates/testi18n.html +6 -8
  115. c2cgeoportal_geoportal/views/__init__.py +23 -6
  116. c2cgeoportal_geoportal/views/dev.py +9 -7
  117. c2cgeoportal_geoportal/views/dynamic.py +56 -19
  118. c2cgeoportal_geoportal/views/entry.py +85 -24
  119. c2cgeoportal_geoportal/views/fulltextsearch.py +29 -23
  120. c2cgeoportal_geoportal/views/geometry_processing.py +17 -9
  121. c2cgeoportal_geoportal/views/i18n.py +91 -9
  122. c2cgeoportal_geoportal/views/layers.py +166 -133
  123. c2cgeoportal_geoportal/views/login.py +161 -93
  124. c2cgeoportal_geoportal/views/mapserverproxy.py +47 -31
  125. c2cgeoportal_geoportal/views/memory.py +12 -12
  126. c2cgeoportal_geoportal/views/ogcproxy.py +52 -30
  127. c2cgeoportal_geoportal/views/pdfreport.py +30 -26
  128. c2cgeoportal_geoportal/views/printproxy.py +60 -52
  129. c2cgeoportal_geoportal/views/profile.py +24 -23
  130. c2cgeoportal_geoportal/views/proxy.py +88 -72
  131. c2cgeoportal_geoportal/views/raster.py +37 -26
  132. c2cgeoportal_geoportal/views/resourceproxy.py +13 -11
  133. c2cgeoportal_geoportal/views/shortener.py +27 -25
  134. c2cgeoportal_geoportal/views/theme.py +472 -332
  135. c2cgeoportal_geoportal/views/tinyowsproxy.py +42 -44
  136. c2cgeoportal_geoportal/views/vector_tiles.py +80 -0
  137. {c2cgeoportal_geoportal-2.6.0.dist-info → c2cgeoportal_geoportal-2.8.1.180.dist-info}/METADATA +19 -8
  138. c2cgeoportal_geoportal-2.8.1.180.dist-info/RECORD +191 -0
  139. {c2cgeoportal_geoportal-2.6.0.dist-info → c2cgeoportal_geoportal-2.8.1.180.dist-info}/WHEEL +1 -1
  140. {c2cgeoportal_geoportal-2.6.0.dist-info → c2cgeoportal_geoportal-2.8.1.180.dist-info}/entry_points.txt +3 -0
  141. tests/__init__.py +10 -5
  142. tests/test_cachebuster.py +3 -5
  143. tests/test_caching.py +18 -26
  144. tests/test_checker.py +1 -3
  145. tests/test_decimaljson.py +5 -5
  146. tests/test_headerstween.py +1 -3
  147. tests/test_i18n.py +2 -2
  148. tests/test_init.py +16 -20
  149. tests/test_locale_negociator.py +4 -6
  150. tests/test_mapserverproxy_route_predicate.py +1 -4
  151. tests/test_raster.py +15 -17
  152. tests/test_wmstparsing.py +10 -12
  153. tests/xmlstr.py +1 -3
  154. c2cgeoportal_geoportal/scaffolds/__init__.py +0 -227
  155. c2cgeoportal_geoportal/scaffolds/create/+dot+dockerignore_tmpl +0 -12
  156. c2cgeoportal_geoportal/scaffolds/create/+dot+github/workflows/main.yaml_tmpl +0 -89
  157. c2cgeoportal_geoportal/scaffolds/create/+dot+github/workflows/rebuild.yaml_tmpl +0 -78
  158. c2cgeoportal_geoportal/scaffolds/create/+dot+gitignore_tmpl +0 -16
  159. c2cgeoportal_geoportal/scaffolds/create/Dockerfile_tmpl +0 -67
  160. c2cgeoportal_geoportal/scaffolds/create/Makefile +0 -3
  161. c2cgeoportal_geoportal/scaffolds/create/build_tmpl +0 -167
  162. c2cgeoportal_geoportal/scaffolds/create/ci/config.yaml_tmpl +0 -23
  163. c2cgeoportal_geoportal/scaffolds/create/ci/requirements.txt +0 -1
  164. c2cgeoportal_geoportal/scaffolds/create/ci/trigger +0 -68
  165. c2cgeoportal_geoportal/scaffolds/create/docker-compose.override.sample.yaml +0 -54
  166. c2cgeoportal_geoportal/scaffolds/create/env.default_tmpl +0 -67
  167. c2cgeoportal_geoportal/scaffolds/create/env.project_tmpl +0 -48
  168. c2cgeoportal_geoportal/scaffolds/create/geoportal/+dot+dockerignore_tmpl +0 -6
  169. c2cgeoportal_geoportal/scaffolds/create/geoportal/+dot+eslintrc_tmpl +0 -15
  170. c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/__init__.py_tmpl +0 -58
  171. c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/models.py_tmpl +0 -10
  172. c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/static/robot.txt +0 -3
  173. c2cgeoportal_geoportal/scaffolds/create/geoportal/production.ini_tmpl +0 -106
  174. c2cgeoportal_geoportal/scaffolds/create/geoportal/tools/extract-messages.js +0 -39
  175. c2cgeoportal_geoportal/scaffolds/create/geoportal/tsconfig.json_tmpl +0 -9
  176. c2cgeoportal_geoportal/scaffolds/create/geoportal/webpack.api.js_tmpl +0 -72
  177. c2cgeoportal_geoportal/scaffolds/create/mapserver/demo.map.tmpl_tmpl +0 -262
  178. c2cgeoportal_geoportal/scaffolds/create/mapserver/tinyows.xml +0 -36
  179. c2cgeoportal_geoportal/scaffolds/create/print/print-apps/+package+/config.yaml +0 -168
  180. c2cgeoportal_geoportal/scaffolds/create/qgisserver/geomapfish.yaml.tmpl_tmpl +0 -16
  181. c2cgeoportal_geoportal/scaffolds/create/spell-ignore-words.txt +0 -1
  182. c2cgeoportal_geoportal/scaffolds/create/tilegeneration/config.yaml.tmpl_tmpl +0 -185
  183. c2cgeoportal_geoportal/scaffolds/create/yamllint.yaml +0 -11
  184. c2cgeoportal_geoportal/scaffolds/update/+dot+upgrade.yaml_tmpl +0 -181
  185. c2cgeoportal_geoportal/scaffolds/update/CONST_CHANGELOG.txt_tmpl +0 -454
  186. c2cgeoportal_geoportal/templates/dynamic.js +0 -21
  187. c2cgeoportal_geoportal-2.6.0.dist-info/RECORD +0 -173
  188. /c2cgeoportal_geoportal/{scaffolds/create/geoportal/+package+_geoportal/static/css/desktop.css → py.typed} +0 -0
  189. /c2cgeoportal_geoportal/scaffolds/{create/geoportal/Makefile_tmpl → advance_create/{{cookiecutter.project}}/geoportal/Makefile} +0 -0
  190. /c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/alembic.ini +0 -0
  191. /c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/language_mapping +0 -0
  192. /c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/lingua-server.cfg +0 -0
  193. /c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/requirements.txt +0 -0
  194. /c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/views/__init__.py +0 -0
  195. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal/locale/en/LC_MESSAGES/+package+_geoportal-client.po → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/locale/en/LC_MESSAGES/{{cookiecutter.package}}_geoportal-client.po} +0 -0
  196. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal/static/css/iframe_api.css → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/desktop.css} +0 -0
  197. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal/static/css/mobile.css → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/iframe_api.css} +0 -0
  198. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/banner_left.png +0 -0
  199. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/banner_right.png +0 -0
  200. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/blank.png +0 -0
  201. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/markers/marker-blue.png +0 -0
  202. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/markers/marker-gold.png +0 -0
  203. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/markers/marker-green.png +0 -0
  204. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/markers/marker.png +0 -0
  205. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/robot.txt.tmpl +0 -0
  206. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/data/TM_EUROPE_BORDERS-0.3.sql +0 -0
  207. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Arial.ttf +0 -0
  208. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Arialbd.ttf +0 -0
  209. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Arialbi.ttf +0 -0
  210. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Ariali.ttf +0 -0
  211. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-Bold.ttf +0 -0
  212. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-BoldItalic.ttf +0 -0
  213. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-Italic.ttf +0 -0
  214. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-Regular.ttf +0 -0
  215. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdana.ttf +0 -0
  216. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdanab.ttf +0 -0
  217. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdanai.ttf +0 -0
  218. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdanaz.ttf +0 -0
  219. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts.conf +0 -0
  220. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/tinyows.xml.tmpl +0 -0
  221. /c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/legend.jrxml +0 -0
  222. /c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/logo.png +0 -0
  223. /c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/north.svg +0 -0
  224. /c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/results.jrxml +0 -0
  225. {c2cgeoportal_geoportal-2.6.0.dist-info → c2cgeoportal_geoportal-2.8.1.180.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,273 @@
1
+ This file includes migration steps for each release of c2cgeoportal.
2
+
3
+ =============
4
+ Version 2.8.1
5
+ =============
6
+
7
+ 1. Update dependencies to use GDAL 3.7
8
+
9
+ Use MapServer 8.0 with GDAL 3.7 (instead of 3.6)
10
+ Use QGIS server 3.28 with GDAL 3.7 (instead of 3.6)
11
+ Use GDAL 3.7 as based image (instead of 3.6)
12
+
13
+ 2. Docker Compose version 2
14
+
15
+ Docker Compose version 2 is now supported (with the command `docker compose` instead of `docker-compose`) is now supported.
16
+ For that an new argument `--docker-compose-version-2` is added to the `build` command, this argument should be used in the CI/CD pipeline.
17
+
18
+ In the `Makefile` you should replace all `docker-compose ` by `docker compose `
19
+ and remove all the argument `--no-deps` of the command `docker compose run`.
20
+
21
+ In the `project.yaml` you should add `Makefile` in the `managed_files` section.
22
+
23
+ End of support by GitHub: https://github.blog/changelog/2024-04-10-github-hosted-runner-images-deprecation-notice-docker-compose-v1/.
24
+
25
+ 4. Previously the `Cache-Control` header was set to `public` when we are not authenticated to an endpoint
26
+ that use the authentication. But this didn't works in every cases, for example when we use the intranet
27
+ role and when we have a reverse proxy with cache. Now it's always set to private for all the endpoints
28
+ that use the authentication.
29
+
30
+
31
+ =============
32
+ Version 2.8.0
33
+ =============
34
+
35
+ Information to know before starting the upgrade
36
+ ===============================================
37
+
38
+
39
+ Information
40
+ ===========
41
+
42
+ 1. We upgraded MapServer to version 8, then the Mapfiles should probably be updated, and we have a new
43
+ configurations file named `mapserver/mapserver.conf`.
44
+ Migration guide: https://mapserver.org/MIGRATION_GUIDE.html#mapserver-7-6-to-8-0-migration.
45
+ Deprecated element from `CLASS` removed (moved to `STYLE`)
46
+ https://mapserver.org/development/rfc/ms-rfc-133.html#rfc133.
47
+
48
+ 2. We added the support of 'main_ogc_server' to WMS mapserver proxy URL.
49
+ This means that if the value 'vars/main_ogc_server' is present in the vars.yaml of the project,
50
+ that will be used as default value when no 'ogcserver' parameter is present in the request.
51
+
52
+ 3. We switched the OpenLayers renderer to now use WegGL for WMTS. In the case of background tiles with
53
+ transparency, you should add the parameter 'ngeoTilesPreloadingLimit: 0' to the vars.yaml in 'constants'
54
+ so that background tiles are rendered correctly.
55
+
56
+ 4. In the `user` table, the column `deactivated` is now interpreted more strictly, `null` is now considered as `true`.
57
+
58
+ 5. We add the `gmfPrintOptions` in the update path then the default print options are maintained in the
59
+ `CONST_vars.yaml`, especially the `hiddenAttributes`, then if you used the default value it can be
60
+ removed.
61
+
62
+ Main versions updates
63
+ -------------------
64
+ Ubuntu is updated from 20.04.6 to 22.04.2
65
+ Python is updated from 3.8.10 to 3.10.6
66
+ Node is updated from 16.20.0 to 16.20.0
67
+ Npm is updated from 8.19.4 to 8.19.4
68
+ Postgres is updated from 15+250.pgdg20.04+1 to 15+250.pgdg22.04+1
69
+ GDAL is updated from 3.4.3, to 3.6.4,
70
+ Proj is updated from 9.0.0 to 9.1.1
71
+
72
+ Python packages updates
73
+ ---------------------
74
+ New packages:
75
+ * astroid at version 2.15.5
76
+ * bandit at version 1.7.5
77
+ * dill at version 0.3.6
78
+ * dodgy at version 0.2.1
79
+ * flake8 at version 2.3.0
80
+ * flake8-polyfill at version 1.0.2
81
+ * gitdb at version 4.0.10
82
+ * GitPython at version 3.1.31
83
+ * isort at version 5.12.0
84
+ * lazy-object-proxy at version 1.9.0
85
+ * markdown-it-py at version 2.2.0
86
+ * mccabe at version 0.7.0
87
+ * mdurl at version 0.1.2
88
+ * mypy at version 1.3.0
89
+ * mypy-extensions at version 1.0.0
90
+ * pep8 at version 1.7.1
91
+ * pep8-naming at version 0.10.0
92
+ * prospector at version 1.9.0
93
+ * pycodestyle at version 2.10.0
94
+ * pydocstyle at version 6.3.0
95
+ * pyflakes at version 2.5.0
96
+ * pylint at version 2.17.4
97
+ * pylint-celery at version 0.3
98
+ * pylint-django at version 2.5.3
99
+ * pylint-flask at version 0.6
100
+ * pylint-plugin-utils at version 0.7
101
+ * requirements-detector at version 1.2.2
102
+ * rich at version 13.4.1
103
+ * semver at version 3.0.0
104
+ * setoptconf-tmp at version 0.3.1
105
+ * shapely at version 2.0.1
106
+ * smmap at version 5.0.0
107
+ * snowballstemmer at version 2.2.0
108
+ * tomli at version 2.0.1
109
+ * tomlkit at version 0.11.8
110
+ * typing_extensions at version 4.6.2
111
+
112
+ Removed packages:
113
+ * azure-identity
114
+ * boto3
115
+ * botocore
116
+ * Cython
117
+ * Deprecated
118
+ * distlib
119
+ * filelock
120
+ * importlib-metadata
121
+ * importlib-resources
122
+ * jmespath
123
+ * linesman
124
+ * msal
125
+ * msal-extensions
126
+ * msrest
127
+ * networkx
128
+ * Paste
129
+ * pipenv
130
+ * pipfile
131
+ * pkgconfig
132
+ * portalocker
133
+ * poyo
134
+ * pygraphviz
135
+ * repoze.lru
136
+ * s3transfer
137
+ * Shapely
138
+ * typing-extensions
139
+ * virtualenv
140
+ * virtualenv-clone
141
+ * zipp
142
+
143
+ Major updates:
144
+ * attrs from 21.4.0 to 23.1.0
145
+ * basicauth from 0.4.1 to 1.0.0
146
+ * boltons from 21.0.0 to 23.0.0
147
+ * Chameleon from 3.9.1 to 4.0.0
148
+ * chardet from 4.0.0 to 5.1.0
149
+ * charset-normalizer from 2.0.12 to 3.1.0
150
+ * colander from 1.8.3 to 2.0
151
+ * cryptography from 41.0.1 to 39.0.2
152
+ * geojson from 2.5.0 to 3.0.1
153
+ * greenlet from 1.1.3.post0 to 2.0.2
154
+ * munch from 2.5.0 to 3.0.0
155
+ * packaging from 21.3 to 23.1
156
+ * PasteDeploy from 2.1.1 to 3.0.1
157
+ * plaster-pastedeploy from 0.7 to 1.0.1
158
+ * python-slugify from 4.0.1 to 8.0.1
159
+ * pytz from 2021.3 to 2023.3
160
+ * PyYAML from 5.4.1 to 6.0
161
+ * stevedore from 3.5.2 to 5.1.0
162
+ * urllib3 from 1.26.16 to 2.0.2
163
+ * zope.deprecation from 4.4.0 to 5.0
164
+ * zope.interface from 5.4.0 to 6.0
165
+ * zope.sqlalchemy from 1.6 to 3.0
166
+
167
+ Minor updates:
168
+ * affine from 2.3.1 to 2.4.0
169
+ * alembic from 1.7.7 to 1.10.4
170
+ * azure-core from 1.26.3 to 1.27.0
171
+ * azure-storage-blob from 12.14.1 to 12.16.0
172
+ * Babel from 2.9.1 to 2.12.1
173
+ * Beaker from 1.11.0 to 1.12.1
174
+ * c2cwsgiutils from 5.0.1 to 5.2.2
175
+ * click from 8.0.4 to 8.1.3
176
+ * dogpile.cache from 1.1.8 to 1.2.0
177
+ * Fiona from 1.8.22 to 1.9.3
178
+ * GDAL from 3.4.3 to 3.6.4
179
+ * GeoAlchemy2 from 0.11.1 to 0.13.2
180
+ * graphviz from 0.19.2 to 0.20.1
181
+ * hupper from 1.10.3 to 1.12
182
+ * idna from 3.3 to 3.4
183
+ * iso8601 from 1.0.2 to 1.1.0
184
+ * Jinja2 from 3.0.3 to 3.1.2
185
+ * numpy from 1.22.4 to 1.24.3
186
+ * OWSLib from 0.28.1 to 0.29.2
187
+ * papyrus from 2.4 to 2.5
188
+ * pbr from 5.8.1 to 5.11.1
189
+ * Pillow from 9.4.0 to 9.5.0
190
+ * plaster from 1.0 to 1.1.2
191
+ * polib from 1.1.1 to 1.2.0
192
+ * pycryptodome from 3.14.1 to 3.17
193
+ * PyJWT from 2.4.0 to 2.7.0
194
+ * pyotp from 2.6.0 to 2.8.0
195
+ * pyproj from 3.3.1 to 3.5.0
196
+ * pyramid-debugtoolbar from 4.9 to 4.10
197
+ * pyramid-jinja2 from 2.9.2 to 2.10
198
+ * pyyaml-include from 1.2.post2 to 1.3
199
+ * rasterio from 1.2.10 to 1.3.6
200
+ * redis from 4.3.6 to 4.5.4
201
+ * sentry-sdk from 1.14.0 to 1.21.1
202
+ * SQLAlchemy-Utils from 0.38.3 to 0.41.1
203
+ * tilecloud from 1.8.2 to 1.9.3
204
+ * transaction from 3.0.1 to 3.1.0
205
+ * ujson from 5.4.0 to 5.7.0
206
+ * wrapt from 1.13.3 to 1.15.0
207
+ * zope.event from 4.4 to 4.6
208
+
209
+ Npm packages updates
210
+ ------------------
211
+ New packages:
212
+ * @snyk/protect at version 1.1094.0
213
+ * cy-mobile-commands at version 0.3.0
214
+ * cypress-browser-permissions at version 1.1.0
215
+ * cypress-real-events at version 1.7.6
216
+ * eslint-plugin-lit at version 1.8.2
217
+ * eslint-plugin-wc at version 1.4.0
218
+ * i18next-http-backend at version 2.1.1
219
+ * neat-csv at version 5.2.0
220
+ * strip-bom at version 5.0.0
221
+
222
+ Removed packages:
223
+ * @sentry/integrations
224
+ * angular-gettext-tools
225
+ * commander
226
+ * eslint
227
+ * i18next-xhr-backend
228
+ * puppeteer
229
+
230
+ Major updates:
231
+ * @sentry/browser from 6.18.2 to 7.35.0
232
+ * @sentry/tracing from 6.18.2 to 7.35.0
233
+ * @sentry/types from 6.18.2 to 7.35.0
234
+ * editorconfig-checker from 4.0.2 to 5.0.1
235
+ * eslint-plugin-jsdoc from 38.0.8 to 39.7.5
236
+ * fs-extra from 10.0.1 to 11.1.0
237
+ * glob from 7.2.3 to 8.1.0
238
+ * i18next-browser-languagedetector from 6.1.8 to 7.0.1
239
+ * i18next-parser from 6.0.1 to 7.6.0
240
+ * i18next from 21.6.16 to 22.4.9
241
+ * node-sass from 6.0.1 to 7.0.3
242
+ * ol-layerswitcher from 3.8.3 to 4.1.0
243
+ * ol-mapbox-style from 7.1.1 to 9.5.0
244
+ * ol from 6.12.0 to 7.2.2
245
+ * sinon from 13.0.2 to 15.0.1
246
+ * svgo from 2.8.0 to 3.0.2
247
+ * tsconfig-paths from 3.14.2 to 4.1.2
248
+
249
+ Minor updates:
250
+ * @babel/core from 7.17.12 to 7.20.12
251
+ * @babel/plugin-proposal-class-properties from 7.16.7 to 7.18.6
252
+ * @babel/plugin-proposal-decorators from 7.17.12 to 7.20.13
253
+ * @babel/plugin-transform-spread from 7.16.7 to 7.20.7
254
+ * @babel/plugin-transform-typescript from 7.16.8 to 7.20.13
255
+ * @babel/preset-env from 7.16.11 to 7.20.2
256
+ * @babel/preset-typescript from 7.16.7 to 7.18.6
257
+ * @lit/reactive-element from 1.3.4 to 1.6.1
258
+ * @trevoreyre/autocomplete-js from 2.2.0 to 2.4.1
259
+ * babel-loader from 8.2.5 to 8.3.0
260
+ * core-js from 3.21.1 to 3.27.2
261
+ * d3 from 7.3.0 to 7.8.2
262
+ * jsts from 2.8.1 to 2.9.3
263
+ * lit-html from 2.2.7 to 2.6.1
264
+ * lit from 2.2.8 to 2.6.1
265
+ * rxjs from 7.5.7 to 7.8.0
266
+ * sass-loader from 10.2.1 to 10.4.1
267
+ * terser from 5.12.1 to 5.16.2
268
+ * tinycolor2 from 1.4.2 to 1.5.2
269
+ * ts-node from 10.7.0 to 10.9.1
270
+
271
+
272
+ Changes to apply
273
+ ================
@@ -0,0 +1,48 @@
1
+ # This file should be used only on the test project in the c2cgeoportal CI
2
+
3
+ import re
4
+
5
+ import polib
6
+ import pytest
7
+ import requests
8
+
9
+
10
+ @pytest.mark.parametrize("test_number", [0, 1])
11
+ def test_po(test_number: int) -> None:
12
+ """Tests that the generated pot files are identical between the command line and the view."""
13
+ del test_number
14
+
15
+ response = requests.get("https://front/locale.pot", verify=False, timeout=30) # nosec
16
+ assert response.status_code == 200, response.text
17
+ response_keys = {e.msgid for e in polib.pofile(response.text)}
18
+
19
+ with open(
20
+ "geoportal/{{cookiecutter.package}}_geoportal/locale/{{cookiecutter.package}}_geoportal-client.pot",
21
+ encoding="utf-8",
22
+ ) as current_file:
23
+ current_content = current_file.read()
24
+ current_content_keys = {e.msgid for e in polib.pofile(current_content)}
25
+
26
+ if response_keys != current_content_keys:
27
+ assert response.text == current_content
28
+
29
+
30
+ @pytest.mark.parametrize("url", ["https://front/desktop_alt"])
31
+ def test_desktop_alt(url: str) -> None:
32
+ """Tests the desktop alt page."""
33
+ response = requests.get(url, verify=False, timeout=30) # nosec
34
+ assert response.status_code == 200, response.text
35
+
36
+ assert re.search(
37
+ r'<script src="https?://front/static-ngeo-dist/desktop\..*\.js" crossorigin="anonymous"></script>',
38
+ response.text,
39
+ ), response.text
40
+ assert re.search(r'<html lang="{{"{{mainCtrl.lang}}"}}" ', response.text), response.text
41
+
42
+
43
+ def test_enum() -> None:
44
+ """Test the enumerations view"""
45
+ response = requests.get("https://front/layers/test/values/type", verify=False, timeout=30) # nosec
46
+ assert response.status_code == 200, response.text
47
+
48
+ assert response.json() == {"items": [{"value": "car"}, {"value": "train"}]}, response.text
@@ -44,6 +44,8 @@ mapping:
44
44
  package:
45
45
  type: str
46
46
  required: True
47
+ main_ogc_server:
48
+ type: str
47
49
  enable_admin_interface:
48
50
  type: scalar
49
51
  required: True
@@ -116,11 +118,14 @@ mapping:
116
118
  type:
117
119
  type: str
118
120
  default: ngeo
121
+ layout:
122
+ type: str
123
+ default: ngeo
119
124
  interfaces_config:
120
125
  required: True
121
126
  type: map
122
127
  mapping:
123
- regex;.+:
128
+ regex;(.+):
124
129
  type: map
125
130
  mapping:
126
131
  extends:
@@ -128,17 +133,17 @@ mapping:
128
133
  constants:
129
134
  type: map
130
135
  mapping:
131
- regex;.+:
136
+ regex;(.+):
132
137
  type: any
133
138
  dynamic_constants:
134
139
  type: map
135
140
  mapping:
136
- regex;.+:
141
+ regex;(.+):
137
142
  type: str
138
143
  routes:
139
144
  type: map
140
145
  mapping:
141
- regex;.+:
146
+ regex;(.+):
142
147
  type: map
143
148
  mapping:
144
149
  name:
@@ -152,22 +157,22 @@ mapping:
152
157
  kw:
153
158
  type: map
154
159
  mapping:
155
- regex;.+:
160
+ regex;(.+):
156
161
  type: str
157
162
  params:
158
163
  type: map
159
164
  mapping:
160
- regex;.+:
165
+ regex;(.+):
161
166
  type: text
162
167
  dynamic_params:
163
168
  type: map
164
169
  mapping:
165
- regex;.+:
170
+ regex;(.+):
166
171
  type: str
167
172
  static:
168
173
  type: map
169
174
  mapping:
170
- regex;.+:
175
+ regex;(.+):
171
176
  type: map
172
177
  mapping:
173
178
  name:
@@ -175,6 +180,8 @@ mapping:
175
180
  required: True
176
181
  append:
177
182
  type: str
183
+ lang_urls_suffix:
184
+ type: str
178
185
  redirect_interface:
179
186
  type: str
180
187
  do_redirect:
@@ -222,7 +229,7 @@ mapping:
222
229
  type: map
223
230
  required: True
224
231
  mapping:
225
- regex;.+:
232
+ regex;(.+):
226
233
  type: str
227
234
  headers:
228
235
  type: map
@@ -242,10 +249,13 @@ mapping:
242
249
  cache_control_max_age:
243
250
  required: True
244
251
  type: scalar
252
+ cache_control_max_age_nocache:
253
+ required: True
254
+ type: scalar
245
255
  headers:
246
256
  type: map
247
257
  mapping:
248
- regex;.+:
258
+ regex;(.+):
249
259
  type: str
250
260
  index: *header
251
261
  dynamic: *header
@@ -260,6 +270,7 @@ mapping:
260
270
  print: *header
261
271
  profile: *header
262
272
  raster: *header
273
+ vector_tiles: *header
263
274
  shortener: *header
264
275
  error: *header
265
276
 
@@ -274,7 +285,7 @@ mapping:
274
285
  type: map
275
286
  required: True
276
287
  mapping:
277
- regex;.+:
288
+ regex;(.+):
278
289
  type: map
279
290
  mapping:
280
291
  backend:
@@ -283,7 +294,7 @@ mapping:
283
294
  arguments:
284
295
  type: map
285
296
  mapping:
286
- regex;.+:
297
+ regex;(.+):
287
298
  type: any
288
299
  admin_interface:
289
300
  type: map
@@ -299,7 +310,7 @@ mapping:
299
310
  sequence:
300
311
  - type: map
301
312
  mapping:
302
- regex;.+:
313
+ regex;(.+):
303
314
  type: any
304
315
  fitSource:
305
316
  type: bool
@@ -335,7 +346,7 @@ mapping:
335
346
  type: str
336
347
  zoom:
337
348
  type: int
338
- regex;.+:
349
+ regex;(.+):
339
350
  type: any
340
351
  available_metadata:
341
352
  type: seq
@@ -354,6 +365,12 @@ mapping:
354
365
  type: str
355
366
  translate:
356
367
  type: bool
368
+ description:
369
+ type: str
370
+ relevant_for:
371
+ type: seq
372
+ sequence:
373
+ - type: str
357
374
  available_functionalities:
358
375
  type: seq
359
376
  required: True
@@ -371,6 +388,12 @@ mapping:
371
388
  type: str
372
389
  single:
373
390
  type: bool
391
+ description:
392
+ type: str
393
+ relevant_for:
394
+ type: seq
395
+ sequence:
396
+ - type: str
374
397
  exclude_pages:
375
398
  type: seq
376
399
  sequence:
@@ -396,7 +419,7 @@ mapping:
396
419
  required: True
397
420
  map:
398
421
  <<: *map_config
399
- regex;.+:
422
+ regex;(.+):
400
423
  type: any
401
424
 
402
425
  layers:
@@ -468,6 +491,8 @@ mapping:
468
491
  ogc_server:
469
492
  type: str
470
493
  required: True
494
+ name:
495
+ type: str
471
496
  fulltextsearch:
472
497
  type: map
473
498
  required: True
@@ -523,6 +548,14 @@ mapping:
523
548
  type: seq
524
549
  sequence:
525
550
  - type: str
551
+ headers_whitelist:
552
+ type: seq
553
+ sequence:
554
+ - type: str
555
+ headers_blacklist:
556
+ type: seq
557
+ sequence:
558
+ - type: str
526
559
  raster:
527
560
  <<: *free_dict
528
561
  required: True
@@ -533,7 +566,7 @@ mapping:
533
566
  <<: *send_email
534
567
  base_url:
535
568
  type: str
536
- required: True
569
+ required: False
537
570
  allowed_hosts:
538
571
  type: seq
539
572
  sequence:
@@ -558,7 +591,7 @@ mapping:
558
591
  required: True
559
592
  sequence:
560
593
  - type: str
561
- unique: yes
594
+ unique: True
562
595
  print_url:
563
596
  type: str
564
597
  required: True
@@ -787,3 +820,17 @@ mapping:
787
820
  total_python_object_memory:
788
821
  required: True
789
822
  type: scalar
823
+ vector_tiles:
824
+ type: map
825
+ mapping:
826
+ srid:
827
+ type: int
828
+ extent:
829
+ type: seq
830
+ sequence:
831
+ - type: scalar
832
+ resolutions:
833
+ type: seq
834
+ sequence:
835
+ - type: scalar
836
+ i18next: *free_dict