Re: [xwiki-devs] [xwiki-users] How to track user activity?
Hi All, Thanks for the response. Activity Stream seems to be a great candidate for my purpose, but It doesn't log "view" events. However, I found it: http://jira.xwiki.org/browse/XWIKI-6450 I explored xwiki database scheme and I founded two tables: "xwikistatsvisit" and "activitystream_events". The first one, records view events, recording <user, ip, pages_viewed_counter, timestamp> but it doesn't save WHAT page. The second, records events <user, event, page, url, timestamp> but doesn't recognize VIEW as a event. Have any idea about how to merge this info by querys (if is possible)? Is possible append a column "page" or "url" to "xwikistatsvisits", so that I will see <user, timestamp, PAGE> ? Thanks! 2012/9/24 Sergiu Dumitriu <[email protected]>
On 09/20/2012 12:31 PM, Ezequiel Scott wrote:
Hello,
Since XWiki support user accounts, enabling visitors to create an account and sign in to the site, Can you tell me if It's possible with a little bit of effort track the activity of logged users? This can include recording activities such as what pages were visited as well as what actions were performed. May be it is possible implementing a plugin with Velocity or extracting the data from database. Have any idea how to do it?
Thanks!!
You can implement your own component [1] that listens [2] for action events [3]. You could then see what's the current user [4] and the current action [5] and do whatever you want with that information.
[1] http://platform.xwiki.org/**xwiki/bin/DevGuide/**WritingComponents<http://platform.xwiki.org/xwiki/bin/DevGuide/WritingComponents> [2] http://extensions.xwiki.org/**xwiki/bin/Extension/** Observation+Module+Local<http://extensions.xwiki.org/xwiki/bin/Extension/Observation+Module+Local> [3] https://github.com/xwiki/**xwiki-platform/blob/** 489f4f7c2d3dd6255f8f8ea32ffe8f**d98c9e5b57/xwiki-platform-** core/xwiki-platform-bridge/**src/main/java/org/xwiki/**bridge/event/** ActionExecutedEvent.java<https://github.com/xwiki/xwiki-platform/blob/489f4f7c2d3dd6255f8f8ea32ffe8fd98c9e5b57/xwiki-platform-core/xwiki-platform-bridge/src/main/java/org/xwiki/bridge/event/ActionExecutedEvent.java> [4] https://github.com/xwiki/**xwiki-platform/blob/** ff8bc0ee9f22f5e7f4ee0bab6d9437**f53e0b3f1f/xwiki-platform-** core/xwiki-platform-bridge/**src/main/java/org/xwiki/** bridge/DocumentAccessBridge.**java#L603<https://github.com/xwiki/xwiki-platform/blob/ff8bc0ee9f22f5e7f4ee0bab6d9437f53e0b3f1f/xwiki-platform-core/xwiki-platform-bridge/src/main/java/org/xwiki/bridge/DocumentAccessBridge.java#L603> [5] https://github.com/xwiki/**xwiki-platform/blob/** 79ec59265415fd89a8b251abe447e0**8b76de1f02/xwiki-platform-** core/xwiki-platform-bridge/**src/main/java/org/xwiki/**bridge/event/** AbstractActionExecutionEvent.**java#L65<https://github.com/xwiki/xwiki-platform/blob/79ec59265415fd89a8b251abe447e08b76de1f02/xwiki-platform-core/xwiki-platform-bridge/src/main/java/org/xwiki/bridge/event/AbstractActionExecutionEvent.java#L65>
-- Sergiu Dumitriu http://purl.org/net/sergiu/
______________________________**_________________ users mailing list [email protected] http://lists.xwiki.org/**mailman/listinfo/users<http://lists.xwiki.org/mailman/listinfo/users>
-- *Ezequiel Scott** * [email protected]
To add a "page" column to "xwikistatsvisit" would go against this table structure (granularity being for a time period and not for a specific view event), and I don't think you can come up to the granularity you want from existing tables ("xwikistatsdoc" also is of interest, but you would have to merge for a time period with no guarantee of knowing for sure which page is concerned). Maybe a simple (and dirty) solution would be to fine-tune logback.xml, to issue a log in a specific file for each "view" event (I don't even know if it's possible), with a csv-like format in order to be able to parse generated log file. But the best would be what is proposed by Sergiu IMO - would even be a re-usable component. Br, Jeremie 2012/9/24 Ezequiel Scott <[email protected]>:
Hi All,
Thanks for the response. Activity Stream seems to be a great candidate for my purpose, but It doesn't log "view" events. However, I found it: http://jira.xwiki.org/browse/XWIKI-6450 I explored xwiki database scheme and I founded two tables: "xwikistatsvisit" and "activitystream_events". The first one, records view events, recording <user, ip, pages_viewed_counter, timestamp> but it doesn't save WHAT page. The second, records events <user, event, page, url, timestamp> but doesn't recognize VIEW as a event. Have any idea about how to merge this info by querys (if is possible)? Is possible append a column "page" or "url" to "xwikistatsvisits", so that I will see <user, timestamp, PAGE> ?
Thanks!
2012/9/24 Sergiu Dumitriu <[email protected]>
On 09/20/2012 12:31 PM, Ezequiel Scott wrote:
Hello,
Since XWiki support user accounts, enabling visitors to create an account and sign in to the site, Can you tell me if It's possible with a little bit of effort track the activity of logged users? This can include recording activities such as what pages were visited as well as what actions were performed. May be it is possible implementing a plugin with Velocity or extracting the data from database. Have any idea how to do it?
Thanks!!
You can implement your own component [1] that listens [2] for action events [3]. You could then see what's the current user [4] and the current action [5] and do whatever you want with that information.
[1] http://platform.xwiki.org/**xwiki/bin/DevGuide/**WritingComponents<http://platform.xwiki.org/xwiki/bin/DevGuide/WritingComponents> [2] http://extensions.xwiki.org/**xwiki/bin/Extension/** Observation+Module+Local<http://extensions.xwiki.org/xwiki/bin/Extension/Observation+Module+Local> [3] https://github.com/xwiki/**xwiki-platform/blob/** 489f4f7c2d3dd6255f8f8ea32ffe8f**d98c9e5b57/xwiki-platform-** core/xwiki-platform-bridge/**src/main/java/org/xwiki/**bridge/event/** ActionExecutedEvent.java<https://github.com/xwiki/xwiki-platform/blob/489f4f7c2d3dd6255f8f8ea32ffe8fd98c9e5b57/xwiki-platform-core/xwiki-platform-bridge/src/main/java/org/xwiki/bridge/event/ActionExecutedEvent.java> [4] https://github.com/xwiki/**xwiki-platform/blob/** ff8bc0ee9f22f5e7f4ee0bab6d9437**f53e0b3f1f/xwiki-platform-** core/xwiki-platform-bridge/**src/main/java/org/xwiki/** bridge/DocumentAccessBridge.**java#L603<https://github.com/xwiki/xwiki-platform/blob/ff8bc0ee9f22f5e7f4ee0bab6d9437f53e0b3f1f/xwiki-platform-core/xwiki-platform-bridge/src/main/java/org/xwiki/bridge/DocumentAccessBridge.java#L603> [5] https://github.com/xwiki/**xwiki-platform/blob/** 79ec59265415fd89a8b251abe447e0**8b76de1f02/xwiki-platform-** core/xwiki-platform-bridge/**src/main/java/org/xwiki/**bridge/event/** AbstractActionExecutionEvent.**java#L65<https://github.com/xwiki/xwiki-platform/blob/79ec59265415fd89a8b251abe447e08b76de1f02/xwiki-platform-core/xwiki-platform-bridge/src/main/java/org/xwiki/bridge/event/AbstractActionExecutionEvent.java#L65>
-- Sergiu Dumitriu http://purl.org/net/sergiu/
______________________________**_________________ users mailing list [email protected] http://lists.xwiki.org/**mailman/listinfo/users<http://lists.xwiki.org/mailman/listinfo/users>
-- *Ezequiel Scott** * [email protected] _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
participants (2)
-
Ezequiel Scott -
Jeremie BOUSQUET