Drupal Mystery #1: Teasers
Sure, Drupal offers teasers for nodes. In fact, there are three ways that I know of to handle them:
1) Write normally, and let your "Length of trimmed posts:" setting (under Post settings) automatically trim off a teaser at the specified number of characters.
2) Toss a "<!--break-->" tag into your post, at the point where you want to break off the end of the teaser.
3) Use the Node Teaser module to insert a custom teaser field into your nodes.
Yet despite three options, I still wish for proper support for teasers. Here's what mystifies me:
Why is support for custom teasers an afterthought, left to a third-party module (that wasn't even available for Drupal 5 for some time)? Shouldn't custom teasers be at the top of the list of core "of course we've got it!" features for a CMS? Doesn't everyone agree with me on that?
Apparently not! I can hardly imply that the masses are wrong to not demand this feature; I'm only saying the lack of outcry puzzles me.
The first option is unsatisfying for its automated lack of intelligence. A teaser made from the first 200 characters of a post may be fine for some sites, but it seems to me cutting off the teaser at some random mid-sentence spot instead of at a meaningful pause doesn't look too slick. And what if I want 200 characters for some teasers and 600 for others, instead of the same number for all teasers?
The second option would seem to address the above concerns, but maybe not. First, it doesn't even work for me, and I don't know why. (Maybe it won't work if I'm also using Node Teaser?) Depending on the input format I use, the "<!--break-->" tag may remain visible, or be stripped out completely. Yet whether it works or not, polluting the post text with a formatting tag, which may further limit what input formats you can use, seems a bad idea. I want to keep text and formatting separated!
Then there's the big shortcoming of both the above options: by no means do writers necessarily want the lopped-off heads of posts as teasers. In most cases, I want teasers to describe or introduce a post, not read it verbatim. I want custom teasers, dagnabbit!
The third option, Node Teaser, tackles all the above. It's the option I use for teasers, and I strew blossoms at the feet of its developers. I don't know what I'd do without it. My complaint is that its functionality resides in a third-party module, not within the core system. That means tools to support Drupal use aren't likely to assume its presence and work with it.
Case in point: I'm typing this now in a blogging client, ecto. It's great to be able to post willy-nilly to a myriad of blogs from one slick application – except that I lose teaser support. Neither ecto not another client I've tried, MarsEdit, support input into Node Teaser's teaser field. So I'll have to go back and edit the posts via browser anyway. Sigh.
So what's the ideal? A teaser setup for all appropriate nodes, that allows a choice between an automated teaser of custom length (either a globally-set default or a custom value), a teaser set by a "<!--break-->" tag (for those for whom that works), or a custom teaser. All part of core, so support tools like blogging clients will work with the teaser system.
(And yes, I want to evolve to the point where I can contribute to such efforts, not just futilely wring my Doritos-stained hands.)
Sep 2008: These days, the "<!--break-->" tag isn't giving me problems; that was a temporary issue. So it's back among the available tools for me, though it's still not a method I care for much, as it requires muddying text with inserted formatting commands.