IRC log of #zope3-dev for Wednesday, 2005-05-11

*** niemeyer has quit IRC00:08
*** srichter has quit IRC00:16
*** SureshZ has left #zope3-dev00:31
* andrew_m is back (gone 22:46:34)00:51
*** srichter has joined #zope3-dev00:59
*** ChanServ sets mode: +o srichter00:59
*** philiKON has joined #zope3-dev01:01
*** philiKON has quit IRC01:02
*** yota has quit IRC01:09
*** hazmat has quit IRC01:11
projekt01VladDrac, ayt01:13
VladDracabout to sleep, but yes01:13
projekt01I answered your zope3-dev mail about the Boston skin01:13
VladDraccool, let's see01:13
projekt01Can you try to comment out the metal:block with the condition macroname == 'view'01:14
VladDracif I commtent out the condition, I get the appropriate actions (edit, metadata, etc)01:14
VladDracif I leave it as it is, I don't get them01:14
projekt01Ok, this means your maconame is == 'view', right?01:15
projekt01Normaly this is the addform (IAdding view called "+"). I think.01:16
projekt01The reason for the macroname == 'view' is: The menu and I think the commontasks can't be display at the addform.01:17
projekt01The macroname == 'view' should handle such a usecase.01:17
projekt01But this is really more a hack then a solution. I need to find a better way for this.01:17
VladDracmy macroname is always 'page'01:18
VladDracso it always evaluates to false, causing it to leave out the rest01:18
VladDracI've replied to your reply01:19
projekt01Hm, could be, but there was a name called 'view' before. Perhaps it's gone now.01:19
VladDracgoing to bed now01:19
VladDracwhat happens is that the outer macro is invoked as view (i.e. context/@@skin_macros/view or so)01:19
VladDracview is mapped to 'page' in defaultskin basemacros01:20
VladDracand page is taken from template.py01:20
projekt01Anyway, we have to find out how we can check if the Skin presents the addform and then disable menu items and the commontask01:20
VladDraceh pt01:20
VladDracand eventhough the main macro is named 'page', macroname is 'view' except in my derived skin01:20
VladDracdon't know why01:20
VladDracperhaps I'll try to reduce it to a trivial subset tomorrow01:21
VladDracbedtime now - gotta go01:21
projekt01Yes, I think we can remove the macro mapping later if we can use the pagelets as a base concept for to do what the macro mapping tries to do now.01:22
projekt01Ok, see you tomorrow01:22
*** J1m has quit IRC01:44
*** projekt01 has left #zope3-dev01:47
*** srichter has quit IRC02:23
*** srichter has joined #zope3-dev02:26
*** stub has joined #zope3-dev02:27
*** ChanServ sets mode: +o srichter02:30
*** SureshZ has joined #zope3-dev03:29
*** hazmat has joined #zope3-dev03:51
*** `anthony has quit IRC04:05
*** RaFromBRC has quit IRC04:19
*** `anthony has joined #zope3-dev04:26
*** hazmat has quit IRC04:49
*** __odie has joined #zope3-dev05:01
__odieAnyone aware of a whitepaper, or powerpoint, or web site on the benefits of Zope3? Something to point manager types at and get them excited? :)05:02
*** hazmat has joined #zope3-dev05:07
*** hazmat has quit IRC05:29
*** hazmat has joined #zope3-dev06:32
*** hazmat has quit IRC06:39
*** hazmat has joined #zope3-dev06:43
*** `anthony has quit IRC06:47
*** hazmat has quit IRC07:00
*** tav|offline has joined #zope3-dev07:31
*** hazmat has joined #zope3-dev07:35
*** tav|offline has quit IRC07:37
*** tav|offline has joined #zope3-dev07:38
*** tav|offline has quit IRC07:53
*** `anthony has joined #zope3-dev07:56
*** d2m has quit IRC08:47
*** d2m has joined #zope3-dev08:52
*** SureshZ has quit IRC09:13
*** SteveA has joined #zope3-dev09:26
*** stub has quit IRC09:42
*** projekt01 has joined #zope3-dev09:44
*** yota has joined #zope3-dev09:49
*** hdima has joined #zope3-dev09:52
*** stub has joined #zope3-dev09:54
*** hazmat has quit IRC09:57
*** Theuni has joined #zope3-dev10:01
*** hazmat has joined #zope3-dev10:06
*** hazmat has quit IRC10:12
*** sashav has joined #zope3-dev10:14
*** hazmat has joined #zope3-dev10:17
*** hazmat has quit IRC10:26
*** tarek_ has joined #zope3-dev10:28
*** hazmat has joined #zope3-dev10:38
projekt01tarek_, you have had a question yesterday about a filter. Right?10:43
tarek_i'm having a ForbiddenAttribute error10:47
projekt01Are you sure the method used in the filter has the right permission?10:47
tarek_the object is defined as a container, the method i am calling is defined in the corresponding interface, so i don't know what i am missing10:48
projekt01How do you register you object/container?10:48
tarek_do i have to declare it in the zcml ? i mean, it's not a method of the view,10:48
projekt01Yes, can you post the configure.zcml and the interface code to paste.plone.org10:49
tarek_i do register it, but maybe the wrong way, let me paste it in a web paster10:49
projekt01And give me the given ID10:49
tarek_ok thanks projekt0110:50
tarek_ for the zcml10:51
tarek_and i have a separated menu.zcml10:51
tarek_ for menus.zcml10:52
tarek_i have commented out, for example the title="cpsma_empty_trash" menuitem filter10:52
projekt01Ok, I take a look.10:53
tarek_that checks if the current folder is the trash: filter="python:context==context.getMailBox().getTrashFolder()"10:53
projekt01Can you post the IMailFolder10:54
*** hazmat has quit IRC10:54
tarek_the error happens for getMailBox()10:55
projekt01Can you post the IMailBox10:56
projekt01I don't see the getTrashFolder method in the IMailBox interface?10:58
projekt01Context.getMailBox returns a MailBox instance, right?10:59
projekt01The MailBox class implements IMailBox? right?10:59
projekt01Then the IMailBox interface have to define the method getTrashFolder()10:59
tarek_ok i try that, many thanks11:00
projekt01If not you can define allowed_attributes or something like that in the content directive of MailBox11:00
tarek_ok, i'll chek on this too11:00
projekt01Or allowed_methods, I'm not sure, take a look a t the content subdirective for options11:01
tarek_i'll give you feedback on my tries, many thanks11:01
projekt01Btw, make sure everybody has the permission to access getMailBox and getTrashFolder how uses the menu item with the filter.11:02
projekt01If this is not what you like, implement a method in IMAilBox which handles this check11:03
projekt01Ok, let me know if you have more questions.11:03
tarek_yes, I am probably going to set up a cleaner, dedicated interface,11:04
tarek_ok, thanks again11:04
*** lunatik has joined #zope3-dev11:06
projekt01And with less hooks in the filter. Perhaps implement a method where you can call on the context without iteration. Like filter="python:context.isTrashFolder()"11:06
projekt01Hm, let me see....11:06
projekt01Would be very nice if this would work filter="ITrashFolder.providedBy(context)"11:07
projekt01But I have no idea where ITrashFolder shold be known. Anybody have ideas if this is possible?11:08
*** lunatik has left #zope3-dev11:08
tarek_yes that looks pretty neat, i'll try that11:09
projekt01I'm confused right now, this means you can use the "for" attribute in the menu item. Just try for="..ITrashFolder"11:10
projekt01Is it right that the menu item just should appear on ITrashFolder's?11:11
tarek_should'nt it be IMailFolder, to get hooked on all folders, before trying to filter it ?11:11
projekt01Hm, is it right that the menu item just should appear on ITrashFolder's and not on other IXYFolder's?11:12
projekt01...if you say filter="context == xy" then you check the context11:12
projekt01You also can say for="the context interface"11:12
projekt01That's all11:13
tarek_oh hold on,11:13
tarek_i can't have a ITrashFolder11:13
tarek_i don't know wich folder is going to be the trash11:13
tarek_it can even change11:14
projekt01Do you use marker interface for TrashFolders?11:14
tarek_i have a getTrashFolderName() in the mailbox11:14
tarek_that can be call to get the name of the folder that's currentlythe trash11:15
projekt01I recommend to inject a marker interface called ITrashFolder if you make a MailFolder(or how the called) to ITrashFolder11:15
tarek_can this marker interface be moved dynamically ?11:15
tarek_ok cool, i'll grep for this :)11:16
tarek_moving interfaces, magic !11:16
projekt01directlyProvides(object, (tuple of all interfaces))11:16
tarek_interfaces in zope 3 seem to be used for everything11:17
projekt01Only markers. Make sure you don't inject interfaces with method definitions if the object don't provide this methods.11:17
projekt01This is a really great pattern11:17
projekt01Right for what you need11:17
tarek_yes indeed, i guess all filters can be removed, using that11:17
projekt01Don't bind this info(how is the trashFolder) in a attribute of the parent class, just mark the item(TrashFolder) itself.11:18
*** sashav has quit IRC11:18
projekt01We use exactly his pattern for to make a view of a child appear as the view of the folder.11:21
projekt01You can take a look here for a sample of this pattern11:21
* tarek_ is looking 11:22
* VladDrac is back again11:25
tarek_projekt01: what would be the best place to mark the object ? i guess in the view constructor11:33
*** __gotcha has joined #zope3-dev11:52
*** MalcolmC has joined #zope3-dev11:55
*** `anthony has quit IRC11:57
*** ignas has joined #zope3-dev11:57
projekt01Tarek_, This depends on your method. Try to add the marker in the makeTrashFolder method and remove the marker in the same method if "None" given.11:58
projekt01You can do this as a simple first try in a own view.11:59
tarek_i am trying like this :
tarek_since all folder actions are beeing shown when a folder view is called12:05
*** `anthony has joined #zope3-dev12:09
projekt01Ah, I would use a own view which offers a checkbox for to set TrashFolder12:16
*** anguenot has joined #zope3-dev12:17
projekt01If you send this from with the checkbox checked, mark the Folder with the ITrashFolder interface12:17
projekt01If the checkbox not checked, unmark the object12:17
projekt01There has to be no relation to the parent folder for this.12:17
projekt01This pattern is also used with the ISite and IPossibleSite12:18
projekt01Gerp for IPossibleSite for more info12:19
tarek_well, I have this form that sets up the thing, but a given folder can be marked as the trash folder and not exists yet12:19
tarek_so i have to keep it in the parent (the mailbox)12:19
projekt01Why do you whant to keep it in the parent? You never keep info form items in the parent. This sounds like a Manager/Child pattern where we don't have to use anymore since we have a component framework12:22
projekt01That's a OO pattern where we should replace with a component pattern.12:22
projekt01I think ;-)12:22
projekt01Btw, what happens if you copy one TrashFolder to another parent?12:23
projekt01Do you allow this and how do you correct the "trashFolder" info in the parent?12:23
tarek_well, trash, draft, and sent folder are kinda special12:24
projekt01If you support this you have to implement a special __delitem__ method or events etc12:24
tarek_in fact, it's more likely to be a maibox configuration12:24
tarek_i have to keep it in parent, for example :12:24
tarek_let's say you create a box12:24
tarek_in the mailbox you specify the name of the draft folder12:25
tarek_it does not exists yet12:25
tarek_it will be automatically created whenever you save a mail as "draft"12:25
tarek_so it has to be kept in the parent, (actually the maibox, a special mailfolder)12:26
projekt01What has to be keept in the parent? The name of the folder where you like to create if needed?12:27
ignastarek_, well - one can allways use a nameChooser for that, so nameChooser would just check the type of folder being ccreated and name it the way you want ...12:27
tarek_yes, let's say, for IMAP i'll have 'IMAP.Trash'12:28
tarek_sorry INBOX.Trash12:28
ignaswhy the INBOX prefix ?12:28
projekt01We don't care about the names if we mark one folder with ITrashFolder12:28
tarek_it's juste an example, could be anything12:28
projekt01The name isn't relevant you always find the child providing ITrashFolder12:29
*** regebro has joined #zope3-dev12:29
tarek_actually, the folder has a servber_name attriribute12:29
ignasso ?12:29
projekt01The name isn't really needed for to get or set a TrashFolder folder12:29
tarek_that's how I can tell it's the trash, by comparing the attribvute to the trash name ekpt in the mailbox12:29
ignasno extensibility whatsoever12:30
ignasadd 5 more types of folders and you will have to add 5 more special names to the parend folder12:30
tarek_no it's fixed12:30
tarek_a mailbox has 3 special folders : trash, sent and draft12:31
ignasthat's what i mean - no extensibility whatsoever12:31
projekt01The interface ITrahFolder does the job of identify a TrashFolder not a name12:31
tarek_yes but it does the job byy comparing the folder name to the name settled in the mailbox12:31
tarek_if context == box.getTrashFolder():12:32
tarek_            directlyProvides(context, (ITrashFolder, ))12:32
projekt01The name is just a nice name where the user can use, You as developer don't care about this name. You just check if a child provides the ITrashFolder12:32
tarek_no it's not the ui name, it's the mailfolder ID12:33
projekt01Never do this directlyProvides(context, (ITrashFolder)) this will remove all additional provided interface12:33
tarek_oh, ok i note that thanks12:33
projekt01Do it like this directlyProvides(context, (ITrashFolder) + directlyProvidedBy(context))12:34
ignasdef getTrashFolders(): return [folder for folder in self if ITrashFolder.providedBy(folder)]12:34
tarek_ok thaks12:34
projekt01Let's talk about the name again12:34
projekt01Can you explain, why do you use a mailfolder ID?12:34
tarek_ok so the id is an attribute that indentifies a mail folder12:35
tarek_for example12:35
tarek_INBOX.Trash means12:35
tarek_i am the folder "trash" on the server, and i belong to the folder "INBOX"12:35
ignastarek_, why do you want the id being not just id but an attribute TOO ?12:36
ignasids are meant to be IDs12:36
tarek_in fact, i don't want the mail id to be the zope id12:36
projekt01...Yes, get TrashFolder(..) is the correct way to find the TrashFolder, but there should not be more then one I guess.12:36
projekt01Ah, do you use more then one TrashFolder?12:36
ignasprojekt01, spam/trash12:37
ignasfor example12:37
tarek_no, you right, just one folder12:37
tarek_the spam one would eb a regular folder with filters12:37
ignasarchive2005, archive 2004 for those who are deleting mail but do not want it to disappear12:37
projekt01Ok, add ISpamFolder and mark one folder as the spam folder12:37
ignasthat's what i mean12:38
projekt01ignas, Yes12:38
tarek_ignas: ok, right12:38
tarek_ISpamFolder is quite overkill, because, any mail in any folder can be a spam12:38
tarek_it's a mail attribute12:39
tarek_for example, tunderbird sets a "junk" attribute over IMAP12:39
ignastarek_, well and what if someone will add different icon support for different Interfaces ?12:39
ignasspam/ham folder interfaces get theirplace :)12:39
tarek_oh ok, then i suppose i can mark folders you are right12:40
projekt01I'm not sure what you like to do if  a folder is a SpamFolder?12:40
tarek_in fact, i am willing to do things like under gmail12:40
tarek_provinding virtual folders12:40
tarek_that means setting up meta datas on messages12:41
ignasfrom Gmail perspective - there are no folders there are only views12:41
tarek_but i am scared of performances if the view of suche folders is calculated on the fly12:41
ignasprimary indices, secondary indices ...12:42
ignasimho one can optimize selects by "tag"12:42
projekt01Ok, that's too much for me. It's hard to imagine what this all means. I just propose to mark ITrashFolder because there is just one of it. And you need to know which one is the trash folder.12:42
projekt01I think filter Spam is another concept12:42
ignasand i am over-engineering as allways :)12:42
tarek_nice talk anyway ;)12:43
ignasyet my point is differend - ID is for IDs, attributes/interfaces - for marking12:43
projekt01Was interesting12:43
tarek_are you guys coming at Europython ?12:44
tarek_cool, we might meet there if my talk is accepted12:45
ignaswatcha talking about ?12:46
tarek_about the webmail i am coding for cps, using zope 312:46
tarek_ignas: are you doing a talk ?12:48
ignasnever been to any con yet12:49
ignasso i'd like to see someone talk firs ;)12:49
ignasand my experience with Zope/python is kind oflimited12:50
ignas~3 months12:50
*** yota has quit IRC12:53
*** stub has quit IRC12:55
*** tav|offline has joined #zope3-dev13:02
*** stub has joined #zope3-dev13:05
*** tav|offline has quit IRC13:30
*** Aiste has quit IRC13:54
*** mgedmin has joined #zope3-dev13:59
projekt01srichter, ayt?14:03
*** bskahan has joined #zope3-dev14:13
srichterprojekt01: I am in the middle of the morning boot sequence14:16
*** stub has quit IRC14:17
projekt01srichter, Just a short question, the introspection.html page sorts the directly provided interfaces.14:18
projekt01Can I remove the sort() method. I like to see the right order for directly provided interfaces.14:18
srichteryeah, it should not sort14:19
projekt01Ok, I'll remove it14:19
srichter(but make some comment for the user that it is the order the interfaces were declared14:19
projekt01In the template or in the python class?14:20
srichtertemplate, so that people know why it is not sorted, but in this particular order14:20
*** Aiste has joined #zope3-dev14:21
*** SteveA_ has joined #zope3-dev14:23
*** SteveA has quit IRC14:27
*** stub has joined #zope3-dev14:35
*** srichter has quit IRC14:37
*** SteveA has joined #zope3-dev14:41
*** bradb|away has quit IRC14:45
*** [apoirier] has joined #zope3-dev14:49
*** [apoirier] is now known as apoirier14:49
*** Aiste_ has joined #zope3-dev14:50
*** SteveA_ has quit IRC14:54
*** Aiste has quit IRC15:00
*** Aiste_ is now known as Aiste15:00
*** mooded has joined #zope3-dev15:21
*** srichter has joined #zope3-dev15:28
*** ChanServ sets mode: +o srichter15:29
*** `anthony has left #zope3-dev15:33
*** lunati1 has joined #zope3-dev15:55
*** Aiste has quit IRC15:58
*** SureshZ has joined #zope3-dev16:10
*** lunati1 is now known as lunatik16:14
*** lunatik has left #zope3-dev16:14
*** yota_ has joined #zope3-dev16:18
*** J1m has joined #zope3-dev16:21
*** niemeyer has joined #zope3-dev16:24
*** bradb has joined #zope3-dev16:32
*** bradb has quit IRC16:42
*** bradb has joined #zope3-dev16:47
*** SteveA_ has joined #zope3-dev16:54
*** Aiste has joined #zope3-dev17:02
J1manybody know a good xml editor?17:03
anguenotdid you try nxml-mode for emacs  ?17:05
J1mWhere do I get it.17:08
J1m(Jawe requirs too many clicks in practice.)17:08
J1mWhere do I get it?17:08
J1mnever mind17:08
* J1m is too lazy17:08
anguenotit's worst trying it17:09
*** hdima has quit IRC17:09
J1mDoes nxml do folding?17:10
anguenotI ment worth I guess ;)17:10
anguenotit seems17:11
anguenotI'm not using it17:11
projekt01srichter, ayt? I have a menu item question.17:15
*** stub has quit IRC17:16
projekt01Or does somebody else have a good answer?17:21
projekt01Why do we order the menu items first on the "object interface order" and then on the order from the "order attribute of the menuItem"?17:21
*** SteveA has quit IRC17:22
projekt01Is it not easier for managing the order if we just order it by the menuItem directive's order attribute?17:22
projekt01Then we can provide ONE order for a object. Don't care about the interfaces they provide.17:22
projekt01Or do I miss something?17:23
*** zagy has quit IRC17:26
*** zagy has joined #zope3-dev17:32
*** BjornT has joined #zope3-dev17:36
srichterthe idea is that more specific menu items come first17:36
srichterfor example, the introspector view is very generic, so it should be last17:36
srichterbut I ahve no strong opinion about any of this17:36
projekt01Yes, this is Ok, but if we like to define a own order (like customers wish) we need a way where the interface order isn't relevant.17:38
projekt01Just say first, second, ...last17:38
projekt01Without any other sideeffects17:38
srichterI agree17:40
projekt01Right now I think of a second method getMenuItemsByOrder in the BrowserMenu class17:41
projekt01Ok, I solve my problem in our project first, we can discuss this after the 3.1 release.17:52
projekt01srichter, we can think about this again if we implement the nested menus.17:53
projekt01srichter, perhaps there is a way to offer more then one order concept and support switch the order concept via preferences ;-)17:55
*** stub has joined #zope3-dev18:01
*** regebro has quit IRC18:07
*** __gotcha has quit IRC18:07
*** __gotcha has joined #zope3-dev18:08
*** regebro has joined #zope3-dev18:15
*** stub has quit IRC18:19
*** Theuni has quit IRC18:35
*** regebro has quit IRC18:42
*** zagy_ has joined #zope3-dev18:43
*** zagy has quit IRC18:45
*** ignas has quit IRC18:46
*** Theuni has joined #zope3-dev18:46
*** tvon has quit IRC19:04
*** stub has joined #zope3-dev19:04
*** admp_ has joined #zope3-dev19:11
*** zagy_ has quit IRC19:19
*** zagy_ has joined #zope3-dev19:19
*** stub has quit IRC19:24
tarek_five related : i have a strange side effect when i rename items in a btree folder : when I try to view trhough a ZopeTwoPageTemplateFile moved items i get an attribute error on RESPONSE when the publisher tries to set the page headers19:28
tarek_if i relaunch zope everything is ok19:29
tarek_is there any cache i should clear somewhere when i rename items by code in a btree folder ?19:29
tarek_it looks like the request object loose its RESPONSE attribute, for a view object working on a renamed item19:31
*** mooded has quit IRC19:32
tarek_lookin at the traceback, the request has a _ec_cache list full of "Products.PageTemplates.TALES.Context instance"19:33
tarek_(i don't know if it's related)19:34
*** stub has joined #zope3-dev19:59
*** SteveA_ is now known as SteveA20:06
*** FarcePest has quit IRC20:15
*** tvon has joined #zope3-dev20:15
*** projekt01 has quit IRC20:16
*** stub has quit IRC20:20
*** MalcolmC has quit IRC20:31
*** hazmat has joined #zope3-dev20:42
*** FarcePest has joined #zope3-dev20:51
*** stub has joined #zope3-dev20:55
*** apoirier has quit IRC21:05
*** stub has quit IRC21:08
*** hazmat has quit IRC21:08
*** anguenot has quit IRC21:51
*** stub has joined #zope3-dev21:54
*** hazmat has joined #zope3-dev21:56
*** zagy_ has quit IRC22:11
*** stub has quit IRC22:16
*** RaFromBRC has joined #zope3-dev22:17
*** SureshZ has left #zope3-dev22:22
*** hazmat has quit IRC22:24
*** hazmat has joined #zope3-dev22:25
*** mgedmin has quit IRC22:27
*** tvon has quit IRC22:30
*** stub has joined #zope3-dev22:53
__odieZODB can "mount" another database into the namesace of your root db right? and if so is that functionality avaliable in zope3?22:58
*** RaFromBRC has left #zope3-dev23:11
__odiei dont like to be wrong :)23:22
J1mZODB has facilities that can be used to implement mounts at the aplication level.23:22
J1mWe haven't done so yet.23:22
__odieI see :)23:23
__odiedo I have the ability to open other ZODBs in zope3?  I have some very large objects collections which will be static, it seems to me the best thing would be to put them in their own files23:24
J1mThis can be done much more cleanly with ZODB 3.4.23:24
J1mZope 2 uses horrible deranged monkey patches to make mounting work,23:24
__odieSeems like 3.4 will be quite some time from now? Im still waiting for the catalog in 3.1 :)23:24
__odieoh you said ZODB 3.423:25
__odieActually, my question was about Zope3? screw zope 223:25
J1mZope 3 trunk and Zope 2.8 use ZODB 3.4.23:26
__odieCan you recommend a best practice in this case?23:26
J1mI might if I had time. :)23:26
__odieim planning on using the SVN to get the catalog object :)23:26
__odiewell thanks anyways :)23:26
J1mLook at the multi-database apis in ZODB 3.4.23:26
*** anguenot has joined #zope3-dev23:26
__odiewill do23:26
J1mI have no idea what you are talking about wrt "catalog object".23:27
__odieme either ... the cataloging/indexing mechanism noticably missing from the first release of zope 323:28
J1mThat has nothing to do with ZODB really,23:29
__odieyea, i was confused acutally, I read ZOPE 3.4 not ZODB 3.4 ...23:29
J1mI unserstand what you were saying23:29
__odieI take it you are a developer?23:30
__odieWell I wont bother you any longer :)  Keep up the good work23:30
VladDracodie what about the catalog in 3.1?23:39
*** FarcePest has quit IRC23:39
__odieVladDrac: nothing, just wishing the code was gold :)23:40
__odieand wondering if it would work with the multi-database stuff jim was talking about23:40
*** FarcePest has joined #zope3-dev23:41
*** stub has quit IRC23:43
*** mkerrin has joined #zope3-dev23:46
VladDracif I want to intercept the 'setting' of an attribute, what would be the best way? (i.e. how to hook into the mutator?23:50
*** eaon has joined #zope3-dev23:51
*** tvon has joined #zope3-dev23:55

Generated by 2.15.1 by Marius Gedminas - find it at!