[Zope-dev] script location and traversal question
Joost van Lawick
Joost van Lawick <joost@lawick.nl>
Sun, 29 Sep 2002 11:48:57 +0200
Hi,
Suppose you have have your products in a folder Main, scripts in a subfolder Scripts
and object instances in a subfolder Things, i.e. something like this:
Main
----
|___ Scripts
|
|___ Things
Now call a script doit on an object Obj:
http://localhost/Main/Scripts/Things/Obj/doit
If I want to redirect this call, and context is Obj, I do it like this:
url = context.restrictedTraverse('Scripts').absolute_url() + '/' + \
context.absolute_url(relative=1) + '/doit'
return context.REQUEST.REDIRECT(url)
The first line creates: http://localhost/Main/Scripts/
the second line Things/Obj/doit
It works but is it good code? Is there a better way to doit?
Maybe the problem is more in the organization of Zope scripts and objects. For now,
I group scripts into Folders directly under Main and things of users of the site in
Main/Members/...
If a member wants to access some script, I have to include the script Folder into the
path, which leads to more 'complex' code. If I stuff all scripts into Main directly, without
subfolders, I don't have to insert the first line, but then I end up with a Main directory
loaded with scripts. How should one handle this?
Cheers,
Joost
--
Fights between cats and dogs are prohibited by statute in Barber, North
Carolina.
--
Joost van Lawick
E: joost@lawick.com
W: http://www.lawick.com/