envoyer un mail lorsque l'on ajoute un document sur share

cancel
Showing results for 
Search instead for 
Did you mean: 
seksam
Active Member

envoyer un mail lorsque l'on ajoute un document sur share

Bonjour à tous,
Je voulais savoir comment peut-on depuis Share envoyer un mail lorsque l'on ajoute un document ou lorsque l'on ajoute des sujets ou autres sur un forum; En parcourant le forum j'ai pu constater que le problème avait été résolu pour alfresco. Le script proposé est ci-dessous.Cependant, on demande d'ajouter le script dans le repertoire dictionnaires des données/script. Mais, cela n'a aucun effet sur share. Avez vous une idée de comment procéder?

// Récupérer le nom du site
var parent = document.getParent();
var shortName= parent.getSiteShortName();
var leSite = siteService.getSite(shortName);

// On récupère les membres du site
var membres = leSite.listMembers(null,null,0);
var nomDuSite = leSite.title;
var membre;

for (membre in membres){
   var donneesMembres = people.getPerson(membre);
   var email = donneesMembres.properties.email;
   if (donneesMembres.properties.userName!="admin") {
if ((document.type != "{http://www.alfresco.org/model/content/1.0}thumbnail") && (document.typeShort== "cm:content")){
      // create mail action
      var mail = actions.create("mail");
      mail.parameters.to = email;
      mail.parameters.subject = "Un document a été mis à jour dans l'univers '"+nomDuSite+"'…";
      mail.parameters.from = "admin@alfresco.fr";
      mail.parameters.template = companyhome.childByNamePath("Dictionnaire de données/Modèles d'e-mail/Modèles d'e-mail de notification/notify_user_email.ftl");
      mail.parameters.text = "Un document mis à jour !" ;
      // execute l'action
      mail.execute(document);
}
   }
}
5 Replies
bertrandf
Active Member

Re: envoyer un mail lorsque l'on ajoute un document sur share

Bonjour,

Pour que le script soit exécuté, vous devez mettre en place des règles de gestions sur les espaces.

http://wiki.alfresco.com/wiki/Client_Manage_Content_Rules
http://archiveyourdocs.com/regles-de-gestion-dans-alfresco
seksam
Active Member

Re: envoyer un mail lorsque l'on ajoute un document sur share

Excusez moi de poser la question, je sais quelle peut paraitre un peu stupide.  Ma règle de gestion, je la crée depuis share? ALfresco? dois je avoir des droits particuliers?  les liens ne spécifient pas comment procéder.
seksam
Active Member

Re: envoyer un mail lorsque l'on ajoute un document sur share

C bon, J'ai trouver comment créer une règle avec ALfresco. Cependant, au moment de choisir le script dans l'action. La liste déroulante est vide et il n' y a pas de boutons pour parcourir mes dossiers. Une idée?
seksam
Active Member

Re: envoyer un mail lorsque l'on ajoute un document sur share

C bon ça fonctionne. Merci pour l'idée de la règle de gestion. Je précise juste qu'il faut être administrateur pour créer la règle de gestion et avoir les droits qu'il faut sur l'espace concerné pour l'envoie de message. Encore une fois merci.
seksam
Active Member

Re: envoyer un mail lorsque l'on ajoute un document sur share

bonjour,
Je me permets de continuer le topic car j'ai une autre question.
Est ce que quelqu'un sait ce que je dois ajouter dans le script pour que la personne qui dépose un document sur le site ne reçoive pas elle même un mail.


// Récupérer le nom du site
var parent = document.getParent();
var shortName= parent.getSiteShortName();
var leSite = siteService.getSite(shortName);

// On récupère les membres du site
var membres = leSite.listMembers(null,null,0);
var nomDuSite = leSite.title;
var membre;

for (membre in membres){
   var donneesMembres = people.getPerson(membre);
   var email = donneesMembres.properties.email;
   if(email){
   if (donneesMembres.properties.userName!="admin") {
if ((document.type != "{http://www.alfresco.org/model/content/1.0}thumbnail") && (document.typeShort== "cm:content")){
      // create mail action
      var mail = actions.create("mail");
      mail.parameters.to = email;
      mail.parameters.subject = "Un nouveau document vient d'être ajouté sur'"+nomDuSite+"'…";
      mail.parameters.from = "admin@alfresco.fr";
      mail.parameters.template = companyhome.childByNamePath("Dictionnaire de données/Modèles d'e-mail/Modèles d'e-mail de notification/notify_user_email.ftl");
      mail.parameters.text = "Un document est ajouté dans l'espace documentaire !" ;
      // execute l'action
      mail.execute(document);
}
   }
}
}