IRC log of #zope3-dev for Friday, 2005-04-01

*** alga has quit IRC00:14
*** tvon has quit IRC00:28
*** tvon has joined #zope3-dev00:29
*** palmTree has joined #zope3-dev00:34
*** cri71 has joined #zope3-dev00:34
*** cri71 has left #zope3-dev00:34
*** tvon has quit IRC00:37
*** SteveA has joined #zope3-dev00:38
*** tvon has joined #zope3-dev00:51
*** niemeyer has quit IRC00:58
*** palmTree has quit IRC01:06
*** admp has quit IRC01:36
*** ignas has joined #zope3-dev01:40
KurtBOkay, I have a running zope3. I'd be foreever greatful if someone would clue me into docs that explain how I wedge the pythonpath pointer to an application into my instance. :-)01:45
Arniasymlink into /usr/lib/python?01:46
philiKONKurtB, in zope.conf, you can use the python-path directive01:47
philiKON(i think... checking...)01:48
KurtBcool... I've been asked to get a product, schooltool, running... and this is my first forray into zope3.01:48
th1aKurtB:  Are you trying to run SchoolTool or SchoolBell?01:48
KurtBth1a, er....01:49
th1aIt is a little confusing.01:49
KurtBya. heh. :-)01:49
philiKONKurtB, but why don't you install the libraries into $INSTANCE_HOME/lib/python ?01:49
KurtBmy instance...01:50
KurtBThe SchoolBell product... does not really explain what goes where after running it's "make" stuff.01:51
th1aIt will run as a standalone app if you want.01:52
KurtBphiliKON, but I'll give it a whirl and start looking to figure out how to get it's libraries into $INSTANCE_HOME/lib/python01:52
th1aKurtB:  I'm a little confused about what you're trying to get it to do.01:53
KurtBth1a, I see that, I think... but don't I need to install another zope3, do I?01:53
KurtBthat's what the schoolbell docs seem to infer.01:53
th1aWhich ones?01:54
KurtBand the docs in the tarball I downloaded.01:54
philiKONKurtB, if it has a, you can say:  python install --home $INSTANCE_HOME  i think01:54
KurtBSorry, I am new to zope3.01:55
philiKONthat's ok01:55
KurtBAhh.. philiKON ... I'll give that a whirl. That feels right.01:55
th1aKurtB:  Yeah, that's pretty misleading.01:55
th1aI'll fix it on the site.01:55
KurtBth1a, are you attached to that project?01:55
KurtBAh.. i guess so. :-)01:55
th1aI manage it.01:56
th1aI guess the notes say that Zope X3 is included, but you have to read it carefully to see that.01:57
KurtBsomeone from the college  of education asked me, "Since you already run zope, can you make this run so we can test it?"01:57
th1aCollege of Education where?01:57
KurtBUniversity of louisville. er... uh... go cards!01:57
KurtBApparently, basketball gets funding here.01:57
KurtBand training.01:58
KurtBThe rest of us gotta just figure it out.01:58
th1aWere they interested for themselves or K12 schools?01:58
KurtBI also saw something about Academic Assessment Tracking on the bounty page.01:59
KurtBThe university is looking at products to handle that.02:00
th1aFor the university?02:00
KurtBI just sat thru a Blackboard presentation today... for the university.02:00
*** bradb has quit IRC02:00
KurtBwhat an awful product.02:00
KurtBimho, that is.02:01
th1aWe could move this over to #schooltool ...02:01
KurtBphiliKON, thanks for the tip... trying it now02:01
*** bradb has joined #zope3-dev02:22
*** ignas has quit IRC03:01
*** Arnia has left #zope3-dev03:09
*** garrett-smith has left #zope3-dev03:11
*** Arnia has joined #zope3-dev03:16
srichterKurtB: Blackboard sucks03:25
srichtermy dream was and is to develop a Zope 3 version of it03:25
ArniaBlackboard is horrible... but Durham seems to love it :/03:25
ArniaPlease replace it :)03:25
srichterTufts uses it heavily too03:26
srichterit gets the Job done, but it could be much better03:26
ArniaWell... all the staff in Durham hate it... all the students hate it. The only person who likes it is Kate Boardman but she's in charge of eLearning software on the network03:26
srichterI am still searching for an app to develop atop Zope 3 in my spear time03:26
srichterthe blackboard replacement is on the top of my list03:27
ArniaThat would be a great example to use for Isia...03:27
* Arnia tries to decode zope.form03:27
srichterwell, currently there is no real alternative to it, unfortunately03:27
ArniaI have pagelets running now... with conditions etc. We have a skin using pagelets to control the flowing of every components. Next step, turn unify pagelets and form rendering. Down with hardcoded magic! ;)03:29
srichterArnia: do you use the pagelet code from
srichterBTW, Gary is working on a reqrite03:30
Arniasrichter: No... I'm using my own code which I wrote last summer. isia.siesia.schema03:31
srichterI see03:31
Arniasrichter: The code is instructive and its prompted me to consider rewriting my own code... but it misses a few vital features.03:31
ArniaAnd the maintainer apparently doesn't see them as important03:32
srichterwell, you should improve on the code in the zope core03:32
ArniaI'm not sure the needs overlap03:32
srichterprojekt01, who wrote the code, will not mind03:32
srichterwe need people to review that code badly03:32
ArniaThe Zope Core pagelets are treated like portlets... rather than being a part of a fundamental shift in how views are generated03:32
ArniaIn effect, a pagelet is just a subsort of a view, with extra bits of information on (such as weight, condition, ESI cache info)... but they can be nested. I'm still considering the idea that forms are another sort of pagelet03:34
srichterwell, I am not sure the entire pipelining is the solution03:35
ArniaWe don't pipeline03:35
ArniaNot in the running code03:35
ArniaIt inserts pagelets from the top down... each region responsible for adding its own pagelets (region is IMO a better name than 'slot' which is associated with portlets, a concept not eliminated or subsumed by pagelets)03:36
philiKONhow is a region differnet from a slot?03:36
ArniaPortlets are semantically different from pagelets... portlets are secondary content elements which are flowed together in slots. Pagelets are chunks of page render. Portlets should be treated differently in my mind -- for example giving users the choice of which portlets to display, whereas pagelet display and region placement is a sysadmin's decision.03:38
philiKONthen my understanding of pagelet was right03:39
philiKONa chunk of the page we want to render03:39
ArniaIn Siesia LF, *everything* is generated by pagelets. We're looking to have pagelets automatically add ESI information around themselves for example (if the administrator wants) so that the caching becomes selective and more effective03:39
philiKONthat's a good approach03:40
philiKONlike srichter said, itwould be great if we had some of these ideas flow back into
philiKONbtw, I too want EVERYTHING to be done by pagelets03:40
KurtBsrichter, blackboard has won the hearts and minds of $$administrators$$ through marketing.03:40
philiKONbasically, i want to castrate that standard_macros junk to a minimum03:40
srichterKurtB: yep03:40
srichterI think the boston skin is a perfect sandbox for those ideas03:41
ArniaThe main motivation for using such a concept is that we have a very modular system in terms of functionality but a monolithic view generation system03:41
Arniasrichter: The Siesia LF skin is better in terms of markup... believe me03:41
Arniasrichter: Mikey has out-done himself03:42
srichterbut it is not in the Zope Core, so it does not exist for me as an option03:42
ArniaIt uses pagelets wonderfully, to make accessibility easy to maintain03:42
KurtBWell, my first forays into plone 3 have not been overly painful. I'm starting to get it. :-) Now, going home to clean stalls.03:42
ArniaAnd its the most flexible skinning with the lightest markup I've seen.03:43
KurtBoh, don't get me started on accessibility... after talking about blackboard! ;-)03:43
philiKONKurtB, s/plone/zope/03:43
srichterthe only person that has contributed to UI design in recent years is roger, so he has my full support till other people start contributing03:43
philiKONArnia, so, bring it on! i want that in zope 3 for everyone to use03:43
* KurtB is brain dead after being bludgeoned by zope3. 03:43
philiKON(btw, what's blackboard)03:43
srichterphiliKON: a WEb app to manage courses03:44
ArniaphiliKON: We're working on it. We have project management and stuff and are trying to get everything suitable for others to use (docs etc)03:44
srichterdocument upload, grades, discussion board, ...03:44
KurtBphiliKON, oh, just a very overpriced cms with a couple of "educational" widgets installed, and then sold for a lot of money.03:44
philiKONArnia, if it were integrated into z3, that would be a lot better. think of the synergy effects...03:44
KurtBThanks guys! See ya' tomorrow.03:45
srichterKurtB: bye03:45
*** KurtB has quit IRC03:46
* tvon notes that SchoolTool would love some contributions related to Blackboard replacement (or anything else)03:46
ArniaphiliKON: But Z3 has committed to Boston now?03:46
tvonBoston can change if the core improves03:46
srichtertvon: yeah, if I would rewrite blackboard, I would start with the relationship manager from SteveA03:47
philiKONArnia, boston is something that was started by projekt01 and srichter impulsively03:48
philiKONArnia, we'll see where it goes03:48
ArniaAnd how many skins can support? :p03:48
philiKONwell, boston is just an experiment as far as i understand03:49
tvonsrichter: schooltool has a relationship system.. probably from SteveA since he rewrote schooltool a lil while ago03:49
srichtertvon: yep03:49
philiKONArnia, just like rotterdam was a temporary thing ;)03:49
tvonsrichter: I've wondered why that hasn't made it into core, it's very nice03:50
ArniaphiliKON: We are writing a HIG too... which works nicely with the accessibility and pagelets03:50
philiKONArnia, seriously, i think efforts can be merged here... it's great that inspired you, but your ideas should also inspire
srichtertvon: because SteveA never contributed it03:50
ArniaphiliKON: Uhh... I wrote my pagelets months before Roger afaict03:50
philiKONArnia, no, i meant your statement from above03:51
ArniaphiliKON: Human Interface Guidelines03:51
philiKONthat you looked at roger's pagelets and considered to rewrite some of your code03:51
philiKONanyway, yes, i was quite disappointed to see roger also implementing pagelets when you guys already had an implementation03:51
ArniaphiliKON: Ah, ok. I'm just thinking about how to go about this...03:51
philiKONbut, as it turned out, roger contributed to z3 and is actively using them03:51
tvonsrichter: ah, well that's no fun.. I'll talk to folks about getting it contributed03:51
projekt01Arnia, It's a port of your concept, it's  really the same. It's just different implemented.03:52
philiKONhey, there he is03:52
philiKONstill awake, eh?03:52
projekt01Of corse03:52
Arniaprojekt01: Well... its not exactly the same... I'm curious to know why you don't include conditions and call the regions slots.03:52
Arniaprojekt01: I thought long and hard about those things before making those decisions...03:53
philiKONi think both and are far from perfection. i hope that fresh ideas can still be woven into them03:53
philiKONthat was my good night statement03:53
philiKONg'night all03:53
srichterboston and pagelets are not going to make it into 3.1, so there is plenty of time to review and improve it for 3.203:54
projekt01Arnia, I wasn't sure if conditions are the right concept03:54
projekt01They are sued in ZCML03:54
*** eaon has joined #zope3-dev03:54
projekt01We don't use this much configureation in ZCML right now03:54
Arniaprojekt01: Yes, because they're a deployment decision03:54
* th1a notes that SchoolTool is going to need some kind of serious pagelets/portlets action soon.03:54
Arniaprojekt01: And because pagelets need conditions for other reasons03:55
srichterArnia: saying why did you not do this or that is not fair. make a proposal, formal or informal, and then intergrate the feature03:55
projekt01But this is not what we like to have in ZCML03:55
Arniaprojekt01: Not all pagelets are templates after all03:55
srichterI am tired of seeing people jsut talking and not acting03:55
Arniaprojekt01: Where else can it go?03:55
eaonprojekt01: but menus support that too?03:55
philiKONprojekt01, why not have the condition in zcml? would it hurt there?03:55
Arniasrichter: I am acting. I am writing code, I'm working on it. I'm curious as to why another decision was taken from the one I was taking03:55
projekt01eaon, where?03:55
Arniasrichter: That is not just talking, that's trying to understand what has been done before so I can integrate my ideas like you wish03:56
eaongive me a sec03:56
projekt01eaon, ok03:56
srichterprojekt01: menus have a condition attribute03:56
eaonhello everyone by the way :)03:56
philiKONhi eaon03:56
srichterthat evaluates a TALES expression to true or false03:57
eaon(it's the condition attribute is called filter)03:57
philiKONright. a simlair thing for pagelets would be quite useful03:57
ArniaYes, that's what my conditions attribute does03:57
philiKONi can imagine use cases03:57
ArniaPossibly need an ESI condition too... need to think some more about that03:57
philiKONmaybe we can keep ESI out of this for now03:57
projekt01srichter, yes conditions are for to set True or False03:58
philiKONi think we probably want special views (and views on pagelets) for ESI03:58
projekt01This is the only different (or missing future) to Sessia03:58
eaonESI should be kept in mind for the future though03:58
ArniaphiliKON: Its important for some things I wish to do... which is why I'm considering it.03:58
philiKONright, but we shoudl start out simple03:59
projekt01I implemented pagelets/pagelet and pagedata which is all what we need for future concept based on viewlet, pagelet, portlets or whatever we like to implement03:59
eaonthats what we're doing :)03:59
philiKONeaon, good :)... ESI support will likely need  a new set of views anyway04:00 is a generic implementation of Sessia's pagelets04:00
ArniaphiliKON: I'm not convinced by the need for new views...04:01
Arniaprojekt01: Generic? How?04:01
ArniaBut *shrugs* :)04:01
eaon(Siesia btw - yes, a little hard to remember, sorry)04:01
projekt01It's wide open for future applications and is built on a pure mulitadapter concept04:01
ArniaOurs were multiadapters04:01
Arnias/were/are ;)04:02
projekt01There is nothing special it offers more or less only directives for register this multiadapters04:02
projekt01On the right interfaces04:02
* philiKON really goes to bed now04:02
projekt01All other parts are up to the developer what pagelets portlets or viewlets can be04:03
projekt01And how they get lookuped04:03
Arniaprojekt01: Exactly like ours then :)04:03
projekt01I added just a sample called pageletchooser where such a implementation is shown04:03
projekt01Yup, excatly the same04:03
ArniaMultiadapters to an interface... the pagelet directive is just an easy way to specify template based pagelets04:03
ArniaCan your pagelets nest?04:04
projekt01To (context, request, slot, view) registred as named adapters04:04
projekt01Yes, nested call other pagelets from a ZPT and this ZPT can call other pagelets04:04
ArniaAnd can each pagelet have its own view class?04:05
projekt01Belive me I was looking at your concept and reimplement it again in  z3 way04:05
ArniaI thought I wrote it in a Z3 way :p04:05
* Arnia feels impugned ;)04:05
projekt01I improved the permission proxy use and other parts04:06
ArniaThe permissions were the bits I could quite get... but I seem to have a mental block on the security system for some reason04:06
projekt01Sessia checks the permission on attributes z3 pagelets are proxied04:06
ArniaMay we have conditions on the Z3 pagelets then?04:07
Arnia(iirc it was fairly trivial to write... *checks*)04:07
projekt01Should we add conditions on z3 paglets?04:08
philiKON+1 on pagelet conditions04:08
projekt01I'm pretty sure if we provide the condition attribute in the directive I'm pretty sure your Sessia configure.zcml will work if you change it to browser:pagelet04:09
Arniaprojekt01: Also, we need macro name specification04:10
projekt01Arnia, can you try to use some Sessia configure.zcml and siwthc to browser:pagelet without use the condition?04:10
Arniaprojekt01: So that people can build full page templates in Dreamweaver say and mark out their pagelets using macros and still call them04:11
projekt01That's the same you can also use inline code in the ZPT04:12
projekt01  <metal:block tal:repeat="pagelets">04:12
projekt01    <tal:block metal:use-macro="pagelets" />04:12
projekt01  </metal:block>04:12
Arniaprojekt01: How does the pagelet directive select for a particular macro in the file?04:12
philiKONArnia, what do you mean by macro name spec? please, no naming convention or anything04:12
ArniaphiliKON: I mean the ability to say "I want to take my pagelet from this macro in this template file"04:13
philiKONthat should be in the browser:pagelet directive04:13
ArniaphiliKON: It is in the Siesia one... not (afaict) in the zope one04:13
projekt01Pagelets are named multi adapters, the name is the name of the macro in the ZPT04:13
ArniaReally? Oh... ok04:13
philiKON<browser:pagelet .... template="" macro="bar" />04:14
ArniaSeems a bit... magic to me... dunno though. Is that accepted practice?04:14
philiKONah, cool04:14
philiKONit makes a lot of sense04:14
Arnia(name doesn't seem the right word to use... I wouldn't have understood that personally...)04:14
eaonprojekt01: having a condition on a pagelet and having a condition in the zpt, is quite different... most of the time such conditions will be used for administration use, and not development one, so editing the code for this is not the way it should be done (as it is able to break easily on upgrades - we had a lot of that in plone)04:14
philiKONArnia, that usage of named adapters is very z3ish though04:15
philiKONArnia, don't see it as a macro name04:15
projekt01Arnia, then call <span tal:content="pagelet:aInterface/name" />04:15
philiKONArnia, see it as an id of that particular IJavaScript pagelet04:16
Arniaprojekt01: Uh... but you might have several pagelets in a single template, all with different macros... how would you render them all?04:16
projekt01eaon, I'm not against using condition in pagelets directive. I think there is to much configuration. I like to register pagelets on the right component instead of using conditions04:16
projekt01eaon, can you give me a sample for conditions?04:16
philiKONprojekt01, sometimes conditions aren't component-driven04:17
philiKONprojekt01, but maybe user or request driven04:17
Arniaprojekt01: sometimes they depend on a single field from the context object04:17
projekt01philiKON, register the pagelets for this component or even a single view like a edit view of the ocmponent. This is not a usecase for conditions04:17
projekt01Arnia, That's exactly what we don't like to use in ZCML04:18
projekt01ZCML is not a scripting language!!!04:18
philiKONbut it's the wiring04:18
philiKONand this is part of the wiring04:18
philiKONit defines how the wiring is supposed to happen04:18
Arniaprojekt01: What if the existence of a pagelet in a particular rendering of a particular deployment (and this is a deployment scenario) depends on something in the request (an error message say)04:19
philiKONprojekt01, yes it is; take this condition, for example: == 'en'04:19
projekt01If you say thats wirring, why do we not have conditions in edit views or all directives, why should a edit view not define field constraints in ZCML?04:20
projekt01Remeber pagelets are just views.04:21
ArniaI'm seriously considering that actually04:21
projekt01Views do not have such conditions in ZCML04:21
philiKONyou're right04:21
ArniaBecause it is just wiring... important wiring at that04:21
philiKONadapters are just looked up04:21
projekt01This has to be handeld in the view class04:21
philiKONso, either we need conditional adapter lookup (for all adapters) or we dont' have conditions for pagelets04:22
projekt01You can return a pagelet, ubut this means not the the pagelet shows something if the condition doesnt fit04:22
Arniaprojekt01: conditions are important as they're usually a deployment issue. Hence why they should be definable in ZCML04:22
ArniaOtherwise everyone has to subclass for deployment04:22
projekt01philiKON, yes you proposing this for pagelet (multi adpater)04:22
ArniaWhich is not a great demonstration of reuse really04:22
projekt01Adapters are normaly registred on one interface, views a re muti adapter where we can use the request which we can use for layers/skins04:23
philiKONso, on one hand we have Arnia who is use-case driven; his argument is that it's deployment-driven... whcih is very true04:23
philiKONon the other hand, pagelets are just adapters04:23
projekt01Pagelets include also views and slot interfaces04:23
philiKONa very pure concept04:23
projekt01If we use conditions I think we get a "do it all in one solution"04:24
philiKONprojekt01, btw, right now, we're always assuming that pagelets are ZPT macros, right?04:24
ArniaphiliKON: Shouldn't do really... pagelets may be used in binary or non-XML generation04:25
philiKONalthough... those could be different multi-adapters04:25
ArniaphiliKON: It would be nice to reuse the modularity of view construction if we can though04:26
projekt01If we have conditions, pagelets can do everything04:26
philiKONwe could, by definition, say that a "pagelet" is always a multi-adapter that returns a page template macro04:26
philiKONArnia, view construction is up to your app04:26
philiKONnot pagelets04:26
projekt01Yes, that's correct04:26
philiKONprojekt01, what do you mean by "can do everything"?04:26
ArniaphiliKON: view construction is up to whatever machinery is used by the app... no need to force people to reinvent the wheel all the time04:27
philiKONwell, for binary representation, view construction is what... concatenation?04:27
philiKONthe only big wheel we have is lookup, and thanks to adapters that is handled by the adapter service (now site manager)04:27
ArniaphiliKON: For non-binary non-XML we still need a modular way to include content04:28
Arnia(into the render)04:28
projekt01A adapter is somthing like to get a python instance if you give the right (provided) components adapting this components. You also can instance dummy components providing the right interfaces and give them for calling getMultiAdapter. If we do this you can do everything04:28
philiKONArnia, yes, but that's a) yagni for now and b) depends on the scripting language (DTML or whatever) used and c) is probably out of scope of
philiKONprojekt01, i know all this, but i don't understand your statement about being able to do everything04:29
ArniaphiliKON: I disagree... I need it to generate Notation3 renders for a project I'm working on. I'd like to use pagelets to do this since they're the same concept just I'm doing it without an XML format04:30
philiKONArnia, but with XHTML/XML, we obviously want to use pagetemplates04:30
projekt01If you have a context, view and request, you only have to use the right slot and call a named pagelet. What you do with the pagelet (which is only a python instance) is up to you.04:31
philiKONso, with XHTML/XML that serves as our "pagelet construction kit"04:31
philiKONwhatever you use for your NOtation3 as a dynamic engine for content generation will have to look up named multi adapters04:32
philiKONit's that simple04:32
philiKONcall them pagelets or not04:32
ArniaphiliKON: Yes... but I think pagelets are more general as a concept than just XML. So I'd like to avoid restricting ourselves for no good reason. Not asking for a complete implementation of non-XML, just not restricting ourselves apriori. Is that ok?04:32
* tvon wishes irc was threaded04:32
philiKONyes, that's ok04:32
philiKONbut, we should also keep the focus of in mind04:32
ArniaphiliKON: I just separated the general composition stuff from the specific TemplatePagelet version04:33
ArniaphiliKON: I think that's a good principal to follow... who knows what wacky applications of the composition machinery future developers may dream up04:33
philiKONtake this exmaple from the boston skin:04:34
philiKON  <metal:block tal:repeat="pagelets">04:34
philiKON    <tal:block metal:use-macro="pagelets" />04:34
philiKON  </metal:block>04:34
philiKONhere, we assume that whatever is looked up as a pagelet is a zpt macro...04:34
ArniaphiliKON: Regions are based on a particular collection of pagelets though04:34
philiKONso, you mean that all ICSS pagelets can be assumed to be zpt macros?04:35
ArniaBut I take your point04:35
projekt01Arnia, pagelets can be called form python views and return code from the pagelet instance without to us a ZPT04:35
Arniaprojekt01: Sorry... I didn't follow that. Could you rephrase?04:35
projekt01You can implement a pagelet which returns not macro code, perhaps we have to call it xmlpagelet04:36
philiKONit might be a good rule to have pagelets that are used in ZPTs adapt to an interface that inherits IZPTPagelet or something04:36
projekt01Then you can handle xml04:36
projekt01And use it somewhere04:36
projekt01PhiiliKON, yes04:36
philiKONso, in the above example, ICSS would inherit from IZPTPagelet04:36
ArniaphiliKON: I meant its a sensible assumption, but since pagelets are mapped to regions by deployment its not entirely sensible. But if we did it like you suggested then I think that would work.04:37
philiKONso that we explicitly can expect from that pagelet to be a zpt macro04:37
ArniaICSS is a region is it not?04:37
projekt01I think it does smothing like that04:37
philiKONi guess it denotes that04:37
projekt01Arnia, Yes04:37
philiKONah, i just found IPageSlot04:38
projekt01I think a region is in Sessia a string in z3 it is a interface or a dotted name of the interface. This makes it better follow whats happen04:38
projekt01philiKON, Yes04:38
Arniaprojekt01: I'd also like to explain why I chose the term 'region' rather than reusing the term 'slot' (it wasn't just caprice on my part)... basically, I don't think pagelets and portlets should be managed together04:38
Arniaprojekt01: Its an interface in Siesia04:38
ArniaDeliberately so04:38
philiKONinterfaces rock :)04:39
philiKONArnia, also, slot is more of a zpt term04:39
* philiKON likes region04:39
projekt01Ah, ok04:39
ArniaphiliKON: Yes04:39
philiKONregion is very descriptive04:40
philiKONa region really is an interface04:40
philiKONa slot is just some structure in a zpt macro04:40
projekt01I think slots are a common term for to tell everybody that something is inserted. Python use slots too in modules.04:40
projekt01I think slots are also use in the TAL engine for macros. But I'm not sure.04:41
*** tvon|desk has joined #zope3-dev04:41
philiKONa pagelet adapts (context, request) to the region04:41
projekt01This slots get filled with other content form a macro04:41
philiKONprojekt01, right04:41
philiKONanyway, we should probably use the word region and come up with a well-defined nomenclature for pagelets04:42
* philiKON is very sensitive about nomenclature after having written a book04:42
philiKONonly the condition issue remaining04:42
ArniaphiliKON: I wrote a lot in my documentation04:42
projekt01Arnia, does the Sessia pagelet only adapt (context, request)?04:43
ArniaphiliKON: I'm quite sensitive to defining terms04:43
Arniaprojekt01: No... context, request, view, region04:43
* Arnia goes to check that04:43
projekt01Arnia, I was thinking so04:43
philiKONwhat are pagelets?04:44
philiKON(context, request, view) => region?04:44
Arniaprojekt01: I don't adapt request... but I was going to04:44
ArniaIn mine I adapt to IPagelet04:44
*** `anthony has quit IRC04:44
philiKONadapting to the region seems more elegant04:44
ArniaDoes a 'weight' make any sense on a region?04:45
projekt01The directive for z3 pagelets uses the following registration:04:45
projekt01args = ('provideAdapter', (for_, layer, view, slot), IPagelet, name, new_class,,)04:45
ArniaI'd argue that adapting to the region means putting nonsense information on interfaces (from a human point of view)04:46
philiKONprojekt01, mmh, so you also adapt to IPagelet04:46
philiKONprojekt01, why not adapt to slot?04:46
philiKONArnia, huh?04:46
ArniaphiliKON: IPagelet includes information about weights, conditions etc04:46
ArniaphiliKON: Why would that be relevant to a IPageRegion?04:47
philiKONwell, here's why i don't like adapting (for, layer, view, slot)04:47
philiKONfor is my context object04:47
philiKONlayer is the request04:47
philiKONview the view objegct04:48
philiKONbut what objecdt represents the region (or slot here)04:48
philiKONslot is just an interface04:48
philiKONa region is represented by an interface, not by an object04:48
philiKONso, either we are adapting interfaces, or dummy objects04:48
philiKONto me it sounds cleaner adapting to the region04:48
philiKONand from an architectural point of view:04:49
projekt01But you get a pagelet and the pagelet don't provide the IRegion interface04:49
ArniaphiliKON: it wouldn't be IPageRegion then... it would be IRegionPagelet04:49
philiKONIRegion would be a marker interface subclassing IPagelet04:49
philiKONArnia, right04:49
philiKONclass ICSS(IPagelet):04:50
ArniaAlso means you could restrict all pagelets in a region to be of a particular sort04:50
philiKONprojekt01, i don't like slot being a dummy Wrapper() instance right now04:51
projekt01philiKON, you proposing that the slot is obsolete, hm. Let's think about it.....04:51
philiKONprojekt01, creating an object just for the sake of adaption soundsn bogus04:51
philiKONadaption should always be meaningful04:51
ArniaNo, not that slots are obselete... just that they're represented differently04:51
philiKON(context_object, request, view) ====adapt===> slot/region04:52
philiKONnote that we right now have an analogy with views:04:52
philiKON(context_object, request) ===adapt===> IBrowserPublisher   (if a view wants to be published through zope.publisher to a browser)04:52
ArniaHah... IBrowserPublisher as a region ;)04:53
philiKONif you want :)04:53
projekt01philiKON, Ok I see, let's find it out if this works.... Not a bad idea. But perhaps there are other reason for not doing this04:53
ArniaI like it the more I think about it04:53
philiKONprojekt01, i will formally propose this next week in a proposal04:53
philiKONthat should give us all time to think about it04:53
projekt01I just don't know right now, but is sound good04:53
ArniaWould be interesting to see if widgets could be treated as pagelets04:53
philiKONin the end, i want EVERYTHING to be a pagelet04:54
philiKONeven the contents.html view04:54
philiKONso that i can reuse it04:54
Arnia(to allow form generation to pull stuff from orthogonal interfaces)04:54
philiKONyeah, editforms should be pagelets too04:54
projekt01philiKON, Arnia, I like every improvements on pagelets04:54
ArniaEach generated form could be a new region04:54
ArniaWith pagelets registered for each widget04:54
philiKONthat's an interesting approach04:55
* philiKON likes04:55
ArniaSo the whole generation machinery becomes just pagelet look up04:55
philiKONwe should write these up into proposal04:55
philiKONso gary knows what's coming at him for 3.2 form wrap up :)04:55
philiKONanyway, nice talking to you tonight04:55
ArniaYeah... who should write it?04:55
philiKONi'm really really going to bed now *grin*04:55
projekt01Arnia, javascripts used in special widgets, that's was the reason I started moving Sessia pagelets to z304:56
*** `anthony has joined #zope3-dev04:56
philiKONArnia, well, we first need to get 3.1 out of the door before we touch anythign that is going to be released in 3.104:56
Arniaprojekt01: My interest in using pagelets for forms stems from allowing me to improve the markup of widgets easily or allow new renders to be dropped in04:56
ArniaPDF forms for example...04:56
philiKONArnia, is not in 3.1 so we can start messing with it now04:56
ArniaphiliKON: Ok, cool04:56
philiKONbut the formal proposal process for a revamp (e.g. pagelets) could start now04:57
projekt01Please drop me a note if you refactoring pagelets, it has not to be backward compatible, but we use it in productive projects04:57
philiKONanyway, let's think about the adaption (and condition) thing for a couple of nights and finish that discussion nextw eek04:57
ArniaphiliKON: Ok, sure04:58
philiKONprojekt01, of course. from me you'll always hear in form of a proposal (or at least an RFC to zope3-dev)04:58
ArniaI may begin hacking on ideas now though... just to test some stuff04:58
Arnia(on my own system of course)04:58
projekt01I think migration isn't a problem because it's nothing persitent04:58
*** philiKON is now known as philiZZZ04:58
eaonsleep well04:58
projekt01PhiliKON, good night04:58
projekt01Arnia, are you interested to work on z3 pagelets after the 3.1 release?04:59
projekt01Arnia, perhaps you can take a look at There is the abstraction described where we have done05:00
*** projekt01 has left #zope3-dev05:03
*** BjornT has quit IRC05:17
*** hazmat has quit IRC05:55
*** RaFromBRC is now known as RaFromBRC|out06:27
*** ignas has joined #zope3-dev06:41
*** hazmat has joined #zope3-dev06:44
*** `anthony has quit IRC07:41
*** viyyer has joined #zope3-dev08:05
*** th1a has quit IRC08:43
*** hazmat has quit IRC08:44
*** ignas has quit IRC08:45
*** hazmat has joined #zope3-dev08:53
*** `anthony has joined #zope3-dev08:54
*** sashav has joined #zope3-dev09:32
*** Theuni has joined #zope3-dev09:38
AJCwhat's the easiest way to get a new plain ReST page?10:13
Theunimaybe touch "file.rst"10:15
AJCnah, i mean within the Zope3 hierarchy itself10:16
AJCis there an object that does this for me or do i need to code up a simple page?10:17
* Theuni shuts up10:21
*** admp has joined #zope3-dev10:23
*** vlado|away has quit IRC10:28
*** vlado|away has joined #zope3-dev10:29
*** Jim7J1AJH has quit IRC10:30
*** Jim7J1AJH has joined #zope3-dev10:32
*** vlado|away is now known as vlado10:45
*** projekt01 has joined #zope3-dev11:10
*** admp has joined #zope3-dev11:11
*** MrTopf has joined #zope3-dev11:27
projekt01srichter, ayt11:32
Arniaprojekt01: heya11:32
projekt01Arnia, do you have productive z3 projects in development?11:33
ArniaYou mean client deployments?11:34
ArniaNot at this time, no. Although I may do in a month11:34
Arnia(negotiating atm)11:34
ArniaI want to move the NN site across to Z3 asap anyway for various reasons11:35
ArniaSo if our internal site counts as a deployment ;)11:35
projekt01of corse11:35
*** philiZZZ is now known as philiKON11:36
ArniaI have been looking over your z.a.pageletchooser stuff11:36
philiKONmoin guys11:36
ArniaI was wondering about how the pagelet names render in the interface11:36
AJCis the zope3-dev list administered?11:36
ArniaHey philiKON11:36
philiKONAJC, no, but you need to be subscribed to post11:37
projekt01Arnia, it's just a example of one way do choose pagelets, there are many other possible ways to do this11:37
philiKONAJC, as for this rest page, you need to code it yourself; i have a very basic implementation for my site, see wcsite-1.0.tar.gz on
AJCphiliKON: hmmm, i think i made the mistake of attaching my twisted script, which probably got filtered11:38
AJCphiliKON, fantastic, thanks11:38
Arniaprojekt01: Yes... but I'm always thinking of usability of deployed code ;)11:38
philiKONAJC, i see your post with the attachment11:38
projekt01Arnia, you are right, perhaps we can improve it for 3.211:38
Arniaprojekt01: I was wondering whether a general way to give longer titles and descriptions to interfaces may be good11:39
Arniaprojekt01: s/interfaces/interfaces, classes and adapters/11:39
Arniaprojekt01: Maybe apidoc has a way to extract stuff from docstrings?11:39
projekt01Hm, I don't understand this11:40
projekt01What do you mean with longer titles?11:40
projekt01In pageletchooser?11:40
projekt01Or use the interface as key in ZPT?11:40
projekt01Interface = dotted name of the interface11:41
ArniaIn chooser... and in palette style selections (if we go for 'draggable' page design)11:41
ArniaSo people know what these strings of characters are11:41
projekt01Ah, you mean if we drag a pagelet from one slot (region) to another11:42
projekt01And then we have to show a meaningful name11:42
ArniaWell... it doesn't matter the precise interface but yes. We need human meaningful names11:42
ArniaI think this may be something that applies generally across components11:42
projekt01Ok, this is where we need another pageletchosser11:43
projekt01I worte some comments in the code11:43
projekt01Perhphaps tat's a job for a layoutmanager11:43
ArniaPerhaps... something to consider for choosers11:43
projekt01Yes, of corse11:44
projekt01I use already another pageletchooser in our project11:44
Arniaprojekt01: Also, we've already begun work on a best-practices style-guide as part of our HIG. Interested in looking it over?11:44
Arniaprojekt01: Its based on our experiences with building the Plone markup and accompanying default CSS. As well as our experiences doing CSS-only customisations (such as on our website)11:45
projekt01Yes, of corse, but in general I think it is sometimes a overhead. Most the time I just need some slots (region) for Javascript, CSS11:46
AJCcongrats for the book philiKON11:46
projekt01But you are right, for a general page layout it's cool to have a standard way.11:46
philiKONAJC, thanks11:46
projekt01Like you say best-practice or recommended11:47
Arniaprojekt01: How is it overhead to have a set of best-practices? Besides, one of the main goals we've had for Siesia was to make it so developers don't need to touch mark-up11:47
Arniaprojekt01: We've seen first hand how those without the specialised skills involved tend to mess it up without realising. Creating an accessible, valid and lightweight UI is surprisingly hard.11:49
projekt01If we recommend all regions like used in Sessia and I can just pick some of them, it's not a overhead. But if I have to use all of them and mose regions never get filled11:49
Arniaprojekt01: Well that doesn't matter to a CSS-styled skin so much. Especially since we do an empty region check in LF I believe11:50
projekt01Ok, sounds good11:50
projekt01For me it was hard in the first time to see what I need and what is not needed. I think that's all the time one of the biggest problem not only with pagelets11:51
projekt01In the first time I like to show what's a pagelet. And later we can make exesive use of them11:51
Arniaprojekt01: We've spent about 8 months analysing the semantics of a view's regions and have come up with a good list of 'standard' regions. Not all sites need all of them... however shuffling pagelets should be a semantic shuffle, not done purely for graphic effect11:52
projekt01But if you show a Sessia page to a new develeoper, he will quit an use something else.11:52
Arniaprojekt01: But that's a requirement of accessibility (and I'm not becoming liable because of the DDA under any circumstances ;)11:53
projekt01That's the reason that everybody is scarry about pagelets right now. It's to much at one time11:53
Arniaprojekt01: If you show him all at once, yes he will run away. However you're not meant to touch most of siesia11:53
projekt01Yes I understand, we don't have this much UI people here in z3. More or less nobody.11:53
Arniaprojekt01: You're meant to build your own small chunks as and when you need them and know that most of the site is comfortably present anyway11:54
*** lunati1 has joined #zope3-dev11:54
Arniaprojekt01: I'm again pushing for pure CSS design as much as possible simply because there is no better way to ensure accessibility. It helps that more and more designers are training on CSS as a first-step11:55
projekt01If we like to integrate pagelets we have to be carfull and make sure everybody can follow.11:55
philiKONprojekt01, we just need good documentation, that's all11:56
projekt01Yes, but some important things are not possible with pure CSS11:56
projekt01Yes, sure11:56
Arniaprojekt01: Such as?11:56
Arniaprojekt01: Reflowing of elements isn't possible in tables either... but is possible with pagelets in both11:56
projekt01A left slot can dynamicly change the width11:57
Arniaprojekt01: Yes, that can be done with CSS.11:57
projekt01We don't reload the page everytime,  we use also XMLHTTP requests,11:57
projekt01No this can't be done in CSS11:57
ArniaYes it can. I've done it11:57
ArniaYou use a float11:58
philiKONprojekt01, don't underestimate the power of CSS11:58
*** MrTopf has quit IRC11:58
projekt01I know the power of CSS and I know also the bugs there11:58
Arniaprojekt01: Tom, Mikey and I have hit virtually every bug under the sun whilst working on Plone. We've got good ties with various members of the browser teams and we have found workarounds for most of the showstoppers we found.11:59
Arniaprojekt01: No, CSS can't do everything. But it can do more than tables, and it allows a structured markup. If you don't use structured markup you risk failing WCAG12:00
projekt01I hate workarrounds for everything. if I can use the nice old table layout. Of corse if accessibiity is a requierment, then we have to use pure CSS. But pure CSS is not the only right thing.12:00
projekt01But how many people can do this?12:00
ArniaFail WCAG and you can be sued. Plain and simple. And it is enforced by various bodies (RNIB being one of the strictest)12:00
Arniaprojekt01: We managed to get plone.css to zero workarounds in tableless layout12:01
philiKONprojekt01, that's why it is so important we use pagelets everywhere, so that we can make a crappy table-based skin until some CSS genius comes and does the whole thing WCAG-compliant for us12:01
projekt01I don't speak about everything. Sure, enduser skins have to use CSS. But not the ZMI.12:01
Arniaprojekt01: Why not the ZMI?12:02
philiKONwhat *is* the zmi12:02
Arniaprojekt01: Don't blind people edit content now?12:02
ArniaManage sites etc12:02
projekt01Where should it do? The last 2 years nobody has had the skills and the power to do it. And I just tell everybody don't do it if we not have the skills.12:03
projekt01Of corse if you like to do it and support it, it whould be nice to have it.12:03
ArniaWe are doing it12:03
ArniaThat's why we're writing Siesia LF atm12:04
projekt01But we used a CSS layout which was not working and that's not what I think we should have.12:04
ArniaIt ain't ready yet, but its getting there very quickly12:04
Arniaprojekt01: ?12:04
philiKONArnia, just make sure it'll be re-contributable to z3 and everybody will be kissing your toes12:05
ArniaphiliKON: We've been writing all our stuff under the ZPL so it can be transfered to core if desired12:05
projekt01The sample where I saw some times ago in Sessia LF is defently a overhead for a Rotterdam replacement.12:05
philiKONArnia, that's nice12:05
ArniaphiliKON: We just prefer hacking on our own server when experimenting with our ideas so we don't mess up core in the process12:06
Arniaprojekt01: Siesia... and it isn't designed as just a Rotterdam replacement. However the overhead is tiny. The markup is highly structured, yes... but its accessible and light too12:08
Arniaprojekt01: And a business is just as likely to be sued if its employees aren't given accessible interfaces. So there is no excuse for lack of accessibility in any part of a user interface12:09
projekt01What do you think? Can we use a small set for Rotterdam and a "all region" set for enduser skins?12:10
*** mexiKON has joined #zope3-dev12:12
Arniaprojekt01: I don't see why there should be a difference. Look at the markup structure of LF. The regions don't add to the weight of the generated markup12:12
*** philiKON has quit IRC12:13
Arniaprojekt01: Why is Rotterdam so special?12:13
*** mexiKON is now known as philiKON12:13
projekt01Arnia, what do you mean with special?12:13
Arniaprojekt01: Personally, if I were a business I'd want my staff entering information in on the same interface others view it... same branding. Boosts morale12:13
Arniaprojekt01: You're special casing one skin... I don't understand your reasons for it12:14
projekt01That's not the z3 concept, nobody think so. But I think this way too.12:14
philiKONprojekt01, uh, *what* is not the z3 concept?!?12:14
ArniaErr... repeat please.12:14
* Arnia is very lost12:15
projekt01Can you agree that we can use more then one skin for a application?12:15
philiKONsure, sometimes that's requested by the customer even; but many times you don't have to use more than one skin12:15
ArniaYou can... whether you should or not depends on the case12:16
ArniaUsually you shouldn't to be honest12:16
projekt01Can you agree that one skin uses "zmi_views and zmi_actions" and another skin "user_views und auser_actions"12:16
ArniaNo, I can't12:16
ArniaIts dividing the user interface in two, which is bad anyway, and dividing it poorly at that12:16
projekt01That's the last stand of the UI concept, every skin has it's own stuff. Not everything is workig out of the box. Because this restrict everything.12:17
ArniaUsers don't sit entirely in one camp or another, they are on a continuum between the 'camps'12:17
projekt01Let's explain it a little bit more...12:18
ArniaA single task could require them to use both skins, if you have two skins. It is unacceptable for the user interface to change so much in a task flow12:18
projekt01If you use the wiki, and you use a own skin with "xy_views" theh you can register the pages to this xy_views.12:19
projekt01Yes, but you have to register the pages or other stuff to the second UI. It's not working out of the box12:19
ArniaWell, I'm a bit fed up of the 'product' mentality that this is a part of that approach12:20
projekt01Otherwise you propose everybody has to follow the Sessia region requierements12:20
*** `anthony has quit IRC12:20
ArniaSiesia not Sessia. And what do you mean by region requirements?12:21
projekt01That's not nice. You allways can write own skins and register the components where they are used in the second skin12:21
projekt01A region set like used in Siesia is only one way12:22
ArniaOnly one way to do what?12:22
projekt01A product, package, or let's say the views in this package can allways registred for other skins/layers with a different set of regions12:22
projekt01Something like the Siesia regions are only a recommendation. But this does not mean without them there is no way to use a package/product12:23
projekt01Of corse you have to register everything again12:24
ArniaWell... I'll put aside the fact that I think layers are fundamentally broken :p12:24
projekt01No, why?12:24
ArniaMost of the 'UI bugs' in Plone 2 were actually caused by the layer system12:24
ArniaIt implicitly hides stuff and that is plain broken12:24
ArniaPeople find it very difficult to keep track of all the layers in a complex user interface12:25
ArniaAnd the forget they've implicitly hidden something they shouldn't have done12:25
ArniaThis is very very bad12:25
philiKONwell, the way layers are used in the cmf effectively is quite broken12:25
philiKONa skin in the cmf consists of about 20 layers12:25
philiKONthe amount of layers is proportional to the amount of addon products12:26
projekt01There is no layer in a skin. The UI is the layer.12:26
philiKONbecause that's the only way addon products can register their views12:26
ArniaI think its a general problem with layers as a concept. I'm not entirely sure of the use-cases for layers in Zope312:26
Arniaprojekt01: I want to shift to autogenerating almost every view12:26
philiKONArnia, with pagelets, layers become less and less necessary12:27
Arniaprojekt01: Once we've sorted out the forms, we can do that12:27
philiKONArnia, we'll see how that concept evolves once we are more pagelet-centric12:27
projekt01I think we start this after the 3.1 release12:27
philiKONprojekt01, the current concept is:    MySkin = [layer1, layer2, layer3]12:27
projekt01First I like to integrate the nested menu and preferences12:28
projekt01Arnia, I change my mind on this MYSkin = [mylayer]12:28
Arniaprojekt01: So what is your problem with Siesia? A standard set of regions, yes... but you can add a new region easily (without touching the siesia base code) or remove a region by not registering anything into it12:28
projekt01And register every needed  component with layer="mylayer"12:28
Arniaprojekt01: Siesia becomes a basic harness onto which accessible UIs can be elegently strung12:29
ArniaComponents insert UI elements into appropriate regions (cross-cutting particular views) by using pagelets12:30
ArniaComponent-specific views are generated by using pagelets (allowing a combination of automatic widget composition and hand crafted templates)12:31
ArniaIf you want to change the skin, you just change the appropriate pagelets. Including those of the widgets12:31
projekt01Yes, but you mean high level or let's say complex UI's. There is no need for most regions in a simply Website.12:32
ArniaHowever, the idea is to show that Siesia LF is so easy, straightforward and flexible that there are only a few cases (plus non-XHTML views) when you'll need to do this12:32
Arniaprojekt01: Yes there is12:32
ArniaWhat is the top-bar if not a region?12:32
ArniaThe bottom-bar12:32
ArniaLeft or right secondary content?12:33
projekt01Yes, of corse. But belive me not everybody is happy to have this as a standard.12:34
ArniaEvery website has regions... the ones chosen for LF simply represent a semantic cross cut of design practice.12:34
*** apoirier has joined #zope3-dev12:34
ArniaWell, if they don't want to use LF they don't have to. That's part of the wonder of pagelets12:35
projekt01I agree, but there is also a way without regions and pagelets!12:35
projekt01The pagelet pattern is only additional for z3. It's not a base concept!12:35
ArniaAnd you could write a wordprocessor in assembly language12:35
ArniaWould you actually do it nowadays?12:35
projekt01Of corse we can do this. But we don't speak about it is not working without it.12:36
ArniaYou can't force people to follow a concept... I'm not suggesting we do. However if z.a.forms starts using pagelets then they ARE a base concept in the Zope 3 UI system12:36
ArniaAnd they solve so many issues that I don't see why they shouldn't be12:37
ArniaHowever, whatever your thoughts, I'm going to continue to build LF because it solves a great need for little cost. I think you over-estimate the markup overhead of a Siesia LF page. Mikey already uses it for his simple blog site12:38
projekt01You propose that if somebody writes a page/view he has to follow the pagelet pattern as default in the core? Right?12:39
Arniaprojekt01: From his point of view I doubt he'll notice any different tbh12:39
Arniaprojekt01: From now I mean12:39
projekt01I just tell, that it has to be optional to use region like "top-bar"12:40
Arniaprojekt01: If he produces a completely hand-crafted view, then its just a whole pagelet at once... not complicated12:40
Arniaprojekt01: If he wants to change the markup used in bits of the site, he just registers replacement pagelets within those regions using overrides12:41
Arniaprojekt01: Again, not complicated.12:41
Arniaprojekt01: Each region in LF is a pagelet itself... so it can be turned off easily12:41
Arniaprojekt01: And cos its designed with CSS, this has quite an elegent effect on the design12:42
projekt01You propose to change the all the pages/views in the core with pagelets, just because you need a additional UI concept. I think this has to be happen optional.12:42
Arniabtw, to see how nice the markup is --
projekt01Again I like to use such a pattern, but this is only a additional concept and not the default concept at all.12:42
Arniaprojekt01: No, because the existing UI concept is broken. Pagelets are a simplification and generalisation of lots of different incoherent parts from Zope3 as it stands12:43
ArniaIt *is* a core concept. It *is* something that should be default.12:43
ArniaThe only thing pagelets really do is modularise what is currently a hardcoded, magic-filled, monolithic mess12:44
ArniaThis is necessary to allow a proper use of the component architecture concept to build modularised applications12:45
ArniaIMO at least... but its what I've seen using Zope 312:46
projekt01Yes, you are right12:46
ArniaSo, its a core concept, a concept worthy of being the default. I mean skins will be *easier* to understand once expressed as pagelets12:48
projekt01But we have to be very careful with adding dependency to regions/slots12:48
ArniaI don't see why you're so hung up about that.12:48
ArniaThe regions used are flexible12:49
projekt01It's nothing else then "standard_macros" right now.12:49
ArniaBut standardisation on page segments is handy when allowing cross-cut functionality12:50
ArniaYou need to know where you're putting stuff12:50
projekt01Yes, we have dependency to macros now and this will switch to dependency to regions12:50
*** `anthony has joined #zope3-dev12:51
ArniaBut when you're dealing with a modularised system you need to be more precise with your placements12:51
ArniaSo you need a wider set of regions12:51
projekt01I'm sure if we can write down this concept only in one A4 page, and the people can follow, we can implement this pattern12:52
projekt01Otherwise it will be a additional UI concept.12:52
*** `anthony has quit IRC12:53
ArniaLike I said... we've argued and analysed over the regions we've picked and they represent *standard usage* of site design in the real world with enough flexibility for edge cases. Took us a long time to do that12:53
Arniaprojekt01: I've already done that12:53
projekt01Yes, but nobody could follow the document where you proposed a year ago. It's high level, we need a more easy to understand document. Do you have something like a proposal?12:54
ArniaI can get you one12:55
projekt01Btw, it was a great document, but big skills where requiered for following what are the problems described in the doc12:55
*** `anthony has joined #zope3-dev12:56
ArniaTry this --
projekt01We really need a simply proposal and show the benefit of pagelets12:57
projekt01Yes, it is simply. I like to see a proposal which describes only the benefit of use regions and include content for all objects in a page. Additional stuff like drag and drop or extensive skinning should left out right now.13:01
projekt01Simply describe the use of additional javascript for a speical widget, I think that's the best reason to use pagelets. Then there is no way to do it right now.13:02
ArniaI disagree that's the best reason13:02
ArniaI feel the best reason is to allow reconfiguration of layouts per deployment13:03
projekt01Of corse it's not the best reason, but it's a killer factor, because we can't do it right now without pagelets.13:03
projekt01That could be the reason to implement pagelets as a default concept13:04
projekt01Additional benefits are no reason for change the concept right now.13:04
ArniaYou can't, per deployment, reconfigure a layout either13:05
ArniaAnd that is what people asked for most from Plone13:05
ArniaThey did horrendous hacks to get around that limitation13:05
ArniaThey broke large chunks of the infrastructure just to achieve it13:05
ArniaOnly a couple of times have people asked for javascript on widgets13:05
projekt01I can't understand that somebody can work with this "do everything" CMS13:06
projekt01I stopped two years ago, because it was to much for me. I don't like this much hacks in software.13:07
projekt01That's the reason to switched to Z313:08
ArniaI don't understand what you mean by "do everything"... this is just good architecture13:08
ArniaIt *stops* people from hacking around and breaking stuff13:08
projekt01I can't agree that Plone or CMF is good architecture, but perhaps that's only my view.13:09
ArniaI'm NOT saying Plone or CMF are good13:09
ArniaI'm saying the precise opposite13:09
projekt01Ah, ok13:09
ArniaI'm saying that we had problems with Plone for certain reasons, lets fix the reasons13:10
ArniaAnd lets fix them in an elegant and non-hacky way13:10
ArniaWhich is what I'm proposing13:10
projekt01Pagelets can solve a big problem13:10
ArniaBut I'm also telling you, from experience, what people want to be able to do. What they'll break their system to achieve if the system doesn't give them a way to do it13:10
ArniaAnd it isn't 'javascripts on widgets'13:11
ArniaIts 'deployment relayout'13:11
ArniaIts 'conditions on chunks'13:11
ArniaThose were the top two requests13:11
projekt01Yes, absolutly13:11
ArniaThose were why I started developing pagelets in the first place13:11
ArniaThey are impossible without pagelets13:11
projekt01But we need a sample not only theory.13:12
ArniaWell... it isn't only theory13:13
ArniaGiven that I've needed this on my business site13:13
ArniaWhich I couldn't do with Plone without hacking some of the templates13:14
projekt01I have to go, can we meet us next week on IRC and workout some documentation13:14
projekt01You are right, but I like to show more handy usecases13:14
projekt01Where people easy can follow and understand13:15
ArniaI'll properly write some out... I had some somewhere sometime13:15
ArniaJust need to find them again13:15
*** viyyer has quit IRC13:15
projekt01Pagelets will radically change things what we can never do without them13:15
projekt01Cool, see you soon13:16
projekt01At least after the 3.1 release13:16
*** viyyer has joined #zope3-dev13:18
*** tarek_ has joined #zope3-dev13:21
*** mgedmin has joined #zope3-dev13:41
*** Arnia has left #zope3-dev13:47
AJCphiliKON, are you sure wcsite-1.0 has the ReST stuff?  the .py files are minimal!13:52
*** anguenot has joined #zope3-dev13:54
*** viyyer has quit IRC13:58
*** vlado_ has joined #zope3-dev14:00
*** viyyer has joined #zope3-dev14:03
*** J1m has joined #zope3-dev14:05
*** vlado has quit IRC14:15
*** ignas has joined #zope3-dev14:19
*** Aiste has joined #zope3-dev14:26
*** zagy has quit IRC14:27
*** viyyer has quit IRC14:32
*** viyyer has joined #zope3-dev14:33
*** gintas has joined #zope3-dev14:42
*** viyyer has quit IRC14:45
*** viyyer has joined #zope3-dev14:45
*** Aiste has quit IRC15:03
*** Aiste has joined #zope3-dev15:07
*** srichter has quit IRC15:14
*** efge has joined #zope3-dev15:24
*** bskahan has joined #zope3-dev15:25
*** J1m has quit IRC15:29
*** lunati1 is now known as lunatik15:29
*** alga has joined #zope3-dev15:36
*** SteveA has quit IRC15:37
*** zagy has joined #zope3-dev15:50
*** [apoirier] has joined #zope3-dev15:57
*** apoirier has quit IRC15:59
*** srichter has joined #zope3-dev16:00
*** ChanServ sets mode: +o srichter16:00
*** palmTree has joined #zope3-dev16:04
*** niemeyer has joined #zope3-dev16:06
*** viyyer has quit IRC16:15
*** SteveA has joined #zope3-dev16:15
*** viyyer has joined #zope3-dev16:15
philiKONAJC, yes16:16
philiKONAJC, z3 has builtin rest rendering support16:16
philiKONAJC, merely uses that16:16
AJCwow, that's very cool... thanks!16:17
AJCdoes your book cover such things?16:17
philiKONAJC, yes16:17
* AJC scouts to Amazon16:19
AJC*scoot* i guess16:19
philiKONAJC, problem is the shipping and U.S. customs; it'll take a week or two till it'll be available in the U.S.16:20
AJCi'm in Europe16:22
philiKONah, that's better :)16:22
AJCnot far from you i'm guessing16:22
AJCin Wien atm16:23
AJCdo you know what's due in Zope X3.1?16:24
philiKONbiggest changes are a refactoring of the comopnent architecture (no services anymore, everything, meaning utilities and adapters, is managed by the site manager), and the new pluggable authenticatin utility (PAU) to replace pluggableauth16:25
AJCah, cool.16:27
srichterAJC: Read about the new features in CHANGES.txt16:27
AJCfrom SVN?16:27
srichterthere are some smaller but very useful new features: cleanup of apidoc (including support for 3rd party code), generic forms, menu reimplementation16:27
* mgedmin reads last night's IRC logs and likes Arnia's thoughts on pagelets and clean portable CSS layouts16:30
*** palmTree has quit IRC16:42
mgedminone of these days I have to figure out just what a portlet is16:45
eaonoh, let me explain16:45
eaoni just woke up so it might be a little whacky though :)16:45
projekt01mgedmin, see there is described what we have done16:46
projekt01eaon, can you agree on this document?16:46
projekt01The names are viewlet, pagelet and portlet16:46
eaona portlet is a piece of a page that hasn't got a specific relation or function in relation to the portal, object or view16:47
eaonit's a piece of assistive technology or information, without direct boundness to portal/object/view16:47
eaoni haven't read it yet16:48
eaonlet me see16:48
eaonthe distinction between pagelet and portlet is very clear for us16:49
projekt01Yes, but only for "us"16:49
eaonokay, let me try to explain16:50
projekt01That's a bigger problem nobody understand exactly what it should be.16:50
projekt01I think we need some papers not just a IRC chat16:50
eaonwe're currently migrating the documentation we have, to work more on it16:51
* mgedmin fixing typos in that README16:51
projekt01mgedmin, Thanks16:51
philiKONyeah, there are a couple :)16:52
projekt01You know....16:52
bskahaneaon: there's a typo in the "Regions" section of that document16:53
*** palmTree has joined #zope3-dev16:55
srichtereaon: if you want your terminology to be accepted by the Zope 3 core team, you need to move the docs to the Zope repository or at least to the Zope 3 development Wiki16:55
eaonbskahan: where? can't find it ;)16:55
bskahanA region is a with pagelets fillable area.16:56
eaonokay - where's the typo? :D16:59
eaonsrichter: makes sense, we're not z3 core yet though, thats why we "kept" docs in our own wiki17:00
srichterwell, but you need to define and analyze the problem domain and tell us how the new concepts address the problems/issues17:01
srichterand that is done with documentation in the proposals section17:01
srichterthis way we can react and make suggestions17:01
eaonyeah, i'll make us beat eachother to do that :)17:01
srichterand then we start together working on an implementation (in this case adjusting the checked in code)17:02
mgedmineaon, I suspect an Englishman would say "A region is an area fillable with pagelets", but I am not one17:02
eaonmgedmin: thanks ;)17:03
* mgedmin waits for bskahan to say "actually, that's not what I meant: ..."17:03
projekt01mgedmin, is the README understandable?17:03
bskahanmgedmin: it is :)17:03
mgedminprojekt01, I understand the difference between portlets and pagelets now17:06
eaona pagelet may be used, for example, to assemble special actions with regards to the object (adding a workflow-changing form to the object editing actions), whereas a portlet is part of the website that you usually get on each sides, so basically, a navtree/other navigation, calendar, news announcments, etc17:10
eaonso a pagelet is much more flexible than a portlet17:10
eaondo i make sense? ;)17:12
efgeJean-Marc Orliaguet has been busy implementing his portlet system for Z317:13
efgebut it's in the paris-sprint repository and I think ZC still hasn't made it visible...17:13
projekt01efge, it looks very cool (he point me to a link). I like to see the code....17:15
*** bradb has quit IRC17:15
srichterefge: projekt01: eaon: wow, there are so many people with ideas and there is already a split; we have three portlet/pagelet systems! Was this not something we wanted to avoid in Zope 3?17:17
projekt01eaon, we have two different parts (you can call this pagelets or portlets or whatever). One part uses page template macros as the output and one part uses python views methods (python views can include ZPT by itself)17:18
projekt01srichter, I think what we have in z3 now is a abstract implementation of all of them.17:18
srichterI think the problem is that noone is taking the time to write up an analysis of the problem, so we can all discuss it and work on a extendable version together that can be put in the core17:18
projekt01I'm sure eaon will find all what he needs there.17:18
*** sashav has quit IRC17:19
philiKONsrichter, i don't think we wanted to avoid a manifold landscape of different implementation17:19
srichterprojekt01: we still need this analysis document, so people not having thought about the problem domain can have an entry point17:19
philiKONsrichter, with z3 we just wanted to make sure they can interoperate by well-defined contracts17:20
projekt01Pagelets are multiadapter and rreturn ZPPT maco code, pagedata is a adapter which will return a pythin instance adapting all what we need.17:20
philiKONsrichter, do i need to update CHANGES.txt for my zope.pulbisher fix?17:20
srichterphiliKON: exactely! and this is a reason we need to analyze the problem domain, so that we can agree on an initial set of cotnracts17:21
srichterphiliKON: yeah, it's a bug fix17:21
philiKONwas 'fraid you'd say that17:21
srichterphiliKON:  :-)17:21
philiKONbtw, we should convert all docs to reST17:21
srichterphiliKON: I usually just copy my checkin message17:21
philiKONi exceedingly hate STX17:21
srichterphiliKON: most docs are converted17:22
projekt01srichter, yes it's only a matter of naming and documenting. If somebody can show a good document, I can explain where to find the relevant parts in
philiKONchanges.txt isn't17:22
srichterphiliKON: I tried hard since X3.0 to use ReST17:22
srichterthe old entries are not of course17:22
srichterit would be too much work to do17:22
philiKONbtw, we need to review some of the changes17:23
philiKONe.g. the localService directive is a bit bogus17:23
philiKONi bet it doesn't exist anymore ;)17:23
srichterit might17:24
srichterI review the entries when I am preparing the release notes anyways17:24
srichterI always do that17:24
srichteralso, there are entries that do not make it into X3.1, so they need to be moved to the future release section17:24
srichterI have that part under control :-)17:25
* philiKON kills the worry daemon17:25
srichteras long as people add their changes to the CHANGES.txt file, I am perfectly happy17:25
philiKONhere's one suggestion, though17:25
philiKONmight make your life easier too17:25
srichter(searching for changes in the checkins is what kills you; I did that for X3.0 and it was painful)17:25
*** bskahan has quit IRC17:26
philiKONfor example, the svn project's changes.txt has after each change the revision number17:26
*** gintas has quit IRC17:27
*** bska|mobile has joined #zope3-dev17:28
srichtertotally OT: I was able to nest edit forms for the new preference system; it works so well with minimal effort; I am very positively surprised how well it works17:29
*** tvon has quit IRC17:31
srichternested edit forms are much better than the object field and widget, imo17:31
*** BjornT has joined #zope3-dev17:32
philiKONsrichter, so, how do you nest edit forms?17:32
philiKON(never tried the object field/widget either)17:32
srichteryou have to write a custom constructor for the edit form class, so you do not get name clashes17:33
srichterthen you simply need to tell your rendering template which fields should be treated in sub-editforms17:33
srichterI will checkin the code later today17:34
philiKONuh huh17:34
philiKONsounds ocmplicated17:34
projekt01I like to see that ;-)17:34
srichterit is only 11 lines of Python and two templates + registration, one for the full edit form and one for the subforms17:35
srichterthis is very little if you see that it can handle any level of nesting17:36
AJCphiliKON, hmmm, just a quick question, is the file you mentioned actually named  if so, it's not in the archive...17:36
philiKONi meant it in package python notation17:37
philiKONso, wcsite/page/ is the directory you'll find the simple page implementation in17:37
philiKONwcsite/page/ contains the IPage schema, wcsite/page/ contains the browser view that does the rendering using
AJCheh, that directory is missing then.17:38
philiKONthe implementation of hte IPage schema in wcsite/page/ is very very trivial17:38
AJCfrom wcsite-1.0.tgz, downloaded a few hours ago17:38
philiKONi might have restructured since then...?17:38
*** tvon|desk has quit IRC17:39
philiKONdang, you're right17:39
AJChmm, i was starting to feel rather stupid :-)17:39
philiKONsorry about that17:40
philiKONyou got an email, i'll send you a newer version17:40
AJCheh, don't worry... you're doing me/everyone a favour17:40
*** palmTree has quit IRC17:42
*** bradb has joined #zope3-dev17:43
*** viyyer has quit IRC17:45
srichterdoes anyone know how I can reference objects defined in a functional text file?17:46
AJCphiliKON, you're a star, thanks.17:47
mgedminsrichter, could you be more specific?17:47
srichtermgedmin: I have defined an interface in my test file README.txt17:47
srichtermgedmin: I want to test my ZCML directives and I want to refer to this interface in ZCML17:48
srichterbasically, I am testing my ZCML directives in the README.txt file17:48
srichterI know this used to work, but maybe it does not anymore17:48
srichterI thought it was __builtin__, but this does not work17:49
philiKONsrichter, no, it's a bit trickier17:51
philiKONsrichter, look at
philiKONand the corresponding test harnace17:52
philiKONyou basically need to publish the doctest module (Readme.txt) as a sys.modules17:52
philiKONthen you can access it within your code as, say,
philiKON(i wish this would be possible out of the box, actually)17:52
srichterthat's all I need17:52
srichteryep, me too17:53
srichterick, this is complicated17:53
srichtermaybe I should add this to
philiKONthat would be just great17:54
srichteryeah, then I just do that17:54
srichtermaybe better in ztapi, actually17:55
srichterwow, this will even allow pickling17:56
philiKONsrichter, quick question... where exactly does the TAL machinery invoke the translation machinery from zope.i18n...? do you happen to know?17:56
srichterin the engine17:56
srichterthere is a translate method17:57
philiKONwhere's the engine? in .tal or in .pagetemplate?17:57
srichtersee zope.tal.dummyengine line 19717:57
philiKONbut that's just dummy17:58
srichterthe Zope 3 version is in line 11317:58
philiKONperfect. thanks17:58
philiKONit's actually not the engine that has the translate() method, but the ZopeContextBase17:59
*** Aiste has quit IRC17:59
srichterwhich I think is effectively the engine18:00
srichterits all a bit strange, engine and context are really the same thing (I always forget the exact symmantics)18:00
*** J1m has joined #zope3-dev18:06
AJChey, has 30% off your book philiKON, but is full price :-)18:06 is selling without VAT (just EUR 49,95 at the online store)18:07
d2m,11855,5-102-22-35029949-0,00.html to be correct18:10
*** palmTree has joined #zope3-dev18:14
*** th1a has joined #zope3-dev18:16
srichterphiliKON: ok, got it working18:16
srichterits easy as it can be now18:17
*** mgedmin has quit IRC18:21
*** Theuni has quit IRC18:24
*** alga has quit IRC18:33
*** palmTree has quit IRC18:41
AJCsrichter, you mentioned ZODB could easily handle all my needs from a database point of view, but is it sensible to have a large number of objects in a "folder"? (say 10k-100k)18:41
srichterin zope 3 folders are always btrees18:41
AJCok, cool.  i guess the hard part is coming up with names for the objects :-)18:42
srichteryou might want to write different views though, since a simple listing of all objects is not sensible anymore18:42
AJCsrichter, good point...18:42
srichterAJC: when in doubt, let Zope 3 choose names :-)18:42
srichterAJC: we have the concept of a namechooser in Zope 318:43
srichteryou could write your own implementation that constructs the name from the title, for example18:43
AJCwell, if I chose good names they may come in handy later when i'm doing custom traversal (say to provide a /archive/<date>/<article> url)18:43
AJCoh, cool. i see18:43
*** SteveA has quit IRC18:44
philiKONactually, in my book i have the example of a namechooser choosing the name from the object's title18:44
*** SteveA has joined #zope3-dev18:45
*** vlado_ has quit IRC18:48
*** zagy has quit IRC18:50
srichterwow, the KDE project chose BitKeeper over Subversion due to conversion problems18:53
philiKONisn't bitkeeper commercial?18:55
srichteroh, never mind18:55
srichterits 4/118:55
srichterthe last lines of the release were too odd18:56
srichterdarn, I hate when that happens to me ;-)18:56
srichterI hate when one cannot believe the news they are reading on 4/118:57
srichternow it will be so difficult to filter /. news; better not read it today at all18:58
* philiKON wishes some of the new laws that are taking effect today were just april fool's jokes19:00
srichterwhich laws? the patent stuff?19:01
philiKONno, bank secret stuff19:05
philiKONgovernment can now look into our bank accounts19:05
philiKONto determine whether you've declared all your taxes correctly19:06
philiKONi feel like 198419:06
srichterreally? In Germany?19:06
* AJC stores money under the carpet19:07
srichterthank god I just moved unregistered in Germany and I am now a US tax citizen only19:07
philiKONwell, patriot act isn't better19:10
philiKONin some ways i think it's even worse19:10
philiKONbut that doesn't change the fact that nobody really seems to care about all this19:10
philiKONhaven't people learned since 1989?!?19:11
*** bska|mobile has quit IRC19:12
*** bskahan has joined #zope3-dev19:16
*** lunatik has left #zope3-dev19:22
AJCi'm off, have a great weekend!19:23
*** AJC has quit IRC19:23
srichterphiliKON: obviously not19:28
srichterphiliKON: the patriot act is bad in itself, but people start to challenge it in court now19:28
srichter(at least)19:28
srichterphiliKON: by the way, I checked in the preference code, so you can look at the browser stuff and see the nested edit forms setup19:32
philiKONsrichter, for the doctest module thing, i thought you were gonna convert test to that too19:35
srichteryeah, I have not done that yet19:35
srichterI forgot19:35
srichterphiliKON: done19:38
philiKONyou're fast :)19:39
srichterit was just deleting a couple lines and running the tests :-)19:39
*** SteveA has quit IRC19:39
*** mgedmin has joined #zope3-dev19:47
*** alga has joined #zope3-dev19:49
*** SteveA has joined #zope3-dev19:59
*** deo has joined #zope3-dev20:00
*** [apoirier] has quit IRC20:02
*** hazmat has quit IRC20:08
*** anguenot has quit IRC20:14
bradbI'm writing an event handler in which I need to get the absolute URL of an object. Do I: 1. add the abs url as an attrib of the event or 2. include the request as a third object to adapt for the event handler or 3. use some global API to access the "current request"? (not sure if there is such a thing.) or 4. something else? :)20:19
J1mYou should probably have the request be an attr of the event20:20
bradbdoesn't that make my event handler code depend more on Z3 APIs than I want it to?20:21
mgedmin(it is possible to extract the "current request" from the current interaction, if you iterate through participations and find one that provides IBrowserRequest, btw)20:21
mgedmin(that doesn't mean it is a good idea to do that)20:21
J1mIt is a bad idea20:21
bradbmgedmin: sounds extremely unmaintainable :)20:21
* bradb wonders if the stock events should have the request as part of their API20:22
bradbe.g. IObjectCreatedEvent et al.20:22
J1mNo, absolutely not20:22
bradbah, ok, i see20:23
J1mI don't know anything about your app, so it's rather hard to advise20:23
bradbbecause these events are specific to things created through a browser20:23
bradber, *aren't* i meant20:23
bradbfair enough. I'll go with your suggestion to make my own request-aware events. thanks J1m.20:24
tarek_hi all, there's this cool QueueProcessorThread in for async mail delivery.20:28
tarek_i need to have a similar functionality for soemthing else, and i was wondering if it exists already :20:28
tarek_i need to make async processes, on queue per session id20:29
tarek_use case :20:29
tarek_a view is calculated for the user, it ahs to make a call to another server. this call won't change the view but the call has to be done20:30
tarek_so the view can be shown and the call send to a threaded queue20:30
tarek_and this calls needs to be serialized per user20:31
*** hazmat has joined #zope3-dev20:32
bradbJ1m: It's worth noting though that the current AddView would probably be much more useful to publish an event that does include the request as an attribute of the event, no? Same with EditView. They are, afterall, both BrowserViews.20:32
*** alga_ has joined #zope3-dev20:33
*** d2m has quit IRC20:38
*** Arnia has joined #zope3-dev20:46
srichtertarek_: no, there is no such functionality generally yet21:00
srichterbut please feel free to factor out the queue code and make it a separate pacakge21:00
tarek_srichter: ok i'll do that21:02
* tarek_ needs to study first how session are dealt in Z321:04
*** bskahan has quit IRC21:07
*** tvon has joined #zope3-dev21:08
*** FarcePest has joined #zope3-dev21:10
*** alga_ has quit IRC21:20
*** efge has left #zope3-dev21:29
*** admp has quit IRC21:32
*** admp has joined #zope3-dev21:32
*** admp has quit IRC21:57
*** efge has joined #zope3-dev22:00
*** mgedmin has quit IRC22:05
*** alga has quit IRC22:09
*** ignas has quit IRC22:15
*** garrett-smith has joined #zope3-dev22:47
*** RaFromBRC|out is now known as RaFromBRC22:53
garrett-smithJ1m: I forgot to include 'login' in the principal folder's principal info implementation23:03
garrett-smithmy plan is to just add it as an attribute and not bother creating a new interface for that type of info23:04
*** PalmTree_ has joined #zope3-dev23:10
srichterprojekt01: did you check out the preferences stuff?23:16
srichterphiliKON: are you there?23:25
*** tvon has quit IRC23:32
*** palmTree__ has joined #zope3-dev23:39
*** niemeyer has quit IRC23:45
*** palmTree__ has quit IRC23:50
*** PalmTree_ has quit IRC23:56
*** nathany has joined #zope3-dev23:58
*** efge has quit IRC23:59

Generated by 2.15.1 by Marius Gedminas - find it at!