EPrints Technical Mailing List Archive

Message: #02648


< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First

[EP-tech] Re: IRStats 2-0.0.5 - Stats::Handler: requested processor 'countries' does not exist.


When you say that the map is not working, do you mean that it is not showing up at all, or that it shows up but without highlighting of countries?

Did you install the latest version of prototype.js? I installed it in EPRINTS/archives/ARCHIVE/cfg/static/javascript/auto/20_prototype.js (just copy and paste, it's not that big). That fixed "this.each is not a function" for me, and made the map display on the page without any colors.

I am a little confused by your description of installing Perl modules. Basically I used CPAN to install Geo::IP::PurePerl only. Did you reload/restart the web server after updating your Perl with that module? I don't know if it would get picked up by EPrints if you installed Geo::IP::PurePerl while httpd was running.

Other than that, I can't see anything wrong at the moment.

tommy

From: Matthew Brady <Matthew.Brady@usq.edu.au<mailto:Matthew.Brady@usq.edu.au>>
Reply-To: "eprints-tech@ecs.soton.ac.uk<mailto:eprints-tech@ecs.soton.ac.uk>" <eprints-tech@ecs.soton.ac.uk<mailto:eprints-tech@ecs.soton.ac.uk>>
Date: Wednesday, February 19, 2014 4:00 PM
To: "eprints-tech@ecs.soton.ac.uk<mailto:eprints-tech@ecs.soton.ac.uk>" <eprints-tech@ecs.soton.ac.uk<mailto:eprints-tech@ecs.soton.ac.uk>>
Subject: [EP-tech] IRStats 2-0.0.5 - Stats::Handler: requested processor 'countries' does not exist.

Hi All,

I will keep this request short… but I have provided more details for those who want to read the epic tale below….

I have just finished pushing IRStats 2-0.0.5 into a dev eprints system (running 3.3.10),
Everything seems to be working except the world map, ‘origin of download’ component. Found on the vanilla  /cgi/stats/report/requests page.
I also added the GeoChart code into the eprint report as well…

The database has irstats2_countries table and it’s got appropriate data in it, but error logs show “Stats::Handler: requested processor 'countries' does not exist.”

Seb, Any ideas where to start looking?

Cheers
Matt.


More details…

The vanilla settings for eprint in z_irstats2.pl generates the report (<FQDN>/cgi/stats/report/eprint/) and displays everything as expected…
eprint => {
      items => [ { plugin => 'ReportHeader' },
                 { plugin => 'Google::Graph', datatype => 'downloads', options => { date_resolution => 'month', graph_type => 'column', },  },
                 { plugin => 'KeyFigures', options => { metrics => [ 'downloads.spark', 'hits.spark' ], } },
               ]
    },


I added the GeoChart line into the items block, to display origin of downloads,

                 { plugin => 'Google::GeoChart', datatype => 'countries', options => { title_phrase => 'download_countries', }, },

and it displays the relevant block on the screen, but it contains a message ‘this.each is not a function’
The apache error log also displays… “Stats::Handler: requested processor 'countries' does not exist.”

After digging around, I found that I was missing Geo::IP, which is documented in the file /opt/eprints3/lib/plugins/EPrints/Plugin/Stats/Processor/Access/Country.pm
# Processor::Access::Country
#
# Processes the Country codes from Access records. Provides the 'eprint_countries' datatype
# Note that this requires Geo::IP to work.
#

Even though it is testing for EPrints::Utils::require_if_exists( "Geo::IP::PurePerl" )

I installed perl-Geo-IP, and then also installed perl-Geo-IP-PurePerltoo, when perl-Geo-IP didn’t get things working…

This dev install of ePrints doesn’t/didn’t have the geoip.dat file that was required either, so that’s been put in place (/opt/eprints3/lib/geoip/GeoIP.dat).

The process_stats was re-run to rebuild all the tables… and we now have an ‘irstats2_countries’ table (which wasn’t there before), and it’s been populated with data that looks appropriate…

I am guessing that having the table populated, would indicate that the ‘countries’ processor is in place and operational, which makes the apache error log rather confusing..




_____________________________________________________________
This email (including any attached files) is confidential and is for the intended recipient(s) only. If you received this email by mistake, please, as a courtesy, tell the sender, then delete this email.

The views and opinions are the originator's and do not necessarily reflect those of the University of Southern Queensland. Although all reasonable precautions were taken to ensure that this email contained no viruses at the time it was sent we accept no liability for any losses arising from its receipt.

The University of Southern Queensland is a registered provider of education with the Australian Government.
(CRICOS Institution Code QLD 00244B / NSW 02225M, TEQSA PRV12081 )