tsgrp / HPI

OpenContent Management Suite (OCMS)
http://www.tsgrp.com/products
17 stars 5 forks source link

Cannot turn off inbox proxy once set #2445

Closed gsteimer closed 2 years ago

gsteimer commented 2 years ago

See the screenshots below:

My Inbox is proxied:

image image

If I log out, log back in and set my workflow back to 'Available', this error occurs in OC:

2021-10-04 10:05:45,494 30490790    ajp-apr-8009-exec-1 DEBUG   ActivitiNotificationImpl    Begin ActivitiNotificationImpl.getNotifications...
2021-10-04 10:05:51,970 30497266    ajp-apr-8009-exec-5 DEBUG   AlfrescoEmbContentImpl  There was no content for the object: workspace://SpacesStore/54b6eb41-0b92-452e-a455-0b7d8426147b
2021-10-04 10:05:51,970 30497266    ajp-apr-8009-exec-5 ERROR   EmbeddedAlfrescoAdvice  An unspecified OC exception occurred
com.tsgrp.opencontent.core.exception.OCRuntimeException: Unhandled exception around OC method class: interface com.tsgrp.opencontent.core.workflow.IWorkflow| name: getInboxProxyUser
    at com.tsgrp.opencontent.alfresco.core.EmbeddedAlfrescoAdvice.invoke(EmbeddedAlfrescoAdvice.java:98)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at com.sun.proxy.$Proxy464.getInboxProxyUser(Unknown Source)
    at com.tsgrp.opencontent.alfresco.user.AlfrescoEmbUserImpl.checkForProxyLoop(AlfrescoEmbUserImpl.java:1298)
    at com.tsgrp.opencontent.alfresco.user.AlfrescoEmbUserImpl.setUserInboxProxy(AlfrescoEmbUserImpl.java:1282)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at com.tsgrp.opencontent.alfresco.core.EmbeddedAlfrescoAdvice$1.execute(EmbeddedAlfrescoAdvice.java:72)
    at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:464)
    at com.tsgrp.opencontent.alfresco.core.EmbeddedAlfrescoAdvice.invoke(EmbeddedAlfrescoAdvice.java:85)
...
Caused by: java.lang.NullPointerException
    at java.io.Reader.<init>(Unknown Source)
    at java.io.InputStreamReader.<init>(Unknown Source)
    at org.apache.commons.io.IOUtils.copy(IOUtils.java:1906)
    at org.apache.commons.io.IOUtils.toString(IOUtils.java:778)
    at org.apache.commons.io.IOUtils.toString(IOUtils.java:759)
    at com.tsgrp.opencontent.core.preferences.GenericPreferencesService.translateContent(GenericPreferencesService.java:463)
    at com.tsgrp.opencontent.core.preferences.GenericPreferencesService.getPreferencesByName(GenericPreferencesService.java:410)
    at com.tsgrp.opencontent.core.preferences.GenericPreferencesService.getPreferencesByName(GenericPreferencesService.java:391)
    at com.tsgrp.opencontent.activiti.workflow.ActivitiWorkflowImpl.getInboxProxyUser(ActivitiWorkflowImpl.java:1319)

The only way to reset the workflow to activate workflow is to manually reset the user's user preferences json. The relevant section should look like thie following:

"workflowProxy":{"delegatedDisplayName":"","_id":"UserPreferences.gsteimer.workflowProxy","enabled":false,"delegatedLoginName":""}

Note - I'm guessing this will fail with Hbase as well since Hbase also relies on user preferences for inbox proxy. It's working properly on Documentum because Documentum has its own mechanism for tracking inbox proxy and we don't rely on user prefs.

gsteimer commented 2 years ago

Moved to Jira: https://alfresco.atlassian.net/browse/SEP-29