如何为CKAN数据集启用API按钮?

时间:2014-01-06 05:35:30

标签: json api dataset ckan opendata

我已成功为CKAN网站添加了数据集。它还可以预览数据集。

以下是数据集的URL

testckan.com:5000/dataset/my-data1/resource/4c2647ca-a4ab-4d20-8119-5c3da9d4ae14

通过将api/rest/添加到URL,可以将数据集公开为JSON服务。

testckan.com:5000/api/rest/dataset/my-data1/resource/4c2647ca-a4ab-4d20-8119-5c3da9d4ae14

我想要做的就是添加一个按钮,以便用户可以将数据集视为JSON,而不是在用户友好的URL中输入。

我在

中看到了类似的按钮
http://data.gov.uk/dataset/bona-vacantia-estates-advertisements

在API&应用。请看下面的图片。

enter image description here

如何为上述CKAN数据集启用API按钮?

2 个答案:

答案 0 :(得分:3)

您必须修改包(也称为数据集)视图的前端模板。您可以将此更改添加到您自己的CKAN源代码副本中,或者像Hendrik提到的那样和data.gov.uk已经完成,创建CKAN extension来修改模板。

此功能的示例是针对data.gov.uk网站实施的,该网站是开源的,可在GitHub中找到。具体部分位于read_common.html

<b>API: </b><a href="${h.url_for(controller='api', register='package', action='show', id=c.pkg.name, ver='2')}">
${h.url_for(controller='api', register='package', action='show', id=c.pkg.name, ver='2')}
</a>

url_for function来自ckan.lib.helpers模块,根据CKAN文档,“模板可用作'h'”,因此您应该能够直接在模板中使用它,就像在上面的代码。

答案 1 :(得分:1)

AFAIK不具备CKAN本身的功能,因此无法启用。但是,您可以在扩展中轻松添加它。