Notification utilisateur par courriel

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

Notification utilisateur par courriel

Bonjour,

J'ai fait récemment la migration à Alfresco 3.2r depuis la version 2.1 (j'ai bataillé, mais je m'en suis sorti grâce entre autres aux informations trouvées dans le forum) et je remarque qu'un des fonctionnalités que nous utilisions pose problème et crache une erreur dans le log.

Pour avertir par exemple un ou des utilisateurs de l'ajout d'un document dans un espace, je créé une règle sur cet espace utilisant le modèle notify_user_email.ftl. A l'ajout d'un document aucun courriel n'est envoyé car une erreur se produit lors de l'utilisation de ce modèle.

06:45:23,052 ERROR [freemarker.runtime]

Expression url is undefined on line 4, column 3 in workspace://SpacesStore/26be653c-2fa8-42fc-83f0-c5524a998154.
The problematic instruction:
———-
==> ${url.serverPath} [on line 4, column 1 in workspace://SpacesStore/26be653c-2fa8-42fc-83f0-c5524a998154]
———-

Java backtrace for programmers:
———-
freemarker.core.InvalidReferenceException: Expression url is undefined on line 4, column 3 in workspace://SpacesStore/26be653c-2fa8-42fc-83f0-c5524a998154.
        at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)
        at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:134)
        at freemarker.core.Dot._getAsTemplateModel(Dot.java:78)
        at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
        at freemarker.core.Expression.getStringValue(Expression.java:93)
        at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
        at freemarker.core.Environment.visit(Environment.java:208)
        at freemarker.core.MixedContent.accept(MixedContent.java:92)
        at freemarker.core.Environment.visit(Environment.java:208)
        at freemarker.core.Environment.process(Environment.java:188)
        at freemarker.template.Template.process(Template.java:237)
        at org.alfresco.repo.template.FreeMarkerProcessor.process(FreeMarkerProcessor.java:202)
        at org.alfresco.repo.processor.TemplateServiceImpl.processTemplate(TemplateServiceImpl.java:181)
        at org.alfresco.repo.processor.TemplateServiceImpl.processTemplate(TemplateServiceImpl.java:200)
        at org.alfresco.repo.action.executer.MailActionExecuter$1.prepare(MailActionExecuter.java:326)
        at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:344)
        at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:336)
        at org.alfresco.repo.action.executer.MailActionExecuter.executeImpl(MailActionExecuter.java:361)
        at org.alfresco.repo.action.executer.ActionExecuterAbstractBase.execute(ActionExecuterAbstractBase.java:127)
        at org.alfresco.repo.action.ActionServiceImpl.directActionExecution(ActionServiceImpl.java:711)
        at org.alfresco.repo.action.executer.CompositeActionExecuter.executeImpl(CompositeActionExecuter.java:72)
        at org.alfresco.repo.action.executer.ActionExecuterAbstractBase.execute(ActionExecuterAbstractBase.java:127)
        at org.alfresco.repo.action.ActionServiceImpl.directActionExecution(ActionServiceImpl.java:711)
        at org.alfresco.repo.action.ActionServiceImpl.executeActionImpl(ActionServiceImpl.java:648)
        at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionExecutionWrapper$1$1.execute(AsynchronousActionExecutionQueueImpl.java:369)
        at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:326)
        at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:233)
        at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionExecutionWrapper$1.doWork(AsynchronousActionExecutionQueueImpl.java:378)
        at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:503)
        at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionExecutionWrapper.run(AsynchronousActionExecutionQueueImpl.java:381)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)

Comme indiqué, l'erreur se situe au niveau de la variable ${url.serverPath} et si je l'enlève dans le modèle original tout fonctionne à merveille.
Même erreur pour le modèle invite_user_email.ftl.

Ce n'est pas une erreur bloquante et l'on peut très bien se passer de cette variable, mais j'aurai bien voulu que cela fonctionne avec, pour que le message envoyé au destinataire contenant l'url soit plus complet.

J'ai pas mal fouillé et je n'ai pas vraiment trouvé de solutions, sauf un autre post semblable non résolu sur le forum en anglais, si je me rappelle bien.

Joyeuses fêtes à tous.
Christian
1 Reply
martonni
Member II

Re: Notification utilisateur par courriel

Bonjour,

Je relance la discussion et fait un appel aux "sachant" (que je remercie d'ailleurs!).
Je suis intéressé par votre démarche de notification par mail aux utilisateurs d'un espace. (j'ai évoqué ce besoin sur le post http://forums.alfresco.com/fr/viewtopic.php?f=8&t=3677&hilit=notification&start=10, qui peut peut être vous aider). Pourriez vous mettre en ligne le script qui génère votre erreur?

Merci d'avance.

Martin