Blog

CKAN Extensions Demo Day – Part 2: Scalable, Secure, and Smarter CKAN

The second CKAN Extensions Demo Day brought another round of focused, real-world solutions for CKAN-based data portals. Each extension demo tackled persistent challenges—from upload validation and custom data listings to cloud-scale performance and system diagnostics.

On April 23, 2025, we hosted part two of the CKAN Extensions Demo Day, featuring four exciting new CKAN extensions developed by and for the community. Each project offers valuable tools to enhance CKAN’s functionality, security, and scalability. Here’s a quick recap for those who missed it — or want a fast-track to the innovations presented.

🔐 Prevent Bad File Uploads Before They Happen: ckanext-resource-type-validation

Presented by: Carl Antuar and William Dutton (Queensland Government)

What it does:
This extension strictly validates the type of files uploaded to CKAN. It ensures that uploaded files match their declared formats, enhancing security and minimizing errors. For example, if someone tries to upload a .exe file disguised as a .pdf, the system will detect the mismatch.

  • It uses Python’s python-magic library for MIME type sniffing.
  • It supports custom rules for handling file extensions.
  • Works seamlessly even with S3 file storage backends (with some limitations).

Repository: github.com/qld-gov-au/ckanext-resource-type-validation (not yet public based on transcript; will update when available if released)

Handle Massive Datasets with Google BigQuery: ckanext-datastore-bigquery

Presented by: João Demenech (Datopian)

What it does:
This extension allows CKAN to connect its DataStore API directly to Google BigQuery instead of using PostgreSQL.

  • Enables datastore_search and datastore_search_sql on datasets stored in BigQuery.
  • Ideal for portals with massive datasets needing BigQuery’s scalability, partitioning, and parallel processing.
  • Useful when integrating CKAN with GCP-based data pipelines.

Repository: github.com/datopian/ckanext-datastore-bigquery

Note: Currently, resource linking is done via a custom metadata field (bq_table_name). Contributions for improved UI and better schema integration are welcome!

📋 Easily Filter and Export Lists of Datasets, Users, or Anything Else: ckanext-collection

Presented by: Sergey Motornyuk (Link Digital)

What it does:
This is a flexible framework rather than a simple plugin. It helps developers manage large collections of similar items (like datasets, users, etc.) in CKAN with ease.

  • Provides classes for pagination, filtering, slicing, and serialization.
  • Makes it easy to export data in formats like CSV, JSON, and HTML tables.
  • Inspired by Django Admin and Drupal Views — aiming to simplify data listing and export tasks.

Key use cases: customized dashboards, specialized listings, data exports — all built faster and more reliably.

Repository: github.com/DataShades/ckanext-collection

🛠️ See What’s Happening Inside CKAN — No Server Access Needed: ckanext-selfinfo

Presented by: Yan Rudenko (Link Digital)

What it does:
Need to debug or monitor your CKAN instance but don’t have backend access? This extension gives you system info, logs, errors, and more — directly in the UI.

  • Displays system info: OS, Python version, CKAN version, installed extensions.
  • Monitors RAM usage and top processes live.
  • Lists CKAN actions, helpers, and blueprints (even identifies missing docstrings).
  • Provides package management insights (pip freeze equivalent from the UI).
  • Captures and displays CKAN internal errors stored in Redis.
  • Offers an API for accessing this diagnostic information remotely.

Future plans: job status monitoring, notifications (e.g., RAM alerts), and more.

Repository: github.com/DataShades/ckanext-selfinfo

Recording

The full recording is available on CKAN’s YouTube channel.

This CKAN Monthly Live session once again showcased the remarkable innovation happening across the CKAN community. Each extension addresses a real-world problem — from security and scalability to maintainability and usability.


Want to present?

Want to present at CKAN Monthly Live? Fill out this form and we'll contact you or write an email to yoana.popova@datopian.com

Subscribe to the CKAN Monthly Newsletter

Get it on LinkedIn or in your INBOX: Subscribe here.

Follow us on LinkedIn to stay updated