跟踪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第三方库


热门话题
在通过REST Api发送之前,java是否会操纵map中键的顺序?   java实时代码编译?   java在尝试使用JavaFX制作东西时获得0xC0000409   java截图并返回servlet?   java哪个用户认证集成安全性?   SpringJavaMailSender和MS Exchange:java。lang.noclassdeffounderror:com。太阳邮政uti。邮件记录器   Linux上的Java小程序无法获得权限   java如何获得一行(范围)中字符串的组合?   媒体播放器的java意图过滤器(Youtube视频播放)   java如何明确地确定文件是否不是我想要的类型?   Java 8中并发异步方法后跟并行执行方法