跳转到主要内容

CKAN组织层次结构 - 模板和配置

项目描述

Travis CI status

Latest version on pypi

License

ckanext-hierarchy - CKAN的组织和组层次结构

组织和组可以按树形层次结构排列。

此扩展程序使用模板显示组织和组的新层次结构排列,而不是通常的列表:组织页面截图

在组织和组编辑表单上提供了一个新字段,用于选择父组织:组织编辑页面截图

在查看组织时,您可以在侧边栏中看到它在树中的上下文。此外,您还可以扩展组织数据集的搜索范围,包括子组织中的数据集:组织页面截图

技术细节

表单(hierachy_form插件)

  • /organization/new
  • /organization/edit/{id}
  • /group/new
  • /group/edit/{id}

模板(hierarchy_display插件)

  • /organization - 现在显示组织层次结构而不是列表
  • /organization/about/{id} - 现在也显示层次结构的相关部分
  • /group - 现在显示组层次结构而不是列表
  • /group/about/{id} - 现在也显示层次结构的相关部分

片段(由hierarchy_display和ckanext-scheming使用)

  • /scheming/form_snippets/org_hierarchy.html

您可以直接使用这个扩展程序与CKAN配合,启用两个插件。或者,如果您已经使用扩展程序对具有IGroupForm的表单进行了自定义,那么您可能只想使用hierarchy_display插件,并将hierarchy_form和/或hierarchy_group_form的某些部分复制到您的自己的程序中。如果您有自己的模板,则可以使用此扩展程序提供的代码片段(或逻辑函数)来显示树形结构。

为了使hierarchy与ckanext-scheming配合工作,您只需启用hierarchy_display,然后在您的org_schema或group_schema中使用相应的form_snippet。例如,您可能需要添加以下字段

{
    "field_name": "not_used",
    "label": "Parent organization",
    "display_snippet": null,
    "form_snippet": "org_hierarchy.html",
    "validators": "ignore_missing"
}

可选地,您还可以指定一个完整名称,并将字段'title'留给简称或缩写(更适合显示)。

{
    "field_name": "longname",
    "label": "Full Name",
    "validators": "ignore_missing unicode",
    "form_snippet": "large_text.html",
    "form_attrs": {"data-module": "slug-preview-target"},
    "form_placeholder": "My Organization full name",
    "display_snippet": null
}

待办事项

  • 使用JSTree使树形结构更美观

需求

此扩展程序需要CKAN v2.7或更高版本。

安装

要安装ckanext-hierarchy

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

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

    cd /usr/lib/ckan/default/src
    pip install -e "git+https://github.com/davidread/ckanext-hierarchy.git#egg=ckanext-hierarchy"
    pip install -r ckanext-hierarchy/requirements.txt
    
  3. hierarchy_displayhierarchy_form和/或hierarchy_group_form添加到您的CKAN配置文件中的ckan.plugins设置(默认配置文件位于/etc/ckan/default/production.ini)。请注意,hierarchy_display应位于hierarchy_form和hierarchy_group_form之前

    例如:

    ckan.plugins = stats text_view recline_view ... hierarchy_display hierarchy_form hierarchy_group_form
    
  4. 重新启动CKAN。例如,如果您已在Ubuntu上使用Apache部署了CKAN

     sudo service apache2 reload
    

配置设置

目前没有

测试

要运行测试,请执行:

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

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

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

发布ckanext-hierarchy的新版本

ckanext-hierarchy应可在PyPI上作为https://pypi.ac.cn/project/ckanext-hierarchy提供。要发布新版本到PyPI,请按照以下步骤操作

  1. setup.py文件中更新版本号。有关如何选择版本号的说明,请参阅PEP 440 <http://legacy.python.org/dev/peps/pep-0440/#public-version-identifiers>

  2. 确保您拥有最新版本的必需包

    pip install --upgrade setuptools wheel twine
    
  3. 创建新版本的源代码和二进制发行版

    python setup.py sdist bdist_wheel && twine check dist/*
    

    修复您遇到的任何错误。

  4. 将源代码发行版上传到PyPI

    twine upload dist/*
    
  5. 提交任何悬而未决的更改

    git commit -a
    
  6. 使用来自setup.py文件的版本号在GitHub上标记项目的新的发布版本。例如,如果setup.py中的版本号为0.0.1,则执行以下操作:

    git tag 0.0.1
    git push --tags
    

许可权和版权

此模块采用AGPLv3开放许可 - 请参阅LICENSE文件。

版权属于提交作者。2013-2017年的提交由@davidread所有,归英皇所有。

项目详情


下载文件

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

源代码发行版

ckanext-hierarchy-1.2.0.tar.gz (31.4 kB 查看哈希值)

上传时间 源代码

构建发行版

ckanext_hierarchy-1.2.0-py3-none-any.whl (36.5 kB 查看哈希值)

上传时间 Python 3

由...