c2cgeoportal-geoportal 2.6.0__py2.py3-none-any.whl → 2.7.1.157__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 (212) hide show
  1. c2cgeoportal_geoportal/__init__.py +224 -84
  2. c2cgeoportal_geoportal/lib/__init__.py +67 -43
  3. c2cgeoportal_geoportal/lib/authentication.py +50 -22
  4. c2cgeoportal_geoportal/lib/bashcolor.py +17 -13
  5. c2cgeoportal_geoportal/lib/cacheversion.py +16 -8
  6. c2cgeoportal_geoportal/lib/caching.py +61 -191
  7. c2cgeoportal_geoportal/lib/check_collector.py +17 -10
  8. c2cgeoportal_geoportal/lib/checker.py +61 -63
  9. c2cgeoportal_geoportal/lib/common_headers.py +170 -0
  10. c2cgeoportal_geoportal/lib/dbreflection.py +54 -39
  11. c2cgeoportal_geoportal/lib/filter_capabilities.py +122 -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 +361 -237
  18. c2cgeoportal_geoportal/lib/loader.py +10 -15
  19. c2cgeoportal_geoportal/lib/metrics.py +28 -17
  20. c2cgeoportal_geoportal/lib/oauth2.py +214 -145
  21. c2cgeoportal_geoportal/lib/wmstparsing.py +115 -90
  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} +18 -9
  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 +102 -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/advance_create/{{cookiecutter.project}}/geoportal/requirements.txt +2 -0
  36. c2cgeoportal_geoportal/scaffolds/{create/geoportal/setup.py_tmpl → advance_create/{{cookiecutter.project}}/geoportal/setup.py} +6 -7
  37. c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/tools/extract-messages.js +8 -6
  38. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/tsconfig.json +8 -0
  39. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.api.js +75 -0
  40. c2cgeoportal_geoportal/scaffolds/{create/geoportal/webpack.apps.js_tmpl → advance_create/{{cookiecutter.project}}/geoportal/webpack.apps.js} +31 -28
  41. c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/webpack.commons.js +3 -7
  42. c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/webpack.config.js +1 -1
  43. c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal/__init__.py_tmpl → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/__init__.py} +11 -22
  44. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/authentication.py +10 -0
  45. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/dev.py +14 -0
  46. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/models.py +8 -0
  47. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/multi_organization.py +7 -0
  48. c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/resources.py +4 -3
  49. 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
  50. 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
  51. c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal/subscribers.py_tmpl → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/subscribers.py} +1 -3
  52. c2cgeoportal_geoportal/scaffolds/advance_update/cookiecutter.json +18 -0
  53. c2cgeoportal_geoportal/scaffolds/{update/geoportal/CONST_Makefile_tmpl → advance_update/{{cookiecutter.project}}/geoportal/CONST_Makefile} +3 -7
  54. c2cgeoportal_geoportal/scaffolds/create/cookiecutter.json +18 -0
  55. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.dockerignore +14 -0
  56. c2cgeoportal_geoportal/scaffolds/create/{+dot+editorconfig → {{cookiecutter.project}}/.editorconfig} +2 -5
  57. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/main.yaml +43 -0
  58. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/rebuild.yaml +46 -0
  59. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/update_l10n.yaml +65 -0
  60. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.gitignore +16 -0
  61. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierignore +1 -0
  62. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierrc.yaml +2 -0
  63. c2cgeoportal_geoportal/scaffolds/create/{Dockerfile_tmpl → {{cookiecutter.project}}/Dockerfile} +20 -11
  64. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/Makefile +14 -0
  65. c2cgeoportal_geoportal/scaffolds/create/{README.rst_tmpl → {{cookiecutter.project}}/README.rst} +4 -4
  66. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/build +162 -0
  67. c2cgeoportal_geoportal/scaffolds/create/{ci/config.yaml_tmpl → {{cookiecutter.project}}/ci/config.yaml} +7 -5
  68. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/requirements.txt +1 -0
  69. c2cgeoportal_geoportal/scaffolds/create/{docker-compose-lib.yaml → {{cookiecutter.project}}/docker-compose-lib.yaml} +133 -17
  70. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose.override.sample.yaml +67 -0
  71. c2cgeoportal_geoportal/scaffolds/create/{docker-compose.yaml → {{cookiecutter.project}}/docker-compose.yaml} +17 -12
  72. c2cgeoportal_geoportal/scaffolds/create/{env.default_tmpl → {{cookiecutter.project}}/env.default} +29 -14
  73. c2cgeoportal_geoportal/scaffolds/create/{env.project_tmpl → {{cookiecutter.project}}/env.project} +16 -4
  74. c2cgeoportal_geoportal/scaffolds/create/{geoportal/vars.yaml_tmpl → {{cookiecutter.project}}/geoportal/vars.yaml} +93 -27
  75. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/mobile.css +0 -0
  76. c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/data/Readme.txt +1 -1
  77. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/demo.map.tmpl +224 -0
  78. c2cgeoportal_geoportal/scaffolds/create/{mapserver/mapserver.map.tmpl_tmpl → {{cookiecutter.project}}/mapserver/mapserver.map.tmpl} +7 -15
  79. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A3_Landscape.jrxml +8 -8
  80. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A3_Portrait.jrxml +8 -8
  81. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A4_Landscape.jrxml +8 -8
  82. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A4_Portrait.jrxml +8 -8
  83. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/config.yaml.tmpl +5 -4
  84. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation.properties +4 -0
  85. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation_fr.properties +4 -0
  86. c2cgeoportal_geoportal/scaffolds/create/{project.yaml_tmpl → {{cookiecutter.project}}/project.yaml} +6 -6
  87. c2cgeoportal_geoportal/scaffolds/create/{qgisserver/pg_service.conf.tmpl_tmpl → {{cookiecutter.project}}/qgisserver/pg_service.conf.tmpl} +2 -2
  88. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-backup +110 -0
  89. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-restore +114 -0
  90. c2cgeoportal_geoportal/scaffolds/create/{setup.cfg_tmpl → {{cookiecutter.project}}/setup.cfg} +1 -1
  91. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/spell-ignore-words.txt +3 -0
  92. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tilegeneration/config.yaml.tmpl +195 -0
  93. c2cgeoportal_geoportal/scaffolds/update/cookiecutter.json +18 -0
  94. c2cgeoportal_geoportal/scaffolds/update/{+dot+upgrade.yaml_tmpl → {{cookiecutter.project}}/.upgrade.yaml} +49 -39
  95. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_CHANGELOG.txt +1160 -0
  96. c2cgeoportal_geoportal/scaffolds/update/{geoportal → {{cookiecutter.project}}/geoportal}/CONST_config-schema.yaml +47 -2
  97. c2cgeoportal_geoportal/scaffolds/update/{geoportal/CONST_vars.yaml_tmpl → {{cookiecutter.project}}/geoportal/CONST_vars.yaml} +350 -17
  98. c2cgeoportal_geoportal/scripts/__init__.py +16 -30
  99. c2cgeoportal_geoportal/scripts/c2cupgrade.py +271 -232
  100. c2cgeoportal_geoportal/scripts/create_demo_theme.py +3 -6
  101. c2cgeoportal_geoportal/scripts/manage_users.py +34 -39
  102. c2cgeoportal_geoportal/scripts/pcreate.py +312 -0
  103. c2cgeoportal_geoportal/scripts/theme2fts.py +72 -23
  104. c2cgeoportal_geoportal/scripts/urllogin.py +19 -11
  105. c2cgeoportal_geoportal/templates/login.html +88 -84
  106. c2cgeoportal_geoportal/templates/notlogin.html +59 -59
  107. c2cgeoportal_geoportal/templates/testi18n.html +6 -8
  108. c2cgeoportal_geoportal/views/__init__.py +23 -4
  109. c2cgeoportal_geoportal/views/dev.py +9 -7
  110. c2cgeoportal_geoportal/views/dynamic.py +56 -19
  111. c2cgeoportal_geoportal/views/entry.py +93 -24
  112. c2cgeoportal_geoportal/views/fulltextsearch.py +28 -22
  113. c2cgeoportal_geoportal/views/geometry_processing.py +15 -7
  114. c2cgeoportal_geoportal/views/i18n.py +91 -9
  115. c2cgeoportal_geoportal/views/layers.py +160 -126
  116. c2cgeoportal_geoportal/views/login.py +106 -93
  117. c2cgeoportal_geoportal/views/mapserverproxy.py +46 -29
  118. c2cgeoportal_geoportal/views/memory.py +12 -12
  119. c2cgeoportal_geoportal/views/ogcproxy.py +48 -30
  120. c2cgeoportal_geoportal/views/pdfreport.py +26 -22
  121. c2cgeoportal_geoportal/views/printproxy.py +60 -52
  122. c2cgeoportal_geoportal/views/profile.py +24 -23
  123. c2cgeoportal_geoportal/views/proxy.py +87 -69
  124. c2cgeoportal_geoportal/views/raster.py +35 -24
  125. c2cgeoportal_geoportal/views/resourceproxy.py +13 -11
  126. c2cgeoportal_geoportal/views/shortener.py +27 -24
  127. c2cgeoportal_geoportal/views/theme.py +427 -321
  128. c2cgeoportal_geoportal/views/tinyowsproxy.py +46 -39
  129. c2cgeoportal_geoportal/views/vector_tiles.py +80 -0
  130. {c2cgeoportal_geoportal-2.6.0.dist-info → c2cgeoportal_geoportal-2.7.1.157.dist-info}/METADATA +25 -20
  131. c2cgeoportal_geoportal-2.7.1.157.dist-info/RECORD +185 -0
  132. {c2cgeoportal_geoportal-2.6.0.dist-info → c2cgeoportal_geoportal-2.7.1.157.dist-info}/WHEEL +1 -1
  133. {c2cgeoportal_geoportal-2.6.0.dist-info → c2cgeoportal_geoportal-2.7.1.157.dist-info}/entry_points.txt +3 -1
  134. tests/__init__.py +7 -3
  135. tests/test_cachebuster.py +0 -2
  136. tests/test_caching.py +17 -25
  137. tests/test_checker.py +0 -2
  138. tests/test_decimaljson.py +4 -4
  139. tests/test_headerstween.py +0 -2
  140. tests/test_i18n.py +1 -1
  141. tests/test_init.py +4 -7
  142. tests/test_locale_negociator.py +0 -2
  143. tests/test_mapserverproxy_route_predicate.py +0 -2
  144. tests/test_raster.py +0 -2
  145. tests/test_wmstparsing.py +0 -2
  146. c2cgeoportal_geoportal/scaffolds/__init__.py +0 -227
  147. c2cgeoportal_geoportal/scaffolds/create/+dot+dockerignore_tmpl +0 -12
  148. c2cgeoportal_geoportal/scaffolds/create/+dot+github/workflows/main.yaml_tmpl +0 -89
  149. c2cgeoportal_geoportal/scaffolds/create/+dot+github/workflows/rebuild.yaml_tmpl +0 -78
  150. c2cgeoportal_geoportal/scaffolds/create/+dot+gitignore_tmpl +0 -16
  151. c2cgeoportal_geoportal/scaffolds/create/Makefile +0 -3
  152. c2cgeoportal_geoportal/scaffolds/create/build_tmpl +0 -167
  153. c2cgeoportal_geoportal/scaffolds/create/ci/requirements.txt +0 -1
  154. c2cgeoportal_geoportal/scaffolds/create/ci/trigger +0 -68
  155. c2cgeoportal_geoportal/scaffolds/create/docker-compose.override.sample.yaml +0 -54
  156. c2cgeoportal_geoportal/scaffolds/create/geoportal/+dot+dockerignore_tmpl +0 -6
  157. c2cgeoportal_geoportal/scaffolds/create/geoportal/+dot+eslintrc_tmpl +0 -15
  158. c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/models.py_tmpl +0 -10
  159. c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/static/robot.txt +0 -3
  160. c2cgeoportal_geoportal/scaffolds/create/geoportal/production.ini_tmpl +0 -106
  161. c2cgeoportal_geoportal/scaffolds/create/geoportal/requirements.txt +0 -2
  162. c2cgeoportal_geoportal/scaffolds/create/geoportal/tsconfig.json_tmpl +0 -9
  163. c2cgeoportal_geoportal/scaffolds/create/geoportal/webpack.api.js_tmpl +0 -72
  164. c2cgeoportal_geoportal/scaffolds/create/mapserver/demo.map.tmpl_tmpl +0 -262
  165. c2cgeoportal_geoportal/scaffolds/create/mapserver/tinyows.xml +0 -36
  166. c2cgeoportal_geoportal/scaffolds/create/print/print-apps/+package+/config.yaml +0 -168
  167. c2cgeoportal_geoportal/scaffolds/create/qgisserver/geomapfish.yaml.tmpl_tmpl +0 -16
  168. c2cgeoportal_geoportal/scaffolds/create/spell-ignore-words.txt +0 -1
  169. c2cgeoportal_geoportal/scaffolds/create/tilegeneration/config.yaml.tmpl_tmpl +0 -185
  170. c2cgeoportal_geoportal/scaffolds/create/yamllint.yaml +0 -11
  171. c2cgeoportal_geoportal/scaffolds/update/CONST_CHANGELOG.txt_tmpl +0 -454
  172. c2cgeoportal_geoportal/templates/dynamic.js +0 -21
  173. c2cgeoportal_geoportal-2.6.0.dist-info/RECORD +0 -173
  174. /c2cgeoportal_geoportal/{scaffolds/create/geoportal/+package+_geoportal/static/css/desktop.css → py.typed} +0 -0
  175. /c2cgeoportal_geoportal/scaffolds/{create/geoportal/Makefile_tmpl → advance_create/{{cookiecutter.project}}/geoportal/Makefile} +0 -0
  176. /c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/alembic.ini +0 -0
  177. /c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/language_mapping +0 -0
  178. /c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/lingua-server.cfg +0 -0
  179. /c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/views/__init__.py +0 -0
  180. /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
  181. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal/static/css/iframe_api.css → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/desktop.css} +0 -0
  182. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal/static/css/mobile.css → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/iframe_api.css} +0 -0
  183. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/banner_left.png +0 -0
  184. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/banner_right.png +0 -0
  185. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/blank.png +0 -0
  186. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/markers/marker-blue.png +0 -0
  187. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/markers/marker-gold.png +0 -0
  188. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/markers/marker-green.png +0 -0
  189. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/markers/marker.png +0 -0
  190. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/robot.txt.tmpl +0 -0
  191. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/data/TM_EUROPE_BORDERS-0.3.sql +0 -0
  192. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Arial.ttf +0 -0
  193. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Arialbd.ttf +0 -0
  194. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Arialbi.ttf +0 -0
  195. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Ariali.ttf +0 -0
  196. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-Bold.ttf +0 -0
  197. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-BoldItalic.ttf +0 -0
  198. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-Italic.ttf +0 -0
  199. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-Regular.ttf +0 -0
  200. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdana.ttf +0 -0
  201. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdanab.ttf +0 -0
  202. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdanai.ttf +0 -0
  203. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdanaz.ttf +0 -0
  204. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts.conf +0 -0
  205. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/tinyows.xml.tmpl +0 -0
  206. /c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/legend.jrxml +0 -0
  207. /c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/logo.png +0 -0
  208. /c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/north.svg +0 -0
  209. /c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/results.jrxml +0 -0
  210. /c2cgeoportal_geoportal/scaffolds/create/{pyproject.toml → {{cookiecutter.project}}/pyproject.toml} +0 -0
  211. /c2cgeoportal_geoportal/scaffolds/create/{run_alembic.sh → {{cookiecutter.project}}/run_alembic.sh} +0 -0
  212. {c2cgeoportal_geoportal-2.6.0.dist-info → c2cgeoportal_geoportal-2.7.1.157.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  vars:
3
3
  # The package name
4
- package: '{{package}}'
4
+ package: '{{cookiecutter.package}}'
5
5
  main_ogc_server: source for image/png
6
6
 
7
7
  srid: EPSG:-1
@@ -39,7 +39,7 @@ vars:
39
39
 
40
40
  authentication:
41
41
  two_factor: false
42
- two_factor_issuer_name: '{{project}}'
42
+ two_factor_issuer_name: '{{cookiecutter.project}}'
43
43
  oauth2_token_expire_minutes: 60
44
44
  oauth2_authorization_expire_minutes: 10
45
45
  max_consecutive_failures: 10
@@ -47,6 +47,32 @@ vars:
47
47
  intranet:
48
48
  networks: []
49
49
 
50
+ i18next:
51
+ ns:
52
+ - geomapfish
53
+ defaultNS: geomapfish
54
+ debug: false
55
+ detection:
56
+ order:
57
+ - querystring
58
+ - cookie
59
+ - localStorage
60
+ - sessionStorage
61
+ - navigator
62
+ - htmlTag
63
+ lookupQuerystring: lang
64
+ lookupCookie: i18next
65
+ lookupLocalStorage: i18nextLng
66
+ lookupSessionStorage: i18nextLng
67
+ caches:
68
+ - localStorage
69
+ excludeCacheFor:
70
+ - cimode
71
+ fallbackLng: false
72
+ interpolation:
73
+ escapeValue: false
74
+ backend: {}
75
+
50
76
  interfaces_config:
51
77
  default:
52
78
  constants:
@@ -84,7 +110,9 @@ vars:
84
110
  attachStacktrace: True
85
111
  tags:
86
112
  service: js
87
- gmfAuthenticationConfig: {}
113
+ gmfAuthenticationConfig:
114
+ allowPasswordChange: true
115
+ allowPasswordReset: true
88
116
  ngeoWfsPermalinkOptions:
89
117
  wfsTypes: []
90
118
  defaultFeatureNS: http://mapserver.gis.umn.edu/mapserver
@@ -127,6 +155,8 @@ vars:
127
155
  ngeoMeasureDecimals: 0
128
156
  ngeoMeasureSpherical: False
129
157
  gmfSnappingConfig: {}
158
+ gmfSnappingOptions:
159
+ maxFeatures: 50
130
160
  ngeoSnappingTolerance: 20
131
161
  gmfObjectEditingToolsOptions: {}
132
162
  gmfTreeManagerModeFlush: True
@@ -142,7 +172,7 @@ vars:
142
172
  ngeoCsvSeparator: ','
143
173
  gmfCsvFilename: query-results.csv
144
174
  gmfDisplayQueryWindowOptions:
145
- featureStyle: &featureStyle
175
+ featuresStyle: &featureStyle
146
176
  fill:
147
177
  color: [255, 170, 0, 0.6]
148
178
  stroke:
@@ -173,6 +203,9 @@ vars:
173
203
  gmfLayerTreeOptions:
174
204
  openLinksInNewWindow: False
175
205
  isExpanded: False
206
+ layerIcon:
207
+ width: 20
208
+ height: 20
176
209
  gmfDisclaimerOptions: {}
177
210
  gmfBackgroundLayerSelectorOptions: {}
178
211
  defaultTheme: Demo
@@ -185,6 +218,7 @@ vars:
185
218
  zoom: 3
186
219
  resolutions: [250, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.25, 0.1, 0.05]
187
220
  extent: [2420000, 1030000, 2900000, 1350000]
221
+ constrainRotation: false
188
222
  gmfSearchOptions:
189
223
  styles:
190
224
  default:
@@ -221,12 +255,31 @@ vars:
221
255
  projection: EPSG:{srid}
222
256
  gmfPermalinkOptions:
223
257
  crosshairStyle:
258
+ - regularShape:
259
+ stroke:
260
+ color: white
261
+ width: 5
262
+ points: 4
263
+ radius: 10
264
+ radius2: 0
265
+ angle: 0
266
+ - regularShape:
267
+ stroke:
268
+ color: red
269
+ width: 2
270
+ points: 4
271
+ radius: 10
272
+ radius2: 0
273
+ angle: 0
224
274
  crosshairEnabledByDefault: False
225
275
  useLocalStorage: False
226
276
  pointRecenterZoom:
227
277
  gmfElevationOptions:
228
278
  layers: []
229
279
  layersConfig: {}
280
+ gmfVectorTilesOptions:
281
+ projection: EPSG:{srid}
282
+ tileGrid: {}
230
283
  ngeoGeolocationOptions:
231
284
  positionFeatureStyle:
232
285
  circle:
@@ -248,12 +301,13 @@ vars:
248
301
  interface: interface
249
302
  cacheVersion: cache_version
250
303
  langUrls: lang_urls
304
+ gmfI18nextConfiguration: i18next_configuration
251
305
  gmfTwoFactorAuth: two_factor
252
306
  gmfSearchGroups: fulltextsearch_groups
253
307
  static:
254
308
  angularLocaleScript:
255
309
  name: '/etc/static-ngeo/'
256
- append: angular-locale_\{\{locale\}\}.js
310
+ append: angular-locale_{{'{{'}}locale{{'}}'}}.js
257
311
  routes:
258
312
  currentInterfaceUrl:
259
313
  currentInterface: True
@@ -282,6 +336,8 @@ vars:
282
336
  background: background
283
337
  dynamic_params:
284
338
  interface: interface
339
+ gmfVectorTilesUrl:
340
+ name: vector_tiles_root
285
341
  desktop:
286
342
  extends: default
287
343
  redirect_interface: mobile
@@ -309,7 +365,7 @@ vars:
309
365
  hiddenAttributes:
310
366
  - timezone
311
367
  gmfDisplayQueryGridOptions:
312
- featureStyle: *featureStyle
368
+ featuresStyle: *featureStyle
313
369
  selectedFeatureStyle: *selectedFeatureStyle
314
370
  gmfEditFeatureOptions:
315
371
  tolerance: 10
@@ -431,89 +487,319 @@ vars:
431
487
  # TreeItem
432
488
  - name: searchAlias
433
489
  type: list
490
+ description: >
491
+ Comma separated list of search aliases (keywords) to be added to the tsearch.ts field for
492
+ the considered tree item (theme, layer group or layer), that is to say that considered
493
+ tree item will match when searching for the search aliases.
494
+ relevant_for:
495
+ - treeitem
434
496
  # Layers group
435
497
  - name: exclusiveGroup
436
498
  type: boolean
499
+ description: >
500
+ Whether the group contains children that have to be mutually exclusive, meaning that only
501
+ one child may be ON at any time.
502
+ relevant_for:
503
+ - layergroup
437
504
  - name: isExpanded
438
505
  type: boolean
506
+ description: >
507
+ Whether the layer group is expanded by default.
508
+ relevant_for:
509
+ - layergroup
439
510
  - name: printNativeAngle
440
511
  type: boolean
512
+ description: >
513
+ Whether the print should rotate the symbols.
514
+ relevant_for:
515
+ - layergroup
441
516
  # Layer
442
517
  - name: copyable
443
518
  type: boolean
519
+ description: >
520
+ Whether the geometry from this data source can be copied to other data sources or not.
521
+ relevant_for:
522
+ - layer_wms
444
523
  - name: legend
445
524
  type: boolean
525
+ description: >
526
+ Display the legend of this layer.
527
+ relevant_for:
528
+ - layer_wms
529
+ - layer_wmts
446
530
  - name: isLegendExpanded
447
531
  type: boolean
532
+ description: >
533
+ Whether the legend is expanded by default.
534
+ relevant_for:
535
+ - layer_wms
536
+ - layer_wmts
448
537
  - name: legendRule
538
+ description: >
539
+ The WMS "RULE" parameter used to display the icon in the layer tree. "Short version" of
540
+ the "iconURL" metadata.
541
+ relevant_for:
542
+ - layer_wms
449
543
  - name: legendImage
450
544
  type: url
545
+ description: >
546
+ The URL to the image used as a legend in the layer tree.
547
+ relevant_for:
548
+ - layer_wms
549
+ - layer_wmts
451
550
  - name: hiDPILegendImages
452
551
  type: json
552
+ description: >
553
+ The URLs to the hi DPI images used to print the legend of this layer.
554
+ It will contain a JSON mapping object with the DPI as key and the URL as value.
555
+ Note that the URL can't use the config scheme.
556
+ relevant_for:
557
+ - layer_wms
558
+ - layer_wmts
453
559
  - name: iconUrl
454
560
  type: url
561
+ description: >
562
+ The URL of the icon to display in the layer tree.
563
+ relevant_for:
564
+ - layer_wms
565
+ - layer_wmts
455
566
  - name: metadataUrl
456
567
  type: url
568
+ description: >
569
+ The URL to the information on this layer.
570
+ relevant_for:
571
+ - layer_wms
572
+ - layer_wmts
573
+ - layergroup
457
574
  - name: disclaimer
458
575
  translate: True
576
+ description: >
577
+ The disclaimer text for this element.
578
+ relevant_for:
579
+ - treeitem
459
580
  - name: isChecked
460
581
  type: boolean
582
+ description: >
583
+ Is the layer checked by default.
584
+ relevant_for:
585
+ - layer_wms
586
+ - layer_wmts
461
587
  - name: identifierAttributeField
588
+ description: >
589
+ The field used in the "display query window" as feature title.
590
+ relevant_for:
591
+ - layer_wms
462
592
  - name: maxResolution
463
593
  type: float
594
+ description: >
595
+ The max resolution where the layer is visible. On WMTS layers it will
596
+ have an effect on the node in the layertree but not on the layertree directly.
597
+ relevant_for:
598
+ - layer_wms
599
+ - layer_wmts
464
600
  - name: minResolution
465
601
  type: float
602
+ description: >
603
+ The min resolution where the layer is visible. On WMTS layers it will
604
+ have an effect on the node in the layertree but not on the layer directly.
605
+ relevant_for:
606
+ - layer_wms
607
+ - layer_wmts
466
608
  - name: opacity
467
609
  type: float
610
+ description: >
611
+ Layer opacity. 1.0 means fully visible, 0 means invisible.
612
+ relevant_for:
613
+ - layer_wms
614
+ - layer_wmts
468
615
  - name: thumbnail
469
616
  type: url
617
+ description: >
618
+ The icon visible in the background selector.
619
+ relevant_for:
620
+ - layer_wms
621
+ - layer_wmts
470
622
  - name: timeAttribute
623
+ description: >
624
+ The name of the time attribute. For WMS(-T) layers.
625
+ relevant_for:
626
+ - layer_wms
471
627
  - name: geotablePrimaryKey
628
+ description: >
629
+ The name of the primary key field for edition.
630
+ relevant_for:
631
+ - layer_wms
472
632
  - name: lastUpdateDateColumn
633
+ description: >
634
+ Define a column which will be automatically filled with the date of the last edit.
635
+ relevant_for:
636
+ - layer_wms
473
637
  - name: lastUpdateUserColumn
638
+ description: >
639
+ Define a column which will be automatically filled with the user of the last edit.
640
+ relevant_for:
641
+ - layer_wms
474
642
  - name: snappingConfig
475
643
  type: json
644
+ description: >
645
+ The snapping configuration for the layer. If set, even if empty, the layer is considered to be
646
+ "snappable" and snapping is activated by default. To disable snapping by default, set "activated"
647
+ to false. Example value: {"tolerance": 50, "edge": false}.
648
+ relevant_for:
649
+ - layer_wms
476
650
  - name: geometryValidation
477
651
  type: boolean
652
+ description: >
653
+ Force validation of the geometries according to the layer type (point, line, polygon),
654
+ for example, to prevent creation of a 2-point polygon.
655
+ relevant_for:
656
+ - layer_wms
478
657
  - name: customOpenLayersOptions
479
658
  type: json
659
+ description: >
660
+ The custom OpenLayers WMS layer options.
661
+ relevant_for:
662
+ - layer_wms
663
+ - layer_wmts
480
664
  - name: editingAttributesOrder
481
665
  type: list
666
+ description: >
667
+ Specify the order of the editable attributes in the edit interface.
668
+ relevant_for:
669
+ - layer_wms
482
670
  - name: editingEnumerations
483
671
  type: json
672
+ description: >
673
+ Specify the value column and the order column on the relationship's target table of the
674
+ enumeration.
675
+ relevant_for:
676
+ - layer_wms
484
677
  - name: readonlyAttributes
485
678
  type: list
679
+ description: >
680
+ Set attributes as read only in the Editing form.
681
+ relevant_for:
682
+ - layer_wms
486
683
  - name: queryIconPosition
487
684
  type: list
685
+ description: >
686
+ Values to define the shape (bbox) to use to query the layer. The values are used like a
687
+ padding in css with 1, 2, 3 or 4 comma separated values: all / top-bottom, left-right /
688
+ top, right-left, bottom / top, right, bottom, left.
689
+ relevant_for:
690
+ - layer_wms
691
+ - layer_wmts
692
+ - name: editingSelectionAttribute
693
+ description: >
694
+ The field used in the selector tooltip to name the layer when multiple ones are selected on the map.
695
+ relevant_for:
696
+ - layer_wms
488
697
  # WMS
489
698
  - name: directedFilterAttributes
490
699
  type: list
700
+ description: >
701
+ List of attribute names which should have rules already ready when using the filter
702
+ tools.
703
+ relevant_for:
704
+ - layer_wms
491
705
  - name: enumeratedAttributes
492
706
  type: list
707
+ description: >
708
+ List of attribute names which have enumerated attribute values (for filters purpose).
709
+ relevant_for:
710
+ - layer_wms
493
711
  # WMTS layers
494
712
  - name: ogcServer
713
+ description: >
714
+ The corresponding OGC server for a WMTS layer.
715
+ relevant_for:
716
+ - layer_wmts
495
717
  - name: wmsLayers
718
+ description: >
719
+ Corresponding WMS/WFS layers (comma separated) that will be used instead of the WMTS layer
720
+ to do the query and for the print.
721
+ An OGCServer metadata must be set with the name of the OGC server.
722
+ See also printLayers and queryLayers metadata for more granularity.
723
+ relevant_for:
724
+ - layer_wmts
496
725
  - name: queryLayers
726
+ description: >
727
+ Corresponding WFS layers (comma separated) that will be used instead of the WMTS layer
728
+ to do the query.
729
+ An OGCServer metadata must be set with the name of the OGC server.
730
+ relevant_for:
731
+ - layer_wmts
497
732
  - name: printLayers
733
+ description: >
734
+ Corresponding WMS layers (comma separated) that will be used instead of the WMTS layer
735
+ for the print.
736
+ Used to increase the quality of the printed layer, by using native rotation and
737
+ generating an image in hi-DPI.
738
+ An OGCServer metadata must be set with the name of the OGC server.
739
+ relevant_for:
740
+ - layer_wmts
498
741
  - name: maxQueryResolution
499
742
  type: float
743
+ description: >
744
+ The max resolution where the layer is queryable.
745
+ relevant_for:
746
+ - layer_wmts
500
747
  - name: minQueryResolution
501
748
  type: float
749
+ description: >
750
+ The min resolution where the layer is queryable.
751
+ relevant_for:
752
+ - layer_wmts
753
+ - name: timeout
754
+ type: float
755
+ description: The fetch capabilities timeout in seconds. Use `300` by default.
756
+ relevant_for:
757
+ - layer_wmts
502
758
 
503
759
  # The list of functionalities that can be configured
504
760
  # through the admin interface.
505
761
  available_functionalities:
506
762
  - name: default_basemap
507
763
  single: true
764
+ description: >
765
+ The background layer to load when the user select this theme.
766
+ relevant_for:
767
+ - theme
508
768
  - name: default_theme
509
769
  single: true
770
+ description: >
771
+ The theme to load when the user log in.
772
+ relevant_for:
773
+ - role
510
774
  - name: print_template
775
+ description: >
776
+ Grant access to considered print template.
777
+ relevant_for:
778
+ - role
511
779
  - name: mapserver_substitution
780
+ relevant_for:
781
+ - role
782
+ description: >
783
+ MapServer substitution of a variable in the mapfile.
784
+ See the documentation here:
785
+ https://camptocamp.github.io/c2cgeoportal/{{cookiecutter.geomapfish_main_version}}/administrator/mapfile.html?highlight=mapserver_substitution#variable-substitution
512
786
  - name: filterable_layers
787
+ description: >
788
+ Grant access for filtering considered layer.
789
+ relevant_for:
790
+ - role
513
791
  - name: preset_layer_filter
514
792
  single: true
793
+ description: >
794
+ Name of the layer (data source) to select in the filter tool upon loading an application.
795
+ relevant_for:
796
+ - role
515
797
  - name: open_panel
516
798
  single: true
799
+ description: >
800
+ Name of a panel to open upon loading an application.
801
+ relevant_for:
802
+ - role
517
803
 
518
804
  getitfixed:
519
805
  enabled: false
@@ -582,17 +868,25 @@ vars:
582
868
  qgisserver: '{QGISSERVER_URL}'
583
869
 
584
870
  host_forward_host: []
871
+ headers_whitelist: []
872
+ headers_blacklist: []
585
873
 
586
874
  # The "raster web services" configuration. See the "raster"
587
875
  # chapter in the integrator documentation.
588
876
  raster: {}
589
877
 
878
+ # the "vector tiles service" configuration. See the "vector tiles"
879
+ # chapter in the integrator documentation.
880
+ vector_tiles: {}
881
+
590
882
  # Used by enumeration in the query builder
591
883
  layers:
592
884
  geometry_validation: True
593
885
 
594
886
  # Used by reset_password and shortener to send emails
595
- smtp: {}
887
+ smtp:
888
+ ssl: false
889
+ starttls: false
596
890
 
597
891
  # Used to send an email on password reset
598
892
  reset_password: {}
@@ -623,11 +917,17 @@ vars:
623
917
  content_security_policy_main_script_src_extra: '
624
918
  https://maps.google.com/
625
919
  https://maps.googleapis.com/
626
- https://www.google-analytics.com/'
920
+ https://www.google-analytics.com/
921
+ https://*.googletagmanager.com/'
627
922
  content_security_policy_main_style_src_extra: '
628
923
  https://fonts.googleapis.com/'
629
- content_security_policy_main_img_src_extra: ''
630
- content_security_policy_main_connect_src_extra: ''
924
+ content_security_policy_main_img_src_extra: '
925
+ https://*.google-analytics.com/
926
+ https://*.googletagmanager.com/'
927
+ content_security_policy_main_connect_src_extra: '
928
+ https://*.google-analytics.com/
929
+ https://*.analytics.google.com/
930
+ https://*.googletagmanager.com/'
631
931
  content_security_policy_main_default_src: "
632
932
  'self'
633
933
  https://*
@@ -635,8 +935,6 @@ vars:
635
935
  content_security_policy_main_script_src: "
636
936
  'self'
637
937
  'unsafe-inline'
638
- 'unsafe-eval'
639
- https://cdn.polyfill.io/
640
938
  {content_security_policy_main_script_src_extra}"
641
939
  content_security_policy_main_style_src: "
642
940
  'self'
@@ -645,7 +943,6 @@ vars:
645
943
  content_security_policy_main_img_src: '
646
944
  *
647
945
  data:
648
- blob:
649
946
  {content_security_policy_main_img_src_extra}'
650
947
  content_security_policy_main_connect_src: '
651
948
  *
@@ -690,7 +987,6 @@ vars:
690
987
  'self'
691
988
  'unsafe-inline'
692
989
  'unsafe-eval'
693
- https://cdn.polyfill.io/
694
990
  {content_security_policy_apihelp_script_src_extra}"
695
991
  content_security_policy_apihelp_style_src: "
696
992
  'self'
@@ -720,6 +1016,8 @@ vars:
720
1016
  https://stackpath.bootstrapcdn.com/
721
1017
  {content_security_policy_c2c_style_src_extra}"
722
1018
 
1019
+ content_security_policy_iframe_api_frame_ancestors: "'self'"
1020
+
723
1021
  global_headers:
724
1022
  - pattern: '^/admin/.*'
725
1023
  headers: &c2cgeoform_headers
@@ -743,6 +1041,10 @@ vars:
743
1041
  headers:
744
1042
  Access-Control-Allow-Origin: '*'
745
1043
  Access-Control-Allow-Headers: X-Requested-With, Content-Type
1044
+ - pattern: '^/static-geomapfish/.*'
1045
+ headers:
1046
+ Access-Control-Allow-Origin: '*'
1047
+ Access-Control-Allow-Headers: X-Requested-With, Content-Type
746
1048
  - pattern: '^/c2c$'
747
1049
  headers:
748
1050
  Content-Security-Policy: 'default-src {content_security_policy_c2c_default_src};
@@ -753,11 +1055,20 @@ vars:
753
1055
  Content-Security-Policy: 'default-src {content_security_policy_c2c_default_src};
754
1056
  script-src {content_security_policy_c2c_script_src};
755
1057
  style-src {content_security_policy_c2c_style_src};'
1058
+ - pattern: '^/iframe_api(/theme/.*)?$'
1059
+ headers:
1060
+ Content-Security-Policy: 'default-src {content_security_policy_main_default_src};
1061
+ script-src {content_security_policy_main_script_src};
1062
+ style-src {content_security_policy_main_style_src};
1063
+ img-src {content_security_policy_main_img_src};
1064
+ connect-src {content_security_policy_main_connect_src};
1065
+ frame-ancestors {content_security_policy_iframe_api_frame_ancestors};'
756
1066
 
757
1067
  # Control the HTTP headers
758
1068
  headers:
759
1069
  dynamic: &header
760
1070
  cache_control_max_age: 600 # 10 minutes
1071
+ cache_control_max_age_nocache: 10 # 10 seconds, to avoid too many call
761
1072
  access_control_max_age: 600 # 10 minutes
762
1073
  access_control_allow_origin:
763
1074
  - '*'
@@ -786,9 +1097,11 @@ vars:
786
1097
  connect-src {content_security_policy_apihelp_connect_src}'
787
1098
  profile: *header
788
1099
  raster: *header
1100
+ vector_tiles: *header
789
1101
  error: *header
790
1102
  themes: &auth_header
791
1103
  cache_control_max_age: 600 # 10 minutes
1104
+ cache_control_max_age_nocache: 10 # 10 seconds, to avoid too many call
792
1105
  access_control_max_age: 600 # 10 minutes
793
1106
  access_control_allow_origin:
794
1107
  - '{VISIBLE_WEB_PROTOCOL}://{VISIBLE_WEB_HOST}'
@@ -800,7 +1113,9 @@ vars:
800
1113
  fulltextsearch: *auth_header
801
1114
  mapserver: *auth_header
802
1115
  tinyows: *auth_header
803
- layers: *auth_header
1116
+ layers:
1117
+ <<: *auth_header
1118
+ cache_control_max_age_nocache: 0 # to refresh issue in editing
804
1119
  shortener: *auth_header
805
1120
  login:
806
1121
  <<: *auth_header
@@ -899,7 +1214,7 @@ vars:
899
1214
  # application. The value is the full python name
900
1215
  # (full.module.path.function_name) of the function to call
901
1216
  hooks: {}
902
- # after_settings: {{package}}.after_settings_hook
1217
+ # after_settings: {{cookiecutter.package}}.after_settings_hook
903
1218
  # Called just after the settings have been loaded. Allows to modify
904
1219
  # the settings at runtime (they are constructed at build time).
905
1220
  # The function receives one parameter: the settings object.
@@ -909,7 +1224,7 @@ vars:
909
1224
 
910
1225
  # The c2cwsgiutils base path
911
1226
  c2c:
912
- base_path: '{VISIBLE_ENTRY_POINT}c2c'
1227
+ base_path: /c2c
913
1228
 
914
1229
  db_chooser:
915
1230
  # List of {method path} regexes to force the usage of the master, even for GET and OPTIONS
@@ -1009,36 +1324,52 @@ runtime_postprocess:
1009
1324
  - authentication.oauth2_token_expire_minutes
1010
1325
  - headers.login.access_control_max_age
1011
1326
  - headers.login.cache_control_max_age
1327
+ - headers.login.cache_control_max_age_nocache
1012
1328
  - headers.index.access_control_max_age
1013
1329
  - headers.index.cache_control_max_age
1330
+ - headers.index.cache_control_max_age_nocache
1014
1331
  - headers.dynamic.access_control_max_age
1015
1332
  - headers.dynamic.cache_control_max_age
1333
+ - headers.dynamic.cache_control_max_age_nocache
1016
1334
  - headers.config.access_control_max_age
1017
1335
  - headers.config.cache_control_max_age
1336
+ - headers.config.cache_control_max_age_nocache
1018
1337
  - headers.api.access_control_max_age
1019
1338
  - headers.api.cache_control_max_age
1339
+ - headers.api.cache_control_max_age_nocache
1020
1340
  - headers.apihelp.access_control_max_age
1021
1341
  - headers.apihelp.cache_control_max_age
1342
+ - headers.apihelp.cache_control_max_age_nocache
1022
1343
  - headers.themes.access_control_max_age
1023
1344
  - headers.themes.cache_control_max_age
1345
+ - headers.themes.cache_control_max_age_nocache
1024
1346
  - headers.fulltextsearch.access_control_max_age
1025
1347
  - headers.fulltextsearch.cache_control_max_age
1348
+ - headers.fulltextsearch.cache_control_max_age_nocache
1026
1349
  - headers.mapserver.access_control_max_age
1027
1350
  - headers.mapserver.cache_control_max_age
1351
+ - headers.mapserver.cache_control_max_age_nocache
1028
1352
  - headers.tinyows.access_control_max_age
1029
1353
  - headers.tinyows.cache_control_max_age
1354
+ - headers.tinyows.cache_control_max_age_nocache
1030
1355
  - headers.layers.access_control_max_age
1031
1356
  - headers.layers.cache_control_max_age
1357
+ - headers.layers.cache_control_max_age_nocache
1032
1358
  - headers.print.access_control_max_age
1033
1359
  - headers.print.cache_control_max_age
1360
+ - headers.print.cache_control_max_age_nocache
1034
1361
  - headers.profile.access_control_max_age
1035
1362
  - headers.profile.cache_control_max_age
1363
+ - headers.profile.cache_control_max_age_nocache
1036
1364
  - headers.raster.access_control_max_age
1037
1365
  - headers.raster.cache_control_max_age
1366
+ - headers.raster.cache_control_max_age_nocache
1038
1367
  - headers.shortener.access_control_max_age
1039
1368
  - headers.shortener.cache_control_max_age
1369
+ - headers.shortener.cache_control_max_age_nocache
1040
1370
  - headers.error.access_control_max_age
1041
1371
  - headers.error.cache_control_max_age
1372
+ - headers.error.cache_control_max_age_nocache
1042
1373
  - shortener.length
1043
1374
  - checker.fulltextsearch.level
1044
1375
  - checker.lang.level
@@ -1065,6 +1396,8 @@ runtime_postprocess:
1065
1396
  - metrics.total_python_object_memory
1066
1397
 
1067
1398
  no_interpreted:
1399
+ - admin_interface.available_functionalities[].description
1400
+ - admin_interface.available_metadata[].description
1068
1401
  - interfaces_config.default.static.angularLocaleScript.append
1069
1402
  - interfaces_config.default.constants.gmfMousePositionOptions.projections[].filter
1070
1403
  - interfaces_config.default.constants.gmfMobileMeasurePointOptions.format