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/

Reply via email to