I spent about 2 days rebasing/merging and for minor clean-ups.
I am afraid it still need some work before I can take it in the mainline.

IM account creation
-------------------

The current implementation talks to OpenFire (XML/RPC) when User objects
are saved or deleted. Unfortunately if you happen not to use OpenFire you
cannot save the user with IM ID (you try to save it and exception gets
thrown informing you that plug-in cannot talk to the server).

Even if were to fix that, RPC calls from UI threads are not a good thing.
In case of any communication problems admins will be stack waiting for
connection to timeout. And even if it's not a UI thread saving user is kind
of time critical (think about importing users).

It would be much better if sipXconfig/openfire plugin worked in the
background creating/removing and changing IM accounts whenever something
changes in user data. It would be more in line with how configuring other
entities (phones or gateways work): sipXconfig saves configuration and then
 reconfigures other entities to match. Of course in that setup we cannot
use hacks such as "savedImId" any more.

I noticed that adding new Openfire account takes 3 - 4 RPC calls. It's
absolutely not critical but if sipXconfig is the primary client of that API
maybe we could make it more convenient.


Saving users
------------

EditUser code seem to delete and recreate  voicemail mailbox every time the
user is saved. It used to do that only when username changed but that
safeguard has been removed. I did not try to fix it since if IM account
creation happens in the background we probably just restore the original code.


RLS generation
--------------

A new resource list is generated to allow observing the state of all users
with IM accounts. That list has an ID "watcher": sooner or later someone is
going to create user "watcher" - maybe it would be better to use some kind
of special id from ~~namespace.

RLS generation is triggered from UI - that was a barely acceptable hack
when we used it for speed dial: especially since we only generated it when
username was changed. But we cannot afford to generate it unconditionally
every time user is saved ("importing users" use case again).


The rebased patch is here:
http://track.sipfoundry.org/secure/attachment/20528/0001-XX-6005-Support-for-managing-instant-messaging-serve.patch


_______________________________________________
sipx-dev mailing list [email protected]
List Archive: http://list.sipfoundry.org/archive/sipx-dev
Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev
sipXecs IP PBX -- http://www.sipfoundry.org/

Reply via email to