Bugzilla – Attachment 32027 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 a cronjob
Bug-11926-Add-a-cronjob.patch (text/plain), 22.31 KB, created by
Jonathan Druart
on 2014-10-06 21:44:45 UTC
(
hide
)
Description:
Bug 11926: Add a cronjob
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2014-10-06 21:44:45 UTC
Size:
22.31 KB
patch
obsolete
>From d6aebf37431ba698091dae6c62f4ea88e352094d Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@biblibre.com> >Date: Thu, 4 Sep 2014 11:32:43 +0200 >Subject: [PATCH] Bug 11926: Add a cronjob > >--- > C4/UsageStats.pm | 610 ++++++++++----------- > .../prog/en/modules/admin/preferences/admin.pref | 21 +- > misc/cronjobs/share_usage_with_koha_community.pl | 98 ++++ > 3 files changed, 397 insertions(+), 332 deletions(-) > create mode 100644 misc/cronjobs/share_usage_with_koha_community.pl > >diff --git a/C4/UsageStats.pm b/C4/UsageStats.pm >index a5478b7..0187f86 100644 >--- a/C4/UsageStats.pm >+++ b/C4/UsageStats.pm >@@ -1,25 +1,23 @@ > package UsageStats; > >-# Copyright 2000-2003 Katipo Communications >-# Copyright 2010 BibLibre >-# Parts Copyright 2010 Catalyst IT >-# > # This file is part of Koha. > # >-# 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 >-# Foundation; either version 2 of the License, or (at your option) any later >-# version. >+# Copyright 2014 BibLibre >+# >+# 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 Foundation; either version 3 of the License, or >+# (at your option) any later version. > # >-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY >-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR >-# A PARTICULAR PURPOSE. See the GNU General Public License for more details. >+# Koha is distributed in the hope that it will be useful, but >+# WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+# GNU General Public License for more details. > # >-# You should have received a copy of the GNU General Public License along >-# with Koha; if not, write to the Free Software Foundation, Inc., >-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. >+# You should have received a copy of the GNU General Public License >+# along with Koha; if not, see <http://www.gnu.org/licenses>. > >-use strict; >+use Modern::Perl; > use C4::Context; > use POSIX qw(strftime); > use LWP::UserAgent; >@@ -35,13 +33,6 @@ hea.koha-community.org is the server that centralize Koha setups informations > Koha libraries are encouraged to provide informations about their collections, > their structure,... > >-This package is normally only called by a cronjob, like >-0 3 1 * * export KOHA_CONF=/home/koha/etc/koha-conf.xml; export PERL5LIB=/home/koha/src; perl /home/koha/src/C4/UsageStats.pm >- >-IMPORTANT : please do NOT run the cron on the 1st, but on another day. The idea is to avoid all >-Koha libraries sending their data at the same time ! So choose any day between 1 and 28 ! >- >- > =head2 NeedUpdate > > $needUpdateYN = C4::UsageStats::NeedUpdate; >@@ -59,42 +50,15 @@ sub NeedUpdate { > # Need to launch cron. > return 1 if $now - $lastupdated >= 2592000; > >- # Cron no need to be launched. >+ # Data don't need to be updated > return 0; > } > >-=head2 LaunchCron >- >- LaunchCron(); >- >-Compute results and send them to the centralized server >- >-=cut >- >-sub LaunchCron { >- if (!C4::Context->preference('UsageStatsShare')) { >- die ("UsageStats is not configured"); >- } >- if (NeedUpdate) { >- C4::Context->set_preference('UsageStatsLastUpdateTime', strftime("%s", localtime)); >- my $data = BuildReport(); >- ReportToCommunity($data); >- } >-} >- >-=head2 Builreport >- >- BuildReport(); >- >-retrieve some database volumety and systempreferences that will be sent to hea server >- >-=cut >- > sub BuildReport { > my $report = { >- 'library' => { >- 'name' => C4::Context->preference('UsageStatsLibraryName'), >- 'id' => C4::Context->preference('UsageStatsID') || 0, >+ library => { >+ name => C4::Context->preference('UsageStatsLibraryName') || q||, >+ id => C4::Context->preference('UsageStatsID') || 0, > }, > }; > >@@ -104,257 +68,262 @@ sub BuildReport { > } > > # Get systempreferences. >- foreach (qw/ AcqCreateItem >- AcqWarnOnDuplicateInvoice >- AcqViewBaskets >- BasketConfirmations >- OrderPdfFormat >- casAuthentication >- casLogout >- AllowPkiAuth >- DebugLevel >- delimiter >- noItemTypeImages >- virtualshelves >- AutoLocation >- IndependentBranches >- SessionStorage >- Persona >- AuthDisplayHierarchy >- AutoCreateAuthorities >- BiblioAddsAuthorities >- dontmerge >- UseAuthoritiesForTracings >- CatalogModuleRelink >- hide_marc >- IntranetBiblioDefaultView >- LabelMARCView >- OpacSuppression >- SeparateHoldings >- UseControlNumber >- advancedMARCeditor >- DefaultClassificationSource >- EasyAnalyticalRecords >- autoBarcode >- item-level_itypes >- marcflavour >- PrefillItem >- z3950NormalizeAuthor >- SpineLabelAutoPrint >- SpineLabelShowPrintOnBibDetails >- BlockReturnOfWithdrawnItems >- CalculateFinesOnReturn >- AgeRestrictionOverride >- AllFinesNeedOverride >- AllowFineOverride >- AllowItemsOnHoldCheckout >- AllowNotForLoanOverride >- AllowRenewalLimitOverride >- AllowReturnToBranch >- AllowTooManyOverride >- AutomaticItemReturn >- AutoRemoveOverduesRestrictions >- CircControl >- HomeOrHoldingBranch >- HomeOrHoldingBranchReturn >- InProcessingToShelvingCart >- IssueLostItem >- IssuingInProcess >- ManInvInNoissuesCharge >- OverduesBlockCirc >- RenewalPeriodBase >- RenewalSendNotice >- RentalsInNoissuesCharge >- ReturnBeforeExpiry >- ReturnToShelvingCart >- TransfersMaxDaysWarning >- UseBranchTransferLimits >- useDaysMode >- UseTransportCostMatrix >- UseCourseReserves >- finesCalendar >- FinesIncludeGracePeriod >- finesMode >- RefundLostItemFeeOnReturn >- WhenLostChargeReplacementFee >- WhenLostForgiveFine >- AllowHoldDateInFuture >- AllowHoldPolicyOverride >- AllowHoldsOnDamagedItems >- AllowHoldsOnPatronsPossessions >- AllowOnShelfHolds >- AutoResumeSuspendedHolds >- canreservefromotherbranches >- decreaseLoanHighHolds >- DisplayMultiPlaceHold >- emailLibrarianWhenHoldIsPlaced >- ExpireReservesMaxPickUpDelay >- OPACAllowHoldDateInFuture >- OPACAllowUserToChooseBranch >- ReservesControlBranch >- ReservesNeedReturns >- SuspendHoldsIntranet >- SuspendHoldsOpac >- TransferWhenCancelAllWaitingHolds >- AllowAllMessageDeletion >- AllowOfflineCirculation >- CircAutocompl >- CircAutoPrintQuickSlip >- DisplayClearScreenButton >- FilterBeforeOverdueReport >- FineNotifyAtCheckin >- itemBarcodeFallbackSearch >- itemBarcodeInputFilter >- previousIssuesDefaultSortOrder >- RecordLocalUseOnReturn >- soundon >- SpecifyDueDate >- todaysIssuesDefaultSortOrder >- UpdateTotalIssuesOnCirc >- UseTablesortForCirc >- WaitingNotifyAtCheckin >- AllowSelfCheckReturns >- AutoSelfCheckAllowed >- FRBRizeEditions >- OPACFRBRizeEditions >- AmazonCoverImages >- OPACAmazonCoverImages >- Babeltheque >- BakerTaylorEnabled >- GoogleJackets >- HTML5MediaEnabled >- IDreamBooksReadometer >- IDreamBooksResults >- IDreamBooksReviews >- LibraryThingForLibrariesEnabled >- LocalCoverImages >- OPACLocalCoverImages >- NovelistSelectEnabled >- XISBN >- OpenLibraryCovers >- UseKohaPlugins >- SyndeticsEnabled >- TagsEnabled >- CalendarFirstDayOfWeek >- opaclanguagesdisplay >- AuthoritiesLog >- BorrowersLog >- CataloguingLog >- FinesLog >- IssueLog >- LetterLog >- ReturnLog >- SubscriptionLog >- AuthorisedValueImages >- BiblioDefaultView >- COinSinOPACResults >- DisplayOPACiconsXSLT >- hidelostitems >- HighlightOwnItemsOnOPAC >- OpacAddMastheadLibraryPulldown >- OPACDisplay856uAsImage >- OpacHighlightedWords >- OpacKohaUrl >- OpacMaintenance >- OpacPublic >- OpacSeparateHoldings >- OPACShowBarcode >- OPACShowCheckoutName >- OpacShowFiltersPulldownMobile >- OPACShowHoldQueueDetails >- OpacShowLibrariesPulldownMobile >- OpacShowRecentComments >- OPACShowUnusedAuthorities >- OpacStarRatings >- opacthemes >- OPACURLOpenInNewWindow >- OpacAuthorities >- opacbookbag >- OpacBrowser >- OpacBrowseResults >- OpacCloud >- OPACFinesTab >- OpacHoldNotes >- OpacItemLocation >- OpacPasswordChange >- OPACPatronDetails >- OPACpatronimages >- OPACPopupAuthorsSearch >- OpacTopissue >- opacuserlogin >- QuoteOfTheDay >- RequestOnOpac >- reviewson >- ShowReviewer >- ShowReviewerPhoto >- SocialNetworks >- suggestion >- AllowPurchaseSuggestionBranchChoice >- OpacAllowPublicListCreation >- OpacAllowSharingPrivateLists >- OPACItemHolds >- OpacRenewalAllowed >- OpacRenewalBranch >- OPACViewOthersSuggestions >- SearchMyLibraryFirst >- singleBranchMode >- AnonSuggestions >- EnableOpacSearchHistory >- OPACPrivacy >- opacreadinghistory >- TrackClicks >- PatronSelfRegistration >- OPACShelfBrowser >- AddPatronLists >- AutoEmailOpacUser >- AutoEmailPrimaryAddress >- autoMemberNum >- BorrowerRenewalPeriodBase >- checkdigit >- EnableBorrowerFiles >- EnhancedMessagingPreferences >- ExtendedPatronAttributes >- intranetreadinghistory >- memberofinstitution >- patronimages >- TalkingTechItivaPhoneNotification >- uppercasesurnames >- IncludeSeeFromInSearches >- OpacGroupResults >- QueryAutoTruncate >- QueryFuzzy >- QueryStemming >- QueryWeightFields >- TraceCompleteSubfields >- TraceSubjectSubdivisions >- UseICU >- UseQueryParser >- defaultSortField >- displayFacetCount >- OPACdefaultSortField >- OPACItemsResultsDisplay >- expandedSearchOption >- IntranetNumbersPreferPhrase >- OPACNumbersPreferPhrase >- opacSerialDefaultTab >- RenewSerialAddsSuggestion >- RoutingListAddReserves >- RoutingSerials >- SubscriptionHistory >- Display856uAsImage >- DisplayIconsXSLT >- StaffAuthorisedValueImages >- template >- yuipath >- HidePatronName >- intranetbookbag >- StaffDetailItemSelection >- viewISBD >- viewLabeledMARC >- viewMARC >- ILS-DI >- OAI-PMH >- version/) { >+ foreach ( >+ qw/ >+ AcqCreateItem >+ AcqWarnOnDuplicateInvoice >+ AcqViewBaskets >+ BasketConfirmations >+ OrderPdfFormat >+ casAuthentication >+ casLogout >+ AllowPkiAuth >+ DebugLevel >+ delimiter >+ noItemTypeImages >+ virtualshelves >+ AutoLocation >+ IndependentBranches >+ SessionStorage >+ Persona >+ AuthDisplayHierarchy >+ AutoCreateAuthorities >+ BiblioAddsAuthorities >+ dontmerge >+ UseAuthoritiesForTracings >+ CatalogModuleRelink >+ hide_marc >+ IntranetBiblioDefaultView >+ LabelMARCView >+ OpacSuppression >+ SeparateHoldings >+ UseControlNumber >+ advancedMARCeditor >+ DefaultClassificationSource >+ EasyAnalyticalRecords >+ autoBarcode >+ item-level_itypes >+ marcflavour >+ PrefillItem >+ z3950NormalizeAuthor >+ SpineLabelAutoPrint >+ SpineLabelShowPrintOnBibDetails >+ BlockReturnOfWithdrawnItems >+ CalculateFinesOnReturn >+ AgeRestrictionOverride >+ AllFinesNeedOverride >+ AllowFineOverride >+ AllowItemsOnHoldCheckout >+ AllowNotForLoanOverride >+ AllowRenewalLimitOverride >+ AllowReturnToBranch >+ AllowTooManyOverride >+ AutomaticItemReturn >+ AutoRemoveOverduesRestrictions >+ CircControl >+ HomeOrHoldingBranch >+ HomeOrHoldingBranchReturn >+ InProcessingToShelvingCart >+ IssueLostItem >+ IssuingInProcess >+ ManInvInNoissuesCharge >+ OverduesBlockCirc >+ RenewalPeriodBase >+ RenewalSendNotice >+ RentalsInNoissuesCharge >+ ReturnBeforeExpiry >+ ReturnToShelvingCart >+ TransfersMaxDaysWarning >+ UseBranchTransferLimits >+ useDaysMode >+ UseTransportCostMatrix >+ UseCourseReserves >+ finesCalendar >+ FinesIncludeGracePeriod >+ finesMode >+ RefundLostItemFeeOnReturn >+ WhenLostChargeReplacementFee >+ WhenLostForgiveFine >+ AllowHoldDateInFuture >+ AllowHoldPolicyOverride >+ AllowHoldsOnDamagedItems >+ AllowHoldsOnPatronsPossessions >+ AllowOnShelfHolds >+ AutoResumeSuspendedHolds >+ canreservefromotherbranches >+ decreaseLoanHighHolds >+ DisplayMultiPlaceHold >+ emailLibrarianWhenHoldIsPlaced >+ ExpireReservesMaxPickUpDelay >+ OPACAllowHoldDateInFuture >+ OPACAllowUserToChooseBranch >+ ReservesControlBranch >+ ReservesNeedReturns >+ SuspendHoldsIntranet >+ SuspendHoldsOpac >+ TransferWhenCancelAllWaitingHolds >+ AllowAllMessageDeletion >+ AllowOfflineCirculation >+ CircAutocompl >+ CircAutoPrintQuickSlip >+ DisplayClearScreenButton >+ FilterBeforeOverdueReport >+ FineNotifyAtCheckin >+ itemBarcodeFallbackSearch >+ itemBarcodeInputFilter >+ previousIssuesDefaultSortOrder >+ RecordLocalUseOnReturn >+ soundon >+ SpecifyDueDate >+ todaysIssuesDefaultSortOrder >+ UpdateTotalIssuesOnCirc >+ UseTablesortForCirc >+ WaitingNotifyAtCheckin >+ AllowSelfCheckReturns >+ AutoSelfCheckAllowed >+ FRBRizeEditions >+ OPACFRBRizeEditions >+ AmazonCoverImages >+ OPACAmazonCoverImages >+ Babeltheque >+ BakerTaylorEnabled >+ GoogleJackets >+ HTML5MediaEnabled >+ IDreamBooksReadometer >+ IDreamBooksResults >+ IDreamBooksReviews >+ LibraryThingForLibrariesEnabled >+ LocalCoverImages >+ OPACLocalCoverImages >+ NovelistSelectEnabled >+ XISBN >+ OpenLibraryCovers >+ UseKohaPlugins >+ SyndeticsEnabled >+ TagsEnabled >+ CalendarFirstDayOfWeek >+ opaclanguagesdisplay >+ AuthoritiesLog >+ BorrowersLog >+ CataloguingLog >+ FinesLog >+ IssueLog >+ LetterLog >+ ReturnLog >+ SubscriptionLog >+ AuthorisedValueImages >+ BiblioDefaultView >+ COinSinOPACResults >+ DisplayOPACiconsXSLT >+ hidelostitems >+ HighlightOwnItemsOnOPAC >+ OpacAddMastheadLibraryPulldown >+ OPACDisplay856uAsImage >+ OpacHighlightedWords >+ OpacKohaUrl >+ OpacMaintenance >+ OpacPublic >+ OpacSeparateHoldings >+ OPACShowBarcode >+ OPACShowCheckoutName >+ OpacShowFiltersPulldownMobile >+ OPACShowHoldQueueDetails >+ OpacShowLibrariesPulldownMobile >+ OpacShowRecentComments >+ OPACShowUnusedAuthorities >+ OpacStarRatings >+ opacthemes >+ OPACURLOpenInNewWindow >+ OpacAuthorities >+ opacbookbag >+ OpacBrowser >+ OpacBrowseResults >+ OpacCloud >+ OPACFinesTab >+ OpacHoldNotes >+ OpacItemLocation >+ OpacPasswordChange >+ OPACPatronDetails >+ OPACpatronimages >+ OPACPopupAuthorsSearch >+ OpacTopissue >+ opacuserlogin >+ QuoteOfTheDay >+ RequestOnOpac >+ reviewson >+ ShowReviewer >+ ShowReviewerPhoto >+ SocialNetworks >+ suggestion >+ AllowPurchaseSuggestionBranchChoice >+ OpacAllowPublicListCreation >+ OpacAllowSharingPrivateLists >+ OPACItemHolds >+ OpacRenewalAllowed >+ OpacRenewalBranch >+ OPACViewOthersSuggestions >+ SearchMyLibraryFirst >+ singleBranchMode >+ AnonSuggestions >+ EnableOpacSearchHistory >+ OPACPrivacy >+ opacreadinghistory >+ TrackClicks >+ PatronSelfRegistration >+ OPACShelfBrowser >+ AddPatronLists >+ AutoEmailOpacUser >+ AutoEmailPrimaryAddress >+ autoMemberNum >+ BorrowerRenewalPeriodBase >+ checkdigit >+ EnableBorrowerFiles >+ EnhancedMessagingPreferences >+ ExtendedPatronAttributes >+ intranetreadinghistory >+ memberofinstitution >+ patronimages >+ TalkingTechItivaPhoneNotification >+ uppercasesurnames >+ IncludeSeeFromInSearches >+ OpacGroupResults >+ QueryAutoTruncate >+ QueryFuzzy >+ QueryStemming >+ QueryWeightFields >+ TraceCompleteSubfields >+ TraceSubjectSubdivisions >+ UseICU >+ UseQueryParser >+ defaultSortField >+ displayFacetCount >+ OPACdefaultSortField >+ OPACItemsResultsDisplay >+ expandedSearchOption >+ IntranetNumbersPreferPhrase >+ OPACNumbersPreferPhrase >+ opacSerialDefaultTab >+ RenewSerialAddsSuggestion >+ RoutingListAddReserves >+ RoutingSerials >+ SubscriptionHistory >+ Display856uAsImage >+ DisplayIconsXSLT >+ StaffAuthorisedValueImages >+ template >+ yuipath >+ HidePatronName >+ intranetbookbag >+ StaffDetailItemSelection >+ viewISBD >+ viewLabeledMARC >+ viewMARC >+ ILS-DI >+ OAI-PMH >+ version >+ / >+ ) >+ { > $report->{systempreferences}{$_} = C4::Context->preference($_); > } > return $report; >@@ -369,16 +338,18 @@ Send to hea.koha-community.org database informations > =cut > > sub ReportToCommunity { >- my $data = shift; >- my $json = uri_encode(to_json($data), 1); >- >- 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 $data = shift; >+ my $json = uri_encode( to_json($data), 1 ); >+ >+ 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} ); > } > > =head2 _count >@@ -390,13 +361,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; > } > >-&LaunchCron; > 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 7a4b296..1c15ac0 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 >@@ -115,18 +115,15 @@ Administration: > - is the search engine used. > Usage Stats: > - >- - pref: UsageStatsLastUpdateTime >- default: 0 >- - stores the last time when cron were launch >- - >- - pref: UsageStatsID >- default: >- - >- - > - pref: UsageStatsShare >- default: >- - >+ default: 0 >+ choices: >+ yes: Share >+ no: "Don't share" >+ - data volumetry with Koha community. You can see the data on the <a href="http://hea.koha-community.org">Hea Koha community website</a>. > - >+ - The library name > - pref: UsageStatsLibraryName >- default: >- - >+ - 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" >diff --git a/misc/cronjobs/share_usage_with_koha_community.pl b/misc/cronjobs/share_usage_with_koha_community.pl >new file mode 100644 >index 0000000..acc7fd5 >--- /dev/null >+++ b/misc/cronjobs/share_usage_with_koha_community.pl >@@ -0,0 +1,98 @@ >+#!/usr/bin/perl >+ >+use Modern::Perl; >+ >+use Pod::Usage; >+use Getopt::Long; >+ >+use C4::Context; >+use C4::UsageStats; >+ >+ >+my ( $help, $verbose ); >+GetOptions( >+ 'h|help' => \$help, >+ 'v|verbose' => \$verbose, >+) || 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; >+} >+ >+my $need_update = C4::UsageStats::NeedUpdate(); >+ >+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 ) { >+ say "Data don't need to be updated"; >+} >+ >+=head1 NAME >+ >+share_usage_with_koha_community.pl - Share your library's usage with the Koha community >+ >+=head1 SYNOPSIS >+ >+share_usage_with_koha_community.pl [-h|--help] [-v|--verbose] >+ >+If the UsageStatsShare system preference is set, you can launch this script to share your usage with the Koha community. >+ >+Collecting Koha usage statistics will help developpers to know how Koha is used across the world. >+ >+This script will sent the volumetry for the biblio and authority records, issues, reserves, orders and subscription. >+ >+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. >+ >+All these data will be analysed on the http://hea.koha-community.org Koha community website. >+ >+IMPORTANT : please do NOT run the cron on the 1st, but on another day. The idea is to avoid all >+Koha libraries sending their data at the same time ! So choose any day between 1 and 28 ! >+ >+=head1 OPTIONS >+ >+=over >+ >+=item B<-h|--help> >+ >+Print a brief help message >+ >+=item B<-v|--verbose> >+ >+Verbose mode. >+ >+=back >+ >+=head1 AUTHOR >+ >+Alex Arnaud <alex.arnaud@biblibre.com> >+ >+Jonathan Druart <jonathan.druart@biblibre.com> >+ >+=head1 COPYRIGHT >+ >+Copyright 2014 BibLibre >+ >+=head1 LICENSE >+ >+This file is part of Koha. >+ >+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 >+Foundation; either version 3 of the License, or (at your option) any later version. >+ >+You should have received a copy of the GNU General Public License along >+with Koha; if not, write to the Free Software Foundation, Inc., >+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. >+ >+=cut >-- >2.1.0
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