ObjectHub (was Re: [Zope3-dev] Big import blocks)

Guido van Rossum guido@python.org
Fri, 21 Mar 2003 06:27:08 -0500


> ObjectHub general goal:
> 
>    Provide a unique id (UID) for objects.
> 
> HubId closest Zope 2 analog:
> 
>    A ZCatalog RUID.  Primary differences are that it is consistent 
> (i.e., does not have any semantics of changing on reindexing) and it is 
> exposed (i.e., it is globally available rather than a private 
> implementation detail).
> 
> Details and subtleties:
> 
>    Like the ZCatalog RUID,
[etc.]

Could you try that again without using Zope 2 analogies?  Being
ignorant of Zope 2 stuff (for better and for worse :-), definitions in
the form of comparisons to Zope 2 features don't help me.

AFAIK, the ObjectHub service doesn't ever look at the objects -- both
its internal data structures and its API are defined in terms of
paths, and whether or not there's an object at that path doesn't
actually concern the ObjectHub.

I wonder if the name isn't causing more confusion than clarity.
Certainly the "hub" part never made sense to me: this suggests that it
is a pretty fundamental central data structure, while in fact it is
only used for cataloging/searching.  (Which is important, but far from
fundamental IMO.)  And the "object" part of the name seems to be
factually wrong.

It's really about UIDs (Unique IDs) for paths.  I wonder if a name
like "uid service" wouldn't make more sense?

--Guido van Rossum (home page: http://www.python.org/~guido/)