[standards-jig] Hidding groups in Jabber clients

Jean-Louis Seguineau /EXC/TEC jean-louis.seguineau at antepo.com
Wed Jul 31 18:12:59 UTC 2002


Hi everybody,

The actual jabber protocol definition does not provide an information
specifying if a <group> tag in a roster item should be shown or not by the
end client. This as led in the past to client implementation that would rely
on specific group names to hide/unhide groups. This is both imprecise and no
scalable. An end user could easyly come up with a similar group name and
have that new group made invisible. Managing all these sepcific group names
would soon become a nightmare.

I am taking advice from the community on how to go about this issue as this
involves to modify the core protocole eventually. My inital thought was to
just add an attribute to the existing <group> tag in the roster item that
would be used by a client to process the group accordingly. This is backward
compatible with the exisitng version of the protocol. If the attribute is
missing, then the default behaviour would be to show the group, and all
existing client would behave properly. Only client that would be aware of
the tag would take adventage of it.

A roster query would then look like

<iq type="get" id="uniquevalue">
  <query xmlns="jabber:iq:roster">
    <item jid="romeo at montague.net" name="Romeo"  subscription="both">
      <group type="hidden">friends</group>
    </item>
    <item jid="juliet at capulet.com" name="Juliet"  subscription="both">
      <group type="hidden">friends</group>
    </item>
  </query>
</iq>

Another possible way of solving this issue would be to have some extension
tag along with the roster that would specify what group should be
shown/hidden

A roster query would then look like

<iq type="get" id="uniquevalue">
  <query xmlns="jabber:iq:roster">
    <item jid="romeo at montague.net" name="Romeo"  subscription="both">
      <group>friends</group>
    </item>
    <item jid="juliet at capulet.com" name="Juliet"  subscription="both">
      <group>friends</group>
    </item>
     <x xmlns="jabber:iq:roster:group">
         <group type="hidden">friends</group>
     <x>
  </query>
</iq>

Comments welcome





More information about the Standards mailing list