EPrints Technical Mailing List Archive

Message: #02647


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

[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-PurePerl too, 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 )