Created attachment 51139 [details] [review] 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.
Master is moving fast fatal: sha1 information is lacking or useless (admin/biblio_framework.pl). Repository lacks necessary blobs to fall back on 3-way merge. Cannot fall back to three-way merge. Patch failed at 0001 Bug 16431: Use Koha::Cache to cache marc subfield structure
Sorry, forgot the dependency.
Created attachment 51380 [details] [review] 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.
Created attachment 52813 [details] [review] 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>
Pushed to master for 16.11, thanks Jonathan!
Pushed in 16.05. Will be in 16.05.02.
*** Bug 16744 has been marked as a duplicate of this bug. ***