From: cmsakh@zope.org [mailto:cmsakh@zope.org]On Behalf Of Andy Heath Sent: Monday, March 13, 2000 11:50 AM To: alex Cc: zope@zope.org Subject: Re: [Zope] efficient internal redirect
Why can't they be the one and the same? Redirector is fast -- I suspect the difference in speed between Redirector and something else would be negigible.
I confess, what you have is a very good idea. The reason I'm hesitating is because there won't be two or three areas and its wrong to call them areas. They will be single documents and a little bit further down the road there may be hundreds of them needed and not in any homogenous flat structure but at different places in a tree. Also, I really do need every last inch of speed out of this part.
Why not derive a specialized version of my product ("Redirector Method") that descends from not Folder, but SimpleItem? If each such method represents only a single "mapping", you get what you ask for. Of course, if you have plugged your Zope into Apache, then it would be more efficient to use mod_rewrite anyway.
Some questions:
1. does your product redirect back to the client or within zope?
Yes. It forces an HTTP redirect. I don't if Zope is re-entrant; that is, whether you can emulate symbolic links by passing the request, modified, back into Zope.
2. assuming it were hardwired as you suggest what would be the runtime cost over just having folder methods in zope do the redirection?
Not sure if the word "hardwired" is correct here. After all, what I just described to you in the previous email was not about changing the product itself -- that's hardwiring -- but changing the parameters to the product's *folder instance* -- that's Zope. ;-) What I suggested about using a dict for non-regexp mappings does not involve any hardwiring, either -- I meant patching the product to support dicts *in addition* to the existing regexps. Basically in the folder's management interface you'd simply specify whether a mapping used a regexp or not. Runtime cost: You would have to time it. Marginal, unless you're expecting a gazillion hits.
3. I haven't touched python for 2 years now (though I did use it a lot then) - I'm very rusty. Could you supply a patch to hardwire in a dictionary instead of the regex code? Assuming 2. is satis this *could* be a good answer.
Let me think about it. I'm pretty busy -- perhaps Dylan is up to the task, he did the previous patch.
4. still looking for an answer to my orginal q - what's the most efficient way?
mod_rewrite. Alexander Staubo mailto:alex@mop.no http://www.mop.no/~alex/