AnsweredAssumed Answered

Notification utilisateur par courriel

Question asked by crazycaribou on Dec 24, 2009
Latest reply on Jan 31, 2010 by martonni
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

Outcomes