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 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 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 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 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