Bugzilla – Attachment 32266 Details for
Bug 11926
HEA - Report usage statistics to Koha community
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 11926: Add new sysprefs and fix encoding issues
Bug-11926-Add-new-sysprefs-and-fix-encoding-issues.patch (text/plain), 7.71 KB, created by
Chris Cormack
on 2014-10-11 19:40:56 UTC
(
hide
)
Description:
Bug 11926: Add new sysprefs and fix encoding issues
Filename:
MIME Type:
Creator:
Chris Cormack
Created:
2014-10-11 19:40:56 UTC
Size:
7.71 KB
patch
obsolete
>From 533b046840f857d9d154d40e26d6dd129b9d4f4e Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@biblibre.com> >Date: Thu, 4 Sep 2014 11:49:27 +0200 >Subject: [PATCH] Bug 11926: Add new sysprefs and fix encoding issues > >Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> >--- > C4/UsageStats.pm | 48 ++++++++++++---------- > .../prog/en/modules/admin/preferences/admin.pref | 20 +++++++++ > misc/cronjobs/share_usage_with_koha_community.pl | 36 ++++++++++------ > 3 files changed, 71 insertions(+), 33 deletions(-) > >diff --git a/C4/UsageStats.pm b/C4/UsageStats.pm >index 0187f86..4783df2 100644 >--- a/C4/UsageStats.pm >+++ b/C4/UsageStats.pm >@@ -1,4 +1,4 @@ >-package UsageStats; >+package C4::UsageStats; > > # This file is part of Koha. > # >@@ -22,7 +22,6 @@ use C4::Context; > use POSIX qw(strftime); > use LWP::UserAgent; > use JSON; >-use URI::Encode qw(uri_encode); > > =head1 NAME C4::UsageStats > >@@ -45,7 +44,7 @@ only once a month ! > > sub NeedUpdate { > my $lastupdated = C4::Context->preference('UsageStatsLastUpdateTime') || 0; >- my $now = strftime("%s", localtime); >+ my $now = strftime( "%s", localtime ); > > # Need to launch cron. > return 1 if $now - $lastupdated >= 2592000; >@@ -57,13 +56,19 @@ sub NeedUpdate { > sub BuildReport { > my $report = { > library => { >+ id => C4::Context->preference('UsageStatsID') || 0, > name => C4::Context->preference('UsageStatsLibraryName') || q||, >- id => C4::Context->preference('UsageStatsID') || 0, >+ url => C4::Context->preference('UsageStatsLibraryUrl') || q||, >+ type => C4::Context->preference('UsageStatsLibraryType') || q||, >+ country => C4::Context->preference('UsageStatsCountry') || q||, > }, > }; > > # Get database volumetry. >- foreach (qw/biblio auth_header old_issues old_reserves borrowers aqorders subscription/) { >+ foreach ( >+ qw/biblio auth_header old_issues old_reserves borrowers aqorders subscription/ >+ ) >+ { > $report->{volumetry}{$_} = _count($_); > } > >@@ -338,18 +343,19 @@ Send to hea.koha-community.org database informations > =cut > > sub ReportToCommunity { >- my $data = shift; >- my $json = uri_encode( to_json($data), 1 ); >+ my $data = shift; >+ my $json = encode_json($data); > >- my $ua = LWP::UserAgent->new; >- my $req = >- HTTP::Request->new( POST => "http://hea.koha-community.org/upload.pl" ); >- $req->content_type('application/x-www-form-urlencoded'); >- $req->content("data=$json"); >- my $res = $ua->request($req); >- my $content = from_json( $res->decoded_content ); >- C4::Context->set_preference( 'UsageStatsID', >- $content->{library}{library_id} ); >+ my $url = "http://hea.koha-community.org/upload.pl"; >+ my $ua = LWP::UserAgent->new; >+ my $res = $ua->post( >+ $url, >+ 'Content-type' => 'application/json;charset=utf-8', >+ Content => $json, >+ ); >+ my $content = decode_json( $res->decoded_content ); >+ C4::Context->set_preference( 'UsageStatsID', >+ $content->{library}{id} ); > } > > =head2 _count >@@ -361,12 +367,12 @@ Count the number of records in $table tables > =cut > > sub _count { >- my $table = shift; >+ my $table = shift; > >- my $dbh = C4::Context->dbh; >- my $sth = $dbh->prepare("SELECT count(*) from $table"); >- $sth->execute; >- return $sth->fetchrow_array; >+ my $dbh = C4::Context->dbh; >+ my $sth = $dbh->prepare("SELECT count(*) from $table"); >+ $sth->execute; >+ return $sth->fetchrow_array; > } > > 1; >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/admin.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/admin.pref >index 1c15ac0..d1920a7 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/admin.pref >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/admin.pref >@@ -127,3 +127,23 @@ Administration: > - will be shown on <a href="http://hea.koha-community.org">Hea Koha community website</a>. > - If this name is empty, you will sent data anonymously > - Note that this value has no effect if UsageStatsShare system preference is set to "Don't share" >+ - >+ - The country where your library is >+ - pref: UsageStatsCountry >+ - will be shown on <a href="http://hea.koha-community.org">Hea Koha community website</a>. >+ - Note that this value has no effect if UsageStatsShare system preference is set to "Don't share" >+ - >+ - The library url >+ - pref: UsageStatsLibraryUrl >+ - will be shown on <a href="http://hea.koha-community.org">Hea Koha community website</a>. >+ - Note that this value has no effect if UsageStatsShare system preference is set to "Don't share" >+ >+ - >+ - The library type >+ - pref: UsageStatsLibraryType >+ default: public >+ choices: >+ public: "public" >+ university: "university" >+ - will be shown on <a href="http://hea.koha-community.org">Hea Koha community website</a>. >+ - Note that this value has no effect if UsageStatsShare system preference is set to "Don't share" >diff --git a/misc/cronjobs/share_usage_with_koha_community.pl b/misc/cronjobs/share_usage_with_koha_community.pl >index acc7fd5..b55edcc 100644 >--- a/misc/cronjobs/share_usage_with_koha_community.pl >+++ b/misc/cronjobs/share_usage_with_koha_community.pl >@@ -7,31 +7,39 @@ use Getopt::Long; > > use C4::Context; > use C4::UsageStats; >+use POSIX qw(strftime); > >- >-my ( $help, $verbose ); >+my ( $help, $verbose, $force ); > GetOptions( >- 'h|help' => \$help, >- 'v|verbose' => \$verbose, >+ 'h|help' => \$help, >+ 'v|verbose' => \$verbose, >+ 'f|force' => \$force, > ) || pod2usage(1); > > if ($help) { > pod2usage(1); > } > >-unless( C4::Context->preference('UsageStatsShare') ) { >- pod2usage (q|The UsageStats system preference is not set. If your library wants to share their usage statistics with the Koha community, you have to switch on this system preference|); >- exit 1; >+unless ( C4::Context->preference('UsageStatsShare') ) { >+ pod2usage( >+q| >+The UsageStats system preference is not set. >+If your library wants to share their usage statistics with the Koha community, you have to switch on this system preference >+| >+ ); >+ exit 1; > } > >-my $need_update = C4::UsageStats::NeedUpdate(); >+my $need_update = ($force ? 1 : C4::UsageStats::NeedUpdate() ); > >-if ( $need_update ) { >+if ($need_update) { > say "Data need to be updated" if $verbose; > my $report = C4::UsageStats::BuildReport(); > C4::UsageStats::ReportToCommunity($report); >- C4::Context->set_preference('UsageStatsLastUpdateTime', strftime("%s", localtime)); >-} elsif( $verbose ) { >+ C4::Context->set_preference( 'UsageStatsLastUpdateTime', >+ strftime( "%s", localtime ) ); >+} >+elsif ($verbose) { > say "Data don't need to be updated"; > } > >@@ -53,7 +61,7 @@ Only the total number is retrieved. In no case private data will be shared! > > In order to know which parts of Koha modules are used, this script will collect some system preference values. > >-If you want to tell us who you are, you can fill the UsageStatsLibraryName system preference with your library name. >+If you want to tell us who you are, you can fill the UsageStatsLibraryName system preference with your library name, UsageStatsLibraryUrl, UsageStatsLibraryType and/or UsageStatsCountry. > > All these data will be analysed on the http://hea.koha-community.org Koha community website. > >@@ -72,6 +80,10 @@ Print a brief help message > > Verbose mode. > >+=item B<-f|--force> >+ >+Force the update. >+ > =back > > =head1 AUTHOR >-- >1.9.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 11926
:
26203
|
26346
|
26352
|
31369
|
31370
|
31373
|
32024
|
32025
|
32026
|
32027
|
32028
|
32029
|
32030
|
32262
|
32263
|
32264
|
32265
|
32266
|
32267
|
32268
|
32455
|
32456
|
32457
|
32458
|
32459
|
32460
|
32461
|
32462
|
32463
|
32464
|
32465
|
32466
|
32467
|
32468
|
32469
|
32470
|
32471
|
32472
|
32582