A complete rewrite of MARC21 optional instalation files from SQL to YAML is presented, one patch for each file, the result could be squashed. The goal is to allow the translation of the installation files
Created attachment 98494 [details] [review] Bug 24593: Rewrite marc21_default_matching_rules to YAML YAML version of marc21 optional marc21_default_matching_rules. To test: 1) Do a clean install with optional data, dump table marc_matchers, reserve. 2) Apply this patch and it's dependencies 3) Do a clean install, dump again and compare No major differences expected 4) Try translation a) Go to misc/translator b) create files for a new language ./translate create xx-YY c) Check new file po/xx-YY-instaler-MARC21.po Verify strings from this file. d) Install new language ./translate install xx-YY e) Try clean install with new files NOTE: This patch fails with qa tools! Reason is that qa tools use YAML.pm module to check files, but Installer.pm or LangInstaller.pm are using YAML::Syck, using that module gives no error, check for example: perl -e 'use YAML::Syck qw( LoadFile ); $y = LoadFile("marc21_default_matching_rules.yml");' No error! perl -e 'use YAML qw( LoadFile ); $y = LoadFile("marc21_default_matching_rules.yml");' Error!
Created attachment 98495 [details] [review] Bug 24593: Rewrite marc21_sample_fastadd_framework to YAML YAML version of marc21_sample_fastadd_framework To test: 1) Same test plan of first patch NOTE: Same problem as first patch with qa tools
Created attachment 98496 [details] [review] Bug 24593: Rewrite marc21_simple_bib_frameworks to YAML YAML version of marc21_simple_bib_frameworks To test: 1) Same test plan of first patch NOTE: Same problem as first patch with qa tools
Created attachment 99416 [details] [review] Bug 24593: Rewrite marc21_default_matching_rules to YAML YAML version of marc21 optional marc21_default_matching_rules. To test: 1) Do a clean install with optional data, dump table marc_matchers, reserve. 2) Apply this patch and it's dependencies 3) Do a clean install, dump again and compare No major differences expected 4) Try translation a) Go to misc/translator b) create files for a new language ./translate create xx-YY c) Check new file po/xx-YY-instaler-MARC21.po Verify strings from this file. d) Install new language ./translate install xx-YY e) Try clean install with new files NOTE: This patch fails with qa tools! Reason is that qa tools use YAML.pm module to check files, but Installer.pm or LangInstaller.pm are using YAML::Syck, using that module gives no error, check for example: perl -e 'use YAML::Syck qw( LoadFile ); $y = LoadFile("marc21_default_matching_rules.yml");' No error! perl -e 'use YAML qw( LoadFile ); $y = LoadFile("marc21_default_matching_rules.yml");' Error! Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Created attachment 99417 [details] [review] Bug 24593: Rewrite marc21_sample_fastadd_framework to YAML YAML version of marc21_sample_fastadd_framework To test: 1) Same test plan of first patch NOTE: Same problem as first patch with qa tools Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Created attachment 99418 [details] [review] Bug 24593: Rewrite marc21_simple_bib_frameworks to YAML YAML version of marc21_simple_bib_frameworks To test: 1) Same test plan of first patch NOTE: Same problem as first patch with qa tools Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Works well.. Signing off. Side note.. we should really standardise on a single YAML module for our parsing :(.
Created attachment 100139 [details] [review] Bug 24593: (followup) fix sql statements Original inserted values depends on the order of insertion. This patch rewrites the sql statements to make them order independent
Created attachment 100366 [details] [review] Bug 24593: Rewrite marc21_default_matching_rules to YAML YAML version of marc21 optional marc21_default_matching_rules. To test: 1) Do a clean install with optional data, dump table marc_matchers, reserve. 2) Apply this patch and it's dependencies 3) Do a clean install, dump again and compare No major differences expected 4) Try translation a) Go to misc/translator b) create files for a new language ./translate create xx-YY c) Check new file po/xx-YY-instaler-MARC21.po Verify strings from this file. d) Install new language ./translate install xx-YY e) Try clean install with new files NOTE: This patch fails with qa tools! Reason is that qa tools use YAML.pm module to check files, but Installer.pm or LangInstaller.pm are using YAML::Syck, using that module gives no error, check for example: perl -e 'use YAML::Syck qw( LoadFile ); $y = LoadFile("marc21_default_matching_rules.yml");' No error! perl -e 'use YAML qw( LoadFile ); $y = LoadFile("marc21_default_matching_rules.yml");' Error! Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Created attachment 100367 [details] [review] Bug 24593: Rewrite marc21_sample_fastadd_framework to YAML YAML version of marc21_sample_fastadd_framework To test: 1) Same test plan of first patch NOTE: Same problem as first patch with qa tools Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Created attachment 100368 [details] [review] Bug 24593: Rewrite marc21_simple_bib_frameworks to YAML YAML version of marc21_simple_bib_frameworks To test: 1) Same test plan of first patch NOTE: Same problem as first patch with qa tools Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Created attachment 100369 [details] [review] Bug 24593: (followup) fix sql statements Original inserted values depends on the order of insertion. This patch rewrites the sql statements to make them order independent Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Nice work everyone! Pushed to master for 20.05
enhancement not backported to 19.11.x