powered by Jive Software

Monitoring plugin | xep0313 | how can I query all messages for a room

I got the following situation:

Alice opens up a MUC “aliceRoom”. Bob joins that MUC and they exchange some messages. Bob leaves the Chat and Carl joins. He queries for the history of the room and receives it completely. For some reasons this does not seems to work every time. If I understood the SQL query in JdbcPersistenceManager.findMessages(…) correctly, Carl receives all messages from all conversations he was participant in. What I don’t understand is when a new conversion is started. If everyone leaves the room and joins later, is that a new conversation?

Is it possible for people who join a room later to obtain the whole history (including past conversations with the same room)?

If everyone leaves the room and joins later, is that a new conversation? - yes it will be counted as a new conversation as far as i know.

Is it possible for people who join a room later to obtain the whole history (including past conversations with the same room)? - if you want to obtain the whole history from start then you should use monitoring plugin and you can retrive all message from database using belowed query

SELECT * FROM dbo.ofMessageArchive WHERE toJID = ‘roomname@conference.yourdomainname’

it will give you all the message which is exists in your db.

Thanks for your answer.

That would mean that I have to write my own plugin or alter the monitoring plugin. It would be awesome if my wish would work together with xep0313 so that potentially other XMPP servers would give my client the full history, too.