为私有数据集启用 CKAN Activity 流?

Enable CKAN Activity streams for private datasets?

是否可以为私有数据集启用 activity 流?我一直在测试 activity 流仅针对 public 数据集显示。

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

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

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

有问题的代码是 activity_streams_session_extension.py。参见:

https://github.com/ckan/ckan/blob/0f145a54629287a6f7764b8fd73963bda62260ef/ckan/lib/activity_streams_session_extension.py#L91-L93

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

这是工作修复:

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

在此文件中,数据集被视为 "packages"。所以你只需要评论私有包的条件来自:

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

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

然后,重新加载 Apache 和 Nginx,就是这样!