【问题标题】:Enable CKAN Activity streams for private datasets?为私有数据集启用 CKAN 活动流?
【发布时间】:2015-09-12 20:12:48
【问题描述】:

是否可以为私有数据集启用活动流?我一直在测试,活动流仅针对公共数据集显示。

我检查了 /usr/lib/ckan/default/src/ckan/ckan/lib/activity_streams.py 文件,但找不到任何检查数据集是公共还是私有的行...我想也许删除该条件(如果存在)将解决我的问题。

我在 Azure 上使用 CKAN 2.3(按照以下步骤安装表单包:LINK)和 Ubuntu 12.04 64 位虚拟机。

希望你能帮我解决这个问题!

【问题讨论】:

  • 为什么要提醒人们对他们无法访问的数据集的更改?
  • 我使用 CKAN 作为不同团队的多个项目的数据集管理器。因此,所有数据集始终是私有的,因此用户只能看到他们有权访问的组织的数据集。这就是为什么我需要显示私人数据集的活动流,以告知每个私人组织的用户有关活动的信息。

标签: ckan activity-streams


【解决方案1】:

【讨论】:

  • 感谢您的回复!我注释了 activity_streams_session_extension.py 文件的第 91-93 行,然后重新启动了 apache 和 nginx,但它不起作用。私有数据集的活动流仍未显示...有什么想法吗?
  • 您是否在该数据集上创建了更多活动?它不会在您更改代码之前生成历史记录。
  • 是的,我一直在尝试新的活动,但是当数据集是私有的时,没有显示任何内容。还尝试创建一个公共数据集(它存储所有活动流),但是当我将其更改为私有时,它停止存储活动流。所有这一切都考虑到“activity_streams_session_extension.py”文件的第 91-93 行被注释(文件位置:/usr/lib/ckan/default/src/ckan/ckan/lib)
  • 我认为您需要评论 91-93 和 131-132 以涵盖所有情况。但是我没有很努力地阅读代码,也没有尝试过。
【解决方案2】:

我解决了这个问题。 D 阅读提案非常接近工作答案,但评论的行是错误的。尽管如此,我还是会给 D Read 一个 +1 以帮助查找文件。

这里是工作修复:

在位于 /usr/lib/ckan/default/src/ckan/ckan/libactivity_streams_session_extension.py 文件中(假设从源代码安装 CKAN 2.3),如果您希望 CKAN 存储活动流,即使数据集是私有的,只需注释第 131-132 行,如您所见 here

在此文件中,数据集被视为“包”。所以你只需要从以下位置注释私有包的条件:

# Don't create activities for private datasets.
if package.private:
    continue

# Don't create activities for private datasets.
#if package.private:
#    continue

然后,重新加载 Apache 和 Nginx 就可以了!

【讨论】:

  • 如果再增加一个条件来检查当前用户权限会更好。我的理解是,如果您是系统管理员,即使包是私有的,您也应该能够查看所有内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多