IRC log of #zope3-dev for Thursday, 2005-03-31

*** tonico has joined #zope3-dev00:07
*** gintas has quit IRC00:26
*** RaFromBRC has joined #zope3-dev00:32
*** artemp has joined #zope3-dev01:03
*** niemeyer has quit IRC01:06
*** artemp has left #zope3-dev01:28
* andrew_m is back (gone 08:21:07)01:36
*** garrett-smith has quit IRC01:36
*** garrett-smith has joined #zope3-dev02:02
*** bradb has quit IRC02:17
*** J1m has quit IRC02:22
*** bradb has joined #zope3-dev02:43
*** BjornT has quit IRC03:01
*** stub has joined #zope3-dev03:19
*** garrett-smith has quit IRC03:19
*** _projekt01 has quit IRC03:20
*** WebMaven has quit IRC03:44
*** hazmat_ has joined #zope3-dev03:50
*** hazmat has quit IRC03:53
*** BjornT has joined #zope3-dev04:26
*** hazmat_ has quit IRC04:27
*** hazmat_ has joined #zope3-dev05:45
*** hazmat_ has quit IRC06:20
*** RaFromBRC has quit IRC06:33
*** tvon has quit IRC07:14
*** `anthony has quit IRC07:31
*** BjornT has quit IRC07:36
*** tvon has joined #zope3-dev08:25
*** Arnia has left #zope3-dev08:34
*** `anthony has joined #zope3-dev08:52
*** chumpy has joined #zope3-dev08:59
*** chumpy has quit IRC09:02
*** tvon has quit IRC09:03
*** chumpy has joined #zope3-dev09:03
*** Arnia has joined #zope3-dev09:09
*** zagy has joined #zope3-dev09:10
ArniaAnyone here who knows about zope.app.pagelets?09:35
ArniaI've been looking over the implementation in SVN and I have a few questions I'd like to ask09:39
*** mooded has joined #zope3-dev09:41
*** viyyer has joined #zope3-dev09:46
*** vlado|away is now known as vlado09:57
*** sashav has joined #zope3-dev10:06
*** tarek_ has joined #zope3-dev10:20
*** Arnia has left #zope3-dev10:28
*** lunatik has joined #zope3-dev10:43
*** `anthony has quit IRC10:50
*** hazmat has joined #zope3-dev10:56
AJChey, i have virtual hosting setup with twisted but i'm having problems with the Zope3 side of things.  has the syntax changed?12:04
AJChttp://myzopeserver:8080/++vh++http:publicsite.org++/12:05
*** mexiKON has joined #zope3-dev12:08
AJCsays this: "ValueError: Must have a path element '++' after a virtual host directive."12:21
*** admp has joined #zope3-dev12:23
mexiKONAJC, http://myzopeserver:8080/++vh++http:publicsite.org/++/12:27
*** philiKON has quit IRC12:31
*** mexiKON is now known as philiKON12:31
AJCyep, that seems to solve that problem... need to look into other issues now!  thanks.12:42
*** efge has joined #zope3-dev12:51
AJCwow, that's cool... works wonderfully.13:08
AJCwhere should I paste my twisted sample application for general abuse?13:09
philiKONzope on twisted?13:16
AJCyeah, for virtual hosting instead of apache13:17
AJCvery lightweight13:17
philiKONah, ok13:19
philiKONwell, if you have a private site, you could publish it there and send an email to zope3-dev@zope.org13:20
philiKONor, if it's light-weight, just attach it to the email13:20
AJCit's barely 10-15 lines13:20
philiKONor, you can join zope.org and load it up as a 'product release'13:20
philiKONah :)13:20
AJCone thing i haven't got right though... i can get the vhosting to change the actual domain, but if i point to a subdirectory of the zope server, then zope no longer finds other resources that are relative to the base directory of the site13:22
AJCwell, i guess it's the browser that's redirected to the new root of the site (nested in the Zope hierarchy), and that does not contain the files as they are in the actual Zope root... if that makes sense13:23
AJCi guess it's a skin problem13:23
AJCneed to put my resources elsewhere i guess13:23
philiKONno13:23
philiKONno13:23
philiKON:)13:23
philiKONresources are always published through sites13:23
philiKONi think the 'subfolder' you want to publish as the root of your virtualhost must be a site13:24
*** Aiste has joined #zope3-dev13:24
philiKONyou can turn regular folders into sites by clickiin on "make a site" in the blue bar13:24
AJCaha13:26
AJCgreat, thanks.13:26
*** hazmat has quit IRC14:05
AJCcan a zwiki become a site?  it seems not14:07
srichterI am not sure if the Zwiki object is a folder14:08
srichterif it is, it can14:08
*** __gotcha has joined #zope3-dev14:08
srichteryes, it should be able to become a site14:08
srichteras it is a folder14:08
AJChmmm, i get a "ForbiddenAttribute: ('setSiteManager', <zwiki.wiki.Wiki object at 0x9f919ac>)"14:16
srichteryou probably need to set the permission on the Wiki class to support the SiteManager interface14:25
AJCcan I do that within Zope or do i need to edit the code?14:27
*** apoirier has joined #zope3-dev14:37
*** projekt01 has joined #zope3-dev14:42
philiKONsrichter, this is more a bug in wiki14:45
philiKONwiki configuration should really include this14:45
philiKONor else Wiki shouldn't provide IPossibleSite14:45
philiKONAJC, the fix needs to go into zwiki's configure.zcml14:46
philiKONin the <content class=".wiki.Wiki"> directive14:47
philiKONyou want to add something like:14:47
philiKON    <allow14:47
philiKON        attributes="getSiteManager"14:47
philiKON        />14:47
philiKON    <require14:47
philiKON        permission="zope.ManageServices"14:47
philiKON        attributes="setSiteManager"14:47
philiKON        />14:47
philiKON(this is taken from zope.app.folder/configure.zcml)14:47
philiKONwould be cool if you could file an issue in the bug collector stating the problem and this solution (i'm nearly positive this will solve the problem)14:48
*** `anthony has joined #zope3-dev14:48
AJCok, thanks very much.  i'll give it a try.14:51
*** faassen has joined #zope3-dev14:52
projekt01AJC, philiKON, I didn't follow the tread at all, but be carefull with make wiki to a site. The wiki uses own traverser which get perhaps (overriden) by the ISite interface14:54
*** __gotcha has quit IRC14:56
*** __gotcha_ has joined #zope3-dev14:56
*** admp has quit IRC15:13
*** ignas has joined #zope3-dev15:16
*** viyyer has quit IRC15:16
philiKONprojekt01, if that's the case, then wiki shouldn't be an IPossibleSite15:17
philiKONeither way, wiki has a bug15:17
philiKONa button that's there and doesn't work is a bug; i just proposed one solution (which might or might not be appropriate)15:17
srichterwell, it is really a bug of the link condition15:18
srichterthe menu item should not just check for the availability but also for the security15:18
AJCi can't check it right now sorry, give me a second15:19
srichterI, as a developer, have the right to say: provide this interface but do not make it public15:19
philiKONsrichter, i don't think so15:19
philiKONsrichter, the menu item iis about a view MakeSite15:19
srichterso, in this case the menu code has a bug in that it does not check the security and the condition, but only the condition15:19
philiKONsrichter, if whatever that MakeSite view is accessing isn't available, the menu item can't see that and shouldn't15:20
srichterright, maybe I want Wikis to be able to be sites, but do not want to provide that functionality via the ZMI15:20
philiKONthe menu can only see if you are able to look up MakeSite15:20
srichternot true15:20
srichterthe menu item should also see whether someone has the permission to do it15:20
philiKONthis gets exceedingly complex15:21
srichtera missing security setting should never cause a bug in the code15:21
srichters/code/application15:21
philiKONoh yes15:21
srichtersecurity is policy and as such all combinations should be allowed15:21
philiKONmissing security delcarations is a bug; missing privileges is not15:22
philiKONthat's why Unauhtorized is a UserError, ForbiddenAttributeError a SystemError15:22
srichterbut what if I do not want IPossibleSite to be accessible via the ZMI ever?15:23
srichterwhat if I only want some Python code to be able to make it a site?15:23
srichterin this case I would not create a security declaration15:23
philiKONhave a MakeSite view for your IPossibleSite do nothing15:23
philiKONdiable the menu item15:24
philiKONwhatever it takes15:24
*** admp has joined #zope3-dev15:24
srichterright, disable the menu item; but I cannot do this since I do not have control over it15:24
philiKONyou're talking about a zmi problem; zmi problems should be solved in the zmis15:24
srichteryep15:24
srichterthat's my point; its not a wiki but a ZMI problem15:25
philiKONi see what you mean now15:25
philiKONyou have no security delcarations because you never wnated people to make it a site through the zMI15:25
philiKONbut you could expect people to do it via python15:25
philiKONwher eit's not security proxied15:25
philiKONmmh15:25
philiKON(well, i think, in this particular case it's YAGNI; wiki is a web app, and a missing security delcaration for web-exposed functionality is a bug IMHO)15:26
philiKONin any case, the menu item will never know if something is allowed until it actually performs that something15:26
srichterright, but menu items have facilities to detect this15:28
srichteryou could also implement your own menu item class in this case15:28
srichtermenu items will become more flexible/complex in the future15:29
srichterthe ground work for this is layed out now15:29
srichterthe current implementation is very flexible15:29
projekt01srichter, I like to start nested menu integration after the 3.1 release in the Boston skin15:30
srichteryep, we should definitely do that15:31
srichteralso, I think I will finish the user preferences today, so they can make it into 3.115:31
philiKONbtw, is boston 100% based on pagelets?15:31
projekt01Yes15:32
philiKONthat's good15:32
philiKONone of these days i have to look into pagelets15:32
projekt01There is no other concept for let developer add own javascripts dynamicly15:32
projekt01philiKON, cool let me know if you have questions15:33
srichterprojekt01: would you be mad if we delay the packaging of boston/pagelets etc. till 3.2?15:33
srichterthis would give us a chance to review it better before throwing it out there15:33
philiKON+115:33
srichterI think for 3.2 we will focus on the UI anyways (i.e. forms)15:33
projekt01philiKON, 100% is not really correct it uses a master template with a table layout, but this can be replaced with another master template.pt15:34
philiKONso, the master template is not a pagelet itself?15:34
philiKON(this is what i mean by 100%... everything is a pagelet)15:35
projekt01srichter, No that's OK, I think the Boston skin is not for 3.115:35
srichterok, cool15:36
srichterJim really intends to review pagelets and so do I15:36
projekt01philiKON, no its the main (container) template.pt which defines the slots. Perhaps we can find a way to make this more dynamic?15:36
srichterI think this will work very well with the form refactorings15:36
projekt01Yup15:36
philiKONprojekt01, i would like to have the coupling between "master template" and all other stuff very loose15:36
philiKONi think nested pagelets would be a very good idea15:37
philiKONthat way, you just provide a different "master pagelet" if you don't like table-based layout, for example15:37
projekt01philiKON, Yes, of corse, if you see a way that whould be great!15:37
philiKONi'll look into it some day15:37
projekt01Perhaps we need something like a layout manager which serves the master template15:38
philiKONbtw, i'm also thinking about making that whole standard_macros shit easier15:38
philiKONit's annoying me15:38
projekt01I added comments about taht in the pagelet code15:38
philiKONmaybe with pagelets (i saw pageletchooser), we won't have to rely on standard_macros customization anymore15:39
srichterwell, much of the macro code you have to do in Python right now in a dead chicken15:39
projekt01Yes master templates are a hardcoded way where can be replaced by dynamic pagelets15:39
philiKONsrichter, right, so dead chicken, it starts to smell15:39
srichterI think it could be easily wrapped into a custom directive15:39
philiKONsrichter, most of the time, for new skins, you just inherit from some other STandardMacros and preprend the name of your master template view15:39
srichtershould be fairly easy15:39
philiKONyes, that's what i thought15:39
*** jack-e|away is now known as jack-e15:40
projekt01Yup, pagelet chooser is the right part for that. I use also a pageletchoser which get it's name (named pagelets) from the annotation wich can be edited (via vocabulary names)15:40
philiKON<browser:standardMacros pages="foo_macros bla_macros bar_macros" />15:40
srichteractually now that I think about it, it should not take you much longer than 1-2 hours including tests15:40
philiKONbut, maybe we can even get rid of standardmacros all together (just have one in basicskin that delegates to page) and do the rest through pageletchooser15:40
philiKONs/page/the 'page' macro/15:41
srichterI really need to understand pagelets first before I can comment here15:41
philiKONsame here15:41
philiKONi'm wild guessing15:41
srichterpagelets are still muddy waters for me :-)15:41
Damasceneare pagelets related to portlets?15:41
philiKONi want to make a full-blown proposal after i've read through pagelets and the boston skin, prolly around late-April15:41
philiKONDamascene, sort of15:41
srichtercool15:42
philiKONDamascene, pagelets are basically componentized parts of a page15:42
philiKONso, pages are constructed by component lookup, not by static macro lookup15:42
srichterI really should read a book on portlets and see more of the motivation from a high-level point of view15:42
philiKONwell, from my use cases, i see the motivation in the loose coupling15:42
DamascenephiliKON:  i dont' see why you couldn't simulate the same pagelet behavior by usign static macro lookups on components?15:43
philiKONand delegation of component lookup (pagelets are components, right?) to what we already have: a component architecture with very well defined component lookup strategies15:43
projekt01We added a document about pagelets and differ the names like pagelet, portlets, viewlets in zope.app.pagelet.README.txt15:43
philiKONDamascene, because with static macro lookups, you always look this one macro up. in most sites, you want to decide that this or that should be shown for this or that view, for this or that object15:44
philiKONor not15:44
projekt01Hold on, pagelets are only adapters on context, request, slot and view interface15:44
philiKONright15:44
AJCphiliKON, yes, your changes work.  where's this bug database you mentioned?15:44
philiKONand adapters can be there--or not15:44
philiKONAJC, collector.zope.org/Zope3-dev15:44
projekt01The interface is the key for to lookup pagelets. The name of the pagelet is used for get the right macro in the ZPT15:45
philiKONwhereas when macros are there, they have to there, otherwise you get an error15:45
philiKONprojekt01, yup15:45
projekt01philiKON, Yes15:45
philiKON:)15:46
projekt01And pagelets can be really fine granular definedbecause there are multi adapters on (context, request, slot, viewinterface)15:46
*** MacYET has joined #zope3-dev15:46
MacYETmorning15:46
projekt01Viewinterface = views15:46
srichterMacYET: hi15:47
philiKONlo MacYET15:47
MacYETwould it be possible to re-use the i18n machinery of Z3 with Zope 2 page templates?15:47
*** viyyer has joined #zope3-dev15:47
projekt01philiKON, pagelets are named multi adapters15:48
philiKONprojekt01, yes, i understand15:48
projekt01philiKON, let me know if you see a way for to make the master template dynamic.15:48
projekt01Then the concept would be perfect15:49
philiKONi will; i have an exam coming up next monday15:49
philiKONafter that, i want to dig myself back into z3 :)15:49
philiKONneed to read up on PAU, pagelets, boston, etc.15:49
srichterMacYET: yes15:49
projekt01Yup, I'm too. I go to migrate our PAU addons now ;-(15:50
srichterMacYET: the only problem is that the Z2 request does not know about the locale15:50
MacYETsrichter: would it be hard or easy?15:50
srichterMacYET: so this piece would need to be different15:50
projekt01We already had some subsite login forms challenger etc15:50
MacYETok, just asking as a fallback solution :)15:51
srichterMacYET: I think it should not be hard15:51
srichterMacYET: especially with Five in place15:51
*** alga has joined #zope3-dev15:51
MacYETtnx15:51
philiKONMacYET, i assume ZPT somewhere has a translation hook; you should be able to just hook zope.i18n.translate in there15:51
srichterMacYET: the hookup to the i18n namespace is very easy and you can see that in the TranslationService product for Z215:51
philiKONlanguage negotation would have to be dealt with differnetly, yes15:52
philiKONright now we have an adapter, IUserPreferredLanguages, that does this; i wonder if Five should maybe mimic this and the Z3 request.locale object...15:53
srichterI think for an experienced Z2 programmer it should not take longer than a day to stitch in the language negotiation and locale setup (in request)15:53
srichterphiliKON: I think it should :-)15:53
philiKONi think so too15:53
philiKONMacYET, if you manage to do this, maybe you can contribute that to Five :)15:53
AJCok philiKON, posted15:53
srichterphiliKON: it only needs a wrapper around the Z3 code to output UTF-8 instead of unicode15:53
philiKONaaaargh15:54
philiKONright15:54
philiKONthat whole unicode problem15:54
philiKONuh-oh, that might actually turn out to be a can of worms15:54
srichterI am so glad we got this right in Z3 :-)15:54
MacYETphiliKON: i will if the PTS guys won't release PTS under a unique license15:54
srichterMacYET: I think you were heavily involved in that decision too, right?15:54
philiKONMacYET, oh, what's with the PTS guys?15:55
MacYETpts as a zoo of licenses and we need it under ZPL for acommercial project15:56
MacYETotherwise we  are going for the way I asked about15:56
philiKONwell, afaik, PTS was derived from z3, so their way of going with GPL wasn't totally correct either15:56
srichterI am looking at the product now; if it contains Z3 code, then we have to tell them15:58
philiKONwell, afaik (i could be wrong), it was derived from Z3 looooong ago15:58
philiKONwhen we still had services15:58
philiKONwhen we still said placeless and placeful15:58
philiKONetc.15:58
philiKONhence the name15:58
srichterwell, if they just used the interfaces, then it is work atop of Zope 3, which is ok15:59
srichterif they used actually any Z3 code directly then they cannot publish it under the GPL easily15:59
MacYETanyone I am forcing all authors to republish PTS under ZPL15:59
MacYETor trying to force them :)16:00
philiKONwhy do you need it so badly under zpl?16:00
MacYETif it contains GPL code we can't use it16:03
philiKONanyway, zpl would be much better for such a product16:04
srichterphiliKON: after a quick read I cannot detect any Z3 code16:04
srichterphiliKON: however, all the Z2 stuff is so ugly, it makes my eyes look the other way ;-)16:04
philiKONyes, it underwent heavy development since then16:04
srichter(usually I am able to detect my code very quickly)16:05
MacYETz2 is just a code obfuscator16:06
srichter:-) well said16:06
MacYETi just mailed all pts contributors16:07
philiKONi'm curious. how many are there16:07
philiKON?16:07
philiKONbesides lalo :)16:07
MacYETalt least 616:07
*** gintas has joined #zope3-dev16:11
philiKONwow, jehova's witnesses came to my house for 3rd time in 2 months now16:13
SteveAtell them you're a jehova's bystander16:13
SteveAyou just don't want to get involved16:13
philiKONhow often can you tell someone that you're catholic?16:13
philiKONlol16:13
AJCor a jehova's accomplice / alibi16:13
srichterwell, I tell them I am an atheist and after discussing with them for 15 mins they gave up all hope16:14
Damascenetell them you are all about the ubermench16:14
srichter(in the US I have been called the devil before...)16:14
philiKONDamascene, heh. yeah... (btw, it's spelled übermensch)16:15
philiKONsrichter, wow... who was it, the baptists, who don't believe in hell and the devil?16:15
Damasceneyeah sorry i know i misspelled it hehe16:15
srichterphiliKON: yeah, southern baptists (in high school16:15
srichterhe he16:15
philiKONreligious landscape in America is a bit curious for a European16:16
srichterwell, more like unimaginable :-)16:16
philiKONyeh16:17
philiKONsame goes for latino countries, btw, where catholicism is the only real religion and they never even had the slightest reformation, not even speaking about Luther's reformation we had in germany16:19
philiKONit's like the opposite16:19
srichteryeah, a good friend of Claudia and mine just got married to a Mexican last Saturday and their stories are amazing too16:20
philiKONyep; i lived in mexico for a short while16:21
srichterfor example, she was the cousin (imagine a cousin in Mexico with blond hair and blue eyes) in the beginning, because they lived together before getting married16:21
philiKONand I was amazed, even though i'm catholic myself :)16:21
philiKONlol16:22
*** admp has quit IRC16:22
philiKONyeah, sounds just like reality there16:22
srichtereven though my wife is cathlic, in the East (as you know) religion is very relaxed16:22
philiKONi know; 've been living in the east for some time now (in brandenburg before DD)16:22
srichterreally, where did you live in brandenburg?16:24
*** admp has joined #zope3-dev16:24
__gotcha_srichter, philiKON hi to the flying dutchmen16:24
__gotcha_oops the z3 germans16:24
philiKONhi __gotcha_16:25
__gotcha_just wanted your opinion about this16:25
srichterok, I am listening :-)16:25
__gotcha_is there an opinion in the z" communtity that thinks that z" should be runnable without the transaltion engine16:25
__gotcha_plone or silva communtiy think they should be able to sue their product without Placeless Translationservice16:26
__gotcha_and it should run in English16:26
philiKONare you talking about z3?16:26
srichterthe philosophy in Zope 3 is that I18n should always be there; no exceptions :-)16:26
__gotcha_yes I ama sking the opinion of z3 people16:26
__gotcha_ok16:27
__gotcha_thanks16:27
__gotcha_that's clear16:27
philiKON__gotcha_, yeah, i18n always ships with z316:27
philiKONbut you can disable it, for example16:27
__gotcha_if I disable it16:27
philiKONfor worldcookery.com, i made languagenegotation very stubbron :)16:27
__gotcha_is zmi still working16:27
philiKONyes16:27
srichterof course16:27
__gotcha_do you mean disable language negotiation16:27
philiKONclass FixedLanguage(object):16:27
philiKON    def __init__(self, request):16:27
philiKON        self.request = request16:27
philiKON    def getPreferredLanguages(self):16:27
__gotcha_or not using po files16:27
philiKON        return ['en']16:27
srichterthen the default translation is used, which is usually English or an abstract message id16:28
__gotcha_so there are place where you'll get an abstract message id16:28
philiKONabstract message ids should never be shown16:28
philiKONtranslation always needs to be turned on, for that reason16:28
srichterphiliKON: what if you specify a message id that has no default?16:28
__gotcha_should not or are not shown16:28
philiKONthat's ab ug then16:28
__gotcha_:-)16:28
philiKON__gotcha_, are not shown, because translations occurr wherever necessary16:29
srichterthat should be in the style guide somewhere then16:29
philiKONyeah16:29
__gotcha_philiKON, if translation happen16:29
__gotcha_it means the engine is on16:29
philiKONyes16:29
philiKONthe engine needs to be on16:29
philiKONeven if you want to have ENglihs16:29
philiKONbecause some abstract message ids need to be translated16:29
philiKONeven if it is just their default value16:29
__gotcha_ok16:29
srichterI cannot imagine Plone does not work this way16:30
philiKONif you use my adapter code from above, you always get the language 'en'16:30
srichterthey use abstract message ids much heavier than us16:30
__gotcha_srichter, its supposed to work without PTS16:30
philiKONthat's what i meant with "stubborn" language negotation16:30
philiKON__gotcha_, well, without PTS, ZPT will use a dummy engine16:31
__gotcha_srichter, message ids in Plone come from Page templates16:31
__gotcha_where most often default string are defined as well16:31
philiKON__gotcha_, however, plone only seems to have message ids in zpt, right?16:31
*** niemeyer has joined #zope3-dev16:31
srichterright, for buttons they use abstract ids afaik, like refresh-button16:31
__gotcha_I have the info I needed16:31
philiKONif there's no PTS in zope2, a dummy engine takes over that does the default substitution16:32
__gotcha_to begin a cruisade ;-)16:32
philiKONin zope 3, there's this dummy engine for zpt, yes16:32
__gotcha_philiKON, thanks teaching the newbie ;-)16:32
srichter__gotcha_: what's you crusade?16:32
philiKONpython message ids are not automatically translated, of course; which is why we need the i18n machiner on all the time, even if we only want one language16:32
__gotcha_well accepting the idea Plone must run without PTS complexify a lot of the i18n support16:32
srichterI see16:33
philiKONwell, even if you only have message ids coming rom ZPT?16:33
__gotcha_and I'll begin to speak against this and the 'English rules' rule16:33
__gotcha_philiKON, no16:33
__gotcha_but look at archetypes or cmfformcontroller16:33
__gotcha_and you'll se what I mean16:33
* philiKON looks16:34
__gotcha_now, thanks for your help16:34
__gotcha_I need to go back to customer16:34
__gotcha_work16:34
__gotcha_;-)16:34
srichtersee yeah16:34
* srichter needs some inspiration about the user preferences now to finish it today16:34
philiKON__gotcha_, any pointers to what i should look at?16:34
__gotcha_I just mean a lot of strings come from python code16:35
philiKONriiight16:35
__gotcha_because its generic framework16:35
philiKONso, you'll need python message ids sooner or later16:35
__gotcha_so we now extract them by hand16:35
philiKONouch16:35
__gotcha_that's my cruisade16:35
__gotcha_I do not extract them16:35
srichterby hand????????16:35
srichterwahhh!!!16:35
__gotcha_nice and courageous do16:35
__gotcha_ses you16:35
philiKON__gotcha_, btw, i've been thinking about supporting z3's i18n machinery in five16:35
philiKON__gotcha_, i think i'll do this soon16:36
__gotcha_just look at z3-i1!n branch of PTS16:36
philiKON__gotcha_, this will turn over Zope 2 ZPT i18n to z3's i18n machinery16:36
__gotcha_do not repeat my work16:36
philiKONwell, question is if we really need PTS then (we don't)16:36
__gotcha_remeber five use z2 templates16:36
philiKONyes16:36
__gotcha_we don't, agreed16:36
*** SteveA_ has joined #zope3-dev16:37
philiKONwe can get rid of PTS alltogether if Five supports z3's i18n16:37
philiKONright now, PTS is repeating z3's work16:37
__gotcha_z2 and z3 PT engines are different16:37
philiKONi know16:37
__gotcha_how do you want to use z3 engine with Z2 templates16:37
__gotcha_tha's for another day16:37
__gotcha_really back to work16:38
philiKON__gotcha_, i'll sketch out an implementation on a Five branch16:38
__gotcha_but if you do it16:38
philiKONand show it to you16:38
__gotcha_lemme know16:38
philiKONyup16:38
__gotcha_I'll see it16:38
__gotcha_I read Five checkins16:38
__gotcha_ciao16:38
philiKONciao16:38
srichterbye16:38
*** Aiste has quit IRC16:44
*** KurtB has joined #zope3-dev16:45
KurtBhowdy.... I'm having some zope3 install issues. I've been thru the docs, run the tests (all ok) edited my principals file, and it "looks" like it starts, but connecting to port 8080 yeilds no results.16:46
*** SteveA has quit IRC16:46
KurtBThe z3.log has no errors in it, just the http started info.16:46
KurtBAre there any other debugging tools you folks could recommend?16:47
KurtBthx. :-)16:47
srichterKurtB: wow, I have never heard about such a problem16:48
KurtBIt's a bit frustrating.16:48
srichterso you started Zope 3 on your local machine?16:49
KurtBI'm wondering if I've missed something essential.16:49
srichteris it Windows or Linux?16:49
KurtBer...16:49
MacYETmaybe it binds only to 127.0.0.116:49
srichterIs it the trunk or X3.0?16:49
KurtBnot local, I have no head on that box.16:49
KurtBIt's linux.16:49
srichterin Linux it should bind everywhere16:49
KurtBtrunk... svn'd it after the official release did not pass the tests.16:49
MacYETsrichter: zope 2.8 used to bind to 127.0.0.1 only16:50
MacYET:)16:50
KurtByup, that's what I thought.16:50
srichterso in the trunk you can specifically specify the IP you want to bind on16:50
KurtBhmm... so... I should try mayby lynxing to it?16:50
srichteredit zope.conf16:50
srichteryeah, that would be also worth a try16:50
KurtBsrichter, yup.. did that.16:50
KurtBedit the zope.conf... made sure there were no weird port conflicts.16:51
* KurtB gives it a whirl with lynx16:51
srichtermake the address x.x.x.x:8080 instead of 808016:52
srichterthis should link to a particular IP address then16:52
KurtBk. will try that, too.16:52
srichterok, I just tried to access my install from the real IP (not localhost) and it worked just fine16:55
srichterKurtB: if it si a remote Linux machine, it might be a router that does not allow port 8080 to go through16:55
KurtBnaww... on same segment.16:55
KurtBThought of that. :-)16:56
srichtermmh16:56
srichterso what error message do you get?16:56
srichtercan you ping the port?16:56
srichtermaybe use telnet?16:56
srichtertelnet x.x.x.x 808016:56
srichterGET /index.html16:56
KurtBthat's what's weird no error... trying telnet...16:57
*** MacYET has left #zope3-dev16:57
srichter(your need to press two times enter to send the request)16:57
srichterwget would do too I imagine16:58
KurtBsee.. it just times out...16:58
KurtBnever connects.16:58
KurtBhmm....16:59
KurtBlemme restart with the IP next tot he port16:59
srichterthat's very weird; the server code is based on Medusa and is very old and well tested17:01
*** AJC has quit IRC17:01
srichterso I doubt there is a server bug17:01
srichterthough someone recently messed with the address part of the config file17:01
KurtBschweet...17:01
KurtBbinding to the IP in the config file "fixed" it.17:01
KurtBlemme do some more kicking around...17:02
KurtBwell, at least the telnet trick worked.17:02
KurtBfrom the same machine.17:02
srichtercool17:03
KurtBlemme hack on it some more, and i'll report back later with my findings.17:03
srichterif you figure out why it did not work, a bug report would be nice17:03
* KurtB has to go to a meeting across campus.17:03
srichterthanks17:03
KurtBCertainly.17:03
KurtB:-)17:03
*** BjornT has joined #zope3-dev17:10
*** Theuni has quit IRC17:11
*** gintas has quit IRC17:17
*** gintas has joined #zope3-dev17:17
efgehi folks17:18
efgeabout the form refactoring, is there anything written done about what's planned ?17:18
srichterefge: hi17:18
efgewritten down I mean17:19
srichterefge: no, but Gary is pretty much all done17:19
srichterso you might want to ask him17:19
srichterI do not even know what he did ;-)17:19
srichterand it will be available only in 3.217:20
*** alga has quit IRC17:39
*** bradb has quit IRC17:41
*** admp has quit IRC17:41
*** viyyer has quit IRC17:43
*** J1m has joined #zope3-dev17:44
*** sashav has quit IRC17:44
*** admp has joined #zope3-dev17:48
*** admp has quit IRC17:49
*** ignas has quit IRC17:56
*** tonico has quit IRC18:03
*** mooded has quit IRC18:08
*** tonico has joined #zope3-dev18:11
srichterprojekt01: is there some way in HTML to group a set of elements? It should be like a div, but have a title18:11
srichtersomething like that:18:11
srichter+-- My Title ------+18:11
srichter|                    |18:11
srichter+-----------------+18:11
*** bradb has joined #zope3-dev18:13
*** regebro has joined #zope3-dev18:14
regebroHi all! Quick Q:18:15
regebroAssume that I have a browser:page called "foobar.html".18:15
regebroCan I make the same page available easily under another name, say "ramalama.html"?18:15
srichterregebro: yes, using the pages directive18:16
srichterthis way you only have to repeat the attribute/template that should be used again18:16
srichteranother way would be to use the redirect directive mentioned yesterday18:17
regebroOK, thanks, none of those are desirable for the moment. Well, possibly the redirect one would be ok.18:18
d2msrichter: <fieldset> <legend> My Title </legend> ... other content </fieldset>18:18
regebroIn this case I have one product that sets up pages, and another product that need to set up the exact same pages, but undera  different nname.18:19
srichterd2m: thanks18:19
regebroIf you wonder "WTF!?" I'll just say: CMF. :p18:19
srichterregebro: :-) You can write your own directive dealing with this sort of thing18:20
regebroSure I can'. I don't want to. ;) Too much work.18:20
srichterregebro you should get in the mode of writing your opwn directives; once you know how to do it, it will be so easy18:20
srichterreally, I encourage developers to develop vustom directives for this sort of thing18:21
regebroI already know, I've done a buncgh of them for Five already, but it's not worth it in this case.18:21
srichterok18:21
regebrocopy paste is easier.;)18:21
srichteryep18:22
*** bskahan has joined #zope3-dev18:25
*** vlado is now known as vlado|away18:26
*** AJC has joined #zope3-dev18:34
*** lunatik has quit IRC18:35
*** tarek_ has quit IRC18:38
*** lunatik has joined #zope3-dev18:40
*** __gotcha_ has quit IRC18:41
*** bskahan has quit IRC18:42
*** bskahan has joined #zope3-dev18:46
AJCby default, objects are stored in a ZODB right?  when does it make sense to use an SQL database to store things?  i'm expecting to have quite a bit of searching and cross referencing of the data...18:49
srichterAJC: almost never, unless your data is truely tabular18:50
AJCnah, it's more a case of having many articles and posts that are searched and indexed centrally18:52
AJCso ZODB would be as efficient and more elegant for this kind of use?18:52
srichteryes, in my opinion at least18:53
srichterthe index and catalog code used in Z3 is based on years of expereinece with Z2, where it has been very successful18:54
AJCheh, well you're well placed to know :-)  thanks for your advice.18:54
srichterif boston.com can use it, your app will as well :-)18:54
AJCindeed ;)18:54
srichterif you are not happy with the indeces that come with Zope 3, you can always plugin something more established, like Lucene18:55
AJCheh, i've not tried it yet (except with existing applications), i'm just thinking about how to approach my problem18:57
*** jack-e is now known as jack-e|away18:59
srichterAJC: I think you will be fine with ZODB :-19:00
srichter:-)19:00
AJCyes, thanks.  that's the advice i was looking for!19:00
AJCwhat kind of hardware is boston.com on?19:01
*** SteveA__ has joined #zope3-dev19:01
srichteryou have to ask Tres or someone from ZC about that19:01
srichterit is a pretty big cluster I imagine19:01
*** Aiste has joined #zope3-dev19:02
*** bradb has quit IRC19:02
*** tvon has joined #zope3-dev19:03
*** BjornT_ has joined #zope3-dev19:07
AJCheh, i'm only on one machine, but i guess if i need a cluster i should be able to support it by then!!19:08
*** BjornT has quit IRC19:08
*** bradb has joined #zope3-dev19:08
*** BjornT_ is now known as BjornT19:08
*** SteveA_ has quit IRC19:09
*** lunatik has joined #zope3-dev19:26
*** SteveA__ is now known as SteveA19:26
*** lunatik has left #zope3-dev19:27
srichteris there a reason why the object widget is not registered?19:27
*** ignas has joined #zope3-dev19:27
*** regebro has quit IRC19:32
*** mgedmin has joined #zope3-dev19:33
*** regebro has joined #zope3-dev19:34
srichterprojekt01: how can I make the Object Widget work for me in an edit form?19:38
srichterit also seems that one cannot have nested object widgets19:39
*** regebro has quit IRC19:45
*** hazmat has joined #zope3-dev19:45
*** bskahan has quit IRC19:47
*** faassen has left #zope3-dev19:51
*** admp has joined #zope3-dev19:53
ignassrichter, ping19:55
srichterignas: pong19:56
ignasmaybe you could help me by explaining one tricky place in Zope3?19:56
srichtersure19:56
ignasBaseRequest._getBody19:56
ignasdoes seek(0)19:56
srichterfile?19:57
ignaszope publisher base19:57
ignaswhich breaksfunctional ttests, because StringIO is passed as the body_instream19:58
ignasso what you actualy get is - full request with headers instead of the bofy of the request19:58
*** Arnia has joined #zope3-dev19:59
ignasif i comment the seek - request.body works in my functional tests19:59
Arniaprojekt01: Available for a chat?19:59
ignasyet i am not sure it doesn't break anything in zope319:59
srichterignas: well, I thought that's actually the point of getBody() -- to return the entire request20:00
srichterlet's see what the interface says20:00
ignasthen why headers are skipped in real life ?20:00
ignasi tried submitting some forms and got no headers20:01
ignaswhen calling request.body20:01
ignasit only works in functional tests20:01
ignasand what would be the right way of extracting the content of a request in that case ?20:02
srichterok, so the doc string is ambiguous about it20:03
srichteryou can get the body easily by looking for the first empty line20:03
srichterin the request20:03
srichterok, I am convinced now that the behavior is correct20:03
ignaswell in real life (in a live running zope instance) you get no empty lines20:04
ignasand no authorization headers20:04
ignasno content lengthheaders20:04
ignasnothing, only the content20:04
srichterhuh? in real life you do get all those things20:04
srichterI think a request must be of the form:20:05
srichterheaders20:05
srichterempty line20:05
srichtercontent20:05
*** bskahan has joined #zope3-dev20:05
srichter(in HTTP)20:05
ignasZope3/src/zope/publisher/publish.py(122)publish()20:05
ignasi got a breakpoint there20:05
ignasi submit a form20:05
ignasand do request.body20:06
ignasand i am not getting any headers at all20:06
srichterwell, are you talking about HTTP requests?20:06
ignasno i am talking about browserrequests20:07
srichterso thing20:07
ignasthey do inherit from httprequest though20:07
srichterok, so the instream comes from task.request_data20:07
srichteras seen in zope.server.http.publisherhttpserver line 5120:07
ignasyes20:10
ignasand ?20:10
srichterwell, now we have to find out where the instream comes from20:10
srichterlook at httprequestparser20:10
srichterthere it seems to separate body from headers20:11
ignasdata holds the full request20:14
ignasso i guess and terms headers and body are used all over the polace so i guess body is meant to be the content part without headers ...20:15
srichtermmh, this is strange20:15
srichteryes20:16
srichteryou can see it in httprequestparser.py20:16
ignasyes20:16
srichterthe instream is basically what gets saved in self.body_rcv20:16
ignasi have put pdb.set_trace() in the begining of received()20:16
srichterand only stuff after the header is added to it20:17
srichterso the first thing should be that the doc string zope.publisher.interfaces.BaseRequest gets updated20:17
ignasso request.body can only return the content part20:17
ignaswhich I expected20:18
srichterto clarify that only the content of the request is returned20:18
srichteryes20:18
ignasyet ftesting has another way of thought20:18
ignasand leaves the headers intact20:18
srichterthen ftesting is implemented incorrectly20:18
ignaswhich kind of complicates things ...20:18
ignasyet if i will remove headers - i am not sure that functional tests that do expect headers in the body won't break20:19
ignasand they do break if i recall correctly20:19
srichterthen these tests need to be fixed20:20
ignasi am nnot sure whether i am right yet authorization depends on this behaviour of functional tests20:20
ignasouch20:20
ignasi see20:20
srichterand you need to provide some BBB code for the incorrect way of doing things20:20
srichterit would be great if you could fix that bug20:21
srichterits a little bit of work, but better do it now than later20:21
*** hazmat has quit IRC20:21
*** gintas has quit IRC20:27
*** garrett-smith has joined #zope3-dev20:27
ignassrichter, a theory - if anyone was using request.body in his code - he was geting the right data, and if someone was using it in tests - he would have noticed the bug earlier and i am ~100% sure there are no maniacs that wrote two instances of code - one for functional test and one for deployment ;)20:38
ignasthe theory is being checked by running Zope3 test suite20:38
srichterI assume that noone is using request.body in their code20:39
ignasthat was the idea20:39
ignaswell i am using it :)20:39
srichterand the code that does (the low level publsiher code) does not have ftests20:39
srichterso you are on the hook to fix it ;-)20:39
ignasthe lack of tests ???20:39
J1mrequest.body should not include headers20:41
J1mI'd be very surprised if it included headers in the functional tests.20:42
srichterJ1m: right, so ftesting implements request.body incorrectly20:42
J1mBut, I thought ftesting used TestRequest.20:42
J1mPerhaps it is setting up the instream incorrectly.20:42
ignasHTTPCaller20:42
ignasdoes that in a wrong way ...20:42
J1mHm, looks right to me20:44
ignasinstream = StringIO(instream.read()) was the fix i did20:44
ignasu ubserted it just after for header in rfc822.Message(instream).headers]20:45
mgedminJ1m, the problem is as follows, if I understand it correctly:20:45
J1mThis should not be necessary20:45
mgedminHTTPCaller creates a StringIO with headers + body20:45
mgedminreads all headers from that StringIO20:45
mgedminleaves it positioned at the beginning of the body20:45
J1myes20:45
mgedminso if you do instream.read(), it'll get the body20:45
J1myes20:45
mgedminbut BaseRequest.body actually calls seek(0)20:46
J1mso far so good20:46
J1mAh20:46
mgedmindoesn't it, ignas?20:46
ignasyep20:46
* mgedmin over20:46
ignasthank you :)20:46
J1mSo BaseRequest.body makes an invalid assumption about seekability, IMO20:46
srichterreally?20:47
srichterit needs to be able to seek, since after the reading it needs to reset to the original location20:47
J1mwhy?20:47
ignaswell imho - not doing seek(0) would make the behaviour unexpected sometimes20:47
srichtersicne one could use the instream_file directly20:47
ignaswhat if  i seek body_instream somewhere20:47
J1mThe instream is a stream, not a file20:47
ignasand then do request.body ???20:47
srichterI agree with ignas20:48
J1mThe publisher should be usable with cgi20:48
J1mThe instream, in that case, would be a real stream20:48
mgedminignas, srichter, you can't seek a TCP socket or sys.stdin20:48
J1mexactly20:48
srichterI see what you are saying now20:49
ignasso the implementation of the _getBody() is a dud then ...20:49
srichterall this is not documented of course20:49
srichterso I looked at the only implementation available20:49
J1msrichter, stdin should be pretty suggestive. :)20:49
srichterwell, but it is not one of the real implementations20:50
J1mignas, I think the implementation of _getBody is probably broken.20:50
srichterwe really, really need to make the docs in zope.publisher.interfaces better for this20:50
ignasJ1m, but unbreaking it would involve storing the whole stream somewhere in the request20:51
* J1m wonders what wsgi says about the input stream20:51
ignasmaking it seekable20:51
ignasor else you will not be capable of doing _getBody twice20:51
J1mignas, I'm 90% that the cgi module does exactly that, in a temporary file20:51
J1mwsgi specified non-seekable input streams20:52
J1mwe supposedly support wsgi20:52
J1mwsgi specifies non-seekable input streams20:53
*** hazmat has joined #zope3-dev20:53
J1mWe use the cgi module to parse requests20:54
J1mThe cgi module provides access to the body as a temporary file, I believe20:54
* mgedmin is utterly confused20:55
J1mdo the tests pass without that seek call?20:55
mgedminso can or can not BaseRequest use seek on the instream?20:55
J1mIt should not20:55
J1mIt obviously can, because it does20:55
mgedmins/can/should/20:55
mgedmin;)20:56
mgedminbut you already answered that20:56
srichteractually, the instream is generated in httptask20:56
J1msrichter, for zserver20:56
srichteryes20:57
J1mNot everything will use httptask20:57
J1mNot everything will use zserver20:57
ignasJ1m, yes my tests pass with seek removed, yet if someone would seek the request._body_instream manualy - he would break _getbody20:57
srichterright, of course20:57
srichterI just do not see where we use CGI20:57
J1mignas, then they deserve to lose20:57
srichterthe instream in zserver is either a ChunkedReceiver or FixedStreamReceiver20:57
J1msrichter, forget zserver20:58
J1mbrowser request uses cgi20:58
*** efge has left #zope3-dev20:58
J1mrequest.body is quite possibly bogus to begin with20:59
mgedminJ1m, did you mean BrowserRequest or HTTPRequest?20:59
ignasso what is the plan ?20:59
ignasremoving the seek from _getBody ?20:59
ignasfixing functional tests20:59
ignasor fixing the _getBody to do the right stuff TM ?21:00
ignasby functiuonal tests i mean the part thatleaves headers in the stream ...21:00
J1mfunctional tests are not broken21:00
J1mI'm looking at the request body issue21:01
J1mNote that request.body isn't used in Z3 except by it's tests.21:01
J1mI suggest deprecating request.body and getting rid of it's seek21:02
mgedminwhat should you use then in a view that handles, e.g., HTTP PUT?21:03
mgedminrequest.input_stream.read()? (I'm not sure if it's spelled that way)21:03
J1mrequest.bodyFile21:03
J1mBut that is bogus too, at it's a stream21:03
ignasit is used by zope.app.http.put21:04
J1mbut it doesn't seek21:04
J1mIt's used by other things that do seek.21:04
J1mBut they shouldn't.21:05
J1mWe should really rethink that api21:05
J1mBut not for 3.1. :)21:05
mgedminignas, for the time being I suggest you do the same thing that zope.app.http.put does21:06
J1mFor now though, we should document these issues in the interface21:06
ignasJ1m, data = body.read() seems like seeking to me21:06
J1mNo, it's nothing like seeking21:06
J1mIt consumes data21:06
J1mwe should *not* assume that input streams are seekable.21:07
J1mIf I had time to work on this, I would:21:07
ignasi see, i got confused in terms21:07
J1m- Change the functional tests so that they produce a non-seekable stream21:07
J1m- Fix what breaks as a result21:08
J1mwhich, I suspect is DAV, which is already broken. :/21:08
J1mafaik21:08
mgedminsomebody should file an issue in the collector so this isn't forgotten21:09
* mgedmin hides under a bush21:10
J1myes21:10
J1mignas, if you want to help out, you could:21:11
J1mdo some number of:21:11
J1m- remove the seek from _getBody21:12
J1m- submit an issue21:12
J1mand if you wanted to more21:12
J1m- update the interfaces to point out the bodyFile is really s stream and that getBody consumes the data21:13
ignasmgedmin, suggested subclassing StringIO and raising exception everytime the stream passed to the HTTPRequest is seeked ...21:13
J1m- deprecate request.body21:13
J1m- deprecate request.bodyFile21:13
J1m- add request.bodyStream21:13
J1mignas, yes, to fix the functional tests21:13
J1mBut then be prepared to fix the tests that break as a result21:14
J1mThis would be a great thing to do if you have time21:14
ignaswhich i am not sure i have ... i got far behind the schedule lately :(21:17
ignasand commiting to zope requires me reading a lot of documents21:17
ignascoding conventions, guidelines and stuff i haven't read yet21:18
J1mso, submitting an issue would be nice :)21:18
ignasthat is a MUST DO :)21:18
J1mAnd, in the mean time, avoid request.body :)21:18
ignasi see21:18
ignasi'll get on with the issue then21:19
J1mThanks21:19
J1mand thanks for finding the problem21:19
ignasit's not me who finds problems - they find me themselves most of the time ;)21:22
mgedminignas, bugs like you, so they go out of hiding ;)21:29
*** d2m has quit IRC21:30
*** d2m_ has joined #zope3-dev21:30
*** d2m_ is now known as d2m21:30
garrett-smithJ1m: shoudl this new interface be named ILogout, or IAuthenticationLogout21:35
garrett-smithwe're only adapting IAuthentication, so i'm thinking the later is better21:35
SteveAIAuthenticatoinLogout1, to plan for future revisions, perhaps ;-)21:36
garrett-smithI prefer roman numerals myself21:36
garrett-smithbut I'll fight that battle later :-)21:36
mgedminIIAuthentication, IIIAuthentication, IVAuthentication ...21:38
garrett-smithbetter at the end...IAuthenticationI21:38
SteveAif I want to introduce an interface that I *know* will be wrong, IFoo-121:38
garrett-smiththat scales better21:38
SteveAif I want to introduce an interface that I *know* will be very wrong, IFoo-10021:38
garrett-smiththat's for forward compatibility?21:38
garrett-smithgood idea21:39
mgedminit will be *so* bad, Python itself will warn you by raising a SyntaxError21:39
srichterwell you could always define an encoding to fix that :-)21:39
*** alga has joined #zope3-dev21:39
srichterlike IFoo_minus_10021:39
J1mI think ILogout would be fine21:40
garrett-smithyou laugh, but think how cool it will be to actually logout!21:40
J1mI don't think an interface name should reflect how it is adapted21:40
srichteryou mean in the future, when we get logout right?21:40
mgedminwill it actually work with HTTP basic auth? how?21:40
algagarrett-smith: you mean to logout2?21:40
J1mYou could call the adapter AuthenticationLogout21:41
* mgedmin still waits for cookie auth in standard zope 3 installs21:41
J1mmgedmin, why do we need that21:41
J1mI submit that session auth is better21:41
garrett-smithJ1m: the auths will implement ILogout directly, but I'll create a fall back for (non)existent IAuthentications21:41
J1mand is a form of cookie auth anyway21:41
garrett-smithalga: logout2 is already deprecated...we're on logout3 now21:42
alga:)21:42
*** mkerrin has joined #zope3-dev21:43
mgedminJ1m, as long as authentication supports (1) nice skinnable login forms on the web, and (2) logout, then I'm happy21:44
mgedminsessions are built on cookies, so auth built on sessions is "cookie auth" in my book21:45
J1mCongratulations, you're happy!21:45
mgedminam I?21:45
* mgedmin needs to svn up21:45
mgedmincurrently when I click 'login' in the ZMI, I get a HTTP basic auth dialog21:45
J1mBut sessions could be built on other things as well21:45
J1mmgedmin, that's a configuration issue21:45
* bskahan looks forward to being able to logout again21:46
mgedmincan I configure Zope 3 to accept principals defined in principals.zcml via session auth?21:46
J1mmgedmin, you need to create a pau and configure it to use session auth21:46
mgedminhow?21:46
SteveAif you are logged in, and you get a page that requires permissions that you do not have, what should happen?21:46
* mgedmin had the impression that pau only works with users defined in a principal folder21:46
* mgedmin not sure why he had that impression21:46
* mgedmin needs to spend more time playing with zope 321:47
J1mmgedmin,right, pau doesn;t work with principals.zcml-defined principals21:47
mgedminah21:47
J1mprincipals.zcml principals should only be used for bootstrapping21:47
* SteveA has junked principals.zcml on his system21:47
garrett-smithSteveA: how do you bootstrap the admin account?21:48
garrett-smither, principal21:48
SteveAgarrett-smith: bootstrap in what sense?21:48
mgedminJ1m, one problem: the user is forced to close the browser after the bootstrapping and before he can actually use the system21:48
mgedminwe had that problem with SchoolBell, if you add it as a content object21:48
garrett-smitha principal who can configure services, etc.21:49
SteveAgarrett-smith: all the authentication data is in an external RDB.  there is no bootstrapping.21:49
garrett-smithah21:49
SteveAgarrett-smith: no principal configures services because i don't believe in TTW configuration of services ;-)21:49
J1mUse firefox with the Web Developer extension so that you can toss auth creds :)21:49
* mgedmin does that already21:50
garrett-smiththat's a *great* extension21:50
SteveAif you are logged in, and you get a page that requires permissions that you do not have, what should happen?21:50
* mgedmin tries to think about ordinary uses21:50
* mgedmin tries to think about ordinary useRs21:50
SteveAshould you get a "no, you can not" page21:50
SteveAshould you be asked "do you want to authenticate differently?"21:50
J1mSteveA, that is site policy21:50
garrett-smiththat's configurable in the PAU21:51
* J1m doesn't have time for this discussion21:51
SteveAif it is configurable, then i'm happy21:51
* philiKON wonders why logout is such a problem... for my book i implemented a perfectly suitable cookie-based authenticator (based on pluggableauth, though)22:01
mgedminphiliKON, logout is not a problem -- http auth is the problem ;)22:01
philiKONyup22:02
philiKONit sounded like logout was the problem, though..22:02
*** apoirier has quit IRC22:03
AJCwhat's a good way to launch Zope on a dedicated box in a nohup way?22:22
AJCi've tried "nohup bin/runzope" but it seems to have trouble once i've logged out22:23
J1muse zopectl22:23
AJCah, that's what i'm missing.  thanks.  i'll look it up22:23
*** ignas has quit IRC22:26
AJCis zopectl for Z3 the same as the Z2 one?22:29
J1mIt's inspired by. I don't know if it's the same22:29
J1massume it is :)22:29
philiKONi think so22:30
philiKONi think it comes with zdaemon22:30
J1mit uses zdaemon22:30
philiKONi don't think it has all of the commands that the zope 2 equivalent has (e.g. zopectl debug)22:30
J1mIt has debug22:31
philiKONoh?22:31
AJCyeah, i've got the manual, and what i've tried so far works for me... thanks guys22:31
* philiKON tries debug22:31
philiKONphilipp@bender:~/Zope3Instance$ bin/zopectl start22:32
philiKON. . . . . . . . . . . . . . . . . . . ------22:32
philiKON2005-03-31T21:32:19 INFO root daemonizing the process22:32
philiKONdaemon process started, pid=1711122:32
philiKONphilipp@bender:~/Zope3Instance$ bin/zopectl debug22:32
philiKON*** Unknown syntax: debug22:32
J1mbin/zopectl debug22:33
J1mNo handlers could be found for logger "ZODB.FileStorage"22:33
J1m>>>22:33
J1m[jim@ds9 3]$ bin/mkzopeinstance -di -ujim:12322:34
J1m[jim@ds9 3]$ cd i22:34
J1m[jim@ds9 i]$ bin/zopectl debug22:34
J1m>>>22:34
J1mphiliKON, are you using X3.0?22:35
philiKONyes22:35
philiKONmaybe that's the problem22:35
J1mThat's why :)22:35
philiKONah, cool22:36
philiKONso, it was added on the trunk, eh22:36
J1mzopectl debug is a must-have when using instances22:36
mgedminmy dream is to be able to get a pdb session on a server that can processes live http requests in other threads22:37
philiKONwell, if one day we get twisted as a server frontends, we won't have threads, so that could make it easier...22:38
philiKONthough i think they have a reactor thread api now... not sure, haven't followed twisted in a very long time22:39
*** RaFromBRC has joined #zope3-dev22:39
J1mgarrett-smith, is there a test for principalInfo in group folders?22:40
mgedmintwisted supports threads22:41
mgedminschooltool 0.9 was built on twisted + separate threads for request processing (so that ZODB transactions work)22:41
J1mwe already have twisted as a server front end, in theory :)22:41
J1mvia wsgi22:41
AJCi have twisted as a reverse proxy...22:43
AJCwhere can i upload my file by the way? :-)22:43
philiKONright, for zodb we need threads22:44
*** mkerrin has quit IRC22:45
srichterJ1m: so you did not get any twisted integration work done at the PyCon sprint?22:51
J1mNo, why would  we22:52
J1mIt's already done22:52
J1mIn theiry22:52
srichterbecause you said you would22:52
J1mThat was a looong time ago22:52
J1mbefore wsgi22:52
srichterwell, but that's just for HTTP22:52
srichterwhat about FTP, etc?22:52
J1mHardly anyone uses ftp22:52
srichterDid we not want to use Twisted's asyncore, so we could profit from their other protocol implementations as well?22:53
J1mthere are no non-http etcs at this point22:53
* mgedmin parsed srichter's remark as "twisted (integration work)"22:53
srichterwell, I am still very interested in getting SMTP and POP3 going22:53
mgedminthere's SSL for twisted too22:53
J1mI'm not interested in working on that myself22:53
srichterSMTP would be very nice for the bugtracker's issue mailins22:54
J1meh22:54
srichterJ1m: I was actually just waiting for PyCon to happen22:54
srichterotherwise I would have contacted Itamar a while ago already22:54
J1msorry22:54
J1mThere were more urgent tasks anyway22:55
J1mMainly pau22:55
srichterI really want to get together with him on that as long as he is in cambridge and lives absically around the corner22:55
srichterok, in this case I will contact him and hopefully get something worked out22:55
philiKONAccept-Languages is a browser thing, or do other pure-HTTP clients use this in some way or another?22:55
srichterI don't think so; but it is just a HTTP header22:56
philiKONok, my question was stupoid anyway22:56
philiKONlemme rephrase22:56
philiKONdo locales make sense in a pure-HTTP, non-browser environment?22:57
srichterI think they do22:58
philiKONuse case?22:58
srichteryou could have a custom HTTP protocol that worries as much about languages as browser22:58
philiKONhmm, ok22:58
mgedminphiliKON, Accept-Languages are defined in the HTTP RFC22:58
mgedminwhich, I think, is not just for browsers22:58
philiKONright22:58
philiKON:)22:58
philiKONit's not so much about Accept-Languages22:59
philiKONit's the concept of locales22:59
philiKONbut yes, they could be useful in other HTTP-based things22:59
mgedminAccept-Languages: XML22:59
* mgedmin hides22:59
* philiKON puts mgedmin in a cage of angle brackets23:01
srichterJ1m: why would an object be twice security proxied?23:07
J1mwhy wouldn't I?23:09
srichteryour question does not make sense...23:10
srichterI do not know why the object is twice proxied23:10
mgedminsrichter, J1m is twice security proxied23:10
srichter:-)23:11
philiKONremoveSecurityProxy(J1m)23:11
J1msrichter, I missunderstood23:11
J1mAn object might be twice security proxied due to a software bug23:11
srichterok, that gets closer23:11
SteveAif proxyFactory is used, then it shouldn't be, because the proxyFactory for a proxy type thing is the thing23:11
* mgedmin will have to fix a zope 3 bug or something, as a penance for wasting everyone's time with silly jokes on irc23:12
srichteris the bug likely to be in zope.security or in my custom code?23:12
SteveAor rather, that returned by proxyFactory for a proxy is the same thing passed in23:12
srichterwell, I am not messing amnually with the security code23:12
srichterI just created a class and provided a checker using defineChecker23:13
srichteroh, I see23:15
srichterI simply forward an object through a view23:15
srichterso the object gets proxied for being a view and for being the object itself23:16
srichterI would say this is a bug in the traversal code then23:16
*** bskahan has quit IRC23:18
*** J1m has quit IRC23:25
srichterphiliKON: I think the lengthy E-mail is not necessary; +1 on the change23:25
*** tvon has quit IRC23:27
philiKONsrichter, i wanted to make sure i'm not stepping on somebody's toes23:28
srichterok23:31
*** SteveA has quit IRC23:44
*** Aiste has quit IRC23:44
*** andrew_m has quit IRC23:49
*** andrew_m has joined #zope3-dev23:49
*** tvon has joined #zope3-dev23:52
*** mgedmin has quit IRC23:54

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