I am developing a instant message module (part of J2EE web app) using openfire/jsjac within the protocol of XMPP (Jabber).
The openfire users/groups management/tables has been redirected to our business database tables,which means I do not need to maintain users/groups in openfire any more. all the users/group relationship has been set in business database.
Below is the Image i draw about the main pane according to requirement. because of my low reputaion i can not post an image, So i post a url for the image of my instantmessage main UI. Sorry for the unconvenience. instantmessage main UI Image
You guys can see that in the left pane,there are not a users/groups list.There are sessions saved according to history, which puzzle me,specially about group. I read the "XEP-0045: Multi-User Chat" from XMPP.org. I know about general workflow about group chat: XEP-0045: Multi-User Chat"
And knew about that there is room type is persistent room is explained as "A room that is not destroyed if the last occupant exits; antonym: Temporary Room." by doc. And in the same doc there are some sentences said:
A room owner MUST be able to destroy a room, especially if the room is persistent. The workflow is as follows:
After reading the above sentence, i am more puzzled, there are several problems i am still confused.
besides the above question, I thought the workflow to realize the MUC with a persistent room. would you please check that and see what problem existed in the flow?
My workflow for the MUC with persistent room
So no matter what the role is , owner or common member, how to refind and rejoin the created room according to the room jid or room id with a precondition that the room type is "persistent"??
The spec says "must be able to destroy", not "has to destroy". Persistent MUCs do not get automatically destroyed when the last user leaves the MUC
I depends on the implementation of the MUC component. If it stores the persistent MUCs on persistent storage, then it's able to reload all persistent MUCs on restart. IIRC the MUC component of Openfire does so.
Make it persistent.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With