Extension ckanext-approvalworkflow


Extension Basics

Title
ckanext-approvalworkflow
Name
ckanext-approvalworkflow
Type
Public extension
Description
This CKAN extension adds a structured dataset approval workflow to CKAN instances that require moderation before datasets become publicly visible. It enhances governance, quality control, and transparency by introducing a controlled review process and providing administrators with clear oversight of dataset publication activities.
CKAN versions
Download-Url (zip)
Last commit
a month ago (2025-12-02 14:24:43)
Url to repo
Category
Data Management & Quality


Background Infos

Description (long)
Show details

This CKAN extension adds a structured dataset approval workflow to CKAN instances that require moderation before datasets become publicly visible. It enhances governance, quality control, and transparency by introducing a controlled review process and providing administrators with clear oversight of dataset publication activities.

The extension is designed to integrate seamlessly with CKAN’s core functionality while adding essential moderation features such as notifications, approval logging, and a dedicated approval stream.

This extension provides three configuration modes for managing the dataset approval workflow:

  • Not Active – The approval workflow is disabled and datasets are published immediately.
  • Active – The approval workflow is enabled globally for all organizations.
  • Activate Approval Workflow per Organization – The workflow can be selectively enabled or disabled at the organization level.

Workflow Summary

Notification is sent — All administrators of the relevant CKAN organization receive an email containing a direct link to the dataset awaiting review.

Review actions — Organization administrators or system administrators can either approve or reject the dataset.

Publication control —
    Approved datasets move to a published state.
    Rejected datasets are saved as drafts.

Approval Stream logging — Every action is recorded with:
    The user who performed the action
    Timestamps for each workflow event
    Optional review notes

This approval flow ensures that dataset publishing follows a consistent, auditable process and gives organizations full control over what becomes publicly accessible.

Version
1.0.0
Version release date
2025-12-02
Contact name
(not set)
Contakt email
(not set)
Contact Url
(not set)


Installation Guide

Configuration hints

Requirements

Make sure to have email settings in your ckan.ini file.

Compatibility with core CKAN versions: CKAN version Compatible? 2.9 Yes 2.10 Yes 2.11 Yes

For CKAN 2.9 use the 0.0.1 tag Installation

To install ckanext-approvalworkflow:

Activate your CKAN virtual environment, for example:

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

Clone the source and install it on the virtualenv

git clone https://github.com//ckanext-approvalworkflow.git

cd ckanext-approvalworkflow

pip install -e .

pip install -r requirements.txt

Add approvalworkflow to the ckan.plugins setting in your CKAN config file (by default the config file is located at /etc/ckan/default/ckan.ini).

Create the database tables running:

ckan -c /path/to/ini/file approval_workflow initdb

If you are using ckanext-datasetversions, make sure to add datasetversions plugin after approvalworkflow in your CKAN config file

Restart CKAN. For example if you've deployed CKAN with Apache on Ubuntu:

sudo service apache2 reload

Config settings

If your CKAN instance uses additional dataset types defined through ckanext-scheming, beyond the default dataset type, ensure that these custom types are explicitly listed in the configuration. For example:

ckanext.approvalworkflow.dataset_types = report, camel-photos, whitepaper Developer installation

To install ckanext-approvalworkflow for development, activate your CKAN virtualenv and do:

git clone https://github.com//ckanext-approvalworkflow.git cd ckanext-approvalworkflow python setup.py develop pip install -r dev-requirements.txt

Plugins to configure (ckan.ini)
approvalworkflow
CKAN Settings (ckan.ini)
DB migration to be executed
(not set)
<< back to Extensions