IRC log of #schooltool for Monday, 2005-04-11

*** Aiste has joined #schooltool00:35
*** bskahan has joined #schooltool00:36
*** Aiste has quit IRC00:45
*** Velmont has joined #schooltool00:46
*** ignas has quit IRC01:07
*** bskahan has quit IRC01:10
*** bskahan has joined #schooltool02:55
*** bskahan has quit IRC04:40
*** bskahan has joined #schooltool05:41
*** bskahan has quit IRC06:13
*** Aiste has joined #schooltool09:49
*** Aiste has quit IRC10:50
*** auxesis has quit IRC10:56
*** auxesis has joined #schooltool11:04
*** Aiste has joined #schooltool11:27
*** alga has joined #SchoolTool11:51
*** mgedmin has joined #schooltool12:13
*** thisfred has joined #schooltool13:23
*** bskahan has joined #schooltool14:14
bskahanis launchpad zope 3 based?14:22
mgedminafaik yes14:22
*** regebro has joined #schooltool15:24
*** mgedmin has quit IRC15:36
*** FarcePest has joined #schooltool15:40
*** alga has quit IRC15:44
*** alga has joined #SchoolTool16:08
bskahanis there any way to limit the output from failed ftests?16:41
*** alga has quit IRC17:05
*** mgedmin has joined #schooltool17:18
*** alga has joined #SchoolTool17:24
th1amgedmin:  Feeling better?17:28
bskahantime for the meeting is still 16:00 UTC, since there was no quorum on moving it to 15:00?17:46
th1aWhat did I say in the email?17:47
bskahanyou agreed17:47
bskahanbut only you and I said anything17:47
bskahanas far as I saw17:47
th1aI said 1500 in the email yesterday.17:47
th1aWell, let's try to get the attention of the Programmers of Vilnius and see what they were thinking.17:48
th1aalga:  Are you guys going to be ready to meet in 10 minutes, or were you thinking it was still at 1600 UTC and thus another hour later?17:49
algawe're ready17:51
algahave you received my version of the proposal?17:52
th1aYes,  I bounced a copy of the combined proposals to the SchoolTool list.17:52
th1aDid you see that?17:52
*** gintas has joined #schooltool17:53
alganope, I missed it17:56
algaI'm drowning in my inboxes17:57
algaso I usually just skim over personal messages, leaving lists for later17:57
th1abskahan noticed you didn't have anything about i18n in there.  That needs to be added.17:57
*** ignas has joined #schooltool17:58
mgedminth1a, yes, thanks17:59
th1aOK, let's start with loose ends.  What's left to be tidied up from the last contracts, if anything?  Etria?18:00
bskahandayView rendering of timezones, doctests for allday events18:00
bskahanas far as I know that's it18:01
th1aWhen will that be done?18:01
th1aOK.  POV?18:01
algaReSTive views18:01
bskahandayView bug is just about getting CSS positioning right18:01
algawe plan to nail them by the end of tomorrow18:02
algamaybe even sooner18:02
th1aWhat are you working on specifically?18:02
algafinishing ReSTive views for ACLs and relationships18:02
algaignas is working on relationships18:02
th1aSince we have more new people hanging out on the channel, I'll mention that this is a weekly meeting we have between our paid development teams whenever they're both working on SchoolTool.18:04
th1aEveryone is welcome to participate, however.18:04
th1aI think the next contracts are pretty much solidified, with a couple remaining exceptions.18:04
th1aPOV pointed out that we'll need REST interfaces for preferences.18:05
th1aAnd notes.18:05
th1aI keep going back and forth with Etria about how to do REST for notes.18:05
th1aI have been getting the feeling that the Atom publishing API is more in flux than I had thought.18:06
bskahanzope3 went and added a user preference system a week after schoolbell18:06
th1aIs that in the Zope3 trunk now?18:07
bskahando we want to move over to use that before adding RESTive access to user preferences?18:07
th1aThat's a good question.18:08
bskahaneventually, we'll have to move to that, but I was giving it very low priority, since preferences work for us now18:08
mgedminsrichter's experimental preferences system that he added to apidoc?18:08
bskahanmmm, I'm not sure if that's the same thing, I thought garret did the generic user preferences18:09
*** tvon has joined #schooltool18:10
mgedminthis might be newer18:10
mgedminI'll have to look at it18:10
algait was srichter18:10
algait's the same thing18:10
tvonHi folks, sorry I'm late.18:11
th1atvon:  Hi.18:11
algaI don't think there's much merit in switching to the new system18:12
th1aPerhaps when we start working on SchoolTool proper.18:12
th1aLets stick with what we have for SchoolBell and SC.18:13
algawhat about i18n though?  it is holding back starting work on stc18:13
th1aWell, thre isn't much choice -- it has to be done.18:13
th1aIsn't most of the machinery in place, anyhow?18:14
algaIt is...18:15
*** tvon has quit IRC18:15
algaIt is just that translation on z3 is different than what we had18:15
algaand the devil is in the details18:16
algathe 90/10 rule18:16
th1aOK.  We'll just have to take on that devil.18:16
th1aIt just needs to be added to the new contract.18:18
*** tvon|x31 has joined #schooltool18:18
*** tvon|x31 is now known as tvon18:20
bskahanother things, new server, new schooltool tree18:20
* mgedmin jumps up and down18:20
tvonWhat's the timeline on the new server?18:20
th1ayes, mgedmin?18:21
ignasalga, how long is the i18n is going to take ?18:21
th1aThe server is waiting for us.18:21
th1aWhen is Plone 2.1 expected?18:21
mgedminth1a, alga though it was too quiet here and asked me to do something ;)18:21
tvontwo months?18:21
bskahantoo bad18:21
th1aGood, that's far enough in the future that we can't justify waiting.18:22
th1aWhat will Etria need from POV to move the site?18:23
th1amgedmin:  We're taking this off your hands.18:23
tvonerm... an export of the current one I suppose18:23
th1aA .xexp?18:24
bskahanroot or acess to /etc/httpd and /opt18:24
* bskahan nods18:24
tvonwhich what?18:24
algaI think Data.fs is better than zexp18:24
tvonthat's fine too18:24
algawhich of zexp and root access18:24
* mgedmin du's the instance home18:25
bskahanwe'll try data.fs first18:25
bskahanwhat version of plone is running now?18:25
tvonWe'll need login info for the new server of course18:25
mgedminok, we should compress the data.fs before emailing it to you (760 megs atm)18:25
bskahanprobably 50M after packing ;)18:26
tvonpack the db18:26
mgedminerr, that's what I meant by "compress" -- "pack"18:26
th1aRight.  I need to dig out the address of our contact at Canonical.  Hopefully they haven't appropriated our server for something else.18:26
tvonah, heh18:26
th1aSo this won't take substantial time on POV's end.18:27
th1aWe just need to add a couple days for Etria.18:27
tvonWe'll need to know what products are installed on the current site as well18:27
bskahanthe server needs mail, subversion, mailman, etc18:28
algaCan we keep the subversion server?18:28
th1aDo we want to move the lists now as well?18:28
th1aLet's just move the site.18:28
* bskahan is neutral18:28
bskahanand set up a demo site and
th1aWe can just do a simple demo site.18:29
bskahanI'd really like to set up with a recent subversion revision, so that I can find bugs in timezone stuff in the real world18:30
bskahanthough, the demo could do that too18:30
th1abskahan: can you also make a note to add a story for uploading .ics files to a calendar?18:32
th1aThat should be straightforward, right?18:32
th1aUploading from the filesystem.18:32
th1aOK, let's talk sequencing.18:34
th1aThe main point where there are dependencies between the two teams is in the sections/courses/teachers/students.18:35
th1aSo Etria should probably do those first.18:35
algaI'd like Marius to lay out the architecture18:35
bskahanwhat are the POV stories for that?18:35
th1aAnd it makes sense for POV to do stuff that isn't dependent on those things.18:35
algai18n in SB is not dependent ;-)18:36
algatimetabling is18:36
th1aalga:  That's what I'm thinking.18:36
th1abskahan:  You need those objects to actually make timetables.18:36
* bskahan stopped being lazy and went to look18:36
th1aalga:  We should discuss the architecture, but I don't think there's too much to it.18:37
th1abskahan:  Can you give a quick summary of your thinking on courses and sections?18:38
th1aHow they'll be implemented?18:38
bskahanyeah, I wanted to run it by POV anyway18:38
algaI think sections are groups with a marker interface18:39
bskahanan ISection is a group with an annotation18:39
algathey can be in a teaching relationship18:39
algado we need facets?18:40
bskahanI think this can be done with annotations18:40
algawhat can be done with annotations?18:41
th1aWe'll have to make a general decision about facets soon.18:41
algaRight now I think we can get by with the Zope3 component architecture18:41
bskahanthe teaching relationship in ST used facets to set the Teacher facet, iirc18:41
th1amgedmin:  Before I forget... does your laptop have bluetooth?18:42
bskahanI think that could be done with an annotation now18:42
mgedminth1a, yes18:42
th1amgedmin: Do you have a data plan for your cell phone?18:43
mgedminth1a, if by "data plan" you mean GPRS, then yes18:43
th1aYeah.  I don't know the jargon.18:43
mgedminneither do I18:43
bskahana Course is very similar to a Group of Sections, except that there's no reason for a Course to be ICalendarOwner, so I was going to create a toplevel /courses container18:43
* tvon thinks data == gprs18:44
algaI doubt we need more containers18:44
algaeither put them into a special group,18:44
algaor mark them with some interface18:45
th1aI don't think they need to contain anything.18:45
th1aThey just need to have relationships to sections.18:45
bskahanth1a: they wouldn't, I just meant to give them their own container18:45
bskahanrather than putting then in /groups18:45
algacourse IS a group18:46
gintasth1a, I remember that you said a long time that the SchoolTool is a bit too open-ended, i.e., we only have people, groups and containers - very generic stuff18:46
tvon /groups/courses would make sense I think18:46
algatvon: +118:46
algaa special group 'courses'18:46
gintasif I got Tom's idea right, that would be an argument for introducing more top level containers - to organize stuff a little bit18:47
algaeach its member is a course18:47
th1aThat sounds right.18:47
bskahanalga: ok, that I can get down with18:47
*** regebro has quit IRC18:47
bskahanbut it doesn't fix the question of what a Course is18:47
algaa course is a group18:47
algait has a marker interface18:48
th1aWell, it isn't a group.18:48
bskahanICourse looks exactly like IGroup except it doesn't have a calendar and its members can only be Sections18:48
bskahanand the IRelationship property should probably be 'sections' not 'members'18:48
th1aWell, that'll probably work in the medium term.18:48
bskahanth1a: right, Course will diverge from the basic IGroup more as we move into standards/assesment18:49
th1aYeah.  It is just sort of a placeholder in SchoolTool Calendar.18:49
bskahana Section on the other hand is a group whos members can be persons and some are teachers and some are students18:50
bskahana section is related to a course that it 'implements'18:51
* tvon has a generations question before we all disperse18:51
*** regebro has joined #schooltool18:52
bskahanalga: would it be ok to seperate out groups with calendars from groups without calendars?18:52
algawhat's wrong with a calendar that's just hanging there?18:53
bskahanthat's really the only thing that I want to do with courses that makes me not want them to be groups at the moment18:53
bskahanits there, and its not needed18:53
th1aBefore we all disperse, I'm going to flip a coin to see whether tvon or mgedmin gets the second NGage.  I can probably get another one if necessary, so don't have a stroke either way.18:53
th1abskahan:  It could be useful, actually.18:53
th1aA course calendar.18:53
tvoneh, you can send this one to mgedmin... if you can get another it would be great though :)18:53
th1atvon:  OK.  Thanks.  mgedmin, I'll bring it to Python UK.18:54
bskahanok, I'll make courses groups and leave the calendar there18:55
th1abskahan:  Sometimes there might be course-wide events, like the AP exam.18:55
* bskahan nods18:55
bskahanok, then ICourse and ISection are both subclasses of IGroup and get stored in the groups container18:56
th1aCan we keep them separate.18:57
bskahanin the UI18:57
bskahanyes, other than in the /groups index, they'll be seperate18:57
th1aSee, I'd rather have /courses and /sections indexes.18:58
bskahanthe /groups, /persons won't go away, but they'll be replaced with18:58
th1aI don't want the user to have to grasp the concept that courses and sections are types of groups.18:58
bskahaner., not replaced, but their current prominence in the UI goes away in favor of a courses index and a section view18:58
* bskahan agrees18:59
algath1a: they don't need to! it's completely a UI issue!18:59
th1aOK.  I think we're on the same page...18:59
bskahanthere's no reason to remove the /group index though.  but there's also no reason to link to it18:59
tvonBefore POV scurries off... To add a generation I just increment the SchemaManager values and add an evolve script matching the new numbers?18:59
gintastvon, I think yes18:59
algatvon: and test that it works!18:59
th1aAlso:  making the new SchoolTool tree (branch?).18:59
bskahanth1a: what are you evolving?19:00
bskahaner., tvon19:00
tvonbskahan: notes19:00
* bskahan nods19:00
th1apov needs to rearrange the repository before Etria can start checking in SchoolTool changes.19:01
bskahanmgedmin: we're all cheering for you to put together the schooltool tree19:01
* mgedmin mhms19:02
th1aSo... 1) finish the current contract; 2) send me a final of the new contract; 3) we'll send you the final payment for the current one and the initial of the new one.19:03
algath1a: what finish date are we aiming at?19:04
th1aAiming at May 1 ;-)  Let me know how close we can get.19:05
alganot a chance with i18n19:05
algamaybe a slight chance if we only concentrate on tt19:06
mgedminalga, I think you're overestimating i18n19:06
th1aI know we're can't hit May 1, let me know the best you can do with i18n.19:06
algamgedmin sais a week, I think more19:07
algaI'm afraid of i18n19:07
algalast time we underestimated it like 2 times19:08
bskahanmgedmin: what time frame are you thinking for setting up the ST tree?19:08
mgedminnext couple of days, I think19:09
bskahanhave an idea of what it will look like?19:09
mgedmin /trunk/schooltool with top-level README,, runnable scripts, etc.19:14
mgedmin /trunk/schooltool/src/schooltool with Python code19:15
mgedminperhaps stich /trunk/schooltool/src/schoolbell with svn:externals so that schooltool can use calendaring from schoolbell19:15
* bskahan nods19:15
*** gintas has quit IRC19:16
bskahanduplicate the and remove-stalebytcode?19:16
mgedminthat's probably the simplest way19:16
mgedminthey are already duplicated in a number of branches19:16
mgedminactually, I would like to migrate to the Zope 3 test runner in the long term19:17
*** gintas has joined #schooltool19:17
mgedminthis would mean porting those few extra features that ST's has but Z3 doesn't19:17
bskahanzope's doesn't support limiting by package name19:19
bskahanor does it19:19
bskahanit does19:19
* bskahan is off for lunch19:27
*** bskahan has quit IRC19:27
*** bskahan has joined #schooltool19:49
bskahananyone have an opinion on putting the schooltool CLI client into schoolbell/prototypes?20:20
*** thisfred has quit IRC20:22
FarcePesti just got 510 class sections (as groups) imported into schoolbell in a few seconds, index page performance seems tolerable20:24
bskahanhow did you import them?20:27
FarcePestshoved them directly into ZODB20:27
FarcePestused as a skeleton20:28
FarcePestnow i have to sort through 86859 student/faculty/staff entries and assign a subset of them to those 510 sections20:28
bskahanany thoughts you have on what would make this process easier would be appreciated20:29
FarcePestwell the problem is, my original data is in a combination of fixed-field and csv20:29
bskahansimplifying the process of creating working instances is in the next 2 rounds of stories20:29
bskahanhrm, probably only going to do CSV in the near term, but most of the code would be shared20:31
FarcePestno magic bullet for data import20:31
bskahannot really20:32
bskahanI really want to know how to make sorting your 86859 people in to sections easier20:33
FarcePestwhat I have is this:20:33
FarcePesta) a file with all the sections defined (section, course, description)20:34
FarcePestb) a file with all the people defined (87K, many or most are gone for years)20:34
bskahando you have a way to filter only the current people?20:34
FarcePestc) a file with people and each section they are enrolled in20:35
FarcePesti wouldn't need b except that it has their login ID, which is not in c; have to join against student id (ssn)20:35
FarcePestfile c is 6396 entries (people)20:36
bskahanwhat sort of school do you work for, if you don't mind my asking?20:36
FarcePesta college at a university20:36
bskahanand everyone in file C is active?20:36
*** gintas has quit IRC20:37
FarcePesteveryone in c is of interest, b contains everyone at the whole university since 1996 or so20:37
FarcePestif c had the field i needed, i wouldn't need b20:37
bskahanc and b are csv?20:38
bskahanor mixed20:38
FarcePestc is fixed-field20:39
FarcePestbelieve it or not, b is a combination of fixed-field AND CSV (using | as a separator)20:39
* FarcePest doesn't make this shit up, he just has to consume it20:39
FarcePestactually, I think if I quit talking to you, I might have it finished in an hour ;)20:40
bskahanok, have fun20:40
*** alga has quit IRC21:02
FarcePesttakes about 30 seconds to load up the person index for 6.4K people21:02
FarcePestthey are not assigned to groups yet21:03
bskahanthat sucks21:03
bskahanbut there won't be very many times when you look at an unfiltered view of /persons in the future21:04
th1a30 seconds to load a page with 6400 lines?21:04
FarcePesti think most people would want to search, or have a-z subindexes21:04
* bskahan agrees21:04
th1aActually, that's the way the interface was originally.21:04
th1aBut most people won't be starting with that many lines.21:05
th1aIt was overkill for everyone until FarcePest arrived on the scene.21:05
FarcePestoh dopey me21:06
th1aThis project was much easier before we had any users.21:06
th1aThe good old days.21:06
bskahanspeaking of, need to figure out
bskahanI'm not sure how robust the default search system is meant to be21:07
bskahanbut its a start21:07
FarcePestwell, the two high schools here probably have easily 1000+ students each21:07
bskahanth1a: last view for timezones commited21:07
th1aYes, we'll have to add that back in soon.21:08
th1aThe search, that is.21:08
bskahanI'm hoping that fixing that bug will give us some degree of search21:11
FarcePestdoes the person index sort on name? I know that's the sort order, but I suspect the b-tree is indexed on the user id21:15
mgedminyes on both counts21:15
FarcePesti wonder how much of a performance hit the sort is21:16
mgedminyou could remove the /sortby:title from the page template and see if it becomes noticeably faster21:20
*** ignas has quit IRC21:36
th1aSo I did get some followup on the SchoolMation GPL dispute.21:46
th1aBasically, at least one company (in India) took their code and just distributed it under a commercial license giving them no credit whatsoever.21:46
th1aFor reasons unknown to me, they didn't think they could afford the time or energy to contest the violation of the license.21:47
th1aI think it was foolish on their part.21:48
th1aBlatant GPL violations are rare and tend to make news quickly.21:48
bskahansmall company, fighing IP litigation overseas21:48
th1aYeah, but you really just have to get them to make their revisions publically accessible.21:48
tvonThey easily could have gotten /. press21:49
* bskahan nods21:49
th1aAnd getting slammed on Slashdot, etc. isn't good for business.21:49
FarcePeststill could21:49
FarcePestslashdot is not exactly timely these days21:49
bskahanand, if they're not making modifications, the evildoers may not actually be in the wrong21:49
th1aI'm probably going to write a post about it for the eSchool News blogs.21:49
th1aThey are if they are redistributing the code under another license.21:50
bskahanI don't believe the GPL requires attribution for redistribution21:50
* bskahan nods21:50
th1aIt doesn't seem like SchoolMation misunderstand the GPL as much as the misunderstand the community around it.21:50
*** mgedmin has quit IRC21:51
th1aThis all went down in 2003, if not earlier.21:52
th1aSo it is kinda water under the bridge.21:52
FarcePestslashdot will cover it, even if they've already covered it22:16
bskahan+1 insightfull22:16
tvonif you're slick you can get them to do it twice in one week22:16
* FarcePest has seen it happen twice in one day22:16
FarcePestour courses have colorful names like: Stat Anal For Bus I22:19
*** regebro has quit IRC22:58
FarcePest"Set up access" is painful for 500+ groups and 6000+ people23:06
th1aI'd imagine.23:06
*** tvon has quit IRC23:06
th1aWhat do we need?23:06
FarcePestwell, I imagine that some booze would make it seem a lot faster23:07
FarcePestor at least, you'd care less23:07
th1aBetter defaults?23:07
FarcePeston 2+ minutes right now...23:07
th1aOh, yeah,23:08
th1athe form...23:08
bskahanloading the page23:08
FarcePesthow many checkboxes? let me count the ways...23:08
bskahanplone uses batches of 10 for the equivalent form23:08
FarcePest4 minutes and counting23:09
th1aI guess we need a search option there, too.23:09
FarcePestmaybe two search options (for groups and people) and maybe resources too23:10
bskahanalphabet batching would be good23:10
FarcePestat least it's not filling memory23:11
th1aI'd like to have the search form not kick in until the number of items becomes unwieldy.23:12
th1aIt's kind of impressive that it works at all.23:12
FarcePestthat was about 6 minutes23:12
FarcePestwait, still rendering...23:13
FarcePestactually just finished loading23:13
FarcePestsize of page: 9670.73 KB23:14
* FarcePest declines to change any settings23:15
* FarcePest should have used that time to make a pot of coffee, will do so now23:17
*** th1a has quit IRC23:41
FarcePestthe "More" button on the Calendar portlet is hell, too23:45
FarcePestthe resulting page is not big, but takes about 2 minutes to load, probably because it is checking all people for accessible calendars.23:46
FarcePestand all groups, too.23:46
FarcePestand resources23:46
bskahanif that's what it does I think there's a good way to optimize it23:46
* bskahan goes to look23:47
*** th1a has joined #schooltool23:47
bskahanthat's what it does23:48
bskahanthough what I thought would speed it up doesn't work23:48
FarcePestok i now have a) all sections imported, b) all students imported, c) students assigned to sections (groups), d) each student's group's calendar added to their overlay23:54
bskahanits like a real user23:54
th1aThat's not too shabby.23:54
FarcePestwell, I still need to create calendars for each section, and import resources, and assign resources to groups23:55
FarcePestbut it is progress23:55
FarcePestit's about 100x more progress than i made last two weeks (I was sick last week anyway)23:56
th1aAnd you pretty much just hacked everything straight into the ZODB?23:56
FarcePestyeah, that seemed easier than trying to figure out the REST23:57
FarcePestZODB just a persistent dictionary23:57
th1aDid you use any of our modules?23:57
FarcePestoh yeah, i based it off the schooltool-import script23:57
FarcePestexcept i ripped out all the XML/DOM stuff since I don't have anything in that format23:58
bskahanhugely faster than doing it via REST anyway23:58
th1aI'd like to see your script.23:58
FarcePesttakes less than 30 seconds I think23:58
* FarcePest can probably arrange that23:58

Generated by 2.15.1 by Marius Gedminas - find it at!