cancel
Showing results for 
Search instead for 
Did you mean: 

Bonjour à toutes et tous,Une question, est-il possible...

brunotony
Champ in-the-making
Champ in-the-making
Bonjour à toutes et tous,

Une question, est-il possible de que lorsque un document est inséré dans un espace qu'un mail soit envoyé à un ou des destinataires avec le lien vers ce document nouvellement inséré

En tous les cas grâce à ce forum,j'avance vraiment à pas de géants

D'avance encore un grand merci

brunotonySmiley Very Happy
25 REPLIES 25

pempy
Champ in-the-making
Champ in-the-making
Bonjour

excusez moi, mais moi je n'arrive pas à executer l'action de notification par mail par un utilisateur simple. Bertrand, tu m'a envoyé sur une page où je ne comprend rien:

""pempy : es-tu dans cette configuration : http://issues.alfresco.com/browse/AR-961""

Stp pourrais tu m'orienter un peu.

Merci d'avance!

adolphe

bmagnier
Champ in-the-making
Champ in-the-making
Bertrand, tu m'a envoyé sur une page où je ne comprend rien:
""pempy : es-tu dans cette configuration : http://issues.alfresco.com/browse/AR-961""
Juste un petit détail : je ne t'ai envoyé nulle part, moi Smiley Wink
En te passant ce lien, Philippe voulait savoir si ton erreur correspondait au cas décrit dans le BugTracker d'Alfresco.
Pour ma part, je te demanderai de nous fournir un extrait de ton fichier alfresco.log un peu plus détaillé pour que l'on puisse t'aider.

Bertrand.

brunotony
Champ in-the-making
Champ in-the-making
Bonjour bmagnier

J'ai ajouté la variable dans le code du fichier notify_user_email.ftl , mais ça ne fonctionne pas le mail n'est pas envoyé et alfresco me sort des erreurs dans la console

j'avais essayé document.description, comme document.name (qui lui fonctionne puisque le mail est envoyé)

snif

Merci d'avance
brunotony

bmagnier
Champ in-the-making
Champ in-the-making
Peut-on voir les erreurs renvoyées (fichier alfresco.log, ou catalina.out) ?

Bertrand.

brunotony
Champ in-the-making
Champ in-the-making
Voici le code que j'avais mis dans le fichier .FLT de notification de mail que je mets dans une règle :

Un nouveau document '${document.name}',  est dsiponible dans l'espace de travail  '${space.name}', il a ete ajoute par  '${person.properties.firstName}<#if person.properties.lastName?exists> ${person.properties.lastName}</#if>'.

Vous pouvez y accéder via le lien :
http://wm-sge-si-ig-05:8080/alfresco${document.url}

Ou bien à travers le cllient Alfresco à l'adresse suivante :
<#assign ref=space.nodeRef>
<#assign workspace=ref[0..ref?index_of("://")-1]>
<#assign storenode=ref[ref?index_of("://")+3..]>
http://wm-sge-si-ig-05:8080/alfresco/navigate/browse/${workspace}/${storenode}

Bien à vous






Voici le log


08:29:58,303 ERROR [action.executer.MailActionExecuter] Failed to send email to
null
org.springframework.mail.MailPreparationException: Could not prepare mail: Une e
rreur d'IO est survenue lors de la gÚnÚration du modÞle 'workspace://SpacesStore
/cacb9006-bc2d-11db-849b-b18dadaf02ed'.; nested exception is org.alfresco.servic
e.cmr.repository.TemplateException: Une erreur d'IO est survenue lors de la gÚnÚ
ration du modÞle 'workspace://SpacesStore/cacb9006-bc2d-11db-849b-b18dadaf02ed'.

org.alfresco.service.cmr.repository.TemplateException: Une erreur d'IO est surve
nue lors de la gÚnÚration du modÞle 'workspace://SpacesStore/cacb9006-bc2d-11db-
849b-b18dadaf02ed'.
        at org.alfresco.repo.template.FreeMarkerProcessor.process(FreeMarkerProc
essor.java:199)
        at org.alfresco.repo.template.TemplateServiceImpl.processTemplate(Templa
teServiceImpl.java:107)
        at org.alfresco.repo.template.TemplateServiceImpl.processTemplate(Templa
teServiceImpl.java:126)
        at org.alfresco.repo.action.executer.MailActionExecuter$1.prepare(MailAc
tionExecuter.java:265)
        at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSen
derImpl.java:338)
        at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSen
derImpl.java:330)
        at org.alfresco.repo.action.executer.MailActionExecuter.executeImpl(Mail
ActionExecuter.java:291)
        at org.alfresco.repo.action.executer.ActionExecuterAbstractBase.execute(
ActionExecuterAbstractBase.java:112)
        at org.alfresco.repo.action.ActionServiceImpl.directActionExecution(Acti
onServiceImpl.java:524)
        at org.alfresco.repo.action.executer.CompositeActionExecuter.executeImpl
(CompositeActionExecuter.java:64)
        at org.alfresco.repo.action.executer.ActionExecuterAbstractBase.execute(
ActionExecuterAbstractBase.java:112)
        at org.alfresco.repo.action.ActionServiceImpl.directActionExecution(Acti
onServiceImpl.java:524)
        at org.alfresco.repo.action.ActionServiceImpl.executeActionImpl(ActionSe
rviceImpl.java:456)
        at org.alfresco.repo.action.ActionServiceImpl.executeAction(ActionServic
eImpl.java:383)
        at org.alfresco.repo.action.ActionServiceImpl.executeAction(ActionServic
eImpl.java:371)
        at org.alfresco.repo.action.ActionServiceImpl.executeAction(ActionServic
eImpl.java:532)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflecti
on(AopUtils.java:335)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJo
inpoint(ReflectiveMethodInvocation.java:181)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:148)
        at org.springframework.aop.support.DelegatingIntroductionInterceptor.inv
oke(DelegatingIntroductionInterceptor.java:116)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:170)
        at org.alfresco.repo.security.permissions.impl.AlwaysProceedMethodInterc
eptor.invoke(AlwaysProceedMethodInterceptor.java:32)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:170)
        at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethod
Interceptor.invoke(ExceptionTranslatorMethodInterceptor.java:41)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:170)
        at org.alfresco.repo.audit.AuditComponentImpl.audit(AuditComponentImpl.j
ava:195)
        at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInte
rceptor.java:61)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:170)
        at org.springframework.transaction.interceptor.TransactionInterceptor.in
voke(TransactionInterceptor.java:96)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:170)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynami
cAopProxy.java:176)
        at $Proxy17.executeAction(Unknown Source)
        at org.alfresco.repo.action.executer.ExecuteAllRulesActionExecuter.execu
teImpl(ExecuteAllRulesActionExecuter.java:139)
        at org.alfresco.repo.action.executer.ActionExecuterAbstractBase.execute(
ActionExecuterAbstractBase.java:112)
        at org.alfresco.repo.action.ActionServiceImpl.directActionExecution(Acti
onServiceImpl.java:524)
        at org.alfresco.repo.action.ActionServiceImpl.executeActionImpl(ActionSe
rviceImpl.java:456)
        at org.alfresco.repo.action.ActionServiceImpl.executeAction(ActionServic
eImpl.java:383)
        at org.alfresco.repo.action.ActionServiceImpl.executeAction(ActionServic
eImpl.java:371)
        at org.alfresco.repo.action.ActionServiceImpl.executeAction(ActionServic
eImpl.java:532)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflecti
on(AopUtils.java:335)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJo
inpoint(ReflectiveMethodInvocation.java:181)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:148)
        at org.springframework.aop.support.DelegatingIntroductionInterceptor.inv
oke(DelegatingIntroductionInterceptor.java:116)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:170)
        at org.alfresco.repo.security.permissions.impl.AlwaysProceedMethodInterc
eptor.invoke(AlwaysProceedMethodInterceptor.java:32)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:170)
        at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethod
Interceptor.invoke(ExceptionTranslatorMethodInterceptor.java:41)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:170)
        at org.alfresco.repo.audit.AuditComponentImpl.auditImpl(AuditComponentIm
pl.java:210)
        at org.alfresco.repo.audit.AuditComponentImpl.audit(AuditComponentImpl.j
ava:156)
        at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInte
rceptor.java:61)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:170)
        at org.springframework.transaction.interceptor.TransactionInterceptor.in
voke(TransactionInterceptor.java:96)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:170)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynami
cAopProxy.java:176)
        at $Proxy17.executeAction(Unknown Source)
        at org.alfresco.web.bean.rules.RulesBean.reapplyRules(RulesBean.java:186
)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java
:129)
        at javax.faces.component.UICommand.broadcast(UICommand.java:86)
        at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:9
0)
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1
64)
        at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(Lifecycl
eImpl.java:316)
        at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java
:86)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:105)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
        at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(Authentica
tionFilter.java:73)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:868)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:663)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:527)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
lowerWorkerThread.java:80)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:684)
        at java.lang.Thread.run(Thread.java:595)
Caused by: freemarker.core.ParseException: Encountered ":" at line 1, column 67.

Was expecting one of:
    "]" …
    "." …
    "[" …
    "(" …
    "?" …
    "!" …
    "??" …
    "+" …
    "-" …
    "*" …
    "/" …
    "%" …
    "!=" …
    "=" …
    "==" …
    ">=" …
    <ESCAPED_GTE> …
    ">" …
    <ESCAPED_GT> …
    <LESS_THAN_EQUALS> …
    <LESS_THAN> …
    ".." …
    <AND> …
    <OR> …

        at freemarker.core.FMParser.generateParseException(FMParser.java:4635)
        at freemarker.core.FMParser.jj_consume_token(FMParser.java:4506)
        at freemarker.core.FMParser.DynamicKey(FMParser.java:876)
        at freemarker.core.FMParser.AddSubExpression(FMParser.java:720)
        at freemarker.core.FMParser.PrimaryExpression(FMParser.java:273)
        at freemarker.core.FMParser.UnaryExpression(FMParser.java:319)
        at freemarker.core.FMParser.MultiplicativeExpression(FMParser.java:435)
        at freemarker.core.FMParser.AdditiveExpression(FMParser.java:385)
        at freemarker.core.FMParser.RangeExpression(FMParser.java:556)
        at freemarker.core.FMParser.RelationalExpression(FMParser.java:511)
        at freemarker.core.FMParser.EqualityExpression(FMParser.java:476)
        at freemarker.core.FMParser.AndExpression(FMParser.java:585)
        at freemarker.core.FMParser.OrExpression(FMParser.java:608)
        at freemarker.core.FMParser.Expression(FMParser.java:221)
        at freemarker.core.FMParser.StringOutput(FMParser.java:1048)
        at freemarker.core.FMParser.Content(FMParser.java:2531)
        at freemarker.core.FMParser.OptionalBlock(FMParser.java:2742)
        at freemarker.core.FMParser.Root(FMParser.java:2914)
        at freemarker.template.Template.<init>(Template.java:149)
        at freemarker.cache.TemplateCache.loadTemplate(TemplateCache.java:376)
        at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:347)
        at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:229)
        at freemarker.template.Configuration.getTemplate(Configuration.java:487)

        at freemarker.template.Configuration.getTemplate(Configuration.java:452)

        at org.alfresco.repo.template.FreeMarkerProcessor.process(FreeMarkerProc
essor.java:173)
        … 92 more



MERCI D'AVANCE
brunotony

bmagnier
Champ in-the-making
Champ in-the-making
Bonjour,

L'erreur semble indiquer qu'un caractère ':' pose problème, mais je ne le retrouve pas dans le FTL….je suppose qu'elle porte sur la chaîne "${document.properties[cm:description]".
Dans ce cas, ça veut dire que je me suis trompé dans mon précédent message, et qu'il faut utiliser le nom "long"  des propriétés :
${document.properties[{http://www.alfresco.org/model/content/1.0}description]}
Edit : il faut pas poster trop tôt le matin, on dit que des bêtises. La bonne syntaxe est :
${document.properties["cm:description"]}
Sans oublier les guillemets

Bertrand.

brunotony
Champ in-the-making
Champ in-the-making
Merci Bertrand

Je vais tester

brunotony
Champ in-the-making
Champ in-the-making
En fait ça merche presque bien avec la description sauf que le mail n'est envoyé que lorsque je clic sur appliquer la règle dans le gestionnaire des règles et non pas quand j'ajoute tout simplement le document dans le repository

Why ???


Merci
brunotony

bmagnier
Champ in-the-making
Champ in-the-making
Why, but why?
Aucune idée, comme cela a souvent été dit sur le forum, il est difficile de diagnostiquer sans infos (détails de la règle, de l'ajout, fichier de log, etc…)

Bertrand.

brunotony
Champ in-the-making
Champ in-the-making
Pour info,

J'ai installé la version 2.0 car la 1.4 n'était pas assez complète conclusion en ce qui concerne mon message précédent ben il s'annule sauf que maintenant avec la version 2.0 j'ai mis EXACTEMENT le même script et badaboum voilà ce que j'ai en fait , je crée la règle la première fois en mettant un utilsateur et en sélectionnant  un flt qui est :


Le nouveau document   '${document.name}'    est disponible dans l'espace de travail '${space.name}', il a ete ajoute par '${person.properties.firstName}<#if person.properties.lastName?exists> ${person.properties.lastName}</#if>'.

Vous pouvez y acceder via le lien :
http://24.7.2.203:8080/alfresco${document.url}

Ou bien atteindre l'espace de travail par le client Alfresco:
<#assign ref=space.nodeRef>
<#assign workspace=ref[0..ref?index_of("://")-1]>
<#assign storenode=ref[ref?index_of("://")+3..]>
http://24.7.2.203:8080/alfresco/navigate/browse/${workspace}/${storenode}

Bien à vous

Alfresco Administrator



j'applique la règle et là ça fonctionne super bien et puis après plus rien sauf que quand je vais éditer ma règle voilà ce que j'obtiens


java.lang.NullPointerException

Cacher les Détails

java.lang.NullPointerException
at org.alfresco.web.bean.wizard.WizardManager.getBean(WizardManager.java:171)
at org.alfresco.web.bean.actions.handlers.MailHandler.prepareForEdit(MailHandler.java:100)
at org.alfresco.web.bean.rules.EditRuleWizard.init(EditRuleWizard.java:133)
at org.alfresco.web.bean.wizard.WizardManager.setCurrentWizard(WizardManager.java:117)
at org.alfresco.web.app.AlfrescoNavigationHandler.handleWizardOpen(AlfrescoNavigationHandler.java:575)
at org.alfresco.web.app.AlfrescoNavigationHandler.handleNavigation(AlfrescoNavigationHandler.java:115)
at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:84)
at javax.faces.component.UICommand.broadcast(UICommand.java:106)
at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:90)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:164)
at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:316)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:105)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)

Return to application
Déconnexion



Dans certains cas j'obtiens : (rien n'est interprété serait ce parce que l'url contient l'adresse ip auquel cas comment changer le host name ?):smileysad:

PS : LA REGLE EST EN UPDATE

Le nouveau document   '${document.properties["cm:name"]}'  —  '${document.properties["cm:description"]}'  est disponible dans l'espace de travail '${space.name}', il a ete ajoute par '${person.properties.firstName}<#if person.properties.lastName?exists> ${person.properties.lastName}</#if>'.

Vous pouvez y acceder via le lien :
http://24.7.2.203:8080/alfresco${document.url}

Ou bien atteindre l'espace de travail par le client Alfresco:
<#assign ref=space.nodeRef>
<#assign workspace=ref[0..ref?index_of("://")-1]>
<#assign storenode=ref[ref?index_of("://")+3..]>
http://24.7.2.203:8080/alfresco/navigate/browse/${workspace}/${storenode}

PS : Je viens de voir que lorsque je rajoute une règle j'ai de nouveau accès aux détails de la règle et je vois à ma grande stupéfaction :

Envoyer un email à 'null'  je crois que là est le problème mais POURQUOI et surtout QUOI FAIRE snif


J'ai changé dans le server.xml le host name pour avoir non plus l'accès via http://ip_adresse:8080/alfresco mais http://nameserver:8080/alfresco et rien n'a changé pour les mail sauf maintenant ceci :
javax.faces.FacesException: Cannot get value for expression '#{RulesBean.ignoreInheritedRulesLabelId}'
caused by:
org.apache.jasper.JasperException: Cannot get value for expression '#{RulesBean.ignoreInheritedRulesLabelId}'
caused by:
javax.faces.el.EvaluationException: Cannot get value for expression '#{RulesBean.ignoreInheritedRulesLabelId}'
caused by:
javax.faces.el.EvaluationException: org.alfresco.web.bean.rules.RulesBean
caused by:
javax.faces.el.EvaluationException: Bean: org.alfresco.web.bean.rules.RulesBean, property: ignoreInheritedRulesLabelId
caused by:
java.lang.reflect.InvocationTargetException
caused by:
java.lang.NullPointerException


Bien à vous

Alfresco Administrator

Merci pour votre aide