Hi all, I need to store pointers in the ZODB. Pretty basic requirement. Two questions: 1. Is there any thing to watch out for by storing the same object in two different locations in the ZODB? For example: bigobject = BigObject(id) some_path._setObject('id1', bigobject) some_other_path._setObject('id2', bigobject) Seems to work fine, but what does it actually mean? The same object stored twice in the ZODB, with different acquisition/persistence wrappers around it? 2. Given the multitude of ways you can access objects in Zope, the semantics of pointers are not very clear: do you store the pointer, or a symbolic link (the path) to the object. In the latter case, how do you write a wrapper that just delegates all to the other object? (Overriding __getattr__ is not recommended, and __getitem__ isn't enough.) All in all, the choices seem to be: - level: URL redirect or object link - type: symbolic or hard - acqusition: first remote, then local first local, then remote remote, then none local, then none none Am I misunderstanding something? Anyone written a multipurpose "pointer" or link class that allows you to configure all of these run-time? Regards, -- Bjorn
participants (1)
-
Bjorn Stabell