08:01:24 <gmcharlt> #startmeeting Developer meeting, 12 March 2014 (part1) 08:01:40 <gmcharlt> #link http://wiki.koha-community.org/wiki/Developers_IRC_Meeting,_March_12_2014 Agenda 08:01:43 <gmcharlt> #topic Introductions 08:01:44 <wahanui> #info wahanui, a bot that has become sentient 08:01:50 <gmcharlt> #info gmcharlt = Galen Charlton, 3.16 RM 08:02:25 <ColinC> #info Colin Campbell, PTFS Europe 08:02:28 <oleonard> #info Owen Leonard, Athens County Public Libraries 08:02:37 <marcelr> #info Marcel de Rooy, Netherlands 08:02:40 <jcamins> #info Jared Camins-Esakov, C & P Bibliography Services 08:02:53 <thd> #info Thomas Dukleth, Agogme, New York City 08:03:04 <dpavlin> #info Dobrica Pavlinušić, FFZG Zagreb, Croatia 08:03:46 <cait> #info Katrin Fischer, BSZ Germany 08:03:47 <-> talljoy is now known as talljoy_phone 08:04:25 <ashimema> #info Martin Renvoize, PTFS Europe 08:04:30 <bag> #info Brendan Gallagher ByWater 08:04:47 <pianohacker> #info Jesse Weaver ByWater 08:04:49 <cait> dpavlin++ for reminding us about the meeting :) 08:05:00 <paul_p> #info paul Poulain, BibLibre, France 08:05:56 <JesseM_> #info Jesse Maseto, ByWater 08:06:24 <gmcharlt> great 08:06:28 <gmcharlt> #topic Hackfest update 08:06:49 <gmcharlt> folks at the hackfest, please use #info to supply updates about all the good stuff that is going on 08:08:08 <gmcharlt> ok, I'm not at the hackfest, but I'll get this started :) 08:08:18 <gmcharlt> #info numbers from the hackfest - http://wiki.koha-community.org/wiki/Marseille_hackfest_2014 08:08:19 <magnuse> #info Magnus Enger, Oslo Public Library 08:08:23 <cait> #info Lots of sign-offs has QA fighting to keep up :) 08:08:26 <paul_p> info = our wifi sometimes get crazy. In this case, mose of us will be disconnected from IRC. 08:09:00 <rhcl> #info Greg Lawson, Rolling Hills Consolidated Library 08:09:12 <magnuse> #info bug status numbers for this week are available from http://wiki.koha-community.org/wiki/Marseille_hackfest_2014 08:09:23 <thd> paul_p: Hard wires are better. 08:09:27 <paul_p> #info clrh & alex_a will submit soon a patch to collect datas about Koha setups&users 08:09:32 <jenkins_koha> Starting build #384 for job master_maria (previous build: SUCCESS) 08:09:45 <paul_p> #info I'll send a mail to koha-devel to request a DNS entry to host the stats server 08:09:54 <cait> #info there was a nice demo about the new textual cataloguing interface ByWater's pianohacker is working on 08:10:00 <bag> #info professional catalogers thingy has been submitted - good comments and discussion on using it for more than just Marc21 - bug 11559 08:10:01 <huginn> Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=11559 enhancement, P5 - low, ---, jweaver, Failed QA , Professional cataloger's interface 08:10:13 <bag> thanks cait 08:10:47 <cait> #info We discussed SIP implementations in various libraries with various vendors and how it works currently and how it could be improved 08:11:34 <gmcharlt> hmm... how to pick an icon for a thingy ;) 08:12:27 <oleonard> http://thenounproject.com/term/monster/24989/ 08:12:47 <bag> #info CHEESE!!! and froglegs too 08:12:49 <gmcharlt> oleonard++ 08:12:50 <cait> #info Joubu gave a good introduction on profiling and debugging - showing us how to turn on Plack and use NYTprof 08:13:04 <jenkins_koha> Starting build #1660 for job Koha_master (previous build: SUCCESS) 08:13:08 <magnuse> #info we also discussed RFID, based on work that is being done at Oslo Public Library, see bug 11858 08:13:09 <huginn> Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=11858 enhancement, P5 - low, ---, koha-bugs, NEW , RFID for circulation 08:13:38 <pianohacker> oleonard: not http://wac.450f.edgecastcdn.net/80450F/comicsalliance.com/files/2011/04/sadcover-1303842437.jpg 08:13:41 <pianohacker> ? 08:13:46 <dpavlin> #info plack bug 7844 got signed off (magnuse++) so we might get something into koha soon 08:13:48 <huginn> Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=7844 enhancement, P5 - low, ---, dpavlin, Signed Off , plack scripts for developers 08:14:11 <cait> #info dpavlin also looked at a bunch of LDAP related bugs and patches 08:14:14 <cait> dpavlin++ 08:14:18 <pianohacker> dpavlin++ 08:14:27 <ashimema> I'm looking at linking up the makefile patch for plack/nginx with bug 11858 later today too.. 08:14:39 <magnuse> yeah, the sooner 7844 is qa'ed and pushed and used by developers, the better, if you ask me ;-) 08:15:01 <magnuse> ashimema++ 08:15:04 <bag> also some great discussion on getting a testing database/suite set up for plackify the intranet 08:15:07 <magnuse> bug 11858 08:15:28 <cait> #info There was also work on sample SQL reports to install with Koha 08:15:39 <magnuse> in short: lots of work! 08:15:42 <cait> #info And looking into a new default XSLT for UNIMARC 08:15:42 <ashimema> yeah..bag++ for suggesting and hopefully acting upon getting a big customers live use recorded for a day so we can use it for testing 08:16:01 <bag> yes that must happen :) it will be my goal 08:16:18 <ashimema> :) woop, woop 08:16:23 <bag> and cheese 08:16:35 <ashimema> mmmm, cheese 08:16:49 <magnuse> ooh, cheesy 08:16:54 <pianohacker> all wallace and gromit up in here 08:17:14 <cait> #info ... there also was a lot of cheese... 08:17:16 <cait> :) 08:17:37 <gmcharlt> I see the cheese-fest is a success! ;) 08:17:47 <bag> :D 08:17:58 <ashimema> cheese fuelled qa'ing.. 08:18:04 <ashimema> good plan/bad plan? 08:18:14 <bag> great plan 08:18:26 <magnuse> #url https://twitter.com/Jmaseto/status/443729984285581312/photo/1 08:18:26 <pianohacker> I thought the cheese had failed qa the first time I read that sentence 08:18:29 <paul_p> it seems it didn't prevented ppl from working after "cheesing"... 08:18:35 <pianohacker> was about to be quite sad 08:18:46 <gmcharlt> heh 08:18:53 <gmcharlt> ok, moving on 08:19:12 <gmcharlt> #topic Performance - Plack 08:19:43 <ashimema> plack is good for performance ;) 08:19:52 <ashimema> thought i'de break the silence 08:19:59 <gmcharlt> #info Plack bug 7844 is in progress 08:20:00 <magnuse> i added that - our meeting about it seems to have cleared up the issues i tried/failed to forumlate on the agenda 08:20:02 <huginn> Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=7844 enhancement, P5 - low, ---, dpavlin, Signed Off , plack scripts for developers 08:20:51 <gmcharlt> #info http://git.catalyst.co.nz/gw?p=koha-plack.git;a=summary contains some stuff for Debian-package management of Plack for the OPAC 08:21:12 <gmcharlt> #info Catalyst also has some patches for dealing with restarting Zebra connections 08:21:48 <bag> cool 08:21:52 <gmcharlt> the upshot, from my POV, is that it seems more likely that we can achieve a full set of Plack configurations to ship with 3.16 08:21:53 <pianohacker> Are there plans to gradually make parts of Koha Plack/PSGI-native once we get Plack/CGI working? 08:21:55 <cait> I tihk we had a link to that in the minutes from the second meeting last time 08:21:59 <gmcharlt> at least a an experimental basis 08:23:04 <gmcharlt> pianohacker: desires to do so, at any rate 08:23:05 <magnuse> a koha-plackify script for the packages would be awesome - and 7844 more or less provides that, i think 08:23:06 <bag> I am pursuing getting a recording of a butload of transactions across all intranet - so that we can have that with a debug screen available to, rewind, press play etc. (with plack turned on) - so we could quickly catch errors 08:23:30 <magnuse> bag++ 08:23:58 <ashimema> there are begginings of a koha-plackify script somewhere.. 08:23:58 <gmcharlt> ok 08:24:06 <ashimema> catalyst did it I think.. 08:24:13 <bag> ashimema: I think libsysguy started that 08:24:16 <bag> Elliott 08:24:18 <ashimema> yeah.. that's what gmcharlt linked to 08:24:22 <magnuse> yup 08:24:31 <bag> right 08:24:52 <magnuse> not sure how the catalyst repo relates to the work from dpavlin? 08:24:57 <ashimema> yeah.. it's elliots makefile work I want to make dependant upon dpavlins bug 08:25:06 <magnuse> seems like we could do with some more coordination here ;-) 08:25:10 <magnuse> ...and cheese 08:25:15 <gmcharlt> magnuse: it means that there's going to have to be a reconciliation 08:25:16 <ashimema> currently they're rather out fo sync and confusing from a user point of view which one should apply and in what order 08:25:39 <gmcharlt> since I know that the Catalyst stuff, for instance, has been in use in production (for the OPAC) 08:25:40 <ashimema> I'm happy to take on trying to get plack collaboration.. 08:25:53 <magnuse> ashimema++ 08:25:59 <ashimema> we have one customer using elliots stuff in production. 08:26:05 <gmcharlt> #info RM announces Plack configs for both OPAC and intranet as a release goal for 3.16 08:26:13 <ashimema> but yeah.. generally it needs a good tidy up 08:26:32 <paul_p> pianohacker about making parts of Koha Plack/PSGI-native = we never spoke of this before AFAIK. it looks a good idea, and a "natural" one 08:26:43 <gmcharlt> #info Plack support will almost certainly be experimental for production use, but will be encouraged for development environments to shake out remaining bugs 08:27:00 <cait> maybe gater some stuff on the wiki and have some kind of action plan? 08:27:06 <cait> ashimema++ 08:27:14 <dpavlin> my work is mostly useful for developers since it has a bunch of debugging stuff (turned off by default) in it 08:28:12 <gmcharlt> #topic Performance and QA 08:28:15 <gmcharlt> #info Question: Should performance be an issue during the QA process? 08:28:20 <ashimema> indeed.. dpavlin.. your stuff add's all the debugging goodness to the plackup scripts 08:28:29 <ashimema> elliots is more suitable for production 08:28:40 <bag> gmcharlt: yes 08:28:44 <ashimema> and the catalyst stuff is all about koha-plackify as such. 08:28:48 <ashimema> that's my current understanding. 08:28:52 <gmcharlt> my view of it is that performance does need to be considered, but with a little care 08:29:29 <bag> "but with a little care" can you expand on that 08:29:31 <gmcharlt> for example, a patch that adds a minor enhancment but makes displaying a bib record in the OPAC ten times slower likely should fail QA 08:29:46 <bag> ah you are 08:29:47 <pianohacker> I agree with that 08:29:49 <cait> gmcharlt: I think we can't say 'no' here, but i am not sure how to include it in my review 08:30:07 <gmcharlt> but a patch that adds a new module that itself is a little slow, doesn't necessarily need to be blocked if it doesn't drag overall speed down 08:30:07 <ashimema> as I said in our meet the yesterday.. it's hard to test performance during qa.. allot of performance slow down is 'creep' as aposed to big performance hits. 08:30:17 <bag> hmm maybe we could profile before patch and then profile afterwards cait ? 08:30:33 <gmcharlt> i.e., there, it would be OK to allow performance enhancements to come later 08:30:42 <ashimema> bag++ before/after profiling would be nice. 08:30:54 <gmcharlt> bag: need to be careful there, though -- a mandatory profling step would slow down QA 08:30:54 <ashimema> though means all qa team learning this stuff properly. 08:30:59 <pianohacker> I don't know about profiling beyond 'dang stuff is slow now', QA is already a rather complex process 08:31:06 <ashimema> maybe add some prof stuff to the qa scripts.. if poss? 08:31:20 <bag> ah good thought ashimema 08:31:25 <cait> I have to admit, while i see the advantages, it is a bit of a scary thing to me right now 08:31:29 <marcelr> i think we should not add performance as a qa task 08:31:44 <pianohacker> I can see a proper automated profile in the qa scripts as a highly complicated task 08:31:55 <ColinC> very difficult to generate rules for performance testing so many factors in play 08:32:00 <gmcharlt> cait: marcelr: how about this 08:32:16 <paul_p> is everybody aware of the scripts in misc/load_testing/ ? 08:32:28 <gmcharlt> 1. performance testing is a desirable but not mandatory part of QA, particularly for large patches 08:32:49 <gmcharlt> 2. HOWEVER, performance issues, if observed, /are/ considered a valid reason to fail a patch series 08:33:08 <ashimema> sounds fair 08:33:12 <gmcharlt> there are also some design points that can be considered 08:33:12 <cait> agreed 08:33:19 <cait> i tihnk we had that recently with some changes o the letter processing 08:33:23 <marcelr> the QAer could ask for feedback on performance from dev or signoffer 08:33:47 <gmcharlt> for example, if a new page displays an arbitrary number fo recrords that can be large... if it doesn't implement some sort of paging or lazy loading, it is potentially a trouble-spot 08:33:55 <pianohacker> I agree with gmcharlt 08:34:00 <magnuse> sounds like a good start to me 08:34:11 <ashimema> ++ 08:34:19 <gmcharlt> give me a moment to draft something 08:34:25 <cait> :) 08:34:31 <thd> Some performance tradeoffs for useful but performance draining features could be regulated by a system preference. 08:34:41 <bag> paul_p: yes but aren't there only a few tests in there? 08:34:43 <cait> it often is the case i think 08:34:49 <pianohacker> thd: I believe there is precedent for that 08:34:53 <cait> but then checking that code is not executed when the feature is turned off 08:34:58 <cait> could be a good guideline as well 08:35:15 <paul_p> bag = they test "common" cases, like searching a patron, checkout/checkin, ... Only a few cases, you're right 08:35:31 <paul_p> but it can be used as a frameork to add more 08:35:38 <bag> but it's an addtional thing that I forgot about that I can add to my QA steps 08:35:59 <paul_p> and they can detect performance caveats in the most common places. 08:36:21 <paul_p> having a performance problem in admin/marc_subfield_structure.pl is much less critical than in circulation/returns.pl ! 08:36:54 <pastebot> "gmcharlt" at 127.0.0.1 pasted "Proposed QA policy regarding performance" (3 lines) at http://paste.koha-community.org/156 08:37:23 <gmcharlt> ok, comments on that wording? 08:37:48 <bag> @wunder marseille france 08:37:49 <huginn> bag: The current temperature in Marseille, France is 17.0°C (4:30 PM CET on March 12, 2014). Conditions: Clear. Humidity: 42%. Dew Point: 4.0°C. Pressure: 30.33 in 1027 hPa (Steady). 08:37:53 <gmcharlt> Holy wrapping, Batman! 08:38:05 <cait> :) 08:38:08 <pastebot> "gmcharlt" at 127.0.0.1 pasted "Proposed QA policy regarding performance" (9 lines) at http://paste.koha-community.org/157 08:38:12 <gmcharlt> let's try this ^^ 08:38:15 <cait> reads fine to me, just some grammar/typo issue in the last bits 08:38:21 <ashimema> sounds fiar to me gmcharlt 08:38:27 <marcelr> requested to watch out? or something less mandatory? 08:38:34 <pianohacker> +1 08:38:38 <cait> +1 08:38:42 <paul_p> +1 for paste 157 08:38:50 <magnuse> +1 08:38:57 <ColinC> +1 08:39:27 <bag> +1 08:39:30 <cait> where to put it on the wiki? coding guidelines? I think I never got around to start a qa page *hides* 08:39:46 <pastebot> "gmcharlt" at 127.0.0.1 pasted "Proposed QA policy regarding performance" (10 lines) at http://paste.koha-community.org/158 08:40:04 <gmcharlt> marcelr: does ^^ read more clearly to you? 08:40:16 <marcelr> improvement :) 08:40:32 <marcelr> we need common sense here 08:40:36 <ColinC> yes coding guidelines .... makes people aware who are coding it 08:40:44 <gmcharlt> cait: my proposing I think is best for a QA page 08:40:54 <gmcharlt> one sec 08:40:55 <ashimema> I'll be happy to add qa guidelines wiki page (in terms of editing wiki).. guided by cait for the content. 08:41:26 <ashimema> sometime at hackfest.. whilst we're sitting next ot each other ;) 08:42:41 <mtompset> #info Mark Tompsett 08:42:46 <mtompset> +1 for paste 157 08:42:50 <pianohacker> hey there slowpoke 08:43:07 <gmcharlt> could I have a round for +1/-1 for paste 158? 08:43:19 <marcelr> +1 for 158 08:43:22 <gmcharlt> (both to set the final version, and to give me time to finish by coding guidelines draft ;) 08:44:13 <ashimema> +1 for 158 08:44:22 <ashimema> :) 08:44:52 <cait> +1 08:44:55 <magnuse> +1 for 158 08:44:56 <mtompset> +1 for 158 # the QA-rs who don't have profiling all set up will be relieved. :) 08:45:01 <paul_p> +1 for 158 08:45:02 <pianohacker> +1 for 158 08:45:50 <-> meliss_phone is now known as meliss 08:46:12 <paul_p> what about setup jenkins to run benchmark tests before an after each build, and if a difference of, for example, more than +5% is detected, hilight that ? 08:46:23 <pianohacker> paul_p: is that difficult to do? 08:46:34 <paul_p> pianohacker I strictly don't know... 08:46:44 <paul_p> s/strictly/really/ 08:46:48 <marcelr> :) 08:47:29 <Joubu> It depends on the load of the server. I think sometime several runs are done at the same time. 08:47:40 <cait> maybe we cold log this as an idea? 08:47:51 <ashimema> paul_p++ I like that idea.. and would suggest it mysefl but don't fully understand the implications of setting that up 08:47:52 <pianohacker> Joubu: good point 08:47:53 <mtompset> if the runs are serialized, it would be possible. 08:47:55 <gmcharlt> paul_p: I think some automated performance benchmarking is a good idea, though some care will have to be taken 08:48:11 <gmcharlt> e.g., running it on test servers that aren't running other things 08:48:16 <pastebot> "gmcharlt" at 127.0.0.1 pasted "Coding guidelines regarding performance" (22 lines) at http://paste.koha-community.org/160 08:48:30 <ashimema> maybe we needs a performance profiling server.., or to set resrouces aside for performance profileing only. 08:48:52 <magnuse> https://wiki.jenkins-ci.org/display/JENKINS/Performance+Plugin ? 08:48:53 <paul_p> gmcharlt agreed, of course. We must be sure that conditions are the same (same DB, same resources available,...) 08:49:03 <gmcharlt> #agreed http://paste.koha-community.org/158 is provisionally approved as a QA guideline for performance t 08:49:03 <bag> sorry kind of odd having a meeting sitting in a room with 3/4 of the people in the meeting and it's so quiet - I could always imagine magnus rasing his hand to speak or something - sorry to say it doesn't happen 08:49:44 <paul_p> lol. magnuse rised his (right) hand ;-) 08:49:52 <gmcharlt> thoughts on the proposed coding guidelines wording? http://paste.koha-community.org/160 08:49:59 <mtompset> ashimema++ # like the idea of the profiling server. 08:49:59 <bag> magnuse++ 08:50:03 <cait> bit worried that the meetingbot is not working... can we check? 08:50:04 <paul_p> oups, it was the left one :D 08:50:18 <pianohacker> oh god everything is messed up now 08:50:19 <marcelr> 160 reads good 08:50:24 <pianohacker> we have to start the meeting from scratch 08:50:30 <pianohacker> #info Jesse Weaver ByWater 08:50:56 <pianohacker> phew :) 08:50:58 <bag> don't forget the cheese 08:51:07 <mtompset> gmcharlt++ # for manual awesomeness. ;) 08:51:16 <ashimema> it's all about the cheese gromit. 08:51:21 <magnuse> mmm, cheese... 08:51:25 <ashimema> gmcharlt++ 08:51:25 <paul_p> gmcharlt = I promise there was no alcohol with the cheese. If things becomes mad now, it's not my fault ;-) 08:51:33 <pianohacker> just a small one that makes a bit of a rattle 08:51:34 <paul_p> ( +1 for 160 ) 08:51:49 <magnuse> +1 for 160 08:51:51 <gmcharlt> paul_p: alcholic cheese that could affect me from 5,000 miles away would be... formidable 08:51:54 <ColinC> +1 for 160 08:52:10 <paul_p> or very very strong ;-) 08:52:12 <bag> +1 08:52:36 <oleonard> gmcharlt: I like the double English/French meaning of that word, formidable :) 08:53:03 <cait> +1 08:53:41 <gmcharlt> #agreed http://paste.koha-community.org/160 is provisionally accepted as an amendment to the coding guidelines regarding performance 08:54:34 <gmcharlt> #topic Action items from previous meeting 08:54:40 <ashimema> I'm going to run the idea of donating a small server for performance profiling past 'the big boss man' here.. 08:54:59 <gmcharlt> #info gmcharlt was laid low by his sinuses over the weekend, still workingo n DBIC examples and clearing the PQA queue 08:55:08 <gmcharlt> ashimema++ 08:55:25 <pianohacker> If this is how slow gmcharlt is when he's sick... 08:55:49 <gmcharlt> good work at the hackfest, folks! 08:55:52 <mtompset> +1 for 160. 08:55:53 <cait> gmcharlt++ # glad you are better now 08:55:54 <marcelr> gmcharlt++ 08:56:01 <gmcharlt> are there any other last minute announcements? 08:56:11 <magnuse> sinuses-- 08:56:40 <gmcharlt> ashimema: dpavlin: whoever: could I ask that one of you write up a summary of the Plack work done at hackfest to send to koha-devel? 08:56:42 <mtompset> gmcharlt++ # rather productive still! 08:56:50 <cait> pianohacker: you could write up a summary for the second dev meeting tonihgt... :) 08:57:06 <pianohacker> cait: as penance? 08:57:33 <dpavlin> gmcharlt: sure, but we didn't really did much work (yet). patch in question is two years old 08:58:03 <gmcharlt> dpavlin: that's OK, I mostly just want the email thread to exist as a coordination point 08:58:20 <dpavlin> gmcharlt: ack 08:58:21 <cait> dpavlin++ 08:58:32 <ashimema> happy to try and co-ordinate that gmcharlt 08:58:41 <gmcharlt> great 08:58:45 <ashimema> I'll grab magnus, dpavlin later (no running away boys) 08:58:57 <magnuse> i think what would be good wuld be for ashimema to thnk about how the different pieces of the puzzle can fit together/be reconciled 08:59:15 <ashimema> exactly ;) 08:59:43 <gmcharlt> I typ reel gud too 08:59:44 <bag> pianohacker: was that typo kindergartners? 08:59:49 <gmcharlt> OK, thanks, everybody 09:00:02 <gmcharlt> extra cheese to those of you who stay up to the second part! 09:00:05 <gmcharlt> #endmeeting