IRC log of #zope3-dev for Wednesday, 2006-09-20

*** benji has quit IRC00:00
*** dunny has joined #zope3-dev00:00
*** gumpa has left #zope3-dev00:15
*** hazmat_ has joined #zope3-dev00:16
*** hazmat__ has joined #zope3-dev00:21
*** hazmat has quit IRC00:22
*** replicant has quit IRC00:23
*** zbir has quit IRC00:26
*** nathany has quit IRC00:33
*** fcorrea has quit IRC00:33
*** ktwilight has quit IRC00:35
*** ktwilight has joined #zope3-dev00:45
*** timte has quit IRC00:49
*** torkel_ has quit IRC01:18
*** yota has quit IRC01:34
*** rocky is now known as rocky|Zzz01:35
*** whit has quit IRC01:41
*** xenru has quit IRC01:42
*** xenru has joined #zope3-dev01:43
*** J1m has quit IRC01:46
*** hazmat_ has quit IRC01:48
*** vlado has quit IRC01:51
*** jinty has quit IRC01:52
*** batlogg has quit IRC01:55
*** hazmat__ is now known as hazmat02:25
*** ChanServ sets mode: +o hazmat02:25
*** replicant has joined #zope3-dev02:37
*** markup_ has quit IRC03:29
*** replicant has quit IRC03:37
*** niemeyer has quit IRC03:48
*** niemeyer has joined #zope3-dev03:49
*** zbir has joined #zope3-dev04:23
*** romanofski has quit IRC04:52
*** Theuni has quit IRC04:53
*** romanofski has joined #zope3-dev05:17
*** Theuni has joined #zope3-dev05:21
*** niemeyer has quit IRC05:48
*** stub has joined #zope3-dev05:53
*** MiUlEr has joined #zope3-dev05:53
*** MiUlEr has left #zope3-dev05:53
*** elbixio has joined #zope3-dev06:54
*** dobee has joined #zope3-dev07:52
*** flox_ has quit IRC07:54
*** elbixio has quit IRC08:03
*** dunny_ has joined #zope3-dev08:06
*** dunny has quit IRC08:07
*** dobee has quit IRC08:07
*** eins has joined #zope3-dev08:11
*** romanofski_ has quit IRC08:18
*** rocky|Zzz has quit IRC08:19
*** srichter has quit IRC08:22
*** dobee has joined #zope3-dev08:30
*** alecm has quit IRC08:43
*** zagy has joined #zope3-dev08:49
*** srichter has joined #zope3-dev08:53
*** ChanServ sets mode: +o srichter08:57
*** wrobel has joined #zope3-dev09:03
*** replicant has joined #zope3-dev09:18
*** stub has quit IRC09:48
*** dunny_ has quit IRC09:51
*** replicant has quit IRC09:52
*** MJ has quit IRC09:53
*** philiKON has quit IRC09:55
*** flox_ has joined #zope3-dev09:56
*** timte has joined #zope3-dev10:08
*** flox_ is now known as flox10:12
*** jhauser has joined #zope3-dev10:15
*** dlk has joined #zope3-dev10:21
*** yota has joined #zope3-dev10:24
*** batlogg has joined #zope3-dev10:25
*** zagy has quit IRC10:27
*** scherand has joined #zope3-dev10:36
*** philiKON has joined #zope3-dev10:37
*** philiKON has quit IRC10:42
*** philiKON has joined #zope3-dev10:42
*** jinty has joined #zope3-dev10:54
*** dlk has quit IRC10:58
*** MJ has joined #zope3-dev11:03
*** hdima has joined #zope3-dev11:05
*** Aiste has quit IRC11:13
*** kobold has joined #zope3-dev11:19
*** volvox has joined #zope3-dev11:22
*** stub has joined #zope3-dev11:29
*** flox has quit IRC12:16
*** jinty has quit IRC12:24
*** faassen has joined #zope3-dev12:25
*** mgedmin has joined #zope3-dev12:29
*** volvox has quit IRC12:38
*** zbir has joined #zope3-dev13:01
*** dobee has quit IRC13:16
*** zbir has quit IRC13:28
*** Aiste has joined #zope3-dev13:32
*** oferw has joined #zope3-dev13:34
*** tiredbones has quit IRC13:35
*** flox has joined #zope3-dev13:37
*** mkerrin has joined #zope3-dev13:46
*** baijum has joined #zope3-dev13:46
*** mgedmin has quit IRC13:57
*** J1m has joined #zope3-dev13:59
*** J1m has left #zope3-dev13:59
*** jinty has joined #zope3-dev14:01
faassenwho is dobe on
*** stub has quit IRC14:06
faassenI want to talk to him about the ldap work that he appears to be doing.14:08
faassenBrend Dorn. Okay. :)14:08
philiKONfaassen, works for lovely systems afaik14:08
faassenanyway, I sent him an email.14:10
faassenI need ldap stuff for Zope 3.14:10
faassenso I was happy to see this activity14:10
faassenand want to know how we can help.14:10
*** rocky has joined #zope3-dev14:13
*** regebro has joined #zope3-dev14:20
faassenregebro: hej14:20
regebroHej, faassen!14:21
floxhi Theuni14:25
*** nathany has joined #zope3-dev14:29
*** eins has quit IRC14:29
*** mgedmin has joined #zope3-dev14:30
*** eins has joined #zope3-dev14:31
*** faasse1 has joined #zope3-dev14:44
*** faasse1 has quit IRC14:44
*** faassen has quit IRC14:46
*** faassen has joined #zope3-dev14:46
*** dobee has joined #zope3-dev14:50
dobeefaassen: ayt?14:58
*** ignas has joined #zope3-dev15:07
*** niemeyer has joined #zope3-dev15:09
*** tiredbones has joined #zope3-dev15:12
*** stub has joined #zope3-dev15:24
*** tiredbones has quit IRC15:32
*** tiredbones has joined #zope3-dev15:32
*** russf has joined #zope3-dev15:37
*** baijum has quit IRC15:38
*** benji has joined #zope3-dev15:39
*** mgedmin has quit IRC16:13
faassendobee: now I'm there. :)16:23
dobeefaassen: hi16:23
dobeeu got mail16:24
faassendobee: yeah, replying to it.16:25
faassendobee: anyway..16:25
faassenjust sent the mail.16:25
faassenbut in general.. I'll work with you on the caching issue but I am just getting started with all this, so I think you'll be doing the main work.16:26
faassenwhat I'll do this week is try to get them set up for me.16:26
faassenand see what I run into.16:26
faassencould you describe briefly how ldapadapter and ldappas relate to each other?16:26
faassenI mean, what does ldapadapter do?16:26
faassenas opposed to letting this being done in ldappas?16:26
dobeeldapadapter specifies the server and provides the connection16:26
faassenand another question, what's the relationship to ldapauth?16:27
dobeeldappase uses the adapter for connecting to the server16:27
dobeeldapauth seems to be unmaintained16:27
faassenwho wrote ldapadaper and ldappas?16:27
dobeeit is not designed to work with pau16:27
dobeestephan wrote ldappas16:27
faassenpau being Zope 3's pau, right?16:28
dobeedunno about ldapauth16:28
faassenI was wondering about the namespacing of these packages.16:28
faassenlike, they're just ldappas and ldapadapter.16:28
dobeeso, ldapadapter and ldappas should work for you out of the box16:28
faassennot something like z3c.ldappas16:28
dobeeyes, they where written before z3c16:29
dobeemaybe we should refactor it into z3c16:29
faassenyeah, or zorg. :)16:29
* faassen grins.16:29
faassenanyway, I'd be willing to do the z3c refactoring.16:29
faassenalso I need them as eggs.16:29
dobeeok, that would be fine16:29
faassenokay, that's good to know.16:29
faassenso I'll be adding a setup.py16:30
faassenwhat does the setup.cfg thing do?16:30
dobeeyou mean SETUP.cfg16:30
faassenyes, sorry.16:30
dobeewhen you run make the zcml-slugs are included in the etc/package-includes16:31
dobeeif you have a checkout16:31
dobeeof zope316:31
faassenah, okay.16:32
faassenI'll be installing them into a buildout, I expect.16:32
faassenso that's irrelevant to me.16:32
dobeein this case, yes16:32
faassenanyway, which version of Zope 3 are you developing them against? I'm working with Zope 3.3.16:32
dobeethe project i use the ldap stuff is also based on 3.316:32
faassenokay, good.16:33
faassensame branch then. :)16:33
dobeethere are also some deprecations16:33
faassenokay, I know enough to get involved then. I'm very happy you're oding work on that.16:33
faassenyeah, I'll probably hunt those down.16:33
dobeeok, cool16:33
faassenanyway, again, I'm happy that someone else knows what's going on. :)16:34
faassenthis was on my todo list for a while.16:34
faassenso it's good to know you're there for me to ask questions. :)16:34
dobeenp, as i said i'll work on it on monday, but feel free to contact me here16:35
faassenokay. :)16:35
faassenright, I'll be doing some package work mostly, I probably wont' change the logic.16:35
*** J1m has joined #zope3-dev16:35
faassenbut might shift stuff into z3c and such.16:35
faassenJ1m: hey.16:35
faassenJ1m: I was wondering, would it make sense to start a 'buildout' directory on in which we store some common buildouts?16:35
faassenJ1m: like, I'm about to start work on playing with the ldappas and ldapadapter stuff.16:36
faassenJ1m: and I'd set up a buildout with some svn externals to them, and such.16:36
faassenJ1m: and it'd be nice we had some common location for such things.16:36
J1mwell, to me project==buildout.16:36
J1mI intend for all of my projects to *be* buildouts.16:37
faassenJ1m: so you recommend storing the buildout.cfg and such in the root of a project?16:37
J1mAla buildout itself, zc.ngi, zc.shating, etc.16:37
J1mSo when I checkout a project, I bootstrap it, run bin/buildout and I'm off and running.16:37
J1mI *need* the buildout to work on the project anyway, so I can run tests, and so on.16:38
*** whit has joined #zope3-dev16:39
J1mOn a somewhat related note though, I wonder if my decision to make the repo flat was wise. I wonder if it wouldn't be better, after all, to organize by namespace package.16:39
faassenthough sometimes it's useful to have a buildout that includes multiple projects.16:39
J1msure, but I consider that a project too. :)16:39
faassenlike, when you're developing a bunch of new recipes and such.16:39
faassenJ1m: or when you're developing ldappas *and* ldapadapter at the same time. you can pull in one or the other of ocurse.16:39
J1mwell, I would (and do) treat each recipe as a project.16:39
faassenJ1m: but that's going to frustrate people who don't work with buildout yet.16:39
J1mwhy would it frustrate them?16:40
faassenJ1m: yes, and for such projects, which have no src of their own but pull in svn:externals16:40
J1mwhy would they have no src of their own?16:40
faassenJ1m: okay, imagine Stephan Richter checking out the latest ldapauth and finding it pulls in ldapadapter using an external.16:40
faassenJ1m: and he's not working with buildout, and he's just frustrated by the external suddenly being there.16:40
faassenJ1m: and then he finds out I added it and he'll go, what did you do now? :)16:41
J1mFor the use case of working on a recioe, there would be a src directory.16:41
faassenhm, I've been working with separate buildout projects here.16:41
faassenthat pull in stuff through external. it's often the case that I want more than one thing being pulled in as an external.16:41
*** alecm has joined #zope3-dev16:41
J1mwell, I don't intend to work that way.16:42
faassenanyway, I'd add a svn:external for ldapadapter into ldappas, but that's not how doree and srichter use it.16:42
J1mBut if you do, that's fine. :)16:42
faassensorry, dobee.16:43
faassenwell, yeah, I know, but I need a place to store these buildouts.16:43
J1mI would just create a top-level project in the repo.16:43
regebrofaassen: Not knowing much of buildout, but is that a problem?16:43
J1mat least for now.16:43
faassenregebro: I'm not sure which problem you're referring to. :)16:43
faassenokay, I"ll do that.16:43
J1mI really need to get off my butt and get a discussion on the ZMO/ZDP going. :)16:43
faassenI just don't want to get into people's way unnecessary.16:43
regebroI would have one "repo" for each "product"/"module", and make projects that svn:external all modules I need.16:43
dobeefaassen: hm, this is the first time somithing like this is done16:44
regebroThat seems to me to be the reasonable way of doing things. I'm pretty much in Zope2 world, though. :)16:44
J1mOn the subject of buildout, I've put a *lot* of work in the last few days into providing a testing API for writing recipe tests.16:44
faassenJ1m: oh, interesting. :)16:44
faassenJ1m: my main testing issue right now is running the functional tests. your addition of the extra path option makes the unittests run with zope 3 stuff now.16:44
J1mHopefully, I'll get that released today.16:44
faassendobee: yeah, all I'm trying to od is making sure I'm not in your way. :)16:45
regebrofaassen: The problem I referred to is having many svn:externals. :)16:45
J1mfaassen: ah, good point.16:45
faassendobee:  what I'll do is make a separate ldapbuildout project16:45
faassenJ1m: it's not picking up the ftests stuff yet, basically, I think.16:45
faassenJ1m: in my case.16:45
J1mI need to add options to the testrunner recipe to let you specify other testrunner options.16:45
*** eins has quit IRC16:45
faassenregebro: I'm not saying that's a problem, I just don't want dobee to have to deal with my svn externals while they're in the way for him.16:46
J1mfaassen: right, because we aren't generating the right defaults in the generated script.16:46
faassenregebro: for the time being, until he switches to buildout too. :)16:46
J1mI need to fix that.16:46
dobeefaassen: i do not know enough about buildout to know what's best int this case16:46
faassenJ1m: it'd be very nice to have that support. :)16:46
regebrofaassen: OK, I don't see how they are in his way, so I'm missing something here. So...carry on without me. :)16:46
faassendobee: I will put a small readme.txt in the ldapbuildout and then you can take a look at that.16:46
faassendobee: you can see whether it's interesting for you to use.16:46
*** mgedmin has joined #zope3-dev16:47
dobeefaassen: i will start use buildout anyways, so that would be fine16:48
dobeefaassen: but it seems a little odd from my point of view, that you have to include it as an external, it would be better defined as some kind of dependency, egg ors16:48
dobeeor so16:48
faassendobee: yes, that would be for deployment purposes.16:50
faassendobee: for deployment purposes, you'd just specify an egg in the buildout.cfg16:50
faassendobee: but while you're developing, buildout allows you to refer to these as development eggs.16:51
faassendobee: and if you have checkouts in the buildout directory and those checkouts have a setup.py16:51
faassendobee: buildout will use that to install development eggs.16:51
faassendobee: and since I depend on hack on those packages, I want to have a buildout for development purposes.16:52
faassensorry, intend to hack on those packages.16:52
faassendobee: and then svn:externals are useful.16:52
faassendobee: make sense?16:52
dobeeah i see, then feel free to add the external if you want to16:52
J1mfaassen: I think I realized a way to make you happy without doing something I find unsavory. :)16:54
J1mI can detect, when using an egg, whether it uses namespaces and, if it does, add setuptools as a dependency.16:54
J1mSo if a packages depends on setuptools soley by using namespace packages, then buildout will be able to handle that.16:55
J1mfaassen: would that satisfy you?16:55
faassenJ1m: cool :)16:55
faassenJ1m: yes, I think that would make the problem go away. if people use other setuptools facilities like the resource API, they should simply be stating setuptools dependency explicitly anyway.16:56
faassenJ1m: but I think that get rid of  one more thing people can trip over, and that's good.16:57
regebroOn a related note I can advertise Benoist new "bundleman".16:57
faassenJ1m: I was happy to see you picking distutils as the main channel of discussion on buildout, by the way. hopefully that means we can spread it outside of the zope world.16:57
philiKONit was also good to see pje chime in16:57
regebro(bm is Good for making tgz releases of source directories and projects..)16:58
J1mwell, we should be more aware of what's going on there too.16:58
J1mregebro: that url doesn't work for me.16:59
faassenJ1m: it worked for me.16:59
regebroHere is the cheeseshop url:
regebroBasically it just helps you release versions of a svn directory, and in special, a repo that consist mainly of svn:externals to other svn:directories. Quite handy.17:01
*** scherand has quit IRC17:04
*** zagy has joined #zope3-dev17:07
SmokeyDphiliKON: you're not covering formlib/sub page forms in the current edition of your book are you?17:09
philiKONthey weren't even around when i wrote the book17:09
SmokeyDI can't seem to find it at least17:09
philiKONnew editiion will cover formlib17:09
SmokeyDok, do you have maybe a small preview available about sub page forms (or another good resource?)17:10
SmokeyDcould you give me some hints then? I want to write a sub page form, I know I have to set the prefix of the form so it does not interfere with the main form, but how do I add both forms to a page?17:11
philiKONSmokeyD, render them?17:11
SmokeyDIn the zcml you normally define your page and use the form= attribute to add a form to a page, but can you use it multiple times to add multiple (sub page) forms to one and the same page?17:12
philiKONform attribute???17:13
srichterhi all; I am starting to write blog entries, mainly to document the work I am doing right now; where are the best places to add my blog to an aggregator?17:13
philiKONsrichter, ask d2m to add it to planetzope17:13
philiKONsrichter, also have it added to (ask wiggy on #plone)17:13
SmokeyDsorry, I mean class directive philiKON17:13
srichterok, will do17:13
philiKONsrichter, and ask AMK or whoever it is to add it to planet.python.org17:13
SmokeyDnot form of course17:13
philiKONsrichter, that is, if you'll also be writing to the general python community17:14
philiKONSmokeyD, well, with EditForm and AddForm, it's form=page17:14
philiKONSmokeyD, with sub page forms, page != form17:14
philiKONso, sub page forms giv eyou the form17:15
philiKONbut not the page17:15
philiKONyou have tow rite the page yourself17:15
SmokeyDhow? I don't get it17:15
philiKONwell, how would you write a normal browser page?17:15
philiKONclass FooPage(BrowserPage):17:15
philiKON    def __call__(self):17:15
SmokeyDYeah, ok.17:15
philiKON        return ...17:15
SmokeyDAnd in that page I would have to add both the main and the sub page formsa17:16
SmokeyDhow would I do that?17:16
philiKONwhy don't you simply try?17:17
philiKONinstantiate your sub page forms and call'em17:17
philiKONit's that simple17:17
SmokeyDok, thanks, didn't expect it to be that easy17:18
philiKONSmokeyD, formlib has interfaces17:18
philiKONthat tell you how to use objects17:18
SmokeyDyeah I know, I tried to figure it out myself first, but I didn't understand it17:19
philiKONasking specific questions helps17:19
philiKONif you already dove into the docs, you must've had specific problems17:19
SmokeyDWell, yes, the specific question was how to add multiple forms to one page. I didn't think about creating a browserPage class and caling the forms from there17:20
philiKONISubpageForm says17:22
philiKONA component that displays a part of a page.17:22
philiKONso, it just gives you part of a page, not a page17:22
philiKONyou have to do the page yourself17:22
*** hdima has quit IRC17:23
*** whit has quit IRC17:27
*** torkel_ has joined #zope3-dev17:27
J1mfaassen: ayt?17:35
*** mgedmin has quit IRC17:38
*** whit has joined #zope3-dev17:45
*** dokai has quit IRC17:46
*** ChristianGnostic has joined #Zope3-dev17:48
*** ChristianGnostic has left #Zope3-dev17:49
*** mnordgren has joined #zope3-dev17:49
*** gumpa has joined #zope3-dev17:52
faassenJ1m: now I am.17:54
*** russf has quit IRC18:06
J1mfaassen: still there? :)18:06
J1mI just brainstormed a recipe style issue with Benji and Gary.18:07
faassenJ1m: ah?18:08
J1mThe issue is that you have a recipe that generates something with options, such as a script or a zconfig section.18:08
J1mThe broad question was how to handle something like this.18:08
J1mThe specific question was how to handle this for testrunners.18:09
J1mSo first, the broad issue.18:09
J1mA recipe can know what the options are and provide recipe options foe them.18:09
*** jinty has quit IRC18:09
J1mOr, a recipe can accept options in the native format, as some kind of string.18:09
J1mThe disadvantage of the former approach is that then you have to keep the recipe in sync with the underlying thing.18:10
J1mFor example, the testrunner recipe would have to keep up with testrunner options as they are added.18:10
J1mBenji and Gary prefer the later option.  Just let people specify options in the native format.18:11
J1mSo, for test runners, we'd use something like:18:11
*** dokai has joined #zope3-dev18:11
J1mdefaults = ['--tests-pattern', 'f?tests']18:12
J1mRather than:18:12
faassen(I recognize the recipe in sync with the underlying thing problem; right now we maintain the config file for oooconv in its recipe, in a skeleton)18:12
J1mtests-pattern = f?tests18:12
faassenI'm thinking about this more in terms of config files.18:13
faassenI mean, you mentioned zconf sections.18:13
J1manother example18:13
faassenI'm not sure I understand that fully.18:13
J1mof a zconfig section18:13
J1mlet's take the filestorage recipe.  It would accept database options and storage options.18:13
J1mrecipe = ...filestorage18:14
J1mdatabase-options = cache_size 1000018:14
J1mdatabase-cache-size = 1000018:14
J1mThe former uses the native zconfig format18:15
philiKONJ1m, how would you specifyi more than one database-option?18:15
faassenokay, so basically configuration information would all move into buildout.cfg?18:16
J1mdatabase-option = cache-size 1000018:16
faassenor would the real configuration be generated in the end by buildout.cfg, into the part or script?18:16
J1m    pool-size=2018:16
J1mOptions can have newlines.18:17
philiKONyeah, i remember now :)18:17
*** jhauser has quit IRC18:17
J1mfaassen: the real configuration would be in buildout.cfg18:17
faassenso how does the application get to these options?18:17
J1mThe recipe takes configuration info and generates native config files.18:17
faassenah, okay, native config files *are* genearted, okay.18:17
J1mThe application uses ZConfig as usual.18:18
faassenand how does the recipe know where to place this config file?18:18
faassen(or configparser, in case of oooconv, as usual)18:18
J1mThis is up to the recipe.18:18
faassenokay, how would you do nested config parser stuff?18:18
faassenlike, what if your application's config format is .cfg?18:18
faasseninit style format?18:18
J1mThere is a zope3instance recipe that puts the generated instance in the parts directory.18:18
J1mIt ultimately generates zope.conf.18:19
J1mthe filestorage recipe otoh just generates a text string that is used by other recipes.18:19
J1mIt doesn't put a cnfig file anywhere.18:20
J1mdifferent recipes handle different parts of the configuration.18:20
J1mSo, when you define an instance, you specify what part(s) define(s) the database(s)18:21
faassenanyway, in the case of embedding the configuration format inside the buildout.cfg literally..18:21
faassenwould you be able to handle nested ini format?18:21
faassenfoo = [xvfb]18:21
faassen                       xfvb=/usr/bin/Xvfb18:22
J1mI believe so18:22
faassenokay, good.18:22
J1mAlthough I'm not positive.18:22
faassenanyway, that would be important, as some applications have their configuration using configparser. :)18:23
faassenlike buildout itself. :)18:23
* J1m tries that....18:23
faassenconcerning script generation, how small can one make these scripts be?18:23
faassenit'd be nice if my skeleton could go away.18:23
faassenone of the things that's in my skeleton is config files.18:23
faassenthe other bit is scripts.18:23
faassenwe minimized the script to be very small.18:23
faassenbut it'd be nice it if were just non-present. I know setuptools has a way to autogenerate scripts18:24
faassenthat way my whole skeleton could disappear.18:24
*** oferw has quit IRC18:25
J1mYup. works just fine.18:25
faassenokay, good.18:25
J1mYes, my goal is to make skeletons disappear, except for a few bones laying around in recipes. :)18:26
faassenbasically I guess what a script needs is, the list of paths into sys.path, it needs to deduce its instance home18:26
J1mwell, it depends on the script.18:26
faassenand it needs to have a mechanism to pass variables deduced during buildout along to the main function of the application.18:27
faassenand it needs a way to point to where the main function is.18:27
J1mFor example, an instance-specific zopectl script needs to know where to find the config file.18:27
faassenit doesn't need that.18:27
faassenI mean, it could defer this to the main function.18:27
J1mYes, entry-points tell us where the main program is.18:27
faassenit just needs the intance home.18:27
J1mdefer what to the main function?18:27
faassenthe finding of the config file.18:28
faassenthat doesn't need to be done in a zopectl script.18:28
J1mNo, it should be told the config file imo.18:28
faassenit just needs to pass enough information to the application's entry point so that code can find the config file.18:28
J1mIn many cases, there is *no point* in an instance home.18:28
*** RaFromBRC has joined #zope3-dev18:28
J1mFor deployment, you want to spread yopur files all over the place to make sysadmins happy. :)18:28
J1mRather than assuming an instance home and thus implicitly specifying the config file, it makes more sense to me to just specify where the config file is.18:29
J1manyway, each application is different.18:29
J1mZope wants to work one way, the testrunner another,18:30
J1mVarious apps will need config info and the main program needs to be told somehow how to get that config information.18:30
J1mThat's another reason easy_install isn't enough.18:30
J1mat least for many apps.18:31
J1m(I expect that, in many ways. zc.buildout is a prototype for future setuptools or easy_install features.)18:31
J1mOK, I'm gonna add the defaults option to the testrunner and try to get that out today.18:32
* philiKON suspects the same thing18:32
*** RaFromBRC has quit IRC18:36
*** mgedmin has joined #zope3-dev18:39
*** stub has quit IRC18:44
*** flox has quit IRC18:45
*** faassen has quit IRC18:46
*** faassen has joined #zope3-dev18:46
*** RaFromBRC has joined #zope3-dev18:57
*** mnordgren has left #zope3-dev19:05
*** markup_ has joined #zope3-dev19:13
*** MJ has quit IRC19:16
*** romanofski has quit IRC19:19
*** WebMaven has quit IRC19:32
*** WebMaven has joined #zope3-dev19:38
*** batlogg has quit IRC19:38
*** whit has quit IRC19:38
faassenI just learned that the twisted people have anti-plans to use eggs.19:44
faassenright now #twisted gives me the 'not in a million years!' impression on eggs.19:44
faassenbecause they don't like setuptools.19:44
faassenbecause it destroys someone's deployment mechanism.19:44
faassenbecause you should use the OS's packaging machinery.19:44
faassenlots of opinions. just a general antibody reaction, I'd say.19:45
faassenI just thought I'd ask. :)19:45
faassenI think I'll ask again in a year's time.19:45
faassenbut so far they're definitely in serious disfavor of eggs.19:45
J1mAre you sure they didn't think you said "threads"? ;)19:46
faassenbut the response was very similar.19:46
faassenit was a very twisted flavor response.19:46
philiKONi wonder if twisted will be the new zope in terms of community wars19:46
faassenthey just don't give the most open impression as a community19:46
philiKONwell, war is such a strong word19:46
faassenbasically everything twisted uses needs to twistified.19:47
faassenanyway, I do think part of the reason is they have fairly good support in linux distributions.19:47
J1mI don't think they like WSGI much either.19:47
faassenand someone mentioned they have tools that can check whether the libraries are the most recent, and such, building on the OS's packaging mechanism.19:47
faassenwhich breaks if you have python specific mechanism.19:47
J1mI have a sad impression that the wsgi support in twisted is owned by us. :(19:48
philiKONhmmm :(19:48
faassenI wish they were a bit less rabid.19:48
philiKONthat's a bad start for getting out of the server business19:48
J1mBecause wsgi is sort of thread centric.19:48
*** ianbicking has joined #zope3-dev19:48
faassenI guess there isn't much of an alternative.19:48
faassenhey ianbicking19:48
J1mI don't think they really want people to use twisted without doing it the twisted way.19:48
philiKONhah, look who's here19:48
ianbickinghi, opportune moment?19:49
J1mOTOH, that is an unfair generalization. :)19:49
faassenyeah, twisted is serious koolaid. of course we're serious koolaid as well.19:49
faassenbut at least we're trying to water down our koolaid.19:49
philiKONianbicking, talking about twisted and eggs and wsgi19:49
faassenthey're proud of it and add more syrop.19:49
J1mI know that Itamar wants us to be successful using twisted.19:49
faassenianbicking: I just found out the twisted people have twisted antibody reactions against eggs. sort of like eggs are threads.19:50
philiKONJ1m, which doesn't mean he necessary wants to make it easier for us, does it?19:50
faassenbasically I just want an LDAP client library I can deploy.19:50
faassenand I found something based on twisted.19:50
faassenbut it looks like python-ldap is the way. unfortunately it all is rather hard to eggify too.19:50
ianbickingLots of the people who dealt with the problems that setuptools helps with, but dealt with them before setuptools, seem to really dislike setuptools19:50
philiKON'cept us :)19:50
philiKONwe really dislike zpkgtools19:50
faassenianbicking: the twisted people like OS packaging mechanisms, and of course those have advantages.19:51
J1mphiliKON: he has volunteered to encourage people to support us.  I haven't had time to take him up on that.19:51
faassenJ1m: you don't happen to have an OpenLDAP part lying around, do you? :)19:51
ianbickingsure, those work great if you have an application; OS-level stuff sucks for libraries19:51
philiKONJ1m, i'm just saying, i can see how twisted may want us to be successful at using twisted, but perhaps because they like us to adopt more twisted kool aid?19:51
faassenianbicking: I'm not advocating their position. :)19:52
ianbickingis it purely packaging kool aid they are trying to encourage?19:52
ianbickingor other twisted things?19:53
faassenphiliKON: anyway, nothing we can do immediately. also, having to deal with other communities is a consequence of getting out of that particular business. it's just that the twisted community is ...unique.19:53
faassenianbicking: oh, we were discussing twisted in general, not packaging koolaid.19:53
faassenianbicking: I mean, we started there.19:53
ianbickingpackaging-wise, no one else uses their techniques AFAIK19:53
faassenanyway, I was just asking.19:53
philiKONCherryPy has its own wsgi server, doesn't it?19:53
faassenJ1m: so, you don't have an OpenLDAP part lying about, do you? :)19:54
ianbickingYes, CP's is pretty well extracted19:54
regebroHmmmmmmm. I would generally prefer if my OS knows about what packages I have installed.19:54
faassenJ1m: I want to buildoutify openldap.19:54
ianbickingwell, not extracted, but doesn't depend on anything else in CP19:54
J1mos-level packaging sucks is you:19:54
J1m- want to be multi-platform19:54
regebroSo eggs should at least check if the module eists before installing the egg (does it do that now?)19:54
*** batlogg has joined #zope3-dev19:54
J1m- You want control19:54
J1mOther than that, it's great. :)19:55
regebroAnd even better if we can get OS-knowleadgeable easy_installs. :19:55
faassenJ1m: yeah, well, the twisted people say that people who use setuptools have no clue about serious deployment. neither do the ruby gems people, etc.19:55
ianbickingThere was an egg compromise for 2.5, where you can install a package "normally", but install the egg metadata too19:55
faassenJ1m: at least 1 twisted pesron said so.19:55
regebroThat tell the package manager that they installed the egg. :)19:55
philiKONat least with java and perl, distrib-level packaging tools usually work together with the language's system19:55
philiKONshould be possible with python, too19:56
philiKONi remember debian had a big dispute whether or not to deploy eggs in their packages19:56
regebroYeah, well, shouldn't it just be possible for the OS packaging to simply install the eggs? :)19:56
philiKONthat's what i thought19:56
benjiregebro: one difference is "we" (i.e., zc.buildout users) don't want to involve the OS at all, we're deploying self-contained applications19:56
philiKONafter all, it installs jars19:56
faassenJ1m: so no openldap recipe, huh?19:56
ianbickingit's just a policy issue, and they have to manage easy-install.pth in some way19:57
J1mfaassen: I would agree with them is the standard was easy install.19:57
regebrobenji: Right, that use-case needs to be covered as well.19:57
J1mI think we'll be able to do much better with buildout.19:57
faassenJ1m: yeah, I mentioned installing eggs locally, but I was really not up to a debate with twisted people right now. :)19:57
J1mfor me, it's all about control.19:57
benjiand reproducablility19:57
faassenianbicking: oh, by the way, I was thinking vaguely about workingenv and zc.buildout.19:57
faassenianbicking: trying to figure out a way to combine the strengths of both.19:58
J1m(which buildout doesn't do yet, but will)19:58
benjicontrol and reproducability... and being self-contained19:58
philiKONregebro, if you look at plone, control and reproduceability seem sto matter there, too19:58
philiKONregebro, plone has its installers19:58
ianbickingyeah, I haven't really decided how they overlap or what...19:58
faassenianbicking: easy experimentation and start of projects with workingenv, and solid deployment and such with buildout.19:58
philiKONregebro, which pulls everything, incl zope and python afaik19:58
J1mbenji: or not, to make the SAa happier. :)19:58
regebrophiliKON: right.19:58
faassenianbicking: I think both have their place, there should needs to be a transition from one to the other, handwave vaguely.19:58
ianbickingI guess zc.buildout is more declarative (in buildout.cfg), where workingenv is more built on existing tools and interactive work19:58
regebroI'm not gonna argue that one is better than the other. I want flexibility.19:59
ianbickingI suppose you might be able to say "make me a buildout.cfg from the workingenv I've set up"19:59
J1mOf course, buildout is based on existing tools too.19:59
faassenianbicking: yeah, that would be cool to have.19:59
J1mbuildout builds on setuptools and easy_install.19:59
J1mThey do most of the heavy listing.19:59
regebroIn a production environment, I'd definitely install my own python, and install all pieces there separately.19:59
faassenianbicking: and use perhaps the buildout package structure in workingenv.19:59
*** zagy has quit IRC19:59
J1mbuildout is just aimed at a slightly different set of use cases.19:59
ianbickingI don't 100% understand the buildout structure19:59
benji control, reproducability, and being self-contained... I'll come in again.19:59
regebroBut for development, I want all my stuff to use the latest and greatest, usually.19:59
faassenianbicking: it's pretty simple, just eggs in 'eggs', development eggs in 'develop-eggs', scripts in bin and the stuff it actually produces in 'parts'20:00
regebroSo I would like to bildout separate instances with eggified everything (including twisted).20:00
faassenianbicking: what I meant is that if a workingenv environment could easy_install eggs into 'eggs' and such.20:00
ianbickingwell, right now eggs go in lib/pythonX.Y20:00
ianbickingwhich distutils likes20:00
faassenianbicking: right.20:00
philiKONJ1m, you need to apply your s/s/f/ filter :)20:00
ianbicking(or lib/python, if you configure the workingenv that way)20:00
regebroBut still be able to have one system-python with everything. And I would like my OS to know about it. :-=20:01
ianbickingsource goes in src/, which seems very conventional to me20:01
ianbickingthey aren't eggs, really, they are distributions20:01
faassenbenji: do *you* have a buildout recipe for OpenLDAP? :)20:01
J1mianbicking: the buildout structure is simpler than the workingenv structure because it has no need to emulate a Python install.20:01
ianbickingand kind of eggs, once you've run "python develop"20:01
benjifaassen: I have a pre-zc.buildout-version-of-buildout recipe20:01
ianbickingand I don't know what the equivalent of parts/ is20:01
faassenbenji: would that be useful to produce a buidout recipe?20:01
J1mYou could probably use configuration to make it more familiar if you wanted to.20:01
regebroI have to agree that I don't understand why twisted-people would dislike eggs. Having eggs does not exlude them from having RPMs and PKGs.20:02
ianbickingJ1m: but because it doesn't emulate a Python install, buildout needs to be the intermediary for all the setup of the environment20:02
*** whit has joined #zope3-dev20:02
benjifaassen: probably, what's your email address, and I'll send a copy over20:02
faassenyeah, that's the clever thing about workenv, I guess.20:02
faassenbenji: faassen@infrae.com20:02
faassenbenji: thanks!20:02
faassenbenji: one for python-ldap too by any chance? :)20:02
regebroI definitely need to learn buildout. :)20:03
faassenbenji: I want to turn that into an egg but it has an extremely grotty setup.py20:03
benjifaassen: I believe so20:03
faassenbenji: any idea how to handle that?20:03
regebroAnd make a --build-egg for bundle-man. :)20:03
faassenbenji: I mean, I could not make it an egg, and install it into a part somehow, and then place that on the pythonpath everywhere somehow.20:03
benjifaassen: not really, I haven't gotten into zc.buildout as much as I'd like yet20:03
faassenbenji: okay, I'll bother Jim again then. :) I figured I'd try asking someone else. :)20:03
ignasare there any comprehensive tutorials of Zope3 publisher traversal mechanics ? A document that would describe the way URL is turned into an actual view with descriptions of all the components involved etc.20:04
J1mianbicking: yes, buildout needs to be the intermediary. That's not a problem for me. :)20:04
faassenJ1m: it's a problem for starting development.20:04
J1mI wanted buildout for other reasons, and, having it. I could choose a simpler layout.20:04
faassenJ1m: it's requiring a lot of stuff from someone who just wants to write a script using some libraries.20:04
faassenJ1m: so I think buildout would invite more people into that if we grew to support that use case.20:04
faassenJ1m: which essentially is what workingenv does well.20:05
J1mfaassen: what use case?20:05
faassenJ1m: the usecase of "hey, cool, lxml, I want to try that"20:05
faassenJ1m: and then not having to do sys.path.insert(0, 'eggs/lxml-foobar.egg')20:05
faassenin my script trying it.20:05
J1misn't easy install good for that?20:05
faassenyeah, and workingenv is even nicer as it doesn't install it into your python.20:06
faassenanyway, slightly beyond the trying out scenario.20:06
philiKONignas, i started a sequence diagram once20:06
faassenwhen you get started developing something.20:06
J1mbut then you have to install and set up workingenv.20:06
ianbickingyes, but that's easy20:06
faassenyeah, and it doesn't require you to learn much new.20:06
faassenbuildout is quick to learn, but workingenv is easier stil.20:06
J1manyway, I guess I should provide an example of handling that use case. It is pretty trivial.20:06
ianbickingI certainly understand the purpose of buildout, but the overall model really isn't obvious to me20:07
faassenJ1m: the use case of not having to mess with the sys.path? or worse, writing a recipe for deployment right away.20:07
ianbickingin terms of what gets rebuilt when, why work is being done, what all the configuration means, etc20:07
faassenianbicking: it's not too hard to understand. the really nice part is that recipes are eggs too.20:07
*** regebro has quit IRC20:07
faassenianbicking: or perhaps your understanding is more advanced and I don't understand yet what ther isn't to understand. :)20:07
J1mFor this use case, you don't need to write anython other than a very simple config file.20:08
ignasphiliKON: where can i find it ? I want to check whether my knowledge of the mechanics are complete ...20:08
*** MJ has joined #zope3-dev20:08
philiKONignas, i'm trying to find it on my harddisc20:08
philiKONit's certainly not complete20:08
J1mI'll add this use case to the examples in the documentation.20:08
ianbickingfaassen: it might also be that you've already tackled this problem before, so the approach buildout takes seems more familiar20:08
faassenJ1m: okay. I'm not sure how a config file helps me not having to write the sys.path.insert() manipulation.20:08
faassenianbicking: not really.20:09
faassenianbicking: I'm quite interested in what makes it hard for you, as I'm quite interested in making it used more.20:09
J1mparts = mypy20:09
ianbickingI don't really know what the right solution is, but I do know that with workingenv I don't lose momentum thinking about that part of the process20:09
J1minterpreter = mypy20:09
J1meggs = lxml20:09
J1mThat's it.20:09
faassenianbicking: right, that's what is attractive.20:09
J1mYou run bootstrap.py20:09
J1mrun bin/buildout20:10
faassenJ1m: how is the interpreter the part mypy?20:10
J1mand then run bin/mypy20:10
faassenJ1m: where's my script?20:10
J1mto get a python interpreter with lxml in the path.20:10
ignasphiliKON: i had some funny troubles with zopes  container.traversal.ContainerTraverser (it ignores custom view traversers apparently)20:10
J1mthe script is mypy20:10
faassenJ1m: oh, interesting. so mypy is its own interpreter somehow?20:10
ignasphiliKON: i just don't know whether it is a bug or a feature :)20:10
J1mfaassen: yes20:10
faassenJ1m: okay, I don't understand why yet. :)20:11
philiKONignas, the diagram doesn't cover details :)20:11
J1mYou can use it interactively, or you can use it to run scripts.20:11
faassenJ1m: how does that thing end up creating something in bin?20:11
faassenJ1m: where's the recipe used?20:11
philiKONignas, custom view traversers?20:11
faassenJ1m: does this use a default recipe or something?20:11
philiKONignas, at least browser pages implement IBrowserPUblisher themselves already20:11
faassenJ1m: I guess the same one as for the buildout section?20:12
J1mI have found it useful, for debugging, to have a script that emulates a Python interpreter with its path set so I can try things interactively.20:12
faassenJ1m: right, that's the usecase I was looking for.20:12
*** danfairs has joined #zope3-dev20:12
ignasphiliKON: well you can register a custom view lookup mechanism by adding an ITraversable adapter with the name 'view'20:12
faassenJ1m: cool20:12
J1moh, faassen , I forgot the recipe = zc.recipe.egg20:12
faassenJ1m: ah, okay.20:12
philiKONignas, ITraversable has nothing to do with url traversal20:12
philiKONignas, it has a very bad name20:12
philiKONignas, oh, wait20:12
ignasphiliKON: and Zope3 traversal mechanism will gladly pick it up with namsepaceLookup()20:12
philiKONignas, for namespace traversal it is used, which sucks20:12
faassenJ1m: that makes it fairly easy to do this. very similar to what workingenv does, though you write what eggs you want in the .cfg file instead of easy_installing them in.20:13
ignasso queryMultiAdapter (done by a lot of custom traversers) ignores the view namespace20:13
J1mfaassen: right20:13
ignasthus ignores any custom view lookup mechanisms20:13
philiKONignas, ITraversable shouldn't be used by url traversal anyways20:13
faassenbenji: thanks for those old-style recipes. I'll look on how to turn them into buildout recipes soon.20:13
benjifaassen: glad to help20:14
ignasphiliKON: so what should namespaceLookup use then ?20:14
faassenJ1m: oh, by the way, I'm going to go to a little grok sprint at Gocept in october.20:14
philiKONignas, namespaceLookup shouldn't be used either :)20:14
philiKONignas, url traversal shouldn't use zope.traversing at all20:14
philiKONzope.traversing has a bad name20:14
philiKONit should be zope.pathresolve20:14
ignasoh ? then what should be used instead ?20:14
philiKONor something like that20:14
philiKONIPublishTraverse prolly20:14
ignasto perform a correct View lookup20:14
philiKONJ1m, btw, i realized this the other day. zope.traversing just has a bad name20:15
philiKONJ1m, i should've named it zope.pathresolve20:15
*** whit has quit IRC20:15
philiKONbecause it's about resolve paths, e.g. paths in TALES expressions20:15
ignasIBrowserPublisher performs normal traversal while @@ are lookuped with namespaceLookup('view', ...)20:15
philiKONignas, yes20:15
philiKONignas, that's the part that sucks and will hopefully be change din 3.420:15
ignaswill i be able to implement my custom view lookup for objects in 3.4 then?20:16
philiKONsure, i wonder why you can 't in 3.320:16
philiKONisn't there a default IPublishtraverse for objects?20:17
ignaswell because most traversers assume that view lookup is performed with queryMultiAdapter20:17
philiKON"most traversers" is who?20:17
mgedminignas's laptop just crashed20:18
*** ignas has quit IRC20:19
*** ignas has joined #zope3-dev20:20
ignasphiliKON: traversers like container.traversal.ContainerTraverser20:20
ignasthe logic that should be performed as i understand should be like try to get an item with name, if there is no such item - try to do same thing as foo/@@name would do20:21
ignasbut queryMultiAdapter is not the thing that @@name performs20:21
faassenbenji: hm, it might also be useful to see buildout.GnuAutoconf20:21
philiKONignas, hmmm20:22
philiKONignas, @@name does queryMultiAdapter by default, though, right?20:22
ignas@@name expands into namespaceLookup('view', name, context, request)20:22
faassenbenji: and what's youre strategy for making LD_LIBRARY_PATH available later?20:22
J1m(I hope someone will help me explain buildout more clearly. :) )20:22
ignasand namespaceLookup does queryMultiAdapter((context, request), ITraversable, name='view')20:22
faassenbenji: to say, Zope?20:22
ignasand then the traverser performs the queryMultiAdapter20:22
faassenJ1m: eventually I intend to write a document. :)20:23
ignasthus if i try to insert my own view lookup mechanism, it is ignored ...20:23
faassenJ1m: I think the biggest draw of buildout by far is.. so, look at this little buildout.cfg20:23
ignaseither i should not use custom view lookup20:23
ignasor traversers should not ignore it20:23
philiKONignas, what's your use case anyways20:23
faassenJ1m: this setups up zope 3, openoffice, oooconv, 157 eggs, openldap, python-ldap if you just run bin/buildout20:23
philiKONignas, i guess we could argue that view lookup just simply happens thru getMultiAdapter20:24
faassenJ1m: the more recipes we have, the bigger the attraction.20:24
*** flox has joined #zope3-dev20:24
ignasi want to perform custom view lookup depending on the NavigationData stored in some place (tm)20:24
*** ChrisW has joined #zope3-dev20:24
faassenJ1m: maybe you know.. in oldbuildout.20:24
*** torkel_ has quit IRC20:24
J1mfaassen: sure, but there are two extremes.  I also find buildout really useful for dealing with a single package.20:24
faassenJ1m: nah, I'll just mail Benji with my questions.20:24
ChrisWis there any particular interface that event subscribers have to subscribe to?20:24
ChrisWgah, subscribe to -> implement20:25
philiKONfaassen, i've been wanting to write some zope 2 related recipes :)20:25
*** alga has quit IRC20:25
faassenJ1m: sure, that needs to be written up too.20:25
J1mChrisW: no20:25
*** alga has joined #zope3-dev20:25
ignasphiliKON: i will need to lookup views depending not just on url but on permission settings20:25
*** torkel_ has joined #zope3-dev20:26
ignasphiliKON: that do not translate to Interfaces20:26
ChrisWokay, philiKON likely knows where I'm going with this... how would I set up a subscriber in Zope 2 land such that objects got catalogued in a ZCatalog on IObjectModified?20:26
ignasphiliKON: but if you say that Zope3.4 will not have a mechanism of pluggable view lookup traverser, I will think of something else20:27
ignasphiliKON: just that i had it already working ;)20:27
ChrisWI could just acquire the catalog from the object-being-added's new container, but is that the right thing to do?20:29
faassenphiliKON: coolabout the z2 recipes, that'd be very useful20:29
philiKONChrisW, yeah, i guess that's the only choice you have in z220:30
philiKONChrisW, in z3 we just find the utility20:30
philiKONmeaning, we find the catalog as a utility20:30
*** jinty has joined #zope3-dev20:30
philiKONfaassen, i've been talking to rocky about this, i'd like to demo installing python packages for five with a buildout in zope 220:31
ChrisWhmm, why can't a persistent object be an event listener?20:31
philiKONfaassen, so that the whole zcml slug story, fo rexample, becomes a no brainer20:31
faassenphiliKON: yes, that'd be cool.20:31
philiKONChrisW, it could be20:31
faassenphiliKON: it'd be nice if there were some way to support old-style products as well.20:31
philiKONyou know how plone has those bundles20:32
philiKONit'd nice to demo a recipe that works like installing a bundle20:32
philiKONwell, i guess youd' have a product recipe20:32
ChrisWphiliKON: okay, would would you do it?20:32
philiKONand a bundle becomes a buildout.cfg20:32
ChrisW(I'm guessing the problem is the equivalent of the "subscriber" directive)20:32
philiKONChrisW, prolly not. i'd just acquire the catalog20:32
faassenphiliKON: righ,t I think you'd need a product recipe.20:32
philiKONanyways, gotta catch my tram20:33
philiKONsee y'all20:33
*** philiKON has quit IRC20:33
ignasphiliKON: so what will replace namespaceLookup then ?20:33
ignasouch :/20:33
faassenJ1m: concerning buildout and LD_LIBRARY_PATH20:34
faassenJ1m: it'd be nice if the zope 3 instance recipe picked up extra paths to place on LD_LIBRARY_PATH from buildout.20:34
*** ignas has quit IRC20:34
faassenJ1m: do you have any thoughts about that?20:34
*** Aiste has quit IRC20:36
*** gumpa has quit IRC20:36
ChrisWokay, anyone else think of a way to make a persistent object a subscriber?20:36
faassenChrisW: in zope 2 or zope 3?20:36
ChrisWshould there be a difference?20:37
ChrisWthe problem I see is that <subscriber> directive20:37
*** gumpa has joined #zope3-dev20:37
faassenChrisW: well, fundamentally your subscriber is always going to be a function, but it can delegate to a persistent object, for instance a utility.20:37
faassenChrisW: basically the idea is that the function is going to do the dispatching to persistent objects. it could do a catalog query and find 100 of them and call methods on them, etc.20:37
ChrisWwhy couldn;t the subscriber be a method?20:38
ChrisWand why not a method of a persistent object?20:38
faassenChrisW: how are you going to express that?20:38
faassenChrisW: like, which one of the 5 million persistent objects?20:39
ChrisWyeah, but subscribers register themselves for events, right?20:39
faassenChrisW: you register them for events, I'd say.20:39
faassenChrisW: anyway, there is no systme in Zope 3 at present that allows persistent objects to subscribe themselves to events. you could build such, for instance using an index.20:40
faassenChrisW: on top of the subscriber system.20:40
ChrisWhmm, I'm trying to get my head around what the problem is20:42
ChrisWit's annoying when persistency suddenly becomes non-transparent ;-)20:42
ChrisWhow does local utility lookup work?20:42
ChrisWyou have to provide a context to start from and then it works it's way up the __parent__ hierarchy?20:43
*** RaFromBRC has quit IRC20:43
faassenChrisW: no, in Zope 3 you don't.20:44
faassenChrisW: don't know about the local utility support in Zope 2, but I imagine it works the same way.20:45
ChrisWhow does it work in Zope 3 then?20:45
faassenChrisW: you just do getUtility and will have a concept based on the site you traversed into.20:45
faassenChrisW: basically the site context is set thread-globally when you traversei nto a site.20:45
ChrisWyeah, so you start with a context object ;-)20:45
faassenChrisW: you don't need to specify any context object and it doesn't traverse up anything, unless the utility is not found in that site.20:45
faassenChrisW: in which case it does traverse up to the site above that.20:46
ChrisWand I do hope you mean thread-local: ie: local to the one thread only...20:46
faassenChrisW: yeah, sorry, global but thread local.20:46
benjifaassen: sure, one minute20:46
faassenbenji: gosh, now what did I ask, I forgot. :)20:46
ChrisWI'm sure the failure to admit that there is a context in a web app is a good thing ;-)20:47
faassenChrisW: I don't understand what you mean.20:48
benjifaassen: more details about those old-style recipes20:48
faassenChrisW: of course there's a context, it's just, as I said, you don't need to specify any context object and the __parent__ walk doesn't take place.20:48
ChrisWI've dropped a quick mail to the list to kick off a discussion, sadly I need to get going...20:49
faassenChrisW: so I was trying to create an accurate mental model in your mind, not deny the existence of any context. I denied that you provide the context.20:49
ChrisWthanks for the ideas though :-)20:49
*** ChrisW has left #zope3-dev20:49
faassenbenji: right.. can you mail them? I'm off to home now. :)20:49
faassenbenji: but thanks in advance!20:49
faassenbenji: see you!20:49
faassenbenji: feel free to answer that LD_LIBRARY_PATH question too, Jim didn't wake up to answer it here. :)20:50
* faassen grins.20:50
* faassen waves.20:50
*** faassen has quit IRC20:50
*** romanofski has joined #zope3-dev20:52
*** danfairs has quit IRC20:55
*** kobold has quit IRC20:55
*** whit has joined #zope3-dev20:57
*** zagy has joined #zope3-dev21:00
*** reco has quit IRC21:01
*** mkerrin has quit IRC21:06
*** rocky is now known as rocky|away21:15
*** dobee has quit IRC21:15
*** natea is now known as natea|away21:16
*** whit is now known as whit|pairing21:20
*** srichter has quit IRC21:23
*** nathany has quit IRC21:27
*** dunny has joined #zope3-dev21:31
*** flox has quit IRC21:42
*** flox has joined #zope3-dev21:43
*** gumpa is now known as gumpa_afk21:50
*** bradb has joined #zope3-dev22:03
*** flox has quit IRC22:05
*** flox has joined #zope3-dev22:06
*** MJ has quit IRC22:14
*** MJ has joined #zope3-dev22:16
*** ofer has joined #zope3-dev22:20
febbhello !22:26
*** philiKON has joined #zope3-dev22:37
*** danfairs has joined #zope3-dev22:39
oferphiliKON: the z3 trainning is full :(22:44
philiKONi know22:45
oferI didn't but now I know22:45
oferyou have days for next one?22:45
philiKONnot yet22:46
philiKONJ1m, are we having a 3.3 final this week?22:53
J1mLets :)22:56
philiKONJ1m, ok. i have plans for friday night (euro time), so i won't be able to make the announcements till saturday22:58
J1mI'll try to do it tomorrow if I can.22:58
J1mwere there any changes since the last release?22:58
*** markup_ has quit IRC22:58
philiKONJ1m, onet hing though22:58
philiKONthere was a zpkgtools bugfix22:58
J1mcool, then maybe I can make it go faster.22:58
J1mbut zpkgtools isn't part of the release.22:59
philiKON./configure --unknownoption didn't show an error msgs22:59
philiKONwell, zpkgsetup or whatever22:59
philiKONthe thign that provides the configure script22:59
philiKONso, if you're using a newer zpkgtools now (svn HEAD), it'll use the new configure22:59
J1mah, ok23:00
philiKONthat's the only change i count23:00
philiKONno modifications on the 3.3 branch since last release23:00
philiKONso, tomrorow or friday works for me, i just can't promise to be there immediately for the announcements.23:01
philiKONi have a day job and the book deadline is monday23:01
J1mk, I'll try to do it tomorrow.23:01
*** zagy has quit IRC23:03
*** danfairs has quit IRC23:18
*** flox has quit IRC23:26
*** flox has joined #zope3-dev23:26
*** mgedmin has quit IRC23:29
*** ofer has quit IRC23:31
*** rocky|away is now known as rocky23:32
*** flox has quit IRC23:33
*** natea|away is now known as natea23:37
*** flox has joined #zope3-dev23:38
*** flox has quit IRC23:42
*** flox_ has joined #zope3-dev23:42
*** flox_ is now known as flox23:43
*** dobee has joined #zope3-dev23:47
*** ignas has joined #zope3-dev23:56

Generated by 2.15.1 by Marius Gedminas - find it at!