My comments in red

* When a disabled user attempts to login with their correct credentials
  * The authentication must fail (implemented, the authenticate method now throws a DisabledUserException in that case)
  * A user friendly message should be presented to him: this is a best effort and sometimes it may not be possible to present him the message (not implemented as it is UI related but a new method has been added to cover this need which is Authenticator.getLastExceptionOnValidateUser) 
* A disabled user must not receive anymore email messages: the message is lost and will not be resent later (Cannot do anything at eXo JCR level as the MailService is generic and is not aware of the OrganizationService, it needs to be implemented on top app level)
* An attempt to reset the credentials of a disabled user will fail (implemented, the saveUser method now throws a DisabledUserException in that case)
* The organization service API
  * must be augmented for enabling and disabling an user (implemented, the method setEnabled(String userName, boolean enabled, boolean broadcast has been added for this purpose)
  * queries returning users must be filtered
    * the behavior of the existing method changes to remove the disabled users (implemented, old methods now call new ones with enabledOnly set to true as already described)
    * an overloaded query method is added with a boolean argument to control the filtering of the query (implemented, new methods have been added with an additional parameter which is enabledOnly)
* must sent a new type of event upon enabled status changes (implemented, new methods have been added to cover this need which are preSetEnabled(User user) and postSetEnabled(User user))
* From the user interface perspective disabled users
  * must not be listed in user selector components (not implemented as it is UI related)
  * must appear in the community management portlet (not implemented as it is UI related)


On Thu, May 23, 2013 at 11:15 AM, Julien Viet <julien@julienviet.com> wrote:
can you tell us which features have been implemented from the list of requirements ?

On May 23, 2013, at 12:52 PM, Nicolas Filotto <nfilotto@exoplatform.com> wrote:

Hi,

Just to let you know that the part of the spec https://community.jboss.org/wiki/DisabledUser that affects eXo Core has been fully implemented in this branch https://github.com/exodev/core/tree/feature/COR-293. The related JIRA issues are https://jira.exoplatform.org/browse/COR-293 and https://jira.exoplatform.org/browse/JCR-2175. It will be available in JCR 1.16 that will be used in PLF 4.1/JPP 6.1

A new method has been added in the interface UserHandler to enable/disable a user which is setEnabled(String userName, boolean enabled, boolean broadcast), in case it cannot be supported by the implementation, an UnsupportedOperationException can be thrown.

For each find methods in the interface UserHandler, we have the corresponding method with a new parameter which is enabledOnly, the old methods call the new ones with enabledOnly set to true.

Some old methods such as saveUser and authenticate can now throw a new exception called DisabledUserException in case we try to interact with a disabled user account.

The TCK has been reviewed to cover this new feature, I also added more unit tests to make sure that all implementations behave the same way.

Finally, to allow the UI to be able to know which error occurred during the authentication, I added a new method in the interface Authenticator which is getLastExceptionOnValidateUser()

In this branch I also upgraded our internal implementations (hibernate and ldap) and tested them successfully on Oracle 11G R2, MySQL 5.5, PGSQL 9.1, DB2 9.7.4, MS SQL 2008 R2, H2, HSQLDB, Sybase 15.7 for hibernate and Active Directory 2012, Oracle Directory Server 11g, open LDAP 2.4, openDS 1.2, 2.0 and 2.2.1 and ApacheDS 1.5.7 for ldap

I also upgraded our implementation based on eXo JCR in this branch https://github.com/exodev/jcr-services/tree/feature/JCR-2175.

I need now to write some doc about this new feature.

@IDM Team you should have everything you need to upgrade IDM on your side.

@Gatein Team: you should have everything you need to update the UI consequently.

If you have any questions and/or remarks, feel free to share.

BR,
--
Nicolas Filotto
Project Leader JCR
eXo Platform SAS
nfilotto@exoplatform.com

--
You received this message because you are subscribed to the Google Groups "JBoss / eXo" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jbossexo+unsubscribe@googlegroups.com.
To post to this group, send email to jbossexo@googlegroups.com.
Visit this group at http://groups.google.com/group/jbossexo?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 


_______________________________________________
gatein-dev mailing list
gatein-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/gatein-dev