Extension Drupal Integration


Extension Basics

Title
Drupal Integration
Name
ckanext-drupal-api
Type
Public extension
Description
Synchronize header and footer between CKAN and Drupal
CKAN versions
Download-Url (zip)
Download-Url commit date
2023-08-16
Url to repo
Category
Content Management


Background Infos

Description (long)
Show details

Extension for synchronizing header and footer elements between CKAN and Drupal portals. Supports two Drupal API versions: core REST API and JSON:API. Retrieves data from Drupal through configurable endpoints and caches it for specified duration (default 3600 seconds, configurable via Cache TTL). Supports HTTP basic authentication for API calls. Allows customization of menu export endpoints for core REST API version. Provides flexible caching to balance synchronization frequency with performance.

Version
0.6.0
Version release date
2023-08-16
Contact name
DataShades
Contakt email
(not set)
Contact Url
(not set)


Installation Guide

Configuration hints

Installation:

1. Activate CKAN virtual environment:

. /usr/lib/ckan/default/bin/activate

2. Clone and install:

git clone https://github.com/DataShades/ckanext-drupal-api.git

cd ckanext-drupal-api

pip install -e .

pip install -r requirements.txt

3. Add ‘drupal_api’ to ckan.plugins in config file

4. Configure Drupal connection (see config_env_vars)

5. Restart CKAN

#

Requirements:

- CKAN >= 2.10

- Python >= 3.7

#

Configuration:

- Required: ckanext.drupal_api.drupal_url (URL of Drupal instance)

- Optional: timeout, cache duration, HTTP auth, API version, custom endpoints

#

API Versions:

- core: RESTful Web Services (allows custom endpoints)

- json: JSON:API (standard endpoints)

#

Cache Management:

Adjust cache.duration to control synchronization frequency

Lower values = more frequent sync, higher server load

Higher values = less frequent sync, better performance

Plugins to configure (ckan.ini)
drupal_api
CKAN Settings (ckan.ini)
# ckanext.drupal_api.drupal_url = http://drupal.com # ckanext.drupal_api.timeout = 5 # ckanext.drupal_api.cache.duration = 3600 # ckanext.drupal_api.request.user = username # ckanext.drupal_api.request.pass = password # ckanext.drupal_api.api_version = json # ckanext.drupal_api.core.menu_export_endpoint = /api/v1/menu_export
DB migration to be executed
(not set)
<< back to Extensions