[Share custom Action] Envoyer un document par mail

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

[Share custom Action] Envoyer un document par mail

Bonjour,

Je souhaite depuis un site Share, envoyer manuellement un document (aux membres du site contenant le doc, mais ça n'est pas encore la question - et il y a de la littérature pour ce paramétrage).
Il n'existe pas sous Share le pendant d'Alfresco à la fonction "Lancer une action / Envoyer un courriel à des utilisateurs" (accessible dans les détail du document).

Alors comment faire ?

NB :
- j'ai envisagé la création une règle conditionnée à un aspect mais je pense qu'il y a un truc qui m'échappe …
-faut-il plutôt passer par un workflow basique qui à l'instar du "Validé" permettant le déplacement d'un doc, utiliserait un "Envoyé" pour déclencher l'envoi du mail ?

PS : pourquoi n'existe-t-il pas un forum spécifique pour les questions relatives à SHARE ?

[size=85][Edition : Rodel] Modification du titre du sujet [/size]
15 Replies
jayjayecl
Active Member II

Re: [Share custom Action] Envoyer un document par mail

Bonjour, pourquoi ne pas ajouter une action dans la document Library de Share ?

http://wiki.alfresco.com/wiki/Custom_Share_Action_UI
http://wiki.alfresco.com/wiki/Custom_Document_Library_Action

(Note :
Prenez soin de vérifier sur ces pages la conformité avec votre version d'Alfresco)
roxy
Member II

Re: [Share custom Action] Envoyer un document par mail

Merci beaucoup,

Un seul bémol … je suis sur 3.4 et la manip ne semble pas documentée.
Je cherche donc !!!

Si jamais vous avez des info, je suis preneur.
roxy
Member II

Re: [Share custom Action] Envoyer un document par mail

Bon ça ne marche pas …

J'ai pu sans problème ajouter un nouvel item dans la liste des actions
tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\documentlibrary\documentlist.get.config.xml
Mais quand je clique ce dernier … pas de réaction

J'ai suivi autant que possible le process
http://wiki.alfresco.com/wiki/Custom_Document_Library_Action
mais comme c'est censé ne pas fonctionner sous 3.4 …

Si quelqu'un a déjà créé une nouvelle action sur Share 3.4 … HELP
roxy
Member II

Re: [Share custom Action] Envoyer un document par mail

Bonjour,

Je rebondis sur ma question du topic
Envoyer "à la demande" un document par mail (SHARE)
http://forums.alfresco.com/fr/viewtopic.php?f=8&t=4575&start=0

Cf. [img]http://e-nautia.com/people/roxy/photo_606.jpg[/img]

Je bute sur l'ajout d'une action dans la document Library de Share (en version 3.4).
Le process est documenté sur
http://wiki.alfresco.com/wiki/Custom_Document_Library_Action
mais il est bien indiqué que ça ne marche pas sur la v3.4 …

Quelqu'un a-t-il déjà fait cela ?

Merci d'avance
michaelh
Active Member

Re: [Share custom Action] Envoyer un document par mail

Bonjour,

Pourquoi ne pas continuer sur le sujet déjà lancé par vous au lieu de "rebondir" ?
=> Sujets fusionnés.
roxy
Member II

Re: [Share custom Action] Envoyer un document par mail

Et bien … je pensais que :
Envoyer "à la demande" un document par mail (SHARE)
et
Ajouter une action dans la document Library de Share 3.4
n'étaient pas le même sujet

Pour rappel, mon VRAI problème n'est pas le script de mail mais bien l'ajout de l'action
et avec un titre comme "Envoyer "à la demande" un document par mail (SHARE)", j'ai peur de ne pas avoir de réponse.
jayjayecl
Active Member II

Re: [Share custom Action] Envoyer un document par mail

Titre du sujet modifié.
bertrandf
Active Member

Re: [Share custom Action] Envoyer un document par mail

Bien que ca soit écrit l'inverse sur le wiki, il me semble bien que la démarche est la même sur Alfresco 3.4 que sur Alfresco 3.2 et plus.

En gros le principe est :
- "Déclaration" de votre action dans un fichier XML (il existe différents fichiers selon ou vous voulez afficher l'action : dans la documentLibrary d'un site, dans la documentLibrary de l'Entrepôt, sur le détail d'un fichier d'un site, sur le détail d'un dossier d'un site, sur le détail d'un fichier de l'entrepôt, sur le détail d'un dossier de entrepôt.
Dans votre cas, ca serait plus : /site-webscripts/org/alfresco/components/documentlibrary/documentlist.get.config.xml

- Ensuite il faut créer un petit fichier JavaScript qui va gérer votre action (ce fichier sert juste à instancier votre "classe" JavaScript qui fera l'affichage et le traitement de votre action).
Quelque chose qui ressemblerait à ca :
  Alfresco.DocumentActions.prototype.onActionSendByMail = function DocumentActions_onActionSendByMail(file) {
    if (!this.modules.SendByMail) {
      this.modules.SendByMail = new Alfresco.module.DoclibSendByMail(this.id).setOptions({
        file: file
      });
    }
    else {
      this.modules.SendByMail.setOptions({
        file: file
      });
    }
    this.modules.SendByMail.showDialog();
  };

- Il faut ensuite créer une "classe" JavaScript qui va gérer votre action. Dedans il faudra gérer l'affichage de votre action (fenêtre de dialogue en YUI), l'action sur le bouton envoyer (appel à un webscript situé coté entrepôt alfresco), …
Vous serez surement amené à créer un webscript dans Share pour gérer l'aspect de votre boite de dialogue (c'est de qui est fait la plupart du temps). Cela permet de ne pas avoir à créer tout les éléments qui composeront le 'body' de votre boite de dialogue en JavaScript, le contenu sera généré en fonction du template du webscript.

- Il faudra également réalisé le webscript dans alfresco pour réalisé l'envoi du mail.

Je pense que ce sujet peut vous aider : http://forums.alfresco.com/fr/viewtopic.php?f=25&t=3767
Vous pouvez vous inspirez de ce qui est fait par défaut dans Share pour comprendre et avancer dans vos développements, c'est ce que je fais personnellement.

Nous (Atol Conseils et Développements) avons déjà réalisé cette action pour un client pour un Alfresco Entreprise 3.3.3 et l'action avait été testée avec succès sur Alfresco 3.4 beta1 également donc vous pouvez vous inspirez du wiki sans trop de danger.

Cordialement.
roxy
Member II

Re: [Share custom Action] Envoyer un document par mail

Bonjour et merci de votre réponse,

malheureusement je continue de buter sur deux points précis :

dans
documentlist.get.config.xml
si je définis mon action comme suis :
      <action type="action-link"  …
Je n'arrive pas à obtenir le moindre résultat (surement un pb sur le fichier qui contient "… Alfresco.DocumentActions.prototype.onActionSendByMail = function DocumentActions_onActionSendByMail(file) …" mauvais nom, mauvais emplacement … bref …)
Du coup je suis passé par une définition du type
         <action type="simple-link"
et j'appelle un composant que j'ai placé dans la partie "shared" (shared\classes\alfresco\web-extension\site-webscripts\org\alfresco\components\mail-utilisateurs\mail-utilisateurs.get.html.ftl + JS + …)
ça ne marche pas trop mal sauf que je n'ai pas accès aux objets "actions" et "search" …
quelqu'un sait-il pourquoi ?
faut-il repasser par Alfresco (je le fais déjà pour récupérer la liste des personnes qui sont membres du site contenant le doc) ?