I’‘m not sure this is the right place to ask, so if I’'m wrong, please direct me to the right place!
Having done a fresh install of Wildfire server, I went for the SQL Server database option this time, and followed the instructions.
It went fine, and now I can see a nicely exposed database structure for Wildfire’'s IM workings. I wondered if, in addition to the XMPP functions, I might try reading/writing direct to some of these db tables. (For example as a quick way of changing a users status, amending user data, etc). This way I could incorporate IM into things like db stored procedures, which would be very useful indeed.
Is such a thing (a) allowed, (b) reccomended?
Or are we not supposed to go direct to the database?
Interacting directly with the database is generally not a good idea since it can interfere with Wildfire’‘s caching mechanism. It sounds like in your case it would be best to write a plugin (or modify the User Service plugin) that would use Wildfire’'s API to manipulate user data and that you could interact with.
We’‘ve been getting a number of requests for database-level integration of Wildfire. Maybe it would be handy to gather a list together of what people want so that we can build a plugin with the features. Some things I’'ve heard so far:
Ability to get current presence information for users from the database.
Ability to set presence info for users in the database (this could be hard to figure out how to do).
Send messages or broadcast messages by making database inserts. Maybe there could be a table that Wildfire polls to look for these messages.
Of course, we already have ways to do all of the above through XMPP directly. A few of these features are also exposed through REST style web services. Maybe it would be helpful to package together a more official web services API, though. We’'d definitely like to make it as easy as possible for people to get and add stuff into the server.