<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to implement OnDeleteNodePolicy for deleting user? in Alfresco Forum</title>
    <link>https://connect.hyland.com/t5/alfresco-forum/how-to-implement-ondeletenodepolicy-for-deleting-user/m-p/121565#M33347</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;A href="https://migration33.stage.lithium.com/t5/user/viewprofilepage/user-id/82366"&gt;@jeffreyman&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The error says, "&lt;SPAN&gt;&amp;nbsp;User does not exist and could not be created". Is this a case of calling the code at the wrong time (transaction conflict)? This &lt;A href="https://angelborroy.wordpress.com/2015/05/22/alfresco-implementing-delete-behavior/" target="_self" rel="nofollow noopener noreferrer"&gt;blog post&lt;/A&gt; might help, &amp;amp; then there is also Jeff Pott's &lt;A href="http://ecmarchitect.com/alfresco-developer-series-tutorials/behaviors/tutorial/tutorial.html" target="_self" rel="nofollow noopener noreferrer"&gt;tutorial&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;HTH,&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 09 Dec 2020 10:40:40 GMT</pubDate>
    <dc:creator>EddieMay</dc:creator>
    <dc:date>2020-12-09T10:40:40Z</dc:date>
    <item>
      <title>How to implement OnDeleteNodePolicy for deleting user?</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/how-to-implement-ondeletenodepolicy-for-deleting-user/m-p/121564#M33346</link>
      <description>&lt;P&gt;We want to add custom code when deleting user. We have tried to use OnDeleteNodePolicy or BeforeDeleteNodePolicy, but failed.&lt;/P&gt;&lt;P&gt;Here is custom code:&lt;/P&gt;&lt;P&gt;public void beforeDeleteNode(NodeRef nodeRef) {&lt;BR /&gt;String username = serviceRegistry.getPersonService().getPerson(nodeRef).getUserName();&lt;BR /&gt;UserInfoDao.removeUserInfo(username); //remove user in custom db&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;Here is error message:&lt;/P&gt;&lt;P&gt;2020-12-09 17:27:06,559 ERROR [extensions.webscripts.AbstractRuntime] [http-nio-8080-exec-1] Exception from executeScript: 11090001 Wrapped Exception (with status template): 11090022 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/repository/person/person.delete.js': 11090021 User does not exist and could not be created: user://alfrescoUserStore/28bdc3c9-ff7e-4ece-adec-b90439112a75&lt;BR /&gt;org.springframework.extensions.webscripts.WebScriptException: 11090001 Wrapped Exception (with status template): 11090022 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/repository/person/person.delete.js': 11090021 User does not exist and could not be created: user://alfrescoUserStore/28bdc3c9-ff7e-4ece-adec-b90439112a75&lt;BR /&gt;at org.springframework.extensions.webscripts.AbstractWebScript.createStatusException(AbstractWebScript.java:1139)&lt;BR /&gt;at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:171)&lt;BR /&gt;at org.alfresco.repo.web.scripts.RepositoryContainer$3.execute(RepositoryContainer.java:527)&lt;BR /&gt;at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:450)&lt;BR /&gt;at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:595)&lt;BR /&gt;at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:664)&lt;BR /&gt;at org.alfresco.repo.web.scripts.RepositoryContainer.executeScriptInternal(RepositoryContainer.java:435)&lt;BR /&gt;at org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:315)&lt;BR /&gt;at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:399)&lt;BR /&gt;at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:210)&lt;BR /&gt;at org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:132)&lt;BR /&gt;at org.alfresco.repo.web.scripts.AlfrescoWebScriptServlet.service(AlfrescoWebScriptServlet.java:43)&lt;BR /&gt;at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)&lt;BR /&gt;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)&lt;BR /&gt;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)&lt;BR /&gt;at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)&lt;BR /&gt;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)&lt;BR /&gt;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)&lt;BR /&gt;at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:68)&lt;BR /&gt;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)&lt;BR /&gt;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)&lt;BR /&gt;at org.alfresco.web.app.servlet.ClearSecurityContextFilter.doFilter(ClearSecurityContextFilter.java:53)&lt;BR /&gt;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)&lt;BR /&gt;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)&lt;BR /&gt;at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)&lt;BR /&gt;at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)&lt;BR /&gt;at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)&lt;BR /&gt;at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)&lt;BR /&gt;at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)&lt;BR /&gt;at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)&lt;BR /&gt;at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)&lt;BR /&gt;at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)&lt;BR /&gt;at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:615)&lt;BR /&gt;at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)&lt;BR /&gt;at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)&lt;BR /&gt;at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1627)&lt;BR /&gt;at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)&lt;BR /&gt;at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)&lt;BR /&gt;at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)&lt;BR /&gt;at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)&lt;BR /&gt;at java.base/java.lang.Thread.run(Thread.java:834)&lt;/P&gt;</description>
      <pubDate>Wed, 09 Dec 2020 09:42:19 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/how-to-implement-ondeletenodepolicy-for-deleting-user/m-p/121564#M33346</guid>
      <dc:creator>jeffreyman</dc:creator>
      <dc:date>2020-12-09T09:42:19Z</dc:date>
    </item>
    <item>
      <title>Re: How to implement OnDeleteNodePolicy for deleting user?</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/how-to-implement-ondeletenodepolicy-for-deleting-user/m-p/121565#M33347</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;A href="https://migration33.stage.lithium.com/t5/user/viewprofilepage/user-id/82366"&gt;@jeffreyman&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The error says, "&lt;SPAN&gt;&amp;nbsp;User does not exist and could not be created". Is this a case of calling the code at the wrong time (transaction conflict)? This &lt;A href="https://angelborroy.wordpress.com/2015/05/22/alfresco-implementing-delete-behavior/" target="_self" rel="nofollow noopener noreferrer"&gt;blog post&lt;/A&gt; might help, &amp;amp; then there is also Jeff Pott's &lt;A href="http://ecmarchitect.com/alfresco-developer-series-tutorials/behaviors/tutorial/tutorial.html" target="_self" rel="nofollow noopener noreferrer"&gt;tutorial&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;HTH,&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 09 Dec 2020 10:40:40 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/how-to-implement-ondeletenodepolicy-for-deleting-user/m-p/121565#M33347</guid>
      <dc:creator>EddieMay</dc:creator>
      <dc:date>2020-12-09T10:40:40Z</dc:date>
    </item>
    <item>
      <title>Re: How to implement OnDeleteNodePolicy for deleting user?</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/how-to-implement-ondeletenodepolicy-for-deleting-user/m-p/121566#M33348</link>
      <description>&lt;P&gt;I think you'd better test if the node is a person node before calling your code&lt;/P&gt;&lt;P&gt;like following&lt;/P&gt;&lt;PRE&gt;QName nodeTyp = nodeService.getType(nodeRef)
if(ContentModel.TYPE_PERSON.equalsde before calling ){
//your code
}

&lt;/PRE&gt;</description>
      <pubDate>Wed, 09 Dec 2020 11:45:42 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/how-to-implement-ondeletenodepolicy-for-deleting-user/m-p/121566#M33348</guid>
      <dc:creator>kaynezhang</dc:creator>
      <dc:date>2020-12-09T11:45:42Z</dc:date>
    </item>
  </channel>
</rss>

