Hi all,

Currently we are in the process of implementing Workflow support for user
operations in IS 5.1.0. One of the requirements we came up with is, when
addUser or deleteUser operations are attached to workflows, when listing
users, users with pending states in workflows should also be listed, but
show them in a manner where those users can be distinguished from others.
AddUser and deleteUser operations are implemented as we discussed in [1].

In the current workflow implementation, when adding a User, user will only
added to the userstore when workflow is approved and when deleting a user,
user will be removed from user store once corresponding workflow in
approved. Reasons for using this model has also discussed at [1].

Currently we have came up with following issue when listing users. The most
ideal way to address the requirement would be to read users in userStore
from doListUsers methods and refer workflow related DB tables by a pre or
post listener and get the complete result returned from
UserStoremanager.listUsers. But applying these changes to listeners will
cause API changes in carbon4-kernel and hence this will not be possible to
do for IS 5.1.0 release.

So currently we are planning to get user list from UserStoreManager in the
same way it does by now and then modify the list referring to workflow
related tables at places which uses the UserStoremanager.listUsers method
(eg-: at components such as user-mgt, scim, etc.). There are few drawbacks
of using this method, we’ll have to duplicate the same logic in few places
and also if a new component uses listUser method, when implementing that
this logic will have to include there as well.

Thank You!


1. [Architecture] IS Workflow Implementation - Issues in AddUser Workflow

-- 
*Chamila Dilshan Wijayarathna,*
Software Engineer
Mobile:(+94)788193620
WSO2 Inc., http://wso2.com/
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to