Automating user management on big install

Background: I have a website with about a million registered users and i need to enable chat for all of them. I anticipate 1500-2000 concurrent sessions which i understand jive can handle rather easily. I also understand the necessary steps to import my userlist into the database to get started.

My issue is one of upkeep. We get about 1000 new users per day and each one needs to be addes to messenger. Additionally, as people add/remove friends int heir buddy-lists on the site, i need to be able to keep the jabber DB in sync, and it should be as nearly real-time as possible.

Is there currently any way to do user additions and roster modifications without a) having to login to the admin console (needs to be automated and can’'t do roster mods there anyway) or b) having to modify the DB directly?

I’‘m OK with b , but JM’‘s caching screws up that idea. Is there any way to clear JM’‘s roster caches w/o restarting the server, OR does anyone have a good starting point for a plugin that would allow these things through either the command line or a URL i can just strap arguments to (this part woulnd’‘t be public, i’'m happy enough with IP based authentication, or http://user:password@www… type authentication.




The user and authentication modules are fully pluggable. So, the best option is to point Jive Messenger directly at your existing user store. Check out the Javadocs to get started and let us know if you have questions about how this works.



ok… i’'m asking for help

Modifying the user/auth modules wasn’‘t an option as we want the databases to be separate. I’'m back to the question of modifying rosters out-of-band.

I figured the best way to do this would be write a plugin to allow mw to make http calls to dot he adds/deletes/modifies.

I’‘ve gone with modifying Justin Hunt’'s user admin plugin because it had the groundwork layed and this seems a logical extention to the plugin.

I’‘ve been going down the route of using RosterProvider.createItem but am having trouble with it. Am i on the right track? I want to add, through JM, the roster item to the backend storage and trigger a roster refresh on the client… for now i’'m jsut working on getting the item added.

am i on the right track?


Hey jerm,

Since JM 2.3.0 support for url= commands[/url] is available. Therefore, you should be able to create a plugin that provides a “Modify Roster” command that can only be executed by admins (i.e. users that can log into the admin console). Check the AdHocCommand and AdHocCommandHandler classes for more information.

Let me know if you need help creating and configuring the new command. BTW, your new command is not listed in url= Service Administration[/url] but it’'s pretty similar.


– Gato

problem is i can’‘t have users doing it, the traffic is too large. If possible i’'d rather not create a new jabber client to do it in an automated fashion, doing in an http call (ala jive plugin) would be far preferable and likely easier to queue.

good broader-term idea, though.