Although you confused me by mentioning Solr/ES stats

I am a bit confused myself. It would help if I looked into how these things work before I say any more—minimize the damage. 


On Oct 30, 2012, at 6:28 PM, helix84 <>

Dňa 31.10.2012 0:07, "Ingram, William A" <> napísal(-a):
> Nevertheless, I would be very surprised if most, if not all, of a solution for 1.x couldn't be easily ported to 3.x. I have not had a chance to thoroughly dig into the 3.0 codebase, but I would guess the changes are not that radical. But if it turns out 3.0 is so entirely different from 1.x, then we are even less likely to move to it in the short term.

You're right, there are no radical changes.

> As far as I am concerned, the current tools available for displaying stats work fine: Atmire stats, Elastic Search etc. The piece that needs improvement is accurate stats recording. It would seem that is where we should focus our efforts. The crucial ingredient to Edinburgh's GA stats system is forcing outside, direct links to open the item page, rather than hitting the PDF directly (otherwise the download isn't counted). I doubt that would be different in 3.0.

Although you confused me by mentioning Solr/ES stats (I thought this thread is about GA), it should be doable with a little Cocoon site map magic. What you want is the bitstream link to be a redirect to the actual bitstream, and where the redirect would also trigger the counter. In case of GA the counter is Javascript so it can't be HTTP 302, but rather a meta tags redirect so that the JS gets a chance to run. Maybe there's a way to bypass the JS and count the hit by doing what the JS does server-side, and but I imagine this would be unsupported by GA.
A similar but alternative approach would be to keep the bitstream url pointing directly at the bitstream and create another url in its stead with the functionality is mentioned (redirect to bitstream) , I then replace all occurrences of the bitstream link with the later. Both have its pros and cons when used with non-interactive user agents (like wget/curl).