跳转到主要内容

为数据集创建URL别名的扩展

项目描述

Tests

此扩展允许您为数据集创建URL别名。例如,如果您有一个名为 my-dataset 的数据集,它可以通过类似 https://your-domain/dataset/my-dataset 的URL访问。现在您可以添加多个别名,这些别名将重定向用户到数据集。

创建和管理别名很容易。有两种创建别名的方法。

  1. 如果启用 ckanext.alias.autosave_alias 配置选项,则别名可以自动创建。(请参阅下面的配置设置部分)自动创建仅在新的 name 与之前的不同时才会触发。Alt Text
  2. 您可以通过数据集创建/编辑表单手动创建别名。Alt Text

需求

此扩展仅与CKAN 2.10.1 进行了测试,并且可能不会在低于 2.10 的版本上工作。此外,该扩展依赖于 ckanext-scheming 来将 alias 字段添加到模式中。没有scheming它将无法工作。如果您不知道它是什么以及如何使用它,请检查其存储库

安装

  1. 使用 pip 安装扩展:pip install ckanext-alias
  2. alias 添加到您的CKAN配置文件中的 ckan.plugins 设置。

向架构中添加 alias 字段

ckanext-alias 需要调整数据集架构,以添加一个将存储所有信息的别名字段。该扩展提供了多个预设,您可以使用这些预设轻松调整架构。

  1. 添加预设 scheming.presets = ckanext.alias:presets.yaml

  2. 打开您的架构。您必须编辑 name 字段并添加一个新的 alias 字段

    - field_name: name
      preset: dataset_alias_slug
    
    - field_name: alias
      preset: dataset_alias
    
    • 别名字段名称必须与 ckanext.alias.alias_fieldname 相同。
    • 检查 presets.yaml 文件以详细了解预设。
    • 如果您的 name 字段之前已被修改,您不需要使用 dataset_alias_slug 预设。只需将 name_doesnt_conflict_with_alias 验证器添加到您的列表中。

配置设置

该扩展提供了一些配置选项来自定义它。

# 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

开发者安装

要为开发安装 ckanext-alias,激活您的 CKAN 虚拟环境并执行

git clone https://github.com/mutantsan/ckanext-alias.git
cd ckanext-alias
python setup.py develop
pip install -r dev-requirements.txt

测试

要运行测试,请执行

pytest --ckan-ini=test.ini

许可证

AGPL

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。

源分布

ckanext-alias-1.0.1.tar.gz (22.0 kB 查看哈希值)

上传时间

构建分布

ckanext_alias-1.0.1-py3-none-any.whl (23.2 kB 查看哈希值)

上传时间 Python 3

支持者