CKAN 2.12 has been officially released. The potentially final release in the 2.x series delivers improvements to file management, DataStore performance, and the user interface, while laying the architectural groundwork for CKAN 3.0.
We are proud that Link Digital’s CKAN experts contributed directly to several of the features in this release.
A major change is how CKAN 2.12 handles files. With the upgrade, files in CKAN are no longer tied to resources but are now independent, trackable entities that can be managed on their own, with support for multiple storage backends used side by side.
With the new file management features, files are no longer just a resource field in CKAN, said Sergey Motornyuk, a Link Digital Senior Solutions Architect, who worked on and managed the 2.12 release. They are now completely independent from resources, which opens up possibilities for building brand new workflows
Then and Now: File Management
On top of this, the functionality is built in a backend-agnostic way. Whatever is implemented on one underlying storage, such as Google Drive, can switch effortlessly to another supported backend, such as AWS S3, a local file system, or a SQL database.
Faster downloads for large datasets
CKAN 2.12 introduces advanced filters for the DataStore API, enabling faster large dataset downloads and complex queries.
DataStore advanced filtering enables massive performance improvements for the DataStore dump interface, meaning much faster CSV downloads, said Ian Ward, another of our Senior Solutions Architects who worked extensively on CKAN 2.12. The end result is that it is faster and easier to work with data stored in CKAN.
The new filtering feature dramatically speeds up exporting data to spreadsheet (CSV) files, even when the datasets are very large, by up to x15 times. A 13-million-record dataset used to take around 30 minutes to download and sometimes timed out. In CKAN 12.2, that same download takes about two minutes. This means you can do much more with CKAN’s basic out of the box functionality, without having to use specialist tools.
The upgrade supports many queries that before 2.12 required datastore_search_sql – an advanced API endpoint for CKAN. This was an issue because some site owners don’t want SQL queries enabled. It also allows the deletion of multiple records, including ranges and logic operations, in a single API call.
Many types of data searches previously required a separate, more advanced database query tool. From 2.12, you can run those searches through the standard interface instead. This matters because some organisations deliberately keep that advanced tool switched off for security reasons, and they no longer must give up those capabilities to stay secure.
Then and Now: Keyset Pagination
Key to increased speed is the work done on keyset pagination solution and dataset optimisation features. CKAN 2.12’s keyset pagination engine replaces legacy offset pagination by using record IDs as bookmarks. Rather than scanning millions of preceding rows, the database jumps directly to the target location.
This basically came out of client’s feedback regarding that they have issues with big files having 15 million records in them, said Yan Rudenko, CKAN Lead Developer at Link Digital.
CKAN 2.12’s keyset pagination solution replaces legacy offset pagination by using record ID as bookmarks. Rather than scanning millions of preceding rows, the database jumps directly to the target location. This maintains constant iteration speeds across multi-million-record tables, resulting in faster downloads and eliminating export timeouts.
Easier bulk clean-up
CKAN 2.12 allows you to delete many records at once, including whole ranges or records that meet certain conditions, all in a single step rather than removing them one at a time.
This new filter interface is also a preview of a planned generic filter interface for searching across not only DataStore records but all the things CKAN stores, said Ward.This includes files, users, groups, organizations, datasets, activities, etc.
The New Advanced DataStore Filtering
Advanced filters let you combine several conditions to pinpoint exactly the records you want. You can group conditions together and mix ‘all of these must be true’ (AND) with ‘any of these can be true’ (OR), including groups nested inside other groups for more detailed rules.
You can also filter by number ranges, such as finding values that are below, above, or equal to a certain amount. The CKAN team has indicated that, in future, plugins will be able to add their own operations for any of the supported DataStore field types. More information and examples related to this can be found here.
Front-end modernisation
CKAN 2.12 delivers a major front-end modernisation by embedding HTMX into its core architecture to replace heavy legacy JavaScript and jQuery pipelines with lightweight, hypermedia-driven interactions. The transition to HTMX dramatically reduces network payload sizes, cuts page latency, and lowers browser resource demands.
Additionally, this modernisation introduces fresh default styling options, such as an opt-in Midnight Blue layout, and establishes the WCAG 2.2 accessibility foundation for the upcoming CKAN 3.0 theme update.
Ward played a central role in this front-end evolution, spearheading the architectural adoption of HTMX, while Motornyuk and Rudenko supported the integration of HTMX fragments within file management workflows.
Security fixes and patch releases
Beyond the headline features, CKAN 2.12 itself includes numerous underlying security and architectural improvements that harden the platform.
Alongside 2.12.0, the CKAN team also released updates for the older 2.11.x and 2.10.x versions that fix a number of security issues (including cross-site scripting and SQL injection). If left unaddressed, these issues could put a portal or its data at risk. Only the most recent update for each version includes these fixes, so older installations stay exposed until they are upgraded.
If your portal runs on one of these versions, we recommend upgrading as soon as possible to keep it protected. This is also the final update for the 2.10.x version, which means it will receive no further security fixes, so moving to a newer version now is strongly recommended.
Examples of Security and Stability Dashboard
Planning your upgrade?
CKAN 2.12 is the recommended stepping stone toward CKAN 3.0. If you would like help planning or performing your upgrade, get in touch with Link Digital: linkdigital.com.au/get-in-touch
With diverse professional experience in global and multinational organisations, Kate brings a wealth of knowledge to her role as CMO at Link Digital.
An active member of the CKAN community.