c2cgeoportal-geoportal 2.3.5.79__py3-none-any.whl → 2.9rc1__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 (197) hide show
  1. c2cgeoportal_geoportal/__init__.py +960 -0
  2. c2cgeoportal_geoportal/lib/__init__.py +256 -0
  3. c2cgeoportal_geoportal/lib/authentication.py +250 -0
  4. c2cgeoportal_geoportal/lib/bashcolor.py +46 -0
  5. c2cgeoportal_geoportal/lib/cacheversion.py +75 -0
  6. c2cgeoportal_geoportal/lib/caching.py +176 -0
  7. c2cgeoportal_geoportal/lib/check_collector.py +80 -0
  8. c2cgeoportal_geoportal/lib/checker.py +295 -0
  9. c2cgeoportal_geoportal/lib/common_headers.py +170 -0
  10. c2cgeoportal_geoportal/lib/dbreflection.py +266 -0
  11. c2cgeoportal_geoportal/lib/filter_capabilities.py +360 -0
  12. c2cgeoportal_geoportal/lib/fulltextsearch.py +50 -0
  13. c2cgeoportal_geoportal/lib/functionality.py +166 -0
  14. c2cgeoportal_geoportal/lib/headers.py +62 -0
  15. c2cgeoportal_geoportal/lib/i18n.py +38 -0
  16. c2cgeoportal_geoportal/lib/layers.py +132 -0
  17. c2cgeoportal_geoportal/lib/lingva_extractor.py +937 -0
  18. c2cgeoportal_geoportal/lib/loader.py +57 -0
  19. c2cgeoportal_geoportal/lib/metrics.py +117 -0
  20. c2cgeoportal_geoportal/lib/oauth2.py +1186 -0
  21. c2cgeoportal_geoportal/lib/oidc.py +302 -0
  22. c2cgeoportal_geoportal/lib/wmstparsing.py +353 -0
  23. c2cgeoportal_geoportal/lib/xsd.py +166 -0
  24. c2cgeoportal_geoportal/py.typed +0 -0
  25. c2cgeoportal_geoportal/resources.py +49 -0
  26. c2cgeoportal_geoportal/scaffolds/advance_create/ci/config.yaml +26 -0
  27. c2cgeoportal_geoportal/scaffolds/advance_create/cookiecutter.json +18 -0
  28. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.dockerignore +6 -0
  29. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.eslintrc.yaml +19 -0
  30. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.prospector.yaml +30 -0
  31. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/Dockerfile +75 -0
  32. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/Makefile +6 -0
  33. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/alembic.ini +58 -0
  34. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/alembic.yaml +19 -0
  35. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/development.ini +121 -0
  36. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/gunicorn.conf.py +139 -0
  37. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/language_mapping +3 -0
  38. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/lingva-client.cfg +5 -0
  39. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/lingva-server.cfg +6 -0
  40. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/production.ini +38 -0
  41. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/requirements.txt +2 -0
  42. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/setup.py +25 -0
  43. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.api.js +41 -0
  44. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.apps.js +64 -0
  45. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.commons.js +11 -0
  46. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.config.js +22 -0
  47. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/__init__.py +42 -0
  48. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/authentication.py +10 -0
  49. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/dev.py +14 -0
  50. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/models.py +8 -0
  51. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/multi_organization.py +7 -0
  52. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/resources.py +11 -0
  53. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/api/index.js +12 -0
  54. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/js/{{cookiecutter.package}}module.js +25 -0
  55. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/subscribers.py +39 -0
  56. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/views/__init__.py +0 -0
  57. c2cgeoportal_geoportal/scaffolds/advance_update/cookiecutter.json +18 -0
  58. c2cgeoportal_geoportal/scaffolds/advance_update/{{cookiecutter.project}}/geoportal/CONST_Makefile +121 -0
  59. c2cgeoportal_geoportal/scaffolds/create/cookiecutter.json +18 -0
  60. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.dockerignore +14 -0
  61. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.editorconfig +17 -0
  62. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/main.yaml +73 -0
  63. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/rebuild.yaml +50 -0
  64. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/update_l10n.yaml +66 -0
  65. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.gitignore +16 -0
  66. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.pre-commit-config.yaml +35 -0
  67. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierignore +1 -0
  68. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierrc.yaml +2 -0
  69. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/Dockerfile +75 -0
  70. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/Makefile +70 -0
  71. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/README.rst +29 -0
  72. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/build +179 -0
  73. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/config.yaml +22 -0
  74. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/docker-compose-check +25 -0
  75. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/requirements.txt +2 -0
  76. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-db.yaml +24 -0
  77. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-lib.yaml +511 -0
  78. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-qgis.yaml +21 -0
  79. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose.override.sample.yaml +59 -0
  80. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose.yaml +121 -0
  81. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.default +102 -0
  82. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.project +69 -0
  83. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/vars.yaml +430 -0
  84. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/locale/en/LC_MESSAGES/{{cookiecutter.package}}_geoportal-client.po +6 -0
  85. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/desktop.css +0 -0
  86. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/iframe_api.css +0 -0
  87. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/mobile.css +0 -0
  88. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/banner_left.png +0 -0
  89. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/banner_right.png +0 -0
  90. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/blank.png +0 -0
  91. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-blue.png +0 -0
  92. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-gold.png +0 -0
  93. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-green.png +0 -0
  94. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker.png +0 -0
  95. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/robot.txt.tmpl +3 -0
  96. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/data/Readme.txt +69 -0
  97. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/data/TM_EUROPE_BORDERS-0.3.sql +70 -0
  98. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/demo.map.tmpl +224 -0
  99. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Arial.ttf +0 -0
  100. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Arialbd.ttf +0 -0
  101. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Arialbi.ttf +0 -0
  102. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Ariali.ttf +0 -0
  103. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-Bold.ttf +0 -0
  104. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-BoldItalic.ttf +0 -0
  105. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-Italic.ttf +0 -0
  106. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-Regular.ttf +0 -0
  107. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdana.ttf +0 -0
  108. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdanab.ttf +0 -0
  109. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdanai.ttf +0 -0
  110. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdanaz.ttf +0 -0
  111. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts.conf +12 -0
  112. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/mapserver.conf +15 -0
  113. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/mapserver.map.tmpl +87 -0
  114. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/tinyows.xml.tmpl +36 -0
  115. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A3_Landscape.jrxml +207 -0
  116. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A3_Portrait.jrxml +185 -0
  117. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A4_Landscape.jrxml +200 -0
  118. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A4_Portrait.jrxml +170 -0
  119. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/config.yaml.tmpl +175 -0
  120. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/legend.jrxml +109 -0
  121. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation.properties +4 -0
  122. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation_fr.properties +4 -0
  123. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/logo.png +0 -0
  124. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/north.svg +93 -0
  125. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/results.jrxml +25 -0
  126. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/project.yaml +18 -0
  127. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/pyproject.toml +7 -0
  128. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/qgisserver/pg_service.conf.tmpl +15 -0
  129. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/run_alembic.sh +11 -0
  130. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-backup +126 -0
  131. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-restore +132 -0
  132. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/setup.cfg +7 -0
  133. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/spell-ignore-words.txt +5 -0
  134. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tests/__init__.py +0 -0
  135. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tests/test_app.py +43 -0
  136. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tilegeneration/config.yaml.tmpl +195 -0
  137. c2cgeoportal_geoportal/scaffolds/update/cookiecutter.json +18 -0
  138. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/.upgrade.yaml +67 -0
  139. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_CHANGELOG.txt +295 -0
  140. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_create_template/tests/test_testapp.py +48 -0
  141. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/geoportal/CONST_config-schema.yaml +922 -0
  142. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/geoportal/CONST_vars.yaml +1503 -0
  143. c2cgeoportal_geoportal/scripts/__init__.py +64 -0
  144. c2cgeoportal_geoportal/scripts/c2cupgrade.py +879 -0
  145. c2cgeoportal_geoportal/scripts/create_demo_theme.py +80 -0
  146. c2cgeoportal_geoportal/scripts/manage_users.py +140 -0
  147. c2cgeoportal_geoportal/scripts/pcreate.py +314 -0
  148. c2cgeoportal_geoportal/scripts/theme2fts.py +347 -0
  149. c2cgeoportal_geoportal/scripts/urllogin.py +81 -0
  150. c2cgeoportal_geoportal/templates/login.html +90 -0
  151. c2cgeoportal_geoportal/templates/notlogin.html +62 -0
  152. c2cgeoportal_geoportal/templates/testi18n.html +12 -0
  153. c2cgeoportal_geoportal/views/__init__.py +59 -0
  154. c2cgeoportal_geoportal/views/dev.py +57 -0
  155. c2cgeoportal_geoportal/views/dynamic.py +208 -0
  156. c2cgeoportal_geoportal/views/entry.py +174 -0
  157. c2cgeoportal_geoportal/views/fulltextsearch.py +189 -0
  158. c2cgeoportal_geoportal/views/geometry_processing.py +75 -0
  159. c2cgeoportal_geoportal/views/i18n.py +129 -0
  160. c2cgeoportal_geoportal/views/layers.py +713 -0
  161. c2cgeoportal_geoportal/views/login.py +679 -0
  162. c2cgeoportal_geoportal/views/mapserverproxy.py +191 -0
  163. c2cgeoportal_geoportal/views/memory.py +90 -0
  164. c2cgeoportal_geoportal/views/ogcproxy.py +120 -0
  165. c2cgeoportal_geoportal/views/pdfreport.py +245 -0
  166. c2cgeoportal_geoportal/views/printproxy.py +143 -0
  167. c2cgeoportal_geoportal/views/profile.py +127 -0
  168. c2cgeoportal_geoportal/views/proxy.py +259 -0
  169. c2cgeoportal_geoportal/views/raster.py +193 -0
  170. c2cgeoportal_geoportal/views/resourceproxy.py +73 -0
  171. c2cgeoportal_geoportal/views/shortener.py +152 -0
  172. c2cgeoportal_geoportal/views/theme.py +1322 -0
  173. c2cgeoportal_geoportal/views/tinyowsproxy.py +189 -0
  174. c2cgeoportal_geoportal/views/vector_tiles.py +83 -0
  175. {c2cgeoportal_geoportal-2.3.5.79.dist-info → c2cgeoportal_geoportal-2.9rc1.dist-info}/METADATA +21 -24
  176. c2cgeoportal_geoportal-2.9rc1.dist-info/RECORD +192 -0
  177. {c2cgeoportal_geoportal-2.3.5.79.dist-info → c2cgeoportal_geoportal-2.9rc1.dist-info}/WHEEL +1 -1
  178. c2cgeoportal_geoportal-2.9rc1.dist-info/entry_points.txt +28 -0
  179. c2cgeoportal_geoportal-2.9rc1.dist-info/top_level.txt +2 -0
  180. tests/__init__.py +100 -0
  181. tests/test_cachebuster.py +71 -0
  182. tests/test_caching.py +275 -0
  183. tests/test_checker.py +85 -0
  184. tests/test_decimaljson.py +47 -0
  185. tests/test_headerstween.py +64 -0
  186. tests/test_i18n.py +31 -0
  187. tests/test_init.py +193 -0
  188. tests/test_locale_negociator.py +69 -0
  189. tests/test_mapserverproxy_route_predicate.py +64 -0
  190. tests/test_raster.py +267 -0
  191. tests/test_wmstparsing.py +238 -0
  192. tests/xmlstr.py +103 -0
  193. c2cgeoportal_geoportal-2.3.5.79.dist-info/DESCRIPTION.rst +0 -8
  194. c2cgeoportal_geoportal-2.3.5.79.dist-info/RECORD +0 -7
  195. c2cgeoportal_geoportal-2.3.5.79.dist-info/entry_points.txt +0 -22
  196. c2cgeoportal_geoportal-2.3.5.79.dist-info/metadata.json +0 -1
  197. c2cgeoportal_geoportal-2.3.5.79.dist-info/top_level.txt +0 -1
@@ -0,0 +1,102 @@
1
+ # Default values for c2cgeoportal
2
+ GEOMAPFISH_VERSION={{cookiecutter.geomapfish_version}}
3
+ GEOMAPFISH_MAIN_VERSION={{cookiecutter.geomapfish_main_version}}
4
+ GEOMAPFISH_MAIN_MINOR_VERSION={{cookiecutter.geomapfish_main_minor_version}}
5
+ COMPOSE_PROJECT_NAME={{cookiecutter.package}}
6
+ PACKAGE={{cookiecutter.package}}
7
+ SRID={{cookiecutter.srid}}
8
+ DOCKER_PORT=8484
9
+ DOCKER_BASE=camptocamp/{{cookiecutter.package}}
10
+ DOCKER_TAG=latest
11
+ VISIBLE_WEB_HOST=localhost:8484
12
+ VISIBLE_WEB_PROTOCOL=https
13
+ VISIBLE_ENTRY_POINT=/
14
+ DEVELOPMENT=False
15
+ AUTHTKT_TIMEOUT=86400
16
+ AUTHTKT_REISSUE_TIME=9000
17
+ AUTHTKT_MAXAGE=86400
18
+ AUTHTKT_SECRET={{cookiecutter.authtkt_secret}}
19
+ AUTHTKT_COOKIENAME=auth_tkt_{{cookiecutter.package}}
20
+ AUTHTKT_HTTP_ONLY=True
21
+ AUTHTKT_SECURE=True
22
+ AUTHTKT_SAMESITE=Lax
23
+ BASICAUTH=False
24
+ OPENID_CONNECT_ENABLED=False
25
+ MUTUALIZED_PRINT_URL=mutualized-print.apps.openshift-ch-1.camptocamp.com
26
+ # For internal print
27
+ # DISABLE_LOCAL will be set to # on mutualize services to comment local configuration
28
+ # DISABLE_MUTUALIZE is set to # locally to comment mutualize services
29
+ DISABLE_MUTUALIZE=#
30
+ DISABLE_LOCAL=
31
+ # For backward compatibility
32
+ DISABLE_MUTUALIZED_PRINT=#
33
+ DISABLE_LOCAL_PRINT=
34
+ # Set DISABLE_HAPROXY_LOGGING to # to disable logging
35
+ DISABLE_HAPROXY_LOGGING=
36
+ HAPROXY_LOGGING_OPTIONS="log global
37
+ option httplog
38
+ option dontlognull"
39
+
40
+ GEOPORTAL_INTERNAL_URL=http://geoportal:8080
41
+ GEOPORTAL_INTERNAL_HOST=geoportal
42
+ GEOPORTAL_INTERNAL_PORT=8080
43
+ TILECLOUDCHAIN_INTERNAL_URL=http://tilecloudchain:8080
44
+ TILECLOUDCHAIN_INTERNAL_HOST=tilecloudchain
45
+ TILECLOUDCHAIN_INTERNAL_PORT=8080
46
+ # For internal print
47
+ MAPSERVER_URL=http://mapserver:8080/
48
+ TINYOWS_URL=http://tinyows:8080/
49
+ QGISSERVER_URL=http://qgisserver:8080/mapserv_proxy
50
+ QGIS_VERSION=3.34-gdal3.8
51
+ POSTGRES_TAG=13-postgis-3
52
+
53
+ DEVSERVER_HOST=webpack_dev_server:8080
54
+ REDIS_SERVICENAME=mymaster
55
+ REDIS_DB=0
56
+ REDIS_TIMEOUT=10
57
+ C2C_REDIS_TIMEOUT=10
58
+ C2C_REDIS_SERVICENAME=mymaster
59
+ C2C_REDIS_DB=0
60
+ PGOPTIONS=-c statement_timeout=30000
61
+ SQLALCHEMY_POOL_RECYCLE=30
62
+ SQLALCHEMY_POOL_SIZE=5
63
+ SQLALCHEMY_MAX_OVERFLOW=25
64
+ SQLALCHEMY_SLAVE_POOL_RECYCLE=30
65
+ SQLALCHEMY_SLAVE_POOL_SIZE=5
66
+ SQLALCHEMY_SLAVE_MAX_OVERFLOW=25
67
+ CATALINA_OPTS=-Xmx1024m
68
+ C2C_BROADCAST_PREFIX=broadcast_geoportal_
69
+ LOG_LEVEL=INFO
70
+ C2CGEOPORTAL_LOG_LEVEL=INFO
71
+ SQL_LOG_LEVEL=WARN
72
+ GUNICORN_LOG_LEVEL=WARN
73
+ OTHER_LOG_LEVEL=WARN
74
+ DOGPILECACHE_LOG_LEVEL=WARN
75
+ C2CWSGI_LOG_LEVEL=WARN
76
+ TILECLOUD_LOG_LEVEL=INFO
77
+ TILECLOUD_CHAIN_LOG_LEVEL=INFO
78
+ C2CWSGIUTILS_LOG_LEVEL=INFO
79
+ LOG_TYPE=console
80
+
81
+ # QGIS
82
+ QGIS_LOG_LEVEL=INFO # For the plugin
83
+ QGIS_SERVER_LOG_LEVEL=2
84
+ CPL_VSIL_CURL_USE_CACHE=TRUE
85
+ CPL_VSIL_CURL_CACHE_SIZE=128000000
86
+ CPL_VSIL_CURL_USE_HEAD=FALSE
87
+ GDAL_DISABLE_READDIR_ON_OPEN=TRUE
88
+ QGIS_AUTH_DB_DIR_PATH=/etc/qgisserver/
89
+ QGIS_SERVER_IGNORE_BAD_LAYERS=TRUE
90
+ QGIS_SERVER_DISABLE_GETPRINT=TRUE
91
+ PGSERVICEFILE=/etc/qgisserver/pg_service.conf
92
+ QGIS_SERVER_TRUST_LAYER_METADATA=TRUE
93
+ QGIS_SERVER_PARALLEL_RENDERING=FALSE
94
+ MAX_CACHE_LAYERS=100
95
+ QGIS_SERVER_CACHE_SIZE=60 # MB
96
+ QGIS_SERVER_WMS_MAX_HEIGHT=5000
97
+ QGIS_SERVER_WMS_MAX_WIDTH=5000
98
+ QGIS_SERVER_API_WFS3_MAX_LIMIT=10000
99
+ QGIS_SERVER_LANDING_PAGE_PROJECTS_DIRECTORIES=/etc/qgisserver/
100
+ QGIS_SERVER_OVERRIDE_SYSTEM_LOCALE=fr
101
+
102
+ FRONT_LOG_DIRECTORY=/dev/log
@@ -0,0 +1,69 @@
1
+ # Custom project values
2
+
3
+ # Database
4
+ PGDATABASE=gmf_{{cookiecutter.package}}
5
+ PGSCHEMA=main
6
+ PGSCHEMA_STATIC=main_static
7
+ # To use the mutualised database.
8
+ PGHOST=pg-gs.camptocamp.com
9
+ PGHOST_SLAVE=pg-gs.camptocamp.com
10
+ PGPORT=30100
11
+ PGPORT_SLAVE=30101
12
+ PGUSER=<user>
13
+ PGPASSWORD=<pass>
14
+ # Should be set to 'prefer' to be able to connect to a local database
15
+ PGSSLMODE=require
16
+ # To use a database on the host
17
+ # PGHOST=172.17.0.1
18
+ # PGHOST_SLAVE=172.17.0.1
19
+ # PGPORT=5432
20
+ # PGUSER=www-data
21
+ # PGPASSWORD=www-data
22
+ # PGSSLMODE=prefer
23
+
24
+ # For Exoscale S3
25
+ AWS_DEFAULT_REGION=ch-dk-2
26
+ AWS_S3_ENDPOINT=sos-ch-dk-2.exo.io
27
+
28
+ # Set the raster Base path
29
+ # Amazon S3
30
+ # RASTER_BASE_PATH=/vsis3/<bucket>/
31
+ # Azure Blob Storage
32
+ # RASTER_BASE_PATH=/vsiaz/<container>/
33
+
34
+ # Use the mutualize print, ask Camptocamp to configure your project.
35
+ # PRINT_URL=https://mutualized-print.apps.openshift-ch-1.camptocamp.com/print/{{cookiecutter.package}}/
36
+ # To use the internal print:
37
+ PRINT_URL=http://print:8080/print/
38
+
39
+ TILEGENERATION_SQS_QUEUE=<queue_name>
40
+ TILEGENERATION_S3_BUCKET=<bucket_name>
41
+ TILEGENERATION_AZURE_CONTAINER=<container_name>
42
+
43
+ # For production
44
+ # FRONT_INNER_PORT=80
45
+ # FRONT_CONFIG=haproxy
46
+ # For development (front in https)
47
+ FRONT_INNER_PORT=443
48
+ FRONT_CONFIG=haproxy_dev
49
+
50
+ # For OpenShift
51
+ #REDIS_HOST=redis_sentinel
52
+ #REDIS_PORT=26379
53
+ #C2C_REDIS_SENTINELS=redis_sentinel:26379
54
+ # For internal Redis
55
+ REDIS_HOST=redis
56
+ REDIS_PORT=6379
57
+ C2C_REDIS_URL=redis://redis:6379/0
58
+
59
+ # Set a strong password here for authentication on technical interfaces behind path /c2c
60
+ C2C_SECRET=
61
+ # Or use connection via GitHub, see: https://camptocamp.github.io/c2cgeoportal/{{cookiecutter.geomapfish_main_version}}/integrator/c2cwsgiutils.html#authentication
62
+ C2C_AUTH_GITHUB_REPOSITORY=camptocamp/{{cookiecutter.package}}
63
+ C2C_AUTH_GITHUB_ACCESS_TYPE=admin
64
+ C2C_AUTH_GITHUB_CLIENT_ID=210aefe26259de1e9532
65
+ #C2C_AUTH_GITHUB_CLIENT_SECRET=<github OAuth application client secret>
66
+ C2C_AUTH_GITHUB_SCOPE=repo
67
+ #C2C_AUTH_GITHUB_SECRET=<secret>
68
+ #C2C_AUTH_GITHUB_PROXY_URL=https://geoservicies.camptocamp.com/redirect
69
+ C2C_USE_SESSION=true
@@ -0,0 +1,430 @@
1
+ ---
2
+ extends: CONST_vars.yaml
3
+
4
+ vars:
5
+ # To use an other SRID you should change:
6
+ # - vars.srid
7
+ # - vars.alternate_projections
8
+ # - vars.resolutions
9
+ # - vars.extent
10
+ # - vars.tilesOrigin
11
+ # - vars.interfaces_config.default.constants.gmfOptions.view.center
12
+ # - vars.interfaces_config.default.constants.gmfOptions.wmtsTopLeft
13
+ # - vars.interfaces_config.default.constants.gmfVectorTilesOptions.tileGrid.origin
14
+ srid: &srid {{cookiecutter.srid}}
15
+
16
+ main_ogc_server: source for image/png
17
+
18
+ alternate_projections: &alternate_projections
19
+ - EPSG:4326
20
+ - EPSG:{srid}
21
+ - EPSG:21781
22
+
23
+ resolutions: &resolutions [250, 100, 50, 20, 10, 5, 2.5, 1, 0.5, 0.25, 0.1, 0.05]
24
+
25
+ extent: &extent [2420000, 1030000, 2900000, 1350000]
26
+
27
+ # Origin of the tiles [left, top]
28
+ tilesOrigin: &tilesOrigin [2420000, 1350000]
29
+
30
+ # The application's default language. This is the language used by
31
+ # the application if no specific language is specified in the URLs.
32
+ # This also defines the language used for the text search.
33
+ default_locale_name: fr
34
+
35
+ # All the application interfaces used to create the apache rewrite rules
36
+ interfaces:
37
+ - name: desktop
38
+ default: True
39
+ - name: mobile
40
+ - name: iframe_api
41
+
42
+ interfaces_config:
43
+ default:
44
+ constants:
45
+ defaultTheme: Demo
46
+ defaultLang: '{default_locale_name}'
47
+ gmfOptions: &gmfOptions
48
+ map: {}
49
+ view: &view
50
+ projection: EPSG:{srid}
51
+ center: [2600000, 1200000]
52
+ zoom: 3
53
+ resolutions: *resolutions
54
+ extent: *extent
55
+ geolocalisation: True
56
+ # Used to get pixel perfect render on WMTS layers [left, top]
57
+ wmtsTopLeft: *tilesOrigin
58
+ gmfElevationOptions:
59
+ layers: [aster, srtm]
60
+ gmfSearchOptions:
61
+ coordinatesProjections: *alternate_projections
62
+ gmfPermalinkOptions:
63
+ projectionCodes: *alternate_projections
64
+ gmfVectorTilesOptions:
65
+ projection: EPSG:{srid}
66
+ tileGrid:
67
+ extent: *extent
68
+ origin: *tilesOrigin
69
+ resolutions: *resolutions
70
+ routes:
71
+ fulltextsearchUrl:
72
+ params:
73
+ limit: 30
74
+ partitionlimit: 5
75
+
76
+ desktop:
77
+ constants:
78
+ gmfOptions:
79
+ <<: *gmfOptions
80
+ map:
81
+ maxTilesLoading: 128
82
+ view:
83
+ <<: *view
84
+ constrainResolution: True
85
+ gmfExternalOGCServers:
86
+ - name: swisstopo WMS
87
+ type: WMS
88
+ url: https://wms.geo.admin.ch/?lang=fr
89
+ - name: swisstopo WMTS
90
+ type: WMTS
91
+ url: https://wmts.geo.admin.ch/1.0.0/WMTSCapabilities.xml?lang=fr
92
+ - name: ASIT
93
+ type: WMTS
94
+ url: https://wmts.asit-asso.ch/wmts/1.0.0/WMTSCapabilities.xml
95
+ ngeoScaleSelectorOptions:
96
+ values: [1000000, 500000, 200000, 100000, 50000, 20000, 10000, 5000, 2000, 1000, 500, 200]
97
+ dropup: True
98
+ gmfMousePositionOptions:
99
+ projections:
100
+ - code: EPSG:2056
101
+ label: CH1903+ / MN95
102
+ filter: ngeoNumberCoordinates::{x}, {y} m
103
+ - code: EPSG:21781
104
+ label: CH1903 / MN03
105
+ filter: ngeoNumberCoordinates::{x}, {y} m
106
+ - code: EPSG:4326
107
+ label: WGS84
108
+ filter: ngeoDMSCoordinates:2:{y}, {x}
109
+ ngeoProfileOptions:
110
+ linesConfiguration:
111
+ aster:
112
+ color: '#0000A0'
113
+ srtm:
114
+ color: '#00A000'
115
+ gmfContextualDataOptions:
116
+ projections: *alternate_projections
117
+ rasterParams: {}
118
+
119
+ mobile:
120
+ constants:
121
+ gmfOptions:
122
+ <<: *gmfOptions
123
+ view:
124
+ <<: *view
125
+ autoRotate: True
126
+ gmfMobileMeasurePointOptions:
127
+ rasterLayers:
128
+ - name: aster
129
+ unit: m
130
+ - name: srtm
131
+ unit: m
132
+
133
+ iframe_api:
134
+ constants:
135
+ gmfOptions: *gmfOptions
136
+
137
+ api:
138
+ constants:
139
+ # The resolutions list.
140
+ resolutions: *resolutions
141
+
142
+ # The extent restriction, must be in the same projection as `config.projection`.
143
+ # the format is `[minx, miny, maxx, maxy]`for example: `[2420000, 1030000, 2660000, 1350000]`
144
+ # the null is no restriction.
145
+ extent: *extent
146
+
147
+ # The name of the layer to use as background, the layer must be present in the 'background_layers'
148
+ # section of the theme
149
+ backgroundLayer: OSM map
150
+
151
+ # The list of layers (names) that can be queried on mouse click
152
+ queryableLayers:
153
+ - osm_open
154
+ - many_attributes
155
+ - polygon
156
+ routes:
157
+ searchUrl:
158
+ params:
159
+ limit: 30
160
+ partitionlimit: 5
161
+
162
+ admin_interface:
163
+ # Default values for the admin interface's maps.
164
+ map:
165
+ baseLayers:
166
+ - type_: OSM
167
+ view:
168
+ projection: 'EPSG:3857'
169
+ center: [829170, 5933942]
170
+ zoom: 7
171
+ fitSource: False
172
+ fitMaxZoom: 14
173
+ focusOnly: False
174
+
175
+ functionalities:
176
+ # Functionalities that are made available to Mako templates.
177
+ available_in_templates:
178
+ - default_basemap
179
+
180
+ layers:
181
+ geometry_validation: True
182
+
183
+ api:
184
+ # The name of the API in JavaScript
185
+ name: '{{cookiecutter.package}}'
186
+
187
+ # The "vector tiles web service" configuration. See the "vector tiles"
188
+ # chapter in the integrator documentation.
189
+ vector_tiles:
190
+ srid: *srid
191
+ extent: *extent
192
+ resolutions: *resolutions
193
+
194
+ fulltextsearch:
195
+ languages:
196
+ fr: french
197
+ en: english
198
+ de: german
199
+ it: italian
200
+
201
+ shortener:
202
+ # Used to send a confirmation email
203
+ email_from: info@example.com
204
+ email_subject: Geoportal URL
205
+ # Email template, can contain:
206
+ # - {full_url}
207
+ # - {short_url}
208
+ # - {message}
209
+ # - {application_url}
210
+ # - {current_url}
211
+ email_body: |
212
+ Hello,
213
+
214
+ Somebody sent you the following link:
215
+ {short_url}
216
+
217
+ With the message:
218
+ {message}
219
+
220
+ Sincerely yours
221
+ The GeoMapFish team
222
+
223
+ smtp:
224
+ # Used to send email from various feature
225
+ host: smtp.example.com
226
+ ssl: True
227
+ user: <username>
228
+ password: <password>
229
+ starttls: False
230
+
231
+ reset_password:
232
+ # Used to send a reset password email
233
+ email_from: info@camptocamp.com
234
+ email_subject: New password generated for GeoMapFish
235
+ # Email template, can contain:
236
+ # - {user}
237
+ # - {password}
238
+ # - {application_url}
239
+ # - {current_url}
240
+ email_body: |
241
+ Hello {user},
242
+
243
+ You have asked for a new password,
244
+ the newly generated password is: {password}
245
+
246
+ Sincerely yours
247
+ The GeoMapFish team
248
+
249
+ welcome_email:
250
+ # Used to send a welcome email for new user
251
+ email_from: info@camptocamp.com
252
+ email_subject: Welcome to GeoMapFish
253
+ # Email template, can contain:
254
+ # - {user}
255
+ # - {password}
256
+ # - {application_url}
257
+ # - {current_url}
258
+ email_body: |
259
+ Hello {user},
260
+
261
+ You have a new account on GeoMapFish: {application_url}
262
+ Your user name is: {user}
263
+ Your password is: {password}
264
+
265
+ Sincerely yours
266
+ The GeoMapFish team
267
+
268
+ allowed_hosts:
269
+ # TODO: Add the allowed hosts for the application (themes and dynamic.json)
270
+ - localhost:8484
271
+
272
+ # Checker configuration
273
+ checker:
274
+ fulltextsearch:
275
+ search: text to search
276
+ # print:
277
+ # spec:
278
+ # layout: "1 A4 portrait"
279
+ # outputFormat: "pdf"
280
+ # attributes:
281
+ # title: ""
282
+ # comments: ""
283
+ # datasource: []
284
+ # map:
285
+ # projection: "EPSG:{srid}"
286
+ # dpi: 254
287
+ # rotation: 0
288
+ # center: [2600000, 1200000]
289
+ # scale: 100000
290
+ # longitudeFirst: True
291
+ # layers: []
292
+ # legend: {}
293
+ phantomjs:
294
+ disable: [apihelp]
295
+
296
+ check_collector:
297
+ hosts: []
298
+ # - display: Child:
299
+ # url: {web_protocol}://{host}/child/wsgi
300
+
301
+ # The dogpile.cache configuration.
302
+ cache:
303
+ std:
304
+ # Standalone version
305
+ backend: c2cgeoportal.hybrid
306
+ arguments: &redis-cache-arguments
307
+ host: '{REDIS_HOST}'
308
+ port: '{REDIS_PORT}'
309
+ db: '{REDIS_DB}'
310
+ password: '{REDIS_PASSWORD}'
311
+ connection_kwargs:
312
+ ssl: '{REDIS_SSL}'
313
+ # Kubernetes version
314
+ # arguments: &redis-cache-arguments
315
+ # sentinels:
316
+ # - - '{REDIS_HOST}'
317
+ # - '{REDIS_PORT}'
318
+ # connection_kwargs:
319
+ # db: '{REDIS_DB}'
320
+ ogc-server:
321
+ # Standalone version
322
+ backend: c2cgeoportal.hybrid
323
+ # All versions
324
+ arguments: *redis-cache-arguments
325
+
326
+ # This parameter set the list of hosts allowed to use the iframe api.
327
+ # 'self' will block all external usage, you must add additional hosts separated by space.
328
+ # see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors
329
+ content_security_policy_iframe_api_frame_ancestors: "'self'"
330
+
331
+ # Control the HTTP headers
332
+ headers:
333
+ dynamic: &header {}
334
+ index: *header
335
+ api: *header
336
+ apihelp: *header
337
+ profile: *header
338
+ raster: *header
339
+ vector_tiles: *header
340
+ error: *header
341
+ themes: &auth_header {}
342
+ config: *auth_header
343
+ print: *auth_header
344
+ fulltextsearch: *auth_header
345
+ mapserver: *auth_header
346
+ tinyows: *auth_header
347
+ layers: *auth_header
348
+ shortener: *auth_header
349
+ login: {}
350
+
351
+ update_paths:
352
+ - authentication.openid_connect
353
+ - admin_interface.available_functionalities
354
+ - admin_interface.available_metadata
355
+ - admin_interface.functionalities
356
+ - admin_interface.available_in_templates
357
+ - api
358
+ - cache.std.arguments
359
+ - cache.ogc-server.arguments
360
+ - cache.obj
361
+ - check_collector.disabled
362
+ - check_collector.hosts
363
+ - checker.fulltextsearch
364
+ - checker.lang
365
+ - checker.phantomjs
366
+ - checker.print
367
+ - checker.routes
368
+ - checker.themes
369
+ - content_security_policy.main
370
+ - content_security_policy.admin
371
+ - content_security_policy.apihelp
372
+ - fulltextsearch
373
+ - functionalities.available_in_templates
374
+ - global_headers
375
+ - headers.dynamic.headers
376
+ - headers.index.headers
377
+ - headers.api.headers
378
+ - headers.apihelp.headers
379
+ - headers.profile.headers
380
+ - headers.raster.headers
381
+ - headers.vector_tiles.headers
382
+ - headers.error.headers
383
+ - headers.themes.headers
384
+ - headers.config.headers
385
+ - headers.print.headers
386
+ - headers.fulltextsearch.headers
387
+ - headers.mapserver.headers
388
+ - headers.tinyows.headers
389
+ - headers.layers.headers
390
+ - headers.shortener.headers
391
+ - headers.login.headers
392
+ - interfaces_config.default.constants.ngeoWfsPermalinkOptions
393
+ - interfaces_config.default.constants.gmfOptions.view
394
+ - interfaces_config.default.constants.gmfSearchOptions
395
+ - interfaces_config.default.constants.gmfPermalinkOptions
396
+ - interfaces_config.default.constants.gmfVectorTilesOptions
397
+ - interfaces_config.default.dynamic_constants
398
+ - interfaces_config.default.static
399
+ - interfaces_config.default.routes.fulltextsearchUrl
400
+ - interfaces_config.desktop.constants.gmfOptions.view
401
+ - interfaces_config.desktop.constants.gmfPrintOptions
402
+ - interfaces_config.desktop.routes
403
+ - interfaces_config.mobile.constants.gmfOptions.view
404
+ - interfaces_config.mobile.constants.gmfMobileMeasurePointOptions
405
+ - interfaces_config.iframe_api.constants.gmfOptions.view
406
+ - interfaces_config.api.constants
407
+ - interfaces_config.api.routes.searchUrl
408
+ - interfaces_theme
409
+ - resourceproxy
410
+ - servers
411
+ - smtp
412
+ - sqlalchemy
413
+ - sqlalchemy_slave
414
+ - tinyowsproxy
415
+ - authentication
416
+
417
+ no_interpreted:
418
+ - reset_password.email_body
419
+ - shortener.email_body
420
+ - welcome_email.email_body
421
+
422
+ # Only for Standalone version (should be commented for Kubernetes version)
423
+ runtime_postprocess:
424
+ - expression: int({})
425
+ vars:
426
+ - cache.std.arguments.port
427
+ - expression: str({}).lower() in ("true", "yes", "1")
428
+ vars:
429
+ - cache.std.arguments.connection_kwargs.ssl
430
+ - cache.ogc-server.arguments.connection_kwargs.ssl
@@ -0,0 +1,6 @@
1
+ msgid ""
2
+ msgstr ""
3
+ "Content-Type: text/plain; charset=UTF-8\n"
4
+ "Content-Transfer-Encoding: 8bit\n"
5
+ "Language: en\n"
6
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
@@ -0,0 +1,3 @@
1
+ User-agent: *
2
+ Disallow: ${VISIBLE_ENTRY_POINT}admin
3
+ Disallow: ${VISIBLE_ENTRY_POINT}c2c