cancel
Showing results for 
Search instead for 
Did you mean: 

Subir via ftp al repositorio

mikah92
Champ in-the-making
Champ in-the-making

Hola a todos , tengo la siguiente problemática: por vía ftp subo una carpeta con varios documentos al repositorio, mediante una regla aplico un .js a medida que va subiendo y quiero que después de subida cambiar el nombre de la carpeta. como logro cambiar el nombre sin que me afecte el proceso de subida?. puedo hacerlo después que termine?

5 REPLIES 5

angelborroy
Community Manager Community Manager
Community Manager

Quizá si compartes tu JS podamos entender mejor el problema.

Hyland Developer Evangelist

mikah92
Champ in-the-making
Champ in-the-making

Este es el .js el objetivo es establecer ciertas propiedades a las carpetas y documentos  dependiendo del nombre pero al finalizar quiero cambiar el nombre de la carpeta raíz.

if (document.type == "{http://www.alfresco.org/model/content/1.0}folder") {

    var contents = companyhome.childByNamePath("/X/Nomanclators/tipoExpediente");
    var bool = false;

    logger.log('******************** ESPECIALIZANDO CARPETA **********************');

    if ((document.name.indexOf('Ed.') && document.name.indexOf('5.')) != -1) {
        document.specializeType("gep:folder");
        document.properties["gep:kind"] = "Expediente de desarrollo";
        document.save();
        bool = true;
    } else
    if ((document.name.indexOf('Ed.') && document.name.indexOf('4.')) != -1) {
        document.specializeType("gep:folder");
        document.properties["gep:kind"] = "Expediente de desarrollo-4.0";
        document.save();
        bool = true;
    } else
    if ((document.name.indexOf('Ed.') && document.name.indexOf('.v.personalizaciones')) != -1) {
        document.specializeType("gep:folder");
        document.properties["gep:kind"] = "Expediente de proyecto de servicio para las personalizaciones";
        document.save();
        bool = true;
    } else
    if ((document.name.indexOf('Ed.') && document.name.indexOf('.v.portales')) != -1) {
        document.specializeType("gep:folder");
        document.properties["gep:kind"] = "Expediente de desarrollo para portales";
        document.save();
        bool = true;
    } else
    if (document.name.indexOf('Es.') != -1) {
        document.specializeType("gep:folder");
        document.properties["gep:kind"] = "Expediente de proyecto de servicio";
        document.save();
        bool = true;
    } else
    if (document.name.indexOf('Ec.') != -1) {
        document.specializeType("gep:folder");
        document.properties["gep:kind"] = "Expediente de componente";
        document.save();
        bool = true;
    } else
    if (document.name.indexOf('Em.') != -1) {
        document.specializeType("gep:folder");
        document.properties["gep:kind"] = "Expediente de migración";
        document.save();
        bool = true;
    } else
    if (document.name.indexOf('Ea.') != -1) {
        document.specializeType("gep:folder");
        document.properties["gep:kind"] = "Expediente de almacenes";
        document.save();
        bool = true;
    } else {

        var nom = document.parent.parent.properties["cm:name"];
        var nom = nom.split('v.');
        var tipo = nom[1];

        for (var i = 0; i < contents.children.length; i++) {
            var nomenclador = contents.children[i].properties["cm:name"];

            if (document.name == nomenclador) {
                document.specializeType("gep:folder");
                var nombreG = generarNombre(nomenclador, tipo);
                document.properties["gep:kind"] = nombreG;
document.properties["cm:descripcion"] = "Expediente de tipo: " + contents.children[i].properties["cm:name"];
                document.save();
                bool = true;
            }
        }
    }

    if (bool) {
        logger.log('******************** CARPETA ESPECILIZADA ' + document.name + ' ***');
        logger.log('******************** CARPETA GEP:KIND ' + document.properties["gep:kind"] + ' ***');
    } else {

        /* status.setCode(status.STATUS_BAD_REQUEST, "Verifique que el nombre de la carpeta coincida con el nombre del nuevo tipo de expediente ");
return; */
        logger.log("Verifique que el nombre de la carpeta coincida con el nombre del nuevo tipo de expediente ");

    }

}

if (document.type == "{http://www.alfresco.org/model/content/1.0}content") {

    logger.log('******************** ESPECIALIZANDO CONTENIDO **********************');

    document.specializeType("gep:content");
    document.setInheritsPermissions(false);
    document.save();
    logger.log('******************** CONTENIDO ESPECIALIZADO ' + document.properties["cm:name"] + ' *************');

    logger.log('******************** TIPIFICANDO CONTENIDO **********************');

    var contrains = Array();
    var array = companyhome.childByNamePath("/X/Nomanclators/tipo_de_documento");

    for (var i = 0; i < array.children.length; i++) {
        contrains[i] = array.children[i].properties["cm:name"];
    }

    var kindMatch,
        mayor = 0,
        nodeContent = document;
    if (nodeContent.specializeType("gep:content") || nodeContent.type == "{http://x/modules/file-proyect-management/1.0}content") {
        for (var j in contrains) {
            var contentName = omitirAcentos(new String(nodeContent.name).replace(/_/g, "").replace(/\s/g, "").replace(/-/g, "").replace(/\+/g, "").replace(/\(/g, "").replace(/\)/g, "").toLowerCase());

            var contrainsKind = omitirAcentos(contrains[j].replace(/_/g, "").replace(/\s/g, "").replace(/-/g, "").replace(/\+/g, "").replace(/\(/g, "").replace(/\)/g, "").toLowerCase());
            var count = lcs(contrainsKind, contentName).length;
            if (count > mayor) {
                mayor = count;
                kindMatch = contrains[j];
                logger.log("--- " + kindMatch + " ---");
            }
        }
        nodeContent.properties["gep:documentKind"] = kindMatch;
        nodeContent.save();
        logger.log( " - El tipo de doc de " + nodeContent.name + " es:\n");
        logger.log(" '" + nodeContent.properties["gep:documentKind"] + " '");
        logger.log(" ********************************************* \n");
    }

}

function omitirAcentos(text) {

}

function lcs(lcstest, lcstarget) {

}

function generarNombre(tipo, version) {}

No puedes saber cuando finaliza.

A no ser que envíes un fichero vacío (p.e. "fin.txt") desde el FTP para marcarte de alguna manera que ese envío ha terminado.

Hyland Developer Evangelist

mikah92
Champ in-the-making
Champ in-the-making

Pero de que manera puedo garantizar que ese archivo.txt sea el ultimo en la cola del ftp

No puedes, si no eres tú el que lo envía.

Hyland Developer Evangelist
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.