1 of 23

CKAN 2.7 & 2.8

Ian Ward

CKANconUS 2018

Oakland California

Photo by Alexandre Perotto on Unsplash

Motivation

End Users

Data Developers

Next Steps

2 of 23

Motivation

docs.ckan.org/en/changelog.html

Features

Support

3 of 23

Features

UI

Datastore

Permissions

Performance

4 of 23

Support

CKAN

Custom Theme

Metadata Schema

CMS

Publishing Workflow

Voting

SSO

Mapping Server

Multilingual

Fields

Custom

Validation

User Approval

Interactive

Visualizations

Datastore

Applications

Federation

Comments

Pylons VDM

5 of 23

Features for

End Users

BS3

Data Tables

Faster

Datastore

Data

Dictionary

Private SQL Search

6 of 23

BS3

BS2 Templates and JS Still Available

7 of 23

Data Tables

datatables.net

8 of 23

Faster Datastore

9 of 23

Data Dictionary

Column Comments in PostgreSQL�Customizable Fields

Title

Description

Import type

...

10 of 23

Private SQL Search

Private Datasets No Longer Hidden�More Secure Read-Only User

11 of 23

Features for

Data Developers

12 of 23

Background Tasks

Based on RQ�Smaller, simpler, direct DB access

13 of 23

Fine-Grained Dataset Permissions

IPermissionLabels plugin interface

14 of 23

Datastore Dump

Stream complete content (no fixed row limit)�CSV, TSV, XML, JSON formats�Excel-compatible option

15 of 23

Datastore Functions

PL/pgSQL�Defined by sysadmin/extension�Bypass SQL table permission checks

16 of 23

Datastore Triggers

High performance�Transform data�Enforce validation�Log changes�Works with database integrations

17 of 23

Datastore Full-text Trigger

Works with database integrations�Customize text search

18 of 23

Datastore Backends

IDatastoreBackend plugin interface

19 of 23

Next Steps

Auditing

Flask Migration

Wish List

Python 3

Source Compatible

20 of 23

Auditing Changes

Database (Model)

Automatic with VDM

Difficult Migration

Difficult Rotation

Revisions

Activities

API (Logical)

Manual

Easy Migration

Easy Rotation

21 of 23

Flask Migration

API

User

Dashboard

Feeds

Admin

Home

Dataset

Group

Organization

2.7

2.8

2.X

Flask

Pylons

Flask

Flask

Flask

Flask

Pylons

Pylons

Flask

22 of 23

Wish List

Plugin Extras

Combine plugins

Custom workflow

Easier management

Consistent across types

github.com/ckan/ckan/issues/4147

Integration Testing

CI with “high profile” extensions

Trigger remote tests

More

Integrations

Pandas

Jupyter Notebooks

API Improvements

Easier to use

Better defaults

Performance

Metadata updates

Auditing

Querying

CI to track performance

23 of 23

Thanks

BS3 - Viderum�Data Tables - Canada & OpenGov (Boston)�Faster Datastore - OpenGov (Boston & CNRA)�Data Dictionary - OpenGov (Boston)�Private SQL Search - OpenGov �Background Tasks - Karlsruhe�Fine-Grained Dataset Permissions - OpenGov (FI$Cal)�Datastore Dump - OpenGov (Boston)�Datastore Functions - Canada�Datastore Triggers - Canada�Datastore Full-text Trigger - OpenGov�Datastore Backends - Link Digital�Auditing Changes - Canada & OpenGov (informed by Open Letter to Open Data Community)�Flask Migration - Viderum & Link Digital

And the whole CKAN Community!

hack.allmende.io/ckan-meeting