• Error en la búsqueda [SOLUCIONADO]

  • Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
Forum rules: Por favor, antes de preguntar algo consulta el wiki de documentación o utiliza la función de búsqueda del foro. Recuerda que no tenemos una bola de cristal ni poderes mentales, o sea que que para informar sobre un error es necesario que nos indiques tanto la versión de OpenKM que usas como la del navegador y sistema operativo. Para más información consulta Cómo informar de fallos de forma efectiva.
 #6369  by ollerfco
 
Hola,

tengo implantado el OpenKM ya en producción desde hace un tiempo y de momento va fenomenal, pero ahora me ha surgido un contratiempo.
En los documentos tengo en las palabras clave, las secciones a las que corresponde el documento. Una de las palabras clave es "tria". Pues bien, si hago una búsqueda por palabra clave desde un usuario con el rol UserRole i Fabrica, me salta un error de búsqueda (adjunto imagen), en cambio si lo hago desde otro usuario de Oficinas(por ejemplo) la búsqueda funciona correctamente. La única diferencia entre los dos usuarios es la pertenencia al grupo Fábrica, el cual no tiene permisos de escritura sobre los documentos y carpetas.
La búsqueda con otras palabras clave no da problemas con ningun usuario... (al menos las que he probado).

Saludos!!

Jordi
Attachments
errorOKM.JPG
errorOKM.JPG (66.42 KiB) Viewed 5900 times
Last edited by ollerfco on Thu Sep 02, 2010 3:25 pm, edited 1 time in total.
 #6370  by ollerfco
 
Añado la traza del error:
Code: Select all
  
2010-09-02 09:33:22,288 ERROR [es.git.openkm.frontend.server.OKMSearchServlet] cannot read item e4597d84-35de-44e5-a877-95d8fb10ad6b
es.git.openkm.core.RepositoryException: cannot read item e4597d84-35de-44e5-a877-95d8fb10ad6b
        at es.git.openkm.module.direct.DirectSearchModule.executeQuery(DirectSearchModule.java:487)
        at es.git.openkm.module.direct.DirectSearchModule.findByStatementPaginated(DirectSearchModule.java:422)
        at es.git.openkm.module.direct.DirectSearchModule.findPaginated(DirectSearchModule.java:166)
        at es.git.openkm.api.OKMSearch.findPaginated(OKMSearch.java:113)
        at es.git.openkm.frontend.server.OKMSearchServlet.findPaginated(OKMSearchServlet.java:181)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:527)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:164)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:86)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
        at java.lang.Thread.run(Thread.java:619)
Caused by: javax.jcr.AccessDeniedException: cannot read item e4597d84-35de-44e5-a877-95d8fb10ad6b
        at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:392)
        at org.apache.jackrabbit.core.NodeImpl.getParent(NodeImpl.java:1960)
        at es.git.openkm.module.direct.DirectSearchModule.executeQuery(DirectSearchModule.java:464)
        ... 32 more
 #6373  by jllort
 
Primero el UserRole recuerda que es necesario para conectarse pero que no debe propagarse por el repositorio dado que lo tienen todos los usuarios ( eso a veces creo que no queda claro ).

Puede ser que este usuario tenga mas resultados, por que esto parece un nodos / documento perdido que este dando un error.
 #6376  by ollerfco
 
Hola,

el UserRole, en principio, no està asignado en la pestaña de Seguridad a ningún documento ni ninguna carpeta. El problema està en que esto sólo me sucede con los usuarios que tienen asignado el Role "Fabrica". Desde cualquier otro Role no me da el error, y me muestra los resultados correctamente.

Saludos

Jordi
 #6377  by ollerfco
 
Buenas,

parece que ya lo he solucionado.

En otro nodo de la Taxonomia que habíamos creado posteriormente, no estaba el Role Fábrica, ya que no debía tener acceso ni de lectura ni de escritura. Al añadir el Role y volverlo a eliminar ya no ha dado mas el error.
Parece que los nodos creados posteriormente a la creación del Role, no procesan bien los permisos de usuario y de rol.

Saludos...

Jordi
 #6383  by jllort
 
Curioso esto, si consigues identificar la "logica" por la cual podemos reproducir el problema dínoslo.
 #6386  by ollerfco
 
Buenas...

para reproducirlo he hecho lo siguiente:

Desde la cuenta de administrador:
Añado un nuevo rol y un nuevo usuario con ese rol. Assigno a un nodo de la taxonomia permisos de lectura para ese rol. Subo un documento y le asigno una palabra clave y permisos de lectura para el nuevo usuario.

Desde la cuenta del nuevo usuario:
Hago una búsqueda de la palabra clave y aparece el documento.

Desde la cuenta administrador:
Muevo el nuevo documento a otro nodo de la taxonomia donde nunca se ha asignado ningun tipo de permiso para el nuevo rol.

Desde la cuenta del nuevo usuario:
Hago una búsqueda de la palabra clave y salta el error.

Pera solucionarlo:

Desde la cuenta de administrador:
Asigno al nodo donde reside ahora el fichero permisos de lectura para el nuevo rol
Quito los permisos de lectura del nuevo rol.

Desde la cuenta de usuario:
Hago una búsqueda de la palabra clave y no salta el error.


Saludos.


Jordi
 #6446  by pavila
 
Cuando dices:
Desde la cuenta administrador:
Muevo el nuevo documento a otro nodo de la taxonomia donde nunca se ha asignado ningun tipo de permiso para el nuevo rol.
Te refieres a que creas una nueva carpeta sin permisos de lectura para el usuario creado anteriormente?
 #6447  by ollerfco
 
Exacto,

creo una nueva carpeta a la que no asigno ningún permiso (ya que no quiero que el nuevo usuario tenga acceso a los documentos que voy a guardar en esta carpeta).

Saludos!

Jordi
 #6488  by pavila
 
En la versión 5 de OpenKM lo he solucionado. Esta semana actualizaré la demo con los últimos cambios y mejoras.

About Us

OpenKM is part of the management software. A management software is a program that facilitates the accomplishment of administrative tasks. OpenKM is a document management system that allows you to manage business content and workflow in a more efficient way. Document managers guarantee data protection by establishing information security for business content.