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:
Edit ‘name’ field:
- field_name: name
preset: dataset_alias_slug
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:
Automatic (if ckanext.alias.autosave_alias = true):
- Triggered when dataset name changes
- Previous name becomes an alias
- Redirects old URL to new dataset name
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)