On 30 Apr 2010, at 16:36, Copeland, Bryan wrote:
> Only have experience with Velocity of those listed so can't comment on the
> others, but wouldn't it make sense to "eat your own dogfood" (keep it in the
> Apache family), unless of course one of the others were that much more
> superior. At first glance, looks like they are mostly older and less active
> projects though.
Some of them do seem to be less active, though FreeMarker seems pretty common
(its used in some other Apache projects) - presumably as it pretty light and
doesn't have any additional dependencies.
> IMHO:
> Templating Engines generally mean more modularity, in exchanged for high code
> dependency on the library used. It's also another point of failure. As long
> as it was designed so that using the chosen Template Engine was an *optional*
> feature, rather than requiring all widget models to pass data through the
> template or support it, that would probably be a good idea. I think the goal
> is to keep the Widgets themselves and their logic as simple as possible (even
> goes for the XML and Atom/JSON representations).
> Especially if the Template Engine was able to be activated or deactivated
> through XML config, build properties or the like, that makes it lower risk
> for organizations adopting Wookie as their Widget container framework. (But
> that probably comes with even more coding and may or may not be possible
> depending on the Template Engine, so I shouldn't talk)
I was only really thinking in terms of how we expose the API methods of the
Wookie server, so things like "/wookie/widgets?format=atom" rather than the
widgets themselves which should just use "normal" HTML, CSS and JS. So not as
big a risk (or payoff) really.
> Speaking of simple widgets, what is the process for submitting a sample
> widget?
> I've got a couple useful pure-AJAX examples that pull data from Web Services
> cross-domain without requiring a Proxy... let me know if you'd like to
> include them,
Create an issue in the tracker and attach them and we can review them - there
is a button on the attachments form to say you're submitting them as
contributed work ("Grant license to ASF for inclusion in ASF works (as per the
Apache License ยง5)".
> Bryan
>
> -----Original Message-----
> From: Scott Wilson [mailto:[email protected]]
> Sent: April 30, 2010 10:25 AM
> To: wookie-dev
> Subject: Should we use a templating engine for API views?
>
> Hi everyone,
>
> Just looking over the various classes in the org.apache.wookie.helpers
> package I was wondering if we should be replacing the various methods like
> "toXml()" and "toJSON() in WidgetHelper, WidgetInstanceHelper (etc) with a
> templating engine to generate the various representations of classes we
> expose in the API.
>
> Looking over the API we have 6 classes to represent using XML, and also
> potentially in JSON and Atom (at least in the case of Widget), so around 13
> templates.
>
> I've had a brief look at a few OSS templating engines:
>
> Apache Velocity (http://velocity.apache.org/)
> Tea (http://teatrove.sourceforge.net/)
> FreeMarker (http://freemarker.sourceforge.net/)
>
> There is a list of others here:
>
> http://java-source.net/open-source/template-engines
>
> I think the "pros" for using templating engines are:
> - templating languages are easier to work with than Java code,
> - implementers can edit templates directly without touching the source (e.g.
> to remove or include properties, or use different markup, etc.)
> - formatting code is removed from the java source (no more clumsy string
> building)
>
> The "cons" are:
> - it adds more dependencies
> - it will take effort to do
>
> What do you think? Any experience in using these? Do you think its worth the
> effort?
>
> S