How does openfire really work?

Hi:

Sometime ago I had so many problems using the “Contact list group sharing” while using authentication trough my Active Directory Server: some users appeared as offline when they were really online, or some users weren’t in the contact list of another user when that it was suposed to be.

I decided to just search the MySQL tables of Openfire and I just found that ofRoster and ofRosterGroups were modified when some user manually added another user.

So I write a script to insert every registry in those tables of openfire to achieve the same result of “Everyone in a group can view everyone else”, and It worked.

Now I have a problem: when using my Jabber client and I create a new group to insert some users there… this group disappears after login out. So I don’t know if when some user add, remove a user or group in his contact list this change is made in the openfire mysql tables too.

Could someone tell me how openfire really work? I would like to know how openfire manages mysql tables when users modify their contacts list.

I would appreciate some help on this.

Sorry if my english isn’t good.