Skip to main content

An extension to create URL aliases for datasets

Project description

Tests

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.

  1. An alias could be created automatically, if the ckanext.alias.autosave_alias config option in enabled. (see Config settings section below) Alt Text The automatic creation will be triggered only if the new name differs from the previous one.
  2. An alias could be created manually via dataset create/edit form. Alt Text

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

  1. Use pip to install an extension: pip install ckanext-alias
  2. Add alias to the ckan.plugins setting 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.

  1. Add presets scheming.presets = ckanext.alias:presets.yaml

  2. Open you schema. You have to edit name field and add a new alias field:

    - field_name: name
      preset: dataset_alias_slug
    
    - field_name: alias
      preset: dataset_alias
    
    • The alias field name must be the same as ckanext.alias.alias_fieldname.
    • Check presets.yaml file to see the presets in details.
    • If your name field was altered before, you don't have to use the dataset_alias_slug preset. Just add the name_doesnt_conflict_with_alias validator to list of yours.

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

AGPL

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ckanext_alias-1.0.11.tar.gz (23.6 kB view details)

Uploaded Source

Built Distribution

ckanext_alias-1.0.11-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

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

Hashes for ckanext_alias-1.0.11.tar.gz
Algorithm Hash digest
SHA256 478dd7777b50dd8804a570f38827b792019a7e693ca4e456f197ef4d10928ff9
MD5 13274e96944f2718d25e3221f7cc8bd8
BLAKE2b-256 b4993557d4a65f1c6a2c4b2da1d576e129d17f0abace97383fdaed0aa5c6c6fe

See more details on using hashes here.

File details

Details for the file ckanext_alias-1.0.11-py3-none-any.whl.

File metadata

File hashes

Hashes for ckanext_alias-1.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 0add5270373baba73f84a93182501df9c89c24760ab3cac240b698bce429c34f
MD5 fbaa16b5964881e7229e907df28d1d3c
BLAKE2b-256 fe62766496a744070ceaa810e558f5a22cdcd32db09a200317d8e7d9fe217a70

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page