[standards-jig] NEW: Nested Roster Groups (JEP-0083)

Rachel Blackman rcb at ceruleanstudios.com
Tue May 6 16:10:19 UTC 2003

> String delimiters in XML.  That's is clearly the wrong way to implement
> nested groups in XMPP. 

Why?  Part of the reason was that I was told that some people already have
set up their rosters with 'jdev/inc', 'jdev/council' and so on in
preparation for nested groups.  For these people, setting '/' as the
delimiter will immediately give them the desired functionality on their
existing roster.  I don't happen to think '/' is the ideal delimiter
(because I know some users will want to use '/' in their group names),
hence the suggestion (but not requirement) in the JEP that a
multi-character delimiter be used.  

As for 'if I want to use the delimiter in my groups' in a prior post,
that's why the client should let the user pick a default when the delimiter
is first set.  I consider '::' a suitable default delimiter, but pgm
already pointed out the case for '/' to me as a viable default.

Escape logic is definitely a good idea to add to the JEP, though. :)

> If you want a backwards compatible nested roster,
> why not store the entire tree structure of the groups in private storage?
> (Not the contacts, only the groups.) That would solve delimiter
> collisions as alexander points out, offer the same flexibility as the
> bookmarks proposal, and still be backwards compatible. -- 

I'm not sure I quite get it; I'll still have to associate the contacts with
the groups somehow back up in the roster, don't I?  Since your suggestion
says we're not storing the contacts in the private storage.  If I need to
tie them back, all I have to work with is a group name.  In order to map
the group to something in this private hierarchical structure, I /still/
have to unparse the group name somehow, so I'm not sure there's any
savings.  Otherwise I have to still store the contacts in private storage,
which means duplicating the roster... which I just don't like.

Plus, I don't feel roster groups (and even less roster contacts) belong in
private storage.  The delimiter, which is more or less a client setting, I
feel does belong there; the roster is suitable for storing the rest of the
data, and if you don't honor the delimiter you just display the groupname
entirely. :)

Rachel Blackman <rcb at ceruleanstudios.com>
Trillian Messenger - http://www.trillian.cc/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
URL: <http://mail.jabber.org/pipermail/standards/attachments/20030506/34944c0a/attachment.sig>

More information about the Standards mailing list