Searching for rooms by keyword / topic?

Hi All

I’m new to Jabber so bear with me.

Generally speaking, how do clients discover rooms they’re interested in? Do clients need to know a room id in advance (i.e. it is publicised elsewhere) or can clients discover rooms by keyword search?

From what I can tell, as a client you can connect to a server and then ask that server which rooms it has, but that appears to be the limit of room ‘discoverability’ - is that correct?

Thanks

Usually users either know the room in advance or browse the full list of rooms from the server by name/topic. One thing you can do in a custom client is to fetch all the rooms from the server once upfront and then let the user search/fitler client-side to make it appear like a normal search. Then, you can just refresh the list every so often in the background or provide a refresh button.

There is a search specification defined for the XMPP Protocol: XEP-0055: Jabber Search. Although the spec says that it can be used to search lots of things, it seems most implementations only support searching users. Smack supports the user search feature in the org.jivesoftware.smackx.search package, but you would need to add custom code to the client and server to support general searching.

Thanks Chris.

Just out of interest, how much work would be involved in customising Openfire so that users could search for rooms by keyword, or match by geo-location, for example?

Do you have any idea where I would start?

Thanks