IRC log of #schooltool for Wednesday, 2012-05-09

*** paulproteus has quit IRC00:21
*** paulproteus has joined #schooltool00:23
*** replaceafill has quit IRC00:51
*** replaceafill has joined #schooltool01:03
*** th1a has quit IRC01:11
*** replaceafill has quit IRC01:17
*** alga has joined #schooltool01:24
*** alga has quit IRC02:06
*** th1a has joined #schooltool02:58
*** th1a has quit IRC04:48
*** aks has joined #schooltool06:18
*** aks has joined #schooltool06:18
*** th1a has joined #schooltool06:40
*** aks has quit IRC07:52
*** aks has joined #schooltool07:52
*** aks has joined #schooltool07:52
*** th1a has quit IRC07:56
*** alga has joined #schooltool09:30
*** aks has quit IRC09:46
*** alga has quit IRC09:48
*** menesis has joined #schooltool10:24
*** aks has joined #schooltool10:37
*** alga has joined #schooltool10:38
*** menesis has quit IRC11:59
*** menesis has joined #schooltool12:03
*** menesis has quit IRC12:50
*** alga has quit IRC13:28
*** menesis has joined #schooltool13:44
*** ignas has joined #schooltool14:09
*** aks has quit IRC14:20
*** paulproteus_ has joined #schooltool14:40
*** paulproteus has quit IRC14:42
*** menesis has quit IRC14:50
*** menesis has joined #schooltool14:50
*** jelkner has joined #schooltool15:21
*** th1a has joined #schooltool16:01
*** yvl has joined #schooltool16:02
*** replaceafill has joined #schooltool16:11
th1ahi yvl, replaceafill, aelkner_, menesis.16:29
yvlgood morning16:30
replaceafillgood morning/afternoon16:30
th1aWhat's up in Portugal, yvl?16:31
* yvl looks over the notes16:31
yvlwe've went over the event logic for ST appliance16:32
yvlalso packaging16:32
yvlcreated an egg for CL edgebox customizations16:33
yvltalked about Moodle/LAMS integration a bit16:33
yvlthat's in the works, I'd like to work on that for few randomly picked days when I get back16:33
yvland then the default stuff16:34
th1aIs there a Moodle API they are using now?16:34
yvlyes and no16:34
yvlmore no than yes16:34
yvlit's somewhat custom16:34
yvlin any case, we may need a plugin for Moodle to provide Moodle-part of the integration16:35
yvl(for gradebook and calendars)16:35
th1aActually that might make the most sense.16:36
yvlin the plans... we'll yet to go through some of the changes in ST part16:36
yvlwork on edgebox -> ST API a bit16:36
yvlgo over how ST reports are done16:36
yvland go over open/done ST bugfixes by Critical Links16:37
yvl(to see if we can merge some back into ST)16:37
th1aYes.16:37
yvlon a personal note, GPS is actively trying to kill me ;)16:38
th1alol16:38
replaceafill:))16:38
yvlit seems, last time we got the working one16:38
th1aI'm bringing my own next time.16:38
yvl"oh, there's a pedestrian bridge on this cliff"16:39
yvl'16:39
yvl"go on, it won't hurt... for long" :)16:39
yvlok, so that's that.16:39
th1aIt sounds like the time has been productive so far.16:40
th1aWorth the investment.16:40
th1aYes?16:40
yvltime will tell :D16:41
yvlbut yes, there was stuff to do16:41
th1aAs long as you aren't sitting there wondering why I sent you.  ;-)16:41
yvl:)16:41
th1aEating well?16:41
menesis:)16:42
th1aOK, thanks yvl.16:42
th1aLet's discuss this timeout issue.16:42
th1aMy guesses would be:16:42
th1aa) it is just timing out too quickly while teachers are entering a bunch of grades;16:43
th1ab) there's something going on with Apache.16:43
th1aIs there any reason to suspect b)?16:43
replaceafillthis is the same user that reported the cache problem like a month ago, correct?16:44
yvlhmm16:45
yvlthey might be talking about session expiration16:45
th1areplaceafill:  Yes.16:45
yvlif you leave ST idle for a while, to teach a lesson for example16:45
yvlthe session will probably be expired16:46
yvlhappens to me all the time :)16:46
th1ayvl:  That's one obvious issue.16:46
yvlannoying as hell16:46
th1aWhere is that set?16:46
* yvl shrugs16:46
yvlneed to look for that16:46
th1aI guess that's probably a zope issue.16:47
yvlmay be16:49
yvlor maybe just misconfiguration16:49
th1aZope configuration, I mean.16:49
th1aShould I have replaceafill find the session timeout setting and just try that first.16:50
* replaceafill is on it :D16:50
menesisgradebook ajax autosave will help with that16:51
th1aThat too.16:51
replaceafillmenesis, +116:52
th1aThanks replaceafill.16:52
menesisbut if teacher logs in at the start of the lesson, and enters grades at the end16:52
menesisit will timeout in that time16:52
th1aYou've not done the ajax yet, right replaceafill?16:52
replaceafillth1a, no, not yet16:52
th1aJust making sure.16:52
yvlat the very least, we should detect timed out session16:52
yvlHelder mentioned that this "send to login page" thing tested really really bad on the users16:53
th1aI was thinking the same thing.16:54
th1aWhat should we do instead?16:54
th1aDid he have a suggestion or should I do some research?16:55
yvlwe will talk about this today16:56
yvland he'll probably contact you with UX stuff later on16:56
menesisfirst, fix security, because sometimes people should be able to view stuff but can't16:57
menesissecond, avoid timeout as talked before16:57
menesisthen people will see that less often16:57
th1aOK.  Definitely get their ideas about what should happen when you do get unauthorized though.16:58
th1aI don't have any strong opinions about it and the solution may be obvious to them.16:58
menesismaybe just show "You are not authorized" and a collapsed login box16:58
menesisbut this "save form data and allow to login again" feature is helpful now17:00
th1aIn the meantime, replaceafill will take a look.17:02
th1aOh, let's see, there was something we were going to ask yvl about...17:02
th1athat evolution bug?17:03
replaceafillthe assert line17:03
th1aYes.17:03
replaceafillin evolve1.py in schooltool.requirement17:03
yvlso it finally broke :)17:04
replaceafillhttp://bazaar.launchpad.net/~schooltool-owners/schooltool.gradebook/flourish/view/head:/src/schooltool/requirement/generations/evolve1.py#L4817:04
replaceafillit would be nice if launchpad highlighted #L48 ;)17:05
replaceafilland this is the bug the user reported about it: https://bugs.launchpad.net/schooltool.gradebook/+bug/99561517:06
yvlok, so something is wrong with user's db17:06
yvlprobably17:06
yvlthe reason for this evolution was because previously utilities were removed in a wrong way17:07
yvland left stuff dangling in the database17:07
yvlthis script uses evil stuff to remove those dangling things17:08
yvlit handles the scenario, where the assert is valid17:08
replaceafillso, it's not safe to remove the line17:08
replaceafillit's doing something17:08
replaceafill:)17:08
yvlit should have been the only scenario, apparently it isn't17:09
ignasyvl, can I quote you on "this script uses evil stuff to remove those dangling things"  out of context please?17:09
yvl:DDD17:09
replaceafill:|17:09
yvlanonymously, please :D17:09
yvlor you can quote "yvl"17:09
yvlok, so we can do one of the following, I imagine17:11
yvlone is to remove the assert and hope for the better17:11
yvlanother is to obtain more information for debugging17:11
yvlideally - obtain the data.fs17:12
th1aSo this user is ok and we suspect that just an odd circumstance led to the bug?17:12
th1aOr we think he still has timebombs in his db?17:12
yvltimebombs17:12
th1akk17:12
yvlbut probably inert17:12
yvlthere's also a small possibility that somebody fixed something in zope17:13
yvlAFAIR, the code was icky17:13
yvlor at least I was mocking it for a while17:14
menesispreviously I have added a case to this evolution script when n_utilities == 017:14
menesisbut apparently this did not help17:14
menesisthe bug was reported by the same user some time ago17:14
menesisI would remove the assert and hope for the better17:15
yvlwe could also make a patch or something, so that user could generate (as in print) some debug data17:15
yvl+1 menesis17:15
th1aOK, so... what are we going to do?17:18
th1aWhat's the next step?17:19
th1aI can arbitrarily pick something...17:21
th1aI like the idea of a debug patch, since the user has already patched their instance.17:21
th1aHello?17:23
* yvl would pick a debug patch17:23
* replaceafill has no opinion about it17:23
yvlbut just because I'm cautious17:23
yvlthere's a good chance that removing the assert will be "just fine"17:23
yvlyou know17:23
yvlprobably the user should try that17:24
yvlremove the assert manually17:24
replaceafilli think he did17:24
th1aI thought he said he did and it worked.17:24
yvlsorry, I've missed that17:24
yvlok, just remove the assert then17:24
replaceafillmenesis suggested that: https://bugs.launchpad.net/schooltool.gradebook/+bug/995615/comments/417:24
replaceafilland then he reported it worked17:24
replaceafill(i think)17:24
yvlright17:25
yvl+1 on killing the assert then17:26
yvl(since we won't reproduce it anyway now, as the db is evolved)17:26
th1aOK, so menesis is killing the assert.17:28
menesisok17:28
yvlagreed :)17:28
th1aNow... we don't necessarily need to get this out immediately because it is an oddball bug, or is this something that is going to happen to everyone when they upgrade?17:28
th1aOr we don't know?17:28
menesisdon't know why it happened, and it shouldn't17:29
menesisso it is not high priority in my opinion17:30
yvlit should not happen to anyone17:31
th1aOK.  So we don't need to push a release just for that.17:31
th1aJust make sure it is in the next bugfix release, menesis.17:31
menesisok17:31
th1aAnything else to report, menesis?17:32
menesisno17:33
th1aOK, thanks menesis.17:34
th1aaelkner_: ayt?17:34
th1ago ahead, replaceafill.17:35
replaceafillok17:35
replaceafilli found how the session timeout is set17:35
replaceafillthere's a subscriber in zope.app.appsetup for the databaseopen event17:36
replaceafillthat creates a persistent session data container17:36
replaceafillthat container has the timeout setting17:36
replaceafilldefaults to 360017:36
replaceafillmaybe we could create a view under Server for editing it17:37
th1a1 hour?17:37
replaceafillyes17:37
th1aLet me ask if that seems to describe what's happening.17:37
th1aIt is longer than I would have thought.17:37
th1aIs that an hour from login or between requests?17:37
replaceafillhhmm i'd say between requests17:38
replaceafillbut i'm not sure17:38
replaceafill:)17:38
replaceafillbtw, you can set 0 for timeout, for "no expiration" :|17:38
replaceafilland then the session data container has a "resolution" setting that i don't understand17:39
replaceafill"Defines what the 'resolution' of item timeout is. "17:39
replaceafill"Setting this higher allows the transience machinery to "17:39
replaceafill"do fewer 'writes' at the expense of  causing items to time "17:39
replaceafill"out later than the 'Data object timeout value' by  a factor "17:39
replaceafill"of (at most) this many seconds."17:39
replaceafill(sorry for the flooding)17:39
replaceafillit's set to 600 seconds by default17:40
ignasreplaceafill, thats for when you set timeout for 3 days, but don't really care whether its 3 days and 1 hour or 2 days and 23  hours17:40
replaceafillah17:41
ignasif you set high resolution (1 second for example) then timeouts will be very precise17:41
replaceafilllike a delta value17:41
ignasbut you will have to store them down to the second17:41
ignasand now they just get "rounded" to that precision17:41
replaceafillah!17:41
replaceafillgot it17:41
replaceafillthanks ignas!17:41
ignasnp17:41
replaceafillso it's a 10 minute resolution :)17:42
ignasyah, so timeout in 15 minutes and timeout in 18 minutes - will probably not be any different17:42
th1aignas: Do you know if it is timeout from last request?17:43
th1a(I would assume it is...)17:43
replaceafilli'd say every time the user hits the session data container17:44
ignasno idea to be honest, but as resolution reduces writes17:45
ignasit probably is17:45
*** menesis has quit IRC17:45
th1aWhich happens?17:45
ignasthat's the point of resolution17:45
th1aActually, I wonder if ajax affects this.17:45
th1aWhether or not the session refreshes.17:45
ignasyes, ajax accesses session17:45
ignasyour authentication is session based IIRC17:45
replaceafilli assume you don't touch the session data if you retrieve a public resource file for example17:46
ignasif user accesses the item 100 times in 10 minute span, resolution will keep it down to 1 write to the timeout value I would assume17:46
ignasreplaceafill, depends really, whether it is served by zope or apache17:46
replaceafillignas, ah, true17:46
th1aOh...17:46
th1aYes.17:46
ignasif its zope, browser will send cookie headers, and session will probably get retrieved17:47
ignaswhich is why one optimization technique is hosting resources on a different host, so that browser would not send session headers and cookies17:47
ignasit only matters on high load sites though17:47
replaceafillth1a, continuing with my report17:48
replaceafilli made the gradebook navigators to use redirects instead of form submission to the gradebook views17:49
replaceafillthat's javascript redirects btw :)17:49
replaceafilland i have a question on the report guidelines17:50
replaceafillcan you check page 1 of the latest version (3)17:50
replaceafillthe Comments part specifically17:50
th1aYes?17:50
replaceafillthose are our current outline activities, correct?17:51
th1aYes.17:51
th1aYou don't need to start with the report card.17:51
replaceafilloh17:51
replaceafillyou want the gradebook first?17:51
th1aThat probably needs to be completely revisited.17:51
replaceafillah ok17:51
replaceafillshould i start with the gradebook?17:52
th1aWell, the idea here is to have something that works like a style sheet.17:52
th1aFor printed reports.17:52
replaceafillyes17:52
replaceafilli've started with the header/footer btw17:52
replaceafillbut that's general stuff17:52
th1aStart with one of the more generic printed reports for an example, but ideally we're not so much working on the reports themselves and the style sheet.17:52
th1aI'm considering fixing the reports themselves as a more or less separate task.17:53
replaceafillah, got it17:53
th1aPretty much work with existing reports as much as necessary to have a workable example.17:53
replaceafillright17:54
replaceafillok, i'll do that17:54
th1akk17:54
replaceafilli think that's it from me17:54
th1aI just forwarded a debian question to you, replaceafill.17:55
th1aYou're Vice President for Debian Relations.17:55
replaceafill:))17:55
replaceafillno, that's menesis17:55
th1aOK, I'll have to make an executive decision on that one.17:57
th1aAll right, since aelkner_ appears to be asleep or something, I guess we're done.17:57
th1aThanks gentlemen!17:57
th1aHave a good rest of the week.17:57
th1aTravel safe yvl.17:57
th1aDon't drive off any cliffs.17:57
yvlthanks17:57
replaceafillcan i recommend Christos to create a sandbox from the stable .tar.gz?17:57
th1aYou can recommend whatever you want replaceafill.17:58
yvl:D17:58
replaceafillthanks!17:58
yvlsee you soon guys17:58
replaceafillhave a good trip back home yvl17:58
replaceafillthanks everybody17:58
*** menesis has joined #schooltool18:19
*** replaceafill has quit IRC19:01
*** replaceafill has joined #schooltool19:01
*** yvl has quit IRC19:30
aelkner_hey th1a19:31
aelkner_i slept in today because i was really beat from working out lately, and i didn't have much to report19:32
aelkner_since i just started working on the views for the document tree that we discussed monday19:32
aelkner_i will want to show you stuff on friday afternoon to get your reaction19:33
aelkner_that's it for me19:33
*** paulproteus_ has quit IRC19:40
*** ignas has quit IRC19:41
*** paulproteus has joined #schooltool19:41
*** menesis has quit IRC19:42
*** th1a has quit IRC20:04
*** th1a has joined #schooltool20:14
aelkner_th1a, hey20:33
th1ahi aelkner_.20:37
*** menesis has joined #schooltool20:37
aelkner_yeah, i feel good after a nice rest, you saw how short my report was20:39
th1aYes.20:40
aelkner_i'm doing ok making the assumption that the layers heirarchy is what ever root layer i find first20:40
th1aThat should do for now.20:40
aelkner_and just take the first child of each to make the heirarchy20:40
th1aI'm going to write a "soup vs. document" email this afternoon.20:40
aelkner_what's that?20:43
th1aYou'll see.20:43
aelkner_ok20:44
th1aaelkner_:  What's the URL for your cando instance?21:00
th1aI don't need the latest code.21:00
*** jelkner has quit IRC21:11
th1aI found it.21:23
replaceafillhhmm, interesting21:44
replaceafillstartup events are not fired for selenium tests21:44
replaceafilland init events are21:44
* replaceafill blames StandaloneServer's main method :P21:46
replaceafillhhmm i can't reproduce https://bugs.launchpad.net/schooltool/+bug/99726722:09
replaceafill:|22:14
replaceafilli got a different max recursion traceback!22:14
th1acalification22:14
th1a?22:14
replaceafilli think he's mother language is Spanish22:15
replaceafillTraza in the bug report22:15
replaceafillinstead of Traceback22:15
replaceafillcalification -> grade22:15
replaceafillcalification book -> gradebook :)22:15
th1aok.22:15
th1aYes.22:15
th1aThat helps, but I still don't know what he's referring to.22:16
th1across linked?22:16
replaceafillyes22:16
th1aLinked column?22:16
replaceafillyou get a max recursion traceback if you link columns in two worksheets (to each other)22:16
th1aOK.  So we need to prevent that and capture it when it happens anyhow.22:18
th1aRight?22:18
replaceafillhowever, the traceback i get is different from his22:19
replaceafilli'll try the packaged debs22:19
th1aah.22:20
replaceafillthis is the one i get: http://pastebin.com/W0w5t7c922:21
replaceafilland the last line in the bug report makes me think that he didn't paste the whole traceback22:23
replaceafillself.interpret(self.program).....22:23
th1aProbably.22:24
* replaceafill goes to get lunch22:36

Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!