ALERT: Some images may not load properly within the Knowledge Base Article. If you see a broken image, please right-click and select 'Open image in a new tab'. We apologize for this inconvenience.

Read permission to own user object required for messages history

book

Article ID: 199343

calendar_today

Updated On:

Products

CA Automic Workload Automation - Automation Engine CA Automic Workload Automation - Automation Engine

Issue/Introduction

A user with the privilege "View messages of the user's respective UserGroup" needs a read permission to his own user object. 
If the user does not have the right, he gets the following error if he tries to open Messages Settings or Messages History:

Failed to load UserGroups

java.lang.NullPointerException
    at com.uc4.ecc.framework.entrypoint.messages.configuration.SettingsDialogController.loadUserGroups(SettingsDialogController.java:169)
    at com.uc4.ecc.framework.entrypoint.messages.configuration.SettingsDialogController.access$000(SettingsDialogController.java:42)
    at com.uc4.ecc.framework.entrypoint.messages.configuration.SettingsDialogController$1.load(SettingsDialogController.java:79)
    at com.uc4.ecc.framework.entrypoint.messages.configuration.SettingsDialogController$1.load(SettingsDialogController.java:73)
    at com.uc4.ecc.framework.core.async.BaseRequestCoordinator$1$1.call(BaseRequestCoordinator.java:231)
    at com.uc4.ecc.framework.core.pool.ContextAwareExecutorService$CallableImplementation.call(ContextAwareExecutorService.java:72)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
 

If the use has the right to access his own user objects, and he does the same operation he gets the following java stack error:

com.uc4.communication.requests.XMLRequest.checkSystemOverviewPrivilege(XMLRequest.java:309)
com.uc4.communication.requests.MessageList.createRequest(MessageList.java:269)
com.uc4.communication.requests.XMLRequest.send(XMLRequest.java:290)
com.uc4.communication.Connection.send(Connection.java:1163)
com.uc4.communication.Connection.sendRequestAndWait(Connection.java:1446)
com.uc4.webui.api.connection.AEConnectionAdapter.sendRequestAndWait(AEConnectionAdapter.java:58)
com.uc4.ecc.backends.util.APICallHelper.sendRequestAndWait(APICallHelper.java:46)
com.uc4.ecc.backends.impl.dataservice.request.RequestService.lambda$sendAndWait$4(RequestService.java:65)
com.uc4.ecc.framework.core.async.VaadinSessionLockUtil.reportLock(VaadinSessionLockUtil.java:94)
com.uc4.ecc.backends.impl.dataservice.request.RequestService.sendAndWait(RequestService.java:65)
com.uc4.ecc.backends.impl.dataservice.request.RequestService.sendAndWait(RequestService.java:85)
com.uc4.ecc.backends.dataservice.request.IRequestService$pbryglu.sendAndWait(Unknown Source)
com.uc4.ecc.framework.entrypoint.messages.history.MessageListItemTableController.load(MessageListItemTableController.java:93)
com.uc4.ecc.framework.entrypoint.messages.history.MessageListItemTableController$1.loadWithNullOrEmptyAsDefault(MessageListItemTableController.java:71)
com.uc4.ecc.framework.entrypoint.messages.history.MessageListItemTableController$1.loadWithNullOrEmptyAsDefault(MessageListItemTableController.java:66)
com.uc4.webui.common.async.EmptyCollectionOrNullAsDefaultLoader.load(EmptyCollectionOrNullAsDefaultLoader.java:10)
com.uc4.webui.common.async.EmptyCollectionOrNullAsDefaultLoader.load(EmptyCollectionOrNullAsDefaultLoader.java:6)
com.uc4.ecc.framework.core.async.BaseRequestCoordinator$1$1.call(BaseRequestCoordinator.java:231)
com.uc4.ecc.framework.core.pool.ContextAwareExecutorService$CallableImplementation.call(ContextAwareExecutorService.java:72)
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
java.base/java.lang.Thread.run(Thread.java:834)

=====================================================================

 

Cause

A problem has been solved where users with with the "View messages of the user's respective UserGroup" privilege also required read rights to their respective User object to be able to access the Message History. Without this rights, users got an error message upon opening the Message history.

 

This is a bug that is correct in AWI 12.3.3.

Environment

Automic Web Interface (AWI)  12.3.1

Resolution

To fix this problem upgrade AWI to version 12.3.3.

Please keep  in mind that since version 12.3.3 product management advises to keep AE and AWI version aligned!

This is documented here:

https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/20.0/Automic%20Automation%20Guides/help.htm#Installation_Hotfix/HotfixInstallation.htm

===============================================================
The Automation Engine and the Automic Web Interface components should always be on the same service pack/hotfix number.
When a hotfix is issued for the AWI or the AE component, there is either a confirmation that there are no incompatibility issues, or an equivalent hotfix for both components is released at the same time.
If a hotfix has been released for both components, you should upgrade both components to ensure compatibility.
In case of any doubt, components bundled together in a download offering are tested for compatibility. An offering always contains the same service pack/hotfix version of the AE and AWI components.
in the installation section it says
===============================================================

And here in the following link:

https://docs.automic.com/documentation/webhelp/english/AA/12.3/DOCU/12.3/Automic%20Automation%20Guides/help.htm#Installation_Manual/AWI/InstallingAWI.htm

===============================================================
Note: The Automation Engine and the Automic Web Interface components should always be on the same release version.
===============================================================