Things I wish my weblog software told me

The way I have Movable Type set up, and the way I use it, when I save an entry I need to have a title (which makes the URL), an entry body (which is why I’m posting), an excerpt (which goes in the RSS <description> to keep from having an awful auto-excerpt), and a category (because my category navigation on the individual entry archive page is a bit buggy when there’s no category, linking to a category page at /blog/category/.php). Someone else, who doesn’t use entry titles, but uses the keywords field to build a URL, might require only entry body and keywords.

Because I’m exactly the sort of person who caused the Mozilla menus to be the sea of submenus and preferences that drove me away from it, I think this is a perfect place for a pref. There’s already a prefs popup to determine what things to show on the entry editing page, and in what order. One more checkbox, for “require non-empty”, and a bit of Javascript to validate it, and I could cut one more step off my “whew, that’s done, saved, and published; now all I have to do is check for long <pre> lines breaking my layout, validate the page, check the activity log to be sure I didn’t break my RSS feed*, check this, and that, and the other thing…” list.

Or I could just hack it in myself, and add one more thing to the list of things I’ll have to re-hack if the mythical MT 3.0 ever comes out.

* Which I do automatically by running it through a locally-installed copy of the validator – does anyone actually want to do that badly enough for me to write up a howto?


Comment by Anil #
2004-03-06 00:32:32

I think it’s a good idea for a plugin or extension for MT, because it’s a niche enough request that only some people would want to have the option.

(Also: The post says alpha testing would begin in two weeks, which it did.)

Comment by Phil Ringnalda #
2004-03-06 01:09:59

Ah, well, good enough, then. I just didn’t know if it was delayed, or just going on without me. Thanks for letting me know.

Comment by Geof #
2004-03-06 03:23:22

Okay, now it’s 5:22 a.m. and I’m not exactly ”awake” … but what you’re wanting is to be able to declare ”must-fill-in” field, and to not process your publishing until you’ve filled-in those fields?

Sounds reasonable to me, Phil.

Comment by Phil Ringnalda #
2004-03-06 08:06:05

That’s it exactly. Back when Sam was first starting to talk about what would become Atom, he talked about The Anatomy of a Well Formed Log Entry. The details of exactly which elements really make for wellformedness vary a bit from person to person, but just as I want my software to enforce XML wellformedness, refusing to publish an entry that will break either my XHTML or my syndication XML, I want it to barf and die when I try to save an entry without an excerpt or category, wrapping whatever form element’s missing in a blinking red border and playing a rude sound.

Well, maybe just saying ”you told me never to save anything without this and that, here’s the form to fill them in, or just keep going if you really think that you-now know more about what you’re doing than you-then did.”

Or even just going back to what I meant to do with the still cute enough to make me smile entry fields in my XUL posting form, where the entry, extended entry, and excerpt fields hide and open themselves as you click their headers: I was going to just make the header for entry and excerpt, which I require, red until they had at least one character in them. Doing that for everything I require, and not even enforcing it would probably be good enough, since I’d remember that I had to get rid of all the red before I posted.

Comment by Geof #
2004-03-06 19:00:33

That seems entirely reasonable to me! :)

Comment by Anil #
2004-03-06 11:07:33

I should clarify, Phil. We’re not ”going on without you” or any other users who’ve applied, we’re just staging each successive test with a new small group of people so we can manage the feedback. You give really good feedback, as do many other people who aren’t testing yet, so it makes sense for us to wait until some of the earlier builds have been improved and updated before we solicit feedback from new people.

Comment by Jess #
2004-03-08 07:08:01

um i need help and im hoping you all are kind enuf to do so…

ive always used blogger(about 4 years) and now im running my blog off of my parents website and so i chose to use serendipity bc it was recommended to me. do you all know how to change the format or where i can get templates? i cant seem to find any info on it on the web. or do you recommend another program? i mean i know a lot of people use mt, but what’s the difference and which is better in ur opinion. please email me: thnx.

Comment by Phil Ringnalda #
2004-03-08 12:49:27

Sorry, I can’t be much help with Serendipity, since I hadn’t even heard of it before your comment, and when I tried to look their server seemed to be down.

MT’s good if you get a lot of page reads for every change, things like I assume Serendipity is, and I know WordPress is are good if you don’t have so many reads per change.

Say you have five or ten thousand hits a day, and only get two comments, and add a post every other day, and almost never change your basic layout: MT’s a good fit, since it builds static HTML pages that the server can deal with very efficiently. But, if you only get a couple hundred hits between every time you add a new post or someone leaves a comment, then something that builds the page from a database on every request, like WordPress (or what I assume Serendipity does), will probably be better for you, since you don’t have to sit and wait after you add content or change layout while it builds a bunch of pages.

Comment by Phil Ringnalda #
2004-03-08 19:55:27

Oh, Serendipity: I remember it as jBlog, had forgotten the name-change. Um. The developers are all a bunch of PHP uber-geeks, many of them PHP developers in the sense of writing PHP, not writing things with PHP. From a quick look through the code, it’s about what you would expect from a bunch of extra-smart hackers. Lots of it is really elegant code, the rest is really brutal hacks that work, and what more do you want, damnit? I see some talk here and there about making it really simple for anyone to use, but all in all I wouldn’t count on it. Probably a very good blogging program for a PHP hacker to use (I see that Rasmus has a Serendipity-powered blog), but I’d be a bit surprised if it builds up the sort of user community that produces good user support.

Comment by aroon #
2004-03-08 11:43:22

hey phil, i just had my first experience with your commen link redirect script. from what i can tell you basically have a cgi script generate a javascipt page to redirect the client to the intended website correct?

i used to use the same sort of thing on my website and ran into an issue that i just experienced with yours. when you’re trying to use the back button, once you hit that redirect page again you just end up at a brick wall. only those with the most skillfull and well trained index fingers can manage to penetrate the javascript wall and find they’re way back to your page (but most likely they’ll end up a few pages further back).

in anycase, the fix is simple. in the generated javascript code have it check the referrer and only if the referrer has ’’ in it, have the page redirect. something like:

r = document.referrer;
if (r.indexOf(””) != -1)
top.location.href=”[intended redirect url]”;

im not sure how the document.referrer would turn out in your scenario but im sure you get my idea.

just a thought. also, i ended up ditching the javascript and using an asp page to do my redirecting. its faster, invisible, and i dont have to deal with any issues like this one.

Comment by Phil Ringnalda #
2004-03-08 13:10:36

It’s not really mine, it’s MT’s idea of stopping spam, which I use in a sort of sideways way: if my Bayesian comment filter thinks something is spam (which, lately, it thinks pretty much everything is), then it redirects until I get around to training it. I’m not especially fond of it, particularly now that Google’s actually on the job of ignoring spam comment links (or possibly all comment links, it’s hard to tell).

As I understand it, though, you need to throw in a javascript redirect to throw Google off the trail: it happily follows real redirects. As to being trapped, every browser I’ve got has a dropdown menu on the right side of the back button, that may or may not include the ”Redirecting…” page in the history, but certainly includes my actual page to jump back around the redirect. Not something I would put in a ”How to use the intarwebnet for absolute beginners” page, but for my audience? I don’t think that’s too much to ask.

Comment by jess #
2004-03-09 07:22:42

thanks…uve been a bit of a help…but i dont get what ur saying about the hits and mt…like if you dont get many hits and your friends comment a lot then mt wouldnt be for you? pls clarify ;p.

Comment by Phil Ringnalda #
2004-03-09 07:49:59

The way MT works, when you add an entry, or someone adds a comment, it builds a new copy of the HTML pages where the entry or comment or comment count appears (front page, monthly archive, archive index, individual archive, category archive(s)) and saves that HTML file so it’s just like any other file on your server.

The way ”fried” systems (the page is fried up when someone asks for it, rather than baked ahead of time) like Serendipity or WordPress work, things aren’t built ahead of time that way: if someone adds a comment, it doesn’t actually rebuild five or six HTML pages just to update the count from (1) to (2), and so if nobody looks at the category archives until after the third comment is added, it hasn’t built that page for nothing. (Serendipity looks to be a bit of a mix, since I think it’s actually doing ”funky caching” and saving the page the first time it has to build it anyway).

When you have, say 671 entries and 3184 comments, rebuilding the whole blog can take quite a bit of time, and if you add lots of different types of templates to MT (every sort of archive, plus lots of RSS feeds), with a slow enough host you can wind up having the rebuild after someone leaves a comment not make it through, giving them an error message, so they try the comment again, and end up leaving a double, so they comment to apologize for that, and get an error message… :(

The other side of it is that if you get a ton of hits (the classic example being a link from Slashdot) then unless your server is really good, having a fried page will take your whole server down, because building the same page time after time from a database isn’t very efficient, and most scripts don’t take advantage of things that a server can do with static pages, like sending just a 304 Not Modified when someone refreshes the page and nothing has changed.

Comment by Michael Hanscom #
2004-03-09 10:30:59

For the life of me, I can’t currently remember whether you’re primarily a Mac or Windows (or Linux, or…or…or…) user, but if you’re on the Mac side of things, the MT client app Ecto includes preferences to require keywords, summaries, categories, etc. before posting. Comes in quite handy, and has caught me once or twice clicking that ”post” button a little too quickly.

Comment by jess #
2004-04-13 07:39:17

thanks for your help…i switched to MT…;p

Name (required)
E-mail (required - never shown publicly)
Your Comment (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <del datetime="" cite=""> <dd> <dl> <dt> <em> <i> <ins datetime="" cite=""> <kbd> <li> <ol> <p> <pre> <q cite=""> <samp> <strong> <sub> <sup> <ul> in your comment.