powered by Jive Software

Moderated MUC Chats

I’m looking to customize OpenFire for moderated MUC chats, whereby all messages submitted to a room are forwarded to a moderator for approval/rejection before being broadcast or deleted. The Embarcadero Development Network has done a similar modification to their OpenFire system to allow this type of functionality.

Obviously this will require customization on both the server and client side.

I’m wondering if anyone has any suggestions/tips or starting points for building this type of functionality. Any available code for sharing would be greatly appreciated.

Thanks in advance,


Do you definitely need a customized client app for this? Though I’m an Openfire n00b, it seems to me you could do it on the server alone, with a bespoke tool the moderator uses to view and accept/reject messages. That tool doesn’t need to have anything to do with XMPP, in my opinion.

Is the moderation real-time - i.e does it require a moderator sitting at his PC hitting yes, yes, no, yes, no,… as people type messages? It seems to me that the server would want to intercept incoming messages and cache them (in memory or DB depending on how things work), and when the moderator accepts them they are then treated exactly as normal, other than maybe some extra messages sent to senders informing them if a message was rejected.


Thanks for the reply. I agree with a lot of your thinking, but I believe you need to know a bit more about the context/application of this.

It does need to be real-time. The reason why it may need to be a customized client is because we are thinking of two modes: chat amongst folks in the MUC, and chat between the moderator and the folks in the MUC with regard to submitting questions to be posted/answered selectively.

The context of this customization is for a live seminar with a presenter, a moderator, and the audience. The audience has two things they can do during the presentation, they can chat amongst themselves in the MUC, or submit a question or comment to the moderator which could accept/reject and then be shown on large monitors at the presentation. The moderator could also forward the accepted questions to the presenter who could then answer the question as part of his/her presentation.

Naturally, if the moderator, presenter and audience members were “fluent” in the chat system, this would probably not need any customizations and could be handled through private messaging. However, the reality is that the everyone will be new to the system, so a customization on both server and client is needed to be able to make the process 100% intuitive.

The customizations I envision a custom client for audience members that allows both sending a message publicly to all other audience members (through a “send” button) and a way to send a question/comment to the moderator (through an “ask” button).

For the moderator, I envision a custom client that displays each submitted question/comment and allows the moderator to accept, reject, reply or forward each submitted question/comment.

For the persenter, I envision a simple client that displays each forwarded question/comment.

Additionally, Audience members might be restricted to an “audience” room. The moderator might be in a moderation room. The speaker might be in a speaker (or VIP) room. That way messages could be routed between rooms through the customizations, achieving the functionality desired. The folks at Embarcadero Dev Network did it this way and it seemed a logic and reasonable solution.

Now that I’ve explained my idea/goal, what suggestions/guidelines would you offer?