[standards-jig] JEP-0045 (MUC) number of users (extending JEP-0030)

Ian Paterson ian.paterson at clientside.co.uk
Fri Feb 13 12:21:16 UTC 2004


MUC sets out to provide a 'much wider range of *functionality*', and
succeeds very well. However, it currently fails to provide fundamental
*information* that is important to users.

This is because it relies on the 'standards track' disco JEP (completely
ignoring the 'informational' jabber:iq:search JEP). This is a very good
thing. But, for MUC clients, the list of supported features returned by
disco is insufficient. If the MUC standard does not specify a way to provide
the fundamental information about rooms, we may end up with various
incompatible implementations.

A MUC server's response to a disco#items query should be limited to the
information users need to choose which room to enter (i.e. the room name,
the number of occupants, and the jid). It should not be necessary to send a
disco#info query to every room. disco#info should only be for those rooms
the user has indicated a specific interest in.

disco#items does not (and should not) have a standard mechanism MUC can use
for communicating information like the number of occupants. But it does
explicitly allow MUC to provide extra XML like:

...
<item jid='darkcave at macbeth.shakespeare.lit' name='A Dark Cave'>
  <info xmlns='http://jabber.org/protocol/muc#room' occupants='1'/>
</item>
...


MUC enables an owner to give a room a description, but it is impossible for
interested users to discover that description! Similarly, on entering a
room, a MUC client cannot discover the current subject!

Peter Millard wrote:
> It may be that at some point, we may want to extend disco#info so that you
embed more full-featured > meta-data into it, but right now, the protocol
does not allow it.

Yes, disco#info really needs to be extended. It claims to be 'A simple
protocol for discovering information about... a Jabber Entity'. But it
currently only permits the entity to provide a list supported features.

I propose the 'http://jabber.org/protocol/disco#info' namespace in JEP-0030
could be simply extended to allow values as well as features:

<iq type='result'
    from='darkcave at macbeth.shakespeare.lit'
    to='hag66 at shakespeare.lit/pda'>
  <query xmlns='http://jabber.org/protocol/disco#info'>
    <identity
        category='conference'
        type='text'
        name='A Dark Cave'/>
    <feature var='http://jabber.org/protocol/muc'/>
    <feature var='muc_temporary'/>
    <feature var='muc_unmoderated'/>
    <feature var='muc_nonanonymous'/>
    <value name='description'>The place for all good witches!</value>
    <value name='subject'>Fire Burn and Cauldron Bubble!</value>
  </query>
</iq>




More information about the Standards mailing list