Extension URL aliases for datasets


Extension Basics

Title
URL aliases for datasets
Name
ckanext-alias
Type
Public extension
Description
Create and manage URL aliases for datasets with automatic or manual alias creation
CKAN versions

~2.10

Show details

These CKAN Versions are exactely matched:

Download-Url (zip)
Download-Url commit date
2023-01-01
Url to repo
Category
Specialized Tools


Background Infos

Description (long)
Show details

This extension enables creation of URL aliases for CKAN datasets, allowing multiple URLs to access the same dataset. For example, a dataset named ‘my-dataset’ accessible at ‘/dataset/my-dataset’ can have additional aliases that redirect users to the dataset. Features include: automatic alias creation when dataset name changes (configurable), manual alias creation via dataset create/edit form, multiple aliases per dataset, URL redirect functionality, integration with ckanext-scheming for alias field, configurable dataset types support, customizable alias field name, presets for easy schema integration (dataset_alias_slug, dataset_alias), name_doesnt_conflict_with_alias validator to prevent conflicts. Requires CKAN 2.10+ and ckanext-scheming. Tested with CKAN 2.10.1. Production stable. Python 3.8-3.10 compatible. AGPL licensed.

Version
1.1.0
Version release date
2023-01-01
Contact name
DataShades
Contakt email
Contact Url
(not set)


Installation Guide

Configuration hints

Install via pip:

pip install ckanext-alias

Enable the plugin:

ckan.plugins = alias

Requires ckanext-scheming to be installed and configured.

Add presets to scheming configuration:

scheming.presets = ckanext.alias:presets.yaml

Adjust dataset schema to include alias field:

  1. Edit ‘name’ field:

    • field_name: name preset: dataset_alias_slug
  2. Add ‘alias’ field:

    • field_name: alias preset: dataset_alias

Note: If ‘name’ field was previously customized, just add the ‘name_doesnt_conflict_with_alias’ validator instead of using the preset.

Configuration options:

Specify dataset types that support aliases (optional, default: dataset)

Each type’s schema must contain an alias field

ckanext.alias.dataset_types = dataset project

Specify alias field name in dataset schema (optional, default: alias)

Schema must contain this field for extension to work

ckanext.alias.alias_fieldname = pkg_alias

Enable automatic alias creation on dataset update (optional, default: false)

Creates alias automatically when dataset name changes from previous value

ckanext.alias.autosave_alias = true

Alias creation methods:

  1. Automatic (if ckanext.alias.autosave_alias = true):

    • Triggered when dataset name changes
    • Previous name becomes an alias
    • Redirects old URL to new dataset name
  2. Manual:

    • Use alias field in dataset create/edit form
    • Add/remove aliases as needed
    • Multiple aliases per dataset supported

Available presets (in presets.yaml): - dataset_alias_slug: for ‘name’ field with conflict validation - dataset_alias: for ‘alias’ field

Validator: - name_doesnt_conflict_with_alias: prevents name conflicts with existing aliases

Requirements: - CKAN >= 2.10 - ckanext-scheming (required dependency)

Plugins to configure (ckan.ini)
alias
CKAN Settings (ckan.ini)
# ckanext.alias.dataset_types = dataset project # ckanext.alias.alias_fieldname = pkg_alias # ckanext.alias.autosave_alias = true
DB migration to be executed
(not set)
<< back to Extensions