Ditto what Jonathan said. CGI::Session::Serializer::yamlxs is 100% a Koha module at this point. Doesn't exist on CPAN.
In this case, I created #28519 to make it easier to use additional namespaces beyond C4 and Koha (and historically OpenILS) without having to update Makefile.PL. Of course, I had to update Makefile.PL for #28519, but I was trying to future-proof us a bit, and trying to provide a way for us to hopefully one day transition all the Perl modules into "./lib", so that we could get the benefits you described, Thomas. David Cook Software Engineer Prosentient Systems Suite 7.03 6a Glen St Milsons Point NSW 2061 Australia Office: 02 9212 0899 Online: 02 8005 0595 -----Original Message----- From: Koha-devel <koha-devel-boun...@lists.koha-community.org> On Behalf Of Jonathan Druart Sent: Tuesday, 15 June 2021 7:26 PM To: koha-devel <koha-devel@lists.koha-community.org> Subject: Re: [Koha-devel] some thoughts on #28519 regarding lib Hi Thomas, I've sent the following notes to the QA team, but maybe it needed to be public. The history behind 28519 is not trivial :) """ To clarify and explain a bit more what we are doing here (to those outside of the loop): - We switched from YAML[::Syck] to YAML::XS (22824, 27673) - We had to replace the YAML serializer provided by CGI::Session (no YAML::XS serializer exists in cpan). - We decided to switch back to the default serializer (using Data::Dumper), which we used a looong time ago in Koha already, but faced... encoding problems. However we couldn't replicate them and thought we were safe (28317). - 21.05.00 is released and we discover a bug (28489), there is an encoding issue caused by Data::Dumper (and more precisely its C implementation, see bug 28489 comment 13 for more info). To add to the confusion: the bug appears only if strict_sql_modes is on. - We need a fix for 21.05.01! - There are several options we investigate on Friday, lot seems to be working but few really work: * $Data::Dumper::Useperl=1 (maybe) * Reintroduce YAML::Syck and get back to CGI::Session::Serializer::YAML * Use our own YAML::XS serializer (which has been suggested when we moved to Data::Dumper already) We decided to go with the latter and Andrew wrote a patch. A bit hacky as the Serializer::yamlxs code was inside C4::Auth. David wrote a follow-up (28519) to clean it and move the code to a separate file. What's next? - We need 28489 for 21.05.01 - Ideally we need 28519 as well! - We should move to Data::Session and decide on the JSON serializer or write our YAML::XS serializer for Data::Session (17427) """ We actually need CGI::Session::Serializer::yamlxs, not CGI::Session (we are still installing it from the debian package). Hope that clarifies Cheers, Jonathan Le mar. 15 juin 2021 à 10:48, Thomas Klausner <d...@plix.at> a écrit : > > Hi! > > without knowing a lot of Koha-internals (still..), I'd strongly prefer > to have all the code in a lib dir (as is standard in Perl apps / > modules for ages). > > There are also a lot of tools available to make using code stored > `lib` (but not "installed" in the system, i.e. only available in the > checkout) easy. The simplest is of course 'lib': > https://perldoc.perl.org/lib > > Or more complex like https://metacpan.org/pod/lib::projectroot (which > I wrote some time ago to handle a Monorepo setup; it also includes a > comparison of different modules in the SEE ALSO section) > > OTOH, CGI::Session::Serialize is a cpan module, so technically it > should not be checked out into the app code `lib`, but installed as a > dependency. There are even more ways to handle installing of > dependencies and the finding them, but the currently most comfortable > one is https://metacpan.org/pod/Carton. Or (if running everything via > Carton is too much of a change), a combination of > https://metacpan.org/pod/local::lib and a modern CPAN client > (https://metacpan.org/pod/App::cpanminus or > https://metacpan.org/pod/App::cpm. > > I did not want to spam the actuall ticket with this, as I'm not sure > if any of this is in fact relevant to the bug, and/or matches the > current plans for Koha. > > Greetings, > domm > > > -- > #!/usr/bin/perl https://domm.plix.at > for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} > _______________________________________________ > Koha-devel mailing list > Koha-devel@lists.koha-community.org > https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel > website : https://www.koha-community.org/ git : > https://git.koha-community.org/ bugs : > https://bugs.koha-community.org/ _______________________________________________ Koha-devel mailing list Koha-devel@lists.koha-community.org https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel website : https://www.koha-community.org/ git : https://git.koha-community.org/ bugs : https://bugs.koha-community.org/ _______________________________________________ Koha-devel mailing list Koha-devel@lists.koha-community.org https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel website : https://www.koha-community.org/ git : https://git.koha-community.org/ bugs : https://bugs.koha-community.org/