Portable Hole is a way to place a Hole in your ZODB from one point to another. Or to a place to stick objects from another part of your ZODB into.
There are only two restrictions. When using point to point mode, the source must be Folderish.
A Portable Hole must not be able acquire itself. Doing so will cause your universe to collapse. Well actually it checks for this, since Portable Holes have a strong sense of self preservation, and will not allow itself to be created in such a manner.
Due to these restrictions, you also may not cut, copy, or paste a Portable Hole, you can only create or remove them.
You can repoint a Portable Hole with the above restrictions, obviously not in point-to-point mode since your manage tabs will be those of the remote item.
It would also be better served to have a nicer interface rather than typing in the full path names, I'm sure some enterprising soul can write a nice tree version
Stephan Richter has donated the TreeBrowsing JS code from ZOQLMethods for me to use in Portable Holes, so now you can choose or type in the objects you want
It's actually a well commented example of how to mess with the Zope Traversal mechanism for fun and profit. It's not the mythical symlink product, since it can only cope with Folderish in point to point mode (although you can add any object types in bag mode)
There's one other gotcha. If you have a TransparentFolder in the root of a Point to Point hole, it'll work like a normal folder while in the root. If you traverse one level down, it will work as a Transparent Folder, if someone works out how to fix that, let me know.
No Coyotes were harmed in the making of this product.
For Those Of You Still Confused
A Portable Hole works in one of two ways.
In Point to Point mode it acts exactly as if it were a (hard|symbolic) link for a single Folderish Object.
In Bag Mode, it acts as a directory full of (hard|symbolic) links of any type of Object from anywhere in your ZODB (each object can be independently added)
|
Latest Release: |
0.0.5
|
Last Updated: |
2001-11-23 03:31:45 |
Author: |
TheJester
|
Categories: |
Examples, Navigational |
Maturity: |
Stable |
|