Hi there,
We have been in the educational market for some years now and would like to implement an XMPP Service in order to boost collaboration possibilities. We chose openfire because it seems to be fully featured and mature enough to do the job.
Since our clients are always busy and reluctant to learn new stuff, we wanted to implement our service facebook-style i.e. You do your stuff on the site as usual and the XMPP service adapts to the changes. Trouble is, I’ve read on the forums that manipulating the DB directly causes unintentional side-effects (e.g. user’s not showing up in the roster) so I looked for alternatives. The userservice plugin seems to do the trick for users, however we also need an automated process to manage groups as well as services and rooms.
We have around 10k Users and possibly over 400 Groups. The rooms will be spread out over multiple services (one per client) and there will be lots of rooms (one for each project that can be collaborated on). Since we plan on deploying all our clients on the same server, it is also mandatory to manage room member lists for each room so that there is no cross-client chatter.
I reckon this is a very closed system, however this is totally intended since we want the users (lots of them students from primary school) to be able to collaborate in a school context without having to rely on outside tools (most forbidding the user of them up to a certain age e.g. Facebook - 13 years).
What would be our best bet to achieve this without much hiccup. Can this be done with openfire?
EDIT (clarifications):
The basic idea is that you can see the presence of all users from your groups (in school context: classes) when you come in (presence service) and then chat with each one individually if you like (1-on-1). However, since users can use our product to collaborate on projects (e.g. wiki, reports, etc), we also want to use the groupchat feature.
When people start working on a said project, we want the client to connect to that room and chat with other people who are also working on that project (groupchat). Therefor, the room needs to be protected (we were thinking of members-only + memberlist). As of now, our users have to use .Net Messenger or public chat services if they want to work from home or different rooms, which is not always a good thing considering that most our users are underage pupils. Hence, we wanted to deploy the service as a closed chat service, were the only people you can chat with are from your own work/school environment.
We will deploy our own web-based client. Our only problem atm is how to manage the users, groups, services and rooms on the openfire side. We have a very strict model in mind so we need to be able to add/change/remove stuff around as needed.
Message was edited by: Mike