Installation
Dependencies
- Geo::IP or Geo::IP::PurePerl
- Date::Calc
Both can usually be installed via your Linux package managers (apt-get, yum, ...) or via CPAN if you must.
EPrints 3.3
IRStats2 can be installed directly via the Bazaar on EPrints 3.3 which makes the installation much simpler than with EPrints 3.2.
EPrints 3.3.11 onwards
Installing IRStats2 from the Bazaar is all you need to do. I recommend that you restart Apache after doing so.
EPrints 3.3.1 to 3.3.10
You need to install IRStats2 from the Bazaar as above but you need to apply a few patches. Note that you only really need these patches to have the Google "map of the world" working. Everything else should work as normal without the patches.
The patches relate to an incompatibility between the Prototype JS library (used by EPrints) and Google Charts (used by IRStats2). The two patches you need to apply are:
EPrints 3.2.x
On EPrints 3.2 you will have to manually copy the required files to your EPrints installation path. It is a low-risk operation since IRStats2 is a true add-on to EPrints and it does not interact with the core software. You may want to back-up your EPrints files and your database but again, this should not be necessary.
- Get the files from GitHub or by following this direct link [tar.gz]
- Copy the modules and various configuration files to your local archive:
cp bin/* /opt/eprints3/archives/
/bin/ cp cfg/* /opt/eprints3/archives/ /cfg/ cp cgi/* /opt/eprints3/archives/ /cgi/ (create the bin and cgi directories if they don't exist). - Test everything is OK:
/opt/eprints3/bin/epadmin test
- Add in the <head> sections of your template files (usually located in /opt/eprints3/archives/
/cfg/lang/en/templates/) the following: <script type="text/javascript" src="http://www.google.com/jsapi">// <!-- No script --></script> <script type="text/javascript"> google.load("visualization", "1", {packages:["corechart", "geochart"]}); </script>
- Restart the web server
Processing
Processing works in two steps: the initial processing and then a daily incremental processing. Because the initial processing will take care of all your legacy "download" data, this can take a long time. I do mean: a loooooong time. It can take a few days if your repository is very large. More likely it will take a few hours.
For the initial processing, run, as the "eprints" user, the above command. And remember this may take a long time to complete. So if you are running it from an SSH session, you may want to use the "screen" Linux utility to make sure your SSH session will persist.
/opt/eprints3/archives/REPO_ID/bin/stats/process_stats REPO_ID --setup --verbose
For the daily incremental processing, add the following line in cron. I let you the liberty of deciding when that cron job should run but it is a good idea to do over-night when there is less traffic to your repository.
perl /opt/eprints3/archives/REPO_ID/bin/stats/process_stats REPO_ID 1>/dev/null 2>/dev/null
The two redirections to /dev/null forces the process to not output anything.
When the initial processing has completed, you may point your browser to http://yourrepo.url/cgi/stats/report to look at some stats!