[Zope-dev] Efficient and flexible object references

Michael R. Bernstein webmaven@lvcm.com
18 Aug 2001 23:06:33 -0700


On 19 Aug 2001 00:28:34 -0400, Gary & Karyn wrote:
> Michael and Robert--thank you very much.  The global id looks like an
> excellent avenue to explore.  With this or the ZPatterns approach, I
am much
> relieved: what I need should fit within Zope well enough after all,
thanks
> to your ideas.

With ZPatterns, you're basically only getting separation of application
logic from storage, with some extra neat things like skinscripts that
make application logic easier.

If you want the retreival of meta-data without waking up the object, you
still need to layer on the global unique id with ZCatalog on top of
ZPatterns.

> Michael, I also found the old thread you pointed to very interesting. 
It
> surprises me that this hasn't been dealt with officially yet, with
concerns
> and discussion from that far back.  The XLink looks like it is still
being
> worked on, but the speed warnings for the overall XML support turned
me off
> a bit, and makes it seem that this, at least in its current
incarnation, is
> not the optimum solution to my exact kind of problem...

Right. In any case, while the bi-directional-link object I was proposing
back then would have worked, it's a heck of a lot more complex that the
GUID+ZCatalog approach that I was suggesting you use. The ZCatalog just
needs to be able to answer two types of questions for this to work:

- what object does this id point to?

- what objects (for a given relationship) are pointing at this id ?

And both can be answered using standard indexes along with a GUIDs.

It is however, important to realize that in this approach, the referring
object contains all the information regarding the relationship, the
referred object just infers the relationship info using the Zcatalog.

HTH,

Michael Bernstein.