跳转到主要内容

支持数据集不同版本的CKAN扩展

项目描述

此CKAN扩展增加了对数据集不同版本的支持。有时需要存储和显示数据集的不同版本,例如在人道主义危机期间每日情况报告式的地图。

此插件提供了一种操作 dataset_version_create,例如

toolkit.get_action('dataset_version_create')(
    context, {
        'id': dataset['id'],
        'base_name': base_name,
        'owner_org': owner_org
    }
)

插件通过创建具有最小元数据和资源的基本数据集来内部表示数据集版本。为每个版本创建一个子数据集。

dataset_version_create 将在 base_name 指定的数据集和 id 指定的数据集之间创建父子关系。如果 base_name 指定的数据集不存在,则将创建它。

请注意,此插件覆盖了CKAN的 package_show 操作。原始的 package_show 作为 ckan_package_show 提供。

对于具有不同版本的数据集,覆盖的 package_show 将返回

  • 如果指定了父名称或ID,则返回数据集的最新、公共、活动版本

  • 如果指定了子名称或ID,则返回数据集的特定版本

版本排序由数据集元数据中 version 的整数值确定。

此外,package_show 将返回一个包含所有活动版本名称和URL的列表,这些列表作为字典中的 _versions

该插件提供模板,可以列出与当前查看的数据集版本相同的版本,并在用户查看数据集旧版本时发出警告。

要求

此插件不能“即插即用”。您需要编写代码来调用 dataset_version_create 动作。在 https://github.com/aptivate/ckanext-mapactionimporter 可找到特定于站点的示例。

已知此插件与 CKAN 2.5.2 兼容,但请注意,删除具有关系的数据集时存在问题。请参阅

安装

要安装 ckanext-datasetversions

  1. 激活您的 CKAN 虚拟环境,例如

    . /usr/lib/ckan/default/bin/activate
  2. 将 ckanext-datasetversions Python 包安装到您的虚拟环境中

    pip install ckanext-datasetversions
  3. datasetversions 添加到您的 CKAN 配置文件中的 ckan.plugins 设置(默认情况下,配置文件位于 /etc/ckan/default/production.ini)。

  4. 重新启动 CKAN。例如,如果您在 Ubuntu 上使用 Apache 部署了 CKAN

    sudo service apache2 reload

配置设置

开发安装

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

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

运行测试

要运行测试,请执行

nosetests --nologcapture --with-pylons=test.ini

要运行测试并生成覆盖率报告,首先确保您已在虚拟环境中安装了 coverage(pip install coverage),然后运行

nosetests --nologcapture --with-pylons=test.ini --with-coverage --cover-package=ckanext.datasetversions --cover-inclusive --cover-erase --cover-tests

在 PyPI 上注册 ckanext-datasetversions

ckanext-datasetversions 应在 PyPI 上作为 https://pypi.python.org/pypi/ckanext-datasetversions 提供。如果该链接无法工作,则可以按照以下步骤首次在 PyPI 上注册项目

  1. 创建项目的源分布

    python setup.py sdist
  2. 注册项目

    python setup.py register
  3. 将源分布上传到 PyPI

    python setup.py sdist upload
  4. 使用来自 setup.py 文件的版本号在 GitHub 上标记项目的第一个版本。例如,如果 setup.py 中的版本号是 0.0.1,则执行

    git tag 0.0.1
    git push --tags

发布 ckanext-datasetversions 的新版本

ckanext-datasetversions 在 PyPI 上作为 https://pypi.python.org/pypi/ckanext-datasetversions 提供。要发布新版本到 PyPI,请按照以下步骤操作

  1. 更新 setup.py 文件中的版本号。有关如何选择版本号的说明,请参阅 PEP 440

  2. 创建新版本的源分布

    python setup.py sdist
  3. 将源分布上传到 PyPI

    python setup.py sdist upload
  4. 使用来自 setup.py 文件的版本号在 GitHub 上标记项目的新的发布版本。例如,如果 setup.py 中的版本号是 0.0.2,则执行

    git tag 0.0.2
    git push --tags

项目详情


下载文件

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

源分布

ckanext-datasetversions-1.0.1.tar.gz (11.9 kB 查看散列

上传时间

由以下支持