Page 1 of 1

Cuelgues en la interfaz de usuario

PostPosted:Wed Sep 26, 2012 9:10 am
by edetron
Muy buenas a todos

Ante todo, un saludo a todos los que hacéis esto posible. Es un gran trabajo. Enhorabuena.

Quería comentar un problema que he experimentado y una solución un tanto chapucera que he tenido que adoptar mientras encuentro algo mejor. Quizás con esto pueda aportar mi pequeño granito de arena.

Estoy implantando OpenKM 5.1.10 como repositorio de documentación en mi empresa. Lo primero que he hecho ha sido crearme un programa de exportación para pasar todos los documentos actuales al repositorio. La peculiaridad es que este programa sube los documentos usando WebService y les asigna categorías y keywords para organizar mejor la información.

Posteriormente, desde nuestro ERP (en Access) atacamos a OpenKM por WebServices para añadir nuevos documentos y obtenerlos de forma automática.

El problema es que después de incorporar todos los documentos a OpenKM, unos 2GB, organizados para que no haya demasiados en cada carpeta, la interfaz de usuario se queda colgada independientemente del navegador usado y de la acción realizada (incluso sin pinchar en ninguna carpeta).

Tras depurar y hacer muchas pruebas he visto que el cliente se ve desbordado al procesar lo que devuelve la función getKeywordMapLive de la clase com.openkm.module.direct.DirectSearchModule, dada la gran cantidad de keywords que manejamos.

De momento lo que he hecho es que este método devuelva una lista vacía, con lo que el problema del cuelgue se ha solucionado. Todo lo que a mi me interesa por ahora funciona bien, pero supongo que este cambio afectará a alguna funcionalidad.

Me imagino que el software no estará pensado para hacer un uso tan elevado de keywords, por lo que nuestro caso no se dará demasiado.

¿Alguna sugerencia?

Gracias.

Re: Cuelgues en la interfaz de usuario

PostPosted:Wed Sep 26, 2012 6:18 pm
by jllort
Básicamente el problema esta en el rendering del navegador. Digamos que no es una buena idea renderizar 3000 palabras clave ( no se cuantas has metido ). En la versión 6 esto esta solucionado, de momento deshabilitando el keymap en el dashboard, posteriormente lo que haremos sera deshabilitar la opción de pintar el tag cloud.

Como muy bien dices no es buena idea tener tanta palabra clave distinta. Es mas sensato utilizar metadatos ( siempre que sea posible ) o si me apuras categorias, aunque demasiados elementos en una categoria tampoco te daran un buen resultado ( dibujar 1000 documentos o mas tambien tardará un poco ). Esto siempre hay que plantearlo a la inveras es decir:
1- que va a buscar el usuario ( que necesidades de recuperación de información tiene )
2- una vez analizado el punto uno lo puedes segmentar en listas, listas de selección multiple, inputs ( es decir en metadatos )

El tema es muy parecido a base de datos, un indice de una tabla cuyo número de registros no te filtre gran cantidad de información es un mal índice, algo parecido con esto. Otro problema que te encontraras es que no todos los usuarios añadir o eliminar palabras clave o simplemente como OpenKM es case sensitive algunos las ponen en mayúsculas y otros en minúsculas ( hay un parametro para forzar todo minisculas ).

Y una sugerencia final, en el ERP trabaja por UUID no por path ( es decir siempre almacena como referencia el UUID, el path puede cambiar y antes de hacer cualquier operacion hay que transformar el UUID en path )