IRC log of #zope3-dev for Wednesday, 2006-04-19

*** gumpa has left #zope3-dev00:22
*** zbir has quit IRC00:25
*** Aiste has quit IRC00:25
*** rockyburt is now known as rockyburt|away00:28
*** oferw has joined #zope3-dev00:31
*** oferw has quit IRC00:35
*** natea is now known as natea|away00:45
*** regebro has joined #zope3-dev00:49
*** pcardune has quit IRC00:58
*** pcardune has joined #zope3-dev00:58
*** regebro has quit IRC01:03
*** ignas has quit IRC01:07
*** ignas has joined #zope3-dev01:19
*** andres has quit IRC01:25
*** ignas has quit IRC01:25
*** ignas has joined #zope3-dev01:25
*** ignas has quit IRC01:29
*** ignas has joined #zope3-dev01:29
*** jinty has joined #zope3-dev01:39
*** dunny has quit IRC01:56
*** pcardune has quit IRC02:08
*** kamalgill is now known as kamalaway02:22
*** jinty has quit IRC02:59
*** RaFromBRC is now known as RaFromBRC|away03:08
*** _projekt01 has left #zope3-dev03:23
*** RaFromBRC|away is now known as RaFromBRC04:45
*** niemeyer has quit IRC05:00
*** TrevorP has quit IRC05:13
*** TrevorP has joined #zope3-dev05:25
*** zbir has joined #zope3-dev05:25
*** stub has joined #zope3-dev05:28
*** pcardune has joined #zope3-dev05:32
*** mexiKON has quit IRC08:01
*** eins has joined #zope3-dev08:04
einshi08:04
*** wrobel has quit IRC08:15
*** wrobel has joined #zope3-dev08:16
*** zagy has joined #zope3-dev08:25
*** kamalaway has left #zope3-dev08:30
*** zagy has quit IRC08:35
*** zagy has joined #zope3-dev09:00
*** The|uni has joined #zope3-dev09:00
*** zagy has quit IRC09:00
*** zagy has joined #zope3-dev09:01
*** dobee has joined #zope3-dev09:10
*** hdima has joined #zope3-dev09:17
*** dobee has quit IRC09:23
*** rom|aw is now known as romanofski09:35
romanofskimoin09:36
*** dobee has joined #zope3-dev09:43
*** RaFromBRC has quit IRC09:50
*** zopePloneConsult has left #zope3-dev10:17
*** MJ has quit IRC10:17
*** sashav has joined #zope3-dev10:30
*** andres has joined #zope3-dev10:36
*** zopePloneConsult has joined #zope3-dev10:42
*** tarek has joined #zope3-dev10:45
*** MJ has joined #zope3-dev11:00
*** tav has joined #zope3-dev11:07
*** jinty has joined #zope3-dev11:17
*** regebro has joined #zope3-dev11:25
*** mkerrin has joined #zope3-dev11:25
regebroHiya!11:31
*** sm has quit IRC11:31
regebroWe are looking at refactoringthe traversal in Zope2. It's the wrong forum, I know, but the real gurus are here. :)11:31
regebroWe're trying to replace the in-traversal roles check, with some post-traversal roles check.11:32
regebroAnybody have and ideas?11:32
*** stub has quit IRC11:39
*** agroszer has joined #zope3-dev11:45
*** BjornT has quit IRC11:52
*** dunny has joined #zope3-dev11:53
regebroWhoah. Zope3 traversal is a mess....12:01
regebroRemind me again, when exactly is object security checked?12:01
*** BjornT has joined #zope3-dev12:04
*** rockyburt|away has quit IRC12:12
*** dobee has quit IRC12:13
*** romanofski has quit IRC12:13
*** BjornT has quit IRC12:16
*** romanofski has joined #zope3-dev12:17
*** dobee has joined #zope3-dev12:18
regebroOK, Zope3 wraps everything in security proxies, which will make security checks when you access it.12:23
*** jinty has quit IRC12:23
*** natea|away has quit IRC12:25
*** natea has joined #zope3-dev12:26
*** dobee has quit IRC12:29
*** stub has joined #zope3-dev12:31
*** BjornT has joined #zope3-dev12:34
*** dobee has joined #zope3-dev12:35
regebroWhy is there ITraverser, ITravesable and IPublishTraverse? When should each one be used?12:36
regebroIs anybody awake? :)12:37
*** mexiKON has joined #zope3-dev12:37
*** alga has joined #zope3-dev12:40
regebroQuestion for gurus, like mexiKON and J1m (who is probably not at his computer at this early hour):12:49
regebroZope3 does security check via security proxies.12:49
regebroZope2 during traversal.12:49
regebroDo you forsee any direct problems in contining to do the security check during traversal in Zope2, even if we switch to a more Zope3-like traversal?12:50
*** rockyburt has joined #zope3-dev12:50
*** mexiKON is now known as philiKON12:51
*** Aiste has joined #zope3-dev12:55
*** rockyburt has quit IRC12:59
*** mgedmin has joined #zope3-dev13:02
*** MJ has quit IRC13:05
*** rockyburt has joined #zope3-dev13:05
*** J1m_ has joined #zope3-dev13:07
*** MJ has joined #zope3-dev13:07
*** stub has quit IRC13:10
*** MJ has quit IRC13:16
*** Aiste has quit IRC13:26
*** MJ has joined #zope3-dev13:31
regebroAnybody good at twisted? Anybody have an idea why Sidneis use of Twisted (in Zope2) refuses to exit on control-C?13:43
*** philiKON has quit IRC13:45
*** romanofski has quit IRC13:47
*** agroszer has quit IRC13:47
*** romanofski has joined #zope3-dev13:49
*** dunny has quit IRC14:26
rockyburtum, should zope3.2.1 really complain when i build it that i'm using python2.4.3 and not 2.4.2 ?14:31
*** ignas has quit IRC14:37
*** J1m_ has quit IRC14:39
*** yota has joined #zope3-dev14:40
regebrorockyburt: I think so.14:50
regebro244 is later that 321.14:51
regebroRught?14:51
rockyburt243 you mean14:51
rockyburtand i dunno14:51
rockyburti thought z321 was pretty recent14:51
regebroWell, isn't 243 pretty recent too?14:51
regebroUbuntu is still on 242...14:51
rockyburtyeah ... i'm runnin ubuntu dapper drake ;)14:52
rockyburthas p24314:52
*** niemeyer has joined #zope3-dev14:52
*** TrevorP has quit IRC15:01
*** mgedmin has quit IRC15:08
*** ignas has joined #zope3-dev15:26
*** TrevorP has joined #zope3-dev15:46
*** ignas has quit IRC15:48
*** ignas has joined #zope3-dev15:54
*** zbir has quit IRC16:01
*** zbir has joined #zope3-dev16:04
*** _fermigier has joined #zope3-dev16:10
*** gumpa has joined #zope3-dev16:10
*** philiKON has joined #zope3-dev16:13
*** jinty has joined #zope3-dev16:14
*** ignas__ has joined #zope3-dev16:18
*** ignas__ has quit IRC16:18
*** efge has joined #zope3-dev16:19
efgehi16:20
efgeI want to create a schema programatically16:20
efgeis there a better way than doing:16:20
efgeIFoo = InterfaceClass('IFoo', (zope.interface.Interface,), {}, __module__='something')16:21
efgethen to add fields16:22
efgeifoo._InterfaceClass__attrs['bar'] = somefield16:22
efge?16:22
efgeadding fields that way looks quite dirty to me :)16:22
philiKONwhy do you want to add fields *after* the interface has been created?16:24
efgeyes16:25
efgebecause it's created empty16:25
efgeI'm converting from external schemas stored in text files16:25
philiKONbut you can pass a number of attrs to the constructor16:25
efgehm.... right...16:25
efgeyou're right, stupid me16:25
philiKONInterfaceClass('IFoo', (Interface,), {'foo': 'bar'}, ....)16:25
philiKONbasically, insert stuff where you have the empty dict ;)16:26
efgethx :)16:26
*** jinty has quit IRC16:26
*** sashav has quit IRC17:06
*** regebro has quit IRC17:07
efgephiliKON: how about if I want to add a field that's ObjectList(schema=IFoo), where there's a self-reference...17:08
philiKONthat's tricky17:08
efgehow do normal interfaces defined in code deal with that?17:09
philiKONi was just gonna ask that17:09
philiKON;)17:09
efgefrom what I read in the code, you can't use dotted names here for the schema17:09
philiKONnope17:09
*** dlk has joined #zope3-dev17:15
*** eins has quit IRC17:20
*** benji has joined #zope3-dev17:24
*** gumpa has left #zope3-dev17:29
*** gumpa has joined #zope3-dev17:30
*** regebro has joined #zope3-dev17:33
*** hdima has quit IRC17:59
*** zopePloneConsult has left #zope3-dev18:04
*** sm has joined #zope3-dev18:09
*** alga has quit IRC18:10
*** gump1 has joined #zope3-dev18:16
*** gumpa has quit IRC18:16
*** romanofski is now known as rom|aw18:21
*** gump1 is now known as gumpa18:21
efgein zope.schema, default values for fields are supposed to be there so that "Default field values are assigned to objects when they are first created" (from the README), but nothing in zope.schema actually creates objects or uses the default, right?18:24
efgewhere would be the main use of that field default then?18:24
philiKONwell, there *is* FieldProperty18:25
philiKONi'm also not sure whether the form machinery perhaps uses the default property18:26
efgeah yeah I hadn't grepped for getattr(field, 'default'  :)18:26
philiKONwaaaah18:27
*** dobee has quit IRC18:36
j1mIt would be great to get volunteers to work on deprecation wanings on the jim-adapter branch. :)18:36
rockyburtanyone have any pointers on docs for getting started with formlib and wfmc ?18:37
ignasyeah, like an example of  "how to properly do multi participant workflows" with zope3 ...18:40
philiKONj1m, you got rid of a great deal already i saw18:41
j1myup18:42
j1mI also created more. :)18:42
philiKONj1m, how can we help with the "Local registration is now much simpler.  The old baroque APIs will go away in Zope 3.5.  See the new component-registration APIs defined in zope.component, especially IComponentRegistry." messages?18:42
philiKONI have no idea what the baroque API was and how to deal with it in terms of the new API18:42
j1mhm, ok, then skip those. :)18:43
philiKONthose are, like, all of them ;)18:43
j1mNo they aren't.18:43
j1mFor example, all of the places that use ILocalUtility can simply stop using it.18:43
philiKONah, ok18:44
j1mDitto for IRegisterable.18:44
philiKONyup. which reminds me. i can now also deprecate <localUtility /> in case you havent' done it yet18:44
j1mThese were burnt offerings that aren't needed anymore.18:44
j1mNo, I think that still provides a useful function, but I'm not sure.18:44
philiKONit doesn't18:44
j1mI could be wrong18:44
philiKONit just put ILocalUtility on the class18:45
philiKONand IAttributeAnnotatable18:45
philiKONother than that it was just like <class />18:45
j1mk18:45
j1mOne open issue is that I think we will want to arrange that some things can only be added to site-management folders or the site manager.18:45
j1mI'm not really sure how to do that though.18:46
j1mI'd like to be able to make a gesture of some sort in zcml.18:46
j1mThis gets to the whole open containment constraints issue.18:46
j1mEspecially in cases where the constraint is for reasons of policy.18:47
j1mBTW, you can now add components directly to the site manager.18:47
philiKONgood18:47
j1mYou no longer *need* to use a site-management folder18:47
philiKONhaven't looked at the UI yet18:47
j1mI think people will find this simpler.18:47
philiKONi will :)18:48
philiKONi've resumed work on the book18:48
philiKONi'm basing what i write on the jim-adapter branch for now :)18:48
j1mOh, there are lots of places, I think that import PlacefullSetup from the wrong place.18:48
j1mcool18:48
j1mThis now generates deprecation warnings.18:49
j1mIt should have before but didn't.18:49
j1mAlso, OT, take a look at zope.component.__init__.18:49
philiKONalready have18:49
philiKONlooks good18:49
j1mEventually, I want to do this with lots of __init__ modules.18:49
efgej1m: how would you define a schema IFoo where a field of type ObjectList has to refer to IFoo ?18:50
philiKONexcept that i'm not TOO fond of underscored modules, it looks very good18:50
j1mI had to do this to avoid a circular import problem.18:50
philiKONyes, i've had to use zope.deferredimport once too to avoid circular import problems18:50
j1mefge, not sure.18:50
philiKONj1m, any particular reason it's _api.py and _declaration.py instead of api.py and declaration.py?18:51
j1mI guess I would mutate the field after IFoo is created, which is icky.18:51
efgeyep that's what I did18:51
efgebut it is icky indeed18:51
j1mphiliKON, I wanted them to be private.18:51
philiKONuh huh18:51
j1mgotta go, bbl18:51
philiKONsee ya18:51
efgeactually I did ickier, I did fields = {} and passed that to InterfaceClass, then added my fields in that dict...18:52
philiKONi'm surprised that works18:53
*** MJ has quit IRC18:57
efgeyeah it does self.__attrs = attrs directly, I was surprised too19:01
*** baldtrol has joined #zope3-dev19:06
*** andres has quit IRC19:07
*** kamalgill has joined #zope3-dev19:21
j1mback19:32
j1mIf anyone has questions about how to get rid of deprecations, let me know, :)19:32
j1mOtherwise, I have to work on something else.19:32
regebroAh, damn!19:32
regebroOK, I guess I can discuss traversal by email, j1m . :)19:33
j1mregebro, do you have a quick question?19:33
regebroNo, it's likely to be complicated.19:33
j1mk19:33
regebroLike the differences between ITraversal, IPublisherTraver and ITRaversable.19:34
regebroAnd why there is so much code duplication in traversing.19:34
*** sm has left #zope3-dev19:35
* whit snorts19:37
*** sm has joined #zope3-dev19:38
regebrosnorts what?19:39
whitregebro: form of laughter19:41
philiKONregebro, perhaps i can help19:43
philiKONthe difference between ITraverser, ITraversable and IPublishTraverse?19:44
regebroMost likely. :)19:45
philiKONok19:45
philiKONfirst, you need to understand that there's a difference between object-graph traversal and publication traversal19:45
regebroITraverser and ITraversable, I kinda get.19:45
philiKONfor example, take a URL19:45
philiKONhttp://.../foo/bar/@@blerg19:45
philiKON  /foo/bar/@@blerg should be resolved according to publication traversal19:45
philiKONbecause we're publishing19:45
regebroright.19:46
philiKONthis is what IPublishTraverse is about19:46
philiKONnow, there's also object-graph traversal19:46
philiKONfor example, in a zpt19:46
philiKON   context/some_attr/foobar19:46
philiKONthis is dealt with by ITraversable/ITraverser19:46
regebroOK.19:46
philiKONITraverser is the one chunking a path into pieces and then calling ITraversable one by one19:46
regebroYeah, I got that.19:47
philiKONbasically, ITraverser is the "publisher" in object-graph traversal19:47
philiKONok19:47
philiKONnow, zope 2 doesn't make that distinction19:47
philiKONand somebody thought it'd be fitting to use ITraverser/ITraversable back then19:47
philiKONi'm not 100% sure that was the right chioce19:47
philiKONfortunately, we could switch five to IPublishTraverse easily if we wante dto19:48
regebroWell, one interesting issue then, is that the publishing traversal has no ITraversable19:48
philiKONhuh?19:48
regebroBut, I guess, since it always starts with the root, it doesn't need one...19:49
philiKONIPublishTraverse is the traversable adapter for publication traversal19:49
philiKONand the "ITraverser" part in publication traversal is the publication's job19:49
regebroOh, sorry, I mistyped, I mean it has no "ITraverse"19:49
philiKONchunking the path into pieces19:49
philiKONet c.19:49
regebroOK.19:49
philiKONyeah, that's what the publication does19:49
philiKONit also calls IPublishTraverse adapters19:50
philiKONthe whole nomenclature is crappy19:50
philiKONblame SteveA :)19:50
regebroYeah, so Fives usage if ITraverse/ITraversal is completely wrong.19:50
SteveAphiliKON: that I didn't push through IPathTraverser and IURLTraverser ?19:50
regebroYeah, IPublishTraverse should be called IPublishTraversable.19:50
SteveAand IPathStepTraverser19:51
philiKONSteveA, yeah :)19:51
regebroAnd it would make sense to me to by default let either the publish traversal user the pbject traversal (or possibly the oterh way around).19:51
philiKONit's not too late ... :)19:51
SteveAi should take a vacation to work on zope3 :-/19:51
regebroNo, so that's what I'm thinking here...19:52
philiKONSteveA, a "zabattical"' :)19:52
philiKONregebro, if you want to switch five over to IPublishTraverse, i think that'd have some advantages. you could bring it up on the five list. it won't get rid of the "problem" that zope 2 still mixes URL and Path traversal19:53
philiKONsolving this problem isn't a high priority on my list and i could imagine that you also have better things to do ;)19:53
regebro1. The publisher should really use ITraverser. If not, you need to let the publisher duplicate ITraversers code (it pretty much does).19:54
regebro(philiKON: Actually, it means if you make traversing adapters for Five objects, those are not useable for Zope3).19:55
regebroSo I'm not sure I have better things to do. ;)19:55
philiKONyou do realize that you're working on zope 5 there, aren't you? :)19:55
regebro2. IPublishTraverse should default to using ITraversable. Because otherwise, these needs to duplicate code. Whic pretty much is what they do today.19:56
regebrophiliKON: Yup. Although I call it zope.Zope2. :)19:56
philiKONhaha19:56
philiKONZope2 will probably remain the other zope namespace package out there19:56
philiKONthat aside19:57
regebroYup.19:57
philiKONi think the ZPublisher should use IPublishTraverse, not Itraverser19:57
philiKONthe publisher shouldn't know anything about path traversing19:57
philiKONit should just worry about URL traversing19:58
philiKONi've also come to think that IPublishTraverse adapters are a better replacement for __bobo_traverse__19:58
philiKONat least last time i investigated that whole subject19:58
regebroYes, but in 99% of cases these are exactly the same.19:58
philiKONright19:58
philiKONso, perhpas, the default IPublishtraverse could use ITraversable19:59
regebroYEah, exactly.19:59
philiKONthat i don't really care about19:59
regebroand the publisher should probably use ITraverse.19:59
philiKONhuh, why?!?19:59
philiKONi just said it should use IPublishTraverse19:59
philiKONthe publisher doesn't need to care about path traversal. it cares about url traversal20:00
regebroSame reason. The publishers code that splits the path into bits and traverses it its almost exactly the same as IDefaultTraversable.20:00
regebroIt's completely pointless code duplication.20:00
regebroThat'a minor issue, because at least it doesn't affect people making new ITraverse adapters, because nobody does. :)20:01
philiKONyou keep quoting weird names20:01
philiKONplease stick to the names of the interfaces20:01
philiKONyou're confusing me :)20:01
philiKONthere's ITraverser and ITraversable20:01
philiKONand IPublishTraverse20:02
regebroI mean ITraverser.20:02
philiKONnow, i don't care about reducing code duplication right now20:02
regebroThese names are confusing me, which is why I get them wrong all teh time.20:02
philiKONlet's worry about that at a later stage20:02
philiKONyes, but let's concentrate for now20:02
philiKONyou want to get somewhere, so let's not try to think about how to reduce code duplication in zope 3 at the moment20:02
philiKONfact is:20:02
philiKONthe zope 3 publisher uses IPublicationTraverse20:03
philiKONthe zope 2 zpublisher should do so as well, probably20:03
regebroOK.20:03
philiKONwhat the default IPublicationTraverse implementation does, doesn't matter for now20:03
philiKONin zope 3 it *might* use ITraversable20:03
*** mgedmin has joined #zope3-dev20:03
philiKONin zope 2 it might do something else20:03
regebroYeah, right, we can start there.20:03
philiKONto emulate old zop e2 traversal behaviour20:03
philiKONeither way, <five:traversable /> and the __bobo_traverse__ monkey patching can go :)20:04
regebroIf we start there, I think there is only one actual issue now.20:04
regebroYup.20:04
regebroThe Zope2 traversings role checking differs when the attribute is gotten via __getitem__ or if it is gotten via gettattr and bobotraverse.20:05
philiKONwaaaaaaaaaaaaa20:05
regebroThat will be VERY hard to get right with any sort of adaters....20:06
*** RaFromBRC has joined #zope3-dev20:10
*** j1m has quit IRC20:11
regebroWell, OK, I might have time for that thursday again. See ya then.20:13
*** regebro has quit IRC20:13
philiKONbye20:13
*** j1m has joined #zope3-dev20:14
*** rockyburt has quit IRC21:04
*** rockyburt has joined #zope3-dev21:05
*** tarek has quit IRC21:27
*** efge has quit IRC21:32
*** jinty has joined #zope3-dev21:33
*** oferw has joined #zope3-dev21:45
*** mkerrin has quit IRC21:50
*** ignas has quit IRC22:01
*** MJ has joined #zope3-dev22:05
*** kamalgill is now known as kamalaway22:08
*** rockyburt has quit IRC22:08
*** gumpa is now known as gumpa-gone22:09
*** mgedmin has quit IRC22:27
*** dunny has joined #zope3-dev22:32
*** rockyburt has joined #zope3-dev22:34
*** yota has quit IRC22:38
*** dobee has joined #zope3-dev22:39
*** dobee has quit IRC22:57
*** oferw has left #zope3-dev22:58
*** regebro has joined #zope3-dev23:04
*** jinty has quit IRC23:05
*** dobee has joined #zope3-dev23:05
*** regebro has quit IRC23:07
*** mexiKON has joined #zope3-dev23:32
*** dobee has quit IRC23:34
*** philiKON has quit IRC23:38
*** baldtrol has left #zope3-dev23:44
*** RaFromBRC has quit IRC23:46
*** jinty has joined #zope3-dev23:48
*** zbir has quit IRC23:49
*** SiggyF has joined #zope3-dev23:50
*** SiggyF has quit IRC23:54
*** zbir has joined #zope3-dev23:56
*** jinty has quit IRC23:59

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