IRC log of #zope3-dev for Tuesday, 2005-10-18

J1mthe main difference with content providers seems to be dispatch on the view as well as the content and the request, but the example doesn't really dispatch on the view.00:00
srichterI have examples, but I did not include a test case00:01
srichteractually dispatching on views will be very rare, I think00:01
J1mThe other motivation seems to be integration with tal, but this doesn't get me very excited. :)00:01
srichterI was thinking about removing it as part of the discriminator00:01
J1mwell, then how is this different from other sort of view lokup for subviews or subforms?00:01
srichterwell, TAL integration is very important, since we do not want o alienate this universe00:01
srichterwell, it is different in the sense that it can be configured, which is different from TAL macros, for example00:02
srichterI agree, content providers themselves don't add much juice00:02
srichterit's the code that will be built on top of it00:02
J1mwell, right, but i'm increasingly in favo of pushing information to tal, rather than pullting data from it.00:03
srichterlike viewlets, portlets, etc00:03
srichterall I want with CP is to provide a clean interface to TAL, so people can use both00:03
srichterwhich I think is a very desirable goal00:04
J1mRoger seems to be dissowning viewlets. :)00:04
srichterthe other extreme is Jean-Marc's CPS skin, which totally turns off TAL and does only a very convoluted Python call in a page template00:04
srichterI certainly do not want this use case either00:04
J1mI guess I want to see tal, and especialy tales be less powerful, not more powerful.00:04
srichterit does not make TAL more powerful00:05
J1mIt moves more computation there.00:05
srichterin fact it asks users to not use TAL for page cosntruction based on page segments00:05
srichterI don00:06
srichterI don't consider the TALES namespace as part opf TAL00:06
J1mIn fact, we've found the update/render dance to be critical for page composition, and this isn't really supported well by tal.00:06
srichterright, I noticed that while reading through Gary's E-mail today00:06
J1mYou really want to control this sort of thing from python.00:06
J1mwe still use zpt, but, increasingly, it's zpt that is called from Python.00:07
srichterright, viewlets does this too00:07
*** BjornT_ has quit IRC00:08
J1mwe would typically do the lookup of subpaged in Python and then render the assembly in zpt.00:08
srichterit calls ZPT from Python to constrcut segments of the page00:08
*** BjornT has joined #zope3-dev00:08
srichterright, liek viewlets00:08
J1mlike the viewlet manager. Right.00:09
*** GaryPoster has joined #zope3-dev00:09
srichterin other words, the content provider package is the interface between the old way of using page templates and the new way00:09
srichterand this is really important to me specifically00:10
srichtersince in schooltool we want to migrate slwoly, if ever completely00:10
*** efge has joined #zope3-dev00:10
J1mwell, it's an interface.00:10
GaryPoster(Jim is proxying for me, afaik ;-) I'm just hanging out)00:10
J1mAlmost everyone agrees that we want to make less use of macros.00:10
srichterin schooltool, we currently can't distribute packages separately, because UI components are intermixed between views00:11
srichterso my main goal is to be able to define "hooks" in TAL that allow me to insert content by configuration00:12
srichterso my goal is the componentization of the UI00:12
srichter(note that I have no need or interest right now for portlet-level features)00:12
J1mBut why should it be hooks in tal?00:12
srichterbecause all of our views are written in TAL00:12
J1mI would argue that you should assemble in python and render the assembly in tal.00:13
J1mThey should be writtedn in Python. :)00:13
srichterthat means I would have to touch the entire code base to gain that benefit00:13
srichterthis is not possible00:13
srichterand for simple things I really like writing full page templates and just inserting some hooks00:14
srichterthink of content providers as of Five in the context of Zope 2 and 3 :-)00:15
srichterbtw, we should ask Roger for some links concerning definitions ;-)00:18
srichterstill there?00:19
srichterI guess you are having internal discussion, so I wait ...00:19
J1mI just have no response to you. :)00:20
*** hazmat has joined #zope3-dev00:21
srichter(it's just so strange that you don;t have a response ;-)00:22
*** BjornT_ has joined #zope3-dev00:25
*** zbir has quit IRC00:32
*** efge has quit IRC00:33
*** efge has joined #zope3-dev00:34
*** efge has joined #zope3-dev00:35
*** projekt01 has joined #zope3-dev00:36
*** BjornT has quit IRC00:37
projekt01J1m, srichter, I was reading the discussion on the log about viewlets.00:49
projekt01All I can say right now is, don't see the TALES implementation as the common way to use viewlets. It's just the TAL integration part.00:49
projekt01The implementation of content provider and viewlets depends only on the adapter concept. Nothing more, the TALES expression is more like one way to call them.00:51
srichterright, though we really need to address the update/render bug Gary described; I do have an idea on how to do this though00:52
projekt01We dont' have this bug in our concept.00:53
srichterbecause we have not addressed it yet00:53
GaryPosterHi Roger.  And if you rip out the TALES expression approach, then the content provider code basically just defines an ability to lookup on the basis of view, in addition to context and request, right?  Which in itself can use the update/render pattern of the subview stuff just fine, as far as I can see.00:53
J1mas long as you don't use it from TAL. :)00:54
GaryPosterRight, that's what I meant00:54
projekt01I'm not sure right now. I guess we have a problem in defining what all this concepts are.00:54
srichterI guess we cannot address this problem, if you use TAL traditionally00:55
projekt01Let me explain it a little,00:55
projekt01A portlet in ava JSR 168 is a standalone application. right?00:55
srichteranother method would be to have the View class collect all content providers beforehand00:55
GaryPoster(Sadly I will have to leave in about five minutes).  projekt01: yes.  srichter: yes.00:56
projekt01I guess we try to integrate them to much right now. There is no way to render errors across the portlet and the view00:56
projekt01Each of them have a own error handling00:56
projekt01Or if not we don't speak about JSR 168 portlets.00:57
projekt01They share nothing, really nothing!00:57
projekt01Portlets can run on other server too.00:58
GaryPosterIf you simply say that you avoid the problem by not allowing any viewlet to ever possibly integrate with one another, even by modifying the same content object, then you son't need to worry about the update/render problem.  That's really a lot more constrained than we want to be (or have had to be for client projects).00:58
srichterprojekt01: I think we are not only talking about JSR-168-style portlets here, but more generally about a new way of composing pages00:58
GaryPostersrichter: yes.00:59
projekt01srichter, yes, but then we speak about something like (super) widgets ;-)00:59
srichterright, exactely00:59
projekt01And not about viewlets, viewlets are "additional" content providers. They never know the enviroment.00:59
srichterwe are talking about a generalization of widgets00:59
J1mfor us, it was initially sub-forms.01:00
J1mof which widgets are a special case.01:00
projekt01Yes, that's the base of the subview concept.01:00
projekt01J1m, yes, that's a good concept but has not much to do with viewlets or portlets in our definition.01:01
J1mIt has a lot to do with jsr168 portlets01:01
J1mwhere a portlet can update data that is rendered by other portlets.01:02
*** BjornT has joined #zope3-dev01:02
projekt01No, I think subviews try to solve only the restriction of nested HTML forms01:02
projekt01btw, I think statefull portlets and subviews are not a good combination.01:02
J1mThis is based on a lot of experience implementing a portlet system, as well as with complex forms.01:02
J1m(BTW, we plan to release the portlet system.)01:02
GaryPosterI've got to go guys.  Have a good night.01:03
J1mprojekt01, they address the situation that components of a page may have update responsibilities.01:03
*** GaryPoster has quit IRC01:03
projekt01J1m, but remember portlets provide a own url, they are not callable itself at this url and should run on every server without have dependency to other parts.01:04
projekt01Portlets are standalone applications!01:04
J1mas Gary said, that is too restrictive in our experience.01:05
projekt01J1m, I think every other concept is really Ok. But don't call them portlet since portlet are very known and very good defined.01:06
projekt01I just telling don't call another concept portlet.01:07
J1mthe concept I'm talking about is portlets.01:07
projekt01J1, I agree I you say the UI concept01:09
projekt01J1m, I agree I you say the UI concept01:09
projekt01Or if you share error handling fro views and portlets, how can you share them if a portlet runs on another server?01:10
J1mOur portlets all run in the same server.01:11
J1mOften multiple portlets display (some aspect of) the same content.01:11
J1mUser's expect the displays to be consistent.01:11
*** BjornT__ has joined #zope3-dev01:11
J1mThey expect that if they update data in one portlet, the change will be relected in another.01:12
projekt01J1m, I see all your usecases and I agree it's nice to have them. But portlets do not share something. We really should not use well defined names for anther concept. I guess we will confuse people with a good understanding of common patterns.01:14
J1mI should let you and Brian Lloyd argue about what a "portlets" are.01:15
J1mI should let you and Brian Lloyd argue about what "portlets" are.01:15
J1mBTW, can you give a reference for the definition of content provider as used in Java?01:16
* projekt01 is searching for a link01:17
*** BjornT___ has joined #zope3-dev01:17
J1mThis should go in the content provider README.txt.01:17
*** BjornT_ has quit IRC01:19
projekt01J1m, I only found a link to the protlet builder app from sun this quick. It's a presentation movie which explains the portlet concept a little bit.01:20
mpso, did my zca make its way to zope corp?01:21
J1mIf you can find a better link later, it would be god to have it in the README.txt.01:21
*** BjornT_ has joined #zope3-dev01:22
mpI guess I might have to resend it :/01:22
J1mmp, I haven't seen it.01:22
J1mIt would be good to just email it to me.01:22
projekt01J1m, I have to update our project tomorrow, but I will work on this at wednesday till we have a good solution ;-)01:23
mpI didn't scan it, don't have time to buy/borrow scanner or to visit friend :/01:23
J1mI have an extra scanner if you want it. :)01:24
mpOk, but please don't send it via simple s-mail, it might not reach me01:24
J1mI'll scan it and email it to you.01:25
*** andres has quit IRC01:25
*** BjornT_ has quit IRC01:25
projekt01J1m, Ok, I send you a better doc if I work on this part again an check the subview concept ;-) I guess I write the main idea down first, so we understand what each concept tries to do ;-)01:25
*** andres_ has joined #zope3-dev01:25
J1mBTW, forget persistent views. :)01:26
*** strichter has joined #zope3-dev01:26
*** BjornT_ has joined #zope3-dev01:27
*** srichter has quit IRC01:27
projekt01Ok, isn't that a model-view-controller all in one in instance ;-)01:27
*** strichter is now known as srichter01:28
*** ChanServ sets mode: +o srichter01:28
projekt01I guess persistent views are a bad idea then that's nothing more the to have th model in the view which is also a controller.01:28
mphm, I could then print it01:28
J1mI've always had a lot of trouble with controllers.01:29
J1mmp, hopefully your snail mail copy will get here soon.01:29
*** BjornT has quit IRC01:29
J1mI've heard it takes a long time to get paper from Europe to the US.  I don't know why.01:29
srichterwith air mail it is pretty consistently 5 days from germany01:30
projekt01J1m, I think separate controllers are the only good way to build big applications. I have really some problems where I could easy solve with a own controller.01:31
projekt01Right now we try everything to solve in the views, which ends in such complex API's like the formlib. ( I like it, but many people have problem to understand them)01:32
projekt01I guess a controller should be responsible for the update task and the view for the presentation task.01:32
J1mevery time I see controllers and views presented, the controllers and views are tightly linked and the end result looks more complicated.01:33
projekt01I really scary about the idea to implement patterns for a pipline or layout engine if they also have to go into the view which implements the formlib API too.01:34
projekt01Yes, we found a good way to use views but the will become to complex. And uhaaa if they should also handle the portlet request....01:35
projekt01It really blows my brain sometime away ;-)01:35
*** BjornT__ has quit IRC01:35
projekt01I really like to separate them (views, portlets, viewlets, widgets, pipelines) in more easy understandable parts.01:36
J1mI'd be interested to see a proposal that motivates the separation of controller and view.01:36
projekt01Right now the view class is our single API for all implementations.01:36
J1mme too01:36
J1mwell, no more than the command line is the single api for all unix applications.01:37
*** BjornT___ has quit IRC01:37
*** BjornT has joined #zope3-dev01:37
J1mthat isn't quite right01:37
J1mviews are low level building blocks.01:37
J1mThey can be used with lots of apis.01:38
J1mIf you think separating controllers and views would help, I'm all ears.01:38
J1mBut I;d like to see concrete examples that support the case.01:38
J1mBut I have to go leave at the moment. :)01:38
projekt01Ok, on unix I can do everything with 50 commands, but only because the hole unix is defined in one view ;-)01:39
projekt01only good separation of components allows you to develop simply applications01:40
projekt01J1m, see you soon01:40
*** J1m has quit IRC01:40
*** natea|away is now known as natea01:40
*** projekt01 is now known as projekt01_01:41
*** projekt01_ is now known as _projekt0101:41
*** _projekt01 is now known as projekt0101:42
*** projekt01 is now known as _projekt0101:48
*** _projekt01 is now known as projekt0101:48
*** zbir has joined #zope3-dev01:53
*** BjornT_ has quit IRC01:54
*** BjornT has quit IRC02:03
*** philiKON has joined #zope3-dev02:10
*** zbir has quit IRC02:12
*** stub has joined #zope3-dev02:30
*** newpers_ has joined #zope3-dev02:35
philiKONnewpers_, thanks for the typo hint the other day02:36
newpers_:) np02:36
*** efge has quit IRC02:40
*** tiredbones has quit IRC03:06
*** hazmat has quit IRC03:17
*** projekt01 has quit IRC03:25
*** roym has quit IRC03:38
*** stub has quit IRC03:39
*** xenru has joined #zope3-dev03:41
*** xenru is now known as xenru|away03:46
*** stub has joined #zope3-dev04:08
*** niemeyer has quit IRC05:12
*** newpers_ has quit IRC06:24
*** newpers has joined #zope3-dev06:26
*** deo has quit IRC07:14
*** kaczordek has joined #zope3-dev07:24
*** whit has quit IRC07:35
*** whit has joined #zope3-dev07:36
*** whit is now known as whit|zZzz08:05
*** whit|zZzz has quit IRC08:06
*** whit has joined #zope3-dev08:08
*** dobee has joined #zope3-dev08:10
*** sashav has quit IRC08:27
*** BjornT has joined #zope3-dev08:28
*** natea is now known as natea|zZz08:30
*** MacYET has joined #zope3-dev08:47
*** stub has quit IRC08:53
* MacYET is away: lesen hilft.09:09
*** einheit has joined #zope3-dev09:17
*** einheit is now known as SteveA_09:19
*** hdima has joined #zope3-dev09:21
*** Soulraven has joined #zope3-dev09:41
*** MJ has quit IRC09:43
*** sashav has joined #zope3-dev09:54
*** sashav_ has joined #zope3-dev10:00
*** sashav has quit IRC10:00
*** sashav_ is now known as sashav10:00
*** tekNico has joined #zope3-dev10:12
*** tekNico has left #zope3-dev10:13
*** newpers has quit IRC10:28
*** tarek has joined #zope3-dev10:32
sashavgood morning, where can I see examples of schemas where one field should be a instance from a factory and I choose the factory when I add my object?10:33
MacYETin theory there might be a doctest :)10:35
Theunihmm. is dtml re-implemented or ported in zope3?10:40
* Theuni just found a bug in the Zope 2 dtml that he doesn't want to fix10:41
MacYETignoe it10:43
Theunidoing that10:45
Theuniworkaround is available ...10:46
Theuniit's just _nasty_10:46
VladDracdtml is nasty10:51
*** zagy has joined #zope3-dev10:52
*** zagy has joined #zope3-dev10:53
*** mgedmin has joined #zope3-dev10:59
sashavMacYET: you have this theory written down somewhere? :)10:59
*** stub has joined #zope3-dev11:05
VladDracsasha you want to select the factory to create your object upon object creation?11:14
*** kaczordek has quit IRC11:24
*** MJ has joined #zope3-dev11:25
sashavMyObject can have one instance of object2 or object3 which have IObject2 and IObject3 deriveded from IObjectCommon how can I create the scema for MyObject, VladDrac ?11:26
sashavs/which have/which implement11:26
VladDracfolderish/containerish using constrains?11:31
sashavMyObject doesn┬Ęt have to be folderish, IObjectCommon will be a rdflibgraph11:33
sashavor any interface derived from IObjectCommon will be a rdflib.graph11:33
sashavwell really it's like this :)11:34
sashavdepending on which IObjectX schema you choose you will get a different MyObject with a configured rdflib.graph11:34
*** andres_ is now known as andres11:35
andresIts not possible to add something to two menus in <page menu=""> or?11:35
mgedminwhat an marvelously indecipherable question11:42
VladDracI'm not sure if I understand what you want11:50
VladDracbut afaik the Z3MI is built upon containers/containment11:50
VladDracwhich would mean your objects have to be containers as well. If that doesn't work for you, you can always build your own forms on top of it11:51
VladDraci.e. using zope.formlib11:51
* VladDrac 's currently doing exactly that with Zope3 / formlib / sqlobject11:51
andresNo, what i mean is more simple i think. I just want a <page> appear in two different menus.11:52
andresAnd i want to know, if i have to use seperate <menuitem>'s for that, or if i can use menu="" in <page>11:53
VladDracI was actually talking about sashav's problem :)11:53
mgedminandres, you can specify only one menu="" in <page>11:54
mgedminand then you can specify as many <menuitem> as you wish11:54
andresok, thats what i tought.11:54
*** baiju has joined #zope3-dev11:56
sashavcan I add content types and tabs to zope 2.8.1 with five?12:00
sashavto the ZMI12:00
*** Alef has joined #zope3-dev12:04
sashavwhere can I find that theory MacYET , I have looked and not seen any tests or examples that work, the nearest that should work was simplecontent in Five1.1/testing but doing that in my stuff didn't make any diff12:05
*** baiju has quit IRC12:07
MacYETe.g. look at TXNG312:09
*** klaus has joined #zope3-dev12:11
*** bob2 has joined #zope3-dev12:15
*** zagy has quit IRC12:24
SoulravenAny  Zepp experts present?12:27
sashavMacYET: quick Q, do you know how I can add a tab that points to browser:editform which uses a schema to generate the form? in txng3 you only use templates as far as I can see12:28
sashavI have a class1: implements I1 and in zcml I have that class1 implements I2 and browser:addform for I2 with factory that produces class1() but I don't get the args from I2 into my factory, why?12:45
*** SteveA_ has quit IRC12:46
*** mkerrin has joined #zope3-dev12:53
*** xenru|away has quit IRC12:58
sashavwhen is the attribute from I2 set on my object? I tried to subscribe to ObjectAddedEvent but it still wasn't there but if I go debug into my zope the persistent object has the I2 attribute13:00
srichtersashav: tab: just declare the menu in your editform directive; this is pretty much covered in any beginner documentation, including the books13:29
sashavsrichter: for z2.8?13:30
srichterplease do not ask Zope 2.8 questions here13:31
sashavya ya it was z3 Q running on z2.813:33
srichterthen ask the question in the Five form13:35
srichterthen ask the question in the Five forum13:35
*** srichter has quit IRC13:36
philiKONsashav, five has no ZMI capabilities13:39
philiKONif you want to add that to five, be my guest13:40
sashavok, :)13:40
philiKONbut i don't think a lot of people need to use the zope 2 zmi as it is13:40
philiKONmost five integrations happen on a higher level13:40
sashavanyone who can enlighten me on my interface and attr setting issue?13:40
philiKONOTOH, it might be useful looking into fivifying the zope 2 zmi so that it becomes a mere skin13:41
philiKONinterface and attr setting?13:41
sashavwhen is the attribute from I2 set on my object? I tried to subscribe to ObjectAddedEvent but it still wasn't there but if I go debug into my zope the persistent object has the I2 attribute13:41
sashav have a class1: implements I1 and in zcml I have that class1 implements I2 and browser:addform for I2 with factory that produces class1() but I don't get the args from I2 into my factory, why?13:41
philiKONlook at set_before_add13:42
philiKONpage 397 in my book13:42
sashavoh :) thnx13:43
sashavok when is it set when I don't have this option? and who sets it because it is set13:43
philiKONthe AddForm machinery sets the stuff13:44
*** J1m has joined #zope3-dev13:44
philiKONquestion is whether it sets it before adding the object to the container or afterwards13:44
*** Aiste has joined #zope3-dev13:56
*** ignas_ has joined #zope3-dev14:04
*** Soulraven has quit IRC14:07
*** Soulraven has joined #zope3-dev14:10
VladDracunless you define ehm..14:12
VladDrac    <browser:addform14:13
VladDrac        label="Add News"14:13
VladDrac        name="AddNews.html"14:13
VladDrac        schema="cubic.types.interfaces.INews"14:13
VladDrac        content_factory=""14:13
VladDrac        permission="zope.ManageContent"14:13
VladDrac        set_before_add="title"14:13
VladDrac        />14:14
philiKONVladDrac, yes, *I* know that they're set after... this was more a rhetorical question for sashav :)14:20
*** zbir has joined #zope3-dev14:20
VladDracno you don't! I'm smarter than you when it comes to zope3!14:21
VladDracoh wait no I completely suck :)14:21
VladDracphilikon: it was more meant as a tip for sashav14:21
philiKONit could very well be that you know more, i've forgotten so much already :)14:21
philiKONi look up stuff in my book too... and then i think "i wrote that? i used to know that?!?"14:22
*** zbir has quit IRC14:22
VladDrachehe :)14:22
*** zbir has joined #zope3-dev14:22
*** J1m has quit IRC14:23
*** stub has quit IRC14:26
*** stub has joined #zope3-dev14:26
*** efge has joined #zope3-dev14:32
*** klaus has quit IRC14:33
*** niemeyer has joined #zope3-dev14:46
*** zbir has quit IRC14:46
*** tarek has quit IRC14:53
*** srichter has joined #zope3-dev14:53
*** srichter has quit IRC14:53
*** tarek has joined #zope3-dev14:53
*** srichter has joined #zope3-dev14:54
*** Lewy has joined #zope3-dev14:54
Lewyhi, why I don't have app.workflow in my installation? I installed from the bundle Zope-3.1.0.win32-py2.3.exe14:55
*** ChanServ sets mode: +o srichter14:56
srichterLewy: because we are not distributing it14:56
srichterin fact, it will never be distributed14:56
srichterevery serious Zope 3 player is using zope.wfmc and
Lewysrichter: hmm, do you recognize? ;) "20.1 Step I: Making your Message Workflow aware"14:59
srichterof course, but I also write that you have to install this separate package15:02
srichterzope.wfmc did not exist back then15:02
bob2is there a list somewhere of what package-includes/ files do what?15:09
bob2some are clearly optional, while some seem to be essential15:09
srichterbob2: none of the package-includes should be essential; this would be a bug15:13
bob2I mean, essential to normal use15:25
bob2say, running messageboard15:25
bob2or is it a bug for any of them to be needed?15:25
*** ignas_ has quit IRC15:33
srichterahh, yes, the message board requires some of the optional but by default activated packages15:37
srichterit just depends on what you want to do with all of this15:38
*** mgedmin has quit IRC15:38
srichterI would try to turn on and off packages to see what you need.15:38
*** benji has joined #zope3-dev15:44
*** natea has joined #zope3-dev15:45
*** Soulraven has quit IRC15:45
*** tarek has quit IRC15:46
*** vlado has joined #zope3-dev15:55
*** zbir has joined #zope3-dev15:58
*** regebro has joined #zope3-dev16:01
*** natea|zZz has quit IRC16:05
*** jinty has joined #zope3-dev16:18
*** natea has quit IRC16:24
*** natea has joined #zope3-dev16:24
*** natea_ has joined #zope3-dev16:31
*** stub has quit IRC16:35
*** natea_ has quit IRC16:40
*** MacYET has quit IRC16:43
*** benji has quit IRC16:51
*** natea has quit IRC16:56
*** Lewy has quit IRC17:02
*** natea has joined #zope3-dev17:03
*** Alef has quit IRC17:05
*** stub has joined #zope3-dev17:07
sashavI have two schemas = two addforms on submit they should generate a configured object from an 3rd interface how do I configure that? should I use a factory and an adapter or how? now I have :addform schema='IMySchema1' content_factory="MyClassImplementing3rd" that doesn't work because the factory returns an not adoptable interface17:11
*** xenru|away has joined #zope3-dev17:19
*** natea is now known as natea|away17:21
*** benji has joined #zope3-dev17:24
srichterhdima: I think your PasswordManager idea is cool17:32
srichterhdima: so if you want to merge that into the trunk, that's fine with me17:33
srichterhdima: I would really like to support those managers inside the mkzopeinstance, even if we are not using the CA for it17:33
hdimaOk, now I want to finish ++lang++ and then start working on PasswordMangers...17:34
*** zagy has joined #zope3-dev17:34
srichterok, great17:35
*** xenru|away is now known as xenru17:35
srichterdon't forget; the deadline is November 1st ;-)17:35
hdimayes, just realize that :)17:35
*** SteveA_ has joined #zope3-dev17:36
*** niemeyer is now known as nie_lunch17:37
*** hdima has quit IRC17:41
*** natea|away is now known as natea17:48
*** philiKON has quit IRC17:53
*** JoaoJoao has joined #zope3-dev18:00
MJsrichter: ping18:06
MJsrichter: I was looking into subscription adapters18:07
MJWhat problem are they designed to solve?18:07
MJListing multiple adaptations to an interface?18:07
srichterMJ: pong18:08
*** kbremer has joined #zope3-dev18:09
srichterMJ: no, they are used to implement event subscriptions18:09
srichterso when an event is triggered, you simply look up all adapters for this event18:10
MJexactly :)18:10
MJEasy listing of all adapters ;)18:10
srichtersince those adapters have the same discriminator and no name, we cannot use regular adapters18:10
srichterno, it will not list all adapters18:10
MJList all adapters for a given interface I ment, sorry18:11
srichteruse adapters.getAdaptersFor(obj) for example18:11
MJYes, that's a list as well18:11
srichtermmh, that is a slipery road, since subscription adapters are differently stored than the regular ones18:11
MJSo, why can't that be used for events?18:11
srichterbecause then you would have to name the adapters18:11
MJYes, the implementation differs18:11
srichterhere is an example18:12
srichteradapters.register(I1, Interface, Foo1)18:12
srichteradapters.register(I1, Interface, Foo2)18:12
srichterwould result in one registration, since Foo1's is overridden by Foo2's18:12
*** mp has quit IRC18:13
srichteradapters.subscribe(I1, Interface, Foo1)18:13
srichteradapters.subscribe(I1, Interface, Foo2)18:13
MJSo subscriberAdapters allow for multiple adaptions18:13
srichterwould result in two adapter registrations18:13
srichterboth of which would not override the above one18:13
MJwhile (regular) adapters are only for one18:13
MJYou can only 'multiplex' the adapters when you name them18:13
srichter"multiple adaptations" is a bad term, since multi-adapters are something else :-)18:14
MJSo, the problem solved is that subscribers can exist nameless and without interfering18:14
MJwhile regular adapters must be unique, although names can be used to differentiate.18:15
MJRegistering another adapter under the same name (blank or otherwise) overrides18:15
*** mp has joined #zope3-dev18:15
MJRegistering another subscriber adds to the list.18:15
*** lurker has joined #zope3-dev18:16
srichterI think you got it :-)18:17
MJthe problem that brought this up:18:18
MJWe have  UML 2.0 object model18:18
MJand want to expose certain categories of attributes in GUI tabs18:18
MJSo there are tabbed views on the model; multiple tabs per interface18:19
MJI am suggesting using named adapters though18:19
MJEasy to list all named adapters.18:19
srichteryes, it is18:19
srichterwe do this with utilities all the time18:19
srichterlist all available SQL connections for example18:19
MJSo the 'documentation' tab for all UML elements can then be overridden18:22
MJWhile if that tab was a subscriber, you'd get 2 documentation tabs18:22
MJNot what you want.18:22
MJSo, when is the next sprint :)18:23
MJ(Sorry I missed the last one in Germany)18:24
*** zagy has quit IRC18:24
srichterMJ: I am now sure, but there is a lot of talk about new sprints18:25
JoaoJoaoAnyone here knows the current state of the Firebird Z3 DA?18:25
srichterI did not even know we had one18:25
srichterprobably not working18:25
srichterbut you can easily fix it by looking at working adapters18:26
*** zagy has joined #zope3-dev18:26
JoaoJoaoi'll try to make it work, IMHO it's important to have working DAs18:27
srichterof course, but if noone needs a particular DA or even has a particualr database, then there is no need to maintain it18:28
srichterso you are the first one in need of this DA and you are fixing it, which is cool18:28
MJBah, 'SiteManager'18:30
MJNot a good name outside of Zope3..18:30
MJWhat if you have a UML model (a hierarchy) and you want to register new tabs for a sub-tree18:31
MJI'd have to create a SiteManager for that subtree, but it ain't no site..18:31
whithow bout LocalManager18:32
*** lurker has left #zope3-dev18:32
srichterit is actually called LocalSiteManager18:32
*** J1m has joined #zope3-dev18:32
srichterand that's what it is18:32
srichterMJ: unfortunately I do not understand your application enough to make suggestions18:33
MJLocalComponentManager would be more neutral18:34
MJIt is not app specific (which just happens to not be a web-based app)18:34
MJIt is more that the component registration manager's name is web server specific.18:34
MJComponents are useful in other contexts as well. :)18:35
*** nie_lunch is now known as niemeyer18:35
*** sashav has quit IRC18:39
*** MacYET has joined #zope3-dev18:39
*** tarek has joined #zope3-dev18:39
*** kbremer has quit IRC18:40
*** MacYET has quit IRC18:42
*** zagy has quit IRC18:54
*** dobee has quit IRC19:02
*** MJ has quit IRC19:16
*** natea is now known as natea|away19:23
*** sashav has joined #zope3-dev19:38
*** vlado has quit IRC19:40
*** andres has quit IRC19:40
*** regebro has quit IRC19:42
*** projekt01 has joined #zope3-dev19:43
*** jinty has quit IRC19:54
*** stub has quit IRC20:05
*** jinty has joined #zope3-dev20:08
*** tarek has quit IRC20:11
*** xenru is now known as xenru|away20:13
*** jinty has quit IRC20:19
*** dhuang has quit IRC20:21
*** mgedmin has joined #zope3-dev20:26
*** tiredbones has joined #zope3-dev20:32
*** srichter has quit IRC20:46
*** dobee has joined #zope3-dev20:47
*** whit has quit IRC20:48
*** efge has quit IRC20:48
*** klaus has joined #zope3-dev20:54
*** klaus has quit IRC20:57
*** Aiste has quit IRC21:13
*** sashav has quit IRC21:34
*** sashav has joined #zope3-dev21:36
*** mkerrin has quit IRC21:37
*** dobee has quit IRC21:45
*** BjornT_ has joined #zope3-dev21:57
*** projekt01 has quit IRC22:05
*** projekt01 has joined #zope3-dev22:06
*** BjornT__ has joined #zope3-dev22:08
*** natea|away is now known as natea22:12
*** BjornT___ has joined #zope3-dev22:13
*** BjornT has quit IRC22:15
*** MJ has joined #zope3-dev22:16
*** BjornT_ has quit IRC22:23
*** yota has quit IRC22:24
JoaoJoaohow do I set the default encoding for Zope3?22:30
*** BjornT__ has quit IRC22:30
*** bootsch has joined #zope3-dev22:36
benjiJoaoJoao, not exactly sure what you mean; for input (text boxes, etc.), for source code, for output (html)?22:40
*** yota has joined #zope3-dev22:41
*** brupp_ has joined #zope3-dev23:07
JoaoJoaobenji: Oh well it's the DA's fault23:07
brupp_benji: hi, I'm going through your excellent Zope 3 quick start guide and I have a question23:10
brupp_Working on todays Zope 3 from SVN, Python 2.4.2. It works all until I get to the point where the forms come into play23:10
brupp_In particular this line:     interface.implements(interfaces.IHelloWorld)23:11
benjibrupp_, you've run into a bug I intended to fix this weekend, but didn't have time...23:11
brupp_Oh, well, then everything is ok. I just thought I was wrong...23:11 one time the quick start had a seperate interfaces module, but now they're all in hello23:11
*** niemeyer has quit IRC23:12
benjiso, replace "interfaces" with "hello" and you should be good to go23:12
brupp_Great, thanks.23:12
brupp_Excellent work, I have to stress that. If every quick guide was like this, then - well - everyone would use Zope ;)23:13
benjiInstead of working on the quick start I wrote (most of) a tutorial/manual testing framework so this kind of problem won't happen as much in the future, I hope to finish and have a new version of the quick start out Thursday morning23:13
brupp_Thanks a lot, I'll check it out for sure23:14
benjithanks for the kind words, I'm hoping to do a larger version soon, we'll see how it turns out23:14
brupp_Another thing I couldn't really understand with my modest Zope3 knowledge is the ust of the argument "object" in the class definitions instead of "persistent.Persistent".23:17
brupp_I get this error when trying to start Zope: TypeError: Cache values must be persistent objects.23:17
benjihmm, sounds like a bug, brupp_23:18
benjiall "content" objects should be persistent23:18
brupp_I just switched back to persistent.Persistent in the hope that I'll figure that out some time in the future ;)23:19
benjiI don't understand, the quick start was using "persisten.Persistent", and you substituted "object" and it broke, and you just wondered why.  Is that right?23:20
brupp_Almost, at one point you yourself mention to use "object". Let me search...23:21
*** horizon5 has quit IRC23:21
brupp_Subtitle ZCML and Templates23:21
brupp_The first block of code23:21
brupp_Even above "A New View"23:22
benjithat's a bug, I'll fix it (this is why I started writing a test framework :)23:22
brupp_So what's the correct way, the persistent?23:22
brupp_It's really great to sort this stuff out directly with you, I thought it was some "magic" going on, hehe23:23
*** ignas has quit IRC23:23
benjioh, sorry, I was mistaken, that is a view class, so it needn't be persistent23:24
benjisorry about that23:24
benjido you want to know why?23:24
brupp_If I understand? :-)23:24
brupp_I'm not sure if I'm ready, although interested...23:24
benjifirst, do you know what subclassing object does in python?23:25
brupp_yes, I think23:25
benjiok, then you understand what it does in Zope 3  :)23:25
benjithe view class is used to instantiate a view instance every time you view a page23:26
brupp_Ah, bells ringing23:26
benjithe views aren't stored in the database, the content object is (that's why it needs to be persitent)23:26
brupp_Doesn't have to be persistent in this case23:26
benjimaybe I should reiterate that in the quick start23:26
brupp_Yeah, that would be great for greenhorns like me ;)23:27
benjicool, I'm making myself a note23:27
*** mgedmin has quit IRC23:28
JoaoJoaoGood to know that23:29
JoaoJoaoWell the FIrebird DA works now, except when I select a Date or DateTime field23:31
*** JoaoJoao has quit IRC23:46
*** xenru|away is now known as xenru23:52

Generated by 2.15.1 by Marius Gedminas - find it at!