IRC log of #schooltool for Thursday, 2006-05-11

*** alga has joined #SchoolTool00:36
*** jinty has quit IRC01:07
*** tiredbones has quit IRC02:10
*** tiredbones has joined #schooltool02:10
*** didymo has joined #schooltool02:20
*** Hwyvar has quit IRC03:33
*** cabbie has joined #schooltool03:48
*** th1a has quit IRC03:48
*** alga has quit IRC04:14
*** didymo has quit IRC06:33
*** cabbie has quit IRC06:54
*** jinty has joined #schooltool08:51
*** ignas has joined #schooltool11:26
*** ignas has quit IRC11:32
*** jinty has quit IRC11:46
*** faassen has joined #schooltool12:14
*** thisfred has joined #schooltool12:49
*** jinty has joined #schooltool13:02
*** Aiste has quit IRC13:03
*** Aiste has joined #schooltool13:21
*** alga has joined #SchoolTool13:36
*** mgedmin has joined #schooltool15:10
povbot/svn/commits: * faassen committed revision 6035:15:56
povbot/svn/commits: Add batching/sortable zc.table based tabular display for demographics persons.  Integrated schooltool.batching macros with zc.table so that things work nicely together. This results in a TablePage class which can be reused through subclassing - after it's moved to an appropriate location.15:56
povbot/svn/commits: Had to turn manager into a demographics.person.Person first; this error was obscured because the evolution script had updated this in my database.15:56
*** aircool00 has joined #schooltool16:11
*** aircool00 has left #schooltool16:15
povbot/svn/commits: * faassen committed revision 6036:16:36
povbot/svn/commits: No form needed. This should be further adjusted to fit the schooltool style.16:36
povbot/svn/commits: * faassen committed revision 6037:16:36
povbot/svn/commits: Add a schooldata screen. Needs quite a lot of tweaking still (custom drop-down lists, form layout broken somehow, proper date input widget).16:36
povbot/svn/commits: * faassen committed revision 6038:17:17
povbot/svn/commits: Add various contact info screens (parent1, parent2, emergency1-3).17:17
*** th1a has joined #schooltool18:00
*** alga has quit IRC18:00
*** th1a has quit IRC18:01
*** th1a|x60s has joined #schooltool18:04
povbot/svn/commits: * gintas committed revision 6039:18:14
povbot/svn/commits: Show conflicts in relationship editing views.18:14
mgedminfaassen: buildbot blames you for breaking unit and functional tests18:59
mgedmindo you know anything about that?19:00
* mgedmin is unhappy about faasen introducing a new Person subclass, but doesn't want to start a flamewar19:03
srichtereek,m etoo19:14
srichterI really do not want a new subclass19:14
srichterlet's solve this with annotations. Please!!!19:15
th1a|x60sWell, it is really too late to object.19:15
srichterwhy?19:15
th1a|x60sBecause we don't have time to start over.19:15
srichterwe spent all this time last year avoiding double classes19:15
srichterit is just some refactoring19:16
srichtermove the custom stuff into an annotation19:16
srichterwhat was the motivation for the new sub-class?19:16
th1a|x60sI don't want to try to make that argument.19:19
srichterth1a|x60s: This is incredibly silly19:19
srichterfor some really trivial data we are creating a new class19:19
faassenlook, I shall just give up, okay?19:19
faassenI'm obviously not smart enough to develop schooltool software.19:20
faassenI just had the idea that if an object stores different data, you use a different class.19:20
srichterfaassen: no, but we are using annotations19:20
srichteryou know that pattern19:20
faassenbut in the new world order one uses annotations eveywhere.19:20
faassenas that's the most pythonic approach, right?19:20
srichterwell19:20
th1a|x60sOne thing I'm trying to avoid here is driving faassen insane.19:21
faassenand if I say it's too slow to pull up a thousand annotations, then I need to show a complete book of profiling results. And guess what, it might even be faster now as when I fisrt prototyped the code, as Jim's branch landed.19:21
th1a|x60sOr, more precisely, make him not want to work on SchoolTool.19:21
th1a|x60sAnd calling his decisions incredibly silly is not really helpful.19:21
faassenevidently I broke the tests.19:21
srichterok, I'll retract, but there is really no reason for a subclass19:21
srichterspecifically if you are using formlib19:21
faassenlook, if you store different data, the oldfashioned pattern in object oriented programming19:22
faassenis to use a new subclass. :)19:22
srichterwhich does all this adapting to annotations stuff easy for you19:22
faassenlook, I started out with annotations.19:22
srichterbut component orientation takes a different take on this19:22
faassenI pulled up a table with a couple of hundred of students, or perhaps it was a thousand.19:22
faassenit was rather slow.19:22
srichterit would claim that the address data is meta-data and thus should be in annotations19:22
faassenwell, I think that a different school has different person objects altogether.19:23
faassenbut  I already had this debate a while ago.19:23
faassenI'm just not going to debate this.19:23
faassenwe will refactor it later.19:23
srichterbtw, I agree with you that we will need a catalog19:23
faassenif you really genuinely think it'll be better.19:23
srichterthat will address some of our sissues19:23
faassenbut in Python, new data storage is new class.19:23
th1a|x60sI am ok with faassen going ahead with this approach.19:24
faassenI consider annotations for everything as a form of overengineering.19:24
srichterI really believe an annotation is better, but if it stops your progress I retract19:24
faassennow I shall try to unbreak the tests.19:24
faassenhm, appears to be the requirement package.19:24
th1a|x60sThis doesn't represent a change in our design strategy.19:24
faassenthat got broken. I might've broken it, so I'll check.19:24
th1a|x60sMore of an experiment.19:24
th1a|x60sOK?19:24
faassenit's something that can be refactored. but I'm assembling components in Python.19:25
faassenattributes in Python, not in ZCML. :)19:25
srichterfine with me19:25
faassenit's not done yet.19:25
srichterI am justing smelling factory hell down the road19:25
th1a|x60sYes, it can be undone easily enough.  We just can't spend time going in circles right now.19:25
faassenI may switch it to annotations again, I may do something else.19:25
faassenI just don't appreciate the yelling I get constantly. I'm not an idiot.19:25
srichterI was not yelling no CAPS LOCKS :-)19:26
th1a|x60sWell, it came in two waves since srichter was traveling.19:26
srichteroh, I see19:26
srichterI did not get any of the previous discussions19:26
th1a|x60sRight.19:26
faassenand really, I did work with annotations in my sandbox.19:27
faassenand a zc.table that pulls in a thousand annotations was incredibly slow to display.19:27
faassenbut who knows, by the time I started putting it into schooltool, the adapter change merged, so the performance is potentially acceptable. it would need more testing.19:27
faassenI shall do a bit more testing later.19:27
* srichter apologizes to bring up a soar issue again19:28
th1a|x60sSore.19:28
* srichter shuts up now and lets people work19:28
srichterth1a|x60s: thanks19:28
faassenI mean, schooltool development is already making me feel like an idiot. :)19:28
faassenthere's rather a lot to think about while doing so.19:28
faassenit doesn't help if people rub it in. :)19:28
th1a|x60sAnd the fact that faassen finds SchoolTool so difficult makes me fear for the future.19:29
faassenthanks srichter, I understand the response. :)19:29
srichterI agree, ST is something else; he he19:29
faassenI think it's pointing at some underlying issues in Z3 I cannot identify clearly yet.19:29
faassenbut there are just too many knobs I need to turn to get something working.19:29
faassenST has many good things.19:29
povbot/svn/commits: * mg committed revision 6040:19:29
povbot/svn/commits: Remove senseless boolean comparison to true.19:29
faassenit's just something that's in the back of my mind as I do this.19:29
faassennow I apparently broke a test, I want to know how, sorry mgedmin for breaking something.19:30
faassenI just noticed the buildbot was complaining.19:30
srichterST is a big application, and some of the separation that we desire is not there yet19:30
faassenand reran the tests.19:30
faassenanyway, in some cases it just takes too much ZCML to get something hooked up.19:30
srichterwhen we have soem air to breathe, we really have to finish the package refactoring19:30
faassenI'm starting to get more and more interested in what we could do with sensible defaults in Zope 3 somehow.19:30
mgedminfaassen: there are two very very simple failures, just click on the build logs in http://source.schooltool.org/buildbot/19:30
faassenmgedmin: oh, thanks, I didn't realize I could click on those.19:31
srichterfaassen: I always write Python doctests first to make sure I feel comfortable with the Python API19:31
faassenI write a lot of python doctests.19:31
srichterif I cannot get or register components effectively while writing the doctest then I consider having an ill API19:31
faassenbut you need to do a rather large amount of things just to hook up a new form, say.19:31
faassenconcerning security, ZCML, etc.19:31
faassenanyway I can't really express it.19:31
faassennot well yet.19:32
faassenit's not ST so much, though of course that could be rearranged in parts.19:32
faassenpart of what I'm trying to do is try to keep my code simple, but that's sometimes hard. :)19:32
srichteryes19:32
faassenanyway, there's a model of customizability I'm thinking about too.19:32
faassenfor demographics, each school or country could have its own demographics data.19:32
srichterright19:33
faassenthat is not only reflected in the forms19:33
faassenit's also reflected in the way you browse through dat.19:33
faassendata.19:33
faassenand the way you search for data.19:33
faassenif you have a different field in your demographics, you may want to have it in your search form.19:33
srichterright, but quickly you are talking about localization19:33
faassenso more than just the annotations get wired up differently.19:33
faassenwell, this is a form of localization that's unrelated to i18n as far as I know.19:33
faassenyou'd have localization packages, or school cusomization packages.19:33
faassenthat you install into schooltool, and hey, it uses a new form of person object.19:34
faassenthat has a different set of annotations at least.19:34
faassennow I think the best way to go about that is with a combination of localization-skins and custom content objects.19:34
srichterbtw, I developed some nifty search mechanism for the other project I am doing19:34
srichterI am going to demo it to Tom next week19:34
srichterthat might be something to use19:34
faassennot just rewiring annotations, that's not enough, as the table needs to know about it.19:34
faassenthat'd be interesting, sure.19:34
srichterit is quiet similar to KMail's message search19:35
faassenanyway, if you can do it with skins and different content objects..19:35
srichterand I think it fits in our story of keeping searches customizable19:35
faassenyou'd be able to install a new customization without having to rewrite any existing ZCML.19:35
faassenyou just install the new package, get the new skin, and this makes sure you make the new person objects.19:35
faassenI'm not sure searches need to pluggable. I think customization can be accomplished by a wholesale replacement of the UI, if *making such UI89 is simple enough.19:36
faassenpluggability just invites a lot of complexity.19:36
srichterI;ll let you experiment with it a little bit; I hope it will work out19:36
povbot/svn/commits: * mg committed revision 6041:19:36
povbot/svn/commits: Refactor CalendarEventBookingView a bit.19:36
srichterwell, I think you shifted the pluggability from the annotation object to the person object19:37
srichterbasically now, in order to stay general, you need to deal with person factories19:37
faassenyes, but annotations require rewriting ZCML.19:37
faassenyes, you'd need to have a pluggable factory, probably.19:37
faassenbut mostly that's arranged from the UI.19:37
faassenyou just say in your skin, make these persons, not those other ones.19:37
faassenand that allows for you to drive customization from the skinning mechanism.19:38
faassenwhich I'm more comfortable with than rewriting a lot of ZCML for each school.19:38
faassenI feel rewiring ZCML is brittle.19:38
faassenthe one thing that would be hard to do from the skin is the Manager user that gets added initially.19:38
faassenbut maybe I'll switch that back to a stupid user.19:38
faassenand make the table code smart enough to just deal with it, don't know.19:38
srichtermmh, that's a good point, Skins allow for a way of overriding configuration that ZCML does not have yet19:39
faassenthat's one area where annotations have a benefit.19:39
faassenanyway, I'm not just doing this out of unthinkingness, I'm doing this because I thought about it. I don't know whether this is the right solution. annotations have clear benefits in a number of areas.19:39
faassenso I may go back to them.19:39
faassenbut I'm not sure yet. :)19:39
srichterok, I have not said anything19:39
srichterI am really shutting up now19:40
th1a|x60sI think trying a different approach is worthwhile.19:40
povbot/svn/commits: * faassen committed revision 6042:19:43
povbot/svn/commits: Oops. Should've run all the tests! I made this test for interface instead.19:43
faassensrichter: is there a way to plug factories in Zope 3?19:45
faassensrichter: to say somewhere in ZCML, okay, if you want to make an object of type V, use this factory19:45
faassensrichter: it'd be nice if that could be driven from the skin, even, but that's only doable indirectly.19:45
faassensrichter: I guess you could make a utility19:45
faassensrichter: that has the factory, and just register another one.19:45
faassensrichter: I guess that's a fairly nice model.19:46
faassensrichter: and that worked pretty well for pluggability in zope 2, actually.19:46
povbot/svn/commits: * mg committed revision 6043:19:46
povbot/svn/commits: Slightly more refactoring.  Converted a long-standing TODO into actual code.  Did not modify the unit test -- I'm a bad bad man.19:46
mgedminfaassen: just making sure -- do you plan to commit the fix for the devmode ftest too?19:47
faassenmgedmin: yes, I just found the problem.19:47
faassenmgedmin: I was trying to find the difference. :)19:47
mgedminthe class name -- person.person.Person vs demographics.person.Person19:48
mgedminI spent 5 minutes scrolling the diff too19:48
mgedminup and down, up and down...19:48
faassenmgedmin: yeah, I found it. :)19:48
faassenI guess devmode is legitimately showing the classname.19:48
faassenanyway, perhaps a combination of skin and local utilities is a good way to go for customizability.19:49
faassenmgedmin: sorry I broke those. I should've run all the tests. here I spent all my life waiting for the tests and I don't run them enough after all. :)19:50
povbot/svn/commits: * faassen committed revision 6044:19:51
povbot/svn/commits: Also broke this test due the changeover of the manager user.19:51
mgedminnah, I think it's ok not to run all the tests all the time if you're pretty sure you didn't break anything, and watch for buildbot notices19:53
* mgedmin wonders if he will be sorry he said that19:53
faassenmgedmin: no, you won't. I'll keep running them all anyway. :)19:54
faassenmgedmin: I usually do, I just forgot this one time.19:54
faassenmgedmin: buildbot is something I am not very familiar with yet, but it's handy.19:54
*** thisfred has left #schooltool20:00
povbot/svn/commits: * faassen committed revision 6045:20:35
povbot/svn/commits: Ripping out person details, as this will be replaced with stuff in the demographics module instead (as per Tom's request).20:35
povbot/svn/commits: Had to adjust devmode again as it was using person details for example functional tests; made it work with PersonPreferences instead.20:35
faassenout of here for today. see you!20:35
*** faassen has quit IRC20:36
povbot/svn/commits: * mg committed revision 6046:21:12
povbot/svn/commits: Fix for issue 486: the user should be able to initially book events if she just has addEvent permission.21:12
*** th1a|x60s has quit IRC21:31
povbot/svn/commits: * mg committed revision 6047:21:31
povbot/svn/commits: Made capitalisation of setup functions consistent (setupFoo -> setUpFoo).21:31
*** Aiste has quit IRC21:39
povbot/svn/commits: * mg committed revision 6048:21:47
povbot/svn/commits: Refactored tests: consolidated multiple EventStub classes.21:47
*** mgedmin has quit IRC21:52
povbot/svn/commits: * alga committed revision 6049:21:55
povbot/svn/commits: Fixed issue454: weekdays in weekly recurring events mess up if the timezone shifts the events to a different date.  Also fixed a similar issue with monthly recurring events.21:56
*** th1a|x60s has joined #schooltool21:59
*** Aiste has joined #schooltool21:59
*** th1a|x60s has quit IRC22:22
*** th1a|x60s has joined #schooltool22:27
*** th1a|x60s has quit IRC22:30
*** th1a|X60s has joined #schooltool22:32
*** jinty_ has joined #schooltool22:48
*** jinty has quit IRC22:48
*** toxygen has joined #schooltool22:57
toxygenhi22:58
th1a|X60stoxygen: Hi.23:06
*** wrobel has quit IRC23:23
*** wrobel has joined #schooltool23:23
toxygenjeez, i'm looking forward for beta23:36
toxygenare there any similar project like schooltool?23:36
*** jinty_ has quit IRC23:38
*** th1a has joined #schooltool23:49
th1aTesting GAIM...23:50
th1a|X60sTesting...23:50
*** th1a has left #schooltool23:51

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