[resolu]Comment créer une règle pour supprimer des fichiers?

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

[resolu]Comment créer une règle pour supprimer des fichiers?

Bonjour,

Je voudrais créer une regle de contenu permettant la suppression de fichiers.
Je sais que je dois rajouter mon fichier dans le sous répertoire Dictionnaire de données > Script.
Mon souci est que je ne connais pas le java script, donc j'ai recherché dans Alfresco des fichiers js pouvant m'aider.

Lorsque dans une regle de contenu, on spécifie des fichiers via un aspect quelconque ou autres et qu'on ajoute une action executer un script, comment fait on pour que le script ne s'exécute que sur les fichiers spécifiés ? 

Je voulais utiliser la commande fileNode.remove() utilisée dans la fonction runAction (cf ci dessous) mais comment remplir le paramètre p_params ou comment remplacer ou rééecrire la boucle "for file in files" pour que le script s'exécute sur les fichies que j'aurais spécifié avant (par aspect ou autre) ?

merci de votre aide,

Cece

function runAction(p_params)
{
   var results = [],
      files = p_params.files,
      file, result, nodeRef;

   // Must have array of files
   if (!files || files.length == 0)
   {
      status.setCode(status.STATUS_BAD_REQUEST, "No files.");
      return;
   }
  
   for (file in files)
   {
      nodeRef = files[file];
      result =
      {
         nodeRef: nodeRef,
         action: "deleteFile",
         success: false
      }
     
      try
      {
         fileNode = search.findNode(nodeRef);
         if (fileNode === null)
         {
            result.id = file;
            result.nodeRef = nodeRef;
            result.success = false;
         }
         else
         {
            result.id = fileNode.name;
            result.type = fileNode.isContainer ? "folder" : "document";
            // remove() call must come last
            result.success = fileNode.remove();
         }
      }
      catch (e)
      {
         result.id = file;
         result.nodeRef = nodeRef;
         result.success = false;
      }
     
      results.push(result);
   }

   return results;
}
4 Replies
rguinot
Active Member

Re: [resolu]Comment créer une règle pour supprimer des fichiers?

Lorsque vous éxécutez la règle de type execute script, sur un élement de contenu, les variables document (ou space) seront disponibles dans le script javascript, et correspondront au noeud sur lequel vous executez l'action. est ce plus clair ?
cece
Member II

Re: [resolu]Comment créer une règle pour supprimer des fichiers?

donc si j'ai bien compris, si mon script peut fonctionner en contenant uniquement les lignes suivantes :

var result = false

result = fileNode.remove()

return result

Cece
jayjayecl
Active Member II

Re: [resolu]Comment créer une règle pour supprimer des fichiers?

Votre règle ne se déclenchera que sur les objets sélectionnés (documents ou espaces répondant à la configuration de votre règle).
Et, cet objet s'appellera "document".

Donc, dans votre exemple (à tester bien sûr), il faut remplacer "fileNode" par "document".

Tenez-nous au courant des résultats.
cece
Member II

Re: [resolu]Comment créer une règle pour supprimer des fichiers?

Bonjour,

j'ai tout simplement écrit document.remove() en supprimant le traitement de résultat et celà fonctionne.

merci pour votre aide,

Cece