-
Notifications
You must be signed in to change notification settings - Fork 78
How to integrate Sufia's Google Analytics user stats into your Rails app
See the Sufia Management Guide for more information on setting up Google Analytics.
Deprecated:
== Setup & Configuration
-
Run the generators $ rails g sufia:models:usagestats $ rails g sufia:models:cached_stats
-
Run the migrations $ rake db:migrate
-
Clear (or update) your existing cache
This step is only necessary if you already have the
file_view_stats
andfile_download_stats
tables in your database (from the Sufia 4.2.0 release).The new migration added by the cached_stats generator will add a user_id column to the file_view_stats and file_download_stats tables. If you have existing data in those tables, those rows will be missing the user_id, which means that data won't be available for calculating the total number of file views and downloads for a user.
There are 2 ways you can correct this problem:
\1. Delete all the rows in the file_view_stats and file_download_stats tables, and then let the cache rebuild naturally.
or:
\2. Write a script that updates all the rows in the file_view_stats and file_download_stats tables to add the user_ids to the existing cache.
-
Edit config/initializers/sufia.rb
- Set
config.analytics = true
- Set the
config.analytic_start_date
(Note: this was not necessary in Sufia 4.2.0, but it is needed going forward) - Set the
config.google_analytics_id
to your tracking ID (The tracking ID typically looks like UA-99999999-1)
- Set
-
Edit
config/analytics.yml
as described in the {README}[https://github.com/projecthydra/sufia/blob/master/README.md#analytics] -
Run the rake task to build the cache in the
user_stats
table, and schedule it as a nightly background job$ rake sufia:stats:user_stats
- Schedule a nightly job to run that rake task so that user stats will update once a day
-
Update views
If your Rails app overrides the
app/views/dashboard/_index_partials/_stats.html.erb
file from Sufia, then you may want to update it to display the user's combined file views & downloads stats.