On 2010/05/24 12:46, Gavin King wrote:
On Sun, May 23, 2010 at 8:17 PM, Nikolay Elenkov
<nick(a)sarion.co.jp> wrote:
> I don't know how much better JSF2 is at this, but is it really a good idea to
> use JSF for the mail module? Wouldn't it be better to use a real templating
> engine (like Velocity) and not depend on JSF?
Huh?! What on earth does velocity have that makes it a "real"
templating engine that facelets does not have? I have used both, and I
found velocity far, far poorer in both syntax and semantics.
OK, bad wording on my part. The point was not be dependent on JSF. I am not
saying that Velocity is better. But it does allow you to have template that
are not XML files.
> Plus it would be easier
> to edit templates if they are not xhtml files, but simple text files.
Why? Cos XML files are not text files? Cos #foo #end is easier to edit
than <foo></end>? I don't see how what you just wrote can possibly be
true.
Yes, it is. Especially if you are not a developer. You can just tell people:
'don't touch this things starting with #, otherwise just edit in notepad'.
> The usual
> use case for mail templating is to provide files your users can edit if they
> want to customize how email looks like. And you can't really expect them to
> understand xhtml.
They are XML files. I can't imagine a Java developer who doesn't know
XML. I do know several Java developers who find velocity syntax
nausea-inducing. I'm one of them.
Again, this is not about pro-Velocity, anit-Faceltes. The people that would have
to edit templates are *users*, not *Java developers*. If you have to call up
your developers just to change the email template, you have failed at usability.
I have. I've also been thorough the source, tried to use it and then gave up.
I don't see how most of the functionality could be achieved in
velocity, eg. <m:from>, <m:to>, <m:subject>, <m:header>.
s/velocity/any templating engine you might like/g. I am repeating myself here,
but you cannot reallisticaly expect users to mess around with <m:header> and not
break the system.