I am making a chat system and am new to xmpp technology.For server I am confused among ejabbered , openfire or tigase.I don't know erlang.And am good at java.
I am looking in a case where I have to change a user roster again and again everytimes a user logged in.And that too completely.So I am thinking to control user roster by myself and not by xmpp server.Morever I want to control what to do when a user went idle/busy. And many more.And for security it will be great if it can be done on server side rather than client side.
so how should I customize the xmpp server.And as I need to customise a lot which server should I use?Based on how easy its to learn them and customise them?
I have done similar kinds of customization in Tigase. I will recommend you to choose Tigase if and only if you are looking for high scalability . For Tigase scalability look at Scaling Tigase XMPP server on Amazon EC2 . The other part of Tigase is you need to dig into the code on your own there isn't much help available else than Tigase offical website.
In openfire you can get much community support in term of blogs and tutorials as compared to Tigase. But openfire isn't salable as Tigase. Also Openfire has a wide range of plugins available.
One more thing about Tigase is that Tigase maintains in memory rosters once user gets login.