[Zope-dev] ZCatalog Scalability
John Eikenberry wrote: and retrieval. But ZCatalog did not. It was basically useless for partial matching searches (taking many minutes for searches that retrieved more than 100 matches). I was also concerned about the indexing overhead. It doesn't scale well when changing/adding many things at a time (we might have bulk adds/changes). I wonder if this will change with Zope 2.3? cheers, Chris ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
[Zope-dev] Partial Matches
John Eikenberry wrote: Long answer: If you check out the source and/or hit it with the profiler you'll see that the way the partial search works is to first do a more general search then to limit the hits as much as possible via regex's. Both these steps have to happen no matter the batch size, and this is where you take the performance hit. Can you give me an exampel of a partial search expression that causes you problems? cheers, Chris ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Massive scalability
Hi Andy, I'm not sure what you mean by 'interface/way', so.. I'm going to guess at two possible interpretations. 1) Basically ZPatterns allows you to define classes (DataSkins) instances of which can optionally be used to view/create/change/delete external data through methods of the class ( + a little SkinScript ). If your store your instance data in SQL you can use SQL queries, masked from the application behind some generic method (e.g., getFooIdsWithText( textToFind )") to find the id(s) of the instance(s) you're after. You can then get the instance from the ZPatterns machinery and, once gotten, display it, change it, call it's methods, and/or delete it. The way these actions on the object interact with the data in the external database is all defined in 'SkinScript' which is hidden away as a PlugIn of a Rack deep inside the ZPatterns guts. At the Zope application level you don't really *know* where/how the data is stored. Best of all you, or your Product's customers can easily customize that part *after* your product is plugged into *their* application, without changing the basic application level logic and design of your product. It's the coolest. ;-) 2) To get folks started with moving objects from ZODB to SQL I've found ZFormulator handy as a tool to get folks quickly up to speed in how SQL 'works'. http://www.zope.org/Members/faassen/ZFormulator If they already have ZClasses, they can use this to 'automatically' generate starting point queries to match their class propertysheets. Of course... it probably won't be normalized/optimized/etc.. but it's better than doing it all for them! ;-) -steve "Andy" == Andy McKay [EMAIL PROTECTED] writes: Andy Does ZPatterns provide a nice interface / way for storing Andy classes in a RDBMS? I have to say using an RDBMS is not as Andy transparent as I would like, this may may improve Andy it. Finally a reason for me to ZPatterns... Andy -- Andy McKay. Andy - Original Message - From: "John Eikenberry" Andy [EMAIL PROTECTED] To: [EMAIL PROTECTED] Cc: "Michael Andy Bernstein" [EMAIL PROTECTED] Sent: Tuesday, January 16, Andy 2001 3:22 PM Subject: Re: [Zope-dev] Massive scalability Michael Bernstein wrote: So, again: Has anyone run up against any performance or other limitations regarding large numbers (hundreds of thousands or more) of objects stored within the ZODB either in a BTree Folder or a Rack? I was looking into the same issues recently, but for a much smaller set of data (5ish). In my tests ZPatterns/binary-trees scaled well for Andy storage and retrieval. But ZCatalog did not. It was basically useless for partial matching searches (taking many minutes for searches that retrieved more than 100 matches). I was also concerned about the indexing overhead. It doesn't scale well when changing/adding many things at a time (we might have bulk adds/changes). I ended up deciding to go with a RDBMS backend for data storage with a ZPatterns interface. SkinScripts work so well for this that I'm actually glad I switched. It simplified my design and implementation immensely. -- John Eikenberry [[EMAIL PROTECTED] - http://zhar.net] __ "A society that will trade a little liberty for a little order will deserve neither and lose both." --B. Franklin ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope ) Andy ___ Zope-Dev Andy maillist - [EMAIL PROTECTED] Andy http://lists.zope.org/mailman/listinfo/zope-dev ** No cross Andy posts or HTML encoding! ** (Related lists - Andy http://lists.zope.org/mailman/listinfo/zope-announce Andy http://lists.zope.org/mailman/listinfo/zope ) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
[Zope-dev] [Fwd: Re: [Zope-dev] Massive scalability]
Forwarded to the list to maintain the thread. Original Message From: John Eikenberry [EMAIL PROTECTED] Subject: Re: [Zope-dev] Massive scalability To: Michael Bernstein [EMAIL PROTECTED] Michael Bernstein wrote: John Eikenberry wrote: Can you tell us a bit about how many indexes (and what types) you were maintaining about each object? Another poster reported no problems with 60,000 objects. I was testing and had a real simple setup. In addition to the default indexes I had 1 index on a string type (of 10 chars or less - last names), 2000 objects indexed. The vocabulary only had the entries for this field in it. Everything was nice and fast except partial searching. It was fast enough when ther were small numbers of matches. But as the number of matches grew the time it took grew along with it, at a nearly expontial rate. -- John Eikenberry [[EMAIL PROTECTED] - http://zhar.net] __ "A society that will trade a little liberty for a little order will deserve neither and lose both." --B. Franklin ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
RE: [Zope-dev] Specialists and __bobo_traverse__
At 04:41 PM 1/17/01 +0200, Roch'e Compaan wrote: I don't have the slightest idea what you're trying to accomplish here - I probably missed the beginning of this thread. Do you want to change the way the specialist processes the string "dataskin1", or the way dataskin1 processes the URL component that comes next? Each requires a different approach. I want to process the way dataskin1 processes the URL component that comes next. Just to make sure I communicate some sense :) Okay, then your SkinScript *should* work, so long as your dataskins don't already inherit a __bobo_traverse__ method. If your DataSkin inherits from ObjectManager or any of its derivatives, for example, then it won't work. Of course, the bobo_traverse you're supplying has to be able to be bound to the DataSkin. Not all types of Zope "method" objects can do this binding correctly. ZPublisher will call the method with two arguments, but your method will (presumably) need three: one of which is "self" - the DataSkin itself. I'm pretty sure DTML methods *won't* work. "Python Methods" might. I don't know about external methods, python scripts, etc. If I was trying to solve your problem, I would just write a __bobo_traverse__ in a Python base for my class. If I needed it to be replaceable on the fly, I'd write it so that it looked for another attribute, maybe __skin_traverse__, and called it if it existed. But I'd have it pass three parameters, including self, so that I could use almost any kind of Zope method and make it work. Then if I needed to customize it I could use SkinScript or a Class Extender to add the method in. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Re: ZCatalog Scalability
Christopher Petrilli wrote: Unfortunately, it won't change in b1, it might change before the final release if I can find a better solution. The problem is in the Vocabulary, not in the Catalog itself. One of the things I'm focusing on is improving the algorithms that are used for doing globbing. Which problem is the algorithm improvement meant to address, bulk adds or partial search performance? Thanks, Michael Bernstein. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Specialists and __bobo_traverse__
Phillip J. Eby wrote: I'm pretty sure DTML methods *won't* work. "Python Methods" might. I don't know about external methods, python scripts, etc. I have successfully used PythonScripts for this. -- Steve Alexander ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
RE: [Zope-dev] Specialists and __bobo_traverse__
Phillip J. Eby wrote: I'm pretty sure DTML methods *won't* work. "Python Methods" might. I don't know about external methods, python scripts, etc. I have successfully used PythonScripts for this. Does this mean I have to upgrade to 2.3 beta 1, because Python Methods on 2.2.4 doesn't work? Roch ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] manage_changeProperties in a loop
Arno Gross wrote: If I try your suggestion wiht _.getitem(_['sequence-item']) (If I remember well this was the first I tried). dtml-call "REQUEST.set('rangList','folder1;folder2;folder2')" dtml-in " _.string.split(rangList,';')" dtml-with "_.getitem(_['sequence-item'])" dtml-let index=sequence-index dtml-call "manage_changeProperties({'rang':index})" /dtml-let /dtml-with /dtml-in I get this error: File D:\packages\Zope\WEBSIT~3\lib\python\DocumentTemplate\DT_In.py, line 691, in renderwob (Object: _.string.split(rangList,';')) File D:\packages\Zope\WEBSIT~3\lib\python\DocumentTemplate\DT_With.py, line 133, in render (Object: _.getitem(_['sequence-item'])) File D:\packages\Zope\WEBSIT~3\lib\python\DocumentTemplate\DT_Util.py, line 337, in eval (Object: _.getitem(_['sequence-item']))(Info: _) Still any hints. Thanks. Try this: dtml-call expr="REQUEST.set('rangList','folder1;folder2;folder2')" dtml-in expr="_.string.split(rangList,';')" dtml-let folder="_[_['sequence-item']]" index="_['sequence-index']" dtml-call expr="folder.manage_changeProperties({'rang':index})" /dtml-let /dtml-in Also, why are you passing the folder ids in a string like this? Where are these names coming from, a form? If so, there are ways to eliminate the whole string.split. Also, the code would not need to be this complex if the objects themselves can be passed instead of a delimited string of ids. -- | Casey Duncan | Kaivo, Inc. | [EMAIL PROTECTED] `-- ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] manage_changeProperties in a loop
On Wed, 17 Jan 2001, Casey Duncan wrote: Try this: dtml-call expr="REQUEST.set('rangList','folder1;folder2;folder2')" dtml-in expr="_.string.split(rangList,';')" dtml-let folder="_[_['sequence-item']]" index="_['sequence-index']" dtml-call expr="folder.manage_changeProperties({'rang':index})" /dtml-let /dtml-in Also, why are you passing the folder ids in a string like this? Where are these names coming from, a form? Yes, the names are coming from a from where I can sort the folders for showing in the desired order. I know that I can use a list with a SELECTION tag. But will get only the selected options and I need all the options in the ordered sequence. Of course I could select programmatically all options before returning the form and then I could work the list. But how can I pass the objects instead of the string? Best wishes Arno Gross, [EMAIL PROTECTED] If so, there are ways to eliminate the whole string.split. Also, the code would not need to be this complex if the objects themselves can be passed instead of a delimited string of ids. -- | Casey Duncan | Kaivo, Inc. | [EMAIL PROTECTED] `-- ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Massive scalability
Are you saying that Zope's startup and shutdown time is affected by the size of the ZODB? Yep. Over small ZODB's you wont notice the effect until it gets large. I found it very annoying when doing a lot of work in python and so had two databases, one with a small amount of data and one with a lot (two sets of test). However in the end Shane Hathaway's excellent refresh product saved the day. -- Andy McKay. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
[Zope-dev] Rowcount not available?
Is there a reason the rowcount property of the cursor object was not made available throught the DA (ideally as an optional parameter of the __call__ method)? Am I missing it somewhere else? Cheers, Tim McLaughlin ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Massive scalability
Wow, that sounds perfect. Yes that's exactly what I was asking. I can create an abstract data storage (SkinScript) that stores the data anywhere, lets say for my purposes an RDBMS (but it could be ZODB etc). I can then get and access classes (DataSkins) with no cares about the data storage and use all the advantages an OO approach gives. I've got to play with this stuff, this could solve my data storage problems... Thanks! -- Andy McKay. - Original Message - From: "Steve Spicklemire" [EMAIL PROTECTED] To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Wednesday, January 17, 2001 3:43 AM Subject: Re: [Zope-dev] Massive scalability Hi Andy, I'm not sure what you mean by 'interface/way', so.. I'm going to guess at two possible interpretations. 1) Basically ZPatterns allows you to define classes (DataSkins) instances of which can optionally be used to view/create/change/delete external data through methods of the class ( + a little SkinScript ). If your store your instance data in SQL you can use SQL queries, masked from the application behind some generic method (e.g., getFooIdsWithText( textToFind )") to find the id(s) of the instance(s) you're after. You can then get the instance from the ZPatterns machinery and, once gotten, display it, change it, call it's methods, and/or delete it. The way these actions on the object interact with the data in the external database is all defined in 'SkinScript' which is hidden away as a PlugIn of a Rack deep inside the ZPatterns guts. At the Zope application level you don't really *know* where/how the data is stored. Best of all you, or your Product's customers can easily customize that part *after* your product is plugged into *their* application, without changing the basic application level logic and design of your product. It's the coolest. ;-) 2) To get folks started with moving objects from ZODB to SQL I've found ZFormulator handy as a tool to get folks quickly up to speed in how SQL 'works'. http://www.zope.org/Members/faassen/ZFormulator If they already have ZClasses, they can use this to 'automatically' generate starting point queries to match their class propertysheets. Of course... it probably won't be normalized/optimized/etc.. but it's better than doing it all for them! ;-) -steve "Andy" == Andy McKay [EMAIL PROTECTED] writes: Andy Does ZPatterns provide a nice interface / way for storing Andy classes in a RDBMS? I have to say using an RDBMS is not as Andy transparent as I would like, this may may improve Andy it. Finally a reason for me to ZPatterns... Andy -- Andy McKay. Andy - Original Message - From: "John Eikenberry" Andy [EMAIL PROTECTED] To: [EMAIL PROTECTED] Cc: "Michael Andy Bernstein" [EMAIL PROTECTED] Sent: Tuesday, January 16, Andy 2001 3:22 PM Subject: Re: [Zope-dev] Massive scalability Michael Bernstein wrote: So, again: Has anyone run up against any performance or other limitations regarding large numbers (hundreds of thousands or more) of objects stored within the ZODB either in a BTree Folder or a Rack? I was looking into the same issues recently, but for a much smaller set of data (5ish). In my tests ZPatterns/binary-trees scaled well for Andy storage and retrieval. But ZCatalog did not. It was basically useless for partial matching searches (taking many minutes for searches that retrieved more than 100 matches). I was also concerned about the indexing overhead. It doesn't scale well when changing/adding many things at a time (we might have bulk adds/changes). I ended up deciding to go with a RDBMS backend for data storage with a ZPatterns interface. SkinScripts work so well for this that I'm actually glad I switched. It simplified my design and implementation immensely. -- John Eikenberry [[EMAIL PROTECTED] - http://zhar.net] __ "A society that will trade a little liberty for a little order will deserve neither and lose both." --B. Franklin ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope ) Andy ___ Zope-Dev Andy maillist - [EMAIL PROTECTED] Andy http://lists.zope.org/mailman/listinfo/zope-dev ** No cross Andy posts or HTML encoding! ** (Related lists - Andy http://lists.zope.org/mailman/listinfo/zope-announce Andy http://lists.zope.org/mailman/listinfo/zope )
[Zope-dev] No Restarts-cos-of-changed-python-product in 2.3?
Andy McKay wrote: Yep. Over small ZODB's you wont notice the effect until it gets large. I found it very annoying when doing a lot of work in python and so had two databases, one with a small amount of data and one with a lot (two sets of test). However in the end Shane Hathaway's excellent refresh product saved the day. I think this problem is fixed in 2.3... anyone know how? Is there a 'refresh this product' button or is it done simply by modifying a python file on disk? cheers, Chris ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Re: ZCatalog Scalability
Michael Bernstein wrote: Christopher Petrilli wrote: Unfortunately, it won't change in b1, it might change before the final release if I can find a better solution. The problem is in the Vocabulary, not in the Catalog itself. One of the things I'm focusing on is improving the algorithms that are used for doing globbing. Which problem is the algorithm improvement meant to address, bulk adds or partial search performance? I'm guessing the partial search thing, but the bulk add thing really needs to be sorted out too. NIP'd love to move the archives at http://zope.nipltd.com/public/lists.html to a wholely Zope solution, but ZCatalog consistently exploded when we tried to do this. For now, we're working on a Zope front end into MySQL (MySQL's new full text searching stuff is pretty damn quick, maybe you could nick their algorithms? ;-) So, are both of these problems being addressed? If so, when are we likely to see them? Thanks for the work so far :-) Chris ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] No Restarts-cos-of-changed-python-product in 2.3?
I haven't spotted any UI for it, if its there. Shane's Refresh didn't quite work all the time for every product (something he recognized in his readme's). This would be a huge advantage for me with 2.3. -- Andy McKay. - Original Message - From: "Chris Withers" [EMAIL PROTECTED] To: "Andy McKay" [EMAIL PROTECTED] Cc: "Michael Bernstein" [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Wednesday, January 17, 2001 10:24 AM Subject: [Zope-dev] No Restarts-cos-of-changed-python-product in 2.3? Andy McKay wrote: Yep. Over small ZODB's you wont notice the effect until it gets large. I found it very annoying when doing a lot of work in python and so had two databases, one with a small amount of data and one with a lot (two sets of test). However in the end Shane Hathaway's excellent refresh product saved the day. I think this problem is fixed in 2.3... anyone know how? Is there a 'refresh this product' button or is it done simply by modifying a python file on disk? cheers, Chris ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope ) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Re: ZCatalog Scalability
Michael Bernstein wrote: Christopher Petrilli wrote: Unfortunately, it won't change in b1, it might change before the final release if I can find a better solution. The problem is in the Vocabulary, not in the Catalog itself. One of the things I'm focusing on is improving the algorithms that are used for doing globbing. Which problem is the algorithm improvement meant to address, bulk adds or partial search performance? I'm guessing the partial search thing, but the bulk add thing really needs to be sorted out too. NIP'd love to move the archives at http://zope.nipltd.com/public/lists.html to a wholely Zope solution, but ZCatalog consistently exploded when we tried to do this. For now, we're working on a Zope front end into MySQL (MySQL's new full text searching stuff is pretty damn quick, maybe you could nick their algorithms? ;-) For a similar project (http://mailarchive.activestate.com) we too use a MSSQL back end, for various reasons similar to Chris. I'm not worried about it, once upon a time I tried to stick everying in the ZODB. To me one of Zope's great strengths is it's portability and connectivity to other databases and storage systems. -- Andy McKay. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Massive scalability
On Tuesday 16 January 2001 20:42, Michael Bernstein wrote: Are you saying that Zope's startup and shutdown time is affected by the size of the ZODB? AFAIK on a filestorage zope loads up the indexes (oid, file_offset?) into memory on start to facilitate object retrieval which impacts start up time. i don't think the other storages operate this way. kapil ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Massive scalability
On the plus side any corrupted objects are fixed or deleted when you start up the ZODB. For that reason, somedays a restart is very useful :) -- Andy McKay. - Original Message - From: "ender" [EMAIL PROTECTED] To: "Michael Bernstein" [EMAIL PROTECTED]; "Andy McKay" [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Wednesday, January 17, 2001 12:05 PM Subject: Re: [Zope-dev] Massive scalability On Tuesday 16 January 2001 20:42, Michael Bernstein wrote: Are you saying that Zope's startup and shutdown time is affected by the size of the ZODB? AFAIK on a filestorage zope loads up the indexes (oid, file_offset?) into memory on start to facilitate object retrieval which impacts start up time. i don't think the other storages operate this way. kapil ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope ) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
[Zope-dev] mounting obj to more than one zodb location
whats happens when you create a persistent object and mount it to multiple points on your zodb. do you get a shared ref or multiple copies of the object? kapil ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
[Zope-dev] recent DynPersist.dll for windows
Hi Folks, Does anyone have a recently compiled DynPersist.dll from ZPatterns, compiled for Windows ? Thanks. -- Steve Alexander Software Engineer Cat-Box limited http://www.cat-box.net ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Re: ZCatalog Scalability
For a similar project (http://mailarchive.activestate.com) we too use a MSSQL back end, for various reasons similar to Chris. I'm not worried about it, once upon a time I tried to stick everying in the ZODB. To me one of Zope's great strengths is it's portability and connectivity to other databases and storage systems. That's very true :-) ...however, ODB's seem good for tree-like data, probably better than RDB's, which are better suited to tables. While the mail messages themselves are tabular, the threading, which for me is _the_ most important part, is very tree-like and so, again for me, would sit much more nicely in an ODB. Now, the Catalog, as well as providing a very easy to use interface, is great for indexing tree-like data, but sadly its performance ain't that great for big numbers and/or complex searches right now. If it was lightning fast, better documented and had much more powerful searching capabilities, it would be Zope's absolute killer feature. Well, I can keep dreaming, I suppose :-) Anyway, all Chris P's work is bringing that closer, so thanks for the changes so far, I'm waiting with baited breath for those to come ;-) cheers, Chris ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] recent DynPersist.dll for windows
Steve, I've got one on a box at work, I'll check back with you tomorrow, and if you still need it it's yours. I may even be persuaded to compile a new one ;) Phil On Wednesday 17 January 2001 23:13, Steve Alexander wrote: Hi Folks, Does anyone have a recently compiled DynPersist.dll from ZPatterns, compiled for Windows ? Thanks. -- Steve Alexander Software Engineer Cat-Box limited http://www.cat-box.net ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope ) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] mounting obj to more than one zodb location
whats happens when you create a persistent object and mount it to multiple points on your zodb. do you get a shared ref or multiple copies of the object? ..shared ref if you do it like you say you are :-) I'd love to see ObjectManagers support this. ...yes, there are security implications (the object has two or more security paths, depending on how you access it) but if you take that into account, it provides for some pretty impressive flexibility. However, you can quite often do something funky with a __bobo_traverse__ method to get around the need for this :-) cheers, Chris ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] recent DynPersist.dll for windows
What version in particular? Try searching the archives, I posted quite a recent one a while back :-) cheers, Chris ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
RE: [Zope-dev] ZCatalog with ZClass
Hi, I tried it with a new product following the HowTo, and it works perfectly. Thanks a lot. But actually I have already an exsisted product with a Container ZClass 'KTracker'(inherit from ObjectManager) and an Item ZClass called 'TrackerIssue'. And it's been used for a while with the instance 'tracker' and hundreds of issues inside. Now I've succeeded in changing the base class for 'KTracker'to subclass ObjectManager and ZCatalog, and changing 'TrackerIssue' to CatalogAware. As 'tracker' instance was created before, although the base class is changed now, the constructor of the new base class seems not running. So I created an External Method to run the constructor of ZCatalog as follows: from Products.ZCatalog.ZCatalog import ZCatalog def initContainer(self): ZCatalog.__init__(self, self.id) Then I ran this method through IE browser: http://hostname/.../tracker/initContainer. It seems working, as a Vocabulary folder is created. And I could make settings to index and so on. But there's one thing incorrect: When using manage_catalogFind to catalog the object of type 'TrackerIssue', nothing was returned. If changing the finding type to 'All types', all the 'TrackerIssue' objects and other types of objects are cataloged together. The auto-catalogAware works fine for 'TrackerIssue' objects though. Do you have any idea why this happens? Does it have anything to do with the order of base class, etc.? If just the manage_catalogFind doesn't work well, will it affect the searching stuff much, if CatalogAware works fine? Thanks a lot. Lily -Original Message- From: Michael Bernstein [mailto:[EMAIL PROTECTED]] Sent: Wednesday, January 17, 2001 12:11 AM To: Lily Li Cc: '[EMAIL PROTECTED]' Subject: Re: [Zope-dev] ZCatalog with ZClass Lily Li wrote: Hello, everyone, It seems that many of you have used ZCatalog pretty well. My problem is that I'd like a ZClass (of a Product) to subclass CatalogAware, and implement all the index and search inside the Product. That means I don't want to do any DTML method stuff outside of the Product. What you probably want is to create a repository that subclasses ZCatalog as is described in this HowTo: http://www.zope.org/Members/tseaver/inherit_ZCatalog And then add your CatalogAware ZClasses into it. Then you can set up your ZCatalog/ObjectManager with search methods. HTH, Michael Bernstein. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] mounting obj to more than one zodb location
ender wrote: whats happens when you create a persistent object and mount it to multiple points on your zodb. do you get a shared ref or multiple copies of the object? It depends on the product you use for mounting, but generally you'll get a shared database with independent connections. So it will work, but if you make conflicting changes, the transaction should fail. This is only an artifact of the current implementation, though. Shane ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
[Zope-dev] HTTPRequest change to allow images as submit methods
Zope's got this really cool form handling mechanism that allows us to have mutiple submission buttons that call different methods. Way neat. Now, I'd really like to have the same mechanism available when using images as submission buttons (that is, input type="image" name="goMethod:method") This breaks, of course, because goMethod:method gets turned into goMethod:method.x and goMethod:method.y. My proposal is to patch HTTPRequest.processInputs so that the search_type RE is as follows: ':\([a-zA-Z][a-zA-Z0-9_]+\|\.[xy]\)$' processInputs already loops through the name to find all :foo entries, and the .x / .y results are just ignored by the code. The HTML FORM source needs to be changed to include the extra ':' required to make this work: input type="image" name="goMethod:method:" ^ It works fine for me in practice. I believe this will also benefit anyone who wants other typed information from imagemap submissions (integer or float values, for example). Richard -- Richard Jones [EMAIL PROTECTED] Senior Software Developer, Bizar Software (www.bizarsoftware.com.au) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )