IRC log of #schooltool for Wednesday, 2006-03-08

*** didymo has joined #schooltool01:13
*** alga has quit IRC01:46
*** carljm has joined #schooltool02:04
*** srichter has quit IRC02:09
*** srichter has joined #schooltool03:19
*** srichter has quit IRC03:26
*** srichter has joined #schooltool03:29
*** th1a has quit IRC03:29
povbot/svn/commits: * srichter committed revision 5790:04:36
povbot/svn/commits: Implemented doctest story. A lot of other tests should be failing at this point, but that's okay.04:36
*** carljm has quit IRC06:28
*** didymo has quit IRC06:39
*** vidasp has joined #schooltool10:25
*** jinty has joined #schooltool11:25
*** alga has joined #SchoolTool11:37
*** ignas has joined #schooltool12:23
*** mgedmin has joined #schooltool12:59
*** faassen has joined #schooltool15:00
*** th1a has joined #schooltool15:00
srichterth1a: good morning15:01
srichterhow are you feeling15:01
th1aOK.  Going to the doctor this morning.15:01
th1aMust definitively kill whatever is inhabiting my body.15:02
srichterhopefully it is just a bacteria and a couple days anti-biotica will help15:02
th1aYes.  Really should have done that a week ago...15:03
ignasth1a, got some time ?15:03
*** faassen has left #schooltool15:03
th1aignas:  Sure.15:03
ignasdo you really want timezones attached to School Timetables, as we have already made some changes leading to Application timezone being used15:04
ignaswhich is easier on the programming side15:04
ignastohugh has the side effect of - you change app timezone - your timetables shift accordingly15:05
ignasnot sure whether it is a feature or a bug15:05
th1aOh, you mean because it is hard to imagine that your timetable timezone would be different than the app timezone.15:05
th1aWell, perhaps what you should do is figure out how to force the timezone to be set the first time the server is started.15:06
ignasit is difficult to imagine different school timetalbes having different timezones at all15:06
ignaswith the dashboard comming up15:06
th1aOr the first time the manager logs in.15:06
ignaswe could add such configuration options to the "startup screen" for the administrator15:06
ignasa viewlet that disables after unless - "show this to me next time i log in" is checked15:07
ignasbroken english :/15:07
ignassorry15:07
th1aI understood.15:07
th1aIt seems like we could either integrate this into the user dashboard which we all seem to recognize we need but haven't really designed yet,15:09
th1aor have something that automatically sends the manager to the site setup page the first time he logs on.15:10
th1aGenerally speaking, one thing we're going to want to add is some guides for initial setup when the manager logs in for the first time to walk through the setup process.15:11
mgedmindefault value of the school-wide timezone could also be determined from the server's actual timezone rather than defaulting to UTC15:12
th1aThat would probably not be a bad idea.15:14
th1aAn Ubuntu server ought to know its timezone, right?15:14
mgedminyes15:15
th1aWe should use that then.15:17
th1aBtw, I need to write a post to the list about platforms.15:17
th1aI think we have to drop the pretense of having a production quality server on anything other than Linux and particularly Ubuntu.15:18
th1aSchoolTool runs worse and worse on MacOS.15:18
*** faassen has joined #schooltool15:19
faassenschooltool currently doesn't start for me.15:19
srichterth1a: do you mean performance wise or startup time?15:20
faassenit doesn't start up at all.15:20
srichterfaassen: on Mac?15:20
faassen    ConfigurationError: ('Invalid value for', 'type', 'ImportError: Module zope.publisher.interfaces.browser has no global IBrowserSkinType')15:20
faassenon linux.15:20
faassenI think some change in the z3 core broke ti?15:21
faassenit?15:21
th1asrichter:  Overall performance.15:21
srichteryep, philikon's changes15:21
srichterits strange though, since I fixed all the BBB problems15:21
* mgedmin tries to reproduce15:21
srichterfaassen: are you sure you did a "svn up" on Zope 315:21
faassenI'll try that.15:21
faassenokay, i didn't do that.15:22
srichterI am 95% sure this is the problem15:22
srichterth1a: mmh, I would claim it is the IO subsystem15:22
faassenmac filesystem performance sucks.15:23
th1aI'm not saying it is our fault.15:23
faassenI mean, I don't know what this is about, but mac filesystem performance sucks really badly.15:23
srichterat the snow sprint someone told me that someone implemented the linux (or other unix?) IO subsystem on top of MacOS X's and even that was faster!15:23
srichterth1a: I know, it is just really annoying15:23
faassensrichter: I told you that after the snowsprint. it was not someone doing it.15:23
th1aI suspect a Mac/Python expert could find some optimizations, but I don't even know who that might be.15:23
srichterfaassen: ah ok :-)15:24
faassensrichter: they just mounted another BSD filesystem that was already there (but is not the default and doesn'ts upport the features of the Mac OS X filesystem)15:24
srichtersame timeframe15:24
faassensrichter: as a file.15:24
srichteroh that's it15:24
srichterso this would be a good advice to Apple users?15:24
* mgedmin gets the same error15:24
faassenno.15:24
* mgedmin runs make update15:24
faassenwell, I svn upped Zope 3.15:24
faassenand now I get another error.15:24
faassen    ZopeXMLConfigurationError: File "/home/faassen/working/schooltool/schooltool/Zope3/src/zope/app/publisher/browser/configure.zcml", line 18.0-22.615:25
faassen    UnboundLocalError: local variable 'modname' referenced before assignment15:25
srichtermmh, trunk starts up for me15:25
mgedminsvn: Failed to add directory 'Zope3/src/zope/interface/common': object of the same name already exists15:25
* mgedmin hates subversion sometimes15:25
srichteroh ok15:26
faassenmgedmin: yeah, I just nuked zope/interface15:26
srichterI know why15:26
srichterremove your Zope 3 and check it out again15:26
srichterthey switched several things to externals15:26
mgedminwhich is what I hate about subversion: when you play with svn:externals, operations like svn update just fail15:26
srichteryep, I agree15:27
mgedminnow it tries to fetch src/zope/deprecation, but says 'Skipped Zope3' and silently STOPS PROCESSING THE REST OF SVN:EXTERNALS15:27
mgedminit could be that rm -rf Zope3 would be faster15:27
mgedminsometimes I wish I had a Zope3 repository mirror in the office15:28
faassenall this is easily prevented if you develop against a released version of z3. :)15:28
mgedminfaassen: you have a point there15:28
mgedminbut srichter wants bleeding edge15:28
srichtersomeone told me about a tool svk or something like that which creates a local mirror and acts like an svn server to which you can check in15:28
srichterwe want the trunk :-)15:29
mgedminI'm also in favour of solving problems one by one as soon as they appear instead of trying to solve them all in one huge lump when a new zope 3 gets out15:29
faassenI'll report back on my position on developing against the trunk in a few months more.15:29
faassenokay, now things start.15:30
srichterfaassen: btw, I work with a writable checkout of Zope 3 in schooltool; this way I can fix bugs directly15:30
srichterand add new features15:30
* mgedmin has a shell script that converts anonymous checkouts to writeable checkouts (and back) with svn switch15:30
faassenokay, concerning the demographics module.15:30
faassenth1a: I am not entirely sure anymore, but are we waiting for some specification from you?15:30
srichterFor example, I think today I will have to implement persistent.set.PersistentSet15:30
th1afaassen:  I'm going to write it today.15:31
faassenth1a: okay.15:31
faassenth1a: okay, good, then I can work on that tomorrow.15:31
th1aAt which point I will no longer be horrifically behind.15:31
faassenanyway, I can think a bit about school-specific deployment today.15:32
faassenI'm afraid I tend to do much of my thinking out loud.15:32
srichterthat would be good15:32
th1aThat's helpful for me.15:32
faassenI just have vague ideas right now.15:32
faassenone thing is I wonder how much of the user interface would need to be controlled from an extension.15:33
*** alga has quit IRC15:33
faassenif we do a school-specific deployment, we'd like to only turn on that user interface that the school is going to use, ideally.15:33
faassenso that they can't press the wrong buttons and end up in half-baked land.15:33
tiredbonesthinking out loud is a sign of aging. At lease that what they tell me.15:33
faassenin part this is a course-grained story, like, "don't show the timetable UI at all"15:33
faassentiredbones: okay, well, then I've always been old. :)15:34
srichteroh, that is a big one15:34
faassensrichter: big one? what?15:34
srichterunfortunately this cannot be done so much right now; we need more UI separation using viewlets15:34
faassenin part this is a fine-grained story, "don't show this feature in the gradebook at all"15:34
ignasth1a, so should we stay with the notion that timetables have timezones, or use the application timezone for school timetables ?15:34
faassenI'm not proposing we do stuff right now. I am just thinking out loud.15:34
faassen:)15:34
th1aignas:  I think timetables don't have timezones.15:34
th1afaassen:  I think turning components on and off with ZCML might be good enough for starters.15:35
srichterth1a: faassen: yeah, this is more what I was thinking about too15:35
faassenwell, I don't know how that would work exactly.15:36
srichterwe also need to address where thise customizations should live and how we can create chckouts for those customizations15:36
faassenlike, if I'm deploying for one school, I go into schooltool and mess about with the ZCML?15:36
srichterwe might want to use something like benji's buildout tool15:36
faassenlike, change things in the source? that sounds unmaintainable.15:36
srichterI would hope that ZCML overrides would be sufficient15:37
faassenanyway, for UI customizability there are various mechanisms, like viewlets, and of course skins.15:37
srichterthough we have to be careful about subscribers15:37
th1afaassen:  If we're not using ZCML for that, then we're truly wasting our time with all that XML, aren't we?15:37
faassenth1a: not sure whether I want to hold that debate right now. :)15:37
th1a:-)15:37
faassenanyway, extensibility and customizability in an application go along many different routes.15:37
* mgedmin once used ZCML overrides for customizations and still feels the pain15:38
faassenthere is no single solution, but bits like ZCML overrides help, and bits like skins and viewlets and custom utilities.15:38
faassenand so on.15:38
* mgedmin suggests staying well clear of ZCML overrides and instead using viewlets/subscribers/adapters for plugins15:38
faassenand skins.15:38
faassenpossibly.15:38
faassenanyway, yeah, I think ZCML overrides only help in limited cases too.15:39
faassenanyway, we can see customization for schools in different ways.15:40
th1aYes, there will have to be varying levels of customization.15:41
faassenI'll sketch out a few cases that are basically extreme positions.15:41
faassenone is that we plug in everything into the schooltool UI15:42
faassenthe other extreme is that we see schooltool as a model we're going to build a custom UI on.15:42
faassenthe truth will be in the middle.15:42
faassenfor a particular customization for a school.15:42
faassenanyway, what we need to do is sketch out a featureset that HTH needs and then we can base a UI on this.15:42
faassenimagine an ideal UI. and then see how much we can get closer to that UI by adapting schooltool's current UI by adding viewlets, etc.15:43
faassenand how much we need to get closer to that by skinning schooltool.15:43
* tiredbones like faassen to talk out loudly, I learn that way.15:44
th1aHmm.... what do you mean by "sketch out a featureset."15:44
srichterI would really hope that skinning would only be used to change the look of the app15:44
th1aDo you mean use cases?15:44
faassentiredbones: oh, what are you learning?15:45
* th1a suspects that Infrae's "customizations" will become "the standard" pretty quickly.15:45
faassensrichter: yeah, I share your hope, and I think ideally we should change the schooltool UI into the right way.15:45
faassensrichter: however, I'm not excluding more than that, just out of pragmatism.15:46
srichterof course15:46
tiredbonesfaassen, the think that goes on in the proccess of developing schooltool.15:46
srichterth1a: well, the hope would be that the work is done on the trunk15:46
faassenth1a: yeah, that's quite likely. I'm just trying to find a way of working and thinking in various directions.15:46
faassentiredbones: I'm new at this in the context of schooltool too. :)15:47
srichterth1a: HTH will then be used as a reality check to see whether enough flexibility is available15:47
faassenwe'll have to see. I think the trunk UI needs lots of work.15:47
faassenand one of my problems is that I'm not that great a UI guy and I have trouble finding a place to start. :)15:47
th1aI think letting Infrae be a little more nimble by just focusing on HTH is probably a good idea.15:48
faassenth1a: I think so too. we'll find a good way of working.15:48
tiredbonesWhat does HTH stand for?15:48
th1aHigh Tech High (http://hightechhigh.org)15:48
faassenI guess one of my tasks today is to read through HTH's use cases.15:48
th1aYes.15:48
tiredbonesfaassen, where are you getting those use cases for HTH/15:49
faassentiredbones: hm, somewhere on the web, let me get the URL, I think it's public.15:49
*** mgedmin has quit IRC15:50
faassentiredbones: by the way, I'm Martijn, I'm with Infrae and I'm trying to get myself insinuated into the schooltool project. :)15:50
th1aThat StudentPersonal and StudentContact in the SIF spec, which is the core of what you'll be getting tomorrow as stories.15:50
faassentiredbones: I've seen you around before I think, but I'm not sure how and where.15:50
faassenth1a: SIF spec?15:50
tiredbonesfaassen, I15:51
faassentiredbones: here's that URL, it's public so I guess it's okay. :)15:51
faassentiredbones: http://www.schooltool.org/products/schooltool-2006/documentation/schooltool-2006-design-documents/high-tech-high-use-cases/hthsis_use_cases.pdf/view15:51
th1aSchools Interoperability Framework -- http://www.sifinfo.org15:51
tiredbonesfaassen, I'm a noob, so I ask alot of simple questions on various irc that deal with zope.15:52
faassenth1a: yeah, I looked at it before, just didn't realize it was so relevant right now.15:52
faassentiredbones: what's your interest in schooltool?15:52
th1afaassen:  It just has a typical data model for contact and demographics in schools.15:53
faassenth1a: right, that makes sense.15:53
th1aDon't worry, I won't be using everything there.15:53
ignasth1a, now that i am thought more about the design of timetables - i think we will have to attach a timezone attribute to timetables after all, with current timetables being immutable - timetable events jumping with app timezone changes will break past attendance records.15:53
tiredbonesfaassen, Some day I hope to support it with some of the local school system.15:54
ignasthe questions is - do we want an additional select box for the timezone, or should we just take the current application timezone15:54
ignasand use it15:54
faassenI think immutability in various school setup information is good. as a random general comment. :)15:54
faassentiredbones: cool. :)15:54
ignaswhile displaying it in the REST XML and the school timetable view15:54
faassentiredbones: anyway, I'm mostly a schooltool noob, I just am trying to find a way so I can be effective working on it.15:54
th1aI guess the only use case for setting it manually would be if someone was trying to set up their timetables before they properly set their site timezone, in which case, they're probably already screwed up anyhow.15:55
th1aSo let's use the app timezone.15:55
th1aAnd also have the app use the server timezone by default.15:56
ignasok, will add as a side task for that story as it is remotely related15:56
th1aignas:  Sounds good.15:57
* th1a gets ready to go to the doctor.15:58
tiredbonesth1a, I hope everthing goes well.16:00
faassenth1a: oh, yeah, good luck!16:00
tiredbonesth1a, Is there some kind of score card as to HTH doc and what has been accomplished?16:02
*** mgedmin has joined #schooltool16:13
th1atiredbones:  No.16:18
ignasth1a, i sent you the final draft16:31
povbot/svn/commits: * srichter committed revision 5791:17:45
povbot/svn/commits: Moved old term features to an adapter and converted the tests to doctests.17:45
mgedminum, the schooltool checkins list appears to be broken17:51
mgedminlast message I received was for revision 578217:52
mgedminwhere are revisions 5783 through 5791?17:52
th1ahm...17:52
th1akick mailman?17:52
mgedminbut the regular list works?17:55
th1aWell... I don't have any evidence either way.17:55
srichteryep, I checked in several things that did not come through17:57
th1aI sent an email to the dev list yesterday... anyone get it?17:57
srichterwhat was it about?17:58
* mgedmin checks17:58
mgedminI see one message from you on March 06 to schooltool-dev17:58
mgedminand three messages from various people to schooltool, also on March 0617:58
* mgedmin sends a test message17:59
* mgedmin decides to restart mailman, just in case18:00
povbot/svn/commits: * srichter committed revision 5792:18:02
povbot/svn/commits: Switch to a real persistent set implementation.18:02
mgedmina torrent of emails follows18:02
srichteryep18:03
srichtermgedmin: do you remember what the issue with making schooltool app the root site versus any site was?18:11
srichteranyone else remember?18:13
ignaspermissions set sites18:18
ignascopy paste18:18
tiredbonesI just that Python has 29 reserved word, whereas Perl has 206 and PHP 3972. awsome.18:19
srichterignas: sorry I did not parse that18:19
tiredbonesI just read that Python has 29 reserved word, whereas Perl has 206 and PHP 3972. awsome.18:19
mgedminsrichter: I believe there were several issues with using schooltool as a content object18:22
ignassrichter, we are using custom principals (everyone with a "Person" can log in), we are using a custom ZCML without the manager user, and we do not support copy/paste anymore18:22
mgedminthe global schooltool authentication utility is one18:22
mgedminthe default browser skin is two (but this is easily fixable)18:23
srichterok, global authentication utility is not horribly difficult to fix18:24
mgedminI think I once sent an email to the list18:24
srichterI think we would not need to support copy/paste in the new version either18:24
srichterthat E-mail would be good to find ;-)18:24
srichterI was just searching through my checkins to see what I wrote when I changed that18:25
mgedminI think I found it18:41
mgedminMessage-ID: <20050808180401.GC25313@fridge.pov.lt>18:41
mgedminDate: Mon, 8 Aug 2005 21:04:01 +030018:41
mgedminSubject: Re: [schooltool-dev] Proposals and Thoughts18:41
mgedminIIRC SchoolTool as a Zope content object was incompatible with the SchoolTool/SchoolBell merge that you sold us18:42
mgedminwe had all these duplicate interfaces18:43
mgedminbecause you cannot use two different sets of ZCML in a single Zope instance18:43
mgedminand a requirement that you either have only ST or only SB instances in a single Zope site was too arbitrary18:43
srichterahh, ok18:54
srichterI think this could be addressed with some recent work Jim is doing18:54
srichterbut maybe we do not have to solve the issue, since VA only wants SchoolTool isntances18:57
srichterth1a: so the message to VA would be: it is possible with a managable amount of work.18:59
mgedminuser authentication will probably be the most interesting part19:05
mgedmin(converting schooltool instances into sites; registering local authentication services programmatically; replacing our global authentication utility with something else)19:05
srichteryep19:06
srichterI think we already convert SchoolTool instances to sites19:06
srichterregistering a local utility is not that hard; there are bootstrap helper functions for that19:06
srichterand the global auth utility has to be converted to a local one19:07
mgedminI assume we would still want to support schooltool-server.py with SchoolTool as the root object19:07
srichterof course, if Jim finishes his site management refactoring, we only have to implement a non-existent proposal of mine that allows to define multiple sites via ZCML that can be inherited19:08
srichtermgedmin: I agree19:08
mgedminstevea used to push something like that -- sites defined in zcml19:21
mgedminhe never got around to writing a proposal, though19:21
mgedminswitching to the zope3 test runner would be another prerequisite, so that we could write ftests for the ST-as-root and ST-as-content-object cases with different ZCML setups19:23
mgedmindoes the zope3 test runner support different ftesting ZCML for different test layers?19:23
th1aThis is definitely something that I'd like someone else to pay for.19:23
mgedminor is that feature only in planning stages19:23
mgedmin?19:24
srichteryes19:25
srichterno, the ZCML you are loading for a layer can be specified, as far as I understand it19:25
*** jinty has quit IRC19:26
srichterright, Steve always wanted to do that, but only Jim's recent work really allows for it. If I have time to write a proposal before the Swiss Easter Sprint, I would try to implement it during the sprint19:45
srichterI don't think it would be much work at all19:45
*** mgedmin has quit IRC19:51
*** faassen has quit IRC20:10
*** jinty has joined #schooltool20:14
*** carljm has joined #schooltool20:22
*** th1a has quit IRC20:22
*** th1a has joined #schooltool20:23
*** tiredbones has left #schooltool20:27
*** tiredbones has joined #schooltool20:39
*** mgedmin has joined #schooltool20:49
*** jinty has quit IRC20:58
*** jinty has joined #schooltool21:00
*** ignas has quit IRC21:10
povbot/svn/commits: * srichter committed revision 5793:21:15
povbot/svn/commits: - Reimplemented getTermForDate() and getNextTermForDate() functions.21:15
povbot/svn/commits: - Enhanced sample data a little bit to demonstrate more realistic term21:15
povbot/svn/commits: tree.21:15
povbot/svn/commits: - Fixed enough import failures to make at least all unit tests run.21:15
*** vidasp has quit IRC21:17
*** carljm has quit IRC22:37
*** jinty has quit IRC22:51
*** jinty has joined #schooltool22:53
*** ignas has joined #schooltool23:04
*** tiredbones has left #schooltool23:09
srichterth1a: Okay, now that I am reviewing the gradebook interfaces, I am 100% convinced that I got it all wrong the first time :-)23:16
th1aIn what sense?23:16
th1aYou mean, without your wrapper layer?23:16
srichteryep :-)23:16
srichterI implemented activities as subclasses of requirements23:17
srichterbut requirements are really about something you have know/do23:17
th1aWell... it did make sense at the time.23:17
srichterit does not matter when you do them and what "category" they belong to23:17
srichterright, it is a classical case of: "You cannot get it right the first time."23:18
srichternow, if I think in terms of grading items this all makes much more sense23:19
srichtera grading item has to state:23:19
srichter- what is being accomplished (requirement)23:19
srichter- when it is being accomplished23:19
srichter- what is the type of accomplishment (category)23:19
srichter- how are you going to be graded23:20
srichter- how are you going to be graded (scoresystem)23:20
srichter<done>23:20
th1aOK.23:20
th1aIt would kind of be nice if it could be inherited from the course as well, though.23:21
srichterwhat do you mean?23:21
th1aMaking it a subclass of requirement allowed us to inherit gradebook items from the course, right?23:22
srichteryes23:22
srichterwe will still use a requirement tree beneath23:22
th1aOK.  Sounds good.23:23
srichterbut that is not the gradebook's concern anymore23:23
th1aSo... if I'm at St. Ives, will it be fairly easy to say:23:24
srichterfor example, we will have multiple gradeitems for one requirement in the course description23:24
th1a"Show me all of Stephan's "E" scores for last term?"23:24
srichterwhat does last term mean? :-)23:25
th1aOK... during the current school year.23:25
th1aThat is, the system should understand that "E" means the same thing in each class.23:26
th1aOr does it end up being Math-Effort, English-Effort, etc.23:26
srichtersorry, on the phone23:27
ignasth1a, did you get the proposal ?23:35
th1aYes.23:35
ignasok, just checking23:35
th1aignas:  The time for meetings & other ongoing stuff seems high in proportion to development time.23:50
*** mgedmin has quit IRC23:51
*** jinty has quit IRC23:57
*** jinty has joined #schooltool23:57

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