跟踪您Plone站点上的用户行为。
项目描述
简介
slc.clicktracker将跟踪javascript注入到标记的页面中。该javascript随后会回调,以便我们能够跟踪哪些用户正在查看哪些页面。这个基本用例是为了确保在会议中投票反对某项文件之前,组织内的人实际上已经阅读了该文件。
为什么选择JavaScript?它不会在页面加载时引入延迟,而是将统计数据的收集推迟到页面加载后的异步过程。它还确保从真实浏览器收集统计数据,从某种意义上说更为准确,它仅在页面成功渲染到客户端后才注册有效负载。当然,很容易避免被记录,但目的是检查积极证据,即阅读过它的人。
可插拔存储层
存储层被设计成可插拔的。要实现存储,需要实现IClickStorage接口。这基本上需要实现两个方法,logAccess(将数据放入存储)和getLog(从存储中检索数据)。存储层使用ZCML注册为一个实用工具。
此产品附带一个现有的存储组件,该组件使用Postgresql。这种实现的思路是为了避免频繁写入导致的zodb膨胀。
在内容上禁用跟踪
要禁用视图的跟踪,请在生成任何内容之前,在请求早期使用IContentIsIgnored标记请求。
配置
Postgresql配置存储在Plone注册表中。在Plone控制面板(网站设置)中有一个配置小部件,您可以在其中设置连接到数据库服务器的DSN。DSN的格式如psycopg2手册中所述(http://initd.org/psycopg/docs/)。
数据库初始化
创建用于跟踪目的的新数据库后,您需要激活该数据库的plpgsql语言。然后,将sql/db.sql加载到您刚刚创建的数据库中。这包含所有表定义以及执行实际工作的存储过程。为了方便使用,还有一个GenericSetup步骤来自动化此过程。下面提供了一个示例。
示例Postgresql配置
其他数据库的用户经常难以理解Postgresql的认证。以下是一个简单的分步指南,说明如何配置基于Debian的Linux发行版的标准(与Debian发行版一起提供的)Postgresql安装的slc.clicktracker。
0. 如果您尚未安装,则需要安装postgresql。您还需要开发头文件。要在Debian/Ubuntu机器上执行此操作,请输入:
sudo apt-get install postgresql libpq-dev
成为postgresql用户
sudo -u postgres -i
登录到template1数据库
psql template1
3. 创建一个用户和一个跟踪数据库。用户需要与运行zope的系统用户同名。以下是一个名为zope的用户示例会话
template1=# create user zope; CREATE ROLE template1=# create database tracking owner zope; CREATE DATABASE template1=# q
将plpgsql语言安装到您的数据库中
createlang plpgsql tracking
5. 在您的Plone网站上,转到网站设置,点击跟踪设置,然后使用DSN配置slc.clicktracker
dbname=tracking
6. 现在,转到portal_setup,单击导入选项卡,然后从下拉菜单中选择“slc.clicktracker数据库设置”,并导入所有步骤。
就是这样。默认安装的Postgresql使用“ident”认证,这意味着无需指定用户名和密码,只需要数据库的名称即可。
注意:如果postgresql安装在除localhost以外的主机上,或者在默认不设置ident认证的发行版上运行,或者在Windows上运行,上述内容将不起作用。在这种情况下,请参阅postgresql文档以获取有关pg_hba.conf文件的详细信息,并参阅psycopg2文档以获取有关dsn的详细信息。
变更日志
0.4 (2016-09-29)
错误修复
使clicktracker-callback在任何上下文中可调用。[ale-rt]
0.3 (2012-03-26)
MANIFEST.in中的错误修复。[jcbrand]
0.2 (2012-03-23)
添加MANIFEST.in。[jcbrand]
0.1 (2012-03-22)
初始发布
项目详情
slc.clicktracker-0.4.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 56692c91291849b798e23e602ab58676c2f5270b8b8af14b9c1d77f08b563af7 |
|
MD5 | 935e59074a628dad759f4ec61086d067 |
|
BLAKE2b-256 | 082fa6ff60dac4b51d50dc803831bd4e8c7a0cd79a3fb864447c88755fafadb8 |