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

*** ignas__ has quit IRC01:45
*** ignas has joined #schooltool02:11
*** didymo has joined #schooltool02:15
*** didymo has quit IRC02:30
*** didymo has joined #schooltool03:07
*** didymo has quit IRC03:44
*** ignas has quit IRC05:02
*** ignas has joined #schooltool06:02
*** ignas has left #schooltool06:22
*** SteveA has joined #schooltool08:58
*** jinty has joined #schooltool12:11
*** jinty has quit IRC12:30
*** mgedmin has joined #schooltool13:12
*** ignas has joined #schooltool14:29
*** vidasp has joined #schooltool14:52
*** jinty has joined #schooltool14:58
*** th1a has joined #schooltool15:13
*** jelkner has joined #schooltool15:21
jelknersrichter: good morning, stephan!15:26
mgedmingood afternoon, everyone15:26
th1aFirst item of business, can we move this to 1430 next week?15:27
ignassuits me15:28
* mgedmin changes the time in his pda15:28
*** mgedmin changes topic to "SchoolTool development | IRC logs at | Buildbot: | Dev meetings Mon, 13:30 UTC (14:30 UTC starting from December 2005)| CanDo dev meetings Tue, 4pm EST"15:29
th1aIf it is in mgedmin's pda, it must be official.15:30
th1aOK.  The big news of the week was the meeting between srichter and pcardune.15:31
th1aI was only able to sit in with them on Monday, spewing germs all over srichter's apartment.15:32
srichterat least I did not get sick ;-)15:32
th1aBut I was very impressed by how much they achieved before lunch on Monday, and I'm really happy with the code that has been checked in.15:32
srichterright, so Tom is talking about schooltool.requirement15:33
th1aI'm also excited to be working on a subject I understand really well, unlike say, calendaring ;-)15:33
srichterI think it turned out to be pretty good15:33
srichterPaul started working on porting CanDo to this new framework as well15:33
srichterso it will serve as a nice testbed15:34
th1asrichter:  Can you give us a summary of the three days?15:34
srichterthere were a lot of things that were only marginal relevant to SchoolTool15:35
srichterI showde Paul a lot of the new framework, demonstrating how we can insert Cando better into SchoolTool now.15:35
th1aIn case the context isn't clear:  jelkner paid for pcardune, the lead developer of CanDo, to fly up to Boston and work with srichter for three days to learn more about Zope 3 and plan out the next version of CanDo.15:36
srichterThis included viewlets, subscribers and a lot of other relevant technologies15:36
srichterthen we actually ported the latest CanDo trunk to the SchoolTool trunk15:37
srichterrearranging its SVN repository layout15:37
srichterCanDo is now using a buildout process to get working, instead of forking the SchoolTool trunk all the time15:37
srichterin the process we discovered, of course, some brittle tests in SchoolTool and fixed them15:38
srichterthe second big task we tackled was a very generic and flexible requirements framework (the one we mentioned before)15:38
srichterit is located in schooltool.requirement15:39
srichterit is meant to fulfill all use cases for CanDo and the ST gradebook15:39
th1aIn this case, a "requirement" is a base class for both objectives/competencies and assignments.15:39
th1aA requirement is essentially "something that can be assessed."15:40
srichter(we actually developed this in full XP style, writing tests first, which was fun, since the problem domain was so well understood -- i.e. we had a reference implementation)15:40
th1ajelkner and dwelsh did a good job briefing pcardune on the various use cases.15:41
srichterThe interesting part about requirements are that they can be inherited15:41
srichterso you can say I am Yorktown Highschool and our requirements inherit all the requirements from the State of Virginia15:41
srichterand then I am teaching Section X, which inherits the school's requirements15:42
srichterwe also implemented necessary annotation adapters for this15:43
srichterin the second part we concentrated on the assessment itself.15:43
srichterwhich included a simple pipline-like query engine for evaluations15:44
srichter(so that you can say: for my evaluations give me all evaluations that were made by teacher X in the year 200515:45
th1aThis code will be the foundation of both the new CanDo version and the SchoolTool gradebook.15:45
srichterWe provided two standard query methods, but also provided a base adapter class to implement other queries15:45
srichterbtw, I think we have some pretty solid documentation in the README.txt file15:46
th1aCanDo's independent codebase will shrink.15:46
th1aIdeally, it will ultimately just become a skin and we'll assimilate all the code ;-)15:46
th1aI found the README.txt to be very useful.15:47
th1aAny questions before we move on?15:47
mgedminis there anything in particluar that we should know if we start writing new views?15:48
mgedmin(viewlets/slots/names in the standard macros/anything)?15:48
th1aThat is the big question.15:48
srichterno, not at this point15:48
srichterwe only have very few viewlet managers right now15:48
srichterwe created a new one while working with Paul15:49
srichterit will not be much more work for me to change the viewlets as we go15:49
th1aWell, we have to know how this is going to happen.15:49
srichtermgedmin: of course, if you find a spot where a viewlet manager would be desirable, you should either (a) send me a mail or (b) make it a viewlet manager15:50
th1aDon't we know where the viewlets need to go?15:50
srichterI want to discover those places, liek I did with Paul :-)15:50
th1aDoesn't bskahan's wireframe cover that?15:50
srichterbefore the second phase of the UI work is done, I will sweep accross the UI anyways to make sure the packages are separateble15:51
th1aYeah, but I don't understand why we don't have the viewlets ready for upcoming development.15:51
th1aHow are we supposed to know what to tell you we need?15:52
srichterok, that's the prime questions :-)15:53
srichterso we always write views for content components15:54
srichterbut sometimes we want information about another content component in our views15:54
srichtercurrently we just add some code in the view class that does the necessary lookup15:55
srichterand this creates an explicit or implicit dependency on that other package15:55
srichterinstead, we should create a viewlet manager at this time and allow the other package to register a viewlet with that viewlet manager15:55
srichterthis way our views are as componentized as the rest of the code15:56
srichterany questions? :-)15:56
th1aWe don't have a viewlet manager yet?15:56
srichteryes, we have several15:57
th1aOh, there isn't just one.15:57
srichterone for the main navigation (as of last week)15:57
srichterone for the header (which inserts the dev mode menu, when registered)15:57
th1aOK.  So you have a manager for each point you want to use viewlets?15:58
srichteranother one will be the notes column in components supporting IHaveNotes15:58
srichternote that I still have to solve the issue where to place the glue code; Zope 3 in general has not solved this issue yet15:58
srichterfor example, let's take schooltool.note15:59
srichterst.note defines an interface called IHaveNotes15:59
srichterany object that implements this interface can have notes15:59
srichterwe attach this interface usually in the class directive16:00
srichternow, where should that directive go?16:00
srichterif I add it to the st.note package, I create a depdence on st.person (for example)16:01
th1amgedmin, are you following this?16:01
mgedminbarely ;)16:01
srichterif I add this directive to st.person, I create a dependence of st.note on st.person16:01
mgedminwe just got some food delivered to the office16:01
srichterI think the answer will be that we want a glue package :-)16:01
th1aWell, I don't know that we have to worry about making all these packages absolutely indpendent of each other.16:02
mgedminok, I'm following this now16:02
th1aI'd just put it in schooltool.notes.16:02
srichterI think that this glue package is, but st.person and st.note already depend on :-(16:02
mgedminsrichter, what about conditional dependencies?16:03
srichterth1a: so you are saying that schooltool.note will depend on schooltool.person and
mgedminthe zcml:have-feature thingies?16:03
srichtermgedmin: right, so that would make it a soft (or implicit) dependency16:03
srichterbut it is still a dependency :-)16:03
th1aIt just means that if you want to use schooltool.note elsewhere you need to change some zcml?16:03
srichterth1a: right16:03
mgedmin<class zcml:if-have-feature="schooltool.notes" ".Person"><implements interface="st.notes.IHaveNotes" /></class> or whatever the syntax is16:03
srichteryes, this is possible16:04
srichterI am just not sure whether it is the right solution16:04
th1aWe're not striving for perfection here.16:04
mgedminI agree that it is not ideal, but it is better than a hard dependency16:04
th1aDrop dead simple re-use of individual components outside of SchoolTool isn't a high priority.16:04
srichterbut I would rather get a generally agreed way of doing this in the Zope 3 community16:05
srichterluckily the issue does not have to be solved at this point16:05
mgedminmaybe we should get back to the agenda of the meeting16:05
th1aWe don't need to solve it.16:05
th1aWell, I'm still a little murky about viewlets.16:05
srichterwell, I am also thinking about different SchoolTool releases16:06
th1aThey'll all have schooltool.person and, right?16:06
srichterth1a: I suggest reading the README.txt file in zope.viewlet (it has motivation in it too) and zope.contentprovider (that one first)16:06
srichterth1a: then look at some implementations in SchoolTool; I think the devmode one is really simple16:06
srichterth1a: right16:07
th1aI mean, I'm still murky about where the viewlet managers are in SchoolTool.16:07
srichterbut note that this was just an example16:07
th1aI'd like the standard viewlet managers to be done.16:07
srichterth1a: ahh, ok; they are now in
th1aAnd if we can't find one we're expecting in there we should poke you?16:08
srichterI'll consider that part of that contract :-)16:10
srichterif you have questions, bug me16:10
th1aI shall.16:10
srichterI try to stay very responsive to those requests16:10
th1aOK.  Moving on then.16:10
th1aPOV.  What's your schedule?  We haven't finalized the next contract.  Is alga windsurfing?16:11
mgedminalga is having a vacation somewhere far far away16:12
th1aYes, he told me he was going.16:12
mgedminwe plan to start working on SchoolTool today16:12
th1aDo you have time estimates?16:13
mgedminthere are come questions about some of the stories16:13
mgedminwe have some estimates16:13
mgedminthey're confusing16:14
th1aThe estimates or the stories?16:14
mgedminapproximatelly 30-40 days of work16:14
mgedminthe estimates ;)16:14
mgedminthere are two stories that we've already done, but haven't been paid yet16:14
mgedminI'm not sure if that time is included in the total estimate at the top or not16:15
mgedminanyway, the plan is to get some clarifications from you16:15
mgedminand mail you the fixed proposal today16:15
th1aI suppose they would be.  I'm mainly worried about the deadline.16:15
mgedminwhat's the deadline?16:15
th1aI mean, when you will be done, which will hopefully be before Christmas.16:16
mgedminI am not confident that we can implement all of the stories before Christmas16:17
* mgedmin is often very pessimistic16:17
th1aOK.  I'll take a look at your proposal when you send it.16:17
mgedminquestions about the homeroom period story:16:18
th1aBut you're otherwise ready to start work?16:18
mgedmin- how is the homeroom special?  is it highlighted in the user interface in any way?16:18
mgedmin- are users allowed to schedule activities in the homeroom period?16:18
th1aI guess you don't have homeroom in Lithuania?16:19
th1aHomeroom is a special period where you essentially check in for the day.16:20
th1aYou could schedule activities for homeroom.16:20
th1aAnd it will generally be designated simply by name, if it is important.16:20
th1ai.e., when you set up your schema: 'homeroom,' 'period 1,' period 2' etc.16:21
th1aBut in some cases, a regular period also counts as homeroom.16:21
mgedminso, the answers to my questions are 'no' and 'no'?16:22
th1aSo it is just 'period 1,' which is regular academic class, but that teacher is also responsible for doing the "day" attendance and sending it to the office.16:22
th1a'No' and 'yes.'16:22
th1aNo, no, yes.16:22
mgedminoops, yes16:22
mgedminin other words the system and the user do not care that 'period 1' on Tuesday is a homeroom period?16:23
mgedminif that is the case, I do not see the point on marking it as a homeroom period when you create the timetable16:23
th1aThe system needs to know which period is homeroom, because the attendance info for that period is used to determine the student's attendance status for the whole day.16:24
th1aI assume that Lithuanian schools handle attendance more like US colleges.16:25
th1aYou are only absent per class.16:25
th1aThere is no sense of missing a day.16:26
ignasbtw - what about permissions for the homeroom form ?16:26
ignaswe don't have clercs/admins yet16:26
ignasso it would appear in the already long list of all permissions16:26
th1aDidn't I put that in your stories?16:26
mgedminyou mean "default groups"?16:27
mgedminI'm out of questions for now16:28
mgedmin(I'm sure some new ones will appear when we actually start working)16:28
mgedminah, one more16:28
mgedminthe basic wfmc model for attendance16:28
mgedminwill you supply us with an XML file describing the workflow?16:28
mgedminor should we try to write one?16:28
th1aI should probably get srichter to help me make one for you.16:29
th1aAnd we'll show you how to edit it.16:29
th1aOne more thing for context...16:30
th1aIn US primary and secondary schools, skipping a class during the day is a pretty big deal.16:30
th1aIt is like, once you've checked in at homeroom, they expect to know where you are every minute until the end of the day.16:31
th1aIn public schools, that is.16:31
mgedminRFID implants?16:31
th1aComing soon.16:31
srichterI think JaWE is the way to go for those XML files16:31
th1asrichter:  Right.16:33
th1aI guess I'll take a crack at it.16:33
th1aOn the other hand, I had some trouble getting JaWE to run on Breezy, so that might be a problem.16:33
th1aAnyhow, time's up.16:34
* th1a hits the virtual gavel.16:34
*** th1a has quit IRC16:41
*** th1a has joined #schooltool16:47
*** jelkner has quit IRC17:06
mgedminth1a, question about absences in the student's calendar17:58
mgedminare they only visible when you go to /persons/$student/calendar17:58
mgedminor do you want to also see them if you include a student's calendar in your overlay?17:58
th1aThis is just a convenience.17:59
* mgedmin hopes the first one is desired17:59
th1aIsn't the second one harder?17:59
th1aI mean, wouldn't it be easiest to just make them act like regular calendar events?18:00
th1aRegardless, this may end up being cut... it isn't a big deal.18:00
mgedminthey will be regular calendar events18:00
mgedminregular read-only calendar events18:01
th1aOn the student's calendar?18:01
mgedmincoming from a dynamically-computed read-only calendar18:01
mgedminso it is just a matter for splicing it into the list of calendars-to-be-overlaid in the view18:01
th1aOK.  That sounds fine.18:01
newnicksrichter, is the README.txt for zope.viewlets in Zope3 tree?18:21
newnickI can't seem to find it.18:21
srichternewnick: yes18:33
Aistehi th1a18:46
Aistegot a moment?18:46
th1ahi Aiste.18:53
Aistewe have worked out the proposal finally18:54
Aistethe numbers of it are ass follows -- estimated time -- 45 programmer days18:55
Aistereal time date we can finish all of the stories -- end of January18:55
Aisteas simple as that?18:56
* Aiste expected some fighting18:56
th1aWell, I'll have to take a look and decide if I want to cut some.18:56
Aisteok, that's what we figured18:56
Aistewe'll send it to you today18:57
th1aIs that better?18:57
Aisteum... no :)18:57
* Aiste is reading to much fantasy/medieval knights stuff :)18:57
th1aI'll just also need to know soon how much time we'll have through June from POV through June.18:58
AisteI should know that soon18:59
mgedminth1a, the proposal is in the mail19:16
th1aOK.  Thanks.19:16
mgedminth1a, speaking about starting work19:21
mgedminare there any stories you're absolutely certain you won't cut out?19:22
th1aWe'll need those default groups.19:22
mgedmin(so we can start working on them now)19:22
th1aActually, nothing would will be cut, but I'd like to sequence this so that we can have a milestone tarball probably between Christmas and New Year's.19:26
th1aSo it is just a matter of being at a usable point then.19:27
povbot/svn/commits: * mg committed revision 5345:19:59
povbot/svn/commits: Fixed a couple of typos I noticed while reading the README.19:59
povbot/svn/commits: * ignas committed revision 5346:20:19
povbot/svn/commits: Fixed outdated docstring (see rev 5110 for background).20:19
*** vidasp has quit IRC20:36
povbot/svn/commits: * ignas committed revision 5347:20:40
povbot/svn/commits: Killed some blank lines.20:40
povbot/svn/commits: * ignas committed revision 5348:20:41
povbot/svn/commits: Added missing unit test and a docstring.20:41
ignasth1a, ping20:47
th1aignas, pong.20:48
ignasin default groups we already have a group that is called "Manager"20:48
ignasthe story suggests adding Site Manages group20:48
th1aOh yes.20:48
ignastwo managers groups might be confusing20:48
ignascan we rename the existing group so Site Managers ?20:49
th1aWell, I meant the existing "manager."20:49
ignasgood, thanks20:49
ignascould you please come up with sensible descriptions for these groups ?20:52
povbot/svn/commits: * mg committed revision 5349:22:16
povbot/svn/commits: Made the ACL restive view pretty and not brittle.22:16
povbot/svn/commits: * ignas committed revision 5350:22:18
povbot/svn/commits: Added a number of default groups.22:18
*** mgedmin has quit IRC22:22
povbot/svn/commits: * ignas committed revision 5351:22:26
povbot/svn/commits: Documented a non-trivial corner case in the functional test.22:26
*** ignas has quit IRC22:30
*** jinty has quit IRC23:40

Generated by 2.15.1 by Marius Gedminas - find it at!