Bug 16011: $VERSION - Remove comments
[koha.git] / misc / cronjobs / share_usage_with_koha_community.pl
1 #!/usr/bin/perl
2
3 use Modern::Perl;
4
5 use Pod::Usage;
6 use Getopt::Long;
7
8 use C4::Context;
9 use C4::UsageStats;
10 use C4::Log;
11 use POSIX qw(strftime);
12
13 my ( $help, $verbose, $force, $quiet );
14 GetOptions(
15     'h|help'    => \$help,
16     'v|verbose' => \$verbose,
17     'f|force'   => \$force,
18     'q|quiet'   => \$quiet,
19 ) || pod2usage(1);
20
21 if ($help) {
22     pod2usage(0);
23 }
24
25 unless ( C4::Context->preference('UsageStats') ) {
26     $quiet && exit;
27     pod2usage(
28 q|
29 The UsageStats system preference is not set.
30 If your library wants to share their usage statistics with the Koha community, you have to switch on this system preference
31
32 Setting the quiet flag will silence this message.
33 |
34     );
35     exit 1;
36 }
37
38 cronlogaction();
39
40 my $need_update = ($force ? 1 : C4::UsageStats::NeedUpdate() );
41
42 if ($need_update) {
43     say "Data need to be updated" if $verbose;
44     my $report = C4::UsageStats::BuildReport();
45     C4::UsageStats::ReportToCommunity($report);
46     C4::Context->set_preference( 'UsageStatsLastUpdateTime',
47         strftime( "%s", localtime ) );
48 }
49 elsif ($verbose) {
50     say "Data don't need to be updated";
51 }
52
53 =head1 NAME
54
55 share_usage_with_koha_community.pl - Share your library's usage with the Koha community
56
57 =head1 SYNOPSIS
58
59 share_usage_with_koha_community.pl [-h|--help] [-v|--verbose] [-f|--force] [-q|--quiet]
60
61 If the UsageStats system preference is set, you can launch this script to share your usage data
62 anonymously with the Koha community.
63
64 Collecting Koha usage statistics will help developers to know how Koha is used across the world.
65
66 This script will send the usage data for the bibliographic and authority records, checkouts, holds, orders,
67 and subscriptions.
68
69 Only the total number is retrieved. In no case will private data be shared!
70
71 In order to know which parts of Koha modules are used, this script will collect some system preference values.
72
73 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.
74
75 All these data will be analyzed on the http://hea.koha-community.org Koha community website.
76
77 IMPORTANT : please do NOT run the cron on the 1st, but on another day. The idea is to avoid all
78 Koha libraries sending their data at the same time ! So choose any day between 1 and 28 !
79
80 =head1 OPTIONS
81
82 =over
83
84 =item B<-h|--help>
85
86 Print a brief help message
87
88 =item B<-v|--verbose>
89
90 Verbose mode
91
92 =item B<-f|--force>
93
94 Force the update
95
96 =item B<-q|--quiet>
97
98 Do not emit "The UsageStats system preference is not set" message
99
100 =back
101
102 =head1 AUTHOR
103
104 Alex Arnaud <alex.arnaud@biblibre.com>
105
106 Jonathan Druart <jonathan.druart@biblibre.com>
107
108 =head1 COPYRIGHT
109
110 Copyright 2014 BibLibre
111
112 =head1 LICENSE
113
114 This file is part of Koha.
115
116 Koha is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software
117 Foundation; either version 3 of the License, or (at your option) any later version.
118
119 You should have received a copy of the GNU General Public License along
120 with Koha; if not, write to the Free Software Foundation, Inc.,
121 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
122
123 =cut