Gestión de Documentos con WebScript

RECU-0078 (Recurso Ejemplo)

Descripción

Archivo OperacionesDocumento.get.desc.xml

<webscript>
  <shortname>OperacionesDocumento</shortname>
  <description>Operaciones que se puede realizar con un documento en Alfresco</description>
  <url>/sample/OperacionesDocumento?nombre={nom}</url>
  <format default="html">argument</format>
  <authentication>guest</authentication>
</webscript>

Archivo OperacionesDocumento.get.html.ftl

<html>
  <body>
    <img src="/servicios/madeja/%24%7Burl.context%7D/images/logo/AlfrescoLogo32.png" alt="Alfresco" />
    ${salida}   
  </body>
</html>

Archivo OperacionesDocumento.get.js

Declaramos la variable salida ,que nos servirá para posteriormente tener un log con los resultado de las operaciones

model.salida="";

comprobamos que se pase correctamente el parámetro nombre

if ((args.nombre) && (args.nombre!="")) 
{
    var parametro_entrada = args.nombre;
}
else
{
    model.salida += "Error en el paso de argumentos\n<br>";
}

Obtenemos el nodo Company Home, en el cual realizaremos la operaciones necesarias.

var folder = roothome.childByNamePath("Company Home");
model.salida=" parametro: "+parametro_entrada+"<br>";

Se comprueba que la variable folder es valida.

if (folder == undefined || !folder.isContainer)
{
   status.code = 404;
   status.message = "Folder " + url.extension + " not found.";
   status.redirect = true;
}
else
{

Creamos un espacio de pruebas

folder.createFolder("PruebadeDocumentos");
   
    var dir1= folder.childByNamePath("PruebadeDocumentos");
   
    model.salida+="Creación de espacios correcta <br>";

Creamos el nuevo documento

var doc= dir1.createFile(parametro_entrada+".txt");
    doc.addAspect("cm:versionable");
   
    model.salida+="Creación del documento correcta <br>";

Insertamos informacion en el documento

doc.content="texto original\r\n";
   
    //Hacemos el checkout al documento
    var doccopy=doc.checkout();
   
    //actualizamos el documento
    doccopy.content+="actualizacion 1";
   
    //Hacemos el checkin al documento
    doc= doccopy.checkin();

Mostramos el contenido para comprobar que la edición se ha realizado correctamente

model.salida+="Mostramos el contenido del documento :<br>";
    model.salida+=doc.content;
    model.salida+="<br>";

Cambiamos los metadatos del documento

doc.name="nuevonombre.txt";
    doc.properties.author="Jose";
    doc.save();
    model.salida+="se ha cambiado correctamente el nombre al documento";

Borramos el documento

if(doc.remove())
    {
    model.salida+="Se la eliminado correctamente el documento<br>";
    }
    else
    {
    model.salida+="Se ha producido un fallo en la eliminación del documento<br>";
    }
}