Fórum

Refrescar listado de documentos en plantilla velocity

thumbnail
Mario R, modificado 9 Anos atrás.

Refrescar listado de documentos en plantilla velocity

Junior Member Postagens: 55 Data de Entrada: 06/06/13 Postagens Recentes
Saludos, estoy realizando un desarrollo con liferay 6.1.2 ga3 en el cual se ha puesto como requerimiento listar los archivos de una carpeta específica de la librería de documentos y multimedia.
El listado de documentos debe mostrarse con un estilo personalizado y sin opciones adicionales, por lo cual el visor de documentos y multimedia integrado no aplica.
La solución aplicada es la siguiente:
1. Se creo una estructura con un campo denominado folderName
2. Se creo un template para dicha estructura que utiliza el service locator, busca la carpeta por nombre y luego busca todos los documentos en dicha carpeta.
3. se creo un contenido web para la estructura y template(plantilla)

El problema radica cuando se añaden nuevos documentos a la carpeta, los mismos no son listados automáticamente en el contenido web. Solo refrescan si se edita el contenido web o si pasa un tiempo aproximado de 15 a 20 minutos sin interactuar con el portal.
El siguiente fragmento ilustra el código utilizado

## instancia el servicio de documentos (DLFileEntry) de la biblioteca de documentos
#set($fileService = $serviceLocator.findService("com.liferay.portlet.documentlibrary.service.DLFileEntryLocalService"))

## obtiene el group id
#set($gid = $getterUtil.getLong($request.get("theme-display").get("scope-group-id")))

##busca los documentos en la carpeta utilizando el id de la carpeta
#set($fid = $getterUtil.getLong($folder.folderId))
#set($files = $fileService.getFileEntries($gid, $fid, -1, -1, null))

#foreach($doc in $files)
    <div class="base-margin">
         <h3>$doc.getTitle()</h3>
	  <p>$doc.getDescription()</p>
    </div>
#end



Agradezco cualquier apoyo o sugerencia al respecto...

Saludos,
Mario
thumbnail
Emilio Jose Lamas Fraga, modificado 9 Anos atrás.

RE: Refrescar listado de documentos en plantilla velocity

Junior Member Postagens: 57 Data de Entrada: 29/11/11 Postagens Recentes
Hola,

Lo cierto es que desconozco si hay alguna opción para configurar el refresco de la plantilla, pero dado tu requerimiento, ¿No sería mucho más sencillo realizar el desarrollo con un portlet y visualizar los documentos mediante una estructura de search-container?

Saludos.
thumbnail
Iñaki Sainz, modificado 9 Anos atrás.

RE: Refrescar listado de documentos en plantilla velocity

Junior Member Postagens: 43 Data de Entrada: 05/06/13 Postagens Recentes
Hola,

has intentado desmarcar el flag cacheable de las opciones de esa template en concreto? Este flag está en la pantalla de edición de la plantilla y fuerza a ser evaluada cada vez.

En cualquier caso, si ese contenido se muestra en páginas para usuarios no identificados, puede que la caché que te esté actuando es la caché de página (es mala idea desactivarla si hay mucho tráfico).

Espero que te ayude
thumbnail
Mario R, modificado 9 Anos atrás.

RE: Refrescar listado de documentos en plantilla velocity

Junior Member Postagens: 55 Data de Entrada: 06/06/13 Postagens Recentes
Hola, muchas gracias!
Esa es la respuesta, ya funciona correctamente!!

Atte:
Mario


Iñaki Sainz:
Hola,

has intentado desmarcar el flag cacheable de las opciones de esa template en concreto? Este flag está en la pantalla de edición de la plantilla y fuerza a ser evaluada cada vez.

En cualquier caso, si ese contenido se muestra en páginas para usuarios no identificados, puede que la caché que te esté actuando es la caché de página (es mala idea desactivarla si hay mucho tráfico).

Espero que te ayude