IRC log of #schooltool for Tuesday, 2006-06-13

*** th1a|X60s has joined #schooltool00:02
jintyth1a|X60s: ping?00:09
th1a|X60sjinty: Hi.00:22
th1a|X60sHow's your schedule look this week, jinty?00:23
jintyhi th1a|X60s!00:51
jintyactually I should have most of this week for schooltool00:51
jintyto get that server going and prepare for the release00:52
jintypackaging the schooltool egg deps and seeing about those debian packages00:53
th1a|X60sjinty:  Excellent.01:05
jintyth1a|X60s: then you mind giving me the keys for the server?01:06
jintyand letting me know exactly what you want? i.e. how many schools, domain names, etc01:07
*** didymo has joined #schooltool01:23
*** jinty has quit IRC01:51
*** th1a has quit IRC06:30
*** srichter has quit IRC06:39
*** th1a|X60s has quit IRC06:46
*** th1a has joined #schooltool08:24
*** srichter has joined #schooltool09:28
*** mgedmin has joined #schooltool11:58
*** armychina_ has joined #schooltool12:51
armychina_when I following this document to install a schooltool ,i have this probelm:
armychina_can anyone help me ?12:54
mgedminjust a sec...13:02
mgedminwhoa, what an interesting error13:05
mgedminarmychina_: try 'make test' instead of running directly13:05
mgedminor do LC_ALL=C python -w -v -s src/schooltool13:06
mgedminit looks like your Python installation does not support your locale encoding13:06
armychina_use C_ALL=C python -w -v -s src/schooltool,have the same probem. I installed python2.4 from darwinport.I'm using Mac OSX, Simple Chinese version.13:09
armychina_or how can i change the locale for python?13:12
mgedminnot C_ALL, LC_ALL13:13
armychina_yes,used LC_ALL,13:16
*** Aiste has quit IRC13:17
* mgedmin does not know the answer...13:20
*** faassen has joined #schooltool13:26
*** armychina_ has quit IRC13:31
*** armychina has joined #schooltool13:37
*** alga has joined #SchoolTool13:39
*** Aiste has joined #schooltool13:43
armychinaI skiped the problem;use english environment of macosx.13:45
*** didymo has quit IRC13:48
*** armychina has quit IRC14:17
*** ignas has joined #schooltool14:19
ignasfaassen: hi14:37
*** thisfred has joined #schooltool14:39
faassenignas: hi14:43
ignashave you seen what the bug with the Evilution scripts was14:43
faassenhm, I'm not sure.14:43
faassenwhat was it?14:43
ignaspure evil14:44
ignas1. you were not copying the annotation dict just reusing it14:44
ignas2. there was no calendar in there14:44
ignas3. subscriber tried to clear the calendar14:44
faassenI thought I could reuse the annotation dict but apparently I was wrong.14:44
ignaswhich added a new calendar to the common __annotations__14:45
ignasand then cleared it14:45
faassenI'm not sure I follow this, but I'm sure that's why it was so hard to figure out. :)14:45
ignasand the newly created calendar had the wrong parent14:45
faassenum, an argument against the use of annotations? :)14:45
ignasif we didn't have to change the base class14:45
ignaswe would not have such problems ;)14:46
faassenconcretely changing the base class will happen sometimes in a codebase.14:46
faassenI mean, you can't refactor everything just by papering things over with annotations. :)14:46
faassenanyway it sounds horribly complicated.14:46
faassenI think it's an argument for simpler classes and less subscribers. :)14:47
ignasi spend a lot of time until i found out that "del persons[name]"14:47
ignaswas ADDing a calendar to the new_person object14:47
faassenthat's bizarre.14:47
algabecause the calendar is "create on first access"14:47
ignasand we have to clear it so all the booking relationships would get removed14:47
faassenI didn't realize that anything located would be stored in an annotation.14:48
faassenanyway, you can blame changing base classes for this torture.14:49
faassenyou can also blame the use of complicated constructions in the name of theoretical generality for it. :)14:49
ignasnot theoretical14:49
algafaassen: we tried doing without abstractions for the first year or two14:49
faassenthis is not talkinga bout abstractions.14:49
algait didn't seem to work out14:50
faassenthe complexity is in the use of located annotations.14:50
faassenone doesn't expect an annotation to have a location.14:50
algaI mean annotations, subscribers etc.14:50
faassenwell, I haven't seen much benefit from this pluggability yet.14:50
algafaassen: you could have read around the source14:50
faassenwhat, for the calendar overlays?14:51
ignasthese are a disaster14:51
algafor calendars themselves14:51
faassenanyway, I'm not arguing against abstraction.14:51
algaor what's inside those annotations14:51
faassenI'm just saying that the combination of events and annotations and locations is not going to make life easier.14:51
faassenyou can do abstractions with simpler constructions.14:51
faassenI read around the calendar overlay source as soon as I realized that upgrades were broken.14:52
faassenI couldn't make head or tail of it. :)14:52
faassenI'd say a good rule is if you're going to have something located.14:52
faassenit shouldn't *be* an annotation.14:53
faassenyou'd expect annotations to be transferrable.14:53
faassenI mean, I think a reasonable pattern would be..if instances can't know about their annotations.14:53
mgedminwould you?14:53
algathat's something to argue about14:53
faassenthen annotations couldn't be too strongly coupled to their instances.14:53
algathings that aren't locations are shared-on-copy by zope 3 copy-paste code14:54
algagot bit by that14:54
faassenanyway,I realize that we could've avoided a lot of pain in this area if we didn't try changing the base class.14:55
mgedminalga: no14:55
mgedminthings that ARE locations, but are not actually contained (e.g. __parent__ is None) are shared-on-copy14:55
mgedminthings that aren't locations are cloned-on-copy14:55
algaah, sorry14:55
mgedminfaassen: yup, changing base classes is a BIG BIG BIG PAIN with zodb14:55
faassenbut this pain wasn't just caused by things being hard.14:56
faassenI mean, by the ZODB making life hard.14:56
faassenit also was caused by a rather grotty set of interactions.14:56
faassenin the calendar overlay story.14:56
mgedminschooltool does not get enough love :(14:56
faassen(and other pain by a broken dependency system in Zope 3 so that dependencies couldn't be removed)14:56
faassenI think part of the love would be ..14:56
faassento remember we're programming in Python.14:57
faassenwe don't have to use adapters and annotations and events.14:57
faassenand I also really dislike some parts of Python :)14:57
faassenwhere __get__ and bound properties come in. :)14:58
faassenyou can do great magic with it, but it's not perfect.14:58
faassenand then my brain just hurts trying to figure it out.14:58
faassenI had that with zope.formlib14:58
faassengreat package, but try making your own actions implementation and you go crazy.14:58
faassenanyway, it's just hard anyway, programming. :)14:59
faassensorry to cause so much trouble with that.14:59
faassenI hadn't realized the person class had so much complexity associated with it.15:00
faassenit looks deceptively simple. :)15:00
faassenI imagine a general issue with evolution scripts is that they break through abstractions.15:01
faassenout of necessity.15:01
algai think a general issue with evolution scripts is that they break15:04
faassenwell, they do that for a reason.15:04
algaevolution is inherently hard15:05
faassenand that's because they don't use the abstractions of the application, they by necessity have to break through them as they don't fit in the normal application usage pattern at all.15:05
algalike multithreading, but your threads are different versions of the software15:05
faassenthat's what I'm saying. I'm just trying to explain why it's hard.15:05
faassennormally abstractions and automation in your application helps the programmer.15:06
faassenbut in the case of evolution, they only make life harder.15:06
ignaseach of us has written 5-6 evolution scripts at all, and only now i am beginning to understand HOW they should look and work15:06
faassenwe've been doing evolution-style stuff for Silva for years.15:07
faassenbut we only infrequently had to move persistent classes and those were simpler.15:07
faassenanyway, I started out messing about with the person package. :)15:08
faassenand not changing the base class.15:08
faassenbut I got rather negative feedback at the time. :)15:09
faassenanyway, damned in every direction. :)15:10
*** jinty has joined #schooltool15:12
algaSchooltool needs a head designer...15:14
algabecause now the design is a result of a blanket-pulling competition15:15
algawith players coming and going15:15
ignasand jumping on the blanket others are pulling :D15:16
faassenyay! :)15:16
* faassen bounces on the blanket.15:17
*** gintas has joined #schooltool15:23
*** pcardune has joined #schooltool15:27
pcardunemgedmin: for some reason, schooltool is trying to adapt one of my objects to ICompositeTimetables, but I have no idea why?  I tried to find some zcml that might cause it but came up with nothing15:55
pcardunewhen i say my objects I mean a cando object that implements
mgedminpcardune: what's your question?15:57
pcardunemgedmin: my question is, why is schooltool ever trying to convert my objects to ICompositeTimetable?15:58
toxygenis there any simple command to update schooltool to svn?15:58
pcardunewhen they have nothing to do with calendars and are registered as such15:58
mgedmintoxygen: svn up15:58
mgedminthen you may want to run 'make update' to also update zope 3 etc15:58
toxygensvn co
mgedminpcardune: might be a bug15:58
mgedmintoxygen: yes15:58
toxygenmake update or that svn command?15:59
toxygen'make update' vs 'svn co'15:59
toxygenwhich one?15:59
mgedmintoxygen: what exactly do you mean 'update schooltool to svn'?15:59
mgedminI thought you already had a checkout15:59
toxygenupdate to latest version from svn15:59
mgedminwhat do you have now16:00
mgedminpcardune: where in the code is the adapter lookup failing?16:00
ignaspcardune: maybe because there is a zcml declaration that adds an interface like IHaveTimetables to your interface ?16:01
toxygena pretty old downloaded .tar.gz package16:01
mgedmintoxygen: then do svn co
pcardune  File "/home/pcardune/cando/SchoolTool/src/schooltool/timetable/", line 69, in listTimetables16:01
pcardune    keys.update(ICompositeTimetables(obj).listCompositeTimetables())16:01
pcarduneTypeError: ('Could not adapt', <cando.journal.journal.Journal object at 0xb6101a2c>, <InterfaceClass schooltool.timetable.interfaces.ICompositeTimetables>)16:01
mgedminto see if it works, run 'make test' inside16:01
toxygenyep, i'm doing right now16:01
povbot/svn/commits: * pcardune committed revision 6234:16:02
povbot/svn/commits: made popup dashboard use AJAX so dashboard is only rendered when it is needed.16:02
ignaspcardune: try importing pdb in there16:02
mgedminpcardune: it looks like Journal implements IHaveTimetables16:02
ignasand check IHaveTimetables.providedBy(object)16:02
ignasthen look for <implements interface="schooltool.timetable.interfaces.IHaveTimetables" />16:03
pcardunemgedmin: right, that is what I first thought, but then i couldn't find any registration as such for IJournal or IBaseGroup16:03
ignasthat adds the interface to some base class you are inheriting from16:03
pcardunewhich is the only base class i'm inheriting from... i'll do what you suggest though16:03
mgedminthe code (well, zcml) currently assumes that if you provide IHaveTimetables, you'll have adapters to ITimetables and ICompositeTimetables16:03
toxygenmm, any idea why 'make test' downloads zope3?16:03
mgedmintoxygen: it's supposed to16:04
ignastoxygen: because you don't have Zope3 in schooltool directory?16:04
mgedminbecause schooltool needs zope 3 (trunk) to run16:04
*** alga has quit IRC16:05
pcarduneoh, I think it has something to do with me reusing the URIGroup relationship16:06
ignaspcardune: not sure it is associated16:07
*** mgedmin is now known as mgedmin|lunch16:07
ignasthough in general you should not reuse relationships16:07
pcarduneignas: I was hoping you weren't going to say that16:07
ignasthat might lead to some problems later (group/section/member) thingie16:08
ignassections have members, groups have members, persons are MEMBERS for both of them which sometimes makes it difficult to perform operations on only Groups or Sections of a person16:08
pcarduneignas: I think what you have just said is currently a bug in schooltool which breaks the gradebook16:10
pcardunethe gradebook doesn't know how to handle groups as members of a section16:10
ignasgroups being members of a section is a case that is not tested that much :/16:11
pcarduneyeah, I think it needs to be changed to be more transparent, so that when you iterate over members of a section, you only ever get IPersons, even when there is a group involved16:12
ignasthough it is a very common scenario in Lithuania ...16:12
ignasit might be difficult to change :/ and even if it's not i am afraid i don't have time for that16:13
ignasyou should add this to the issue tracker16:13
ignasif it is not in there16:13
ignasso we would not keep forget about the issue16:13
th1apcardune: srichter is refactoring the section to fix that.16:14
th1aThe groups as members of a section problem.16:14
pcarduneth1a: ok, i guess i dont need to put it in the issue tracker then16:15
pcarduneignas: so you suggest I come up with my own relationships?  The only problem I see with this is that I want to completely reuse all the functionality provided by the relationships that already exist, just with different names16:17
ignasyou mean ?16:18
ignasyou don't have to literaly create your own classes16:18
ignasjust add new URIs16:18
ignasand register them in zcml16:18
pcarduneyou can register URIs in zcml?!16:19
ignas  <utility16:19
ignas      provides="schooltool.relationship.uri.IURIObject"16:19
ignas      component=".membership.URIGroup"16:19
ignas      name="" />16:19
ignasURIGroup = URIObject('',16:20
ignas                     'Group', 'A role of a containing group.')16:20
ignasand the RelationshipSchema bit16:20
pcarduneinteresting, I guess I will do that then16:20
ignaslook at the documentation of schooltoo.relationship16:20
pcarduneI looked at that a lot some months ago... I just barely understand how it works still... but I will try what you suggest, thanks16:21
pcardunethe dev meeting is in 10 minutes right?  (i'm going to attend this time)16:22
toxygenany idea?16:23
toxygenhow to tell him where are the modules16:23
ignaslook at irclogs for yesterday16:24
ignaseven better16:25
* th1a shuffles some papers.16:29
pcardunehe he he16:30
faassenI get an error now involving no file.16:30
faassendid someone forget to check something in?16:30
pcarduneoh, sorry16:30
pcarduneok, it's in there now16:31
povbot/svn/commits: * pcardune committed revision 6235:16:31
povbot/svn/commits: forgot to add this file, so sorry16:31
pcarduneunit tests don't check against forgetting to add something ;)16:31
th1ajinty or srichter here?16:32
faassenokay, was going to check in and was rerunning the tests. :)16:32
th1asrichter just bought a house so his life has been a little crazy.16:32
th1aWe had a long meeting here on Friday.16:32
pcardunecongratulations srichter16:33
jintyth1a: yep16:34
th1ajinty: hi.16:34
th1aOK, faassen, what's your status?  Should I be evaluating your work as "done?"16:34
faassenwell, after this checkin we'll be close.16:35
th1aOK.  It looked like we were close.16:35
th1aWhat's left?16:35
faassenthere, all done now. :)16:35
faassenI need to tweak CSV uploads.16:36
faassenas last names are now required16:36
faassenand csv upload doesn't require them yet.16:36
povbot/svn/commits: * faassen committed revision 6236:16:36
povbot/svn/commits: Re-enable photo upload.16:36
faassenbut that should be done today.16:36
faassenafter that I'm going to work on other stuff unless schooltool things come up that need quick fixing.16:36
th1aThe one thing I just noticed in the add form is that previously the username was optional and the system would generate a unique one if one wasn't supplied.16:37
th1aWhich was preferable.16:37
faassenokay, I'll put that on the list.16:37
faassendon't know where that went.16:37
th1aI think that's what's happening.16:38
th1aOK... moving on then.  How are things coming for POV?16:39
ignaskind of tough :/16:39
ignasgintas is having an exam soon16:39
faassenI made ignas' life hard last week too. :)16:39
ignasvidasp will start working on password changing story tomorow16:39
ignasand i am left solo to finish up access control16:40
faassenwhat's the password changing story?16:40
th1aignas has been very helpful lately.16:40
ignasmake manager password settable through command line16:40
faassenah, okay.16:40
ignasnow i am working on deprecating all the old permissions16:40
toxygengot it16:40
ignasleaving only schooltool.edit and schooltool.add16:41
ignasthe downside being that some of the items in the action menu are shown even if they are not available ...16:41
th1aWhy is that?16:41
toxygenmaybe put into the code if that error appears, the line about setuptools and link with download could appear?16:42
ignasthe fact that we are using zmi_menus makes it difficult to fix16:42
ignasthe Navigation menu is composed of viewlets and these can have custom permissions or custom ocntexts16:42
ignasand action menu items can't16:43
th1aOh, so that's something that needs to be changed at some point.16:43
toxygenor bImportError: No module named PIL16:43
ignasthe time constraints are kind of tough with only 3.5 days being left to finish it up16:44
toxygenImportError: No module named PIL16:44
toxygenthis should be it16:44
toxygenwhere i can get this one?16:44
pcardunetoxygen: sudo apt-get install python-imaging16:44
ignaswhile at the same time the navigation menu is not showing person containers etc. when you can't see them16:44
toxygenpcardune: k thx16:44
ignas(dashboard is though)16:44
th1atoxygen: It is included with dapper.16:44
toxygenth1a: i have sarge, thx16:45
ignasis displaying the links i mean16:45
pcardunethat is the old dashboard code which I left in there which is displaying those links16:45
th1aignas: We can fix the links later.16:46
th1aSoon, but later.16:46
pcarduneignas: on which revision to you start getting rid of the schooltool permissions?16:46
pcarduneto == did16:46
pcarduneignas: as it broke my code in a not so fun way16:46
ignasdon't know, it is happening gradually :/16:46
ignassorry about that, i don't really have a checkout of your code ...16:47
ignasyou can always add the <permission> declarations yourself16:47
ignasthese should make it work as if nothing has changed16:47
th1apcardune: Do you understand where we're going with access control?16:47
pcarduneth1a: yes, and i love it16:47
th1aOK.  Good.  It was meant to address Welsh's concerns.16:48
pcarduneit certainly does16:48
ignasWelsh's ?16:48
th1aWelsh is the driving force behind CanDo.16:49
th1aHe's the user.16:49
th1aAnd evangelist.16:49
th1apcardune: Can you give us a CanDo update?16:50
pcarduneI am in the d.c. area now, and we are going full steam ahead on CanDo development16:50
pcardunewe will have 3 summer interns doing various odds and ends16:50
pcarduneI have almost finished reimplementing all the functionality from the previous version, and then some, using all the new schooltool features16:51
pcarduneand am working on improving some views to use AJAX16:51
pcarduneI think everyone here is so far very impressed with the revisions to schooltool16:52
th1aThat's reassuring ;-)16:53
faassenphew. :)16:53
pcardunewe are also in contact with zope corp who handles the competency databases for the state of virginia... CTEResources to be more specific16:53
pcarduneand will hopefully have some xml documents towards the end of the summer for sharing data16:53
th1aThanks.  Shall we move on to jinty?16:53
jintywhy not16:54
jintyI've got a few things on my plate right now16:54
jintyfirstly the nightly tarball is broken, something to do with the schooltool security policy16:55
jintybut I havn't investigated too much yet16:55
ignasany tracebacks ? or places i can find the signs of breakage ?16:56
jintyERROR: ZopeXMLConfigurationError: File "/home/jinty/nobackup/releases/schooltool/src/schooltool/securitypolicy/meta.zcml",16:56
jinty+line 5.4-9.816:56
jintyERROR: ImportError: cannot import name Crowd16:56
jintyit's kinda like that ^^16:56
jintyi'll forward one of the mails to the list16:56
ignasthank you16:56
ignasi think i forgot to add proper DEPENDENCIES.cfg etc.16:57
jintyer, I'm not so sure, but I'll have a good look at it eventually16:58
jintysecondly, the zc.* packages16:58
* faassen cringes.16:58
jintyI just managed to get python-zc and python-zc.i18n built and should upload them to the schooltool repo soon16:59
faassenwhat's python-zc?16:59
toxygensorry people for bothering you, but can someone help me with
jintyyou can do: apt-get install python-zc.i18n16:59
ignastoxygen: svn up16:59
jintythen zc.i18n is on the python path...17:00
toxygenignas: that was downloaded few minutes ago from svn17:00
ignastoxygen: svn up!17:00
th1atoxygen: Things are moving quickly right now.17:00
jintyfaassen: python-zc is the namespace package and carries the zc/ file17:00
toxygenit works :)17:01
toxygenthx guys!17:01
faassenjinty: ah, okay.17:01
faassenjinty: boring. :)17:01
jintyanyway, after making the rest of the zc.* packages, i'll post to the list and ask for some testing.17:01
th1aOK.  Sounds good.17:02
jintythen I can start on the real schooltool packages17:02
jintythirdly, the new server, which I havn't touched yet, but hope to do so later today17:02
th1ajinty:  So I guess we'll do an rc next week?17:03
th1aor should we skip that step.17:04
th1aI guess a release candidate for an alpha is kind of queer.17:04
jintyyeah, let's just skip that17:04
jintybut as soon as the nightly tarball works we can release tarballs17:04
jintypackages might or might not take a bit longer17:05
jintydebian/ubuntu python packaging is in a state of massive change at the moment17:06
th1aSo what's the general perception of the generations situation?17:06
faassenjinty: what is changing?17:06
faassenjinty: I mean, very briefly. just curious.17:06
th1aGenerations = hopelessly screwed or generations = just a pain?17:06
faassenth1a: well, things were broken when I tried it. in part that was my own fault, changing classes is really difficult.17:06
faassenth1a: well, generations combined with calendar_overlays is pretty screwed, I think. :)17:07
jintyfaassen: they are re-writing the the policy to get rid of pythonX.Y packages and make python transitions less painfull17:07
* pcardune cringes at the smell of dead rats from the biology lab next door17:07
faassenanyway, maybe ignas can say something about it17:07
faassenas the most recent sufferer17:07
jintyfaassen: s/pythonX.Y/pythonX.Y-module/17:07
th1apcardune: Are you at the high school?17:07
faassenI think in part generations are inherently complicated.17:07
faassenbecause they do things that will inevitably have to break abstractions and deal with messy innards.17:07
pcarduneth1a: at the career center... so yes17:07
th1afaassen: That's true.17:07
faassenthe only way to completely avoid that is to go a complete (XML) export/import route, which is a lot of work and has issues of its own of course.17:08
th1aI just want someone to warn me if they're really breaking down as opposed to just being difficult.17:08
faassenchanging classes in the ZODB is not really possible so you have to carry along all data and I caused this with the pesron changes.17:08
ignasth1a: i can't say that they are not breaking :/17:08
th1afaassen: I was discussing that with pcardune (XML export/import).17:08
faassen(because I wasn't using annotations and my direct changes to schooltool.person were initially discouraged)17:08
ignasth1a: i can't upgrade erchaches Data.fs though it might be issues in Zope3 or the Data.fs itself17:09
faassenth1a: we've done it for Silva. I believe it's conceptually simple, it's just lost of work.17:09
ignasth1a: though i have fixed like 4 points of breakage yesterday17:09
*** gintas has quit IRC17:09
ignasgenerations have the huge downside of having no Automated tests :/17:09
ignasand semi automated approach was lost when srichter forked schooltool17:09
ignasand just don't have time to resurrect it at the moment ...17:10
faassenth1a: XML import/export has great benefits, but it does cost work to maintain. but it is inheritently simpler than generations, and no more problems with moving classes. you just need to keep updating the import and export subsystem, though.17:10
faasseninherently, that is.17:10
ignasat the same time some simple changes to logic might lead to complex changes in import/export ...17:11
faassenthen again I suspect the generations are costing us quite a bit of work to maintain as well. and some stuff is easier with generations.17:11
faassenignas: yes.17:11
faassenboth have their benefits and drawbacks.17:11
faassenas usual. :)17:11
ignasgenerations should have the upside of "not having to maintain them"17:11
ignasonly to write the script once17:11
faassenwhat? :)17:11
th1aThere isn't any way to change a codebase as much as we've been doing and maintaining compatibility.17:11
faassenyou write it once and then spend days in debugging hell.17:11
ignasbut it is too easy to delete an unused class that is required by old Data.fs instances ...17:12
th1aIt is much easier if you just never release any software.17:12
ignasth1a: there actualy is, we are maintaining it compatible ...17:12
ignasat the moment i think ;)17:12
ignasit needs more testing though ...17:13
th1aignas: Yes, there should have been an "easily" in there somewhere.17:13
th1aIn my statement.17:13
th1aOK... moving on.17:13
th1aI encouraged pcardune to try out some GUI ideas.17:14
th1aThus the sliding dashboard appeared.17:14
faassenwhere did it appear?17:14
th1aAt the bottom of your browser window?17:14
* faassen looks.17:14
ignasyep, i think that it should slide from top to bottom too ;)17:14
ignasmore like Quake :)17:15
*** mgedmin|lunch is now known as mgedmin17:15
pcardune  (login: pcardune password: banana) if anyone wants to see it in a bit more action17:15
faassenthings slides.17:15
faassenof course this is UI change cheating.17:15
faassenyou don't ahve to change the actual pages a lot to do this.17:15
faassenso you don't break any tests. :)17:15
faassenby the way, there's now a new UI facility in Schooltool.17:16
faassenand that's the zc.tables17:16
pcarduneuntil the day functional tests support javascript... then I'm in trouble17:16
faassenso if you want to change stuff to tabular display, that's not too difficult.17:16
faassenthere's a table base class in skin that has batching support and everything17:16
faassenand you can look at how it's done in schooltool/demographics17:16
pcarduneoh really, i will take a look at that17:16
faassenit's pretty neat stuff.17:16
th1asrichter will be using it in the new gradebook as well.17:16
faassenokay, I hope he can use some of the stuff I did.17:17
faassennot that it's much, the trickiest was batching integration.17:17
pcardunefaassen: what exactly does it batch?17:17
pcardunethe tabs or the contents of each tab?17:17
faassenpcardune: the items in the table.17:17
faassenpcardune: no, persons, in this case.17:17
pcarduneoh ok17:17
faassenpcardune: so you have a lot of people in a table, and it's batched and columns are sortable.17:18
faassenpcardune: and ti's easy to introduce new columns, change the way things sort, etc.17:18
pcardunevery nice17:18
*** gintas has joined #schooltool17:18
th1aI think we should consider moving to a more conventional tabbed interface the basic functionality.17:19
th1aLike "Calendar" "Gradebook", etc across the top.17:20
faassenI think sidebar links aren't that unconventional.17:20
faassenin fact tabs are often used for multiple views on the same thing.17:20
faassenmost non-plone websites don't seem to use tabs that much. :)17:20
ignasusecases, we need some usecases17:21
ignasthough we can probably use the security table as a guideline17:21
ignaslook at the green dots and you can have a pretty clear picture of WHAT a student should have access to17:21
ignasand streamline the interface to make it convenient17:22
pcardunewe need each user to be able to quickly access information they need/want to see regularly17:22
ignasthen go for teachers and administrators17:22
th1aYes, we do need the basic sequence of events for different users.17:22
th1aAt worst that will become apparent in the fall.17:22
th1aWe should be able to make progress on the GUI next month.17:22
pcarduneI think the dashboard should be the default view17:22
pcarduneit's available at @@dashboard.html17:23
ignasi'd even suggest shortening iterations a bit to make us handle all the feedback better17:23
th1aYes, a dashboard.17:23
th1aignas:  That's probably a good idea.17:23
pcarduneif we really wanted to get fancy, we could make "widgets" for the dashboard a la google personalized home page17:24
ignasif not for evolution scripts it would be even possible to keep schooltool TRUNK in a constantly releasable state17:24
ignaspcardune: sane defaults are way better than fancy customization17:24
ignasand we need sane defaults to make a good first impression ;)17:24
pcarduneI agree, we want defaults, for sure... I'm just thinking of all the power users at there you know ;)17:25
th1aYes, I've learned the downsides of fancy customization the past two years.17:25
ignasschooltool will be heavily used by people who are not very computer literate17:25
pcarduneat == out17:25
faassenlet's worry about the non-power users first please. :)17:25
faassenI think ignas is entirely right about doing this use case driven.17:25
faassenand I agree that the security talbe is a good guide.17:25
faassenin fact I've been saying things like that for a while too. :)17:25
* faassen grins.17:25
pcardunewell, if you need well outlined use cases, I'll ask dave welsh and he would deffinitly be into doing that17:26
th1aWell, as I told pcardune, the one good thing you can say about our current UI is that we haven't spent much time on it.17:26
ignaspcardune:  would be very very nice17:26
th1apcardune: Yes, please.17:26
th1aOK... any other concerns before we wrap up?17:27
ignasis anyone testing/using the new security policy ?17:28
pcarduneI have been using/testing it lightly17:28
pcarduneit works quite well17:28
pcardunealthough I do have one question17:28
th1aignas:  What should I do to test it?  I guess change the settings and log in as different people?17:29
pcardunei have a page that displays journal entries, I only want the original authors to be able to delete their journal entries17:29
pcardunebut the delete permission is on the container and not the items in the container...17:29
faassenI haven't done anything with it yet ignas17:29
faassenhaven't had the time.17:29
faassenanyway, I'll aim to cross of the last bits off the todo list for demographics today.17:30
faassenand then I'll just wait feedback.17:30
ignaspcardune: you will need a custom permission for that i think, a crowd of PeopleWhoAreAuthors17:30
faassenwait for feedback.17:30
pcarduneI've created that crowd already17:30
ignasfaassen: the deadline if friday, and i am concerned that it will require many small fixes after that17:30
pcardunebut I want more specific than just people who are authors17:30
pcardunebut people who are authors for journal entries17:30
ignasth1a: just look at schooltool and notify of missing menu items or things that should not be seen by one user or another17:31
pcarduneI want to controll access to the containers __delete__ method based on what is being deleted17:31
faassenignas: the deadline for what exactly?17:31
pcardunenot and on who is deleting it17:31
ignasfaassen: for access control story PoV is working on17:31
faassenignas: oh, okay.17:31
faassenignas: I was talking demographics. I'm sure it will need some fixes or whatever, depending on feedback.17:31
faassenignas: I'll be working on some non-schooltool stuff for the next few weeks I expect.17:32
ignaspcardune: that's what i  mean an adapter to ICrowd that contains authors of the article17:32
* th1a gravels out the "formal" meeting.17:33
th1aHave a good week, folks!17:33
pcarduneignas: ok, i have done that already, but how do i set the permission on the journal's __delete__ method?17:33
ignaspcardune: and allow that crowd schooltool.delete on the article17:33
faassenokay, thanks. :)17:33
ignaspcardune: oh, now i get it ... you want the permission on the Container17:34
pcardunebut the article doesn't do the deleting... the container does...17:34
ignasdepend on the item that is being deleted17:34
ignascontainer can do checkPermission('schooltool.delete', article)17:34
ignasprior to deleting17:34
ignasor you can have a delete subscriber17:34
ignasthat raises an Unauthenticated Exception17:35
ignasif you don't want to polute the container code17:35
pcarduneok... I think that is the answer I was looking for17:35
* pcardune is going to switch to a room farther away from rats and closer to world cup17:36
*** pcardune has quit IRC17:37
jintyignas: any luck with that nightly tarball error?17:37
ignasth1a: though some of the links are not checking for permissions (they should do it, but are not), but which things should get hidden/displayed is for you to decide17:37
ignasjinty: not yet, how do i build a tarball ? :)17:38
jintyah, it's in!17:38
jintyso perhaps make extract-translations will trigger it17:39
*** dwoo has joined #schooltool17:40
ignasreproduced it17:43
jintyit's my code:(17:44
*** pcardune has joined #schooltool17:45
ignasa circular import17:46
*** alga has joined #SchoolTool17:50
ignasjinty: try it now17:52
ignastranslation extraction works17:52
povbot/svn/commits: * ignas committed revision 6237:17:52
povbot/svn/commits: Fix a circular import.17:53
jintyignas: building it now17:53
jintyignas: works! thanks!18:06
ignascool :)18:06
ignasnow back to problems of my own :)18:07
povbot/svn/commits: * faassen committed revision 6238:18:09
povbot/svn/commits: Ensure that persons have a last name, no matter how they are created.18:09
povbot/svn/commits: * ignas committed revision 6239:18:11
povbot/svn/commits: Forgot to svn add a file when fixing evilution bugs.18:11
*** erchache has joined #schooltool18:52
erchachei was talking with my boss.....upgrading for 0.11.4 to 2006 are a important bug to solve or not?18:53
ignaserchache: yes ?18:54
erchacheyou cant solve my upgrade problem no?18:55
ignashave you read my comment in schooltool issue tracker ?18:55
erchachesomething about zope3 libraries no?18:55
ignaswas the Data.fs used with a schooltool instance that was not a release version ?18:55
ignasbut rather a check out18:55
erchacheuhmmm....i use all stable previous versions....i think so18:56
erchachefrom source code not apt18:56
ignasi don't know how to even check that18:56
ignasand I don't know enough about Zope3 internals to know whether it is a bug in Zope3 or not ...18:57
erchachedont worry...thanks for all18:57
*** erchache has quit IRC19:30
pcarduneignas: how do i make use of the checkPermission method... what is the SchoolToolSecurityPolicy and how do i get an instance of it?20:06
ignasand it's unit test20:08
ignasshould give you enough clues20:08
ignasth1a: still there ?20:28
ignaspcardune: how did it go ? :)20:29
pcarduneit worked20:29
pcarduneI still need to learn a lot more about how security works in zope20:29
pcardunealong with authentication20:29
*** pcardune_ has joined #schooltool20:53
ignaspcardune_: sorry but you will get some more fixing to do ... as i have obliterated all the permissions except for schooltool.edit and view21:04
*** thisfred has left #schooltool21:05
*** pcardune has quit IRC21:06
povbot/svn/commits: * ignas committed revision 6240:21:18
povbot/svn/commits: Remove various schooltool permissions replacing them with schooltool.edit or schooltool.view.21:18
povbot/svn/commits: Add schooltool.editCalendarOverlays (WIP should be replaced with schooltool.edit + ICalendarOverlays adapter)21:18
*** faassen has quit IRC21:20
povbot/svn/commits: * ignas committed revision 6241:21:21
povbot/svn/commits: Oops. This shouldn't be there.21:21
*** ignas has quit IRC21:23
*** gintas_ has joined #schooltool22:33
*** gintas_ has quit IRC22:38
*** dwoo has quit IRC22:40
*** gintas has quit IRC22:49
*** Aiste has quit IRC23:04
*** mgedmin has quit IRC23:46
*** alga has quit IRC23:47

Generated by 2.15.1 by Marius Gedminas - find it at!