Boa tarde,
Estou tentando criar um script para deletar um documento de uma pasta.
Criei a regra na pasta A , que ao receber um documento irá transformar e copiar o documento em pdf na pasta B.
Exemplo: se eu carregar o documento Teste.doc na pasta A
a regra irá:
copiar o documento na pasta B em pdf - Teste.pdf
Porém, quando eu retirar este documento da pasta A, ele também terá de ser retirado da pasta B (remover o documento na sua versão em pdf), onde eu irei configurar uma regra para quando o arquivo for excluído ou sair da pasta A.
Segue o script , alguém conseguiria me ajudar?
var folder = companyhome.childByNamePath("Sites/swsdp/documentLibrary/B");
var newFile = document.properties.name;
if (folder !== null) {
var files = folder.children;
for (i=0; i<files.length; i++) {
var file = files[i];
var fileTitle = file.properties.name;
if (fileTitle.match(newFile)) {
file.remove();
}
}
}
Não estou obtendo sucesso neste script, esta retornando a msg: Exception from executeScript: Node does not exist
Att.
Raquel Ballero
Boa tarde.
Creio que você não conseguirá fazer isso, pois a regra é executada após o documento já ter sido excluído, e essa é, muito provavelmente, a causa do erro Node does not exist
Se o objeto foi excluído, não tem nada mais que você possa fazer com ele.
O correto nesses casos seria você trabalhar com behaviours, algo como descrito em Alfresco – Implementing delete behavior | Programming and So
Douglas, obrigada, irei dar uma olhada neste tutorial.
Mas considerando o que vc disse, configurei a regra para apagar o arquivo quando ele entrar na pasta e de fato o script funciona, porém ele considera o nome do arquivo e sua extensão, teria como comparar somente o nome, como por exemplo Teste.* (apagar todo os documento de mesmo nome independente da extensão .doc .pdf ...) . Pois a versão em doc será alterada e a versão em PDF dever ser excluída e publicada novamente após a sua nova oficialização.
Att.
Raquel Ballero
Bom, essa questão da comparação é com você.
Você vai ter que listar os filhos da pasta onde você quer remover o arquivo e fazer uma comparação considerando somente o nome sem extensão.
Isso uma simples comparação de string usando algo assim deve resolver JavaScript String indexOf() Method
O correto mesmo, se você aceita sugestões, seria você criar uma associação entre o objeto original (o doc/docx) e o arquivo pdf gerado quando ele foi criado, e dessa forma você teria apenas que procurar pelo documento associado e removê-lo.
Para isso você precisaria criar um modelo documental contendo essa associação, mas aí já é outro assunto.
Douglas,
Interessante essa sua sugestão de associação, teria algum tutorial?
Muito Obrigada novamente.
Att.
Raquel Ballero
Discussions about Alfresco Content Services and Alfresco Process Services in Portuguese
Related:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.