Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Entanglement Index of Various Templating Systems

by metaperl (Curate)
on Aug 03, 2009 at 13:08 UTC ( #785454=perlmeditation: print w/replies, xml ) Need Help??

In Section 7 of his paper, Terence Parr list 5 factors that define how "entangled" a templating engine is.

The interesting thing about his criteria is that although Perrin's paper sees Template and HTML::Mason in different categories, Terence's criteria sees them as equally entangled!

the criteria

Criteria HTML::Template Template HTML::Mason
the view cannot modify the model either by directly altering model data objects or by invoking methods on the model that cause side-effects. 1 0 0
the view cannot perform computations upon dependent data values For example, the view cannot compute book sale prices as $price*.90. 1 0 0
the view cannot compare dependent data values, but can test the properties of data such as presence/absence. Tests like $bloodPressure<120 must be moved to the model and replaced with a test for presence such as $bloodPressureOk!=null 1 0 0
the view cannot make data type assumptions. how the hell is that possible?! 0 0 0
data from the model must not contain display or layout information. 0 0 0
TOTALS 3 0 0

HTML::Seamstress has no particular policies on any of these. Not surprising. It is not a templating system! It could be grossly entangled or cleanly separated depending on the discipline of the object-oriented software developer.

Replies are listed 'Best First'.
Re: Entanglement Index of Various Templating Systems
by perrin (Chancellor) on Aug 03, 2009 at 17:20 UTC
    I don't think I put them in different categories. They have important differences, but both use a mini-language, and that's the most interesting bit for most users.
      I meant Mason and TT were in different categories. HTML::Template and TT were both pipeline.

      By your criteria, HTML::Template and TT are similar. By the entanglement index criteria, they are quite different.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://785454]
Approved by planetscape
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (9)
As of 2021-01-22 13:45 GMT
Find Nodes?
    Voting Booth?