| *** 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 4.0.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!