IRC log of #schooltool for Wednesday, 2005-04-27

th1aOK.  Got it.00:01
th1aNever has finding a nude woman on my computer been so difficult.00:02
*** GaryPoster has quit IRC00:47
*** bskahan has joined #schooltool00:50
bskahanth1a: do you have the xcf of the schooltool logo?01:40
*** Aiste has quit IRC01:44
*** Aiste has joined #schooltool01:47
*** Aiste has quit IRC01:50
*** Aiste has joined #schooltool01:50
*** Aiste has quit IRC01:56
*** Aiste has joined #schooltool01:58
*** Aiste has quit IRC02:03
*** Aiste has joined #schooltool02:04
*** Aiste has quit IRC02:09
*** Aiste has joined #schooltool02:12
*** Aiste has quit IRC02:15
*** Aiste has joined #schooltool02:17
*** Aiste has quit IRC02:20
*** Aiste has joined #schooltool02:21
bskahancan you commit it to schooltool svn in /images or something similar?02:29
th1aDo you want me to do this right now?02:30
*** bska|mobile has joined #schooltool02:33
bska|mobileth1a: no, just when you have time02:33
th1aOK.  Will do.02:34
*** bskahan has quit IRC02:40
*** hazmat has quit IRC02:45
*** auxesis has quit IRC02:56
*** GaryPoster has joined #schooltool03:00
*** jagordon has quit IRC03:15
*** hazmat has joined #schooltool03:19
*** bskahan has joined #schooltool03:38
*** bska|mobile has quit IRC03:44
*** bskahan has quit IRC03:52
*** Aiste has quit IRC04:12
*** Aiste has joined #schooltool04:13
*** GaryPoster has quit IRC04:25
*** hazmat has quit IRC04:40
*** alga has quit IRC04:49
*** auxesis has joined #schooltool05:11
*** hazmat has joined #schooltool05:15
*** hazmat has quit IRC05:28
*** tvon has quit IRC07:07
*** tvon has joined #schooltool07:07
*** tvon|x31 has joined #schooltool07:07
*** tvon|x31 has quit IRC07:07
*** tvon has quit IRC07:14
*** tvon has joined #schooltool07:14
*** tvon has quit IRC07:15
*** tvon has joined #schooltool07:17
*** morgs has joined #schooltool10:37
morgsth1a: Steve Alexander suggested I ask you about RDF tools for Python. I want to export RDF from a Zope application. I've heard of Redland but don't know where to start. I'm currently in AU and have no time zone overlap, so I would appreciate any suggestions via email to
morgsth1a: I'll be back in South Africa next week and can ask you further on IRC, but any initial direction would be good. I will need to parse RDF in the future, so I want to avoid any hackerish shortcuts now, but I'm not sure which tools are best.10:45
morgsThanks in advance...!10:45
*** Aiste has quit IRC10:47
*** morgs has left #schooltool10:50
*** tvon|desk has quit IRC10:57
*** tvon has quit IRC10:58
*** tvon has joined #schooltool11:14
*** tvon|desk has joined #schooltool11:14
*** alga has joined #SchoolTool12:21
*** alga has quit IRC12:21
*** th1a has quit IRC12:36
*** ignas has joined #schooltool12:39
*** tvon has quit IRC13:04
*** tvon|desk has quit IRC13:07
*** tvon|desk has joined #schooltool13:11
*** tvon has joined #schooltool13:11
*** Aiste has joined #schooltool13:44
*** jhauser has joined #schooltool14:19
*** tvon has quit IRC14:32
*** jagordon has joined #schooltool15:09
*** alga has joined #SchoolTool15:18
*** GaryPoster has joined #schooltool15:22
*** GaryPoster has quit IRC15:24
*** mgedmin has joined #schooltool15:38
*** bskahan has joined #schooltool15:40
*** th1a has joined #schooltool16:11
*** tvon has joined #schooltool16:14
*** th1a has quit IRC16:30
*** th1a has joined #schooltool16:31
*** GaryPoster has joined #schooltool16:32
jhauserany questions to relationship accepted?16:51
mgedminI'm not sure I understand your question16:52
jhauser:-) there wasn't one16:52
jhauserok is it a design goal that relationship is always done by object reference?16:53
jhauseri use it in a five project and changed the target in link to a uid16:53
mgedminyou can implement relationships in any way you want by providing an adapter to IRelationshipLinks16:54
jhauserwould it have some value to call an adapter before the actual binding happens16:54
jhauserah uh16:55
jhauserok then I didn't look far enough16:55
jhauserhm but relate compores with object identity16:58
jhauserperhaps I'm plain stupid, but I do not understand how an other adapter there would change the object identity test in relate17:03
mgedminwhat exactly do you want to achieve?17:03
mgedminthe relationships framework expects you to work with python objects17:03
jhauserrelate two objects by there uid17:03
mgedminbut you don't necessarily have to store object references in the zodb17:04
jhauserboth know the uids of the related objects17:04
mgedminyou could store e.g. paths and traversal in your implementation of the storage adapter17:04
mgedmindo you have a way of getting the object itself from its uid?17:04
jhauserbut then need to get the object on return17:04
mgedmindoes that inconvenience you in some way?17:05
jhauseryes, but the object is got by an publisher17:05
jhauserand the publisher is app dependand17:05
jhauserfor this I only want to compare uids17:05
jhauserthen after the relation lookup the app decides which publisher should be used17:06
jhauserthis can be different for the same object17:06
jhauserbut I think the problem expands to all factory based objects17:07
mgedminyou are saying that the same conceptual object can be actually represented as different object instances in your app17:08
mgedmindid I understand it correctly?17:08
jhauserin principle yes17:08
jhauserthe publisher can decide to wrap it differently17:09
mgedminit can be fixed17:09
jhauserfor example i have a versioning publisher and a normal publisher17:10
mgedminthe relate function checks whether a relationship already exists17:10
mgedminby looping through all relationship links and comparing objects by identity17:10
mgedminbut unrelate function also checks whether a relationship exists17:10
mgedmin(and raises an exception if it doesn't)17:10
mgedminunrelate does it differently, though -- it calls the 'find' method of IRelationshipLinks17:10
mgedminand you can implement that one so that it only looks at your uids17:11
mgedminin principle, relate and unrelate perform the same check17:11
jhauserright what I know have is17:11
jhauserdef relate(rel_type, (a, role_of_a), (b, role_of_b), extra_info=None):17:11
mgedminand relate can be changed to do it in the same way unrelate does it17:11
jhauser    """Establish a relationship between objects `a` and `b`."""17:11
jhauser    for link in IRelationshipLinks(a):17:11
jhauser        if ( == b.UID and link.role == role_of_b17:11
jhauser            and link.rel_type == rel_type):17:11
mgedminthat would solve your problem I think17:11
jhauseryes it is working nice, but looks to me a little hardcoded17:12
mgedminI suggest replacing the original code17:12
mgedmin    for link in IRelationshipLinks(a):17:12
mgedmin        if ( is b and link.role == role_of_b17:12
mgedmin            and link.rel_type == rel_type):17:12
mgedmin            raise DuplicateRelationship17:12
mgedmin    links_of_a = IRelationshipLinks(a)17:13
mgedmin    links_of_b = IRelationshipLinks(b)17:13
mgedmin    try:17:13
mgedmin        link_a_to_b = links_of_a.find(role_of_a, b, role_of_b, rel_type)17:13
mgedmin    except ValueError:17:13
mgedmin        pass # great, no duplication17:13
mgedmin    else:17:13
mgedmin        raise DuplicateRelationship17:13
jhauserah ok17:14
jhauserbut wouldn't an adapter IRelationshipTarget not also solve the problem?17:14
mgedminwhat is IRelationshipTarget?17:15
jhauserinstead of == b.UID call == IRelationshipTarget(b)17:16
jhauserthe same on the add methods17:17
jhauserand the find methods17:18
mgedminwhat is 'b'?17:19
mgedminthe object that you pass to relate/unrelate?17:20
jhauserthis could also be expanded to include the role in the adapter lookup17:20
mgedminwhat's the point of that?17:20
mgedmincan't you adapt things to IRelationshipTarget before passing them to relate/unrelate?17:20
jhauseror so sure17:20
mgedminah, but then maybe the thing returned by IRelTgt isn't adaptable to IRelLinks17:20
jhauserbut I at the place I actually do the relationship I do not want to do too much17:21
jhauserI only wanted to discuss this to see, if my case is a special one or I don't understand the thing17:24
jhauserbut I think everthing factory based would be costly to handle in the relationship machinerie17:25
jhauserI'm very grateful to have found this package, it's very condensed17:27
jhauseroh perhaps one other question17:27
jhauserare you somewhere indexing the relations?17:28
jhauserI think of a way to put some info of this into a zcatalog, but can not really come to terms what would be the best way17:28
bskahanmgedmin: is there something you had to do to get schoolbell's browser.tests to pick up the zcml declarations?17:32
bskahanmy *AddView tests are failing with "Attr Error, can't FooAddView has no schema"17:33
bskahanI found it, I think17:34
mgedminno, we're not indexing anything17:39
mgedminbskahan, unit tests know nothing about what's in zcml17:40
mgedminyou have to rewrite zcml declarations in python in unit test setup code17:40
mgedminwhich is sometimes a pain :-(17:40
*** jagordon has left #schooltool17:40
bskahanI got it now17:43
bskahanwasted way too much time on that17:43
jhauserthanks mgedmin17:49
*** tvon has quit IRC18:29
*** tvon has joined #schooltool18:39
tvonmgedmin: where is that lil time tracker app you wrote?18:50
tvonmgedmin: thanks18:54
*** bskahan has quit IRC19:26
*** bskahan has joined #schooltool19:35
*** mgedmin has quit IRC19:37
*** bskahan has quit IRC19:50
*** tvon has quit IRC20:03
th1awhen I checkout the schooltool branch and do 'make' I get 'invalid command 'schoolbell' (no module name distutils.command.schoolbell)20:12
*** tvon has joined #schooltool20:13
*** alga_ has joined #SchoolTool20:26
*** alga has quit IRC20:27
*** alga_ is now known as alga20:32
*** ignas has quit IRC20:37
*** bskahan has joined #schooltool21:23
bskahanth1a: what editor do you use for Python on a Mac?21:24
th1aIt doesn't have any Python specific features.21:25
bskahanwhat's likely to cause a ForbiddenAttribute error?21:54
bskahanmissed it in ZCML21:54
algaForbiddenAttribute always means a missing class declaration22:24
th1aso... should I be able to checkout the new schooltool branch and have it work?22:25
algayes, with a reasonably narrow definition of 'work'22:30
algathe root view spews 'A system error has occured.'22:30
th1aDo I need to do something special to make it?22:30
algamake as in build? no, the same as for schoolbell22:31
algaah yes22:31
algathe is broken22:31
algayou have to cd Zope3 and then make22:31
alganot my fault :-)22:31
algajinty was not on IRC when I noticed this22:32
* alga ducks and runs22:32
* bskahan continues to hide22:45
bskahanthe front page its broken, but if you go to /groups or /persons it works fine22:45
bskahanth1a: and
bskahanthey're not pretty yet22:49
th1aIs that going to be top > schooltool > sections > section-1 eventually?22:49
bskahanI'm not sure22:50
bskahanit can't be as it is22:50
bskahanI'm just not sure what it can/will be22:50
th1aDon't worry about it for now.22:51
bskahansince it should be top > schooltool > courses > algebraI > section-122:51
th1aIt is probably a bad idea, now that I think about it.22:51
bskahanthe groups link needs to go22:51
bskahansince its not part of the schooltool interface22:51
th1aI think that's better.22:52
bskahanhow to do that I'm not sure though22:53
bskahanbut I haven't looked yet22:53
bskahanneed to learn about pagelets22:53
th1aWe don't really have to get our panties in a bunch about this yet.  Once we start doing multiple years, it'll need to be right.22:54
th1aAlthough, we technically have two years to get that right.22:54
bskahanthe pagelets comment was a bit [OT]22:55
bskahanI want a calendar pagelet for the section view22:55
th1abskahan:  you need to learn about pagelets.22:55
th1aAt some point.22:55
bskahanI'd like the section view page to show the upcoming weeks events and/or the small month calendar square22:56
th1aSections probably shouldn't have "members."22:56
bskahanbut to do that I'm pretty sure I'd want a pagelet22:56
bskahansections have members inherited from Groups, but the link to add/remove members will go away22:57
bskahansame with resources22:57
th1aActually... don't we want to be able to assign resources to a section?22:58
th1aCan we add resources to a group?22:58
bskahanactually, at least a room22:58
bskahanI'll still take away the person members22:58
th1aYou'd frequently want to assign other physical resources, too.22:59
th1aYeah, members doesn't make sense.22:59
bskahanthey're actually the same, the only difference is a filter in the UI22:59
bskahanbut I'll take away the person filter22:59
bskahan'take away' being 'hide real good'23:00
*** hazmat has joined #schooltool23:03
bskahanthe CSS reload bug is back?23:18
*** hazmat has quit IRC23:34

Generated by 2.15.1 by Marius Gedminas - find it at!