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