Currently nxu:userFullName function does the login/display name resolution using directly UserManager.
Unfortunately, calling UserManager.getPrincipal(username) can be too costly :
- In case of LDAP groups + Slow LDAP fetching the references will be slow (and not cachable)
- Computed Groups can take time
There is a small cache directly inside the JSF Context but it is on a per user session basis.
In parallele of the patch implementation that is here for backport reasons, we may provide 2 news API in UserManager :
This way we can hide the caching/invalidation logic directly inside the UserManager and avoid doing complex code inside the JSF functions !