20 de octubre de 2017

:: Alfresco. Crear webscript para listar carpetas

La siguiente prueba de concepto consistirá en la creación de un webscript que liste las carpetas contenidas en una carpeta dada, pasada como parámetro.


Descriptor
Crearemos un primer lugar el descriptor, al que llamaremos "dir.get.desc.xml" con el siguiente contenido:
< webscript >
< shortname >Listado de carpetas< /shortname >
< description >WebScript para listar carpetas< /description >
< url >/dir/{folderpath}?verbose={verbose}< /url >
< format default="html">extension< /format >
< authentication >user< /authentication >
< /webscript >


Plantilla
En segundo lugar crearemos la plantilla, a la que llamaremos "dir.get.html.ftl" con el siguiente contenido:
< html >
< head >
< title >Carpeta ${folder.displayPath}/${folder.name}< /title >
< /head >
< body >
< p >Alfresco ${server.edition} Edición v${server.version} : dir< /p >
< p >Contenidos de la carpeta ${folder.displayPath}/${folder.name}< /p >
< table >
< #list folder.children as child >
< tr >
< td >< #if child.isContainer>d< /#if >< /td >
< #if verbose>
< td >${child.properties.modifier}< /td >
< td ><#if child.isDocument >
${child.properties.content.size}< /#if >< /td >
< td >${child.properties.modified?date}< /td >
< /#if >
< td >${child.name}< /td >
< /tr >
< /#list >
< /table >
< /body >
< /html >


Controlador
Por último crearemos el controlador, al que llamaremos "dir.get.js" con el siguiente contenido:
// Listado de carpetas a partir de la carpeta pasada como parámetro
var verbose = (args.verbose == "true" ? true : false);
var folderpath = url.templateArgs.folderpath;

// Busca las carpetas dentro del repositorio
var folder = roothome.childByNamePath(folderpath);

// Comprueba que la carpeta ha sido encontrada
if (folder == undefined || !folder.isContainer) {
status.code = 404;
status.message = "Folder " + folderpath + " not found.";
status.redirect = true;
}

// Construye el modelo para mostrar la respuesta
model.verbose = verbose;
model.folder = folder;




Accederemos a la siguiente url para actualizar la lista de webscripts disponibles:
"http://{alfresco}/alfresco/service/index" y pulsaremos sobre el botón "Refresh WebScripts"

Si todo está correcto podremos hacer una llamada a nuestro webscripts, invocando la siguiente url: "http://{alfresco}/alfresco/service/dir/Espacio%20de%20empresa?verbose=true"

Como resultado obtendremos un listado similar a este:






No hay comentarios:

Publicar un comentario

Déjanos tu comentario

:: Cookies de nuestra página web. ¿Para qué sirve cada una?

A menudo una pregunta que nos hacen es qué cookies se están utilizando en mi página y para qué sirven. Para ver las cookies, podemos selecci...