DKAN 1.14 Release notes

Read up on the latest release of DKAN, 1.14! While not nearly as big as the previous DKAN point release, 1.13, it brings a number of useful new features and improvements, as well as some important bug fixes. The primary focus of this release is on

  1. Improvements and fixes to data visualizations and previews, and
  2. Refinement of the Harvester functionality introduced in 1.13.

For a full, detailed list of changes in this release, please consult the CHANGELOG.

What’s New

DKAN Harvest

In 1.13, the Harvester would run an entire migration as a single “step” in the web UI, which resulted in timeouts and memory errors on sources with more than a few dozen datasets. When run from the UI, the Harvester now better leverages Drupal’s [Batch API] to process the migrations in 5-dataset “chunks.” You’ll notice more incremental progress on the status bar that appears while a source is being harvested, and hopefully even the largest sources will complete without exhausting server resources.

A Topics field has also been added to harvest source nodes. When this field contains one or more of the topics from your data catalog, those topics will be applied to every dataset that is harvested from the source. Additionally, the way the Harvester handles resource nodes has been improved and better-documented.

The error messages from the Harvester when filter values are not not present on the source’s items have been made clearer.

Visualization Entity Charts

We’ve made some small but significant improvements to the chart creation experience. Help text is now available for all fields on the chart configuration form, accessed by clicking on a small ”?” icon beside the field. Additionally:

  • The chart type selection now includes a descriptive name of the chart type (rather than just an image).
  • Tick values for axes are validated so that values which would result in an unreadable chart are rejected.
  • We now use relative paths for file URLs and set the X-Frame headers to allow easier embedding of charts on external websites.
  • Support for values with commas for thousands separators

Dataset Previews

  • Tab delimiters and TSV files are now supported for previews.
  • Embedded previews no longer show the Grid/Graph/Map tabs.
  • Help text has been added to explain the pager buttons on data previews.

Datastore

  • Tab delimiters and TSV files are now supported for Datastore import.
  • An inconsistency in how the limit (by default, 100 records) on Datastore API requests is applied to results was corrected.
  • A bug in the “fast import” method which occasionally led to files being imported to the datastore without dropping the existing records (causing the tables to balloon in size after several consecutive imports of the same file) has been fixed.
  • Developer’s note: A hook has been added to the Datastore API module to allow altering the fields excluded (see example).

Open Data Schema Mapper

The ODSM module includes a “filecache” system that writes certain open data endpoints to static files on disk rather than generating them on every page request (which is unusably slow on larger sites). A new column on the ODSM main configuration page displays the filecache status of each endpoint and gives the user the ability to generate or delete each cache.

A bug on the mapping for the “language” field in Project Open Data (data.json) that caused many catalogs to fail validation has been fixed.

Workflow

Drafts that were submitted to an editor and then rejected under workflow would never return to the “My Drafts” screen of the original submitter, meaning a contributor could never act on an editor’s feedback. This has been fixed.

Administration Views

DKAN now includes the Administration Views module, which replaces Drupal’s under-powered default content and user administration pages with more powerful, filterable and searchable versions.

Upgrade notes

Upgrades to this release should be fairly straightforward – it’s a much lower-impact update than version 1.13 was. One note: previous upgrades may have failed on an update to the Search API module. This version contains a patch to avoid this error.