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