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

Reply via email to