Time  Nick        Message
23:59 drojf       lol
23:59 drojf       "perhaps even pedantism"
23:54 dcook       My emails are just epic-length novels. Hopefully without any snark, trolling, or mansplaining.
23:53 * dcook     might avoid the listserv for a bit today
23:53 dcook       Oh man...
23:52 wizzyrea    haha yeah, gl with that
23:52 rangi       but he's gonna mansplain with w3c is to him nonetheless
23:51 rangi       i think owen probably knows a bit more about the front end of koha than him
23:51 wizzyrea    he's certainly not harmless though.
23:51 wizzyrea    we shoudl be grateful he's not a troll AND a mansplainer?
23:51 wizzyrea    now that is probably accurate
23:51 rangi       i think he's a mansplainer of the nth degree
23:50 rangi       i dont know
23:50 wizzyrea    idk how to deal with him he obviously thinks he's being valuable
23:50 wizzyrea    unless we're going to talk about running koha 3.8 on the dell models that had the exploding capacitors I don't think that expertise helps
23:49 wizzyrea    :P
23:49 rangi       has never had any truck with me
23:49 wizzyrea    also transistors are pretty far removed in the pipeline from koha
23:49 rangi       im old so im right
23:49 wizzyrea    I won't. but it's tempting
23:49 cait        wizzyrea the brave :)
23:49 rangi       knowing about transistors is cool and all, but contributes zero
23:48 wizzyrea    halfway inclined to go with what I just wrote, actually.
23:48 wizzyrea    I'm just working on how best to answer his mail
23:48 rangi       yeah
23:48 wizzyrea    and I'm like, idgaf, they're not using that version, they're not going to use that version, you're not contributing, please stop.
23:48 wizzyrea    and got back a diatribe about datapoints
23:48 wizzyrea    oh I called him on his last 3.8 mail
23:47 rangi       his mails never do
23:47 rangi       no, dont it adds nothing
23:47 wizzyrea    nah
23:47 wizzyrea    yes.
23:47 cait        do i really want to read before goingto sleep?
23:47 wizzyrea    every email is a snark
23:47 rangi       toxic person, needs removing
23:47 cait        ...
23:47 wizzyrea    bullshit he doesn't snark.
23:47 wizzyrea    omg
23:46 rangi       paul a
23:46 wizzyrea    ?
23:46 cait        i think it was not 3M
23:46 rangi       what an asshole
23:46 cait        and it got into Koha too - but I can't tell if all of them actually use it
23:46 wizzyrea    Aha
23:46 cait        i remember something was wrong with it and umlauts and the coworker fixed it :)
23:46 cait        wizzyrea: i think we fixed hte checksum
23:41 mtj         herm..i think im making progress
23:36 wizzyrea    3m's gonna need cream for that burn
23:36 rangi       with any reliability anyway
23:36 rangi       i never seen a 3M machine work with anything
23:36 wizzyrea    since I did that and I could have a bad memory
23:35 wizzyrea    but it's been ages
23:35 wizzyrea    iirc you turn that off when you work with Koha
23:35 wizzyrea    have you ever seen a 3M machine work with a koha using checksums? I don't think I have.
23:35 mtj         but no
23:34 mtj         i think i thought using the emulator would be more 'correct', with checksum and such
23:34 wizzyrea    I am displeased with the documentation on merge_authority.pl
23:33 rangi       and cut and paste
23:33 rangi       i just have a page, and i edit the borrower cardnumber, and the barcode number
23:32 mtj         yeah, i have historically.. for simplier stuff
23:32 wizzyrea    a request*
23:32 wizzyrea    yeah you can just grab the request out of the log and send it
23:31 rangi       its much easier
23:31 rangi       use telnet
23:31 mtj         hum, i can't even seem to fake a SIP checkout, via the SC-emulator :/
23:13 cait        agreed
23:13 cait        agred
23:10 wizzyrea    it's still pretty confusing
23:10 wizzyrea    I think they're specific to the module you are looking at
22:58 cait        I'd suspect a similar thing
22:58 mtj         i guess they are the same action, just labeled differently
22:57 * wizzyrea  wonders what the difference between "create" and "add" is in the log viewer
22:56 mtj         before i fcking kill myself
22:56 mtj         ah bummer, im going to have to run the 3M-sipdev tools in wine
22:53 * drojf     heads home
22:37 cait        community++
22:37 cait        some from catalyst too - result of my last survey on #koha
22:36 drojf       wow thats a huge list. thanks!
22:34 cait        drojf: http://paste.koha-community.org/197
22:33 cait        ownclodu really was just annoying
22:33 cait        no wi found it
22:33 cait        lol
22:29 drojf       no worries, thanks for looking. got a few good examples now :)
22:28 cait        or my owncloud is just being annoying
22:27 cait        hm sorry, i htink the list is at work somewhere
22:26 cait        i wish we had that :)
22:26 drojf       heh
22:23 wizzyrea    we basically have a design company inside our company.
22:23 wizzyrea    ^
22:23 rangi       we have a lot more, but they are all non public
22:22 cait        sec
22:22 cait        nengard shared some with me recently, i think i might have the link list on my cloud
22:21 cait        hm
22:21 rangi       https://hewitson.mykoha.co.nz/  maybe
22:21 drojf       or i have blockes something ;)
22:21 drojf       the parliament one does not show much without an account i think
22:20 drojf       great links, thanks everyone!
22:20 cait        (updating the website) and in general :)
22:19 cait        and thx wizzyrea :)
22:19 dcook       cait: Yeah, I think it was the manuscript one
22:19 rangi       yeah, they did all that themselves, i think its one of the nicer public library ones
22:19 cait        hm maybe the one for manuscripts? the links are somewhere at the bottom
22:19 wizzyrea    it's not super styled, but their header is good.
22:19 wizzyrea    http://www.library.waitaki.govt.nz/ I like this one, the library did it
22:19 cait        a list of our opacs
22:19 cait        [off] https://wiki.bsz-bw.de/doku.php?id=l-team:koha:referenzen:start
22:18 * dcook     recalls cait having done an amazing one pre-bootstrap?
22:18 rangi       https://library.parliament.govt.nz/  i like also
22:18 cait        but you can take a look sec
22:18 cait        ours are all a bit similar
22:17 * dcook     thinks both tend to do nice designs
22:17 rangi       i like https://ihc.mykoha.co.nz/
22:17 dcook       And maybe cait might have some?
22:17 dcook       Probably some of the Catalyst ones
22:16 drojf       do we have good examples for customized bootstrap OPACs?
21:15 magnuse     have fun #koha!
21:06 magnuse     thanks wizzyrea and mtj, i went with label
20:50 wizzyrea    ?
20:46 tcohen      en-NZ++
20:41 mtj         ..after have i coffee moar
20:41 drojf       to avoid doing slides i proposed organizing a hackfest. i am amazed by my procrastination skills.
20:41 mtj         i hope to test bug this today
20:40 mtj         yep, understood :)
20:39 rangi       havent recreated it anywhere yet
20:39 rangi       nope
20:37 mtj         rangi: 'not in production' means you have found the bug in a dev/test koha.. no?
20:37 wizzyrea    I don't, but it's the only one that seems like a reasonable replacement?
20:36 drojf       wizzyrea: i found that too, do you know it?
20:36 rangi       its just the items.onloan is not updated
20:36 mtj         thanks rangi ^
20:36 * mtj       cant find the irc scrollback of that issue
20:36 rangi       the issue row is created
20:36 rangi       so the problem could only be caused if the date was passed in a format that caused the code that updates the items table to fail
20:35 rangi       the same as circulation.pl
20:35 rangi       it uses AddIssue
20:35 rangi       not in production mtj
20:34 huginn`     04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=15305 normal, P5 - low, ---, koha-bugs, In Discussion , KOHA SIP2 checkout doesn't update of the item holding status
20:34 mtj         ..$peeps, any SIP users hit the bug 15305? (or not?)
20:34 wizzyrea    https://dudle.inf.tu-dresden.de/about.cgi
20:33 mtj         hmm, not sure myself drojf
20:33 wizzyrea    doodle?
20:33 drojf       is there a good doodle alternative i could put on my server?
20:28 mtj         agree :)
20:28 wizzyrea    that thing is a label :)
20:27 wizzyrea    http://www.w3schools.com/tags/tag_label.asp
20:27 mtj         yeah, true ^
20:27 mtj         hmm, i think a 'field' might only be for input
20:27 wizzyrea    I thought the field was where you put the actual data.
20:26 magnuse     oh, that's a good one too!
20:25 mtj         magnuse:  field
20:25 magnuse     i think i'll settle for labels
20:25 magnuse     wizzyrea: displayed on a web page
20:20 wizzyrea    (is it json, or in a database, or displayed on a web page...)
20:20 wizzyrea    but I suppose the context of the data is important
20:20 wizzyrea    I'd call that a label yes
20:18 wahanui     labels are for our book acquisitions. So maybe, I need to work out how we are doing the Acquistions then.
20:18 magnuse     labels?
20:17 magnuse     what's the english word for age and zip?
20:16 magnuse     zip: 1234
20:16 magnuse     age: 43
20:16 magnuse     so when you have a list of different data like so:
20:14 magnuse     wizzyrea++
20:07 huginn`     wizzyrea: The operation succeeded.
20:07 wizzyrea    @later tell cait the website should be fixed now
20:06 wizzyrea    cait: should be fixed now
19:58 oleonard    Bye #koha
19:38 tcohen      oleonard: vim, as far as I can tell
19:13 eythian     Imo they all should be syspref controlled.
19:11 oleonard    Okey dokey
19:10 eythian     No
19:08 oleonard    Are there special tools for package installations for setting up cron jobs?
18:49 talljoy     hiya magnuse!
18:41 magnuse     kia ora talljoy
17:43 reiveune    bye
17:23 tcohen      sorry
17:18 barton      I think that we pull back the results from zebra in chunks of 1000, and only the first chunk is ordered correctly.
17:16 huginn`     04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=15331 enhancement, P5 - low, ---, gmcharlt, NEW , Sort order breaks at offset=1000 (both OPAC and Intranet)
17:16 barton      tcohen: I just filed bug 15331
17:11 tcohen      barton: i've just got a similar report!
16:59 gaetan_B    bye
16:39 nengard     oh no - i'll change my log in
16:37 cait        that's the address on the access list
16:37 cait        hm are you logged in with nicole@bywater...?
16:36 nengard     cait maybe
16:36 huginn`     04Bug 15111: is not accessible.
16:36 nengard     can somoene tell me the status of http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=15111  - i was able to see it, but no longer am
16:12 gaetan_B    i'm still getting server errors on translate.koha-community.org (small message at the bottom when searching)
15:54 * nengard   is part of us
15:53 nengard     sorry
15:53 nengard     only 'us' crazy librarians
15:53 nengard     only use crazy librarians do
15:53 nengard     hehe
15:53 nengard     no patron will search that far
15:53 nengard     LOL
15:53 oleonard    nengard: Except the library who reported it? ;)
15:52 nengard     that's what talljoy said
15:52 nengard     no one will search that far
15:52 nengard     barton
15:43 barton      oh search gurus: I have a library who's reporting that sort_by=title_az and sort_by=pubdate_asc stop working at about offset=1000. I don't see any bugs filed for this. I'm not exactly sure where to start troubleshooting this.
14:58 cait        Joubu++
14:57 cait        i don't understand how i missed it
14:57 cait        i loked with shipping date
14:57 cait        thx
14:57 cait        !
14:56 Joubu       Bug 8417: Make the order receive date editable
14:56 huginn`     04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=8417 normal, P5 - low, ---, jonathan.druart, Pushed to Master , date acquired is shipping date
14:56 Joubu       cait: bug 8417
14:55 cait        hm something about the date
14:55 huginn`     04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=11062 enhancement, P5 - low, ---, jonathan.druart, ASSIGNED , Invoice's shipment/shipping cost should  be included PRE-gst tax (as an option)
14:55 Joubu       cait: bug 11062?
14:53 huginn`     cait: The operation succeeded.
14:53 cait        @later tell wizzyrea ... https://koha-community.org/
14:53 huginn`     cait: The operation succeeded.
14:53 cait        @later tell wizzyrea - we need to update the start page for 3.22 :)
14:53 cait        i thought there was something new about it being editable in 3.22 .. but can't find it
14:53 cait        Joubu: do you remember by chance yur patch about shipment date?
14:51 tcohen      so… this looks like a behaviour change in Zoom
14:51 mveron      at all
14:51 mveron      tcohen: It tested with an eval on that line, I then had simply no facetsa t all.
14:51 tcohen      because it is possible that there's no facet for the requested elementSet
14:51 tcohen      maybe we should've put that line inside an eval anyway
14:50 mveron      BTW it's on the dev server, no emergency...
14:50 mveron      tcohen: I will try again with indexing.
14:49 tcohen      mveron: maybe the indexing went wrong?
14:48 mveron      And no, nothing in the logs
14:48 mveron      Joubu: For any search
14:48 Joubu       mveron: I meant: nothing else in the logs before this error?
14:48 Joubu       mveron: does it explodes for any search or a specific one?
14:48 tcohen      mveron: I never saw that
14:48 mveron      Joubu: I changed the config file for log4perl and for the upload folder
14:46 Joubu       mveron: nothing else before?
14:43 bouzid      Joubu : thanks for informations
14:43 Joubu       ha yes
14:43 mveron      Joubu: If I turn it off search is OK
14:42 Joubu       mveron: are you sure it's releated to the use_zebra_facets flag?
14:42 mveron      (in OPAC and Staff catalog search)
14:42 mveron      I need a hint: After seting <use_zebra_facets> to 1 and doing a full re-index I get "Error: Can't call method "raw" on an undefined value at /usr/share/kohaclone/C4/Search.pm line 798."
14:41 Joubu       You can also try to search and fix bugs :)
14:41 Joubu       bouzid: you can start with reading the different comments on the bug report, installing ES, reading the code, trying to understsand how it is implemented, etc.
14:40 Joubu       bouzid: As I understood, the development will be in standby for the next month.
14:39 mveron      Hi #koha
14:39 mveron      Hi #koha
14:39 bouzid      Joubu : I do not know, fix bugs or programming patches as needed
14:31 Joubu       bouzid: how would you like to help?
14:02 bouzid      ok thanks for informations, i will contact chris
14:00 tcohen      chris@bigballofwax.co.nz
13:59 tcohen      bouzid: you should contact rangi (Chris Cormack) about this, as he said he will pick where Robin left (at Catalyst)
13:59 bouzid      thanks tcohen
13:58 tcohen      bouzid++
13:58 nengard     and eythian might be here - or might not ...
13:57 nengard     I know that bag knows alot but he's out of the country
13:57 nengard     it should have the info you need - but if not you can ask
13:57 huginn`     04Bug 12478: enhancement, P5 - low, ---, robin, NEW , Elasticsearch support for Koha
13:57 nengard     bouzid the ticket for elastic is here: http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=12478
13:57 nengard     bouzid++
13:56 bouzid      yes
13:55 tcohen      bouzid: you're volunteering to help?
13:54 bouzid      is what someone can give me information about the project progress
13:54 bouzid      I work on ElasticSearch
13:54 nengard     thanks
13:54 nengard     oh! magnuse it's because I forgot to give it an id ;)
13:53 nengard     okay checking now
13:53 nengard     strange
13:52 magnuse     nengard: ConsiderOnSiteCheckoutsAsNormalCheckouts has <a id="idm140439830938288"></a> - looks like some generated id. <a id="ConsiderOnSiteCheckoutsAsNormalCheckouts"></a> would be more in line with other headings
13:50 bouzid      Hi all
13:48 magnuse     nengard++
13:48 nengard     also if you see something missing let me know
13:47 nengard     now time to tackle the help files
13:47 tcohen      nengard++
13:47 nengard     Koha 3.22 manual is done :) Meaning all new features should be documented ... not that I won't ever touch it again :)
13:46 nengard     hola all
13:44 bouzid      Hi oleanard
13:37 bouzid      hi oleonard
13:36 oleonard    Hi bouzid_
13:31 bouzid_     hello
13:17 Joubu       hi tcohen
13:17 tcohen      hi Joubu
13:09 magnuse     ah, thanks Joubu
13:05 Joubu       then removed
13:05 Joubu       It has been introduced by the Solr implementation
13:04 huginn`     04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=13029 enhancement, P5 - low, ---, julian.maurice, Needs Signoff , Allow to pass additional parameters to SMS::Send drivers
13:04 magnuse     the patch on bug 13029 uses C4::Context->config('installdir'), but I can't seem to remember seeing that before and grep does not turn up anything for "installdir". am i missing something?
13:01 ashimema    I should really get back to work
13:01 ashimema    anywho..
13:01 ashimema    I just don't see a reason for the api's to have diverged.. I'd convert the exception_holidays to use the same internal api..
12:59 Joubu       to avoid to full the RAM is suppose :)
12:58 Joubu       ashimema: it's because single_holidays is caching all holidays, and we cache the string ymd instead of the DT objects
12:54 ashimema    I'm venting about exception_holidays vs single_holdays
12:54 ashimema    Koha::Calender..
12:53 ashimema    yup
12:53 drojf       brb
12:53 tcohen      dates api?
12:53 ashimema    yet th api to do exactly that is completely different between them.
12:53 tcohen      hola drojf
12:53 ashimema    so.. you have exception_holidats and single_holdays.. they both work on a list of dates.. and the main purpose of them is so you can check if today appears in the list..
12:53 drojf       hei magnuse
12:53 drojf       hi tcohen
12:52 ashimema    they do.. but each one is it's own shortcut to doing the same thing but with a different list of dates..
12:52 ashimema    I say they do exactly the same thing..
12:52 ashimema    well.. in this case we can't fall back..
12:51 tcohen      hola Magnuse!
12:50 magnuse     ¡hola tcohen!
12:50 tcohen      hi
12:48 magnuse     ashimema: it's called redundancy. if one of the methods fail , we can fall back on the other one ;-)
12:48 drojf       ashimema: because we love diversity
12:48 ashimema    Koha's internal api is crock full of ****
12:47 oleonard    Hi #koha
12:46 ashimema    why are those two method doing exectly the same thing.. in a totaly different way!
12:46 Joubu       ashimema: I don't think it will be useful, this table should not contain a lot of entries
12:46 ashimema    ack..
12:45 ashimema    You gonna cache exception_holidays for the quick win then Joubu?
12:44 ashimema    I like CHI's api
12:44 ashimema    we got rid of CHI didn't we :(
12:44 Joubu       ok so let's forget this DateTime change for the moment
12:43 gaetan_B    ok i'll try again in a few minutes then thanks drojf
12:43 ashimema    that makes loads of sense ;)
12:43 ashimema    yup
12:43 drojf       gaetan_B: i see that from time to time and it usually works a little later
12:43 Joubu       "only" 57 DT objects are generated with an empty special_holidays table
12:42 drojf       "nytprof showed a time reduction of the single_holidays() sub - from 61.7s to 587ms" goodness
12:41 gaetan_B    translate.koha-community.org is saying "server error" when i search for a string, is anything wrong with it ?
12:41 huginn`     04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=14522 normal, P5 - low, ---, mtj, Pushed to Master , Use Koha::Cache for accessing single_holidays()
12:41 Joubu       bug 14522
12:41 Joubu       but 14522
12:40 ashimema    but no code actually using it.
12:40 ashimema    I can just see a commment about Koha::Cache
12:40 Joubu       Ok, the DT::Set is not cached, but the DT objects to create it are cached
12:40 ashimema    maybe my branch is out of date..
12:40 ashimema    hmm
12:39 Joubu       ha no, one is calling the other
12:39 Joubu       but single_holidays does
12:39 ashimema    K..
12:39 Joubu       If I get it correctly... special_holidays is a DateTime::Set and is not cached (and use ->contains)
12:38 wahanui     yes. this is very serious business ;)
12:38 drojf       yes. this
12:38 * ashimema  goes blind whilst reading the crazy looping involved in some of koha's code
12:38 drojf       that sounds similar to what we do with the framework structure in search ;)
12:37 ashimema    that would account for it.. so the cache would only be aleviating DB load..
12:37 drojf       yes
12:37 drojf       maybe we cache the stage before we need to do the instantiation
12:37 ashimema    or are we serializing the objects as part of the caching process, then instantiating them again on every load from the cache
12:37 drojf       yes that sounds odd
12:36 ashimema    if so, then those 470 instantiations shouldn't be happening every time
12:36 ashimema    do we really cache that stuff already?
12:36 drojf       heh
12:36 ashimema    but basically that's just an array of DateTime objects with a tiny bit of sugar around it ;)
12:35 drojf       ah ok
12:35 ashimema    it's a DateTime::Set
12:35 ashimema    we do drojf
12:29 drojf       i know too little about DT, but could we have one "all holiday stuff" master DT object for that? or is it only possible per single date?
12:27 Joubu       there are cached using Koha::Cache already
12:26 drojf       if that has to be done _per checkout_, it should be cached
12:25 Joubu       note that I have 420 rows in special_holidays, it can be related
12:24 drojf       we really need to get all the weird loop stuff fixed. koha would probably be 10x faster. i have seen that in search and will try to look deeper into it after i finished some other stuff. but 470 DT objects for one checkout sounds like that too
12:19 ashimema    **** me
12:19 ashimema    is that the is_holiday stuff..
12:19 ashimema    that's crazy.. what on earth are we doing with them all
12:19 ashimema    470 'per checkout'..
12:17 ashimema    (of course.. to compare we could stringify both ends and compare strings instead of DateTime objects)
12:16 ashimema    unless I'm remembering the module wrong
12:16 ashimema    I bet we are.. and if we are then dateTime::Tiny will be upgrading to DateTime anyways I think..
12:15 ashimema    are we comparing those dates to anything?
12:15 Joubu       we are instanciating 470 DT objects for a checkout
12:15 ashimema    we have a customer for whome it currently take 36 hours for this script to run.. so it's close to my heart ;)
12:14 ashimema    I was intending on doing it some time soon myself.. but if you can beat me to it.. all the better..
12:14 ashimema    and stick the results up somewhere :)
12:14 ashimema    profile it :)
12:14 ashimema    as overdues.pl runs in one process in one hit.. caching would be super simple I think.. If I were in mojo i'd throw it in a Mojo::Cache (i.e just thwack it into memory, and let it go out of scope once the script run completes)
12:13 ashimema    run the overdues script with NYTProf.. i've learnt the hard way countless times that just reading the code usually yields me expsnding loads of time fixing a problem that never existed and is infact somewhere else entirely.
12:12 ashimema    it really needs profiling..
12:11 ashimema    though I believe ->contains does a DateTime comparison which is still expensive.. but nothing in comparison to the instantiation in the first place..
12:11 ashimema    that will win on the instantiation problem at least.
12:11 ashimema    In this case.. I would.. cache the DateTime::Set so we're not instantiating it every time.
12:10 ashimema    but tha'ts an untested hypophesis
12:10 ashimema    I have doubts that DateTime::Tiny and DateTime::Set would play nicely together..
12:08 Joubu       yes
12:08 ashimema    yup
12:08 ashimema    is that part of DateTime::Set
12:08 ashimema    also.. I can't entirely see where the ->contains method is..
12:07 ashimema    and I 'think' caching may be the easier route to goal rather than introducing DateTime::Tiny
12:07 ashimema    feels ripe for caching to me..
12:07 ashimema    So.. do we instantiate that list of datetime object every time we call is_holiday?
12:06 ashimema    hmm..
12:02 * ashimema  reading the code to answer that
11:56 Joubu       So the question is : should we use DT::Tiny and improve the execution time (don't know the ratio will could win) and remove the ability that a server could run several Koha instances from differents TZ or keep this possible feature (which is not implemented yet)?
11:56 ashimema    1+n*n*n*n or somthing like that..
11:55 ashimema    so it can trigger in a hundreds of thausands of db hits for a large db.
11:55 ashimema    and db data isn't being prefetched either
11:55 ashimema    I think there's atl elast a 7 level nested set of loops in there..
11:55 ashimema    though jsut reading the code I can imediately spot some coding that scares me.
11:55 ashimema    I'ts in my 'to profile' pile''
11:54 ashimema    that script is horrid.. it runs for over 36 hours on one of our systems
11:54 Joubu       ashimema: that's not my original question :) I don't want to fix a specific method
11:53 huginn`     04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=15240 critical, P5 - low, ---, gmcharlt, NEW , Performance issue running overdue_notices.pl
11:53 Joubu       bug 15240 is impacted by is_holiday
11:53 * ashimema  really wants to sit down and profile the *bip* out of koha ;)
11:53 ashimema    i.e. datetime in future (negating the old hang around dates?
11:52 ashimema    in this case.. can the db query be used to good measure to reduce the scope of the loop..
11:52 drojf       brb
11:52 ashimema    I suppose the table can easily grow with time..
11:52 Joubu       (:D)
11:52 Joubu       yes, by me
11:51 ashimema    known issue..
11:51 Joubu       It's a "known" issue, so people should purge this table (there is a script to do that)
11:51 ashimema    ball park wise.. I'd say anything upto around 100 is likely acceptable... unless we're double looping or something silly like that?
11:50 ashimema    do we know any averages of how many holidays are generally in that table..
11:50 Joubu       foreach row in special_holidays DB table, instanciate a DT object
11:49 Joubu       because of ->exception_holidays
11:49 Joubu       the one I know is Koha::Calendar->is_holiday
11:49 ashimema    then the DateTime cost is very noticeable (api response may be along the lines of 7seconds vs 1second) which starts to add up fast.
11:48 ashimema    and that loop has 1000 iterations..
11:48 ashimema    and.. we're not doing a date comparison inside the loop..
11:48 ashimema    if there are cases where we do: while ( $result->next ) { $date = DateTime->new };
11:47 ashimema    for example..
11:47 ashimema    so.. it's more about our algorithms than about just making a switch.
11:47 ashimema    DateTime -> DateTime::Tiny is a big win.. IF your doing allot of 'needless' instantiation
11:46 ashimema    I think some wires are getting crossed here..
11:46 ashimema    that's why I wan't to see a profile of koha's use of datetime..
11:46 Joubu       :)
11:46 Joubu       it's 700% :
11:45 drojf       which would mean the difference is probably not relevant enough to change a lot in the code? :P
11:45 Joubu       I hope much more less than that :)
11:45 cait        sorry, lunch! bbl
11:45 drojf       how many do we instantiate? ;)
11:45 Joubu       well, it's 10.000 actually, not 1.000
11:44 Joubu       but we don't instanciate 1000 objects :)
11:44 Joubu       it's 0.1s vs 0.7s
11:44 Joubu       a very useful benchmaks I have just did: for 1..1000 instanciate DateTime->now or DateTime::Tiny->now
11:44 drojf       not that i know of, but if we have, i'd be interested to see it :)
11:43 ashimema    performance wise that is ;)
11:43 Joubu       cait: yes that's how it works currently
11:43 ashimema    OK.. new question.. have we actually profiled to find where DateTime's are cuasing us issues?
11:42 Joubu       I'd say just change C4::Context->tz to return C4::Context->pref("my_specific_tz")
11:42 cait        i thougth right now - servertime = kohatime tz - that not right?
11:42 Joubu       it could be quite easy to make it works with the actual code
11:42 ashimema    time is hard ;)
11:41 cait        it seems pretty unflexible quite now - so nto sure what the problem woudl be:)
11:41 Joubu       and it will be hard to reverse the change if we decide to switch to "no timezone" (i.e. local)
11:41 ashimema    I'm not qualified to answer really.. I don't know enough of how our dates are handled throughout the app
11:41 Joubu       that could be problematic actually
11:41 Joubu       It seems that it's not possible to run an instance for a different timezone
11:40 cait        so maybe changing that to a setting woudl be even a welcome change?
11:40 cait        at least to my knowledge
11:40 cait        i think it's currently not possible to run instances in multple timezones
11:40 ashimema    how we do that.. i dunno.
11:40 ashimema    So.. I 'think' we need to only convert timezones right at the end where we actually need them
11:40 cait        oh
11:40 wahanui     i heard bip was pretty useful too :-)
11:40 cait        bip?
11:39 ashimema    so.. we don't really get any win if we add locale conversions everywhere... as we just end up getting the overhead of DateTime back.
11:39 Joubu       because of the *bip* timezones
11:39 Joubu       but I am not sure about the consequence
11:39 Joubu       That's the idea
11:39 ashimema    that right isn't it joubu..
11:38 ashimema    So the idea is to use DateTime::Tiny, which negates a bunch of the cost of instantiating full DateTime objects.. But to negate these costs it a) doesn't care about locale, and b) doesn't do the datetime maths.. instead it upgrades to DateTime objects when it needs to for that.
11:38 Joubu       from the doc: "If the "name" parameter is "local", then the module attempts to determine the local time zone for the system."
11:38 Joubu       We are using $context->{tz} = DateTime::TimeZone->new(name => 'local')
11:38 Joubu       http://search.cpan.org/~drolsky/DateTime-TimeZone-1.94/lib/DateTime/TimeZone.pm#DateTime::TimeZone-%3Enew%28_name_=%3E_$tz_name_%29
11:37 ashimema    We do 'allot' of DateTime instantiation, which is expensive (especially in loops)
11:37 ashimema    perhaps some background is in order..
11:36 drojf       hm. have a tz-per-instance-setting and do a conversion from local?
11:35 Joubu       drojf: local server
11:35 drojf       "local" server or "local" client?
11:35 Joubu       what happens if a server hosts several Koha installs used in different tz?
11:35 ashimema    I have no idea
11:35 ashimema    that's a 'big' question..
11:35 Joubu       the thing is that C4::Context->tz returns the "local" tz
11:34 Joubu       And I am wondering if it could cause any side effects
11:34 ashimema    coolios :)
11:34 Joubu       I am trying to introduce DateTime::Tiny (cc ashimema) to Koha::DateUtils
11:33 Joubu       Any datetime/timezone exports around?
10:39 drojf       hi #koha
10:17 * magnuse   goes for a walk
10:04 liw         but like I said, I'm a little bit opinionated about this
10:04 liw         I'd have my CD build a .deb of the CPAN modules, unless the modules turn out to be a lot of work to package. Usually CPAN modules are nearly automatable for Debian packaging and the manual work is at the initial packaging. And for packages that don't need to be uploaded to Debian, it's even easier.
10:01 ashimema    so currently battling with how to do it.. the non-deb way
10:00 ashimema    I'm relying heavily on Mojolicious and a few other CPAN modules which are fast moving and I don't really want the overhead of having to maintain lots of my own .debs
10:00 ashimema    I actually attempting to avoid being relying on the package system for this project..
09:59 ashimema    hehe.. indeed liw
09:48 * ashimema  is slightly disappointed not to see any (that a recognise) loitering in here yet :(
09:47 * ashimema  enjoyed meeting lots of ptfs-europe customers last week..
09:45 ashimema    TIMTOWTDI is sometimes a bloody nightmare ;)
09:45 ashimema    moving from development to deployment is proving an interesting challenge to work out ;)
09:45 ashimema    I happen to be pondering deployment options for one of my mojolicious apps..
09:45 * Viktor    waves back at cait
09:44 * cait      waves at Viktor
09:44 ashimema    was only adding to the /me's
09:44 ashimema    lol..
09:44 cait        ok, now i am curious too
09:44 cait        ?
09:42 * magnuse   becomes curious
09:39 * ashimema  ponders
09:35 * cait      waves
09:14 Joubu       hi
08:39 huginn`     ashimema: The current temperature in Stevenage, England, Stevenage, United Kingdom is 12.4°C (8:39 AM GMT on December 08, 2015). Conditions: Rain. Humidity: 89%. Dew Point: 11.0°C. Pressure: 30.06 in 1018 hPa (Steady).
08:39 ashimema    @wunder stevenage, uk
08:38 huginn`     liw: The current temperature in Acequion, Torrevieja, Spain is 13.4°C (9:38 AM CET on December 08, 2015). Conditions: Partly Cloudy. Humidity: 87%. Dew Point: 11.0°C. Pressure: 30.48 in 1032 hPa (Steady).
08:38 liw         @wunder torrevieja
08:37 huginn`     magnuse: The current temperature in Thessaloniki, Greece is 9.0°C (10:20 AM EET on December 08, 2015). Conditions: Partly Cloudy. Humidity: 76%. Dew Point: 5.0°C. Pressure: 30.54 in 1034 hPa (Steady).
08:37 magnuse     @wunder thessaloniki
08:36 huginn`     magnuse: The current temperature in Bodo, Norway is 3.0°C (9:20 AM CET on December 08, 2015). Conditions: Mostly Cloudy. Humidity: 70%. Dew Point: -2.0°C. Windchill: 2.0°C. Pressure: 30.09 in 1019 hPa (Falling).
08:36 magnuse     @wunder boo
08:12 wahanui     hola, gaetan_B
08:12 gaetan_B    hello
07:54 alex_a      bonjour
07:51 * Francesca waves
07:42 reiveune    hello
06:41 * magnuse   waves