跟踪plone站点上的用户移动。

slc.clicktracker的Python项目详细描述


简介

clicktracker将跟踪javascript注入到标记的页面中。那个 然后javascript会回拨,以便我们可以跟踪哪些用户正在查看 什么页面。基本的用例是确保 组织实际上是在投票反对某个文件之前先阅读该文件的。 开会。

为什么是javascript?它不会延迟页面的加载,相反 将统计数据的收集推迟到 页面加载它还确保从真正的浏览器和 它在某种意义上更准确,它只在页面被 已成功呈现客户端。当然很容易避免被记录下来, 但这个想法是为了寻找确凿的证据,那些看过的人。

可插拔存储层

存储层被设计成可插拔的。实现所需的存储 实现IClickStorage接口这基本上需要 两种方法的实现,logAccess(将数据放入存储器)和 getLog(从存储器中检索数据)存储层注册为 使用zcml的实用程序。

这个产品带有一个使用PostgreSQL的现有存储组件。这个 这个实现背后的思想是避免由频繁的 写。

禁用内容跟踪

若要禁用视图的跟踪,请将请求标记为icontentisignored early 在请求期间,在生成任何内容之前打开。

配置

postgresl配置存储在plone注册表中。有一个 在PLONE控制面板(站点设置)中配置let,您可以在其中设置DSN 用于连接到数据库服务器。DSN的格式如 在http://initd.org/psycopg/docs/的psycopg2手册

数据库初始化

在创建用于跟踪的新数据库之后,需要激活 此数据库的PLPGSQL语言。然后应该将sql/db.sql加载到 新创建的数据库。它包含所有表定义和存储的 完成实际工作的过程。为了便于使用,还有一个 genericsetup步骤来自动执行此操作。下面是一个例子。

PostgreSQL配置示例

其他数据库的用户在理解postgresql的 身份验证。下面是一个简单的逐步配置指南 一个标准的slc.clicktracker(因为它是为基于debian的linux提供的 发行版)PostgreSQL安装。

0个。如果你还没有安装postgresql,你需要安装它。你也会 需要开发标题。要在debian/ubuntu机器上执行此操作,请键入:

sudo apt-get install postgresql libpq-dev
  1. 成为PostgreSQL用户:

    sudo -u postgres -i

  2. 登录到template1数据库:

    psql template1

三。创建用户和跟踪数据库。用户需要具有相同的名称 作为运行zope的系统用户。下面是一个名为 佐佩:

template1=# create user zope; CREATE ROLE template1=# create database tracking owner zope; CREATE DATABASE template1=# q
  1. 将plpgsql语言安装到数据库中

    createlang plpgsql tracking

5个。在plone站点中,转到站点设置,单击跟踪设置,然后配置 slc.clicktracker和DSN:

dbname=tracking

6.现在转到“门户设置”,单击“导入”选项卡,然后选择“SLC.ClickTracker” 从下拉列表中选择“数据库设置”,并导入所有步骤

就这样。上面提到的postgresql默认安装使用“ident” 身份验证,这意味着不需要指定用户名和 密码,它需要的只是数据库的名称。

注意:请注意,如果postgresql安装在主机上,上述操作将不起作用。 如果您运行的是未设置postgresql的发行版,则不是localhost 默认情况下,如果您运行的是Windows,则执行标识身份验证。在那里面 case,请参阅postgresql文档以获取有关t他 pg_hba.conf文件和psycopg2文档,以获取有关DSN的详细信息。

变更日志

0.4(2016-09-29)

错误修复:

  • 使ClickTracker回调可在任何上下文上调用。 [ALE RT]

0.3(2012-03-26)

  • 在manifest.in[jcbrand]中修复错误

0.2(2012-03-23)

  • 在[jcbrand]中添加manifest.in

0.1(2012-03-22)

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
空字符串检查在java中未按预期工作   JavaSpringWebClient:自动计算主体的HMAC签名并将其作为头传递   foreach是否有一个Java等效的foreach循环和一个引用变量?   java如何在Eclipse中导入jar   使用特定第三方或java时lombok触发错误。*方法或构造函数   安卓 java将对象数组转换为int数组   java使一定百分比的JUnit测试通过   java Android:将Seekbar的一个值与另一个值进行比较   java将int数组(图像数据)写入文件的最佳方式是什么   java取代了系统。yml的构造函数内的getProperty   sqlite Java将公钥和私钥转换为字符串,然后再转换回字符串   安卓获取白色像素并将其保存到java opencv中的数组中   java为什么是ServerSocket。setSocketFactory静态?   Java数组似乎在不直接修改的情况下更改值