DKAN 1.18 Release notes

What’s new

Harvest Improvements

This release includes a light refactoring to separate harvest classes into separate files. It also adds performance enhancements in key areas:

  • Revisions: Each dataset will now get a single revision per harvest rather than a revision for each resource (distribution) specified in the dataset.
  • Parsing: Temporal value validation has been revised to check against all options specified in the Project Open Data metadata schema and will only be recorded if valid. Invalid values will no longer throw errors, instead they will be reported in the harvest error log.
  • Unavailable Source: Better handling of source urls when they are not actually json endpoints or blocked by 403 or 404 statuses.

Verifiable Downloads

This gives site admins the option of adding hashes to downloadable files. It adds the Filehash module (https://www.drupal.org/project/filehash) to the dkan build. It also applies two patches to the Filehash module. One adds SHA-512 to the available hash algorithms. The other adds the option of only hashing uploaded files.

If an administrator enables the module and selects one or more hash algorithms, a resource file’s hash(es) will be displayed below the file name on dataset pages and in the ‘Additional Information’ block on resource pages. The display consists of the name of the algorithm (e.g ‘md5’, ‘sha512’), followed by the hash in an input box. The box contains any overflow and makes it easy to copy the entire hash.

Easier Search Customization

The search index has been decoupled from the presentational code making it easier to swap in a custom index. This means that if you want to completely replace the “datasets” index and search page panels, you can disable the dkan_dataset_search module and replace with a custom module for your project, without needing to use features overrides.

Removal of deprecated modules

As the code evolves, some cruft has accumulated so this upgrade will be removing items no longer in use. This includes dkan_sitewide_roles_perms, feeds, feeds_field_fetcher, and feeds_flatstore_processor. Make sure you have run all updates up to 1.17.4 before installing this release, to ensure that all modules have been properly uninstalled.

Misc.

This update also includes bugfixes and contrib module updates.

Changelog

  • #3012 Prevent infinite loop in Harvest Source preview page
  • #3002 Add release script and Jenkinsfile
  • #2733 Decouple search from dkan_panels & other features
  • #2984 Remove feeds modules
  • #2985 Remove dreprecated dkan_sitewide_roles_perms module
  • #3004 Update contrib modules (facet_api, facet_api_bonus, file_entity, honeypot, link, media, media_youtube, panopoly_images)
  • #2995 Remove 404 redirect
  • #2968 Stop queuing dataset “log” and only do if > 1min
  • #2975 Add file hash option
  • #2983 Separate harvest classes into separate files and do some light cleanup
  • #3010 Update radix to 3.8
  • #3008 Add admin_views contrib module
  • #3007 Fix typo in dkan_datastore_proxy function
  • #3003 Improve validation for temporal values when harvesting
  • #2998 Move check for file size into the proxy function