Crear una carpeta con javascript en alfresco 5.1.

cancel
Showing results for 
Search instead for 
Did you mean: 
dcastillo
Member II

Crear una carpeta con javascript en alfresco 5.1.

¿Alguien podría ayudarme con un script para poder crear una carpeta o un conjunto de estas que sea accionado por una regla?

Es decir, si subo un documento de word de nombre "Tarea.docx" se cree una carpeta con el nombre "Tarea" y el documento se almacene dentro de esta.

Lo que más necesito es el script porque de JS no se casi nada.

2 Replies
douglascrp
Advanced II

Re: Crear una carpeta con javascript en alfresco 5.1.

Esto es muy sencillo para desarollar.

Usted puedes usar este ejemplo (en Portugués, entonces, espero que usted pueda entender):

function getCodFromText(text) {
    var cod = text;
    if (text.indexOf("|") > 0) {
        cod = text.split("|")[0];
    }

    return cod;
}

function getValueFromText(text) {
    var cod = text;
    if (text.indexOf("|") > 0) {
        cod = text.split("|")[1];
    }

    return cod;
}

var codDestinatario = getCodFromText(document.properties["san:destinatario"]);
var valueDestinatario = getValueFromText(document.properties["san:destinatario"]);

var siteName = document.siteShortName;

var site = siteService.getSite(siteName);
var docLib = site.getContainer("documentLibrary");

var pasta = docLib.childByNamePath("Documentos Externos Recebidos/2- Destinatários/" + valueDestinatario);

if (pasta) {
     //Sigla do Tipo de Documento-Número do Ofício Externo ou Documento- Sigla do Orgão-Cidade => ficando por exemplo:
     //Sigla do Tipo de Documento-Número do Documento Externo-Órgão-Cidade => por exemplo:  TN-123-PREF-Paranã

     var siglaTipoDocumentoExterno = getCodFromText(document.properties["san:tipoDocumentoExterno"]);

     var numDocumentoExternoRecebido = document.properties["san:numDocumentoExternoRecebido"];
     numDocumentoExternoRecebido = numDocumentoExternoRecebido.replace(/[&\/\\#,+()$~%'":*?<>{}]/g, '_');

     var siglaOrgao = getCodFromText(document.properties["san:orgao"]);
     var cidade = document.properties["san:cidade"];

     var nomePasta = siglaTipoDocumentoExterno + "-" +
               numDocumentoExternoRecebido + "-" +
               siglaOrgao + "-" +
               cidade;

     //san:statusPastaRecebimento
     var pastaDestino = pasta.createFolder(nomePasta, "san:pastaDocumentosExternos");
     pastaDestino.properties["san:estado"] = document.properties["san:estado"];
     pastaDestino.properties["san:cidade"] = document.properties["san:cidade"];
     pastaDestino.properties["san:remetente"] = document.properties["san:remetente"];
     pastaDestino.properties["san:numDocumentoExternoRecebido"] = document.properties["san:numDocumentoExternoRecebido"];
     pastaDestino.properties["san:identificacaoExterna"] = document.properties["san:identificacaoExterna"];
     pastaDestino.properties["san:orgao"] = document.properties["san:orgao"];
     pastaDestino.properties["san:destinatario"] = document.properties["san:destinatario"];

     pastaDestino.save();

     document.move(pastaDestino);
}
cristinamr
Advanced

Re: Crear una carpeta con javascript en alfresco 5.1.

Buenas dcastillo,

¿Te sirvió el script del compañero Douglas? Coméntame y sino te explico algo más en detalle. De todas formas, de forma adicional a lo que te ha facilitado, podrías echarle un vistazo a un tutorial que hice hace tiempo pero aun sirve para aprender algo de JS con Alfresco (aquí) y también te dejo la API de Javascript (aquí).

¡Ah! Y si vas a trabajar con Javascript te recomiendo que instales en tu alfresco la javascript console (aquí) ¡¡Ahorrarás muchísimo tiempo!!

Un saludo desde el sur de España ;-)

--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc