[standards-jig] Groups in the Roster

Dave dave at dave.tj
Fri Mar 15 04:00:52 UTC 2002

While we're on the topic of things to change for JNG, I'd like to
propose a small change to the roster items: instead of having a
seperate name and group, just have a single field which would work
like a pathname, so "/Friends/Joe" would be Joe in the Friends group,
while "/Friends/Close/Jim" would be a closer friend.  Since we're
already allowing people to group their contacts under one level of
directories, I see no reason not to expand the roster into a whole
tree-like structure.  I'm totally open as to how we may want to
implement it (my proposal above was just a suggestion), but I think
it'll make Jabber a much more flexible system in the long run.  It'll
also open the door to shared roster groups, because you can have
"/Plan9/" be an alias to some shared resource containing a whole
roster.  (With the current roster architecture, that would be a
little messy, especially if you want to be able to have shared roster
groups within other groups, say "/Plan9/bell-labs.com/" and
"/Plan9/att.com/" to represent two different shared groups, while
"/Plan9/" could contain your personal contacts that belong in the
same "group.")

Once we have a clearly defined tree-like structure, we can introduce
new types of nodes: groups (a.k.a. directories), aliases (a.k.a.
symlinks), etc.  We can then use existing standards to import stuff
into our rosters, say, having one group loaded from an LDAP server,
while another can be a directory on your own hard drive, and yet
another can be a directory on some remote NFS server (see the
possibilities for easily creating shared groups?).  Sending a message
to a group could have the effect of sending the message to the entire
group (obviating the need for seperate transports/agents/etc. for
that purpose).  The possibilities are quite limitless, IMHO.

Dave Cohen <dave at dave.tj>

More information about the Standards mailing list