简单的Plone统计随着时间的推移

时间:2016-11-29 13:02:29

标签: plone plone-5.x

我想评估一下我的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脚本,但我正在研究它。

2 个答案:

答案 0 :(得分:2)

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

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

虽然没有开箱即用的方式来收集或显示这些统计数据。

答案 1 :(得分:1)

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

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

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

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

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

(我只在4.3.x / Archetypes上检查了这个,但我认为只要它仍然使用portal_catalog,它就没有理由不能用于5.x / Dexterity。)