0

我想评估我的 Plone 安装的一些统计数据,首先我想知道我的 Plone 的总页数如何随时间变化。

我查看了现有的 Plone 统计插件。不幸的是,Plone 5.0 没有。我让 quintagroup.analytics 运行。这个插件有有趣的指标,但并不能帮助我看到随着时间的推移的发展。

所以我开始自己编程。为了获得当前的页数,我计划使用这样的目录查询:

catalog = getToolByName(self.context, 'portal_catalog')
catalog.searchResults({'portal_type': 'Document'})
return len(results)

python 脚本应该由 cron 作业每小时运行一次,并将结果写入日志文件供我稍后评估。

我的问题是:有没有我没有看到的更简单的解决方案?我的解决方案会奏效吗?你在其中看到任何概念上的错误吗?我想知道互联网上没有更多类似的问题。人们对他们的 CMS 的指标不是很感兴趣,还是我忽略了一个明显的简单解决方案?目前解决方案还没有启动,因为我对 plone 插件的结构缺乏经验,尤其是调用 python 脚本,但我正在努力。

4

2 回答 2

2

如果您转到“站点设置”->“敏捷内容类型”,您可以看到您的站点中当前存在多少特定内容类型的对象,例如:

http://plonedemo.kitconcept.com/@@dexterity-types

但是,随着时间的推移,没有现成的方法来收集或呈现这些统计数据。

于 2016-11-29T13:19:41.247 回答
1

您可以使用目录本身提供的数据:

portal_catalog.Indexes['portal_type'].uniqueValues(withLengths=True)

为您提供所有类型的计数,作为(name, count)元组列表:

(('CaptchaField', 2), ('Collection', 2), ('Document', 676), ...

我没有仔细检查这是否可以避免搜索和搜索len结果,但如果您认为您可能对不止一种类型感兴趣,它比目录搜索更容易。

(我只在 4.3.x/Archetypes 上检查过这个,但我看不出它不能与 5.x/Dexterity 一起使用,只要它仍然使用 portal_catalog。)

于 2016-11-30T09:33:08.490 回答