[Zope-dev] Re: ZCatalog and Unique IDs
Chris Withers wrote: Hi, I hope this is a stupid question but why does ZCatalog use the URL of an object to uniquely identify it? Because it's unique. Why not just use a reference to the object? How do you define that? If you mean reference in the strictly python sense, then I guess you're thinking about some kind of name or dictionary key in the catalog that is directly assigned the value of the observed object? This sorta gets back to the symbolic link vs. hard link analogies brought up in the past. Both have their dificulties, you cannot, for example, have a reference across databases, while you can map the physical path. Using a string like this could also allow you to quickly modify the catalog to index external resources. Persistent object identifiers must exist for the ZODB so why not use them instead? They change, I believe, over the revisions of the objects; and also this is a very low level identifier. I'm not certain. I think this attribute is _p_oid. cheers, Chris PS: This would solve all the problems with ZCatalogs and virtually hosted sites... So would a solid traversal interface that understood virtual hosting in Zope. I think the traversal interface is needed for other reasons but it should remove ZCatalog from the list of things that need it... not that I've just been bitten by this or anything ;-) I understand, but I think most of the biting was due to bugs than a flaw in the model. -- -Michel Pelletier http://www.zope.org/Members/michel/MyWiki Visit WikiCentral for the latest Zen: http://www.zope.org/Members/WikiCentral ___ 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 and Unique IDs
Evan Simpson wrote: In the case of Catalogs, much of the time we're probably not interested in cataloging "whatever lives at this path address"; At the moment this is true, but Jim and I have discussed the possibility of ZCatalog being treating the paths less atomically and more as a sequence of nodes from root to the target, this way, you could ask the catalog for all objects below a certain point that match search criteria, etc. we want information about a specific object. Fortunately, the cut/copy/paste and rename implementations make the path approach workable. As a matter of fact, the new mountable database code required changing the clipboard operations to use paths instead of object monikers. And it looks like the event stuff is favoring paths also, I strongly suggest we make sure any of these needs is captured in the proposed traversal interface: http://www.zope.org/Members/michel/Projects/Interfaces/Traversal -- -Michel Pelletier http://www.zope.org/Members/michel/MyWiki Visit WikiCentral for the latest Zen: http://www.zope.org/Members/WikiCentral ___ 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] Distutils scripts for ZODB
I'm lost on what these scripts do, do they let you distribute ZODB in a standalone fasion? Do you have an example of that distribution based on, say 2.2b? "A.M. Kuchling" wrote: Here are 3 short setup.py scripts for various bits of Zope. Two of them -- -Michel Pelletier http://www.zope.org/Members/michel/MyWiki Visit WikiCentral for the latest Zen: http://www.zope.org/Members/WikiCentral ___ 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] Re: Zope Mailing Lists and ZCatalog
Andy Dawkins wrote: Michel In case you are not aware, we at NIP currently host a complete archive of the Zope mailing lists that are publicly available. Yep. We are using ZCatalog to index all the messages from the Mailing list archives. To give you an idea of numbers, the Zope mailing list alone is over 30,000 messages. The problem we have is getting that many objects in to the Catalog. If we load the objects in to the ZODB, then catalog them, the machine either runs out of memory or, if we lower the sub transactions, It runs out of hard drive space. This is because you are indexing more content than you have virtual+tmp memory to store the transaction in. Zope is transaction, as I'm sure you know, so it has to store the transaction somewhere so it can roll it back if neccesary, and memory+tmp storage is where that goes (subtransactions are swapped out to tmp). If we use CatalogAware to catalog the objects as they are imported the Catalog explodes to stupid sizes because CatalogAware doesn't support Sub transactions. Subtransactions are a storage thing, and really don't have anything to do with catalogaware, if you have a subtransaction threshold set then subtransactions will be used for any cataloging operation, catalogaware or not. We could solve these issues by regularly packing the database during the import, but it isn't a perfect solution. I'm not sure what you mean with these last to paragraphs, it seems like you have two problems: 1) you are mass indexing and running out of memory 2) you are indexing lots of content quickly and your database is growing The answer to 1 is to not mass index and incrimentatly index over time. The answer to 2 is to use a storage that does not store old revisions, like berkeley storage. Also as messages arrived over time the Catalog would once again explode dramatically, Basically we(NIP) would like to know if you(Michel/DC) are planning to improve ZCatalog/CatalogAware, if you are planning a successor to ZCatalog or basically any information that could be useful to us regarding the current development and urgency of ZCatalog/CatalogAware. There isn't anything wrong with the Catalog (for this particular problem), or at least, there isn't anything in the catalog to fix that would solve your problem. We've had customers index well over 50,000 objects; you just have to understand the resource constraints and work with them, for example, don't mass index, use storages that scale to high write environments, etc. Thanks in advance for your assistance. NP. -Michel ___ 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] remote procedure calls to manage functions
Chris Withers wrote: andrew wrote: Have been delving into ZPublisher.Client to make remote procedure calls under Zope 2.2.1. Did someone slip 2.2.1 without mentioning it?! I thought XML-RPC was now favoured over ZClient? It's not really favored, both are quite useful. xml-rpc is more for when you want two different system to interoperate. ZClient is very zope specific and probably gives you a bit more functionality than xml-rpc (because it has the 'remote object' abstraction). Also, ZClient is much faster i've found, probably due to the marshalling/unmarshalling necessary for xml-rpc. -Michel ___ 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] remote procedure calls to manage functions
Jim Fulton wrote: Michel Pelletier wrote: I thought XML-RPC was now favoured over ZClient? It's not really favored, both are quite useful. xml-rpc is more for when you want two different system to interoperate. ZClient is very zope specific and probably gives you a bit more functionality than xml-rpc (because it has the 'remote object' abstraction). I don't think ZClient is really Zope specific. At least it's not supposed to be. It does have a richer API, including features like authentication and header support. My bad, you're right. Also, ZClient is much faster i've found, probably due to the marshalling/unmarshalling necessary for xml-rpc. That's interesting..Hm. ZClient has to marshal. I suspect that xml-rpc wants some sort of optimization. I made a test script to make about 300 xmlrpc calls to various manage_ methods. I had to kill it after about a half-hour cuz it was takin so long. Here's the profiler output: ncalls tottime percall cumtime percall filename:lineno(function) 702883/2151 108.9800.000 288.5800.134 DT_InSV.py:379(__getitem__) 7704 79.0500.010 243.9000.032 xmllib.py:201(goahead) 3852 42.3000.011 43.1600.011 FileStorage.py:706(_finish) 158831/158827 38.0100.000 70.1400.000 DT_Var.py:258(render) 732178 37.5800.000 49.4500.000 re.py:112(match) 495239/51912 36.6900.000 307.2000.006 HTTPRequest.py:741(__getitem__) 586827 29.0400.000 29.0400.000 re.py:335(group) 499291 22.9000.000 30.5300.000 re.py:95(search) 875347 19.5000.000 19.5000.000 re.py:290(__init__) 45981 14.0900.000 39.0000.001 xmllib.py:539(parse_starttag) 748592 10.6800.000 10.6800.000 exceptions.py:65(__init__) 5419249.4200.0009.4200.000 re.py:297(start) 4562739.1900.0009.1900.000 re.py:306(end) 1078318.5200.0008.5200.000 urllib.py:898(quote) 127647/107577.4000.000 300.0800.028 :0(?) 491137.1600.0008.2400.000 User.py:140(getRolesInContext) 127647/43026.3500.000 303.9100.071 DT_Util.py:325(eval) 459815.3600.000 19.8700.000 xmllib.py:615(parse_endtag) 1112585.2400.0007.0300.000 xmllib.py:699(handle_charref) 38565.1000.001 17.0200.004 BaseRequest.py:224(traverse) 2845154.5100.0004.5100.000 xmlrpclib.py:387(data) I think you're right about optimizing, why is it spending most of it's time in DT_InSV? -Michel ___ 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] remote procedure calls to manage functions
Jim Fulton wrote: Michel Pelletier wrote: I made a test script to make about 300 xmlrpc calls to various manage_ methods. I had to kill it after about a half-hour cuz it was takin so long. This sounds pretty fishy. Are you saying that you made less than 300 calls in half an hour? This doesn't seem right at all. My bad, my fingers dropped a zero. I was gonna say 3000. I don't know the exact number but I can find out, i just wrapped a for loop around the code that uploads the book content to zope.org; effectively uploading the book 100 times. I don't know the exact time either, but in the time it ran before i killed it I recompiled and reconfigured a linux kernel three times and had at least four cups of coffee. Hm. This says that the FileStorage _finish method was called 3852 times. This says that 3852 transactions were committed. That may be the number of calls it made before i killed it. Since transactions only get committed on write requests, then this suggests 3852 write requests. There should have been way more than 3852 requests to have this many write requests. You mean 300? First, it's not spending most of it's time in DT_InSV __getitem__, although it's spending more time in that method than in any other single method. The reason it spends so much time in that method is that the method gets called 700 thousand times. That is, it's used alot, because alot of in-tag special variables are used in your test. I'm not sure why though, I'm not executing any DTML, just uploading a bunch of structured text into File objects (and three DTML methods to view the book). This is also a pretty non-trivial method, so it's reasonable that it might take a while. All of this seems to me to be somewhat beside the point. The original comment was regarding ZClient vs XML-RPC. It would be more interesting to: - Compare ZClient and XML-RPC for some realistic tests, like yours, - Compare them for simple Python methods that don't do much but return some data, something like: def test(x,y,z): return 'hello world' * 100 - If there is a big difference, use the profiler to try to figure out why XML-RPC is taking so long. Ok, in my spare time i'll cobble up a much better benchmark. -Michel ___ 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] intersection of ZCatalog queries on the same index
Neil K wrote: If there a way to get ZCatalog to give me intersections of results on a single index? All the examples and tutorials I've seen are union (OR) queries. Basically I just want ZCatalog to give me items where keywords contained both 'foo' and 'bar'. You should use a Keyword Index for this. If your KW index was named 'food' and all your objects had a 'food' sequence attribute, then: Catalog.searchResults({'food', ['foo', 'bar']}) would find all of the objects whose food property contained both 'foo' _and_ 'bar'. I have browsed through Catalog.py and it seems like it might be possible. Disclaimer, I'm pretty new to Zope python. In the general case, it's not possible without redesigning Zope's catalog query language (which implicitly ORs all index queries together). For the special case of keywords, use a keyword index. -Michel ___ 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] Strange permissions in the (built-in) API reference
Dieter Maurer wrote: Recently, I read the "Interface Wiki". It covers most of the methods contained in the API and its permission descriptions made a very solid impression. Maybe, you can start from these descriptions. The Interfaces Wiki is actually where all the API documention did come from. Are there inconsistencies? It might also not be optimal wrt. maintainability that the modules, their classes and their methods with the respective docstrings have been recreated just for API documentation purposes. Probably, it would be preferable to use the docstrings and the method prototypes from the source directly. You might still want to control with methods are described in the API and in which order. Personally, I would control this, too, inside the source documentation (a la javadoc), but I can imagine that an external configuration might be advantageous. Yes, there are pros and cons on both sides, and Amos, Jim and I had some long converstations about this very subject. We decided to go with seperate documentation instead of autogenerating it because: 1. An interface should be a contract, not just an artifact of the code. 2. Python, being without first class support for interfaces, has no clear way of spelling an interface of a class. 3. Jim is working on formal interface support for python and he's thinking hard about it, we definatly didn't want to think hard about it and then turn out we came up with a bad answer, the existing API docs are just that, docs, not interfaces. When format interfaces come about, API docs will probably be converted to that format. Thanks for the comments! -Michel ___ 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] Strange permissions in the (built-in) API reference
KevinL wrote: Michel Pelletier wrote Dieter Maurer wrote: 3. Jim is working on formal interface support for python and he's thinking hard about it, we definatly didn't want to think hard about it and then turn out we came up with a bad answer, the existing API docs are just that, docs, not interfaces. When format interfaces come about, API docs will probably be converted to that format. As in mods to python to give it interface support? Is that discussion taking place anywhere public? It already did way back in the day shimmery dream sequence http://www.zope.org/Members/jim/PythonInterfaces/Summary It's suddenly become an issue for me, for a non-related project... KevinL ___ 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] Re: Michel's Reply
Chris Withers wrote: From: Michel Pelletier [EMAIL PROTECTED] Hmm. I thought this was a internal series of emails, I just now noticed that zope-perl got cc:ed on them somewhere in the middle. Oh well, it is some good discussion; I allways like to stir the shit! -Michel ___ 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] Python and Perl scripts
[EMAIL PROTECTED] wrote: 'Script' objects make a lot of sense, they don't overload the concept of methods, they describe an action that people commonly want to do (script the web) and they clear up a lot of potential confusion for newbie and old-hat alike. Oh, yuck! Now we have to explain why PythonScript is safe, and JavaScript sucks rocks (from a security standpoint). The proposal is not for PythonScript but a "Python Script". We are not inventing a new language, this is python, we are just coming up with the name for an object. Don't capitalize it and you'll see what I mean. Go write a python script. I'm gonna write a python script that handles this HTML form. If we do this with a python script instead of a DTML method, it will be much clearer. Wow, this perl script has lots of slashes in it. And from common web convention, it would appear that PythonScript would run on the client side, rather than the server side. Since the -let suffix appears to have taken on a server side connotation, perhaps that can be used. Hmm. Yes I agree the -let suffix may have a sttronger server side flavor, but I disagree that the word script has any strong connection to the client only. Python Function is not quite right, as it is fairly common (for me, at least) to define some helper functions in a Python Method. But it is better than Python Script. Function is just as technical as method. These are OO techncial programming terms (function less than method). The idea is to lower the bar for people using Zope. People who only know HTML will be much more likely to grok what a script is than a method. We want to avoid elitism. Method is total OO elitism, function less so because it's very language neutral, and script is like plain vanilla ice cream, everyone gets it. Like chocolate and coconut-shaving covered almonds, technical details mixed in with your ice-cream will appeal only to a smaller crowd. It will not help define what 'ice cream' is. It will turn away a group of users who may have never know they could mix in sardines and sweet tarts. Technical details before the key idea is explained is *dangerous* belive me, and it is the pitfall of all existing Zope documentation to date. The new DC documentation motto is "Explain key ideas in simple terms." Method is not a simple term. So, I guess my preferences would be: PythonSafeScriptlet PythonScriptlet PythonSafeScript PythonSafeFunction PythonFunction PythonBundle PythonMethod PythonScript in descending order of preference. I'll add these to the list of candidates. Thanks! -Michel ___ 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] Python and Perl scripts
[EMAIL PROTECTED] wrote: snip good discussion Now we just need a generic term, which will not cause other confusions later on down the road for the concept. I really don't like script, especially next to a language name (in the web domain). You don't like function (which was not my suggestion). Thingie seems a bit too non- descriptive. Widget has technical meaning. Perhaps task or job are suitable, as in Safe Python Task Safe Python Job Safe Python Subtask Safe Python Function Safe Python Script Then external methods, which are often also not methods, can become Flexible Python Task Flexible Python Job Flexible Python Subtask Flexible Python Function Flexible Python Script But if you really want to use Tame Snake Thingy, and Wild Snake Thingy, go ahead, but please do not credit me in the documentation! Well they'll all go on the list of candidates! Thanks for your input, I kinda like task... As another obesrvation, substituting script for method is not really all that helpful for the other (misnamed) method, DTML Method. DTML Script is just not all that much clearer! Rumor has it DTML Methods are going to be renamed to "DTML Template" or something like that. Keep in mind also that we are moving towards a new architecture with "Documents" and "Templates" (ala HyperDOM). I think Scripts fits right in there: Documents, Templates and Scripts or Documents, Templates and Methods ? -Michel ___ 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] The Great Python (and Perl) Method Renaming Poll
We will be conducting a community poll to decide what to call Python (Perl, insert your language here) Methods. Many candidates have been discussed, but I'm afraid I don't have enough time to cull all the candidates from the discussions. So, before the poll, we are calling for nominiations from the community. Please send me an email containing one or more candidate names. These names will be added to the list. No pre-screening will be done, so please exercise some discretion if your favorite name is more tounge-in-cheek than practical (you never know what the masses will decide though!). Later this week, I will create a web poll where you can vote for your favorite. thanks, -Michel ___ 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] Streaming?
Lalo Martins wrote: Never mind, I found it. Just for the record, if anyone else needs this: snip I don't know if this is documented somewhere, but it does what I wanted. It is documented in the online help system, under API documentation, under the 'Response' object. -Michel ___ 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] Documentation Documentation
Greetings, Amos and I have done some work in the fishbowl this week. We have started a new project to define the process for writing Zope documentation. This fishbowl project can be found at: http://dev.zope.org/Wikis/DevSite/Projects/DocumentationProcess/FrontPage The idea here is to open up as much as possible the process for determining the process of writing documentation. In case you don't follow that, let me put it a different way: We are using the Zope fishbowl process to develop a *new* process for writing documentation. One of the goals of this new process is to work itself into the existing fishbowl process for Zope projects, so that everyone has a clear documentation vision. All this gets a bit weird; meta-documentation and developing a process with The Process in order to modify The Process, but you'll get the idea if you read the wiki. What this is *not* is a roadmap for existing or future documentation artifacts. In other words, if you looking for juicy bits on the Developer's Guide or some other discreet Zope documentation artifact, you won't find it here. Because no process exists yet for writing documentation, we have not addressed these issues. When this project is completed, we will have a complete roadmap that everyone can understand for writing documentation, and then we will address the issues of actual documentation artifacts, like where they belong in CVS and format issues etc. So please check it out and leave your comments in the Wiki. Thanks, -Michel ___ 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] ZClasses not copyable - why?
Philipp Auersperg wrote: It is not posible to copy ZClasses, when I try to copy a ZClass in the Management Interface I get the error:'The Item 'blorf' does not support that operation' I digged into that and found that in the ZClass.py there exists a method def cb_isCopyable: pass I was so crude to replace the pass with a 'return 1', restarted Zope and could now copy ZClasses as I wanted it. - My first question now: (zero indexed questions, I love it) 0.Why are ZClasses not copyable? I don't know. 1.Do I shoot into my foot with my hack or is that OK? I don't know, but I suspect you're aiming the gun in that general direction. - And now my second question I am working on a ZClass-intensive project and sometimes I want to add/remove base classes of a ZClass without redefining the whole class manually. The usual method for this is to subclass from a class you define in Python, then you can change the base classes of that python class easily. For this you need to make a python product with your class in it and initialize the product, registering the class as subclassable. There's probably a how-to on it somewhere, otherwise you can check out lib/python/Products/ZCatalog/__init__.py to see how the ZCatalog class is made ZClass subclassable. -Michel ___ 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] Interface localization: zzLocale 0-0-4a release
Can we see a screenshot of what the Zope managment interface looks like in Japanese? (just a personal curiousity) -Michel Yves-Eric Martin wrote: Hello, Since the SkinnableAndLocalizable project is on hold, and since people here in Japan and other non-english speaking countries have repeatedly expressed their wish for localized versions of Zope, I decided to continue zzLocale development and turn it into an actually usable Product. Here is a big step towards it: zzLocale release 0-0-4a. zzLocale is a Zope locale support Product that provides a framework for Zope interface internationalization. Main new features are: o New failover code that should break less stuff (previous version broke various Products, like ZGadflyDA or LoginManager. All reported broken Products are now working) o Localization of management tabs o Localization of buttons (all should work now). o Fixed hideous bug that prevented uninstall Altogether, this should hopefully make this version actually usable: a few things are still not internationalized (like MessageDialogs), but it should *work*. Please email me if you can still find things that break when using zzLocale. Download urls: from zope.org: http://www.zope.org/Members/yemartin/zzLocale from zope.ne.jp: http://www.zope.ne.jp/users/yemartin/zzLocale Note that no actual localization file is provided with this release. Language packs will be made available as we receive translations. (If you have a few hours to kill, how about translating Zope into your mother tongue (if it is not English)? ;) ). Cheers, -- Yves-Eric Martin Digital Garage 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 ) ___ 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] RFC: Python/Zope Interfaces
Dieter Maurer wrote: Michel Pelletier writes: Also, defining the interface seperately keep the two things apart, impementation and interface, and doesn't allow you to sneak in a new method unless you also sneak it into the interface, thus making a stronger "contract" with the user. I am a bit astonished by this statement: I know the "design by contract" concept from Bertrand Meyer, the Eiffel developper. In Eiffel, essential parts of the contract, among others method prototype, pre- and post-conditions as well as invariants are build directly into the language. A documentation tool extracts these parts from the source to generate the interface, for people that are only interested in how to use the class/method. Programms can be executed in a way, that the various (executable) contract parts can be checked at runtime. *THIS* provides for quite a strong contract. I cannot see, why the separation of interface and implementation should make the contract stronger. I do see, however, that it makes it more likely to be broken by the implementation. The "contract" is a policy. The mechanisms of interfaces should not require that the policy be "strong" or "weak". This is up to the contractor. I'm not sure if you are making these statement because you disagree with the current proposal or because you disagree with what I said above. What I said above was just a scenario, not necessarily any position I advocate. The current python interface proposal makes no statement on the strength of a contract. It sounds like you want your contracts to be strong, fine, but Python has no explict compile-time or run-time interface enforcement. The proposal in question is just trying to define how interfaces are defined, created, implemented, and used. Strong contractual enforcement is a minor, policy-specific decision. It is a very good thing to have the specification very near to the implementation -- as a permanent guide to the implementor. It is even better, when big parts of the specification becomes part of the executable code (as is the case for Eiffel's pre- and post-conditions). Maybe. I disagree in this case: this proposal states that interfaces are discoverable documentation, not language or policy enforcement. The less they can be tied to specific policies the more flexible they can be. Keep in mind, if you want run-time interface enforcement, you can *allways* add it with mxProxy or some other mechanism. If you *don't* want run-time interface enforcement and we made it a requirement, you'd be stuck. You can allways add, but you can rarely take away. -Michel ___ 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] Lots more in the interfaces Wiki
Hello, I have added a lot more content to the interfaces wiki at: http://www.zope.org/Wikis/Interfaces/FrontPage (note, this is not the old interfaces wiki, which is link to from here). This wiki is the realization of last weeks interfaces proposal: http://www.zope.org/Wikis/Interfaces/OriginalProposal So far, I have gone pretty far into defining the first goal of the project "what is an interface". For those of you that are interested in looking at the prototype implementation, a new version can be downloaded from: http://www.zope.org/Members/michel/Products/Interfaces/ Some user and higher-fiber documentation can be found in the wiki. Please check out the wiki and let me know what you think about interfaces. These are important components that you will see a lot of in the future, so we want your input! -Michel ___ 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] objectValues performance
Brett Carter wrote: Ok, I'll bite. Why doesn't the standard folder scale? Seems like a design flaw to me - why doesn't the default folder use catalogs or BTrees? -Brett Because massive scale is not a requirment of folders, they are meant to organize content for humans, not to be large-collection containers. A folder with 5000 elements is not very useful to a human. On a similar note, create 5000 files in a linux directory on a ext2 (standard) filesystem and then type 'ls'. You'll notice they don't scale very well either, which is why there are filesystems like ReiserFS. -Michel "Casey" == Casey Duncan [EMAIL PROTECTED] writes: Casey Brett Carter wrote: I have a folder with greater than 5000 ZClass instances in it. It takes 5mins to do an objectValues for every object in the folder - is there a higher perfomance call I could make? -Brett Casey Standard folder performance degrades pretty quickly once you get Casey a lot of objects in it. There are two solutions to this: Casey Subdivide your objects into multiple folders. Casey Use a BTreeFolder which should be much faster. Casey You can download the BTreeFolder product Casey here: http://www.zope.org/Members/hathawsh/BTreeFolder/ Casey hth, Casey Casey Duncan ___ 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] Interface Meta Data proposal
I've added a sub-proposal to the Interface proposal for describing additional meta-data with Interface objects: http://www.zope.org/Wikis/Interfaces/ExtesableMetaData Please comment about this interesting possibility. -Michel ___ 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: [Geeks] Interface Meta Data proposal
Chris McDonough wrote: Is security really a part of an object's interface? Maybe. Are examples? Also maybe. It's documentation, so specific systems that use interfaces may want to be able to extend the kinds of information they can associate with interface elements. I thought this was more of an implementation thing. These are good questions, I think these also have a great effect on the Zope 3 story. BTW, the whole idea of extensible meta-data on an interface element came from reading the Zope 3 story so far, and seeing the examples that include security assertions in an interface. Amos and I discussed it a bit and that's where the proposal came from. -Michel ___ 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] Meta-data clarification and Interface interfaces
In my proposal: http://www.zope.org/Wikis/Interfaces/ExtensibleMetaData I mention interface object meta-data like pre/post conditions. This spurned a lot of interesting conversation, and I wanted to clarify some bits that I picked up from the thread. The proposal is not in any way trying to define what types of meta-data are interesting, this is, rightly, application dependent (for example, Zope would find security assertions interesting, other applications may not). The proposal is just proposing a mechanism for associating any kind of meta-data with an interface object. Dont get me wrong, the information on pre and post conditions was really interesting, especially Tim's description of Eiffel's particularly strong methedology that made me glad I don't work for the government. In the interest of clarifying what these interface objects are, I have created an Interface interface description: http://www.zope.org/Wikis/Interfaces/InterfaceInterface This describes interfaces, attributes and method objects and how they are used. I can forsee creating interface objects for these interface objects. The ones marked **Proposed** are the ones I am most interested in getting feedback on. Thanks! -Michel ___ 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] Zope.org done broke
Oops. Sorry for the spam. Nothing to see here folks, move along. -Michel ___ 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] ZUnit - feedback convocation
Lalo Martins wrote: Hi all I'trying to write a document on ZUnit and Unit Testing in general, following Michel's and Amos' documentation process. I wrote an outline, and now I'm stuck :-) anyone with a few free moments is welcome to take a look and send me some words. Also, anyone very interested in the subject is welcome to volunteer for editorial help (read the Process to know what this means). Where would we find this outline? Thank you. (BTW, if you can't understand what an "outline" is, read the process too. Oh what the heck. If you haven't read it, then read it, it's very cool reading anyway.) Thanks! -Michel ___ 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] ZUnit - feedback convocation
On Thu, 30 Nov 2000, Lalo Martins wrote: Hi all I'trying to write a document on ZUnit and Unit Testing in general, following Michel's and Amos' documentation process. I wrote an outline, and now I'm stuck :-) anyone with a few free moments is welcome to take a look and send me some words. Also, anyone very interested in the subject is welcome to volunteer for editorial help (read the Process to know what this means). Thank you. I have some suggestions for the outline: In the first section, remove "where does it come from" if the section involves the history of unit testing. I'd say the history lesson is out of scope. ;) I would add a section in the beginning "Why do you want to use it". What does "refactor mercilessly!" mean? Next section... "Importing ZUnit" requires a whole section? I suggest axing it. I would add an "example" section before moving into fitting it into Zope... What are "Fixtures"? What is the "persistence problem"? If it is a bug that should be fixed in Zope then it probably shouldn't go in the documentation, if it is something the reader shouldn't do, then it should probably go into "interfacing with the Zope environment". A wart doesn't justify adding a new section just to add a sub-section to document it. ;) Here's a modified outline I tweaked with my above comments: Unit testing Zope Products with ZUnit by Lalo Martins Unit Testing What is Unit Testing Why do you want to unit test How should it be done Refactor mercilessly! (?) Writing Tests The TestCase class An Example TestCase Interfacing with the Zope environment Fixtures (?) The persistence problem - leaving traces behind (?) Grouping tests in TestSuites Wrapping it all up in a creator function Running the tests The TestRunner object TestResults objects Leaving objects behind for debugging ___ 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] ZUnit - feedback convocation
On Mon, 4 Dec 2000, Lalo Martins wrote: In the first section, remove "where does it come from" if the section involves the history of unit testing. I'd say the history lesson is out of scope. ;) I would add a section in the beginning "Why do you want to use it". The first section is the advocacy section; it will begin with "if you already do unit tests, you may want to skip this section". I'm not sure if the history lesson is out of scope, but "Why do you want to use it" is probably better. Hmm... actually in that case you may want to axe both "why" and the history. What does "refactor mercilessly!" mean? I'll explain that one of the benefits of unit testing extensively is that you can modify your code without fear (you'll know when it breaks). This section is more advocacy than technical. Ah, ok I like it. I wonder if "refactor" is the right word; it's very specific and it sounds like any kind of changing can be done. Next section... "Importing ZUnit" requires a whole section? I suggest axing it. Hmm. Yes. I would add an "example" section before moving into fitting it into Zope... No, you can't do a lot without interfacing with Zope. I'd add an example *after* interfacing with Zope. Or both, perhaps. Maybe one example in the end of each subsection, so we don't need any subsection titled "example". Oh, I was thinking of just a simple non-zope unit test to get the flavor, but now that I think about it that's out of scope. Yes, the example after would be better. What are "Fixtures"? A method where you make many tests in a single TestCase class. You setup a situation (the "fixture") in a method named "setup", then you do the tests, then you clean up in a method named "teardown". In the HiperDom tests, for example, I use a Fixture to do most of the tests, because I initialize the Template object in setup. Ah yes, I just went and RTFM. What is the "persistence problem"? If it is a bug that should be fixed in Zope then it probably shouldn't go in the documentation, if it is something the reader shouldn't do, then it should probably go into "interfacing with the Zope environment". A wart doesn't justify adding a new section just to add a sub-section to document it. ;) I don't consider this a bug in either Zope or ZUnit, it's just an "issue". snip I allocated a subsection for this because just explaining the problem is already somewhat convoluted, as you see above ;-) in a printed book, I'd make it a sidebar or something, but... Hmm. I guess my concern was because it was the only subsection of 'Fixtures'. Do fixtures need a more topical breakdown or are they simple enough to sum up in one section? Maybe we can think of some 'fixture use cases'. -Michel ___ 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] Significance of the ZODB split?
On Fri, 8 Dec 2000, Robin Becker wrote: Anyone know why AM Kuchling needs to split off a Sourceforge project based on ZODB? I don't think it's a "split", but AMK is using ZODB internally at his job, and externally with his own projects, so I can see him wanting to have some control over the distribution that he uses. Other than that, there could be other reasons, we, for example, do not provide a mechanism for community checkin privledges, Sourceforge does. I don't think we have a ZODB specific mailing list, sourceforge offers this. That being said, I'm pretty sure we've allways kept up with Andrew's patches and suggestions, and we'd be happy to create a mailing list. Andrew has also extended any developer at DC checkin privledges at the sourceforge project; although I suspect we'll just continue to check into our CVS and he'll "sync" with us that which he wants. I am, in particular, barely not lazy enough to check stuff into branches, much less whole other repositories. ;) I really liked the ZEO examples, but where's this going? It's just open source. More power to him in my opinion. He's definatly taking Zope and ZEO to new levels and audiences. -Michel ___ 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] Gadfly and Zope 2.2.4
On Sun, 10 Dec 2000, Josh Zeidner wrote: Hello, I tried to add a Gadfly Database connection to my Zope installation without changing any of the parameters and got an error message saying: "The parameter, connection, was omitted from the request." . What, if anything, am I doing wrong? You're not selecting a data source. This is one of the items in the list box on the add form (the default setup comes with one data source called 'demo'. To add your own data sources, see the Gadfly docs. -Michel -josh zeidner Brooklyn Media Labs, LLC. _ Get more from the Web. FREE MSN Explorer download : http://explorer.msn.com ___ 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] ANNOUNCE: Zope 2.3.0 alpha 1 Documentation Release
On the heels of Brian's announcement, we are gurgling with joy to announce a sychronized release of the Zope Book for the Zope 2.3 alpha release. http://www.zope.org/Members/michel/ZB/ This release marks the first time the book and Zope are "in sync" enough for you to be able to fully try out all the examples and understand all the concepts. This also marks the first time in long time that Zope has a (fairly) complete, up-to-date manual! Truely exciting times are these. Remember though, both the software *and* the manual are alpha, they both will have bugs. Please report any bugs, suggestions, or comments in the book to [EMAIL PROTECTED] Happy reading! -Michel ___ 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] Interfaces Wiki Security Stuff
On Tue, 30 Jan 2001, Chris Withers wrote: Hi, How active/relevant is the interfaces wiki at: http://www.zope.org/Members/michel/Projects/Interfaces Not active, mostly relevant. I'm trying to figure out how RoleManagers, local roles, etc work and where the work of Zope Security is actually done. I've found ZopeSecurityPolicy.py and bits of stuff in Roles.py, and a few lines in BaseRequest.py, but the picture is still kinda flakey :-S It looks like there was quite a lot of discussion on the Wiki about all this, but I'm not sure how old it is and whether anything happened from it :-( It's old. The Interfaces Wiki was a first attempt at grasping the API of Zope, not an easy task. Most of the effort in that wiki went into the online help system for "through the web" objects. As a second goal, the wiki was also used to collaborativly develop new interface in Zope, mostly in the areas of traversal and security. That wiki and lessons learned from it were used by us to create the Interface package that now comes with Zope. The next phase of the project is to actually document the interfaces of Zope in Zope itself using the new interface framework. This will be the first step (and the hardest) toward a more component-oriented framework. These issues have been one of my tasks for the past few weeks, and in the next major version of Zope, you will probably see a good bit of internal interface documentation for high level and low level Zope interfaces. -Michel So, where should I be looking to find out how RoleManager, Local Roles Proxy Role work from a Python product developers point of view (in Zope 2.3) and what changes are in the pipeline? Security changes are usualy not driven through a pileline, think more like a gun to your head. ;) -Michel ___ 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] Creating IMAP and SMTP services for Zope
On Sat, 3 Feb 2001, Morten W. Petersen wrote: Hi guys, I'm wondering about creating IMAP and SMTP services for Zope. Someone mentioned to me that extending (using?) the ZServer could be a Good Thing (tm). Could anyone point me in the right direction? I took a stab at IMAP once... http://www.zope.org/Members/michel/MyWiki/IMAPServer I haven't touched it in a while, and I cannot say much about it, it was over a year ago. -Michel Thanks. -Morten ___ 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] Interfaces Wiki Security Stuff
On Tue, 6 Feb 2001 23:01:32 - "Chris Withers" [EMAIL PROTECTED] wrote: security. That wiki and lessons learned from it were used by us to create the Interface package that now comes with Zope. Is there anywhere I can find docs on that package? Yes, in the fishbowl: http://www.zope.org/Wikis/Interfaces/FrontPage look at UserDocumentation. -Michel ___ 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] Introducing ZopePrints.
On 12 Feb 2001, Erik Enge wrote: The rationale behind this is that the community at large would benefit from this by having _real_life_ case studies so when their time has come to implement an application in Zope, they don't fall into the same traps and pitfalls we did. Instead of benchmarks, the Zope community would use implementation documents to decide whether Zope is up for the job or not, that's what really helps. We would love to see this description from you. We inside DC have our own problem solving development process that is large, complex, slow, but often (IMO) accurate if done well. It is based partly on the "Rational" model developed by the Three Amigos: http://www.everything2.com/index.pl?node=the%20three%20amigoslastnode_id=125995 partly on chaos theory, Jim's three laws of engineering (1. F=MA, 2. You can't solve a problem unless you know the answer, 3. You can't push a rope) and on the abundance of Thai food. We also have a "fishbowl" experiment community process, a "dogbowl" content managment design process, a documentation process, and one horse-choking travel policy. I think it would be great to get examples of your problems in a case study format, but also in a higher-level, pattern like description. Your description sounds like it is based on the problem and the goals, which is really great. I'm quite sure that it will also work as a tool for finding gaps and holes in either Zope or its tools and Products. Indeed. We would like to start a project going in the Fishbowl which aims at creating the right tools to document a project as described above. The fishbowl is the perfect place to do this. In a conversation with other people including Brian who is the "keeper of the fishbowl" we realized that documentation artifacts come out of the fishbowl almost as much as the software. In fact, that's one of the whole reasons for the fishbowl, to come up with better software because we thought about it and wrote down some words before we started hacking code. Instant documentation. Good luck! -Michel ___ 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] Zope book now in public CVS
Greetings! The Zope book is now available in raw (structured text) format in a sourceforge CVS repository. We are also using SF's bug tracking and other tools to allow you better report problems to us than just email. If you'd like to check the book out of CVS, follow the instructions on this page under 'Anonymous CVS Access': http://sourceforge.net/cvs/?group_id=21038 What does this do for you? Well, first off, if you see problems in the book and you'd like to fix them, you can submit a patch to us instead of an email "describing" your suggested fix in prose. This is much more accurate for us to see the problem you point out. Tracking patches also gives us a nice mechanism for making sure we give patch-submitters honorable mention in the book! Also, some people may want to distribute the book (in accordance with the OPL license, or course) in some format we don't support yet, like LaTeX or Word (yes, PDF is coming, we're working on it!). With "the source" you are free to go about converting the content into whatever format you'd like. Lastly, although we try to keep the site as in-sync as possible with the CVS, the latest and greatest bug changes to the book may be found in CVS, where the web-site may lag a few days behind. So check it out, and enjoy. -Michel ___ 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] Re: [Zope] Search Features and Zope Directions Road Map
Please do NOT cross post. -Michel On Mon, 26 Feb 2001, Ausum wrote: Zope is a great application server, the same as its soon to be released Content Management Framework, because of its bet on Python, everybody say it. Nevertheless, after reading the Directions Roadmap from DC, I was surprised that a substantial improvement of the searching features of Zope, wasn't mentioned as a major concern. For a new Zope enthusiast like me, it is a kind of addiction to arrange and administer content while taking the learning curve. Almost everybody in this list with a non-programming background might've experimented this. But when I arrived to the search features of ZCatalog, I got mixed feelings. (Right now I'm stuck on this OR indexes searching :) ) The fact is that - according to my strong belief - everybody uses more Google to look for Zope Site's content than Zope's own Zcatalog's search engine. Moreover, everybody uses more Google to look for everything, bypassing windows, doors, and portals!. Why? Because it's terribly smart (not mentioning its 6,000 Linux boxes, by the way), and because there's no need to follow the highly-engineered information architecture of a web site, if there's a trustful shorcut to the relevant content!. So, if I'd have to mention one big feature improvement to Zope, I wouldn't doubt: "search engine". I just wanted to point on this subject. I know Zope isn't about spidering and retrieving, but it should have "Greater Search Capabilities" as a title, within that roadmap. :) Ausum p.d. Right now I'm quite interested at the technology of searching and finding non structured content, in order to compose structured documents. For example, the guys at Vignette (StoryServer) say that its customers don't need to keyword anything in order to have a "related content" section. After the writer finishes a story, (possibly while) a routine by Autonomy (www.autonomy.com) reads the document and finds out what the document is about, and so it triggers a search for related content within the site, without the need of intervention by the writer. (For the curious, Autonomy has published a personal version of its software. It's called Kenjin (www.kenjin.com) ). On the other hand, Fast, from Norway, already have a nice multimedia search engine, from regular, non-structured, spidered web pages. Can we do that "structuring the unstructured" thing within Zope? ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev ) ___ 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] Zope Development Roadmap Components
On Tue, 27 Feb 2001, Jimmie Houchin wrote: While reading the Zope Development Roadmap about components I had a question. It says: """Components will be edited via the filesystem as .py files. Components will probably be checked into and out of Zope via a CVS like facility. Components can be tested locally without checking them into Zope.""" What does this say about developing components with Py/Perl Scripts? It looks to be closer to the current Python Products. Yes. We have thought a bit about "composite components" and "persistent modules" and stuff like that, but we only went so far into elaboration when we realized that it required lots, and lots of thought and effort. The current component effort is much simpler, a component is: an object with an interface. If this is a ZClass with Perl-based script methods, then so be it, but we haven't thought far enough into what ZClasses really are to start thinking about giving them interfaces. Is this sort of what you're asking? -Michel ___ 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] FTP interface being worked on?
On Mon, 12 Mar 2001, Fred Wilson Horch wrote: You may also find our documentation process interesting: http://www.zope.org/DocProjects/intro Yes, very interesting! But I'm sorry to see that the Developer's Guide is only in the planning stages. Here is some info that should go into it (from our Zope notes at http://cvs.sourceforge.net/cgi-bin/cvsweb.cgi/docs/notes-zope.txt?rev=1.8content-type=text/x-cvsweb-markupcvsroot=ecoaccess): This information should actually go in the administrator's guide: http://sourceforge.net/projects/zope-admin -Michel ___ 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] getPhysicalPath?
On Fri, 16 Mar 2001, Brian Lloyd wrote: To me, aswell. Is this documented somewhere? ;-) It's not in the Acquisition.stx in the ExtensionClass docs - probably they were never updated when it was added. I think that aq_chain is most useful as a debugging aid rather than something one would use in an application (which is not to say that it shouldn't be documented). It would be a good idea to add this to the Collector as a documentation issue. A better place would be the sourceforge issue tracker for the dev guide: http://sourceforge.net/projects/zope-devel -Michel ___ 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] reading the entire DB
On Thu, 26 Apr 2001, nw_moriarty Last Name wrote: Jim Were you able to run the script I sent previously? I have attached it again. It demonstrates that the entire DB is read each time an item is read. It does this because your script creates and destroys the database connection every time it reads an object. If you keep this connection open, then it won't do that. Whenever you open a database, the whole file is read in order to rebuild the index cache, when you .close() the connection, the whole thing goes out of scope and is destroyed. -Michel ___ 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] Zope Server hanging :-(
On Wed, 2 May 2001, Chris McDonough wrote: The docs (available via the --help switch) go into some of this detail, but I agree that a narrative explaining how to approach it from a functional perspective would be a good thing. This should go in the debuggin and testing chapter of the dev guide. Wanna take a stab? -Michel ___ 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] Zope Server hanging :-(
On Thu, 3 May 2001, Chris McDonough wrote: It's no problem, especially as Michel had insomnia last night and did it. ;-) My best stuff comes out when I can't sleep. Those of you who are interested in looking at it, check out the ever-growing Zope Developer's Guide (shame on you if you haven't read it!). http://sourceforge.net/projects/zope-devel/ -Michel ___ 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] Zope Server hanging :-(
On Thu, 3 May 2001, Michel Pelletier wrote: On Thu, 3 May 2001, Chris McDonough wrote: It's no problem, especially as Michel had insomnia last night and did it. ;-) My best stuff comes out when I can't sleep. Those of you who are interested in looking at it, check out the ever-growing Zope Developer's Guide (shame on you if you haven't read it!). Ok, well maybe not shame considering you have to check it out of CVS. ;0 -Michel ___ 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] ZEO Clients, broken servers, and Z2.pid
On Thu, 10 May 2001, Anthony Baxter wrote: As far as I can see, ZEO clients don't write a pid to Z2.pid until after they've successfully connected to a storage. Is there a reason for this? Probably not. It's nothing to do with ZEO, z2.py does an 'import Zope' before it writes the z2.pid file. -Michel ___ 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_workspace = index_html
On Mon, 14 May 2001, The Doctor What wrote: What's going on? Is this a Mozilla problem? Yes. If so, why is lynx doing the same? Because lynx is broken too. How should I go about trouble shooting it? The problem is the client does not provide the right Basic authentication credentials for the frame like it's supposed to. Zope then assumes that you are just an anonymous user, and shows you the only 'managment tab' you have permission to see, 'View'. If I recall, this have been broken an fixed in mozilla a few times now. Other browsers do this wrong too, like w3m. -Michel ___ 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] Simple Question
On Wed, 23 May 2001, jawad haider wrote: I wanted to make a search form in which search criteria and search result will appear on the same page e.g.search criteria on the top and when the submit button is pressed the list of search results should be displayed in the bottom of the page. But when I try to accomplish this using the following code the search results are displayed on a separate page. You want to page to 1) draw a form if there are no search criteria and 2) call itself when the form is submitted. Andreas already showed how you can check for a form submission, and havving the page call itself is simple: form action=. this form will submit to its own URL. Your question is out of the scope of this list, which is about Zope core and product development. This is a user question, and should be directed to the Zope list [EMAIL PROTECTED] -Michel ___ 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] Wildcards in TextIndex query. Do they work?
On Thu, 24 May 2001, Erik Enge wrote: This query works: wil?car* This doesn't: (wil?car* or something else) and (word1 and word2) If the first works, then you are using a globbing vocabulary. The second one should work, but maybe there is a bug. Or perhaps your search criteria is so strict that you are getting no results. I can't see that the query-parsers in UnTextIndex.py transforms them differently, but I might be missing something obvious. There's _nothing_ obvious in that particular chunk of code. -Michel ___ 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] Wildcards in TextIndex query. Do they work?
On Thu, 24 May 2001, Erik Enge wrote: On Thu, 24 May 2001, Michel Pelletier wrote: If the first works, then you are using a globbing vocabulary. The second one should work, but maybe there is a bug. Or perhaps your search criteria is so strict that you are getting no results. Hm. Something isn't right here. I don't think you are using a globbing vocabulary. This: eric got me 70 hits. This: eri? got me 4 hits. If you are not using a glob vocab, I suspect it stripped out the ? and is hitting on 'eri'. Do you have that word anywhere? That's a bit strange, if you ask me :) This: (erik) and (enge) returned 1 hit This: (erik) and (eng?) gave me none. Which could make sense if you were not using a glob vocab. The first one looked like this after the parsers had nibbled on it: [['erik'], 'and', ['enge']] And the latter one: [['erik'], 'and', ['eng?']] This one should look like [['erik'], 'and', ['enge', 'engs', 'engf', ...]] and match all the words that match the pattern eng?. If this isn't being expanded, then you are not using a globbing vocabulary. Then again, where did you get these objects? If you were looking at the wrong point in the code, the wildcards may not have been expanded yet. [['erik', '...', '...', '...', 'enge']] Where do you see this? Where should I look next to figure out what's going on? Make sure you are using a globbing vocab. Note that you can't change a catalog's vocabulary once the catalog is made, so you have to make a new catalog. I can't see that the query-parsers in UnTextIndex.py transforms them differently, but I might be missing something obvious. There's _nothing_ obvious in that particular chunk of code. Good, then it's just not me. Is the overall design philosophy for ZCatalog/Catalog/SearchIndex documented anywhere? The catalog has evolved over the past four years. Most of the text index query parser code was written by someone long gone from this company, and certainly way before my time. The catalog is, in fact, the evolution of a completely different product called ZTables, now long dead in the annals of Principia history. This person did not document their design, so the answer is no. I had some UML models once, but my modeling tool ate them. (By the way, from lib/python/SearchIndex/TextIndex.py, what is sws and cv3?) Very old consulting projects, long dead. -Michel ___ 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] SearchIndex Splitter lowercase indexes?
On Thu, 24 May 2001, Christian Robottom Reis wrote: Hi, I've been testing SearchIndex's Splitter here, and I'm finding the behaviour only a tiny bit strange: it converts the words it splits to lowercase. Is this intentional? Yes. Example: import SearchIndex.Splitter import SearchIndex.Lexicon s = SearchIndex.Splitter.Splitter(Foo Bar Baz, SearchIndex.Lexicon.stop_word_dict) s[0] 'foo' s.indexes('foo') [0] Why does this happen? This is a very common indexing strategy to save space and make searches more relevant. Otherwise 'Dog' and 'dog' would return two completely different result sets. The splitter also removes single character words, splits words on non-alphanumeric characters based on your locale (like -) and trims off common english suffixes like 's' and 'ing' so that 'walk' and 'walking' find the same words. The splitter can also be passed a mapping of synonyms, so you can tell the splitter that automobile ford and lisp are all synonymous to the word car. It makes TextIndex's position() call behave unexpectedly until you do some tests with the Splitter itself! position() is currently unimplemented, isn't it? so does it matter? Also, I don't know what your doing with position() but anytime you want to look up things in a text index, use the same splitter to munge the content before querying the index, otherwise, you may end up not finding what you're looking for. The splitter should really be a modular component. That's what vocabularies were origninally for, to store language specific artifacts like word lists and splitters. For example, stripping the ing suffix obviously only makes sense in English. so if you want to change this behavior, make your own vocabulary with its own custom splitter. This is because each language has very different splitting requirements, and even different meanings of the word word. Imagine, for example, splitting Japanese or one of the Chinese languages (based textualy on Kanji). Identifying words in Kanji is a very hard problem. In romance langauge, it's easy, words are seperated by spaces, but in Kanji words are diferentiated by the context of the surrounding characters, there are no spaces. Splitting Kanji text requres a pre-existing dictionary and some interesting heuristic matching algorithms. And that's only half of Japanese itself, really, since there are two other alphabets (hiragana and katagana) that *are* character-phonetic like romance langauges, and all three alphabets are commonly mixed together in the same sentence! Chinese language may also have these phonetic alphabets. In other words, it's not an easy problem! There is going to be an unimaginable culture clash when asian and other non-romance languages catch up to the volume of romance language content on the web. -Michel ___ 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] Xron error!!!
On Thu, 24 May 2001, Loren Stafford wrote: 5. You can truncate the bloated tail end of a Data.fs file using standard system tools. I don't remember how right at the moment, but a search in the mail archives on trucate and data.fs might be fruitful. Use the unix command 'split'. I immagine cygwin ports this simple program to windows. Of course, you can also do the truncation in a couple lines of python, but I'll leave that as an exercise to the reader. ;) -Michel ___ 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] SearchIndex Splitter lowercase indexes?
On Thu, 24 May 2001, Christian Robottom Reis wrote: On Thu, 24 May 2001, Michel Pelletier wrote: This is a very common indexing strategy to save space and make searches more relevant. Otherwise 'Dog' and 'dog' would return two completely different result sets. Fine. However: s.indexes('Foo') [] Is _this_ supposed to happen, too? Yes. The splitter was applied to the document before it was indexed so both Foo and foo became foo and there is no Foo. The index itself is technicaly not case insensitive, it's case flattened, which makes the query interface case insensitive. Ah, I guess to. It's the problem with using this outside of Zope. :-) No, you just didn't apply the splitter before you queried the index. results = [] for word in Splitter(search for these words or foo): results = results + s.indexes(word) Uhhh, no, it _is_ implemented. It just didn't work like I'd expect :-) index.positions(1,['crazy']) [2] index.positions(1,'crazy') [] index.positions(1,['Crazy']) [] I see, yes it must be a sequence and you must also apply the splitter to your input before querying an index. So it does look lowercase words up. Of course, this is an artifact of the following point you make: you want to look up things in a text index, use the same splitter to munge the content before querying the index, otherwise, you may end up not finding what you're looking for. This makes sense: s = Splitter(Crazy) index.positions(1,s) [2] Ahhm. Okay. Will update my documentation with this important point. Ah I see you came to the answer yourself. Yes this is an important point, especially for other languages where the splitter *must* be applied to extract the words from context, like Japanese. In other words, it's not an easy problem! There is going to be an unimaginable culture clash when asian and other non-romance languages catch up to the volume of romance language content on the web. Fascinating points on i18n and l10n of the indexing mechanism. Makes me wonder how far the current implementation will go before having to be rewritten, and if the world will survive east-meets-the-west of computing text. Digital Garage implemented a JVocabulary and have sucessfully cataloged japanese text. I wonder if htdig or php can do that grin. But I believe the Splitter could stay the same for western languages, from what I've seen of the code. Can't really see the ing-cutting stuff here. Oh, well maybe it used to remove common suffixes and I took it out. It's called stemming, and it's a pretty common pattern. But you'd be suprised how many people run into english only quirks even in western languages with Zope's splitter. -Michel ___ 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] Wildcards in TextIndex query. Do they work?
On Tue, 29 May 2001, Erik Enge wrote: On Thu, 24 May 2001, Michel Pelletier wrote: the unsplitted, unl and unq are my debug flags, but you can see what happens: without parens the '*' has it's desired effect, with, it doesn't. Got a clue? Is this my bug, or ZCatalog's? Must be ZCatalog's. I'm guessing the paren matching takes a different code path that doesn't expand wildcards. -Michel ___ 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] bug in ZEO-1.0b3
On Tue, 29 May 2001, Dyon Balding wrote: If the ZEO server goes down, the the client no longer tries to keep reconnecting. This appears to be something to do with the __closed attribute in zrpc.py. Is there a page to check the status of bugs in ZEO? When is the next version due out? and will it be a final 1.0 version? Your bug, and these questions are probably best asked on the [EMAIL PROTECTED] list. -Michel ___ 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] Structured Text Plus
On Tue, 12 Jun 2001, Ian Clatworthy wrote: Andreas Jung wrote: - Original Message - From: Ian Clatworthy [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Sunday, June 10, 2001 9:52 PM Subject: [Zope-dev] Structured Text Plus I've put together the design for an extended version of Structured Text which I'd like some feedback on before I go too much further. At this stage, the design is explained via a series of user-level How-To's, e.g. Writing Documents Using Structured Text Plus. Could you please summarize the benefits compared to STXNG ? As I understand things from reading the STXNG Wiki stuff, it's largely an internal rewrite which adds 2 or 3 new features, namely images and tables. This is only a small feature compared to what STXNG really adds to structured text. STXNG turns structured text into cross-format Document Object Model (DOM) in two stages and then into a final format. The first stage turns it into a simple DOM that reflects the paragraph structure, but not the markup (italics, bold, links, etc.). The second stage uses the first stage DOM to create an even more elaborate DOM based on markup or colorized text found in the first DOM's paragraphs. The second stage DOM can then be fed to a final outputter stage that renders the DOM in any format you want, currently we support HTML, DocBook, and MML (Framemaker or something like that) and it would be easy to add any other XML format or PDF. Here's an example that will work for you: print text Title o *one* o **two** o 'three' # # Create the basic DOM structure Basic(text) StructuredTextDocument([ StructuredTextParagraph(Title, [ StructuredTextParagraph( o *one*, [ ]) StructuredTextParagraph( o **two**, [ ]) StructuredTextParagraph( o 'three', [ ]) ]), ]) # # Create the Colorized DOM structure Document(Basic(text)) StructuredTextDocument([ StructuredTextSection(StructuredTextSectionTitle(Title, [ ]), [ StructuredTextBullet(StructuredTextEmphasis('one'), [ ]) StructuredTextBullet(StructuredTextStrong('two'), [ ]) StructuredTextBullet(StructuredTextLiteral('three'), [ ]) ]), ]) # # Generate HTML from the DOM print HTML(Document(Basic(text))) html head titleTitle/title /head body h0Title/h0 ul liemone/em/li listrongtwo/strong/li licodethree/code/li /ul /body /html # # Generate DocBook from the DOM print DocBookChapter(Document(Basic(text))) chapter titleTitle/title itemizedlist listitemparaemphasisone/emphasis /para/listitem listitemparaemphasistwo/emphasis/para/listitem listitemparaliteralthree/literal/para/listitem /itemizedlist /chapter You should really work from STXNG because we designed it to be extended, just like you want to do. You can subclass and customize the colorizer in the second stage to recognize your own customized markup and do what you will with it. Amos and I did this to support images in the book. You can also customize outputers as I explained. You are targeting also the single-source approach for documents with STPlus - what are the benefits compared to working solution like Docbook ? Upwards compatibility with STX, i.e. something more readable than XML. Amen to that! -Michel ___ 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] Where did DocumentTemplate/VSEval.py go in 2.4.0a1?
Should we make an alias for bw-compatability? -Michel On Fri, 15 Jun 2001, Evan Simpson wrote: Morten W. Petersen wrote: one of my products landed flat on its face when an ImportError was raised trying to import VSEval from DocumentTemplate; is there a new class / function of some sort or simply another name for the class? See $ZOPE/lib/python/RestrictedPython. That replaces both DocumentTemplate's VSEval and PythonScripts' zbytecodehacks. It contains an Eval class that should be drop-in compatible with the old one. Cheers, Evan @ digicool ___ 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] New Release of Zope Developer's Guide
I'm happy to announce a new release of the Zope Developer's Guide, available in HTML format here: http://www.zope.org/Documentation/ZDG/ The new guide contains many improvements and elaborations over the previous HTML release, and has benefited from the review and contributions from many community members including well-known object-orienteers Jim Fulton, Guido van Rossum and Bruce Eckel. This will be the last preview release of the Dev guide before we release the first edition alongside the release of Zope 2.4. As usual, any problems suggestions should be noted in the SourceForge tracker for the dev guide: http://sourceforge.net/projects/zope-devel/ Thanks! -Michel ___ 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] ZPL and GPL licensing issues
On Wed, 20 Jun 2001, Gregor Hoffleit wrote: Hmm, I think this discussion doesn't belong to zope-dev. It's very informitive to me so far. I have no problem with discussing it here. -Michel ___ 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] Re: restructuredtext
I've cc:ed zope-dev in case anyone else is interested. On Thu, 21 Jun 2001, David Goodger wrote: The last time I downloaded and studied the CVS branch was in November 2000. At the time, the code wasn't very inviting. I just downloaded the CVS branch again, using the instructions in http://dev.zope.org/Members/jim/StructuredTextWiki/NGReleases, and visited http://dev.zope.org//Members/jim/StructuredTextWiki. The RecentChanges page and the StructuredTextNT/CurrentStatus page both list several additions which don't seem to be reflected in STNG.txt or the StructuredText.py module docstring. Is this code up to date? If not, I would appreciate a pointer to the latest code, or a source .tgz by email. The version in Zope CVS (the HEAD, not any branches) is the most current code. The branch was dinscontinued when we folded it into the head, so try checking out a full head branch and look there, you will probably notice many changes. If you do have information on creating a language front-end parser for STXNG, please send it. And please add links to my projects to the appropriate Wiki pages if you have time. (Karl: everytime I say DOM, I mean DOM-like). Basicly, Zope's current classic front-end is defined in StructuredText/ST.py. In there, you will see a function called StructuredText that turns indented, newline separated text into StructuredTextParagraph DOM objects, that get inserted DOM tree-style into a StructuredTextDocument DOM object. I would suggest you start looking there, ie, turn your code into a simple, homogeonous StructuredText paragraphs. For example:: foo = Title ... ... One ... ... Two *three* ... ... o four ... ... o **five** ... ... Basic(foo) StructuredTextDocument([ StructuredTextParagraph(Title, [ StructuredTextParagraph( One, [ ]) StructuredTextParagraph( Two *three*, [ StructuredTextParagraph(o four, [ ]) StructuredTextParagraph(o **five**, [ ]) ]) ]), ]) The resultant object is a StructuredTextDocument DOM object with StructuredTextParagraph DOM children. After the very first step, you can work with the content using the DOM interface:: Basic(foo).getNodeName() 'StructuredTextDocument' Notice how the first pass *didn't* go through looking for markup, *just* for structure. We did this for simplicity and because our structure could be factored out of our markup, I'm not sure if you can do that, but I suspect you can define more complex rules to define what a 'paragraph' element is. The next step is to colorize the simple, homogeonous DOM into a more complex Document DOM object:: Document(Basic(foo)) StructuredTextDocument([ StructuredTextSection(StructuredTextSectionTitle(Title, [ ]), [ StructuredTextParagraph( One, [ ]) StructuredTextSection(StructuredTextSectionTitle([' Two ', StructuredTextEmphasis('three')], [ ]), [ StructuredTextBullet(four, [ ]) StructuredTextBullet(StructuredTextStrong('five'), [ ]) ]) ]), ]) Now you have a DOM object that fully expresses your textual language. Obviously, you could turn this right back into STX. The Document() factory accepts a simple STX DOM tree created by the Basic() factory. This factory goes through, using the DOM API, looking for our special markup, and then colorizing that markup by adding new, more specialized DOM objects (like StructuredTextBullet and StructuredTextEmphasis). The final step is to feed the colorized DOM into an output generator. This is a factory that accepts a DOM object and returns a string of that object in a certain format. As an example, STXNG comes with HTML, MML (framemaker) and DocBook generators:: HTML(Document(Basic(foo))) 'html\nhead\ntitleTitle/title\n/head\nbody\nh0Title/h0\np One/p\nh1 Two emthree/em/h1\n\nul\nlifour/li\nlistrongfive/strong/li\n\n/ul\n/body\n/html\n' So what you would do is to create your own frontend that can turn your reStructuredText into a simple DOM consisting solely of 'paragraphs', whatever that means to you. In the case of STX, indentation and newlines define paragraph structure. In reSTX, you may have different ways of marking up document structure. I suspect your parsing rules will be more complex, and that you've probably already written that piece. DocumentClass.py contain a class for each type of markup STX defines. All of these classes subclass the StructuredTextParagraph DOM object. These DOM objects will get created when the DocumentClass.DocumentClass class encounters your markup as it parses your Basic DOM. The DocumentClass.DocumentClass class has doc_* methods that get called on every paragraph node in your Basic DOM. Each method has an associated regular expression that is used to match occorances of your markup. Some of them, like doc_table, are very complex, but others like doc_emphasize are pretty simple. You would write one subclass of StructuredTextParagraph and one of
Re: [Zope-dev] Hey Chris, question for you
On Tue, 26 Jun 2001, Casey Duncan wrote: Ok, I was able to get it to work by instantiating a IISet around _unindex.keys() and passing that to difference (Thanks!), however, I notice an interesting side effect. Let's say you have a TextIndex on title and you do the following query: title != 'foo*' Which to me means: all cataloged objects whose title do not match the substring 'foo*' However, this is not what you get exactly, instead you get: all cataloged objects that have a non-empty title that does not match the substring 'foo*' Because from what I am seeing, objects with empty (or no) titles are not included in the index *at all*. So the set of all objects does not include ones without titles. I could fix this by making all objects be instead All objects in the catalog (via catalog.data.keys()) instead of all objects in the index, but I wanted to see if anyone had additional thoughts about this. Hmm the reason for the current behavior was optimization by saving space not indexing empty values. The problem with your latter aproach is that all objects in the catalog may include object that don't have a title attribute at all. I'm not against indexing empty values though. -Michel ___ 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] persistence
On Thu, 28 Jun 2001, Mark McEahern wrote: I'm a Zope and Python newbie and I'm trying to utilize Persistence, but I've seen two different ways: import ZODB from Persistence import Persistent vs. from Globals import Persistent Are these different? If so, which is better? Please don't ask me to define better. ;-) If you're just using Zope, both are acceptable. If you are just using ZODB, use the first. -Michel ___ 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] question on ZCatalog
Zope-dev isn't the apropriate mailing list for this kind of question. You should ask your question on the [EMAIL PROTECTED] mailing list. This list is for developers. Have you read the Catalog documentation? http://www.zope.org/Members/michel/ZB/SearchingZCatalog.dtml -Michel On Tue, 3 Jul 2001, Cherry Jeanette Ebue wrote: Yes, I have. -Original Message- From: Andreas Jung [EMAIL PROTECTED] To: Cherry Jeanette Ebue [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] [EMAIL PROTECTED] Date: Tuesday, July 03, 2001 8:37 PM Subject: Re: [Zope-dev] question on ZCatalog Do you have created the corresponding indexes for the attributes ? Andreas - Original Message - From: Cherry Jeanette Ebue [EMAIL PROTECTED] To: Andreas Jung [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Tuesday, July 03, 2001 8:40 AM Subject: Re: [Zope-dev] question on ZCatalog Hey Andreas, I have articles with the following attributes: author, search_meta, title and publication date All attributes are included in the meta data list. When I search my Catalog (of articles), only attributes of type string are returned in the search result. Publication date (of type date) and search_meta (of type text) do not get covered in the search. Thanks, Cherry -Original Message- From: Andreas Jung [EMAIL PROTECTED] To: Cherry Jeanette Ebue [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] [EMAIL PROTECTED] Date: Tuesday, July 03, 2001 8:07 PM Subject: Re: [Zope-dev] question on ZCatalog Cheery, could you please be a bit more detailed for us to understand your problem ? Andreas - Original Message - From: Cherry Jeanette Ebue [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, July 03, 2001 8:04 AM Subject: [Zope-dev] question on ZCatalog question on ZCatalog... how come indexes of type date or text are not covered/searched when queried? i'd really appreciate some help :-) Cherry ___ 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 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] Where to send patches?
On Mon, 10 Sep 2001 12:16:51 -0400 Jim Washington [EMAIL PROTECTED] wrote: Hi, All Since the Collector is down, where do we send patches if we are not cvs-authorized? I just discovered a not-too-clever hack to make the Find tab recurse through methods of Z Classes, which the margin of this e-mail is too small to contain. Dude, don't jinx yourself. I'm sure you don't want us to refer to this as Jim Washington's last patch. ;) -Michel ___ 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] thread locking and ZODB
On Thu, 13 Sep 2001 09:40:43 +1000 Terry Kerr [EMAIL PROTECTED] wrote: Chris, I notice in the ZODB2 article that it states that the conflict resolution method should return the state of the object after resolving the differences.. However, in the example the method only returns the portion of the state that was deamed to be in conflict. Shouldn't it be returning the entire new state dictionary? I believe it should, and that the article is in error, but really, I wouldn't go on that without hearing from someone like Jim or Shane. -Michel ___ 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] A modest proposal: Replace medusa with Twisted
On Wed, 10 Oct 2001 16:05:06 +0200 Itamar Shtull-Trauring [EMAIL PROTECTED] wrote: 2) Plugging in a different transports instead of TCP (e.g. SSL) is much easier in Twisted than medusa, as far as I can tell. In m2crypto's medusa ssl code very protocol needs its own subclass in order supports SSL. In Twisted that is done transparently - the protocol doesn't have to worry about the transport. Basically any protocol (excepting perhaps FTP) could run out of the box with SSL in Twisted, using the one SSL support module. Or Unix domain sockets for that matter :) 3) Twisted provides a larger number of protocols out of the box (e.g. pure python LDAP client, AOL TOC, IRC, POP3, SMTP, telnet) than medusa. Hopefully we will soon have an integrated DNS server as well, though I can't think how *that* would help Zope. Just to throw out another idea, Amos has discussed with me in the past the idea of replacing medusa with Apache 2.0. Compelling as many of Twisted's features may be, Apache 2.0 as far as i can tell supports many of them as well (except perhaps jython integration, which is a pipe dream anyway for Zope). Apache has the upshot in that it is rock solid, tested by millions, trusted by even more, and no doubt one of the most actively developed peices of software there is. For ZC the upshots of 1) not needing to maintain it, and 2) it being a excellent marketing tool outweight many technical benifits that twisted may have that Apache doesn't (I'd like to know what the differences are, however). For example, does twisted do URL rewriting? proxy? process/thread job control? Twisted does have the advantage of 1, but not 2. Further, our faith in the continuing development of Apache is, de facto, more than that of twisted simply based on the age, number of users, and number of developers of each project. I'm not dismissing the idea, I'm just pointing out an alternative to Itamar's alternative. ;) -Michel ___ 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] nasty persistence problem
Tim McLaughlin wrote: Thanks Chris, I'll hold on to that for a rainier day. I just worked this one out in a very roundabout way ;) A product had gotten copied in that moved a Product class from one module to another even though everything else was the same. It seems that ZODB doesn't like that. It sure doesn't. When it pickles an object, it says, here's a big binary blob that is the state of the object. The code for the object can be found in Products.MyProduct.MyModule.MyClass. When you move the code, ZODB understandably barfs. If I remember correctly, there is a way to make an alias in an old location that points to a new location when you *must* move the code for whatever reason. I forget how it works though... -Michel ___ 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 )