diff --git a/.env.example b/.env.example index 11dd700..9de28a5 100644 --- a/.env.example +++ b/.env.example @@ -95,6 +95,10 @@ CKAN_SITE_URL=${PROXY_SERVER_URL} CKAN__ROOT_PATH=${PROXY_CKAN_LOCATION}/{{LANG}} CKAN__FAVICON=${PROXY_CKAN_LOCATION}/base/images/ckan.ico CKAN__SITE_LOGO=/images/default/ckan-logo.png +# CKAN site info +CKAN__SITE_INTRO_TEXT="" +CKAN__SITE_DESCRIPTION="" +CKAN__SITE_ABOUT="" # Custom licenses that are aligned with DCAT-AP CKAN___LICENSES_GROUP_URL=https://raw.githubusercontent.com/mjanez/ckanext-schemingdcat/main/ckanext/schemingdcat/public/static/licenses.json CKAN___BEAKER__SESSION__SECRET=CHANGE_ME @@ -122,6 +126,11 @@ CKAN__SEARCH__SOLR_ALLOWED_QUERY_PARSERS=field # CORS Settings. If True, all origins will be allowed (the response header Access-Control-Allow-Origin is set to ‘*’). If False, only origins from the ckan.cors.origin_whitelist setting will be allowed. CKAN__CORS__ORIGIN_ALLOW_ALL=False CKAN__CORS__ORIGIN_WHITELIST="" +# Enables or disable collaborators in individual datasets (https://docs.ckan.org/en/2.9/maintaining/authorization.html#dataset-collaborators) +CKAN__AUTH__ALLOW_DATASET_COLLABORATORS=False +CKAN__AUTH__ALLOW_ADMIN_COLLABORATORS=False +# Default number of facets shown in search results. Default 10. +SEARCH__FACETS__DEFAULT=4 ## Resource Proxy settings ### Preview size limit, default: 1MB @@ -130,7 +139,7 @@ CKAN__RESOURCE_PROXY__MAX_FILE_SIZE=50048576 CKAN__RESOURCE_PROXY__CHUNK_SIZE=4096 ## Default timeout for fetching proxied items CKAN__RESOURCE_PROXY__TIMEOUT=10 -CKAN__VIEWS__DEFAULT_VIEWS="image_view webpage_view text_view recline_view wmts_view geojson_view geo_view shp_view pdf_view" +CKAN__VIEWS__DEFAULT_VIEWS="image_view video_view audio_view webpage_view text_view datatables_view wmts_view geojson_view geo_view shp_view pdf_view" # Localization CKAN__LOCALE_DEFAULT="en" @@ -138,7 +147,7 @@ CKAN__LOCALE_ORDER="en es pt_BR ja it cs_CZ ca fr el sv sr sr@latin no sk fi ru CKAN__LOCALES_OFFERED="en es pt_BR ja it cs_CZ ca fr el sv sr sr@latin no sk fi ru de pl nl bg ko_KR hu sa sl lv" # Extensions -CKAN__PLUGINS="stats image_view text_view recline_view webpage_view resourcedictionary datastore xloader spatial_metadata spatial_query spatial_harvest_metadata_api csw_harvester waf_harvester doc_harvester resource_proxy geo_view geojson_view wmts_view shp_view dcat dcat_rdf_harvester dcat_json_harvester dcat_json_interface schemingdcat_datasets schemingdcat_groups schemingdcat_organizations schemingdcat schemingdcat_ckan_harvester schemingdcat_xls_harvester harvest pdf_view pages fluent envvars" +CKAN__PLUGINS="stats image_view video_view audio_view webpage_view text_view datatables_view resourcedictionary datastore xloader spatial_metadata spatial_query spatial_harvest_metadata_api csw_harvester waf_harvester doc_harvester resource_proxy geo_view geojson_view wmts_view shp_view dcat dcat_rdf_harvester dcat_json_harvester dcat_json_interface schemingdcat schemingdcat_datasets schemingdcat_groups schemingdcat_organizations schemingdcat_ckan_harvester schemingdcat_xls_harvester harvest pdf_view pages fluent envvars" # ckanext-harvest CKAN__HARVEST__MQ__TYPE=redis @@ -176,12 +185,12 @@ CKANEXT__GEOVIEW__SHP_VIEWER__ENCODING=UTF-8 ## CSW Endpoint for spatial metadata CKANEXT__SCHEMINGDCAT_GEOMETADATA_BASE_URI=${PYCSW_URL} ## Scheming: setup_scheming.sh -CKANEXT__SCHEMINGDCAT_DATASET_SCHEMA="ckanext.schemingdcat:schemas/geodcat_ap/eu_geodcat_ap_2.yaml ckanext.schemingdcat:schemas/resources/dcat_3_document.yaml" +CKANEXT__SCHEMINGDCAT_DATASET_SCHEMA="ckanext.schemingdcat:schemas/geodcat_ap/eu_geodcat_ap_full.yaml ckanext.schemingdcat:schemas/resources/dcat_document.yaml" CKANEXT__SCHEMINGDCAT_GROUP_SCHEMAS="ckanext.schemingdcat:schemas/geodcat_ap/eu_geodcat_ap_group.json" CKANEXT__SCHEMINGDCAT_ORGANIZATION_SCHEMAS="ckanext.schemingdcat:schemas/geodcat_ap/eu_geodcat_ap_org.json" CKANEXT__SCHEMINGDCAT_PRESETS="ckanext.schemingdcat:schemas/default_presets.json ckanext.fluent:presets.json" ## Facets: setup_scheming.sh -CKANEXT__SCHEMINGDCAT_FACET_LIST="dataset_scope theme groups theme_eu dcat_type groups publisher_name publisher_type spatial_uri owner_org res_format frequency tags tag_uri conforms_to" +CKANEXT__SCHEMINGDCAT_FACET_LIST="dataset_scope theme groups theme_eu language dcat_type groups publisher_name publisher_type spatial_uri owner_org res_format frequency tags tag_uri conforms_to" CKANEXT__SCHEMINGDCAT_ORGANIZATION_CUSTOM_FACETS=True CKANEXT__SCHEMINGDCAT_GROUP_CUSTOM_FACETS=True CKANEXT__SCHEMINGDCAT_DEFAULT_PACKAGE_ITEM_ICON="theme" diff --git a/README.md b/README.md index ac853f2..579cf17 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,7 @@ Available components: | 2.9.x | custom spatial image | `alpine:3.15` | `ghcr.io/mjanez/ckan-spatial:ckan-2.9.8`, `ghcr.io/mjanez/ckan-spatial:ckan-2.9.8`, `ghcr.io/mjanez/ckan-docker:ckan-2.9.9`, `ghcr.io/mjanez/ckan-docker:ckan-2.9.10`, `ghcr.io/mjanez/ckan-docker:ckan-2.9.11`, `ghcr.io/mjanez/ckan-docker:2.9.12` | Stable official versions of CKAN `2.9.8`, `2.9.10` and `2.9.11`, including a security backport: `2.9.12`. As of `2.9.12`, repo images are aligned with the [`ckan-docker-spatial`](https://github.com/mjanez/ckan-docker-spatial#pre-configured-ckan-docker-images) and [`ckan-docker-base](https://github.com/ckan/ckan-docker-base#pre-configured-ckan-docker-images)` tags. | | 2.10.x | custom spatial image | `python:3.10-slim-bookworm` | `ghcr.io/mjanez/ckan-docker:2.10.5` | From `2.10` images only [Debian-based official Python images](https://hub.docker.com/_/python) rather than Alpine-based images will be provided. | | 2.11.x | custom spatial image | `python:3.10-slim-bookworm` | `ghcr.io/mjanez/ckan-docker:2.11.0` | CKAN's latest official version. Only [Debian-based official Python images](https://hub.docker.com/_/python). | +| master | custom spatial image | `python:3.10-slim-bookworm` | `ghcr.io/mjanez/ckan-docker:master` | Latest image available. Not for use in production. | The non-CKAN images are as follows: * PostgreSQL: [Custom image](/postgresql/Dockerfile) based on official PostgreSQL image. Database files are stored in a named volume. diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 9b96915..88109c3 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -1,4 +1,4 @@ -FROM ghcr.io/mjanez/ckan-spatial-base:2.9.12 +FROM ghcr.io/mjanez/ckan-spatial-base:2.10.5-py3.10 LABEL maintainer="mnl.janez@gmail.com" # Set up environment variables @@ -25,8 +25,9 @@ COPY req_fixes req_fixes ## Scheming DCAT - v3.2.2 (mjanez/GeoDCAT-AP/NTI-RISP extended version) ## RUN echo ${TZ} > /etc/timezone && \ if ! [ /usr/share/zoneinfo/${TZ} -ef /etc/localtime ]; then cp /usr/share/zoneinfo/${TZ} /etc/localtime; fi && \ - # Remove apk cache - rm -rf /var/cache/apk/* && \ + # Install patch utility + apt-get update && \ + apt-get install -y patch && \ # Install CKAN extensions echo "ckan/ckanext-xloader" && \ pip3 install --no-cache-dir -e git+https://github.com/ckan/ckanext-xloader.git@1.0.1#egg=ckanext-xloader && \ @@ -55,7 +56,10 @@ RUN echo ${TZ} > /etc/timezone && \ pip3 install --no-cache-dir -e git+https://github.com/mjanez/ckanext-fluent.git@v1.0.1#egg=ckanext-fluent && \ echo "mjanez/ckanext-schemingdcat" && \ pip3 install --no-cache-dir -e git+https://github.com/mjanez/ckanext-schemingdcat.git@v3.2.2#egg=ckanext_schemingdcat && \ - pip3 install --no-cache-dir -r ${APP_DIR}/src/ckanext-schemingdcat/requirements.txt + pip3 install --no-cache-dir -r ${APP_DIR}/src/ckanext-schemingdcat/requirements.txt && \ + # Remove system cache + apt-get clean && \ + rm -rf /var/lib/apt/lists/* # Used to configure the container environment by setting environment variables, creating users, running initialization scripts, .etc COPY docker-entrypoint.d/* /docker-entrypoint.d/ diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 228902e..86fbca0 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -1,4 +1,4 @@ -FROM ghcr.io/mjanez/ckan-spatial-dev:2.9.12 +FROM ghcr.io/mjanez/ckan-spatial-dev:2.10.5-py3.10 LABEL maintainer="mnl.janez@gmail.com" # Set up environment variables @@ -10,9 +10,12 @@ ENV APP_DIR=/srv/app \ WORKDIR ${APP_DIR} RUN echo ${TZ} > /etc/timezone && \ if ! [ /usr/share/zoneinfo/${TZ} -ef /etc/localtime ]; then cp /usr/share/zoneinfo/${TZ} /etc/localtime; fi && \ - apk --no-cache add sudo && \ - # Remove apk cache - rm -rf /var/cache/apk/* + # Install patch utility + apt-get update && \ + apt-get install -y patch && \ + # Remove system cache + apt-get clean && \ + rm -rf /var/lib/apt/lists/* # Install any extensions needed by your CKAN instance # - Make sure to add the plugins to CKAN__PLUGINS in the .env file diff --git a/ckan/docker-entrypoint.d/01_setup_ckanext_config.sh b/ckan/docker-entrypoint.d/01_setup_ckanext_config.sh index 8ba4079..d786aa9 100644 --- a/ckan/docker-entrypoint.d/01_setup_ckanext_config.sh +++ b/ckan/docker-entrypoint.d/01_setup_ckanext_config.sh @@ -4,6 +4,12 @@ echo "[docker-entrypoint.01_setup_ckanext_config] Clear index" ckan -c $CKAN_INI search-index clear +# ckan: Update core settings +echo "[docker-entrypoint.01_setup_ckanext_config] Loading CKAN core settings in the CKAN config file" +ckan config-tool $CKAN_INI \ + "search.facets.default = $SEARCH__FACETS__DEFAULT" + +# ckanext-schemingdcat: Update settings echo "[docker-entrypoint.01_setup_ckanext_config] Loading ckanext-scheming and ckanext-schemingdcat settings into ckan.ini" ckan config-tool $CKAN_INI \ "scheming.dataset_schemas=$CKANEXT__SCHEMINGDCAT_DATASET_SCHEMA" \ @@ -18,7 +24,7 @@ ckan config-tool $CKAN_INI \ "schemingdcat.default_package_item_show_spatial=$CKANEXT__SCHEMINGDCAT_DEFAULT_PACKAGE_ITEM_SHOW_SPATIAL" \ "schemingdcat.show_metadata_templates_toolbar=$CKANEXT__SCHEMINGDCAT_SHOW_METADATA_TEMPLATES_TOOLBAR" \ "schemingdcat.metadata_templates_search_identifier=$CKANEXT__METADATA_TEMPLATES_SEARCH_IDENTIFIER" \ - "schemingdcat.endpoints_yaml=$CKANEXT__SCHEMINGDCAT_ENDPOINTS_YAML" \ + "schemingdcat.endpoints_yaml=$CKANEXT__SCHEMINGDCAT_ENDPOINTS_YAML" # ckanext-dcat: Add settings to the CKAN config file echo "[docker-entrypoint.01_setup_ckanext_config] Loading ckanext-dcat settings in the CKAN config file" diff --git a/ckan/patches/ckan/00_plugin_slug_preview.patch b/ckan/patches/ckan/00_plugin_slug_preview.patch index 3590303..b1be417 100644 --- a/ckan/patches/ckan/00_plugin_slug_preview.patch +++ b/ckan/patches/ckan/00_plugin_slug_preview.patch @@ -1,5 +1,5 @@ diff --git a/ckan/public/base/javascript/plugins/jquery.slug-preview.js b/ckan/public/base/javascript/plugins/jquery.slug-preview.js -index 4a4f78fe25..8c03e816d2 100644 +index 4a4f78fe2..8c03e816d 100644 --- a/ckan/public/base/javascript/plugins/jquery.slug-preview.js +++ b/ckan/public/base/javascript/plugins/jquery.slug-preview.js @@ -33,6 +33,11 @@ diff --git a/ckan/setup/start_ckan.sh.override b/ckan/setup/start_ckan.sh.override index 7d52585..1ffcbf0 100644 --- a/ckan/setup/start_ckan.sh.override +++ b/ckan/setup/start_ckan.sh.override @@ -1,11 +1,12 @@ -#!/bin/sh +#!/bin/bash # Set up the Secret key used by Beaker and Flask # This can be overriden using a CKAN___BEAKER__SESSION__SECRET env var -if grep -E "beaker.session.secret ?= ?$" ckan.ini +if grep -qE "beaker.session.secret ?= ?$" ckan.ini then echo "Setting beaker.session.secret in ini file" ckan config-tool $CKAN_INI "beaker.session.secret=$(python3 -c 'import secrets; print(secrets.token_urlsafe())')" + ckan config-tool $CKAN_INI "WTF_CSRF_SECRET_KEY=$(python3 -c 'import secrets; print(secrets.token_urlsafe())')" JWT_SECRET=$(python3 -c 'import secrets; print("string:" + secrets.token_urlsafe())') ckan config-tool $CKAN_INI "api_token.jwt.encode.secret=${JWT_SECRET}" ckan config-tool $CKAN_INI "api_token.jwt.decode.secret=${JWT_SECRET}" @@ -46,7 +47,7 @@ UWSGI_OPTS="--plugins http,python \ --wsgi-file /srv/app/wsgi.py \ --module wsgi:application \ --uid 92 --gid 92 \ - --http 0.0.0.0:5000 \ + --http [::]:5000 \ --master --enable-threads \ --lazy-apps \ -p 2 -L -b 32768 --vacuum \ diff --git a/ckan/setup/start_ckan_development.sh.override b/ckan/setup/start_ckan_development.sh.override index 4669dac..5a5a9f4 100644 --- a/ckan/setup/start_ckan_development.sh.override +++ b/ckan/setup/start_ckan_development.sh.override @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # Install any local extensions in the src_extensions volume echo "Looking for local extensions to install..." @@ -31,6 +31,13 @@ do echo "Found setup.py file in $i" cd $APP_DIR fi + if [ -f $i/pyproject.toml ]; + then + cd $i + pip install -e . + echo "Found pyproject.toml file in $i" + cd $APP_DIR + fi # Point `use` in test.ini to location of `test-core.ini` if [ -f $i/test.ini ]; @@ -51,6 +58,7 @@ if grep -E "beaker.session.secret ?= ?$" ckan.ini then echo "Setting beaker.session.secret in ini file" ckan config-tool $CKAN_INI "beaker.session.secret=$(python3 -c 'import secrets; print(secrets.token_urlsafe())')" + ckan config-tool $CKAN_INI "WTF_CSRF_SECRET_KEY=$(python3 -c 'import secrets; print(secrets.token_urlsafe())')" JWT_SECRET=$(python3 -c 'import secrets; print("string:" + secrets.token_urlsafe())') ckan config-tool $CKAN_INI "api_token.jwt.encode.secret=${JWT_SECRET}" ckan config-tool $CKAN_INI "api_token.jwt.decode.secret=${JWT_SECRET}" @@ -90,6 +98,18 @@ then done fi +CKAN_RUN="ckan -c $CKAN_INI run -H 0.0.0.0" +CKAN_OPTIONS="" +if [ "$USE_DEBUGPY_FOR_DEV" = true ] ; then + pip install debugpy + CKAN_RUN="/usr/bin/python -m debugpy --listen 0.0.0.0:5678 $CKAN_RUN" + CKAN_OPTIONS="$CKAN_OPTIONS --disable-reloader" +fi + +if [ "$USE_HTTPS_FOR_DEV" = true ] ; then + CKAN_OPTIONS="$CKAN_OPTIONS -C unsafe.cert -K unsafe.key" +fi + # Create Harvester logs directory and change its ownership mkdir -p $CKAN_LOGS_PATH/harvester chown -R ckan:ckan $CKAN_LOGS_PATH/harvester @@ -102,7 +122,11 @@ chown -R ckan:ckan $CKAN_LOGS_PATH/xloader #supervisord --configuration /etc/supervisord.conf & # Start the development server as the ckan user with automatic reload -su ckan -c "/usr/bin/ckan -c $CKAN_INI run -H 0.0.0.0" +while true; do + su ckan -c "$CKAN_RUN $CKAN_OPTIONS" + echo Exit with status $?. Restarting. + sleep 2 +done # Workers # To start the Harvester worker diff --git a/samples/.env.es.example b/samples/.env.es.example index 5555403..e19c32c 100644 --- a/samples/.env.es.example +++ b/samples/.env.es.example @@ -95,6 +95,10 @@ CKAN_SITE_URL=${PROXY_SERVER_URL} CKAN__ROOT_PATH=${PROXY_CKAN_LOCATION}/{{LANG}} CKAN__FAVICON=${PROXY_CKAN_LOCATION}/base/images/ckan.ico CKAN__SITE_LOGO=/images/default/ckan-logo.png +# CKAN site info +CKAN__SITE_INTRO_TEXT="" +CKAN__SITE_DESCRIPTION="" +CKAN__SITE_ABOUT="" # Custom licenses that are aligned with DCAT-AP CKAN___LICENSES_GROUP_URL=https://raw.githubusercontent.com/mjanez/ckanext-schemingdcat/main/ckanext/schemingdcat/public/static/licenses.json CKAN___BEAKER__SESSION__SECRET=CHANGE_ME @@ -122,6 +126,11 @@ CKAN__SEARCH__SOLR_ALLOWED_QUERY_PARSERS=field # CORS Settings. If True, all origins will be allowed (the response header Access-Control-Allow-Origin is set to ‘*’). If False, only origins from the ckan.cors.origin_whitelist setting will be allowed. CKAN__CORS__ORIGIN_ALLOW_ALL=False CKAN__CORS__ORIGIN_WHITELIST="" +# Enables or disable collaborators in individual datasets (https://docs.ckan.org/en/2.9/maintaining/authorization.html#dataset-collaborators) +CKAN__AUTH__ALLOW_DATASET_COLLABORATORS=False +CKAN__AUTH__ALLOW_ADMIN_COLLABORATORS=False +# Default number of facets shown in search results. Default 10. +SEARCH__FACETS__DEFAULT=4 ## Resource Proxy settings ### Preview size limit, default: 1MB @@ -135,9 +144,10 @@ CKAN__VIEWS__DEFAULT_VIEWS="image_view webpage_view text_view recline_view wmts_ # Localization CKAN__LOCALE_DEFAULT="es" CKAN__LOCALE_ORDER="es en pt_BR ja it cs_CZ ca fr el sv sr sr@latin no sk fi ru de pl nl bg ko_KR hu sa sl lv" +CKAN__LOCALES_OFFERED="es en pt_BR ja it cs_CZ ca fr el sv sr sr@latin no sk fi ru de pl nl bg ko_KR hu sa sl lv" # Extensions -CKAN__PLUGINS="stats image_view text_view recline_view webpage_view resourcedictionary datastore xloader spatial_metadata spatial_query spatial_harvest_metadata_api csw_harvester waf_harvester doc_harvester resource_proxy geo_view geojson_view wmts_view shp_view dcat dcat_rdf_harvester dcat_json_harvester dcat_json_interface schemingdcat_datasets schemingdcat_groups schemingdcat_organizations schemingdcat schemingdcat_ckan_harvester schemingdcat_xls_harvester harvest pdf_view pages fluent envvars" +CKAN__PLUGINS="stats image_view video_view audio_view webpage_view text_view datatables_view resourcedictionary datastore xloader spatial_metadata spatial_query spatial_harvest_metadata_api csw_harvester waf_harvester doc_harvester resource_proxy geo_view geojson_view wmts_view shp_view dcat dcat_rdf_harvester dcat_json_harvester dcat_json_interface schemingdcat schemingdcat_datasets schemingdcat_groups schemingdcat_organizations schemingdcat_ckan_harvester schemingdcat_xls_harvester harvest pdf_view pages fluent envvars" # ckanext-harvest CKAN__HARVEST__MQ__TYPE=redis @@ -175,12 +185,12 @@ CKANEXT__GEOVIEW__SHP_VIEWER__ENCODING=UTF-8 ## CSW Endpoint for spatial metadata CKANEXT__SCHEMINGDCAT_GEOMETADATA_BASE_URI=${PYCSW_URL} ## Scheming: setup_scheming.sh -CKANEXT__SCHEMINGDCAT_DATASET_SCHEMA="ckanext.schemingdcat:schemas/geodcat_ap/es_geodcat_ap_2.yaml ckanext.schemingdcat:schemas/resources/dcat_3_document.yaml" +CKANEXT__SCHEMINGDCAT_DATASET_SCHEMA="ckanext.schemingdcat:schemas/geodcat_ap/es_geodcat_ap_full.yaml ckanext.schemingdcat:schemas/resources/dcat_document.yaml" CKANEXT__SCHEMINGDCAT_GROUP_SCHEMAS="ckanext.schemingdcat:schemas/geodcat_ap/es_geodcat_ap_group.json" CKANEXT__SCHEMINGDCAT_ORGANIZATION_SCHEMAS="ckanext.schemingdcat:schemas/geodcat_ap/es_geodcat_ap_org.json" CKANEXT__SCHEMINGDCAT_PRESETS="ckanext.schemingdcat:schemas/default_presets.json ckanext.fluent:presets.json" ## Facets: setup_scheming.sh -CKANEXT__SCHEMINGDCAT_FACET_LIST="dataset_scope theme groups theme_es dcat_type groups publisher_name publisher_type spatial_uri owner_org res_format frequency tags tag_uri conforms_to" +CKANEXT__SCHEMINGDCAT_FACET_LIST="dataset_scope theme groups theme_es language dcat_type groups publisher_name publisher_type spatial_uri owner_org res_format frequency tags tag_uri conforms_to" CKANEXT__SCHEMINGDCAT_ORGANIZATION_CUSTOM_FACETS=True CKANEXT__SCHEMINGDCAT_GROUP_CUSTOM_FACETS=True CKANEXT__SCHEMINGDCAT_DEFAULT_PACKAGE_ITEM_ICON="theme" diff --git a/samples/.env.localhost b/samples/.env.localhost index 11dd700..5d622ed 100644 --- a/samples/.env.localhost +++ b/samples/.env.localhost @@ -176,7 +176,7 @@ CKANEXT__GEOVIEW__SHP_VIEWER__ENCODING=UTF-8 ## CSW Endpoint for spatial metadata CKANEXT__SCHEMINGDCAT_GEOMETADATA_BASE_URI=${PYCSW_URL} ## Scheming: setup_scheming.sh -CKANEXT__SCHEMINGDCAT_DATASET_SCHEMA="ckanext.schemingdcat:schemas/geodcat_ap/eu_geodcat_ap_2.yaml ckanext.schemingdcat:schemas/resources/dcat_3_document.yaml" +CKANEXT__SCHEMINGDCAT_DATASET_SCHEMA="ckanext.schemingdcat:schemas/geodcat_ap/es_geodcat_ap_full.yaml ckanext.schemingdcat:schemas/resources/dcat_document.yaml" CKANEXT__SCHEMINGDCAT_GROUP_SCHEMAS="ckanext.schemingdcat:schemas/geodcat_ap/eu_geodcat_ap_group.json" CKANEXT__SCHEMINGDCAT_ORGANIZATION_SCHEMAS="ckanext.schemingdcat:schemas/geodcat_ap/eu_geodcat_ap_org.json" CKANEXT__SCHEMINGDCAT_PRESETS="ckanext.schemingdcat:schemas/default_presets.json ckanext.fluent:presets.json" diff --git a/samples/ckan.ini.example b/samples/ckan.ini.example index 8b7ceb9..6529b93 100644 --- a/samples/ckan.ini.example +++ b/samples/ckan.ini.example @@ -116,7 +116,7 @@ ckan.site_id = default # Add ``datapusher`` to enable DataPusher # Add ``resource_proxy`` to enable resorce proxying and get around the # same origin policy -ckan.plugins = stats text_view image_view recline_view resourcedictionary datastore datapusher harvest ckan_harvester spatial_metadata spatial_query spatial_harvest_metadata_api csw_harvester waf_harvester doc_harvester resource_proxy geo_view geojson_view wmts_view shp_view dcat dcat_rdf_harvester dcat_json_harvester dcat_json_interface scheming_datasets scheming_groups scheming_organizations pdf_view pages +ckan.plugins = stats text_view image_view recline_view resourcedictionary datastore datapusher harvest ckan_harvester spatial_metadata spatial_query spatial_harvest_metadata_api csw_harvester waf_harvester doc_harvester resource_proxy geo_view geojson_view wmts_view shp_view dcat dcat_rdf_harvester dcat_json_harvester dcat_json_interface schemingdcat_datasets schemingdcat_groups schemingdcat_organizations pdf_view pages ## ckanext-scheming diff --git a/solr/Dockerfile.spatial b/solr/Dockerfile.spatial index cb63e1c..f74d6ad 100644 --- a/solr/Dockerfile.spatial +++ b/solr/Dockerfile.spatial @@ -59,6 +59,7 @@ ENV SOLR_BBOX_FIELDS ' \ \ \ + \ \ \ ' \ @@ -67,7 +68,6 @@ ENV SOLR_BBOX_FIELDS '/a $SOLR_BBOX_FIELDS" $SOLR_SCHEMA_FILE - RUN chmod 644 $SOLR_SCHEMA_FILE USER solr