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

:: CSS. Imagen redonda

  Para lograr una imagen redonda con CSS los estilos a aplicar son los siguientes: .box{    background-color: #fff;    width: 100px;    h...