As we transition to the new Hyland Community, some post links may be temporarily disrupted as we finalize redirects. We apologize for the inconvenience and are working to resolve this as quickly as possible. Details.
Hola,
Despues de realizar la migración de Alfresco a otro servidor y actualizar a la versión 201707, he intentado borrar un usuario en concreto y sale el siguiente error: "No se ha podido borrar el usuario", he intentado buscar el usuario en las tabla "alf_authority" "alf_access_control_entry", he conseguido borrarlo de la tabla "alf_authority", pero sigue apareciendo el mismo error, ademas ahora tampoco puedo acceder con ese usuario de ninguna manera.
Hay alguna manera de forzar la eliminación de ese usuario?
Gracias!
En el estado en el que lo has dejado, no sé.
Lo que suelo hacer es consultar el log para identificar el problema. Cuando daba el "No se ha podido borrar el usuario" estaría escribiendo en el log (alfresco.log o catalina.out) el problema. Si aún puedes rescatarlo, eso te dará una pista del problema.
Se me ocurre que quizá el usuario sea sincronizado de un LDAP. En ese caso Alfresco no permite borrarlo.
Además de lo que comenta Ángel, dos cosas: ¿En el log te casca algun error técnico? ¿Has mirado al usuario a través del navegador de nodos y comparado con otro que esté "bien"? Quizás esto segundo te arroje algo de luz.
He revisado el log y en ambos me indica el mismo error:
2018-02-09 12:11:30,048 ERROR [quartz.core.ErrorLogger] [DefaultScheduler_Worker-10] Job (DEFAULT.org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean#5d844740 threwan exception. org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'run' on target class [class org.alfresco.module.org_alfresco_module_wcmquickstart.jobs.FeedbackProcessor] failed; nested exception is org.alfresco.repo.search.impl.lucene.LuceneQueryParserException: 01090617 ] at org.quartz.core.JobRunShell.run(JobRunShell.java:227) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:563)Caused by: org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'run' on target class [class org.alfresco.module.org_alfresco_module_wcmquickstart.jobs.FeedbackProcessor] failed; nested exception is org.alfresco.repo.search.impl.lucene.LuceneQueryParserException: 01090617 at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:321) at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:114) at org.quartz.core.JobRunShell.run(JobRunShell.java:216) ... 1 moreCaused by: org.alfresco.repo.search.impl.lucene.LuceneQueryParserException: 01090617 at org.alfresco.repo.search.impl.solr.SolrQueryHTTPClient.executeQuery(SolrQueryHTTPClient.java:591) at org.alfresco.repo.search.impl.solr.SolrQueryLanguage.executeQuery(SolrQueryLanguage.java:58) at org.alfresco.repo.search.impl.solr.SolrSearchService.query(SolrSearchService.java:355) at org.alfresco.repo.search.impl.solr.SolrSearchService.query(SolrSearchService.java:159) at org.alfresco.repo.search.SearcherComponent.query(SearcherComponent.java:73) at org.alfresco.repo.search.AbstractSearcherComponent.query(AbstractSearcherComponent.java:60) at sun.reflect.GeneratedMethodAccessor519.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.alfresco.repo.management.subsystems.SubsystemProxyFactory$1.invoke(SubsystemProxyFactory.java:79) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at com.sun.proxy.$Proxy23.query(Unknown Source) at org.alfresco.repo.search.impl.SearchServiceSubSystemDelegator.query(SearchServiceSubSystemDelegator.java:98) at org.alfresco.module.org_alfresco_module_wcmquickstart.jobs.FeedbackProcessor$1$1.execute(FeedbackProcessor.java:200) at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:464) at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:333) at org.alfresco.module.org_alfresco_module_wcmquickstart.jobs.FeedbackProcessor$1.doWork(FeedbackProcessor.java:190) at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:555) at org.alfresco.module.org_alfresco_module_wcmquickstart.jobs.FeedbackProcessor.runInternal(FeedbackProcessor.java:185) at org.alfresco.module.org_alfresco_module_wcmquickstart.jobs.FeedbackProcessor.run(FeedbackProcessor.java:148) at sun.reflect.GeneratedMethodAccessor528.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:269) at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:312) ... 3 moreCaused by: java.net.ConnectException: Conexión rehusada (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method)
No tengo activa la sincronizacion con LDAP
El usuario directamente no aparece en la bbdd, sin embargo si accedo como administrador al panel web si que aparece.
Me da que al tocar tablas para intentar borrar al usuario "se ha quedado cojo". Me refiero a que hay trazas del usuario en la base de datos, pero no tienen integridad al haber borrado algunos de los registros. Por ejemplo, mencionas la tabla alf_access_control_entry, esta tabla maneja permisos y si le has quitado los registros de permisos, esto podría explicar por qué se ve parcialmente.
Mi recomendación va a ser la siguiente:
- Si puedes (opción sencilla): Revierte lo que hiciste de la base de datos, es decir, vuelve a dejar el usuario como estaba en base de datos y desde ahí vemos opciones.
- Si no puedes revertir (opcion no recomendada y compleja): La idea es que con el admin veas cual es la referencia del usuario (nodeRef) y con ese noderef sacar los registros que veas en alf_node y alf_node_properties. Pero no solo eso, deberás ver todo lo que tenga referencia a este usuario (por ejemplo un documento que haya creado) y tendras que actualizar la referencia con la de otro usuario, sino el documento se quedará también sin referencia.
Aquí te dejo un hilo para que veas por donde van los tiros en las queries:
Como ves no es sencillo y realmente lo sencillo es revertir y ver dónde estamos y opciones.
Un saludo,
Cris.
Finalmente he restaurado toda la instalación a un punto anterior antes de hacer cambios y si que he podido borrar el usuario desde el panel de Administrador.
Era lo más sencillo, la verdad. Me alegro que finalmente todo esté bien.
¡Un saludo!