Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Ovid (2709)

  (email not shown publicly)
AOL IM: ovidperl (Add Buddy, Send Message)

Stuff with the Perl Foundation. A couple of patches in the Perl core. A few CPAN modules. That about sums it up.

Journal of Ovid (2709)

Friday August 18, 2006
04:42 AM

Jifty experiments

[ #30684 ]

I first downloaded Jifty a couple of days after it came out. It installed, but I couldn't get it to run. Last night I tried again and wrote up the experience on my Onlamp blog. It was pleased at how everything just worked, no assembly required.

Two things I want:

  1. Much better documentation
  2. Template Toolkit

I know Mason, so I can live without the latter.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • Of course there's a flipside to "it just works". Or a caveat. It just works "if you do things how they expect you to". I personally prefer HTML::Mason over TT, so it's no problem for me. :)

    I've had an experience similar to yours. Tried it when it first came out, then put it on the "wait till it matures a bit" list. Maybe I'll take another look at it now. I thought that the "page regions" idea sounded really powerful, especially integrated with HTML::Mason components.

    I'm particularly interested to see

  • You do an awful lot of hacking. Part of the Jifty philosophy is that we provide (at least) one well integrated way to do everything you need to do. We're big fans of HTML::Mason - it's the templating toolkit that best fits with our model of things - so it's the toolkit that's well integrated into Jifty. We'd love to hear suggestions about how to get TT or other templating engines to support the bits we need.

    I think if you want TT support it will have to come from the Jifty community.

    Why would you use

    • Don't get me wrong. Mason is great. It's fast, it's powerful, it's widely used and therefore widely known. The problem with Mason is that in just about every shop I've worked at, a lot of application logic seems to wind up in the Mason code. This is makes it harder to test and makes components harder to reuse, even if their dislpay properties are generic. Like a subroutine or a method, a template should try to do as little as possible, otherwise you limit your ability to reuse it. Even though Mason do

      • Those are good points and something to think about.

        It wouldn't stop me from using Jifty either since it would be yet another framework I could learn using Perl. I tend to be on the "cleaner separation" side of things and I think TT does well in helping that mentality. Plus I think TT lends itself to other things besides web applications so I can use it more (but that may be wrong since I don't know Mason well enough).

        • Mason can be used for non-web stuff, but I've heard people say that it's tricky. I have no direct experience with this.

          Another nice things about TT is that it's trivial to hande templates to designers. They don't have to learn Perl, just a simple template language. Here's another huge plus, and this alone should sway people:

          [% name = customer.full_name %]

          Is "customer" a hash or an object? Who knows? Who cares? If initially you just pass a hashref and later decide you need to upgrade it to an ob

          • I was reading about StringTemplate [] today. It is Java templating system (with C# and Python ports) that enforces the model-view separation and restricts putting code in the template. It takes static input data from the model and a functional template and generates output. The template language does not support assignment, side-effects, or procedural construct. It does allow some smart evaluation with JavaBeans objects or Java collections so it is possible to violate the encapsulation.

            The author point

      • I think the right way to allow that “natural” behaviour is to make it really, really easy to avoid Perl (unlike Mason), rather than making it really, really hard to use Perl (as TT2 prefers).

        The only templating system I’ve ever seen that I really liked is unfortunately Python-only: Kid []. It’s XML-centric, but it exploits that choice to do its job extraordinarily well: the majority of display logic is described declaratively using namespaced attributes. You need to reach down to Pyth