跳转到主要内容

一个用于展示使用中的数据集的ckan扩展

项目描述

https://github.com/ckan/ckanext-showcase/workflows/Tests/badge.svg?branch=master https://codecov.io/gh/ckan/ckanext-showcase/branch/master/graph/badge.svg

ckanext-showcase

展示并链接到使用中的数据集。在应用程序、网站或可视化中使用的数据集,或在文章、报告或博客文章中介绍的数据集可以在CKAN网站上展示。展示可以包括图片、描述、标签和外部链接。展示可以包含多个数据集,帮助用户发现一起使用的相关数据集。展示可以通过搜索和按标签过滤来发现。

网站系统管理员可以将选定的用户提升为“展示管理员”,以帮助创建、填充和维护展示。

ckanext-showcase旨在成为“相关项目”功能的更强大替代品。

需求

在CKAN 2.7到2.10上进行了测试。

安装

要安装ckanext-showcase

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

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

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

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

    sudo service apache2 reload

开发安装

要安装 ckanext-showcase 以进行开发,请激活您的 CKAN 虚拟环境并执行以下操作:

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

该扩展包含一个 CKEditor 的自定义构建,允许使用 WYSIWYG 编辑器来编写展示内容。它使用 webpack 构建,且存储库中包含所有必要的文件,以便在需要时编辑和自定义它。

npm install
npx webpack --config webpack.config.js

webpack 将使用位于 ckanext/showcase/fanstatic/src/ckeditor.js 的文件作为入口点,创建构建并将其保存到 ckanext/showcase/fanstatic/dist/ckeditor.js

有关如何从源构建 CKEditor 的更多信息: https://ckeditor.npmjs.net.cn/docs/ckeditor5/latest/builds/guides/integration/advanced-setup.html#scenario-2-building-from-source

API

展示扩展中的所有操作都在 CKAN Action API 中可用。

展示动作

- create a new showcase (sysadmins and showcase admins only)
curl -X POST http://127.0.0.1:5000/api/3/action/ckanext_showcase_create -H "Authorization:{YOUR-API-KEY}" -d '{"name": "my-new-showcase"}'

- delete a showcase (sysadmins and showcase admins only)
curl -X POST http://127.0.0.1:5000/api/3/action/ckanext_showcase_delete -H "Authorization:{YOUR-API-KEY}" -d '{"name": "my-new-showcase"}'

- show a showcase
curl -X POST http://127.0.0.1:5000/api/3/action/ckanext_showcase_show -d '{"id": "my-new-showcase"}'

- list showcases
curl -X POST http://127.0.0.1:5000/api/3/action/ckanext_showcase_list -d ''

数据集动作

- add a dataset to a showcase (sysadmins and showcase admins only)
curl -X POST http://127.0.0.1:5000/api/3/action/ckanext_showcase_package_association_create -H "Authorization:{YOUR-API-KEY}" -d '{"showcase_id": "my-showcase", "package_id": "my-package"}'

- remove a dataset from a showcase (sysadmins and showcase admins only)
curl -X POST http://127.0.0.1:5000/api/3/action/ckanext_showcase_package_association_delete -H "Authorization:{YOUR-API-KEY}" -d '{"showcase_id": "my-showcase", "package_id": "my-package"}'

- list datasets in a showcase
curl -X POST http://127.0.0.1:5000/api/3/action/ckanext_showcase_package_list -d '{"showcase_id": "my-showcase"}'

- list showcases featuring a given dataset
curl -X POST http://127.0.0.1:5000/api/3/action/ckanext_package_showcase_list -d '{"package_id": "my-package"}'

展示管理动作

- add showcase admin (sysadmins only)
curl -X POST http://127.0.0.1:5000/api/3/action/ckanext_showcase_admin_add -H "Authorization:{YOUR-API-KEY}" -d '{"username": "bert"}'

- remove showcase admin (sysadmins only)
curl -X POST http://127.0.0.1:5000/api/3/action/ckanext_showcase_admin_remove -H "Authorization:{YOUR-API-KEY}" -d '{"username": "bert"}'

- list showcase admins (sysadmins only)
curl -X POST http://127.0.0.1:5000/api/3/action/ckanext_showcase_admin_list -H "Authorization:{YOUR-API-KEY}" -d ''

UI

展示扩展向用户界面添加以下页面:

  • 主展示索引在以下位置可用: http://127.0.0.1:5000/showcase

  • 要创建新的展示: http://127.0.0.1:5000/showcase/new

  • 要编辑或删除展示: http://127.0.0.1:5000/showcase/edit/{展示名称}

  • 要添加展示管理员: http://127.0.0.1:5000/ckan-admin/showcase_admins

配置

如果您想使用 WYSIWYG 编辑器而不是 Markdown 来编写展示内容

ckanext.showcase.editor = ckeditor

从 Markdown 到 HTML 迁移展示笔记

当使用 CKEditor 作为 WYSIWYG 编辑器时,展示笔记以 HTML 而不是 Markdown 存储起来。要将所有现有笔记从 Markdown 迁移到 HTML,可以使用 `showcase markdown_to_html` 命令。

ckanext-showcase 目录

paster showcase markdown-to-html -c {path to production.ini}

运行测试

要运行测试,请执行以下操作:

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

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

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

在 PyPI 上注册 ckanext-showcase

ckanext-showcase 应该在 PyPI 上作为 https://pypi.python.org/pypi/ckanext-showcase 提供。如果该链接不可用,则可以通过以下步骤首次在 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-showcase 的新版本

ckanext-showcase 在 PyPI 上作为 https://pypi.python.org/pypi/ckanext-showcase 提供。要向 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

i18n

参见:“扩展中的字符串国际化”:http://docs.ckan.org/en/latest/extensions/translating-extensions.html

  1. 安装 babel

    pip install Babel

  2. 为您的语言初始化目录

    python setup.py init_catalog -l es

  3. 编译语言目录(您可以使用-f选项强制pybabel编译标记为模糊的消息)

    python setup.py compile_catalog -f -l es

项目详情


下载文件

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

源分布

ckanext-showcase-1.5.1.tar.gz (202.1 kB 查看哈希值)

上传时间

由以下支持

AWSAWS 云计算和安全赞助商DatadogDatadog 监控FastlyFastly CDNGoogleGoogle 下载分析MicrosoftMicrosoft PSF赞助商PingdomPingdom 监控SentrySentry 错误日志StatusPageStatusPage 状态页