*** paulproteus has quit IRC | 00:21 | |
*** paulproteus has joined #schooltool | 00:23 | |
*** replaceafill has quit IRC | 00:51 | |
*** replaceafill has joined #schooltool | 01:03 | |
*** th1a has quit IRC | 01:11 | |
*** replaceafill has quit IRC | 01:17 | |
*** alga has joined #schooltool | 01:24 | |
*** alga has quit IRC | 02:06 | |
*** th1a has joined #schooltool | 02:58 | |
*** th1a has quit IRC | 04:48 | |
*** aks has joined #schooltool | 06:18 | |
*** aks has joined #schooltool | 06:18 | |
*** th1a has joined #schooltool | 06:40 | |
*** aks has quit IRC | 07:52 | |
*** aks has joined #schooltool | 07:52 | |
*** aks has joined #schooltool | 07:52 | |
*** th1a has quit IRC | 07:56 | |
*** alga has joined #schooltool | 09:30 | |
*** aks has quit IRC | 09:46 | |
*** alga has quit IRC | 09:48 | |
*** menesis has joined #schooltool | 10:24 | |
*** aks has joined #schooltool | 10:37 | |
*** alga has joined #schooltool | 10:38 | |
*** menesis has quit IRC | 11:59 | |
*** menesis has joined #schooltool | 12:03 | |
*** menesis has quit IRC | 12:50 | |
*** alga has quit IRC | 13:28 | |
*** menesis has joined #schooltool | 13:44 | |
*** ignas has joined #schooltool | 14:09 | |
*** aks has quit IRC | 14:20 | |
*** paulproteus_ has joined #schooltool | 14:40 | |
*** paulproteus has quit IRC | 14:42 | |
*** menesis has quit IRC | 14:50 | |
*** menesis has joined #schooltool | 14:50 | |
*** jelkner has joined #schooltool | 15:21 | |
*** th1a has joined #schooltool | 16:01 | |
*** yvl has joined #schooltool | 16:02 | |
*** replaceafill has joined #schooltool | 16:11 | |
th1a | hi yvl, replaceafill, aelkner_, menesis. | 16:29 |
---|---|---|
yvl | good morning | 16:30 |
replaceafill | good morning/afternoon | 16:30 |
th1a | What's up in Portugal, yvl? | 16:31 |
* yvl looks over the notes | 16:31 | |
yvl | we've went over the event logic for ST appliance | 16:32 |
yvl | also packaging | 16:32 |
yvl | created an egg for CL edgebox customizations | 16:33 |
yvl | talked about Moodle/LAMS integration a bit | 16:33 |
yvl | that's in the works, I'd like to work on that for few randomly picked days when I get back | 16:33 |
yvl | and then the default stuff | 16:34 |
th1a | Is there a Moodle API they are using now? | 16:34 |
yvl | yes and no | 16:34 |
yvl | more no than yes | 16:34 |
yvl | it's somewhat custom | 16:34 |
yvl | in any case, we may need a plugin for Moodle to provide Moodle-part of the integration | 16:35 |
yvl | (for gradebook and calendars) | 16:35 |
th1a | Actually that might make the most sense. | 16:36 |
yvl | in the plans... we'll yet to go through some of the changes in ST part | 16:36 |
yvl | work on edgebox -> ST API a bit | 16:36 |
yvl | go over how ST reports are done | 16:36 |
yvl | and go over open/done ST bugfixes by Critical Links | 16:37 |
yvl | (to see if we can merge some back into ST) | 16:37 |
th1a | Yes. | 16:37 |
yvl | on a personal note, GPS is actively trying to kill me ;) | 16:38 |
th1a | lol | 16:38 |
replaceafill | :)) | 16:38 |
yvl | it seems, last time we got the working one | 16:38 |
th1a | I'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 |
yvl | ok, so that's that. | 16:39 |
th1a | It sounds like the time has been productive so far. | 16:40 |
th1a | Worth the investment. | 16:40 |
th1a | Yes? | 16:40 |
yvl | time will tell :D | 16:41 |
yvl | but yes, there was stuff to do | 16:41 |
th1a | As long as you aren't sitting there wondering why I sent you. ;-) | 16:41 |
yvl | :) | 16:41 |
th1a | Eating well? | 16:41 |
menesis | :) | 16:42 |
th1a | OK, thanks yvl. | 16:42 |
th1a | Let's discuss this timeout issue. | 16:42 |
th1a | My guesses would be: | 16:42 |
th1a | a) it is just timing out too quickly while teachers are entering a bunch of grades; | 16:43 |
th1a | b) there's something going on with Apache. | 16:43 |
th1a | Is there any reason to suspect b)? | 16:43 |
replaceafill | this is the same user that reported the cache problem like a month ago, correct? | 16:44 |
yvl | hmm | 16:45 |
yvl | they might be talking about session expiration | 16:45 |
th1a | replaceafill: Yes. | 16:45 |
yvl | if you leave ST idle for a while, to teach a lesson for example | 16:45 |
yvl | the session will probably be expired | 16:46 |
yvl | happens to me all the time :) | 16:46 |
th1a | yvl: That's one obvious issue. | 16:46 |
yvl | annoying as hell | 16:46 |
th1a | Where is that set? | 16:46 |
* yvl shrugs | 16:46 | |
yvl | need to look for that | 16:46 |
th1a | I guess that's probably a zope issue. | 16:47 |
yvl | may be | 16:49 |
yvl | or maybe just misconfiguration | 16:49 |
th1a | Zope configuration, I mean. | 16:49 |
th1a | Should I have replaceafill find the session timeout setting and just try that first. | 16:50 |
* replaceafill is on it :D | 16:50 | |
menesis | gradebook ajax autosave will help with that | 16:51 |
th1a | That too. | 16:51 |
replaceafill | menesis, +1 | 16:52 |
th1a | Thanks replaceafill. | 16:52 |
menesis | but if teacher logs in at the start of the lesson, and enters grades at the end | 16:52 |
menesis | it will timeout in that time | 16:52 |
th1a | You've not done the ajax yet, right replaceafill? | 16:52 |
replaceafill | th1a, no, not yet | 16:52 |
th1a | Just making sure. | 16:52 |
yvl | at the very least, we should detect timed out session | 16:52 |
yvl | Helder mentioned that this "send to login page" thing tested really really bad on the users | 16:53 |
th1a | I was thinking the same thing. | 16:54 |
th1a | What should we do instead? | 16:54 |
th1a | Did he have a suggestion or should I do some research? | 16:55 |
yvl | we will talk about this today | 16:56 |
yvl | and he'll probably contact you with UX stuff later on | 16:56 |
menesis | first, fix security, because sometimes people should be able to view stuff but can't | 16:57 |
menesis | second, avoid timeout as talked before | 16:57 |
menesis | then people will see that less often | 16:57 |
th1a | OK. Definitely get their ideas about what should happen when you do get unauthorized though. | 16:58 |
th1a | I don't have any strong opinions about it and the solution may be obvious to them. | 16:58 |
menesis | maybe just show "You are not authorized" and a collapsed login box | 16:58 |
menesis | but this "save form data and allow to login again" feature is helpful now | 17:00 |
th1a | In the meantime, replaceafill will take a look. | 17:02 |
th1a | Oh, let's see, there was something we were going to ask yvl about... | 17:02 |
th1a | that evolution bug? | 17:03 |
replaceafill | the assert line | 17:03 |
th1a | Yes. | 17:03 |
replaceafill | in evolve1.py in schooltool.requirement | 17:03 |
yvl | so it finally broke :) | 17:04 |
replaceafill | http://bazaar.launchpad.net/~schooltool-owners/schooltool.gradebook/flourish/view/head:/src/schooltool/requirement/generations/evolve1.py#L48 | 17:04 |
replaceafill | it would be nice if launchpad highlighted #L48 ;) | 17:05 |
replaceafill | and this is the bug the user reported about it: https://bugs.launchpad.net/schooltool.gradebook/+bug/995615 | 17:06 |
yvl | ok, so something is wrong with user's db | 17:06 |
yvl | probably | 17:06 |
yvl | the reason for this evolution was because previously utilities were removed in a wrong way | 17:07 |
yvl | and left stuff dangling in the database | 17:07 |
yvl | this script uses evil stuff to remove those dangling things | 17:08 |
yvl | it handles the scenario, where the assert is valid | 17:08 |
replaceafill | so, it's not safe to remove the line | 17:08 |
replaceafill | it's doing something | 17:08 |
replaceafill | :) | 17:08 |
yvl | it should have been the only scenario, apparently it isn't | 17:09 |
ignas | yvl, can I quote you on "this script uses evil stuff to remove those dangling things" out of context please? | 17:09 |
yvl | :DDD | 17:09 |
replaceafill | :| | 17:09 |
yvl | anonymously, please :D | 17:09 |
yvl | or you can quote "yvl" | 17:09 |
yvl | ok, so we can do one of the following, I imagine | 17:11 |
yvl | one is to remove the assert and hope for the better | 17:11 |
yvl | another is to obtain more information for debugging | 17:11 |
yvl | ideally - obtain the data.fs | 17:12 |
th1a | So this user is ok and we suspect that just an odd circumstance led to the bug? | 17:12 |
th1a | Or we think he still has timebombs in his db? | 17:12 |
yvl | timebombs | 17:12 |
th1a | kk | 17:12 |
yvl | but probably inert | 17:12 |
yvl | there's also a small possibility that somebody fixed something in zope | 17:13 |
yvl | AFAIR, the code was icky | 17:13 |
yvl | or at least I was mocking it for a while | 17:14 |
menesis | previously I have added a case to this evolution script when n_utilities == 0 | 17:14 |
menesis | but apparently this did not help | 17:14 |
menesis | the bug was reported by the same user some time ago | 17:14 |
menesis | I would remove the assert and hope for the better | 17:15 |
yvl | we could also make a patch or something, so that user could generate (as in print) some debug data | 17:15 |
yvl | +1 menesis | 17:15 |
th1a | OK, so... what are we going to do? | 17:18 |
th1a | What's the next step? | 17:19 |
th1a | I can arbitrarily pick something... | 17:21 |
th1a | I like the idea of a debug patch, since the user has already patched their instance. | 17:21 |
th1a | Hello? | 17:23 |
* yvl would pick a debug patch | 17:23 | |
* replaceafill has no opinion about it | 17:23 | |
yvl | but just because I'm cautious | 17:23 |
yvl | there's a good chance that removing the assert will be "just fine" | 17:23 |
yvl | you know | 17:23 |
yvl | probably the user should try that | 17:24 |
yvl | remove the assert manually | 17:24 |
replaceafill | i think he did | 17:24 |
th1a | I thought he said he did and it worked. | 17:24 |
yvl | sorry, I've missed that | 17:24 |
yvl | ok, just remove the assert then | 17:24 |
replaceafill | menesis suggested that: https://bugs.launchpad.net/schooltool.gradebook/+bug/995615/comments/4 | 17:24 |
replaceafill | and then he reported it worked | 17:24 |
replaceafill | (i think) | 17:24 |
yvl | right | 17:25 |
yvl | +1 on killing the assert then | 17:26 |
yvl | (since we won't reproduce it anyway now, as the db is evolved) | 17:26 |
th1a | OK, so menesis is killing the assert. | 17:28 |
menesis | ok | 17:28 |
yvl | agreed :) | 17:28 |
th1a | Now... 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 |
th1a | Or we don't know? | 17:28 |
menesis | don't know why it happened, and it shouldn't | 17:29 |
menesis | so it is not high priority in my opinion | 17:30 |
yvl | it should not happen to anyone | 17:31 |
th1a | OK. So we don't need to push a release just for that. | 17:31 |
th1a | Just make sure it is in the next bugfix release, menesis. | 17:31 |
menesis | ok | 17:31 |
th1a | Anything else to report, menesis? | 17:32 |
menesis | no | 17:33 |
th1a | OK, thanks menesis. | 17:34 |
th1a | aelkner_: ayt? | 17:34 |
th1a | go ahead, replaceafill. | 17:35 |
replaceafill | ok | 17:35 |
replaceafill | i found how the session timeout is set | 17:35 |
replaceafill | there's a subscriber in zope.app.appsetup for the databaseopen event | 17:36 |
replaceafill | that creates a persistent session data container | 17:36 |
replaceafill | that container has the timeout setting | 17:36 |
replaceafill | defaults to 3600 | 17:36 |
replaceafill | maybe we could create a view under Server for editing it | 17:37 |
th1a | 1 hour? | 17:37 |
replaceafill | yes | 17:37 |
th1a | Let me ask if that seems to describe what's happening. | 17:37 |
th1a | It is longer than I would have thought. | 17:37 |
th1a | Is that an hour from login or between requests? | 17:37 |
replaceafill | hhmm i'd say between requests | 17:38 |
replaceafill | but i'm not sure | 17:38 |
replaceafill | :) | 17:38 |
replaceafill | btw, you can set 0 for timeout, for "no expiration" :| | 17:38 |
replaceafill | and then the session data container has a "resolution" setting that i don't understand | 17: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 |
replaceafill | it's set to 600 seconds by default | 17:40 |
ignas | replaceafill, 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 hours | 17:40 |
replaceafill | ah | 17:41 |
ignas | if you set high resolution (1 second for example) then timeouts will be very precise | 17:41 |
replaceafill | like a delta value | 17:41 |
ignas | but you will have to store them down to the second | 17:41 |
ignas | and now they just get "rounded" to that precision | 17:41 |
replaceafill | ah! | 17:41 |
replaceafill | got it | 17:41 |
replaceafill | thanks ignas! | 17:41 |
ignas | np | 17:41 |
replaceafill | so it's a 10 minute resolution :) | 17:42 |
ignas | yah, so timeout in 15 minutes and timeout in 18 minutes - will probably not be any different | 17:42 |
th1a | ignas: Do you know if it is timeout from last request? | 17:43 |
th1a | (I would assume it is...) | 17:43 |
replaceafill | i'd say every time the user hits the session data container | 17:44 |
ignas | no idea to be honest, but as resolution reduces writes | 17:45 |
ignas | it probably is | 17:45 |
*** menesis has quit IRC | 17:45 | |
th1a | Which happens? | 17:45 |
ignas | that's the point of resolution | 17:45 |
th1a | Actually, I wonder if ajax affects this. | 17:45 |
th1a | Whether or not the session refreshes. | 17:45 |
ignas | yes, ajax accesses session | 17:45 |
ignas | your authentication is session based IIRC | 17:45 |
replaceafill | i assume you don't touch the session data if you retrieve a public resource file for example | 17:46 |
ignas | if user accesses the item 100 times in 10 minute span, resolution will keep it down to 1 write to the timeout value I would assume | 17:46 |
ignas | replaceafill, depends really, whether it is served by zope or apache | 17:46 |
replaceafill | ignas, ah, true | 17:46 |
th1a | Oh... | 17:46 |
th1a | Yes. | 17:46 |
ignas | if its zope, browser will send cookie headers, and session will probably get retrieved | 17:47 |
ignas | which is why one optimization technique is hosting resources on a different host, so that browser would not send session headers and cookies | 17:47 |
ignas | it only matters on high load sites though | 17:47 |
replaceafill | th1a, continuing with my report | 17:48 |
replaceafill | i made the gradebook navigators to use redirects instead of form submission to the gradebook views | 17:49 |
replaceafill | that's javascript redirects btw :) | 17:49 |
replaceafill | and i have a question on the report guidelines | 17:50 |
replaceafill | can you check page 1 of the latest version (3) | 17:50 |
replaceafill | the Comments part specifically | 17:50 |
th1a | Yes? | 17:50 |
replaceafill | those are our current outline activities, correct? | 17:51 |
th1a | Yes. | 17:51 |
th1a | You don't need to start with the report card. | 17:51 |
replaceafill | oh | 17:51 |
replaceafill | you want the gradebook first? | 17:51 |
th1a | That probably needs to be completely revisited. | 17:51 |
replaceafill | ah ok | 17:51 |
replaceafill | should i start with the gradebook? | 17:52 |
th1a | Well, the idea here is to have something that works like a style sheet. | 17:52 |
th1a | For printed reports. | 17:52 |
replaceafill | yes | 17:52 |
replaceafill | i've started with the header/footer btw | 17:52 |
replaceafill | but that's general stuff | 17:52 |
th1a | Start 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 |
th1a | I'm considering fixing the reports themselves as a more or less separate task. | 17:53 |
replaceafill | ah, got it | 17:53 |
th1a | Pretty much work with existing reports as much as necessary to have a workable example. | 17:53 |
replaceafill | right | 17:54 |
replaceafill | ok, i'll do that | 17:54 |
th1a | kk | 17:54 |
replaceafill | i think that's it from me | 17:54 |
th1a | I just forwarded a debian question to you, replaceafill. | 17:55 |
th1a | You're Vice President for Debian Relations. | 17:55 |
replaceafill | :)) | 17:55 |
replaceafill | no, that's menesis | 17:55 |
th1a | OK, I'll have to make an executive decision on that one. | 17:57 |
th1a | All right, since aelkner_ appears to be asleep or something, I guess we're done. | 17:57 |
th1a | Thanks gentlemen! | 17:57 |
th1a | Have a good rest of the week. | 17:57 |
th1a | Travel safe yvl. | 17:57 |
th1a | Don't drive off any cliffs. | 17:57 |
yvl | thanks | 17:57 |
replaceafill | can i recommend Christos to create a sandbox from the stable .tar.gz? | 17:57 |
th1a | You can recommend whatever you want replaceafill. | 17:58 |
yvl | :D | 17:58 |
replaceafill | thanks! | 17:58 |
yvl | see you soon guys | 17:58 |
replaceafill | have a good trip back home yvl | 17:58 |
replaceafill | thanks everybody | 17:58 |
*** menesis has joined #schooltool | 18:19 | |
*** replaceafill has quit IRC | 19:01 | |
*** replaceafill has joined #schooltool | 19:01 | |
*** yvl has quit IRC | 19:30 | |
aelkner_ | hey th1a | 19:31 |
aelkner_ | i slept in today because i was really beat from working out lately, and i didn't have much to report | 19:32 |
aelkner_ | since i just started working on the views for the document tree that we discussed monday | 19:32 |
aelkner_ | i will want to show you stuff on friday afternoon to get your reaction | 19:33 |
aelkner_ | that's it for me | 19:33 |
*** paulproteus_ has quit IRC | 19:40 | |
*** ignas has quit IRC | 19:41 | |
*** paulproteus has joined #schooltool | 19:41 | |
*** menesis has quit IRC | 19:42 | |
*** th1a has quit IRC | 20:04 | |
*** th1a has joined #schooltool | 20:14 | |
aelkner_ | th1a, hey | 20:33 |
th1a | hi aelkner_. | 20:37 |
*** menesis has joined #schooltool | 20:37 | |
aelkner_ | yeah, i feel good after a nice rest, you saw how short my report was | 20:39 |
th1a | Yes. | 20:40 |
aelkner_ | i'm doing ok making the assumption that the layers heirarchy is what ever root layer i find first | 20:40 |
th1a | That should do for now. | 20:40 |
aelkner_ | and just take the first child of each to make the heirarchy | 20:40 |
th1a | I'm going to write a "soup vs. document" email this afternoon. | 20:40 |
aelkner_ | what's that? | 20:43 |
th1a | You'll see. | 20:43 |
aelkner_ | ok | 20:44 |
th1a | aelkner_: What's the URL for your cando instance? | 21:00 |
th1a | I don't need the latest code. | 21:00 |
*** jelkner has quit IRC | 21:11 | |
th1a | I found it. | 21:23 |
replaceafill | hhmm, interesting | 21:44 |
replaceafill | startup events are not fired for selenium tests | 21:44 |
replaceafill | and init events are | 21:44 |
* replaceafill blames StandaloneServer's main method :P | 21:46 | |
replaceafill | hhmm i can't reproduce https://bugs.launchpad.net/schooltool/+bug/997267 | 22:09 |
replaceafill | :| | 22:14 |
replaceafill | i got a different max recursion traceback! | 22:14 |
th1a | calification | 22:14 |
th1a | ? | 22:14 |
replaceafill | i think he's mother language is Spanish | 22:15 |
replaceafill | Traza in the bug report | 22:15 |
replaceafill | instead of Traceback | 22:15 |
replaceafill | calification -> grade | 22:15 |
replaceafill | calification book -> gradebook :) | 22:15 |
th1a | ok. | 22:15 |
th1a | Yes. | 22:15 |
th1a | That helps, but I still don't know what he's referring to. | 22:16 |
th1a | cross linked? | 22:16 |
replaceafill | yes | 22:16 |
th1a | Linked column? | 22:16 |
replaceafill | you get a max recursion traceback if you link columns in two worksheets (to each other) | 22:16 |
th1a | OK. So we need to prevent that and capture it when it happens anyhow. | 22:18 |
th1a | Right? | 22:18 |
replaceafill | however, the traceback i get is different from his | 22:19 |
replaceafill | i'll try the packaged debs | 22:19 |
th1a | ah. | 22:20 |
replaceafill | this is the one i get: http://pastebin.com/W0w5t7c9 | 22:21 |
replaceafill | and the last line in the bug report makes me think that he didn't paste the whole traceback | 22:23 |
replaceafill | self.interpret(self.program)..... | 22:23 |
th1a | Probably. | 22:24 |
* replaceafill goes to get lunch | 22:36 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!