[jdev] When to use extended service discovery vs jabber search

Michael McCarthy michaelcmccarthy at me.com
Tue Sep 21 17:32:49 CST 2010

First post to the list - hi everyone!

We develop the 'community' area of an online gaming site - basically using MUC with 20+ rooms ranging from almost empty to sometimes up to 500 odd occupants. The 'chat hosts' in these rooms are people with the moderator role. Where possible we follow the protocols rather than implement our own.

I need to return a packet to the end user that contains a brief summary of the rooms, consisting of basic room information (name, description) plus room occupancy and which moderators are currently in the room. I'm stumped for her to do this, as no XEP seems to fit the bill:

Basic Service Discovery (0030) - In order to retrieve full information about an entity and its associated items, the requesting application needs to "walk the tree" of items. Naturally, this can result in a large number of requests and responses. The requesting application SHOULD NOT send follow-up requests to all items associated with an entity if the list of such items is long (e.g., more than twenty items).
Problem - There will likely be more than 20 rooms to query individually.

Extended Service Discovery (0128) - An entity MUST NOT supply extended information about associated children communicated via the 'http://jabber.org/protocol/disco#items' namespace, since a core principle of Service Discovery is that an entity must define its own identity only and must not define the identity of any children associated with the entity. 
Problem - As the entity being queried here (I imagine) is the MUC service itself, am I breaking protocol by asking for a lot of information about it's children?

Jabber search doesn't seem quite right as it doesn't feel like a search - I always query for the same information so service discovery seems the natural fit.

Any help would be greatly appreciated : )


More information about the JDev mailing list