*** povbot has joined #schooltool | 03:16 | |
*** povbot` has quit IRC | 03:32 | |
*** Aiste has joined #schooltool | 07:03 | |
*** povbot has joined #schooltool | 10:05 | |
*** ignas has joined #schooltool | 14:40 | |
*** jelkner has joined #schooltool | 15:37 | |
*** nubae has joined #schooltool | 16:06 | |
nubae | hey, the link to translating schooltool.org leads to nowhere: https://launchpad.net/schooltool/2006/+pots/schooltool | 16:10 |
---|---|---|
nubae | Folks in Afghanistan (big deployment of 20,000 xos) are considering using schooltool, and asked me about localisation in Pashto, I suppose they'll do this through launchpad, am I right to assume right now only localisation in German has been done? | 16:13 |
nubae | strike that, just found the other languages | 16:15 |
*** th1a has joined #schooltool | 16:23 | |
*** dwelsh has joined #schooltool | 16:23 | |
th1a | Good morning/afternoon ignas, aelkner, yvl, dwelsh, jelkner. | 16:30 |
aelkner | morning | 16:31 |
th1a | Go Phillies! | 16:31 |
jelkner | happy monday | 16:31 |
ignas | hi | 16:31 |
ignas | yvl | 16:31 |
ignas | is not in here | 16:31 |
th1a | So we're 10 days out from release. | 16:31 |
ignas | yep | 16:32 |
th1a | blockers or potential blockers ignas? | 16:32 |
ignas | ubuntu packages backing up database | 16:33 |
ignas | and gradebook evolution | 16:33 |
ignas | 1. - i haven't done it in my life, so i can't estimate it | 16:33 |
th1a | Yes... I guess we need to get jinty in on this if possible. | 16:33 |
ignas | 2. - well, i have looked at the abyss and it's looking back at me | 16:33 |
th1a | Which abyss? | 16:34 |
ignas | schooltool.gradebook and schooltool.requirements | 16:34 |
ignas | i am trying to very very quickly understand what where and how is going on in there | 16:34 |
th1a | Ah. | 16:35 |
aelkner | requirements are now no more than ordered containres | 16:35 |
ignas | like - what are the implications of gradebook plugin being enabled/disabled and then enabled again | 16:35 |
th1a | We should probably spend some time discussing that, but first finish getting quick reports. | 16:35 |
aelkner | we hve the AppInit issue | 16:36 |
th1a | Let's get aelkner's report first. | 16:36 |
ignas | aelkner: what kind of? | 16:36 |
ignas | ok | 16:36 |
aelkner | sorry, i deidn't mean to interrupt | 16:36 |
aelkner | i saw marius' post to my mail-queue issue | 16:37 |
aelkner | it could be that using a relative path in the config file is the problem | 16:38 |
aelkner | but i need chris to be available one of these evenings | 16:38 |
aelkner | to coordinate bringing down the server, changing the setting | 16:38 |
aelkner | and having him send an email to see if it works | 16:38 |
th1a | Can't you send yourself an email? | 16:39 |
aelkner | i thought of that, but i would have to add myself as a teacher to their system | 16:39 |
aelkner | and i don't want to touch their data that way | 16:39 |
th1a | I'd just do that. | 16:39 |
ignas | or set the email for "schooltool manager" | 16:39 |
aelkner | ok, i can do that tonight | 16:40 |
aelkner | i saw the chat on Friday about the person container filter widget | 16:40 |
aelkner | so i changed cando to override that widget | 16:40 |
th1a | The thing with Chris is that it is probably best to send him an email saying "I'm going to do x, y, and z on the server tonight" and go ahead and do it unless he suddenly objects. | 16:40 |
aelkner | and i got rid of the use group.members | 16:41 |
ignas | aelkner: did that affect anything? | 16:41 |
aelkner | it might have sped up things some, but it still takes sconds to load | 16:41 |
ignas | emm | 16:42 |
ignas | i still can see the counts of students | 16:42 |
aelkner | there are 9000+ persons | 16:42 |
ignas | in acc08.candoskills | 16:42 |
aelkner | and the mere act of getting that count | 16:42 |
*** jstraw has joined #schooltool | 16:42 | |
th1a | This particular issue doesn't affect actual users though, right? | 16:43 |
ignas | it's still "Students (9532)" in https://acc08.candoskills.org/persons person filter widget | 16:43 |
jstraw | hi all | 16:43 |
*** jstraw is now known as Lumiere | 16:43 | |
th1a | I mean users don't have a reason to go to that index? | 16:43 |
ignas | th1a: it does, apparently cando users are using that view to access specific students | 16:43 |
aelkner | you're talking the live cando instance | 16:43 |
ignas | aelkner: yes | 16:43 |
aelkner | i need jstraw to update that | 16:43 |
ignas | oh, you tried it on a test instance | 16:43 |
aelkner | i also added the report menu items that dwlesh was looking for | 16:44 |
th1a | How long does it take to search for an individual student? | 16:44 |
th1a | (i.e., after you hit the search button) | 16:44 |
dwelsh | 5-7 seconds | 16:44 |
th1a | Same as when you're just loading the index? | 16:45 |
dwelsh | ok. that's a good question. checking | 16:45 |
th1a | Because, there is no real reason to load that list of students at all, other than reminding new users what the page is about. | 16:45 |
dwelsh | only 1-3 secs. to search a person | 16:46 |
th1a | It is more of a navigational hint than a useful thing. | 16:46 |
aelkner | th1a: what do you mean by "loading the index"? | 16:46 |
th1a | So just axe out the list and only have the search box there. | 16:46 |
dwelsh | more like 1-2 secs. | 16:46 |
th1a | Loading the index page. | 16:46 |
th1a | What I'm saying is that having 10 student names or whatever on the persons index is mostly useless. | 16:47 |
aelkner | yeah, that's the page i fixed | 16:47 |
dwelsh | that's a good fix; the list of ten students is not usefull | 16:47 |
th1a | The only reason it is there is to make it a little more clear what the page does the first time you're using SchoolTool. | 16:47 |
aelkner | th1a: you're saying the ten students that are listed on the first page of he index would slow down the loading? | 16:48 |
th1a | Or if you have a really small school. | 16:48 |
th1a | That's the entirety of the problem as far as I know. | 16:48 |
dwelsh | that makes sense | 16:49 |
th1a | Or maybe I'm confused. | 16:49 |
dwelsh | no, I think you've got it. | 16:50 |
th1a | Are we talking about the student group index or the persons index? | 16:50 |
ignas | we should profile that view | 16:50 |
ignas | simply | 16:50 |
ignas | well not we, alan should ;) | 16:50 |
dwelsh | in CanDo, we're talking about the "Enrollment" tab | 16:50 |
aelkner | yeah, how does one profile the view? | 16:51 |
dwelsh | The view that tab brings up lists current students and "available" students | 16:51 |
aelkner | i didn't change that one | 16:51 |
dwelsh | "available students" is the beginning of the 9K+ person list | 16:51 |
dwelsh | that beginning of the list is not useful | 16:51 |
th1a | OK. | 16:51 |
dwelsh | and teachers have to use that page a LOT. | 16:51 |
dwelsh | (every time a student adds or drops) | 16:51 |
dwelsh | so it's very tedious for them | 16:51 |
th1a | Cut out the list then. | 16:52 |
aelkner | i could look into optimizing that one too | 16:52 |
dwelsh | agreed. | 16:52 |
th1a | Any other pressing concerns dwelsh? | 16:52 |
dwelsh | aelkner, did you say the two reports (VA and Teacher) are now fixed? | 16:53 |
aelkner | you need to reload cando, svn up it | 16:53 |
dwelsh | lumiere: maybe you could do that today? | 16:53 |
dwelsh | or show me how to do it. | 16:53 |
aelkner | Lumiere: i wanted to do it myself last night | 16:54 |
Lumiere | looking | 16:54 |
aelkner | but i wasn't sure how you're starting the server these days | 16:54 |
dwelsh | I also put an email out to all CanDo08 users asking for url's of any other pages that load unacceptably slowly. | 16:54 |
dwelsh | I'll be watching the speed issues as well. | 16:54 |
dwelsh | All's quiet as of this am, but we maybe be getting more input as the week progresses. | 16:54 |
th1a | OK. Cool. | 16:54 |
Lumiere | ok, I will update cando today | 16:55 |
th1a | Lets go back to discussing gradebook/requirements. | 16:55 |
dwelsh | thanks. so then we're looking good. I'll check reports as soon as we svn up. | 16:55 |
dwelsh | Thanks, SchoolTool team, for support at end of last week. | 16:55 |
th1a | First, essential point: We don't generally have to worry about migrating gradebook because it hasn't been released before. | 16:55 |
dwelsh | We were in a bit of a crisis there with users, you you guys helped a lot | 16:55 |
th1a | You're welcome, dwelsh. | 16:56 |
th1a | Good work ignas and yvl on picking up the crazy DNS bug. | 16:56 |
ignas | th1a: alga helped too | 16:56 |
ignas | th1a: yvl and I looked and asked "WTF?!" and alga gave us the answer | 16:56 |
th1a | It is good to have the collective brainpower of POV in reserve. | 16:57 |
aelkner | is that obama having powell? | 16:57 |
aelkner | is that like | 16:57 |
th1a | So... actual gradebook users: jelkner, I guess SLA. | 16:57 |
ignas | th1a: well - it has been - cando was released, so if you want them to be able to use schooltool with school years, i will have to look at it | 16:57 |
th1a | aelkner: Not really. | 16:57 |
aelkner | they're still both really good to have | 16:58 |
ignas | but both cando and SLA are not using terms | 16:58 |
th1a | Well, that's a different question itself, right? | 16:58 |
th1a | CanDo is a different question. | 16:58 |
ignas | yeah, i mean - i can "not break" cando quite easily | 16:58 |
ignas | the problem is - not breaking "th1a school setup" | 16:58 |
th1a | Hm? | 16:58 |
ignas | well - you have mentioned that you are using gradebook and terms | 16:59 |
ignas | which is the tricky case in the whole story, because migrating can do does not require me knowing anything about gradebook | 16:59 |
ignas | s/can do/cando | 16:59 |
th1a | I am using gradebook and terms? | 16:59 |
ignas | well - aren't you? | 17:00 |
th1a | I think we may have had a misunderstanding... | 17:00 |
ignas | "Yes, Ignas, I am trying to use the Gradebook with timetables. What's | 17:00 |
ignas | the problem with that?" | 17:00 |
th1a | When did I say that? | 17:00 |
th1a | Friday? | 17:00 |
ignas | Oct 17 (3 days ago) | 17:00 |
th1a | OH! | 17:00 |
th1a | Well, that is, I was trying to check out some bugs in the gradebook. | 17:01 |
ignas | ahh, I see | 17:01 |
th1a | That was the context I was answering in. | 17:01 |
* ignas thought "Must save th1a's database" | 17:02 | |
th1a | No, not at all. | 17:02 |
ignas | good | 17:02 |
th1a | For SLA perhaps aelkner should just write some import/export scripts for grades. | 17:02 |
aelkner | how so? | 17:03 |
aelkner | i'm not sure i understand the issue | 17:03 |
ignas | i can try and explain | 17:03 |
ignas | Sections could be scheduled for multiple terms. | 17:03 |
ignas | Now - they can't and there is 1:1 relationship between a section and a term. | 17:04 |
ignas | So if you had 3 terms and 1 section, evolution script will make it 3 terms and 3 sections. | 17:04 |
ignas | This means that - if section had 3 timetables, timetables will be assigned to the relevant sections (easy to do, timetables have attribute "term") | 17:05 |
ignas | Calendar events will be moved to relevant sections (easy to do - there are dates of the events that fit into term date ranges) | 17:05 |
ignas | Grades - are tricky, data structure is a mess, and i can't move them around in any straighforward way. | 17:05 |
ignas | So if there were grades for a section - i have no way to know which "term" these grades are for. | 17:06 |
aelkner | grades are not stored in the section | 17:06 |
aelkner | however | 17:06 |
ignas | Yes | 17:06 |
ignas | that is a part of the problem | 17:06 |
ignas | that makes it so difficult | 17:06 |
ignas | And i have no easy way of duplicating the gradebook, to allow people to delete the sections/worksheets they don't need. | 17:07 |
ignas | though - if there are no terms | 17:07 |
ignas | or there is only 1 term | 17:07 |
ignas | i can "move" the section | 17:08 |
ignas | which will preserve all the grades... | 17:08 |
ignas | so cando - will work, they don't have terms | 17:08 |
ignas | schooltool.stapp2008spring will work, they don't have gradebook | 17:08 |
ignas | setups that have more than 1 term and are using schooltool.gradebook | 17:08 |
ignas | are very very tricky | 17:09 |
th1a | ignas: Do you the sections of the same class over multiple terms know they are related to each other? | 17:09 |
ignas | th1a: at the moment - no, i have it in my TODO list, but i am not sure I can make it into the release... | 17:09 |
th1a | Right. | 17:09 |
ignas | th1a: it will be my first thing to do after the release i think | 17:09 |
th1a | That's the real problem. | 17:09 |
th1a | It seems to me that there really needs to be an object that describes the multi-term section and the gradebook connects to that. | 17:10 |
ignas | there will be, and schooltool.lyceum.journal does that anyway | 17:10 |
th1a | OK. | 17:11 |
ignas | but i will have to add that functionality to schooltool and | 17:11 |
ignas | make schooltool.gradebook use it | 17:11 |
th1a | Right. | 17:11 |
th1a | So let's worry about forward compatibility rather than backward. | 17:11 |
ignas | is SLA using terms and timetables? | 17:12 |
th1a | Terms, not timetables, right? | 17:12 |
ignas | well - terms | 17:12 |
ignas | aelkner: ? | 17:12 |
aelkner | sorry | 17:12 |
aelkner | not at the moment | 17:13 |
ignas | good | 17:13 |
ignas | then - we have no problems with know deployed instances | 17:13 |
ignas | Cando - will work, SLA - will work, stapp2008spring - will work | 17:13 |
th1a | That SchoolTool works at all without terms is just wrong. | 17:13 |
ignas | th1a: well - it will stop working soon | 17:14 |
th1a | Yes ;-) | 17:14 |
ignas | Without terms that is ;) | 17:14 |
ignas | and then - i will need a break to get some rest and play with some pet features like "full school year export" (because I would like to do that ;) | 17:15 |
th1a | Yes. | 17:15 |
Lumiere | I think it might be good pre-final release | 17:15 |
Lumiere | to have some sort of startup druid | 17:15 |
Lumiere | to walk you through setting up a term/timetable etc | 17:15 |
ignas | Lumiere: we know, we have spent half of the EuroPython sprint talking about it | 17:15 |
Lumiere | ok | 17:16 |
Lumiere | (hookable so cando can ask them to setup a scoresystem and import initial competencies | 17:16 |
th1a | So in the migration between beta and 1.0 we'll be adding multi-term section objects, but we'll probably just attach each section to one multi-term section object, for the sake of sanity. | 17:16 |
ignas | nope, i will just add attributes | 17:16 |
ignas | "next" and "previous" to sections | 17:17 |
ignas | so gradebook does not have to look them up | 17:17 |
ignas | easy to do, and simple enough for programmers to understand | 17:17 |
ignas | so you would just get a section for a person when displaying gradebook, and show links to the previous term grades, or show all the related sections in the same view | 17:18 |
ignas | and I can do that quite quickly | 17:18 |
ignas | with support for "copy all the sections to the next term" in add term view | 17:19 |
ignas | quickly as in - 2 days | 17:19 |
th1a | OK. But do you intend to add multi-term section objects after the release? I'm confused. | 17:20 |
ignas | no, i don't intend to add a different object just for that usecase | 17:20 |
ignas | i don't think we need it to fulfill the usecases | 17:20 |
th1a | OK. | 17:21 |
th1a | I will resist the temptation to think up obscure potential future use cases. | 17:21 |
ignas | th1a: you can, i will keep them in mind | 17:21 |
ignas | and it might help me improve my plan | 17:21 |
th1a | Especially 10 days before a release. | 17:22 |
ignas | yeah, it's better to do that 10 days after the release ;) | 17:22 |
th1a | It just might make report generation harder to write. | 17:22 |
ignas | th1a: not much | 17:23 |
ignas | really | 17:23 |
th1a | But a few helper functions is probably easier than adding a basic object and rearranging everything. | 17:23 |
ignas | yeah, and then making people *think* about both kinds of sections | 17:24 |
ignas | all the time they write code | 17:24 |
th1a | Indeed. | 17:24 |
th1a | So at this point should we put aelkner on the index speedups? | 17:25 |
ignas | hmm | 17:25 |
ignas | aelkner: do you know how to profile things? | 17:25 |
aelkner | not yet | 17:25 |
aelkner | could you explain briefly? | 17:25 |
Lumiere | I would like to know too | 17:26 |
ignas | well - it's an art not a science, but I can try | 17:26 |
ignas | gimme a second | 17:26 |
* th1a begins profiling ignas's performance. | 17:26 | |
Lumiere | lol | 17:27 |
th1a | 47 seconds to get more coffee, | 17:27 |
Lumiere | lol | 17:27 |
th1a | 64 seconds to pee, | 17:27 |
ignas | :) | 17:27 |
* th1a goes to get more coffee. | 17:27 | |
Lumiere | ignas: the more of us know about it, the more who can test this | 17:27 |
ignas | step 1 | 17:27 |
ignas | http://mg.pov.lt/blog/profiling.html | 17:27 |
ignas | Lumiere: it's not just about finding out what is slowing it down | 17:28 |
ignas | Lumiere: it's also about knowing what to speed up, and how | 17:28 |
ignas | step 2 is - finding the __call__ of the view | 17:28 |
ignas | and if it does not exist - adding an __call__ method that calls self.index() | 17:28 |
ignas | and returns it | 17:28 |
ignas | and then @profile'ing it | 17:29 |
Lumiere | ignas: yes, but if I can at least find out what is slowing it down, I can at least let someone know | 17:29 |
ignas | oh and then you get a report and try spotting the hot spots, abnormal stuff, broken algorithms, useless operations and stuff | 17:29 |
ignas | Lumiere: are you talking about profiling | 17:29 |
ignas | Lumiere: or about timing? | 17:29 |
Lumiere | both really | 17:30 |
Lumiere | I am interested in both | 17:30 |
ignas | well - i don't know how to hook up timing to zope3 app | 17:30 |
ignas | Lumiere: i'd do it using WSGI | 17:30 |
ignas | though | 17:30 |
ignas | and a log file | 17:30 |
Lumiere | yea | 17:31 |
Lumiere | when I get a chance I'll probably look into it | 17:31 |
aelkner | ignas: if i make a change to use @profile as the page suggests | 17:33 |
th1a | aelkner: Does that help? | 17:33 |
ignas | yes | 17:33 |
aelkner | do i still start the server with make run | 17:33 |
ignas | yes | 17:33 |
ignas | start the app | 17:33 |
aelkner | i.e., bin/start... | 17:33 |
ignas | refresh the view | 17:33 |
ignas | then Ctrl-C the app | 17:33 |
ignas | see results | 17:33 |
ignas | you might want to add a delay | 17:34 |
aelkner | only after ctrl-c does the info spill out? | 17:34 |
ignas | to allow the cache to warm up | 17:34 |
ignas | yes | 17:34 |
aelkner | ok | 17:34 |
ignas | only when the process is over | 17:34 |
aelkner | got it | 17:34 |
aelkner | dealy for cache? | 17:34 |
aelkner | how do you mean? | 17:34 |
aelkner | i meant delay | 17:34 |
ignas | @profile takes a parameter count | 17:35 |
ignas | i think | 17:35 |
aelkner | oh, a delay there | 17:35 |
ignas | what it does is - it skips the first few runs | 17:35 |
aelkner | got it | 17:35 |
ignas | of the function | 17:35 |
ignas | so you refresh it 2-3 times | 17:35 |
ignas | and only then it starts counting | 17:35 |
ignas | (first run can be slower because of database loading and stuff) | 17:35 |
ignas | i'd start from profiling of SectionLearnerView | 17:35 |
ignas | because it is the view that CanDo users are using the most | 17:36 |
aelkner | right | 17:36 |
th1a | One thing to emphasize the next couple weeks is being available on IRC. | 17:36 |
th1a | I'll try to stay close and keep my eye on it.. | 17:36 |
th1a | You guys can keep talking, but I'm going to... | 17:37 |
* th1a drops the bag of gravel. | 17:37 | |
ignas | aelkner: just add: | 17:37 |
ignas | @profile | 17:37 |
ignas | def __call__(self): | 17:37 |
ignas | return self.index() | 17:37 |
ignas | to | 17:37 |
ignas | class SectionLearnerView(RelationshipEditConfView): | 17:37 |
ignas | and refresh the view a couple of times | 17:38 |
ignas | it will be way slower than usual | 17:38 |
ignas | because of profiling | 17:38 |
ignas | then ctrl-C the app | 17:38 |
ignas | and lisppaste5 the output ;) | 17:38 |
Lumiere | aelkner: if you want to work with the actual server, let me know | 17:38 |
aelkner | Lumiere: no need | 17:38 |
Lumiere | ok | 17:39 |
ignas | or try deciphering it yourself | 17:39 |
aelkner | ignas: i'd have to do that to the schooltool egg | 17:39 |
ignas | yeah, egg is good | 17:39 |
aelkner | becuase cando does not use a checkout | 17:39 |
aelkner | ok | 17:39 |
ignas | as long as you know how to revert your change | 17:39 |
ignas | :) | 17:39 |
Lumiere | aelkner: you should be able to sftp a data.fs whenever you need | 17:39 |
aelkner | ignas: yeah, i needed to remove the egg and bin/buildout to get it back | 17:40 |
ignas | nah | 17:40 |
ignas | just delete the lines you added | 17:40 |
ignas | :) | 17:40 |
ignas | works for me most of the time (as long as I can recall what I did) | 17:40 |
aelkner | yeah, that would be the best way | 17:40 |
aelkner | but i lost track of the change i made last time | 17:41 |
aelkner | and lost the undo becuase i restarted the editor | 17:41 |
aelkner | anyway... | 17:41 |
* jelkner stays logged in to channel, but leaves to await arriving students... | 17:42 | |
Lumiere | I suggest copying the egg | 17:42 |
Lumiere | and running diff ;) | 17:43 |
Lumiere | diff -ur dir1 dir2 | 17:43 |
aelkner | ignas: it didn't like my include of profilehooks | 17:46 |
ignas | well - put profilehooks in your pythonpath | 17:46 |
ignas | like - in the same directory like the view | 17:46 |
ignas | and then give it a path like schooltool.course.profilehooks | 17:46 |
aelkner | ok | 17:47 |
aelkner | ignas: i don't know if the change to __call__ is right | 17:52 |
aelkner | i'm getting a traversal error | 17:52 |
ignas | hmm | 17:52 |
aelkner | TraversalError: (<zope.app.pagetemplate.simpleviewclass.SimpleViewClass from /home/aelkner/.buildout/eggs/schooltool-2008.10.0dev_r2436-py2.4.egg/schooltool/course/browser/templates/edit_relationships.pt object at 0xa6e3b8c>, 'batch') | 17:52 |
ignas | hmm | 17:53 |
aelkner | RelationshipViewBase has __call__ = ViewPage... | 17:54 |
aelkner | so overriding it would not work, right? | 17:55 |
ignas | very strange | 17:55 |
ignas | oh | 17:55 |
th1a | srichter-ism? | 17:56 |
ignas | nope | 17:56 |
ignas | in that case | 17:56 |
ignas | instead of self.index() | 17:56 |
ignas | do the RelationshipViewBase.__call__(self) | 17:56 |
aelkner | rok | 17:57 |
aelkner | ok | 17:57 |
th1a | ignas: btw, you've got about 10 days to pick up your Sansha's Radio S and Sansha's Radio M in Rens. | 17:57 |
ignas | hmm, i haven't seen the contract notification | 17:57 |
th1a | Hm. | 17:58 |
th1a | I'll check to make sure I did it correctly. | 17:58 |
ignas | :D | 17:58 |
th1a | Maybe I gave it to someone else ;-O | 17:58 |
aelkner | ignas: so i should load the page in question and then reload a couple of times? | 17:58 |
ignas | yeah | 17:59 |
ignas | it should do | 17:59 |
ignas | the page in question | 17:59 |
ignas | is the members view for sections | 17:59 |
ignas | in this case | 17:59 |
* th1a goes to take a shower. | 17:59 | |
aelkner | it's doing the first load now | 17:59 |
aelkner | and it's taking a loooong time | 17:59 |
ignas | yep | 17:59 |
ignas | it should | 17:59 |
ignas | (on my PC 10K users in that view are taking less than a second to load) | 18:00 |
ignas | (without users assigned to groups) | 18:00 |
lisppaste5 | aelkner pasted "learners.html profiler" at http://paste.lisp.org/display/68868 | 18:02 |
aelkner | ignas: could you explain to me how to interpret the results | 18:03 |
aelkner | table.py (getSortKey)? | 18:05 |
Lumiere | look in table.py for getSortKey ;) | 18:06 |
Lumiere | it should be a function | 18:06 |
aelkner | uh, yeah | 18:07 |
aelkner | thanks for he obvious | 18:07 |
Lumiere | yw! | 18:07 |
ignas | ahhh | 18:11 |
ignas | you ran that view 3 times yes? | 18:11 |
aelkner | yes | 18:11 |
ignas | i think i got what to change | 18:16 |
ignas | let me try write the 3 liner ;) | 18:16 |
*** replaceafill has joined #schooltool | 18:16 | |
ignas | lisppaste5: url | 18:18 |
lisppaste5 | To use the lisppaste bot, visit http://paste.lisp.org/new/schooltool and enter your paste. | 18:18 |
lisppaste5 | Ignas annotated #68868 with "The solution" at http://paste.lisp.org/display/68868#1 | 18:19 |
ignas | aelkner: try that | 18:19 |
aelkner | ignas: is _sort called by base class, and we're just overriding that? | 18:20 |
ignas | yes | 18:21 |
aelkner | doing three loads now... | 18:21 |
Lumiere | what's the formatter do on getSortKey? | 18:23 |
Lumiere | it isn't used at all in getSortKey | 18:23 |
ignas | well - it can be used | 18:23 |
ignas | and sometimes is | 18:23 |
ignas | formatter.request.locale | 18:23 |
ignas | for example | 18:23 |
lisppaste5 | aelkner pasted "profiler with new _sort" at http://paste.lisp.org/display/68870 | 18:24 |
ignas | hmm, 3-4 times faster | 18:24 |
aelkner | it would seem | 18:25 |
ignas | 57510 cals to getSortKey instead of 1366476 | 18:25 |
ignas | now remove the @profile | 18:26 |
ignas | and see if you are happy with the speed | 18:26 |
ignas | of the view | 18:26 |
aelkner | i'll give you an informal load time in a sec | 18:27 |
aelkner | practically instant | 18:28 |
Lumiere | that should be much better | 18:28 |
ignas | tada | 18:28 |
aelkner | sweet! | 18:28 |
Lumiere | should be almost 24x faster ;) | 18:28 |
ignas | Lumiere: it's 4 times faster | 18:28 |
ignas | the whole view | 18:28 |
Lumiere | ignas: hmm :) | 18:28 |
Lumiere | ignas: yea | 18:28 |
aelkner | ignas: can we get that change into the schooltool egg? | 18:28 |
ignas | aelkner: gimme a sec ;) | 18:29 |
Lumiere | it just needs to be committed to the schooltool.table bzr :) | 18:29 |
ignas | Lumiere: there is no schooltool.table... | 18:29 |
Lumiere | ignas: so... still a monolithic schooltool? | 18:29 |
ignas | mostly yes | 18:30 |
ignas | Lumiere: don't have the time | 18:30 |
Lumiere | ah | 18:30 |
Lumiere | understandable | 18:30 |
ignas | if everything is OK, you should get an egg soonish | 18:32 |
ignas | someone should get that fix into zc.table | 18:34 |
ignas | but eh ;) | 18:34 |
Lumiere | gl with that | 18:34 |
aelkner | it's like your adapterTraverserPlugin directive, needed in zope! | 18:35 |
ignas | nah, this one is easier to get in there, because it's 100% compatible | 18:35 |
ignas | i can just commit it actually | 18:36 |
aelkner | i see | 18:36 |
aelkner | still i think your adapterTraverserPlugin directive totally rocks | 18:36 |
aelkner | anyway, can you send Lumiere a note when he should update his schooltool egg and how to do that? | 18:37 |
ignas | bin/buildout -n ? | 18:38 |
ignas | as for when | 18:38 |
ignas | let me see | 18:38 |
aelkner | Lumiere: you knew that already, right? | 18:38 |
Lumiere | yea | 18:39 |
Lumiere | I don't normally buildout -n | 18:39 |
aelkner | true | 18:40 |
Lumiere | because it can introduce errors | 18:40 |
aelkner | it's only for these cases where you need to update eggs | 18:40 |
Lumiere | ignas: is it possible to buildout -n schooltool | 18:40 |
Lumiere | to just update schooltool? | 18:40 |
ignas | don't think so | 18:40 |
aelkner | Lumiere: why would you want to? | 18:41 |
ignas | to be safer | 18:41 |
ignas | the less stuff you upgrade, the less stuff can break | 18:41 |
Lumiere | exactly | 18:41 |
ignas | so he'd know - it's schooltool's fault for something breaking | 18:41 |
ignas | instead of having to guess | 18:41 |
Lumiere | system admins *hate* global upgrades | 18:42 |
Lumiere | especially when they are not linked to a testing system | 18:42 |
aelkner | i see | 18:42 |
Lumiere | those eggs are not all releases... some are svn revisions | 18:42 |
ignas | Lumiere: all Zope3 eggs are | 18:43 |
Lumiere | yea | 18:43 |
Lumiere | but I also don't know what egg versions schooltool expects | 18:44 |
Lumiere | or if there will be a release that isn't backward compat. | 18:44 |
ignas | buildbot is running functionals now | 18:47 |
ignas | if they pass | 18:48 |
ignas | i'll click the release button | 18:48 |
ignas | Lumiere: update | 18:51 |
Lumiere | ok | 18:52 |
Lumiere | as I recall | 18:52 |
ignas | committed the change to zc.table too | 18:52 |
Lumiere | I can run buildout -n, svn up, and make | 18:52 |
ignas | but no one know how long it will take for them to release it | 18:52 |
Lumiere | without shutting down cando | 18:52 |
ignas | bell | 18:52 |
ignas | duno about that | 18:52 |
Lumiere | heh | 18:52 |
ignas | you should be able to | 18:52 |
Lumiere | ok, let me send a downtime notification | 18:52 |
Lumiere | ok | 18:55 |
Lumiere | dwelsh aelkner: ok taking down cando | 18:58 |
aelkner | sure | 18:58 |
Lumiere | running buildout | 18:58 |
Lumiere | (took backup) | 18:59 |
Lumiere | this is gonna take a few minutes... | 18:59 |
Lumiere | custom 503 warning is up ;) | 18:59 |
Lumiere | schooltool 2008.10.0dev-r2437 | 19:01 |
Lumiere | oO | 19:01 |
Lumiere | ok... updated... now starting | 19:01 |
Lumiere | ok... done | 19:02 |
Lumiere | that was faster then expected | 19:02 |
ignas | cool, persons view is fast | 19:03 |
ignas | everyone is happy? | 19:04 |
aelkner | ignas: should i remove my override of the PersonFilterWidget in cando | 19:04 |
ignas | well - you know how to profile now | 19:04 |
aelkner | the one to get rid of using group.members? | 19:04 |
ignas | so - enable it, profile it | 19:04 |
ignas | and see if it affects the performance | 19:05 |
aelkner | ok | 19:05 |
*** nubae1 has joined #schooltool | 19:05 | |
*** nubae has quit IRC | 19:06 | |
*** nubae1 is now known as Nubae | 19:06 | |
ignas | ok, must run now | 19:12 |
ignas | bye | 19:12 |
*** ignas has quit IRC | 19:12 | |
*** Lumiere has quit IRC | 19:24 | |
*** replaceafill has quit IRC | 19:56 | |
*** replaceafill has joined #schooltool | 20:15 | |
*** Nubae has left #schooltool | 20:28 | |
*** jelkner has quit IRC | 20:37 | |
*** jelkner has joined #schooltool | 20:43 | |
*** replaceafill has quit IRC | 21:02 | |
*** replaceafill has joined #schooltool | 21:02 | |
*** jstraw has joined #schooltool | 21:13 | |
*** jcrowley has joined #schooltool | 21:17 | |
*** jcrowley has left #schooltool | 21:17 | |
*** mgedmin has joined #schooltool | 21:19 | |
*** elarson_ has joined #schooltool | 21:23 | |
*** replaceafill has quit IRC | 21:52 | |
*** rbra has joined #schooltool | 22:08 | |
*** jelkner has quit IRC | 22:10 | |
jstraw | aelkner: ayt? | 22:28 |
aelkner | yeah | 22:28 |
jstraw | I need to get a change made to the start-schooltool instance | 23:00 |
jstraw | (and I got dragged away the second I ayt'd sorry) | 23:00 |
jstraw | and to schooltool.paste.run | 23:00 |
jstraw | and ignas isn't around | 23:00 |
jstraw | I need the user and group attribute from http://pythonpaste.org/script/ | 23:02 |
jstraw | for running init.d scripts as cando | 23:02 |
*** replaceafill has joined #schooltool | 23:09 | |
aelkner | i would guess cando:cando, but that's only a guesst | 23:23 |
*** jboisture has joined #schooltool | 23:57 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!