On 11/03/2014 08:36, Francesco Chicchiriccò wrote:
On 10/03/2014 15:55, Guido Wimmel wrote:
Hi,
we have the requirement that the username in a notification mail must
be URL-encoded (as part of a link inside the mail).
Is there a way to do this in Syncope currently?
As far as I understand the code generating the mails
(NotificationManager), probably not?
If not, a way to achieve this could be to add the Velocity EscapeTool
[1] to the Velocity context before executing the template. This could
be generalized by making NotificationManager extensible such that the
creation of the Velocity context can be modified, and possibly
providing an implementation that adds the Velocity toolbox, maybe in
a similar way as in Spring MVC [2].
What do you think?
Hi Guido,
+1, adding such feature seems noticeable.
Only, I was wondering whether you can add the EscapeTool to the
Velocity context just via Spring configuration: as you can see, in
fact, the NotificationManager autowires the VelocityEngine from the
following Spring bean (defined in workflowContext.xml):
<bean id="velocityEngine"
class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
<property name="velocityProperties">
<value>
resource.loader=class
class.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
</value>
</property>
</bean>
I am not sure of the way to do this, but it seems logical to me that
[1] (which seems to be provided by Maven dependency
velocity-tools::velocity-tools-generic::1.4) can be injected into the
velocityEngine bean above without affecting the actual
NotificationManager Java code: am I wrong?
Update: I've found that the latest stable version of Velocity Tools
seems to be
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-tools</artifactId>
<version>2.0</version>
</dependency>
Moreover, the approach shown in [3] (more or less the one that I suggest
above) seems to be problematic: could you please check?
Regards.
[1] http://velocity.apache.org/tools/devel/generic/EscapeTool.html
[2]
http://docs.spring.io/spring/docs/3.2.8.RELEASE/javadoc-api/org/springframework/web/servlet/view/velocity/VelocityViewResolver.html
[3]
http://stackoverflow.com/questions/14237862/how-get-velocityengine-with-velocity-tools-in-spring-3
--
Francesco Chicchiriccò
Tirasa - Open Source Excellence
http://www.tirasa.net/
Involved at The Apache Software Foundation:
member, Syncope PMC chair, Cocoon PMC, Olingo PPMC
http://people.apache.org/~ilgrosso/