Fórum

Biblioteca de documentos, Ayuda!!!

thumbnail
sergio amaya calderon, modificado 16 Anos atrás.

Biblioteca de documentos, Ayuda!!!

New Member Postagens: 12 Data de Entrada: 22/08/07 Postagens Recentes
Buenas Tardes, tengo un problema con el porlet de la biblioteca de documentos, cuando le intento agregar algun documento me sale lo siguiente: "Biblioteca de documentos no está disponible temporalmente", entonces busco en el log de jboss y me encuentro lo siguiente:

2007-11-19 20:07:37,311 ERROR [org.hibernate.util.JDBCExceptionReporter] Column 'companyId' cannot be null
2007-11-19 20:07:37,311 ERROR [org.hibernate.event.def.AbstractFlushingEventListener] Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:249)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at com.liferay.portlet.documentlibrary.service.persistence.DLFileEntryPersistence.update(DLFileEntryPersistence.java:137)
at com.liferay.portlet.documentlibrary.service.persistence.DLFileEntryPersistence.update(DLFileEntryPersistence.java:117)


que puedo hacer para corregir esto?? estoy utilizando liferay 4.2 bundled con jboss
gracias a los que me puedan ayudar.
thumbnail
Jorge Ferrer, modificado 16 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

Liferay Legend Postagens: 2871 Data de Entrada: 31/08/06 Postagens Recentes
Hola Sergio,

¿No has hecho ningún tipo de cambio en el código de Liferay o en la configuración de Hibernate? Los dos errores que te dan suelen ser problemas por algún error de desarrollo.

También me extraña que sean los primeros errores que te dan. ¿No hay ningún otro error previo en los logs?
thumbnail
sergio amaya calderon, modificado 16 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

New Member Postagens: 12 Data de Entrada: 22/08/07 Postagens Recentes
Hola jorge primero que todo gracias por tu respuesta, bueno con respecto a lo que me preguntaste

¿No has hecho ningún tipo de cambio en el código de Liferay o en la configuración de Hibernate?
R: la verdad no le he modificado nada al codigo y no se como configurar hibernate, lo unico que hice fue instalar el liferay y poner el porlet de documentos y al subir un documento me dice que no esta disponible.

También me extraña que sean los primeros errores que te dan. ¿No hay ningún otro error previo en los logs?

no, este error me sale precisamente cuando intento subir el documento.

lo que yo creo es que hay un fallo en la bd. me podrias explicar en que tablas quedan registrados los documentos al subirlos??

te agradezco en lo que me puedas ayudar
thumbnail
Jorge Ferrer, modificado 16 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

Liferay Legend Postagens: 2871 Data de Entrada: 31/08/06 Postagens Recentes
Hola Sergio,

Las tablas son todas las que empiezan por DL. En dichas tablas se almacena la metainformación sobre los documentos, los documentos en si mismos se almacenan en Jackrabbit (por defecto) o en un directorio del disco duro.

Ya me contarás si encuentras más información sobre la causa del problema.
thumbnail
Ignacio Díaz, modificado 16 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

Regular Member Postagens: 127 Data de Entrada: 27/07/06 Postagens Recentes
¿Estás utilizando Windows o Linux? Nosotros en un desarrollo anterior tuvimos un problema con eso mismo, y es que la carpeta donde se almacenan los documentos, no tenía permisos de escritura para el usuario con el que iniciábamos el servidor. Es un error tontísimo, pero daba exactamente el mismo error que te da a ti.

Un saludo.
thumbnail
sergio amaya calderon, modificado 16 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

New Member Postagens: 12 Data de Entrada: 22/08/07 Postagens Recentes
hola ignacio
Pues estoy utilizando windows pero el problema que tengo, es que no comprendo el funcionamiento del porlet de la biblioteca, ya que nose donde guarda los archivos, ni donde configurar la ruta en la que deben quedar almacenados, ni tampoco se si esta utilizando jackrabbit.

si me puedes dar algunos tips acerca del funcionamiento de este porlet te lo agradeceria mucho.
thumbnail
Alex Owen Wallace, modificado 16 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

Liferay Master Postagens: 640 Data de Entrada: 05/11/07 Postagens Recentes
los archivos se guardan en el directorio que tiene configurado jackrabbit, que tipicamente es un directorio "liferay/jackrabbit" dentro del directorio 'home' del usuario con el cual arrancas el portal... En unix es tipicamente /home/tuusuario/liferay/jackrabbit

si no estas seguro donde, busca un directorio de nombre jackrabbit o lucene o ehcache o un archivo repository.xml que está dentro del directorio de jackrabbit...
thumbnail
Ignacio Díaz, modificado 16 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

Regular Member Postagens: 127 Data de Entrada: 27/07/06 Postagens Recentes
Hola Sergio,

Para empezar, para saber si estás utilizando Jackrabbit, o para configurarlo, mira en tu portal-ext.properties las siguientes líneas:

dl.hook.impl=com.liferay.documentlibrary.util.FileSystemHook
#dl.hook.impl=com.liferay.documentlibrary.util.JCRHook

La que esté descomentada es la que estás usando. En caso de que utilices FileSystem tienes que mirar esta propiedad:

dl.hook.file.system.root.dir=${resource.repositories.root}/document_library

En caso de que uses jackrabbit mira esta otra:

jcr.jackrabbit.repository.root=${resource.repositories.root}/jackrabbit


Ahora otra cuestión. Imagínate que tienes un fichero "mi_fichero.doc" que guardas en una carpeta "mi_carpeta" de la documentlibrary. En la ruta especificada en la propiedad que viste arriba (donde está tu repositorio) se creará una carpeta con el id que liferay le asigne a "mi_carpeta", y dentro una subcarpeta tal que: DL-XXXX.doc (el id que liferay le asignó a "mi_fichero.doc"). Dentro de esa subcarpeta DL-XXX.doc, se te guardarán las diferentes versiones del fichero, si es una única versión, encontrarás un archivo: "1.0". Si le cambias la extensión a ".doc" ahí tienes el fichero que tú subiste.

Normalmente no accederás por Sistema de Ficheros a tu archivo, sino por la URL que Liferay construye cuando lo subes. Esta URL puedes verla yendo al portlet DocumentLibrary, a la carpeta donde lo subiste, y en el fichero, pulsas sobre "Acciones" en la parte derecha de la pantalla, y ahí sobre "Ver". Te ofrecerá dos URL's, una normal, para navegador, y otra para WebDAV (acceso remoto desde carpetas u Office).

Espero que te ayude.

Un saludo.
thumbnail
Alex Owen Wallace, modificado 16 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

Liferay Master Postagens: 640 Data de Entrada: 05/11/07 Postagens Recentes
La verdad yo no sabía que existía la opción para no usar JackRabbit.... Cual sería la ventaja de usar JackRabbit sobre el sistema de archivos desde el punto de vista del portal?
thumbnail
Ignacio Díaz, modificado 16 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

Regular Member Postagens: 127 Data de Entrada: 27/07/06 Postagens Recentes
Supongo que la principal ventaja es que Jackrabbit implementa JSR-170 (la especificación java para bibliotecas de documentos).

Por otra parte creo que los documentos en Jackrabbit están ofuscados, mientras que en sistema de ficheros, se podrían coger estos ficheros, cambiarles la extensión y utilizarlos.
thumbnail
Alex Owen Wallace, modificado 16 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

Liferay Master Postagens: 640 Data de Entrada: 05/11/07 Postagens Recentes
Segun entiendo jackrabbit mismo puede usar un repositorio humanamente interpretable... (sin ofuscar)...

La ventaja que yo le verí a NO usar JackRabbit es que es más facil de compartir un repositorio plano en un cluster... Pero no se si sea peligroso por alguna razón ... (concurrencia de acceso, etc)...
Andres Bedoya, modificado 16 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

New Member Postagens: 5 Data de Entrada: 01/02/08 Postagens Recentes
Buenas tardes estoy desesperado. Resulta que me dieron una intranet instalada en liferay 4-2 y no tiene la opcion de filesystem. La biblioteca de documentos no funciona y siempre me saca el mensaje
Biblioteca de documentos no está disponible temporalmente.
He revisado en los foros y he hecho varias cosas entre ellas.

1. Le he puesto permisos a la carpeta en donde se copian los docs es decir la que esta configurada en el portal-ext.properties.
2. He colocado mensajes en las clases para hacer un seguimiento y resulta que la carga se daña cuando hace el session.flush en la clase com.liferay.portlet.documentlibrary.service.persistence.DlFileEntryPersistence
3. He configurado el repository.xml verificando que apunte a la base de datos
4. En el log me saca el error
2008-02-01 19:16:34,841 INFO [STDOUT] ABP FOLDER = 24
2008-02-01 19:16:34,841 INFO [STDOUT] ABP NAME = DLFE-68.doc
2008-02-01 19:16:34,841 INFO [STDOUT] ABP COMPANY = liferay.com
2008-02-01 19:16:34,841 INFO [STDOUT] ABP DESCRIPCION = ytytrytryt
2008-02-01 19:16:34,841 INFO [STDOUT] ABP ANTES DEL FLUSH = 24
2008-02-01 19:16:34,919 ERROR [org.hibernate.util.JDBCExceptionReporter] Column 'folderId' cannot be null
2008-02-01 19:16:34,919 ERROR [org.hibernate.event.def.AbstractFlushingEventListener] Could not synchronize database state with session
Lo raro es que antes de que haga el session.flush reviso los datos del objeto y veo en la consola que folderId no esta nulo. Incluso a manera de prueba le quite las llaves a la tabla y me encontre con que inserta el registro con todos los campos en nulo es decir como si el objeto estuviera vacio lo cual no es cierto porque revisando el objeto estan llenos todos sus campos. A continuacion muestro el pedazo de codigo en donde encontre el error en la clase DlFileEntryPersistence .


POR FAVOR AYUDENME ESTOY QUE SACO LA TOALLA. LO PEOR ES QUE NO PUEDO RESTAURAR EL SISTEMA YA QUE ESTE SISTEMA HASIDO MIGRADO VARIAS VECES Y TIENE MUCHAS PERSONALIZACIONES QQUE NO CONOZCO
thumbnail
Jorge Ferrer, modificado 16 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

Liferay Legend Postagens: 2871 Data de Entrada: 31/08/06 Postagens Recentes
Hola Andrés,

Con los datos que das es muy difícil saber cual es el problema. ¿Qué versión exacta de la serie 4.2.x tienes? Yo te recomendaría mirar en support.liferay.com posibles fallos relacionados con ese portlet y si es posible migrar a la última versión de esa serie. Si no, y encuentras algún bug relacionado intenta hacer un backport tu mismo.

Respecto al bug concreto, ¿te falla el almacenamiento en la base de datos o en el repositorio jackrabbit? Y por otro lado ¿ese portlet ha sido modificado por vosotros?
thumbnail
Mauricio Cubillos, modificado 16 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

Regular Member Postagens: 117 Data de Entrada: 19/04/07 Postagens Recentes
Cordial saludo:

Hemos estado trabajando con la Document Library, en el orden de visualización de documentos, ya que, para cierto proyecto debemos ser capaces de ordenar por diferentes criterios una serie de publicaciones (Por numero de publicación, por fecha, etc.. ) el problema es que en la forma en que está implementada la clase no nos permite tanta flexibilidad, entonces, solo por estar seguros:

com.liferay.util.dao.search.SearchContainer es la clase que debemos modificar?

cual sería el proceso para que la mejora que nosotros hariamos estuviese en la próxima versión de Liferay?

alguien tiene una mejor idea de como hacerlo?

mmegustaría que alguien me respondiera esto antes de empezar la modificación.
thumbnail
Jorge Ferrer, modificado 16 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

Liferay Legend Postagens: 2871 Data de Entrada: 31/08/06 Postagens Recentes
Hola Mauricio,

Perdona que no te haya contestado antes. Últimamente estoy muy liado y me cuesta seguir el ritmo de los foros.

Para contribuir a Liferay te recomiendo que leas los siguientes artículos:


No se decirte ahora mismo si SearchContainer es la clase que tienes que modificar, pero ten en cuenta que esa clase se usa en muchos sitios y por tanto si lo modificas deberás probar que sigue funcionando en todos ellos.
thumbnail
Cesar Ingaruca, modificado 15 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

Regular Member Postagens: 143 Data de Entrada: 12/08/08 Postagens Recentes
Hola Jorge, tengo una consulta sobre la modificación del portlet de Biblioteca de documentos(en realidad solo agregarle un insert q apunte a otra tabla) me dicen que es mejor clonar este portlet pero quisiera saber como hacer esto o que alternativa me das.

El liferay que tengo es 5.1 y tengo el código fuente.

Espero tu respuesta . Gracias^^..
thumbnail
Jorge Ferrer, modificado 15 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

Liferay Legend Postagens: 2871 Data de Entrada: 31/08/06 Postagens Recentes
Hola César,

Si necesitas hacer bastantes cambios y no tienes en mente que se incluyan en Liferay para siguientes versiones yo creo que es la mejor solución.

Si quieres que se incluyan en Liferay puedes o bien pedir que se desarrolle como un Desarrollo Patrocinado o bien desarrollarlo tú mismo según las guias de estilo de Liferay (ver wiki) y enviar un parche a través de support.liferay.com (si es la primera vez reserva tiempo para hacer los cambios que podamos pedirte).
thumbnail
Cesar Ingaruca, modificado 15 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

Regular Member Postagens: 143 Data de Entrada: 12/08/08 Postagens Recentes
Hola Jorge, en realidad no creo que este cambio tendria que agregarse a versiones posteriores ya que es solo una petición del usuario agregar mas campos. Dime existe alguin build que me separe este portlet o puedo ubicar el war de este en algún lugar o tengo que separarlo manualmente del sourde de liferay?
thumbnail
Jorge Ferrer, modificado 15 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

Liferay Legend Postagens: 2871 Data de Entrada: 31/08/06 Postagens Recentes
Hola César,

Lo más fácil es que uses el entorno de extensión. Tanto en la sección de documentación de la web como en el wiki encontrarás amplia información sobre el mismo.
thumbnail
Cesar Ingaruca, modificado 15 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

Regular Member Postagens: 143 Data de Entrada: 12/08/08 Postagens Recentes
Hola Jorge,
todavía sigo sin poder realizar esas modificaciones que te indique e estado leyendo en el wiki sobre el ext. Corrigeme si estoy mal, en el ext yo puedo agregar nuevas clases en /ext/ext-impl/src y cuando yo corra el "deploy" de ext-build.xml ¿esa clase se agregará al portal liferaY?

Por ejemplo, yo podría hacer una simple conección y un insert con DAO y cuando haga el ext-build se agregará esto al liferay?. Después yo quisiera cambiar una clase(por ejemplo EditImageAction.java) según e leido dice que los modifique en el mismo portal y hacer el build.xml de este. O esa clase la puedo modificar en el EXT y después ejecutar el deploy de ext-build.xml?.

En realidad me veo algo enredado ya prácticamente e subido todo mi diseño al liferay, y me e quedado estancado en esas modificaciones que tengo que hacer.

Espero tus comentarios al respecto.

Saludos y Gracias por tu ayuda.
thumbnail
Jorge Ferrer, modificado 15 Anos atrás.

RE: Biblioteca de documentos, Ayuda!!!

Liferay Legend Postagens: 2871 Data de Entrada: 31/08/06 Postagens Recentes
Hola César,

Las clases que añadas en el entorno de extensión se desplegarán junto con el resto del portal (en concreto dentro de ext-impl.jar). Por tanto estarán disponibles para que las uses dentro de tus propios portlets o bien las referencies desde portal.properties si lo que has implementado es uno de los hooks disponibles en el mismo.

Respecto a cambiar el Action, yo te recomendaría que no lo hicieras. En todo caso create tu propio action y usa el struts-config.xml para sobreescribir la entrada en cuestión del fichero original de Liferay para que use tu action y no el que viene con Liferay.