ClickLog is an add-on for BibSonomy to detect and log user interaction on every BibSonomy webpage. Every time a user clicks on an anchor within a page, Clicklog recognises it and computes different values which it submits to a log server. First, the clicked anchor element itself will be parsed. The containing text element attributes are used to get values like anchor title, hyperreference and some id and class values to determine the area of this clicked link. Anchor tag in different areas like navigation, tag cloud, bookmark posts, and publication posts have different class definitions. Next, the position of the anchor in a list of anchors will be determined for later analysis. Next to this, some other meta data will be logged. Date, current webpage location, useragent of webclient, username, sessionid, complete HTTP request header and at least the mouseposition while clicking the anchor in two xy-value-pairs. Mouse position in client window and position in document area, which are different, if user scrolls down in the document.
This server only stores data and does not analyse or aggregate data for evaluation. This task has to be done later on. In spring of 2009, approximately 70000 entries, this means stored clicks, with 115 million bytes are stored in the database per month.
Purpose of this module
- analyse user behaviour (for GUI optimization)
- Which groups of links are used?
- Do users use recommended tags?
- Do users click on tagcloud links?
- Do specific user or tags clicked more often than others? (using the post or the tag cloud)
- Are relations used and clicked?
- Are links clicked more often when they are in the visual range of the user?
- Do users use (new) features?
- Do users use BibSonomy to find new links?
id: 0 logdate: null dompath: A/LI/UL#tagbox/LI/UL#sidebar/DIV#sidebarroundcorner/DIV#main/BODY/HTML/ dompath2: A/LI.tagtiny/UL#tagbox.tagcloud/LI/UL#sidebar/DIV#sidebarroundcorner/DIV#main/BODY/HTML/ type: tagbox pageurl: http://localhost:8080/user/bugsbunny acontent: kassel anumberofposts: 19 ahref: /user/bugsbunny/kassel useragent: Mozilla/5.0 (X11; U; Linux i686; de; rv:188.8.131.52) Gecko/2009030422 Ubuntu/8.10 (intrepid) Firefox/3.0.7 username: bugsbunny sessionid: 8B2A945262D7B37404F95AC5D670EA80 host: localhost:8080 completeheader: host: localhost:8080 user-agent: Mozilla/5.0 (X11; U; Linux i686; de; rv:184.108.40.206) Gecko/2009030422 Ubuntu/8.10 (intrepid) Firefox/3.0.7 accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 accept-language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3 accept-encoding: gzip,deflate accept-charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 keep-alive: 300 connection: keep-alive content-type: application/x-www-form-urlencoded; charset=UTF-8 referer: http://localhost:8080/user/bugsbunny content-length: 414 cookie: JSESSIONID=8B2A945262D7B37404F95AC5D670EA80; _currUser=bugsbunny%207a026b72d845574a2d7950501a934960; _lPost=7561824122 pragma: no-cache cache-control: no-cache xforwardedfor: null windowsize: 1440 647 mousedocumentpos: 1215 522 mouseclientpos: 1215 408 listpos: 0 abmown: 0 referer: http://localhost:8080/
- logddate: Date of click
- dompath: DOM path with values of id attributes: A/LI/UL#tagbox/LI/UL#sidebar/DIV#sidebarroundcorner/DIV#main/BODY/HTML/
- dompath2: DOM path with values of id and class attributes: A/LI.tagtiny/UL#tagbox.tagcloud/LI/UL#sidebar/DIV#sidebarroundcorner/DIV#main/BODY/HTML/
- type: which area of page a user clicked. Generated from DOM path
- pageurl: Address of Webpage: http://www.bibsonomy.org/user/testuser
- acontent: Value of content area of an anchor element (displayd text of an anchor element)
- anumberofposts in tag cloud area this is the number, how often this tag was used before in different posts
- ahref: value of href attribute of cliked a element
- useragent: browser useragent
- username: username of logged in user
- sessionid: session id of logged in user
- host: header field
- completeheader of http connection
- xforwardedfor header field
- windowsize x,y values of size of client window with viewing area inside
- mousedocumentpos: x,y values of mouse position in client document (document area)
- mouseclientpos: x,y values of mouse position in client browser (viewing area)
- listpos: position of clicked anchor (tag) in displayed list of anchors (tags)
- abmown: post is users own post, has class bmown
- referer header field
How it works
- every click event will be analysed, if clicked element was an anchor, only these will be logged
- collect data
- use attributes and content of anchor element
- use informations about current page
- use informations about current mouse and windows positions
- compute DOM path to clicked element
- send collected data asynchronous to server in background
- retrieves data from client
- gets additional data from bibsonomy
- http-header of request
- cookie data
- compute and store data for later use
- computes abmown and type
- prepare data for string it into database
- store data into database