Koha/C4
Jonathan Druart 172ebfe520 Bug 16431: Use Koha::Cache to cache marc subfield structure
The marc subfield structure is currently cached using a global variable
of C4::Context. The infos are retrieved every time a new context is
created.
This patch suggests to use Koha::Cache instead.

To achieve this goal, a new subroutine is created
C4::Biblio::GetMarcSubfieldStructure, it will be called from code which
needs to get the marc subfield structure. GetMarcFromKohaField,
GetMarcSubfieldStructureFromKohaField, TransformKohaToMarc and
_get_inverted_marc_field_map are modified accordingly and the cache is cleared
when the table is updated (from the 3 pl scripts modified by this patch).

The caching done in C4::Context (marcfromkohafield) is removed.

Test plan:
Play with the marc subfield structure (in the administration module),
then add and edit records and make sure everything went fine.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Everything works as expected on my functional tests. I'm really happy to see the
patch introduces relevant tests for previously untested functions.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2016-07-08 12:44:58 +00:00
..
AuthoritiesMarc Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
Barcodes Bug 16635: [QA Follow-up] Eliminate some global package vars 2016-06-10 17:58:48 +00:00
Bookseller
ClassSortRoutine Bug 16011: $VERSION - Remove use vars qw(); 2016-03-24 17:20:39 +00:00
Creators Bug 16011: $VERSION - Remove empty BEGIN block 2016-03-24 17:20:41 +00:00
External Bug 16636: [QA Follow-up] Make BakerTaylor plack safe 2016-06-10 18:00:22 +00:00
Form Bug 16259: Replace CGI->param with CGI->multi_param in list context - part 2 2016-05-16 17:28:06 +00:00
Heading Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
ILSDI Bug 16320: [QA Follow-up] Remove warnings from ILSDI/Services.pm 2016-04-29 16:02:53 +00:00
Installer Bug 16770: Remove Memoize::Memcached dependency 2016-06-24 14:05:56 +00:00
Labels Bug 16011: $VERSION - Remove empty BEGIN block 2016-03-24 17:20:41 +00:00
Linker
Members Bug 16443: Make C4::Members::Statistics plack safe 2016-06-10 16:35:09 +00:00
OAI
Output
Patroncards Bug 16011: $VERSION - Remove empty BEGIN block 2016-03-24 17:20:41 +00:00
Reports Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
Search
Serials Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
SIP Bug 16492 - Checkouts ( and possibly checkins and other actions ) will use the patron home branch as the logged in library 2016-06-10 17:31:19 +00:00
Utils Bug 16316 - Limit patron search to surname 2016-04-29 15:53:24 +00:00
Accounts.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
Acquisition.pm Bug 15531: (followup) Use a quantity of 1, not null, for standing orders 2016-04-29 13:07:18 +00:00
Auth.pm Bug 16492: Add a FIXME to explain the possible problem with no_set_userenv 2016-06-10 17:31:19 +00:00
Auth_cas_servers.yaml.orig
Auth_with_cas.pm Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
Auth_with_ldap.pm Bug 11807: (follow-up) remove date conversions 2016-04-01 19:23:42 +00:00
Auth_with_shibboleth.pm Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
AuthoritiesMarc.pm Bug 16431: Use Koha::Cache to cache marc subfield structure 2016-07-08 12:44:58 +00:00
BackgroundJob.pm Bug 16011: $VERSION - Remove empty BEGIN block 2016-03-24 17:20:41 +00:00
Barcodes.pm Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
Biblio.pm Bug 16431: Use Koha::Cache to cache marc subfield structure 2016-07-08 12:44:58 +00:00
Bookseller.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
Boolean.pm Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
Branch.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
Breeding.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
Budgets.pm Bug 15009: QA follow-up 2016-04-29 13:00:21 +00:00
Calendar.pm Bug 15333: Use Koha::Cache to cache exception_holidays instead of a package variable 2016-05-25 22:18:27 +00:00
Category.pm
Charset.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
Circulation.pm Bug 14048: (followup) Use the original holding branch 2016-07-07 10:37:01 -06:00
ClassSortRoutine.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
ClassSource.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
Context.pm Bug 16431: Use Koha::Cache to cache marc subfield structure 2016-07-08 12:44:58 +00:00
Contract.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
CourseReserves.pm Bug 16011: $VERSION - remove use vars $VERSION 2016-03-24 17:20:26 +00:00
Creators.pm Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
Csv.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
Debug.pm Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
Heading.pm Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
HoldsQueue.pm Bug 15533 - Allow patrons and librarians to select itemtype when placing hold 2016-04-29 10:26:03 +00:00
HTML5Media.pm Bug 14168: (followup) require WWW::YouTube::Download only when syspref enabled 2016-03-03 18:47:03 +00:00
Images.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
ImportBatch.pm Bug 16169: Change prototype for C4::Biblio::TransformMarcToKoha 2016-04-07 00:04:21 +00:00
ImportExportFramework.pm Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
InstallAuth.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
Installer.pm Bug 14048: Add RefundLostItemFeeRule table and classes 2016-07-07 10:37:01 -06:00
ItemCirculationAlertPreference.pm
Items.pm Bug 13074: Use Koha::Cache to cache the defaults values of a MARC record 2016-06-17 14:29:59 +00:00
Koha.pm Bug 16157: Move the selected flag from GetAuthorisedValues to the templates 2016-04-07 00:16:09 +00:00
Labels.pm Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
Languages.pm Bug 16770: Remove wrong caching of 3 subroutines in C4::Lancuages 2016-06-24 14:05:56 +00:00
Letters.pm Bug 16624: Fix regression displaying a letter with hours 2016-06-24 11:57:07 +00:00
Linker.pm
Log.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
MarcModificationTemplates.pm Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
Matcher.pm Bug 12478: make things using SimpleSearch use the new version 2016-04-26 20:20:07 +00:00
Members.pm Bug 16426: follow-up of bug 15840 - correctly manage userid while inserting patrons 2016-05-06 03:41:37 +00:00
Message.pm
NewsChannels.pm Bug 16550: Can't set opac news expiration date to NULL, it reverts to today 2016-05-23 17:37:48 +00:00
Output.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
Overdues.pm Bug 16496 - accountlines.issue_id not set when new overdue is processed 2016-05-11 10:37:12 +00:00
Patroncards.pm Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
Print.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
Ratings.pm Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
Record.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
Reports.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
Reserves.pm Bug 14968 - found shouldn't be set to null when cancelling holds 2016-07-08 12:42:59 +00:00
Review.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
Ris.pm Bug 16668: Fix t/Ris.t tests 2016-06-10 16:59:20 +00:00
RotatingCollections.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
Scheduler.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
Scrubber.pm Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
Search.pm Bug 15263: Bug 15263: (follow-up 2) XSLT display fetches sysprefs for every result processed 2016-05-04 13:40:35 +00:00
Serials.pm Bug 16692 - Error "No method update!" when creating new serial issue 2016-06-17 14:37:00 +00:00
Service.pm
ShelfBrowser.pm Bug 16315 - OPAC Shelfbrowser doesn't display the full title 2016-05-05 18:28:16 +00:00
SMS.pm Bug 16011: $VERSION - Remove empty BEGIN block 2016-03-24 17:20:41 +00:00
SocialData.pm
Stats.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
Suggestions.pm Bug 16325: Do not return all suggestions if search for STATUS='' 2016-05-05 20:46:02 +00:00
Tags.pm Bug 16637: Dependency for C4::Tags not listed 2016-06-10 18:05:10 +00:00
Templates.pm Bug 16088: Introduce Koha::Cache::Memory::Lite to cache the language 2016-06-04 07:43:22 +00:00
TmplToken.pm Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
TmplTokenType.pm Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
TTParser.pm
UsageStats.pm Bug 14048: (QA followup) Update syspref name for HEA 2016-07-07 10:37:01 -06:00
XISBN.pm Bug 12478: make things using SimpleSearch use the new version 2016-04-26 20:20:07 +00:00
XSLT.pm Bug 15485: Use lists-specific XSLT sysprefs 2016-06-24 13:30:30 +00:00