An extension to create URL aliases for datasets
Project description
The extension allow you to create a URL aliases for datasets. For example, if you have a dataset with my-dataset name, it can be accessed via URL like that https://your-domain/dataset/my-dataset. Now you could add multiple aliases that will redirect user to the dataset.
Creating and managing aliases is easy. There are two ways to create an alias.
- An alias could be created automatically, if the
ckanext.alias.autosave_aliasconfig option in enabled. (see Config settings section below)The automatic creation will be triggered only if the new
namediffers from the previous one. - An alias could be created manually via dataset create/edit form.
Requirements
The extension has only been tested with CKAN 2.10.1 and will most likely not work with versions below 2.10.
Also, the extension relies on ckanext-scheming to add an alias field into schema. It won't work without scheming.
If you don't know what is it and how to use it, check its repo.
Installation
- Use
pipto install an extension:pip install ckanext-alias - Add
aliasto theckan.pluginssetting in your CKAN config file.
Add an alias field to schema
ckanext-alias requires adjusting a dataset schema, to add an alias field that will store all the information. The extension provides multiple presets, which you could use to easilly adjust the schema.
-
Add presets
scheming.presets = ckanext.alias:presets.yaml -
Open you schema. You have to edit
namefield and add a newaliasfield:- field_name: name preset: dataset_alias_slug - field_name: alias preset: dataset_alias- The
aliasfield name must be the same asckanext.alias.alias_fieldname. - Check
presets.yamlfile to see the presets in details. - If your
namefield was altered before, you don't have to use thedataset_alias_slugpreset. Just add thename_doesnt_conflict_with_aliasvalidator to list of yours.
- The
Config settings
The extension provides several configuration options to customize it.
# Specify a list of dataset types that is going to support aliases. Each specified dataset type schema
# must contain an alias field, otherwise, the extension isn't going to work (optional, default: dataset).
ckanext.alias.dataset_types = dataset project
# Specify an alias field name in dataset schema. The extension won't work, if the schema
# doesn't contain a specified field (optional, default: alias).
ckanext.alias.alias_fieldname = pkg_alias
# Specify whether a new alias will be created automatically on dataset update.
# If the name differs from the previous one, the alias will be created (optional, default: false).
ckanext.alias.autosave_alias = true
Developer installation
To install ckanext-alias for development, activate your CKAN virtualenv and do:
git clone https://github.com/DataShades/ckanext-alias.git
cd ckanext-alias
python setup.py develop
pip install -r dev-requirements.txt
Tests
To run the tests, do:
pytest --ckan-ini=test.ini
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ckanext_alias-1.0.11.tar.gz.
File metadata
- Download URL: ckanext_alias-1.0.11.tar.gz
- Upload date:
- Size: 23.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
478dd7777b50dd8804a570f38827b792019a7e693ca4e456f197ef4d10928ff9
|
|
| MD5 |
13274e96944f2718d25e3221f7cc8bd8
|
|
| BLAKE2b-256 |
b4993557d4a65f1c6a2c4b2da1d576e129d17f0abace97383fdaed0aa5c6c6fe
|
File details
Details for the file ckanext_alias-1.0.11-py3-none-any.whl.
File metadata
- Download URL: ckanext_alias-1.0.11-py3-none-any.whl
- Upload date:
- Size: 25.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0add5270373baba73f84a93182501df9c89c24760ab3cac240b698bce429c34f
|
|
| MD5 |
fbaa16b5964881e7229e907df28d1d3c
|
|
| BLAKE2b-256 |
fe62766496a744070ceaa810e558f5a22cdcd32db09a200317d8e7d9fe217a70
|