Replace Display/Don't display (and some other pairs) by Show/Don't show in system preferences.
Test plan:
1- Go to administration > system preferences
2- View any system preference with Display/Don't display pair of options
(e.g. OPACAcquisitionDetails)
3- Apply the patch
4- Refresh the page and notice it is now a Show/Don't show pair instead
5- Loop the steps with other system preferences until satisfied
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
A Yes/No system preference must use 1 for Yes and 0 for No.
So "Send" for 1/Yes and "Don't send" for 0/No.
We add too much problems with double-negation boolean system preferences (such as dontmerge).
Previous patch changed default value to 1 in atomicupdate, do the same
in installer/data/mysql/mandatory/sysprefs.sql
Also to be consistant, sets options = NULL instead of '' in atomicupdate
Also removed useless added empty line in /misc/cronjobs/overdue_notices.pl
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
I took the same test plan as victor but I added the system preference to manage the case more easily, especially for users who do not have access to the koha server.
Test plan
1. Check the size of the message queue
With the following SQL query (using an SQL report if you want)
SELECT COUNT(*) FROM message_queue;
2. Run misc/cronjobs/overdue_notices.pl
3. Check the size of the message queue
To ensure that no other overdues will create noise in this test plan.
Or you can take them into account.
4. Choose a patron with no email address
5. Create an overdue (checkout an item and unfold "Checkout settings"
and set a date in the past which is compatible with what you find in
staff:/cgi-bin/koha/tools/overduerules.pl
6. Run misc/cronjobs/overdue_notices.pl
7. Check that you have two new messages in the queue
8. Inspect these two messages
SELECT * FROM message_queue ORDER BY time_queued DESC LIMIT 2 \G
1. One has the type "print" and the borrowernumber matching the patron.
2. The other has
subject: Overdue Notices
borrowernumber: NULL
message_transport_type: email
and contains "These messages were not sent directly to the patrons."
This is the one we don't want anymore.
Because it's now obsolete due to the first message.
9. Apply this patch
10. Run updatedabatase.pl
11. Change syspref 'EmailOverduesNoEmail' to "Don't send"
12. Delete data from message_queue (if you have access) for a cleaner view
13. Run again misc/cronjobs/overdue_notices.pl
14. Check that only the print message is now generated and not the
"Overdue Notices" one.
https://bugs.koha-community.org/show_bug.cgi?id=20076
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This patch modifies the description of the GoogleOpenIDConnect and
related preferences to make it clear that GoogleOpenIDConnect affects
OPAC logins and that the preferences are related.
To test, apply the patch and go to Administration -> System preferences.
Search for "google," and confirm that the descriptions of
GoogleOpenIDConnect and related preferences look clear and correct.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
For another related change, see:
https://en.wikipedia.org/wiki/Central_Authentication_Service
CAS = Central Authentication Service
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Test plan:
1) Apply the patch
2) Set the system preference casLogout to "Yes"
3) Set the new system preference CasServerVersion to "CAS 3 or superior"
4) Check that you are redirected to Koha after a CAS logout from a CAS 3 server
5) Set the new system preference CasServerVersion to "CAS 2 or inferior"
6) Check that you are redirected to Koha after a CAS logout from a CAS 2 server
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This patch adds a new type of system preference entry option: patron
category. A preference with this type will show either a <select> with
patron categories to choose from or a multiple-select menu for choosing
one or more.
This prevents possible errors from incorrect category codes being
entered manually.
To test, apply the patch and run the database update.
- Go to Administration -> System preferences.
- Test each of the updated preferences to confirm that the available
options are correct and that your selections are correctly saved.
- Single category selections, PatronSelfRegistrationDefaultCategory
and GoogleOpenIDConnectDefaultCategory. With each of these you
should see a dropdown where you can select of all the existing
patron categories.
- Multiple selections, OPACHoldsIfAvailableAtPickup and
BatchCheckouts: These preferences should have an option for
selecting one or more system preferences at once.
- Test the pages affected by the updated system preferences:
- With BatchCheckouts enabled, confirm that the batch checkout page is
correctly limited by patron category.
- Set the OPACHoldsIfAvailableAtPickup preference to "Don't allow" and
select at least one patron category in the
OPACHoldsIfAvailableAtPickupExceptions preference.
- Log in to the OPAC as a patron whose category was not selected in
the OPACHoldsIfAvailableAtPickupExceptions preference.
- Try to place a hold on an item which is available at a library.
- When confirming the hold, the libraries where the item is available
should be disabled in the "Pick up location" dropdown.
- Repeat the process as a patron whose category was selected in
OPACHoldsIfAvailableAtPickupExceptions. There should be no disabled
pickup locations.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Patch generated with:
perl -p -i -e 's# no: # 0: #' **/*.pref
perl -p -i -e 's# yes: # 1: #' **/*.pref
no must be 0 and yes must be 1!
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Test Plan:
1) Apply this patch
2) Search system preferences for IndependentBranches
3) Note the warning about changing the setting on a production system
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
JD Amended patch:
* Fix commit title
* Don't split the syspref's description, otherwise the sentence will be
split in the POs
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Test Plan:
1. Go to Administration
2. Go to System Preferences
3. Find 'delimiter' (note the name)
4. Apply patch
5. Repeat step 1 and 2
6. Find 'CSVDelimiter' (note the name)
Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Test Plan:
1. Go to Administration
2. Go to System Preferences
3. Go to Administration (on the right)
4. At the bottom, under 'Share anonymous usage statistics', find
UsageStats
5. In the value box, the bottom line should say 'statisics' instead of
'statistics'
6. Apply the patch
7. Repeat steps 1-4
8. In the value box, the bottom line should now say 'statistics'
Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This patch attempts to locate all references to system preference names
in various system preference descriptions and link those preference
names to a search for that preference. This will allow the user to
easily jump between preferences which are related or depend on each
other.
To test, apply the patch go to Administration -> System preferences.
- Open each preference category and confirm that the page loads without
error.
- Test any system preference links you find to confirm that they work
correctly.
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
If you define the address we use it, if not we fallback,
it's not really a redirect, and that just makes the name longer.
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
As requested, I have embelished the syspref description to more
accurately depict the fallback sequence for email delivery.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Sponsored-by: Catalyst IT
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Test plan:
1. Set no email addresses in patron record then checkout
items to the patron making the due date in the past
2. Visit patron's home library page: Administration > Libraries
Set a branch email and in global system preferences observe there is no syspref
named RedirectAddressForFailedOverdueNotices
3. Manually run overdue_notices.pl
4. Check the message_queue database table and observe there is a
print overdue notice and a email notice with to_address of the
branch email address
5. Apply patch
6. Run database update:
cd installer/data/mysql
sudo koha-shell <instance_name>
./updatedb.pl
7. Confirm there is a new system preference named:
RedirectAddressForFailedOverdueNotices
Give it a different email address to that in the branch email.
7. Repeat steps 1,3,4 and observe that the failed overdue notices have been
sent to the email defined in RedirectAddressForFailedOverdueNotices
Sponsored-By: Catalyst IT
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Additional capitalization, punctuation, terminolgy and improvements to
text for system preferences:
- Punctuation (such as full stops at the end of sentences)
- Capitalization
- Terminology (staff interface, use of "Don't" instead of "Do not")
- Rearranged/rephrased for better readability
To test:
- Verify that the changes listed are consistent and make sense.
- Check that on the staff interface home page that the window title says
"Koha staff interface".
- Verify that in system preferences the name of the tab for Staff
interface displays correctly, and that clicking on it brings up the
staff interface preferences.
- For Patrons > CollapseFieldsPatronAddForm check that the edit and add
patron form works correctly (edit a patron, add a new patron, check that
labels display correctly).
Staff interface home page
-------------------------
- Change the page title in browser from "Koha staff client" to "Koha
staff interface".
Administration
--------------
Google OpenID Connect:
. GoogleOpenIDConnectAutoRegister: change "Don't Allow" to "Don't allow"
and change "users" to "patrons".
. GoogleOpenIDConnectDefaultBranch: move the input field to the end of
the sentence.
. GoogleOpenIDConnectDefaultCategory: move the input field to the end of
the sentence.
. GoogleOpenIDConnectDomain: reword to "Restrict Google OpenID Connect
to domain (or subdomain of this domain): ____. Leave blank for all
Google domains.".
Interface options:
. SendAllEmailsTo: add a full stop.
Share anonymous usage statistics:
. UsageStatsLibrariesInfo: change "Do not share" to "Don't share"; add a
full stop; for note "Don't share" should be "No".
. most preferences: for note "Don't share" should be "No" (don't share)
(for preferences UsageStatsCountry, UsageStatsGeolocation,
UsageStatsLibrariesInfo, UsageStatsLibraryName, UsageStatsLibraryType,
and UsageStatsLibraryUrl), various edits to make more readable and
consistent.
Authorities
-----------
General
. AuthorityControlledIndicators: change "biblio field" to "bibliographic
field".
. AutoCreateAuthorities: change "do not generate" to "don't generate".
Linker:
. CatalogModuleRelink: change "Do not" to "Don't".
. LinkerKeepStale: change "Do not" to "Don't".
. LinkerModule: change "Default" to "default".
. LinkerOptions: add a full stop.
. LinkerRelink: change "Do not" to "Don't".
Cataloguing
-----------
Display:
. MergeReportFields: change "example:" to "Example:"
Exporting:
. BibtexExportAdditionalFields and RisExportAdditionalFields: change
"Include following" to "Include the following"; add ":" at end of
sentence, change "specificy" to "specify", and add full stops at end of
complete sentences.
Interface:
. EnableAdvancedCatalogingEditor: format NOTE in bold.
Record structure:
. AlternateHoldingsField: change "(This" to "(this", change "; for
instance" to ", for example", remove full stop.
, MarcFieldForCreatorId: format NOTE in bold.
. SubfieldsToAllowForRestrictedBatchmod: change "pref" to "system
preference".
Circulation
-----------
Batch checkout:
. BatchCheckoutsValidCategories: add a full stop.
Checkin policy:
. CalculateFinesOnReturn: only bold "NOTE", not the whole sentence (x2).
. StoreLastBorrower: change "opacreadinghistory/AnonymousPatron" to "the
opacreadinghistory and AnonymousPatron".
. UpdateItemLocationOnCheckin: change note "for these locations only can
location and permanent_location differ," to "for these locations the
location and permanent_location can differ,"
. UpdateNotForLoanStatusOnCheckin: change "E.g.," to "For example,"
Checkout policy:
. AgeRestrictionMarker: change "E.g.," to ". For example,"
. AllFinesNeedOverride: change "system preference noissuescharge" to
"the noissuescharge system preference".
. AllowFineOverride: add "the" before "noissuescharge".
. AllowRenewalLimitOverride: change "with respect to" to "for".
. AutoRemoveOverduesRestrictions: change "Do not" to "Don't".
. DefaultLongOverdueChargeValue: change "user" to "patron".
. ItemsDeniedRenewal: change . "e.g.," to "For example:", format the
note the same as other notes with NOTE in bold.
. OnSiteCheckoutsForce: change "on-site" to "on-site checkout", "(Even"
to "(even", and "user" to "patron".
. RentalFeesCheckoutConfirmation: change "do not ask" to "don't ask".
. RestrictionBlockRenewing: change "If patron" to "If a patron", change
"Allow" and "Block" to "allow" and "block".
. UseTransportCostMatrix: "Transport" to "the transport".
Interface:
. AllowOfflineCirculation: change "Do not enable" to "Don't enable".
. ExportRemoveFields: add a full stop.
. ShowAllCheckins: change "Do not show" to "Don't show".
. UpdateTotalIssuesOnCirc: change "Do not" to "Don't".
Interlibrary loans:
. CirculateILL: add a full stop.
. ILLCheckAvailability: add a full stop.
Self check-in module (sci-main.pl):
. SelfCheckInModule: change "module. (available" to "module (available",
add a full stop.
Self check-out module (sco-main.pl):
. AutoSelfCheckAllowed: change "automatically login" to "automatically
log in".
. WebBasedSelfCheck: change "system. (available" to "system (available",
add a full stop.
Enhanced content
----------------
Novelist Select:
. NovelistSelectStaffView: change "staff" to "staff interface".
Babelthèque:
. Babeltheque_url_js: rewitten
. from "______ Defined the URL for the Babeltheque javascript file
(eg. http://www.babeltheque.com/bw_XX.js)"
. to "Use this URL for the Babelthèque javascript file: ________
(e.g. http://www.babeltheque.com/bw_XX.js)."
. Babeltheque_url_update: rewritten
. from "______ Defined the URL for the Babeltheque update
periodically (eq. http://www.babeltheque.com/.../file.csv.bz2)."
. to "Use this URL for the Babelthèque periodic update: _______ (e.g.
http://www.babeltheque.com/.../file.csv.bz2)."
I18N/L10N
---------
. dateformat and TimeFormat: Change "Note" to "NOTE" to be consistent
with other notes, change <b> tag to <strong> as it is more semantically
correct.
Logs
----
Debugging:
. DumpTemplateVarsIntranet: change "variable" to "variables" and "staff
intranet" to "staff interface".
. DumpTemplateVarsOpac: change "variable" to "variables".
Logging:
. AuthFailureLog: add full stop.
. AuthSuccessLog: add full stop.
OPAC
----
Appearance:
. BiblioDefaultView: change "bib" to "bibliographic".
. HighlightOwnItemsOnOPAC: change ". (Non-XSLT Only)" to " (non-XSLT
only).".
. OpacAdditionalStylesheet: change "specified" to "specific".
. OPACDisplay856uAsImage: change all options in the drop down list so
they start in lowercase.
. OpacHighlightedWords: change ";" to a full stop, add a full stop at
the end.
. OPACHoldingsDefaultSortField: add a full stop.
. OpacMaxItemsToDisplay: change "user" to "patron".
. OPACMySummaryHTML: change "user" to "patron".
. OpacSeparateHoldings: change "user's to "patron's".
. OpacStarRatings: change "user" to "patron" for the drop down option.
. OPACShowUnusedAuthorities: change "Do not show" to "Don't show".
. OPACUserSummary: change "user's to "patron's", change "fines" to
"charges".
. OPACXSLT*: change "Leave" to "leave".
. Remove empty row at bottom of appearance options.
Features:
. OpacBrowser: change "OPAC" to "the OPAC".
. OpacBrowseSearch: reword as "[Enable/Disable] interface for browsing
all holdings (Elasticsearch only)."
. OpacCloud: change "OPAC" to "the OPAC".
. OPACDetailQRCode: change "Don't enable" to "Disable".
. OPACFinesTab: change "Fines" to "charges", change "the My Accouunt" to
"their account". (Should now show as "..patrons to access the charges
tab on their account page on the OPAC."
. OpacHoldNotes: change "Do not allow" to "Don't allow", change "users"
to "patrons".
. OpacResetPassword: change "users" to "patrons", add full stop.
. SocialNetworks: change "in opac" to "on the OPAC".
Note: Also deleted lines with # in front of them for the OpacBrowser and
OpacCloud system preferences in the Policy section - these look like
duplicated entries to me (previously lines 600-611).
Policy:
. OPACFineNoRenewalsIncludeCredits: change "users" to "patrons".
Self registration and modification:
. PatronSelfRegistrationConfirmEmail: change "Do not require" to "Don't
require", change "users" to "patrons".
. PatronSelfRegistrationEmailMustBeUnique: change "Do not consider" to
"Don't consider".
. PatronSelfRegistrationPrefillForm: change "Do not display and prefill"
to "Don't display and prefill".
Patrons
-------
General:
. AllowPatronToControlAutorenewal: add full stop.
Notices and notifications:
. EnhancedMessagingPreferences: change "Staff" to "staff".
- FallbackToSMSIfNoEmail: change "Send" to "sending".
Patron forms:
. BorrowerUnwantedField: add full stop.
. CollapseFieldsPatronAddForm:
. Dropdown list changes:
.. "Organization/Patron identity" => "Patron identity".
.. "OPAC/Staff login" to "OPAC/Staff interface login".
. Requires changes to the memberentrygen.tt - check that the add and
edit form for a patron dispaly correctly:
.. change "Contact" to "Contact information".
.. change "Library set-up" to "Library setup".
.. change "OPAC/Staff login" to "OPAC/Staff interface login".
Patron relationships:
. PrefillGuaranteeField: change drop down list option "Main address -
street number" to "Main address - Street number" to match with format of
other entries.
Security:
. RequireStrongPassword: change "More" to "more".
Searching
---------
Search form:
. AdvancedSearchTypes: change "staff-side" to "staff interface".
. expandedSearchOption: change "staff" to "staff interface".
Serials
-------
. makePreviousSerialAvailable: change "Do not make" to Don't make";
"syspref" to "system preference".
. PreserveSerialNotes: change "Do not" to "Don't".
. RoutingListNote: change "Include following" to "Include the following"
Staff interface
---------------
Tab label and link:
. This tab was previously labelled "Staff client".
. Change tab label on the left hand side from "Staff client" to "Staff
interface".
. Change URL when selected from "preferences.pl?tab=staff_client" to
"preferences.pl?tab=staff_interface".
. Check that the link works as expected.
Appearance:
. IntranetFavicon: change "Staff" to "staff".
Tools
-----
Reports:
. NumSavedReports: change "Saved reports page" to "saved reports page".
Web services
------------
IdRef:
. IdRef: change "allows to request" to "allows requests for".
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
The headings/labels of sections in the sys pref editor didn't follow
Koha's capitalization rules.
To test:
- Go to Administration > System preferences
- Check all tabs for the spelling of the headings
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
At the moment noItemTypeImages pref controls staff and OPAC
display. With this patch, there will be a separate OpacNoItemTypes
preference that allows to control display of each separately.
To test:
- Apply patch and run database update
In Administration:
- Search for 'noItemTypes' preferences
- Verify the settings of both prefs match
- Toggle prefs, verify everything works ok
- Go to the item types configuration page
- Try different settings for both prefs:
- Both set to No: Only a message with a link to the prefs should show
- Both set to Yes or either set to Yes: image configuration options
should show
In the OPAC:
- Check the following pages with item-level_itypes = record
- advanced search
- detail page
- place hold page
- Check the following pages with item-level_itypes = item
- result list
- a list (opac-shelves)
- checkouts and overdues tabs in patron account
(Note: this didn't work right before, but will now.)
- reading history in patron account
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
To prevent invalid values in this pref (and so on the server), we should
make this input readonly on the syspref page.
The sysprefs related to Hea should be edited from the dedicated page, so
also adding a note about that.
Test plan:
Search syspref with "UsageStats"
Notice the note about the admin page
Notice the UsageStatsGeolocation input is now readonly (and resized, to
display the whole value when filled)
Signed-off-by: Maryse Simard <maryse.simard@inlibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Adds preference ElasticsearchMARCFormat that controls whether MARC records are stored as ISO2709/MARCXML or array. Array is searchable by field and also indexes all subfields in the _all field for searching.
Test plan:
1. Test that searching and indexing works with the patch without any changes.
2. Switch to array format and index some records.
3. Check e.g. the 008 field of a record and verify that the record can be found with the contents enclosed in quotes.
4. Check that it's possible to search for a specific field/subfield. Search query: marc_data_array.fields.655.subfields.a:Diaries
5. Check that tests still pass, especially t/Koha/SearchEngine/Elasticsearch.t
Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
The new sysprefs wher in the general admin section. I believe they are
better placed within the acquisitions area.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This patch adds 'None' to the available options for the feature so it
may be disabled entirely (and sets that as default)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Rebased and squashed after changes to master.
Only difference from previous patches are small adjustements to conflicts in t/db_dependent/Letters.t
Test plan:
1) Apply path
2) Run updatedatabase.pl
3) Clear all SendAllEmailsTo system preference
4) Send mail to a patron of your choosing, email will go to patron's
email address as usual.
5) Set SendAllEmailsTo to a test email address
6) Send mail to the patron, email will be redirected to the email set
in the systempreference.
7) Run prove -v t/db_dependent/Letters.t
It does not affect messages in the message_queue.
This patch obsoletes previous patches, because it achieves the same
functionality in a much more centralized way. (4 lines of code!)
Signed-off-by: Ed Veal <eveal@mckinneytexas.org>
Signed-off-by: BWS Sandboxes <ByWaterSandboxes@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Some libraries want to have IndependentBranches enabled, but still be
able to transfer items between themselves.
Test Plan:
1) Apply this patch
2) Run updatedatabase.pl
3) Enable IndpendentBranches and IndependentBranchesTransfers
4) Log in as a super librarian
5) Note you can transfer items
6) Log in as a non-super librarian
7) Note you cannot transfer items
8) Disable IndependentBranchesTransfers
9) Note you can now transfer items
Signed-off-by: Maribeth Shafer <mshafer@ckls.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Bug 10300: (QA follow-up) Make database update idempotent
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Default to base64 encoded binary MARC with MARCXML
fallback if record exceeds maximum size
Sponsored-by: Gothenburg University Library
Signed-off-by: Ere Maijala <ere.maijala@helsinki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Implement optimized indexing for Elasticsearch
How to test:
1) Time a full elasticsearch re-index without this patch by running the
rebuild_elastic_search.pl with the -d flag:
`koha-shell <instance_name> -c "time rebuild_elastic_search.pl -d"`.
2) Apply this patch.
3) Time a full re-index again, it should be about twice at fast (for a
couple of thousand biblios, with fewer biblios results may be more
unpredictable).
Sponsored-by: Gothenburg University Library
Signed-off-by: Ere Maijala <ere.maijala@helsinki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This patch adds references to cronjobs in the description of some system preferences.
The following system preference description were modified:
- StaticHoldsQueueWeight
- ExpireReservesMaxPickUpDelay
- AutoResumeSuspendedHolds
- finesMode
- DefaultLongOverdueLostValue
- DefaultLongOverdueChargeValue
- PatronSelfRegistrationExpireTemporaryAccountsDelay
- PatronSelfRegistrationVerifyByEmail
- EnhancedMessagingPreferences
- NewItemsDefaultLocation
- InProcessingToShelvingCart
- ReturnToShelvingCart
- ReturnToShelvingCart
- AuthorityMergeLimit
- OpacBrowser
- OpacCloud
- UsageStats
- PurgeSuggestionsOlderThan
- MembershipExpiryDaysNotice
To test, check the above mentioned system preferences to make sure the sentence is there and it is correct.
Followed test plan and patch is as described
Signed-off-by: Alex Buckley <alexbuckley@catalyst.net.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
https://bugs.koha-community.org/show_bug.cgi?id=12258
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
* installer/data/mysql/atomicupdate/ill_tables.sql: New file.
* installer/data/mysql/kohastructure.sql: Add tables.
* installer/data/mysql/sysprefs.sql: Add sysprefs.
* installer/data/mysql/userflags.sql: Add userflags.
* koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/admin.pref:
Add sysprefs to UI.
Signed-off-by: Magnus Enger <magnus@libriotech.no>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
10988 added the ability to log into the OPAC authenticating with
Google Open ID Connect. This extends it, by allowing an
unregistered patron to have an account automatically created
with default category code and branch.
This is accomplished by adding 3 system preferences.
- GoogleOpenIDConnectAutoRegister
whether it will attempt to auto-register the patron.
- GoogleOpenIDConnectDefaultCategory
This category code will be used to create Google OpenID Connect patrons.
- GoogleOpenIDConnectDefaultBranch'
This branch code will be used to create Google OpenID Connect patrons.
Sponsored-by: Tulong Aklatan
Signed-off-by: Eugene Jose Espinoza <eugenegf@yahoo.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This patch is the Koha part of the Hea v2 project.
You can find the (testing) code for the server at
hea-ws - https://github.com/joubu/hea-ws/commits/v2
hea-app - https://github.com/joubu/hea-app/commits/v2
They contain the different pull requests made over the last 6 months.
More information on Hea at https://wiki.koha-community.org/wiki/KohaUsageStat_RFC
The goal of this commit message is to provide an overview of what could
be a new version of Hea.
Prior to these changes, the Hea database was filled with 1 line per Koha
installation. System preferences were filled by the libraries and a
cronjob (share_usage_with_koha_community.pl) collected these values to send
them to a webservice (hea-ws/upload.pl).
With the need to collect more data we would want to collect data at the library
level (branch) and not at the installation level.
For instance the geolocation, the url or the country can be different from one
library to another, even if managed from the same Koha installation.
The Hea DB has been upgraded to reflect that change (see hea-app/sql/schema.sql).
The hidden goal of this patch is to make Hea sexier and explain
better to libraries how it can be useful to share their information
with the Koha community. I guess the main problem is the lack of
communication and explanations about what we are doing we these data.
To fill this gap I'd like to (TODO)
1. Communicate on the ML about this new version of Hea (once it got
pushed and backported)
2. Link the Privacy_Policy.md from the Hea interface
3. Get help from a native English speaker to add
popup/help/info/whatever on "Home › Administration › Usage statistics",
to clearly explain what happens (and what will not happen!) when an option or
another is set.
You can find screenshot of this whole enhancement on bug 18066, comment 2.
What this patch does:
- Create a new branches.geolocation DB field
- Add 3 new sysprefs:
* UsageStatsGeolocation
* UsageStatsLibrariesInfo
* UsageStatsPublicID
- Integrate the Leaflet JS library to get a fancy map to pick
geolocations
How does it works:
On the new administration page where statistics to share are configured,
there are several new things. It is now possible to share information either
per Koha installation or libraries. If UsageStatsLibrariesInfo is set,
the info at library level (url, name, country, geolocation) will be
sent to the Hea webservice. If it is not set, you can decide to fill
UsageStatsLibraryUrl, UsageStatsLibraryName, UsageStatsCountry,
UsageStatsGeolocation to share these information. Note that even if the
data are retrieved at installation level, it's better to fill the prefs
as well: On the Hea website the different libraries defined for a given
Koha installation could be displayed on the same page.
This page is a public page which will be attributed to every
installation (with the pref UsageStatsPublicID). On this page all the
info available publicly will be displayed.
TODO later:
- Add a button on the administration page to delete the info shared
publicly. It will be easy to show that the info are no longer displayed
on the public page.
- Add an icon per Koha installation to get a better "public page"
- Any suggestions?
Test plan:
We will need to test hea-ws, hea-app and the Koha-side code to test the
whole enhancement.
1/ To start, clone the hea-ws and hea-app project and checkout the
'master' branch (*not* 'v2')
2/ Create the hea database and user
CREATE DATABASE hea
CREATE USER 'hea'@'localhost' IDENTIFIED BY 'hea';
GRANT ALL PRIVILEGES ON hea.* TO 'hea'@'localhost';
FLUSH PRIVILEGES;
3/ Fill the DB with some data
mysql hea < hea-app/sql/schema.sql
mysql hea < hea-app/sql/sql/mock-data.sql
4/ Checkout the 'v2' branch for both hea-ws and hea-app
5/ Execute the upgrade DB script
% cd hea-app
% perl -p -i -e 's/REPLACE_ME/hea/' sql/upgrade.pl # Fill the DB info
% perl sql/upgrade.pl
Now the DB is using the v2 structure. That means we have 1 installation
row per library previously defined. 1 library row has also been created.
5/ Configure hea-ws
% echo '192.168.50.1 hea.koha-community.org' >> /etc/hosts
<VirtualHost *:80>
DocumentRoot "/path/to/hea-ws"
ServerName "hea.koha-community.org"
<Directory "/">
Options +ExecCGI
Require all granted
AddHandler cgi-script .pl
</Directory>
</VirtualHost>
And enable it with a2ensite, then restart apache.
The copy the database.yml.sample to database.yml and edit it to fill the
DB info.
6/ Launch the hea-app
% cd hea-app
% edit README.md # to install the missing modules
% cp environments/config.yml environments/development.yml
% edit environments/development.yml # to fill the DB info
% perl bin/app.pl
Then hit localhost:3000
You should see a local version of Hea with sample data
7/ Back to Koha side
A. We will test that the webservice still works with previous version of Koha (without v2)
a. Do not configure Hea
% perl misc/cronjobs/share_usage_with_koha_community.pl -f -v
Then hit localhost:3000
=> Nothing added
b. Configure Hea on admin/usage_statistics.pl
perl misc/cronjobs/share_usage_with_koha_community.pl -f -v
=> New library added
c. Modify the Hea configuration
perl misc/cronjobs/share_usage_with_koha_community.pl -f -v
=> Info are modified
B. Not we will test that it works with the new version (much more fun ;))
% git checkout hea-v2 # koha
a. Configure Hea using /admin/usage_statistics.pl
perl misc/cronjobs/share_usage_with_koha_community.pl -f -v
=> Check the result on localhost:3000
b. Share libraries's info
perl misc/cronjobs/share_usage_with_koha_community.pl -f -v
c. Continue to play a bit and share the info.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Persona never really took off, and although many browsers currently
support it, very few services actually implement it.
This has lead to it's founders, Mozilla, to end the project. In their
own words:
=============================================================================
Persona is no longer actively developed by Mozilla. Mozilla has
committed to operational and security support of the persona.org
services until November 30th, 2016.
On November 30th, 2016, Mozilla will shut down the persona.org services.
Persona.org and related domains will be taken offline.
If you run a website that relies on Persona, you need to implement an
alternative login solution for your users before this date.
For more information, see this guide to migrating your site away from
Persona:
https://wiki.mozilla.org/Identity/Persona_Shutdown_Guidelines_for_Reliers
=============================================================================
Given the above, and that the Persona authentication methods as a whole
are no longer being actively maintained by anyone anywhere to ensure
ongoing security, we should deprecate the option from koha.
Test plan:
Apply this patch and make sure you do not find any references of Persona
Have a look at patches from bug 9587 and confirm that everything has
been reverted
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Code looks good to me.
Also ran several tests including: Auth.t, Auth_with_shibboleth.t.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
This patch fixes sentence splitting and other translation issues in
file koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/admin.pref
to avoid odd translations.
To test:
- Without patch, open Home > Administration > System preferences
and go to tab 'Administration"
- Apply patch
- Open the same page in a new window and compare the text:
- Verify that no sentences are splitted
- Verify that the text changes do not introduce misunderstandings
and have the same meaning as without patch
Amended for comment #7 2016-07-12/mv
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Rebased to apply on master and re-inserted test (see comment #14) -2016-09-28/mv
Signed-off-by: Michael Kuhn <mik@adminkuhn.ch>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
See http://hea.koha-community.org/, the countries are filled is wrong
values.
If we decide to update the free text with a dropdown list, we need to
handle these wrong data.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
This will avoid syntax problems with Hea when a user will fill this 2 sysprefs
The default choice for UsageStatsLibraryType and UsageStatsCountry is 'empty'
Test Plan
---------
1. Create a new Koha install
2. Go to the 'Administration' page
3. Go to 'Global system preferences'
4. Go to 'Administration'
5. At the end of this page you should see a dropdown menu for
- UsageStatsCountry with all countries
- UsageStatsLibraryType with all type of library
They both should be empty by default.
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Not a complete list but is a start
Lots of new strings to translate :)
No errors
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Default timeout is now 12000000 seconds == almost 139 days !
Surely, your session will be shorter. But we should lower this
value.
Balancing usability and security, I propose 1d (1 day) now.
Current pref value will be affected only if it is NULL or equal
to the old default.
Test plan:
Check your current value. Optionally change to NULL or 12000000.
Run the dbrev and see what happens.
Beware of cached values while testing or flush the cache.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Test Plan (remains the same):
0) Back up your database
1) Apply all these patches
2) In your mysql client use your Koha database and execute:
> DELETE FROM systempreferences;
> SOURCE ~/kohaclone/installer/data/mysql/sysprefs.sql;
-- Should be no errors.
> SELECT * FROM systempreferences LIKE 'GoogleO%';
-- Should see 4 entries.
> QUIT;
3) Restore your database
4) Run ./installer/data/mysql/updatedatabase.pl;
5) In your mysql client use your Koha database and execute:
> SELECT * FROM systempreferences LIKE 'GoogleO%';
-- Should see the same 4 entries.
6) Log into the staff client
7) Home -> Koha administration -> Global system preferences
8) -> OPAC
-- make sure your OPACBaseURL is set (e.g. https://opac.koha.ca)
9) -> Administration
-- There should be a 'Google OAuth2' section with the ability
to set those 4 system preferences.
10) In a new tab, go to https://console.developers.google.com/project
11) Click 'Create Project'
12) Type in a project name that won't freak users out, like your
library name (e.g. South Pole Library).
13) Click the 'Create' button.
14) Click the 'APIs & auth' in the left frame.
15) Click 'Credentials'
16) Click 'Create new Client ID'
17) Select 'Web application' and click 'Configure consent screen'.
18) Select the Email Address.
19) Put it a meaningful string into the Product Name
(e.g. South Pole Library Authentication)
20) Fill in the other fields as desired (or not)
21) Click 'Save'
22) Change the 'AUTHORIZED JAVASCRIPT ORIGINS' to your OPACBaseURL.
(http://library.yourDNS.org)
23) Change the 'AUTHORIZED REDIRECT URIS' to point to the new
googleoauth2 script
(http://library.yourDNS.org/cgi-bin/koha/svc/auth/googleopenidconnect)
24) Click 'Create Client ID'
25) Copy and paste the 'CLIENT ID' into the GoogleOAuth2ClientID
system preference.
26) Copy and paste the 'CLIENT SECRET' into the GoogleOAuth2ClientSecret
system preference.
27) Change the GoogleOpenIDConnect preference to 'Use'.
28) Click 'Save all Administration preferences'
29) In the OPAC, click 'Log in to your account'.
-- You should get a confirmation request, if you are
already logged in, OR a login screen if you are not.
-- You need to have the primary email address set to one
authenticated by Google in order to log in.
30) Run koha qa test tools
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@quecheelibrary.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Amended patch: INSERT IGNORE INTO + msg
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Amended patch: INSERT IGNORE INTO + msg
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
The system preference AllowPkiAuth display under the heading
CAS authentication, but is actually a separate authentication
option. Patch creates a separate heading for it.
To test:
- Go to Administration > System preferences > Tab Administration
- Verify that AllowPkiAuth is now displayed separately
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>