14:00:16 <Joubu> #startmeeting Development IRC meeting 29 September 2021
14:00:16 <huginn> Meeting started Wed Sep 29 14:00:16 2021 UTC.  The chair is Joubu. Information about MeetBot at http://wiki.debian.org/MeetBot.
14:00:16 <huginn> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
14:00:16 <huginn> The meeting name has been set to 'development_irc_meeting_29_september_2021'
14:00:26 <Joubu> #topic Introductions
14:00:42 <Joubu> #link https://wiki.koha-community.org/wiki/Development_IRC_meeting_29_September_2021
14:00:46 <Joubu> #info Jonathan Druart
14:00:53 <marcelr> #info Marcel de Rooy, Rijksmuseum, The Netherlands
14:01:36 <thd> #info Thomas Dukleth, Agogme, New York City
14:01:49 <ashimema> #info Martin Renvoize, PTFS Europe
14:02:13 <kidclamp> #info Nick Clemens, ByWater Solutions
14:02:20 <tuxayo> #info Victor Grousset, Tuxayo Global Services Inc., France
14:02:23 <henryb> #info Henry Bolshaw, House of Lords Library, UK
14:03:09 <khall_> #info Kyle M Hall, ByWater Solutions
14:03:20 <Joubu> #topic Announcements
14:03:27 <Joubu> Anyone have something?
14:04:00 <ashimema> not i
14:04:29 <Joubu> #topic Update from the Release Manager (21.11)
14:04:37 <Joubu> Back from a break, I will be around full speed until the release.
14:04:51 <Joubu> First, you must upgrade your Koha instances in production. Last releases contain important security bug fixes.
14:05:07 <Joubu> Then, devs should `docker pull` to pull the latest koha-testing-docker images. A new dependency has been pushed this morning.
14:05:14 <Joubu> A workaround is to install it via apt (libemail-address-perl).
14:05:39 <Joubu> About 21.11:
14:05:52 <Joubu> There is only one month left before the feature freeze, there is still some time for big things to get in but we need to speed up.
14:06:10 <Joubu> I would like devs to list their priorities for 21.11. We need to help each others and focus on helping everyone's priorities.
14:06:25 <Joubu> If you have things from the roadmap that need test or review, let me know and I will put them on top of my list.
14:06:42 <ashimema> +1
14:06:54 <Joubu> My priorities are flagged with the RM_priorities bugzilla keyword, and are still the same since the beginning of the release cycle (as very few have been pushed).
14:07:14 <Joubu> https://frama.link/koha_bz_RM_priority
14:07:27 <Joubu> Here is my top 5:
14:07:35 <Joubu> bug 28445 (additional work is stuck because of that one)
14:07:35 <huginn> 04Bug https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28445 enhancement, P5 - low, ---, jonathan.druart+koha, Needs Signoff , Use the task queue for the batch delete and update items tool
14:07:38 <Joubu> bug 27829
14:07:38 <huginn> 04Bug https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27829 enhancement, P5 - low, ---, koha-bugs, NEW , [OMNIBUS] Remove specific LANG installer data
14:07:42 <Joubu> bug 3142,
14:07:42 <huginn> 04Bug https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=3142 normal, P5 - low, ---, jonathan.druart+koha, Needs Signoff , Standardize how OPAC and staff determine requestability
14:07:47 <Joubu> bug 28413
14:07:47 <huginn> 04Bug https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28413 enhancement, P5 - low, ---, jonathan.druart+koha, Signed Off , background job worker is running with all the modules in RAM
14:08:02 <Joubu> and the accessibility bugs (see bz kw 'accessibility', there are currently 6 waiting for SO).
14:08:15 <Joubu> I will send an email to koha-devel later this week about that.
14:08:38 <Joubu> Ha, and there is also the Flatpickr move. oleonard, do we have an omnibus for them?
14:09:03 <Joubu> https://bugs.koha-community.org/bugzilla3/buglist.cgi?quicksearch=Flatpickr&list_id=385606
14:09:06 <Joubu> should be that list
14:09:22 <thd> oleonard: Left a note that he would not be available for this meeting.
14:09:27 <Joubu> we need the move completed for 21.11 or we will have to maintain 2 plugins
14:09:37 <Joubu> thd: indeed
14:09:48 <Joubu> that's all for me, any questions?
14:10:53 <henryb> Not a question but I will SO some of the accessibility bugs today or tomorrow
14:11:04 <Joubu> thanks!
14:11:20 <Joubu> #topic Updates from the Release Maintainers
14:11:20 <ashimema> flatpickr is near the top of my list
14:11:38 <ashimema> I've unblocked the hard one now and intend to QA the rest this afternoon :)
14:12:03 <marcelr> magnuse should reply to the normarc deletion patches
14:12:20 <Joubu> marcelr: he agreed to remove NORMARC support for 21.11
14:12:56 <tuxayo> #info security release went out, thanks Joubu and mtj for the specific work there.
14:13:23 <Joubu> release_team++
14:13:26 <Joubu> it was a tricky one
14:13:35 <Joubu> we identified some flaws in our workflow
14:13:40 <henryb> Is flatpickr only on staff client?
14:13:48 <ashimema> for now
14:13:50 <Joubu> we should improve how we deal with security release to make things easier for everybody, it's on my list
14:14:24 <marcelr> it would be nice to see if a secu patch is on the move to being backported or just passed qa
14:14:48 <Joubu> marcelr: what would you suggest? A comment from the RM?
14:15:10 <marcelr> that might help already; now it is probably only a mail or so
14:16:04 <Joubu> the biggest of our problem is that we don't have CI for the security repo
14:16:34 <tuxayo> indeed ^^
14:16:49 <Joubu> we should also try and provide patches for older versions, but we also have troubles with the 4 we support
14:17:07 <Joubu> another idea would be to have a LTS version
14:17:25 <Joubu> I will be working on a proposal during the next month
14:17:35 <Joubu> moving on?
14:18:09 <ashimema> :)
14:18:25 <Joubu> #topic Updates from the QA team
14:18:58 <marcelr> 70 / 15 = 4,5 ?
14:19:42 <Joubu> 70/15
14:19:45 <Joubu> 70/15?
14:19:45 <wahanui> 4.66666666666667
14:19:48 <Joubu> almost
14:19:50 <Joubu> why 15?
14:19:59 <marcelr> o maybe 14 (qa team size)
14:20:07 <Joubu> 70/13?
14:20:08 <wahanui> 5.38461538461539
14:20:20 <marcelr> 70 is the SO queue now
14:20:21 <Joubu> so yes, 6 each and we are done
14:21:23 <Joubu> something else?
14:21:42 <marcelr> bug 28883
14:21:42 <huginn> 04Bug https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28883 normal, P5 - low, ---, tomascohen, In Discussion , Koha::Objects->_new_from_dbic doesn't work correctly in list context
14:21:58 <marcelr> we touch this discussion in other reports too
14:23:24 <Joubu> to me we should remove wantarray, it will make sense easier
14:23:37 <Joubu> and we won't need the scalar trick in the template anymore
14:24:01 <marcelr> yes we need people to be more aware of the danger of chaining methods in templates
14:24:03 <Joubu> but it seems that others prefer the reverse
14:24:57 <tuxayo> > danger of chaining methods in templates
14:24:58 <tuxayo> what are these dangers?
14:25:01 <Joubu> the low number of occurrences of scalar in .tt shows that we don't chain much
14:25:08 <marcelr> the reverse means that you need to put scalar everywhere in the templates
14:25:25 <tcohen> I've just found a case in the wild...
14:25:26 <Joubu> everywhere you chain :)
14:26:01 <tcohen> well, a case in which a dev thought _new_from_dbic honoured list context
14:26:03 <Joubu> it's not even using scalar, it's using it in a weird way. You have to split the calls, like you discovered it in one of the comments of the bug
14:26:08 <marcelr> tuxayo: have a look at the report
14:26:47 <marcelr> object.method1.method2 is in TT somethings else than in perl
14:27:28 <Joubu> TT is calling in list context, it's in the doc, nothing wrong :)
14:27:43 <marcelr> hmm i think that was a bad choice in TT
14:27:45 <Joubu> My opinion is that, currently, we don't have people available to work on such big tasks.
14:27:55 <tcohen> we do
14:28:02 <Joubu> both solutions are time consuming
14:28:21 <marcelr> i agree that it is hard to go that road now but we are somewhere in the middle
14:28:35 <marcelr> or on 0.25 ?
14:28:38 <Joubu> we have been in the middle for years, nothing new
14:28:45 <marcelr> lol
14:29:05 <tuxayo> ok I see: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28883#c47
14:29:05 <huginn> 04Bug 28883: normal, P5 - low, ---, tomascohen, In Discussion , Koha::Objects->_new_from_dbic doesn't work correctly in list context
14:29:12 <Joubu> we need to move on, several topics left. But let's continue after the meeting or on the bug
14:29:45 <Joubu> #topic Actions from last meeting.
14:29:50 <Joubu> nothing here
14:29:59 <Joubu> #topic Informal feedback & highlights from koha-US conference
14:30:04 <Joubu> Who added that?
14:30:30 <Joubu> tuxayo: ?
14:30:53 <marcelr> was a bit dark there?
14:30:57 <marcelr> no highlights
14:31:02 <tcohen> LOL
14:31:17 <tuxayo> oh it was me, in case someone who was there wanted to mention stuff to get other to check it out
14:31:30 <tuxayo> (i didn't check if there was recordings)
14:31:55 <Joubu> kidclamp maybe?
14:32:25 <Joubu> https://koha-us.org/conference2021/#recordings
14:32:34 <tuxayo> :D
14:32:45 <Joubu> everything is there
14:32:57 <marcelr> give us the highlights tuxayo :)
14:33:12 <Joubu> action tuxayo what the koha-us conference and write a summary
14:33:15 <Joubu> watch
14:33:21 <tuxayo> I didn't attend sorry
14:33:24 <tuxayo> lol
14:33:34 <thd> For some portion of everything perhaps :)
14:33:58 <tuxayo> nope, if I want to get rid of some big stuff so I can get back to SO and QA
14:34:13 <Joubu> #topic Roles for 22.05
14:34:30 <Joubu> I will create the page and send the link to the list, right after the meeting
14:34:52 <Joubu> #topic General development discussion (trends, ideas, ...)
14:35:19 <Joubu> marcelr, tcohen: would like to continue the list/scalar context discussion now?
14:35:34 <tcohen> yes
14:35:36 <marcelr> not necessarily
14:35:47 <magnuse> #info Magnus Enger, Libriotech, Norway
14:35:47 <tcohen> trade offs
14:35:50 <marcelr> raising awareness
14:36:02 <tcohen> #info Tomás Cohen Arazi
14:36:24 <tcohen> I think it is one of those things that are worth, once sorted, things are clearer for devs
14:36:48 <tcohen> right now they will need to identify methods that rely on _new_from_dbic from those calling ->search
14:37:13 <marcelr> yeah but the templating side is no improvement
14:38:07 <tcohen> the scalar. builtin module didn't work, right?
14:38:14 <marcelr> lets build a wrapper around TT, haha
14:38:23 <marcelr> yes it needs stash
14:38:34 <Joubu> since we have a as_list method, I don't understand why we wouldn't help ourself having everything return an iterator, and let callers *explicitely* ask for a list when they need it
14:38:36 <ashimema> I'm not sure
14:38:49 <ashimema> I got condused between the options honestly
14:39:02 <tcohen> Joubu: that would mean changing the ->search behavior as well?
14:39:15 <marcelr> for consistency yes
14:39:17 <Joubu> yes, remove wantarray
14:39:19 <ashimema> that is a TT scalar plugin.. there is our own Scalar plugin and there is also TT::Stash::Context or something
14:39:23 <Joubu> from everywhere
14:39:50 <marcelr> maybe we should add sub hatearaay
14:39:53 <marcelr> hatearray
14:40:22 <tcohen> if we go that route, we should certainly think of raising an exception in list context
14:40:38 <marcelr> theoretically i would prefer the list context but the tt is a large drawback
14:40:45 <tcohen> ah no, that would break all templates, nm
14:41:51 <Joubu> you cannot return an array, because most of the time you want an iterator
14:42:03 <Joubu> you can get an array from an iterator (ofc not the reverse)
14:42:08 <marcelr> was there never any request for TT to use scalar context in chaining ?
14:42:25 <marcelr> it should not be that hard ??
14:42:53 <tcohen> marcelr: Joubu solved it, in a non-elegant way, but technically solved it
14:43:10 <ashimema> https://metacpan.org/pod/Template::Stash::Context
14:44:31 <thd> One can always test for some data type and transform the data into whatever data type is expected when the data is returned in some unexpected type.
14:44:57 <marcelr> adding .scalar is not the solution i was thinking of ashimema
14:45:19 <tcohen> I like explicitly addinig .scalar
14:45:26 <marcelr> obejct.method1.method2 should mean method1 is scalar context
14:45:33 <thd> tcohen: Is there an elegant solution?
14:46:13 <tcohen> I would prefer a dotted chaining solution to Scalar( object, method )
14:46:23 <ashimema> me too
14:46:35 <marcelr> tcohen .scalar is ugly too
14:46:38 <ashimema> frankly I just find it confusing that TT always calls in list context
14:46:43 <ashimema> yup
14:46:46 <Joubu> it didn't work when I tried
14:46:56 <marcelr> no you need stash module
14:47:18 <Joubu> and I guess that's why I wrote our own TT plugin
14:47:28 <tcohen> which works like a charm
14:47:37 <tcohen> but we cannot do that everywhere
14:47:42 <Joubu> no
14:47:53 <marcelr> remember that problem in an AR patch about the Biblio plugin ?
14:48:01 <Joubu> where do you need it?
14:48:02 <marcelr> charm is not my word haha
14:48:05 <Joubu> what's the root of the problem?
14:48:17 <Joubu> so far we have Context.Scalar called in 2 files
14:48:52 <marcelr> i wont change scope further ..
14:48:53 <Joubu> and they are include files (that's why it was ugly to have the code duplicated in the controller and easier to pass the orders iterator)
14:49:53 <ashimema> dbic has 'force scalar' for all relation accessors built in btw
14:49:58 <ashimema> that's how they get around it
14:50:01 <tuxayo> Are there obtables the handle all the data preparation in the .pl files ? To not need logic in the .tt (other than loops and conditions on data immediately available, no dot calls)
14:50:19 <ashimema> there are _rs versions of every relation that dbic adds
14:50:26 <Joubu> tuxayo: yes, code duplication
14:50:27 <ashimema> but that would be a bit of a pain to add to koha objects
14:50:59 <ashimema> obtables ?
14:51:10 <tuxayo> *obstacles
14:51:14 <marcelr> or only disallow chaining them ?
14:51:33 <tuxayo> > code duplication
14:51:33 <tuxayo> indeed,it can be tricky
14:51:42 <marcelr> but hard to parse probably
14:51:43 * tcohen is not that worried about code duplication
14:51:48 <Joubu> lol
14:51:49 <Joubu> I am
14:52:19 <Joubu> when we need info for the toolbars, we have code duplicated in all the controllers of the module (say acquisition)
14:52:30 <Joubu> that's why I am fighting
14:52:30 <tcohen> I prefer to calculate more things in the controllers, and wait for TT 10 to handle scalar context
14:52:31 <tcohen> haha
14:52:44 <marcelr> Joubu use a module haha
14:53:20 <Joubu> can you remind me the problem with explicitely call ->as_list when we need an array?
14:53:39 <tcohen> inconsistent behavior
14:53:40 <Joubu> as it solves the different problems we are having, what's the real problem with that?
14:53:52 <Joubu> not if you implement it everywhere and remove wantarray, as I am suggesting
14:54:13 <tcohen> you still need to track all the uses in list context
14:54:31 <marcelr> do our templates now also expect lists from ->items e.g.
14:54:36 <Joubu> yes, but a change in whatever direction will be painful
14:55:03 <marcelr> i know the answer already :)
14:55:53 <tcohen> both paths are painful
14:56:04 <marcelr> what is the biggest one ?
14:56:12 <tcohen> and the one Joubu proposes implies not needing todo weird stuff in all templates
14:56:30 <tcohen> and the other one feels more consistent with what we currently do in the codebase
14:56:35 <marcelr> what requires the most changes ?
14:56:50 <tcohen> I don't think it is a matter of how many
14:56:57 <Joubu> the biggest (but not the hardest) is to remove wantarray. Not too hard as you can identify them with the @
14:57:08 <tcohen> tracking all templates is painful per-se
14:57:18 <marcelr> the templates are the problem
14:57:28 <tcohen> exactly, Joubu is right about that
14:57:52 <thd> Are there no occasions when we need an array or should need an array to properly represent the meaning of the data where multiple sub-elements are individually associated?
14:58:16 <Joubu> I maintain my position however, we don't have people available to work on that (at least now, 1 month before the ft freeze).
14:58:25 <Joubu> I don't see that as a high priority move
14:58:44 <Joubu> we leave with that for years, with 3 "problematic" occurrences in the codebase
14:58:53 <thd> s/sub-elements/data components/
14:59:39 <marcelr> it means that anyone is doing the things his own way
15:00:29 <Joubu> It means that we can think about it during the next month. Investigate the different options, come with proposal, and discuss again later :D
15:00:36 <Joubu> we are kind of stuck anyway
15:00:37 <marcelr> sure
15:01:26 <Joubu> I don't think we can come with a vote/solution now
15:01:29 <tcohen> I agree, but then those bugs shouldn't block devs into master
15:01:40 <Joubu> why not using Scalar?
15:02:10 <Joubu> you will be stuck if you are waiting for one of the solution to be implemented
15:02:44 <marcelr> the advantage of scalaring a scalar
15:03:52 <Joubu> tcohen: there are no bugs linked with this bug
15:04:06 <tcohen> oh, did we remove them already
15:04:20 <marcelr> all bugs have been solved tcohen
15:04:58 <Joubu> #topic Set time of next meeting
15:05:16 <Joubu> #info Next meeting: 13 October 2021, 14 UTC
15:05:20 <Joubu> #endmeeting