Re: Moving A Template Module Namespace
by clinton (Priest) on May 23, 2007 at 15:18 UTC
|
Hi Paul
I've been wanting to ask you this for a while. Why did you develop this module? Why not just improve Template?
Please don't get me wrong. I'm on the Template Toolkit mailing list, and I see the efforts you have made to provide direction and patches to the new TT3, but I'm interested to hear what your motivation was in developing it in the first place?
It seems as though you have put in an enormous amount of effort (mostly alone) for a module which will likely always be in second place, just because it is fighting with Template Toolkit for the spotlight.
I repeat, please don't misunderstand me - I am not trying to diss you or your templating engine in any way.
And on the subject of names, I would agree with philcrow's response (Re: Moving A Template Module Namespace) - the best chance that your module has of being recognised in its own right, is with a separate, memorable name.
good luck
clint | [reply] |
|
|
| [reply] [d/l] |
|
|
Even from my first reading of your original post, I didn't have the same viceral negative reaction to your templating system as I usually have to others. I've now figured out the reason.
You have recoded a templating system, but you have not invented a templating syntax. Instead, you've borrowed the syntaxes of other templating systems. This is genius. Most of what I don't like about new templating systems is their idiosyncratic syntax, which their authors invariably defend as better when it is merely different.
Here you are with a pluggable meta-templating system apparently robust and complete, having never given in to the urge to design your own template syntax. Cue Applause.
As a user of template systems, I don't ultimately care about the implementation details (unless they make the system too slow to use or interfere with robustness). Rather, I care about the syntax, mostly that I don't have to learn a new syntax.
While you have not layered on top of existing templating systems -- in the way the DBI layers on top of various databases, because you have reimplemented the parsing -- you have created a generic facade from the template user's perspective.
Were I to market your system, I would focus on that. I would not say, "I've written my own templating system." Instead I would say, "No new syntax to learn here, just speed and flexibiliity to gain." In other words, focus on how users will approach the system not on how the internals work.
I wish you good luck indeed, whatever you call it.
Phil
| [reply] |
|
|
I've had just a quick glance at the module. Apparently it has over 3300 lines of code (including docs, interspersed between the code) and it takes up more than 120kBytes. That's quite a lot, especially for a "lightweight" templating module.
What I was hoping for, is something that (AFAIK) TT2 does provide, and that is preprocessing a template file and turn it into a plain Perl source file, and save that to disk. The template is actually converted into a Perl module. That way, when the template doesn't change, the templating module doesn't even have to be loaded into memory, and output generation can happen at full speed. That sounds like the most promising approach for CGI applications, to me, as it is lightweight, and templates don't change too often.
So... what is your opinions on these thoughts? Did I miss something, or did you think about it and found it was just not worth the trouble, or... ?
| [reply] |
|
|
|
|
I'm feeling the Template name-space is ideal for this. My thoughts will follow this route, but the subnames could go elsewhere I suppose.
I usually work these naming issues out best by brainstorming. So, I'll riff on a few ideas here in a response, and take or leave any of them. Sometimes the reasoning behind one is as useful in finding another one as the possible name itself.
My first instinct was Template::Multitool (I'm a fan of Swiss Army and Leatherman inspired toolsets).
I do like Template::Pluggable, although you're not really plugging the others in so much as accepting their syntax as a layer, are you? Maybe Template::(Multi|Poly)Syntactic makes sense, although it's not the shortest or simplest.
Say, since you're doing multiple Toolkits, perhaps you've built a whole Workshop. Template::Workshop, maybe.
Template::Agnostic perhaps goes too far, but it makes for an interesting name.
I almost want to recommend Template::Berlitz, but I wouldn't want to steer you towards trademark issues. Template::Cooperative works for the aspect that more than one templating dialect can be used together, but not for much else.
Template::Retool is kind of a pun on TT, but it's also serves the notion that a large project may not be able to move from one templating module to another all at once. By using something that accepts more than one dialect, a project can go piecemeal if necessary.
Template::Dialects gets to one of the core features, in that it's different dialects of templating with which the module deals.
There you have my initial thoughts. I won't be offended if you hate any or all of them.
| [reply] |
Re: Moving A Template Module Namespace
by philcrow (Priest) on May 23, 2007 at 12:47 UTC
|
I vote for DaintyFlower. Names get meanings as people use them. Make a public svn, start a mailing list, write about it for perl publications, meditate on it here. Either, we won't want to switch to it, in which case the name is immaterial. Or, we will like what we read and try it, in which case the name is almost immaterial. Only new people searching for templates might miss it and then only if the docs don't have the word template promonently placed.
The chief advantage of DaintyFlower (or other similar names) is their googlibility. Searching for perl template is likely to work, searching for DaintyFlower is sure to.
Others I might like as more straightforward: Template::Pluggable, Template::Flex, or Template::YATS. Best of all: Template::DaintyFlower.
Phil
| [reply] |
|
|
| [reply] |
|
|
How about HotHouse? It's a little shorter and suggests a broader utility than one fragile flower. Or, for a stronger plant: FlyTrap. Perhaps you could take a tour through a thersarus starting with template and prototype.
Phil
| [reply] |
Re: Moving A Template Module Namespace
by Jenda (Abbot) on May 23, 2007 at 08:30 UTC
|
| [reply] |
Re: Moving A Template Module Namespace
by simon.proctor (Vicar) on May 23, 2007 at 09:37 UTC
|
Have you considered supporting the velocity syntax as well? | [reply] |
|
|
| [reply] |
Re: Moving A Template Module Namespace
by shmem (Chancellor) on May 23, 2007 at 07:54 UTC
|
The module [...] is in need of moving into its own namespace.
Why?
--shmem
_($_=" "x(1<<5)."?\n".q·/)Oo. G°\ /
/\_¯/(q /
---------------------------- \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}
| [reply] |
|
|
| [reply] |
Re: Moving A Template Module Namespace
by 2xlp (Sexton) on May 24, 2007 at 22:47 UTC
|
I like the Template::Flex and Template::Pluggable suggestions
You could also do something like Template::Interface or Template::Provider
If you have a lightweight, extensible engine.. I'd suggest supporting TAL. There are 2-3 TAL implementations in Perl already, but a new option is always good. | [reply] |
Re: Moving A Template Module Namespace
by gloryhack (Deacon) on May 25, 2007 at 03:43 UTC
|
Tyrannosaurus::Sex "A big f'in opportunist that will eat anything that comes its way". It doesn't even have to work if it has a really cool name. The "::Sex" part is just an excuse to work in the "f'in" part, naturally. Gotta have that in there to make the name *really* cool. Samuel L. Jackson would learn Perl just so he could use a module by that name. | [reply] |
Re: Moving A Template Module Namespace
by sfink (Deacon) on May 29, 2007 at 15:54 UTC
|
I'm good at randomness but bad at naming.
- Platypus ("website powered by platypus")
- RubberCookie (got there from cookie cutter templates)
- MeatCookie (just like the sound of it)
- RubberGuppy (try pronouncing RBGPTE)
- Guppy (drop the regex-based part)
- Gargoyle
- Template::Chameleon
- Chameleon
- GrapeBrains
- LeadFoot
- FloatingInk
- Inkpad
- AngryFuzzyHippopotamusBadHairDay
- ...I think I'd better stop.
My vote would be RubberGuppy. Probably a good thing I don't get to decide.
| [reply] |
Re: Moving A Template Module Namespace
by girarde (Hermit) on May 29, 2007 at 16:30 UTC
|
Template::Most
or
Template::Usual::Suspects
might answer the mail. | [reply] [d/l] [select] |