IRC log of #schooltool for Monday, 2005-12-19

*** jinty has joined #schooltool00:22
*** jinty has quit IRC00:32
*** jinty has joined #schooltool00:32
*** didymo has joined #schooltool01:09
*** jinty has quit IRC01:39
*** th1a has joined #schooltool07:49
*** th1a has left #schooltool07:50
*** hoffman has joined #schooltool07:51
*** Aiste has quit IRC08:57
*** Aiste has joined #schooltool09:51
*** kitblake has joined #schooltool10:29
*** thisfred has joined #schooltool10:58
*** kitblake has quit IRC12:08
*** alga has joined #SchoolTool13:10
*** ignas has joined #schooltool13:26
*** mgedmin has joined #schooltool13:37
*** didymo has quit IRC13:49
*** mgedmin has quit IRC13:53
*** mgedmin has joined #schooltool13:55
*** mgedmin has quit IRC15:21
hoffmanHello all.16:30
hoffmanGood morning/afternoon.16:30
*** SteveA has joined #schooltool16:30
srichtergood morning16:31
*** mgedmin has joined #schooltool16:32
mgedminhi16:32
hoffmanLet's get started.16:33
hoffmanI'll go first.16:33
hoffmanI didn't do much actual *programming* last week, but I did work some things out with how requirements will work with the gradebook.16:34
hoffmanThat is, it seems to make sense to use the requirement package Stephan and Paul started16:34
hoffmanto assign grades to a student for a section.16:35
hoffmanAnd also to evaluate individual assignments.16:35
srichterok16:35
hoffmanI think the requirements package is going to be a great foundation.16:35
hoffmanI'm going to work on creating an "activity" or assignment package for the gradebook this week.16:36
srichtercool16:37
srichternote that I would call it schooltool.gradebook16:37
hoffmanWell, I'm wondering if I should make schooltool.activity separate from schooltool.gradebook16:38
srichterI personally think that it would be overkill, but then I do not know what you intend to do with activities later16:39
hoffmanactivity is a pretty foundational object...16:39
hoffmanPerhaps I'll keep them together for now.16:40
srichteryeah, we can separate later if we need to16:40
hoffmansrichter:  What's the status of the tutorial?16:40
srichterI have been stuck :-)16:40
srichteror :-(16:40
* mgedmin remarks that we already use the term 'activity' for timetabling, and wonders if the two terms are the same16:41
srichterI am thinking about the easiest way of doing this and staying inside the patterns16:41
hoffmanmgedmin:  What's an "activity" in timetabling?16:41
srichterI will finish this the week after Christmas16:41
mgedminthe thing that sits in a timetable slot16:41
hoffmanInside the pattern of doctests?16:41
mgedminITimetableActivity16:41
srichterthis week I really have to do some research, so do not expect much availability from me16:41
srichterhoffman: no common Zope 3 / SchoolTool programming patterns16:42
*** SteveA has quit IRC16:42
srichteralso, last week was reading period at the school, so I was massively tied up grading16:43
srichter(but all this is over now)16:43
hoffmansrichter:  What are the options in terms of patterns?16:43
srichterstarting after new year's I will be available 50/50 for this and research16:43
srichterhoffman: as discussed we are not using a namespace, which means that we have to do some other trickery, similar/equal to the notes feature16:44
srichterthe other option is to write a pluggable HTTP traverser16:44
srichtereither way, I think that a lot of the simplicity of the first two writings will fade away16:45
hoffmanBut you'd prefer to use a namespace?16:45
srichter(now I wish I would have gone wioth namespaces)16:45
hoffmanAre you part way into it now?16:45
srichteryeah, I now consider it easier, because I can use more established patterns for editing, contents and adding16:45
srichterno, grading stopped me from making much progress16:46
hoffmanRight.16:46
algasrichter: will schooltool automate grading in the future? :-)16:46
*** pingswept has quit IRC16:47
hoffmanWe need to integrate some latent semantic analysis packages.16:47
srichteralga: I actually worked on such tools before, and you can automate a lot in science grading actually16:47
mgedminand OCR16:47
srichteractually, you can ask students to take tests and HW online16:47
srichtermy undergrad institution did this successfully using a very simple basic program16:48
srichterit can actually be more instructive, since you can see animations, models, etc.16:48
hoffmanAnyhow, when we discussed this step in the tutorial before did mgedmin and I think namespaces seemed like overkill?16:48
srichterhoffman: mgedmin mainly hates the +'s16:48
srichterhoffman: I spoke too soon back then thinking without namespaces it would be easier16:49
hoffmanWhere do we use namespaces now?16:49
srichternowhere16:50
srichterbut Paul is using them in Cando16:50
srichter(after I showed him how to use them)16:50
hoffmanWell, I suppose we shouldn't use them in the tutorial if we aren't going to use them widely in SchoolTool.16:51
hoffmanIt is a tricky question, though.16:51
srichterright, that was the counter argument in my head as well :-)16:51
hoffmansrichter.  You should shoot for having this done for inclusion in the snapshot on the 3rd.16:51
srichterok, I can manage that16:52
hoffmanGood.16:52
hoffmanOK.  How have things been going at chez POV?16:52
algaahem16:53
algaWe've been working on the realtime attendance form and all the backend infrastructure it needs16:54
algaBasically the backend is done, and the form is in the works16:54
algaUnfortunately, we have to suspend work on SchoolTool for the forthcoming week16:55
algabut we'll be16:55
algaerm16:55
algabut we'll definitely have realtime attendance working for the new year release16:55
algaover16:55
hoffmanI see.16:56
hoffmanIs there anything I can see in the web UI in the trunk yet?16:57
mgedminsection meeting calendar events have a link to the real-time attendance form16:57
algabut the form itself is not yet there16:57
hoffmanOK.16:58
mgedminwell, you'll see something if you follow that link16:58
mgedminbut it will not be very formy16:58
algaVidas has been in offline-land working on the sparklines16:59
hoffmanYes.  Is that going to be a separate package?17:00
algawe cried YAGNI17:00
hoffmanOK.17:00
hoffmanLet's move on to discussing package structure & mgedmin's proposal.17:01
hoffmanDoes everyone have his email?17:01
srichteryep17:01
hoffmanI think his proposal sounds reasonable.17:02
srichterI think the main evil is that most packages depend on getSchoolToolApplication17:02
srichtereven if we make this a utility (I am +1), we still need to import ISchoolToolApplication17:02
hoffmanWhy is that evil?17:02
mgedminin my proposal most of the packages depend on ISchoolToolApplication17:02
ignasi think we need a plugable SchoolTool.Preferences17:02
mgedminin my proposal most of the packages depend on schooltool.app17:02
mgedminnot the other way around17:03
srichterthat would be great17:03
ignasthat would decrease the need for getSchoolToolApp, and allow adding items to the main preferences view17:03
srichterhow feasible is that?17:03
srichtermgedmin: how feasible is that?17:03
srichterI think one of the biggest issues there are the tests17:04
mgedminI'm not 100% confident it is possible to make everything work without having a single package that depends on everything else and I'm not confident it is possible to make everything work without having a single package that depends on everything else and brings everything together17:04
srichterok17:04
mgedminespecially functional tests17:04
srichterright, I personally think that functional tests should be outside the package structure17:04
mgedminwhich is the reason why I decided that having everything depend on schooltool.app is inevitablr17:05
mgedminhmm ouside?17:05
srichterbecause they really test the application SchoolTool and not the functionality of a few packages17:05
mgedminthis was the original idea17:05
hoffmansrichter:  I was thinking the same thing,17:05
mgedminand schooltool.app was the application17:05
mgedminand all ftests lived inside schooltool.app17:05
srichterright, I knew you would be saying this ;-)17:06
srichterso, ST has the same issue as Zope 3 itself17:06
mgedminperhaps we need to split st.app into st.core and st.app17:06
srichterapp is too big17:06
mgedminthe first one would be generic things like ISchooltoolApplication17:06
mgedmineverything could depend on st.core (persons, groups, timetabling, etc)17:06
mgedminnothing would depend on st.app17:06
mgedminst.app would depend on everything17:06
ignasmaybe packages SchoolTool.schoolToolSkin / SchoolTool.SchoolBellSkin (i know it is dead)  would be better than adding tests to the core ?17:07
mgedminI cannot tell beforehand how big would st.core/st.app be17:07
srichterthat sounds cleanest to me17:07
ignaslike having SchoolTool.core separate from views/integration with other packages17:07
mgedminmy email proposal is equivalent to st.app being empty and everything being st.core (without the name change)17:07
mgedminbut it might turn out to be unfeasible17:07
* mgedmin likes the st.core more and more17:07
mgedminwe could refactor it slowly17:08
mgedminmove one thing to st.core at a time17:08
mgedminslowly remove dependencies on st.app17:08
srichterright17:08
mgedminwhile continuing to work on other stuff17:08
hoffmanYes, no more grand reorganizations.17:08
srichterthough I would not move st.person to st.core for example, since it would bloat the package, but simply consider it coer17:08
mgedminyep, st.person would depend on st.core17:09
mgedminst.app would depend on st.person17:09
srichterok, we are ont eh same page17:09
* mgedmin 's goal is an acyclic dependency graph17:09
srichterright17:09
srichterok, I think the key to success is getting the UI and tests separated17:10
srichterwe have to do a better job using stubs17:10
mgedmin+117:10
ignas+117:10
algathis would place a lot more responsibility on integration tests17:10
srichterthe second step is finding an answer to the package dependency problem through ZCML; I will tackle that next week17:10
mgedminwhat is the problem?17:11
srichterthat right now the st.requirement pacakge dependes on Section (fore example) just because of the ZCML declaration17:11
srichteror a better example is the notes package17:12
mgedminah, ok17:12
srichtersomewhere we have to say this object has IHaveNotes17:12
mgedminthe st.app zcml could be responsible for all this17:12
srichterand I think this should be outside st.note and st.person (for example)17:12
mgedminor we could use zcml:condition17:12
srichtermgedmin: yep, that would be ideal17:12
srichterI think zcml:condition would not serve us well there17:13
srichterit was not designed for those type of tasks17:13
mgedminyou're probably right17:13
srichterwe could also have another ZCML glue directory, like integration/17:14
srichterhere is a sci-fi run:17:14
srichterSchoolTool is distributed without st.note17:14
srichterBut I decide that I would like st.note to be installed17:15
srichterso I install the package17:15
srichterand then I run a little script where it declares several components as IHaveNotes17:15
srichterthis generates a ZCML file that is placed into integration/17:16
srichter<over>17:16
mgedminmhm...17:16
mgedminI don't like this additional step17:16
srichterbut how do we know ahead of time which components the user wants to associate notes with?17:17
srichterright now we make the decision for them17:17
* mgedmin is a GNOME user17:18
mgedminif there's a sensible default, use it17:18
srichterbut I think it should be a more obvious way to change it17:18
mgedminyes17:18
srichterexcept that GNOME looses gradually their user base because it is too limiting17:18
mgedminwhat would you think about putting these extra declarations into the package include file?17:18
hoffmanOK, let's not go there.17:18
mgedminthe user could then customize it17:18
srichterthat's a good idea17:19
hoffmanWe don't need a GNOME/KDE flame war.17:19
mgedminof course you would say that, you use Mac OS X!17:19
mgedmin:)17:19
* mgedmin promises to stop joking now17:19
hoffmanAnd GNOME.17:19
mgedminI think we have a general agreement, except for the placement of glue zcml17:20
mgedminbut I do not care about that much17:20
srichterI think putting the glue into the package include file, is a low tech approach right now17:21
srichtersince we do not know what we want, it is as good as any to try17:21
hoffmanCan someone email a summary of the consensus on package structure?17:21
mgedminI can do that17:21
hoffmanOK.  Thanks mgedmin.17:22
mgedminwhen I get back to the office17:22
hoffmanIn other news...17:22
hoffmanI got an email from Kit today, and I'm going to go ahead and finally propose to Mark that we hire Infrae to work on SchoolTool starting in February.17:23
srichterok, cool17:23
hoffmanSo I'll be writing that up today.17:23
hoffmanI think we're done then.17:24
srichterthen we have a third strongly-opinionated ST developer :-)17:25
hoffmanShould we skip next Monday's meeting?17:25
srichteryeah, I will not be here for sure17:25
mgedmin+117:25
srichterthanks for the reminder, I meant to mention that17:25
hoffmanOK.  No meeting next Monday.17:26
hoffmanHave a Merry Christmas and a Happy New Year, everyone!17:26
mgedminyou too!17:26
srichteryou too!17:27
algaMerry Christmas17:27
ignas+117:28
* hoffman bangs the virtual yuletide gavel.17:28
tiredbonesI like a Merry Christmas too!17:28
mgedmintiredbones, then by all means have some17:29
hoffmanMerry Christmas tiredbones!17:29
tiredbonesI wonder if I'll ever understand Zope 3???17:30
mgedminnobody can fully understand Zope 317:30
mgedmin:)17:30
*** mgedmin has quit IRC17:32
tiredbonesI just read the Adapter.txt doc and I'll probably will have to read many before I understand it.17:32
hoffmanI'm finally starting to understand adapters.17:33
hoffmanAt least enough to understand what they DO, if not how they work.17:34
srichteronce you understand adapters, it's all downhill from there17:34
hoffmanI think that's the big hurdle.17:34
srichterI think it is a big hurdle, because a lot of developers are not good OO developers either17:35
algadevelopers developers developers developers :-)17:36
srichterLOL17:36
hoffmanI also think the metaphor of the adapter is too simple to describe what's actually happening.17:36
*** alga has quit IRC17:36
srichterhoffman: really? that's interesting to hear... (it never occurred to me that way)17:37
tiredbonesOur interfcaes join by adapters? If that  is the proper way of asking the question.17:38
hoffmanI'm not sure I can fully articulate why.17:38
hoffmanHm... are interfaces joined by adapters...17:43
hoffmanAn adapter allows one interface to act like another.17:43
hoffmanSo the simple metaphorical case is a power adapter.17:44
hoffmanLets you use a US plug in a European outlet.17:44
hoffmanZope 3 adapters are a bit more ambitious.17:44
hoffmanThey'll adapt your electric razor to act as a hairdryer.17:45
hoffmanIf you want.17:45
tiredbonesThanks for the reply. I think my think is in the right direction. I just have to reread and play with some more.17:47
hoffmanYes.17:47
srichterI'll note that all programming adapters are that ambitous17:52
srichter(at least the ones I saw)17:52
hoffmanYeah, it is probably not the case that Zope 3 adapters are different, but that there is a leap between the basic metaphor and examples and the many ways the technique can be implemented.17:54
srichterright18:01
*** mgedmin has joined #schooltool18:02
tiredbonessrichter, have you read philKON blog on the over use of zcml and do you agree with it?18:08
* mgedmin read that, and /me agrees18:11
srichtertiredbones: do you have a link?18:20
* srichter is not reading or writing blogs; I have no time for that18:20
tiredbonessrichter,  http://www.z3lab.org/sections/blogs/philipp-weitershausen/2005_12_14_zcml-needs-to-do-less18:43
tiredbonessrichter, I put the pointer here because I wasn't sure your where on zope3-dev.18:47
srichternote that his thought have been expressed first by Jim Fulton about 1-1.5 years ago18:48
srichterin fact, a lot of recent changes to the very core have been pushing in this direction18:48
srichteralso, see the new forms package18:49
tiredbonesGlad to know this. Thanks for your reply.18:50
tiredbonessrichter,Glad to know this. Thanks for your reply.18:50
srichterI'll also note that this is only a blog entry, so he makes a lot of suggestions in a fairly non=public place for Zope 3 developers18:53
srichterI'll wait till he writes a proposal18:53
*** erchache has joined #schooltool19:15
erchachehi19:15
*** thisfred has quit IRC19:21
*** mgedmin has quit IRC19:55
*** erchache has quit IRC20:32
*** mgedmin has joined #schooltool20:33
*** alga has joined #SchoolTool21:23
*** hoffman has quit IRC21:23
*** alga_ has joined #SchoolTool21:48
*** alga has quit IRC21:49
*** alga_ has quit IRC22:19
*** ignas has quit IRC22:19
*** ignas has joined #schooltool22:20
*** ignas has quit IRC22:25
*** Aiste has quit IRC22:31
*** mgedmin has quit IRC22:36

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