Trapped in a vicious circle

MT 3.0 lets plugin authors add a doc_link to their plugins, which then winds up linked on the Main Menu. Create an MT::Plugin object and tell MT to add it:

my $plugin = new MT::Plugin({name => "CategoryTrackbackTags, v0.2",
                             description => "Adds tags for category trackback data",
                             doc_link => "http://philringnalda.com/somewhereorother/"
                             });
MT->add_plugin($plugin);

and you wind up with <a href="http://philringnalda.com/somewhereorother/">CategoryTrackbackTags, v0.2</a>, ready to remind people why they installed that in the first place. A nice little touch.

The most sensible place to send the doc_link is to the weblog post where I “announce” the plugin. That post needs a download link, so the plugin has to be there, ready to download. To put the plugin there, it needs to have a doc_link, leading to the entry. For extra trapped-by-simple-things fun, I actually considered writing a plugin_action script (a CGI that gets called with the name of the page and the object id, from a link inserted in pages like entry or comment editing by calling MT->add_plugin_action('entry', 'drafturi.cgi', 'Get draft permalink');), just so I could save a draft, have it tell me what the permalink will be, stick that in the plugin, upload, then publish. Then I realized that even I can figure out what month and year it is, and convert spaces to underscores. (Plus, I’d have to upgrade this MT install to 3.0 to have it work, and to do that…)

18 Comments

Comment by Michael Pate #
2004-05-23 20:04:08

I just upgraded Third Superpower to 3.0 tonight. Or to be more correct… I backed up the MySQL database and then did a new install. It took sometime to reinstall the plugins but other than that it wasn’t difficult. I probably spent the longest time trying to figure out how to incorporate the new comment tags.

Comment by Phil Ringnalda #
2004-05-23 20:30:21

Good for you!

But, I haven’t actually seen anyone do a 3.0 with SimpleThreadedComments yet, which may be interesting, and I think TypeKey is an incredibly naive approach to blocking spam (would you like me to demonstrate?), so I need to port in my forced-preview hack (it still amazes me that the spammers are too lazy to work around it, but it stopped 65 spams so far today), and maybe a quick-and-dirty Blacklist hack, in order to reap the benefits of 3.0. And, those benefits are plugins, and although I’ve probably missed some, I haven’t actually seen a single 3.0 plugin yet (other than my in-development ones).

Comment by Michael Pate #
2004-05-23 20:48:10

The plugin front has been pretty quiet. I am wondering if the contest has had something to do with it. Maybe everyone is carefully protecting their ideas.

I know TypeKey isn’t perfect, but I am hoping it will at least slow them down. I am always open to try things and this is one of them. I would even take a shot at implementing threaded comments but I never get the kind of conversations you get that need them.

Comment by Phil Ringnalda #
2004-05-23 21:14:27

TypeKey should last just long enough: while there aren’t enough people using it to be worth spamming, most (though certainly not all, there are already quite a few TypeKey-enabled spammers) won’t bother adjusting their scripts to spam through TypeKey. By the time there are enough people using it, Jay should have MT-Blacklist ported to 3.0. I don’t think I’d be happy about it, if I were 6A and had ”devoted significant engineering resources to developing TypeKey” but that’s all it can amount to, just a stopgap while it’s obscure.

Ah, the contest. I’ve been thinking about the contest, and about the sort of community that it can be expected to create, compared to the sort of community that Matt’s delighted posting of links to every new WordPress plugin can be expected to create.

By the way, I don’t live in a ritzy gated community.

Comment by Mark #
2004-05-24 19:47:06

So it’s a club solution…

Comment by Phil Ringnalda #
2004-05-24 20:10:40

Yep, O Framer Of Conversations. :)

It has a little bit of utility iff you only accept TypeKey comments, to make cleanup slightly easier, or to make it slightly more expensive (in terms of entering CAPTCHAs and faking that first comment to get past moderation) for a spammer to make your cleanup difficult. But given a sufficient number of TypeKey users, even stupid and lazy spammers will figure out how to automate getting that first post through.

Comment by Jacques Distler #
2004-05-24 20:16:49

It is to be noted that Mark’s solution appears to be neither ”the Club”, not ”Lojack”, but ”sell the damned car, and stop worrying.”

Comment by Phil Ringnalda #
2004-05-24 20:36:35

Now, don’t jump to conclusions. He still has the car, locked in the garage, and he took it out for a little spin just the other Sunday. You can hardly expect him to bring it out right now, with the hordes of bikers roaming around, swinging their chains and breaking beer bottles, flaunting their weird ”/.” tattoos.

Comment by Mark #
2004-05-26 08:30:18

Jacques, you realize I was Slashdotted earlier this week, right? 15000 hits in 8 hours. I hear that’s light for Slashdot.

The server held up admirably. Of course it helped that that page was staticly cached, so WordPress/PHP/MySQL weren’t involved in any way. I edited my CSS file to comment out the header graphics, so it was just a single page hit for the page, and a single page hit for the CSS. (And the ads, but that hits Google directly, and it doesn’t matter, since they’re the shitty ”start blogging now” ads that pay next to nothing and that nobody clicks on anyway.)

Anyway, comments are fine in small doses, in selected venues, for limited periods of time. I see no reason to leave comments enabled for posts older than a few weeks. The people who wander by six months later come from Google, and they’re generally idiots, and if comments are still enabled they’ll flame away and never return. And that’s assuming zero spam (ha!) — anyway, it’s just not worth it. Most people are idiots. Luckily, some of them click on ads. I have no idea why.

Comment by Jacques Distler #
2004-05-27 14:51:13

15000 hits in 8 hours.

31 hits/minute? Not exactly a heavy load. Serving static pages (which is what MovableType does), my puny 466MHz G4 would have no trouble keeping up with that. I’d even be able to get real work while it was happening.

For reference, my average webserver load, for a typical month is 7 hits/minute, and that doesn’t even create any audible disk chatter, let alone any detectable CPU load.

(Of course, if even a fraction of those visitors decided to leave comments, they’d quickly trip in my Comment-Throttle. From my experience with the crapflooders, not even that would cause appreciable problems.)

Most people are idiots.

I happen to quite like the commenters on my blog. I like them a lot. Even the occasional straggler coming in from a Google search has had something worthwhile to say.

And that’s assuming zero spam (ha!)

Since I installed ”The Club”: 13 spams in 33 weeks.

— a happy Club user

Comment by Mark #
2004-05-27 15:47:25

Keep in mind the shape of the Slashdot effect. The hits were not evenly distributed over 8 hours.

http://ssadler.phy.bnl.gov/adler/SDE/SlashDotEffect.html

Still, once I removed the header graphics (12 of them — I really need to do some sort of Sliding Doors thing with that and combine them all into one image), then I was OK. It’s always scary to see your link on Slashdot though. Thank God the page was already statically cached.

Comment by Jacques Distler #
2004-05-27 20:57:03

The hits were not evenly distributed over 8 hours.

I don’t know what your peak hit rate was. I just commented that the average hit rate you reported was quite unremarkable.

If your server took a savage beating during the first half hour, I’m sure you’ll tell us.

But, if that’s the case, the worst was probably well-over by the time you got around to editing your CSS file.

Whatever.

I don’t stay awake at night worrying about being slashdotted. With Apache serving static pages, my bandwidth (100BaseT to a dedicated switch) would max out before my CPU load got appreciably high.

And, for reasons only Phil and a few chosen other would know about, I have had occasion to max out my bandwith.

’Twas fun, really.

Comment by Sam Ruby #
2004-05-28 03:31:38

’Twas fun, really.

With at least one notable exception of collateral damage.

Comment by Jacques Distler #
2004-05-28 08:03:29

<grins sheepishly, looking down at his shoes>

Sorry ’bout that.

 
 
 
 
 
 
 
 
 
 
 
 
Comment by Jacques Distler #
2004-05-31 20:05:04

Simple Threaded Comments work. Forced previews with automatic Validation (the Zeldman Edition) work. OpenPGP Comments work.

All my plugins (with the exception of MT-Blacklist, though MT 3.0 has adopted some of the one-click despamming from MT-Blacklist, so I haven’t missed much) from 2.x work.

Even Sean Willson’s rebuild-only-what-needs-to-be-rebuilt hack works.

I haven’t tested whether my throttling code still does the job it’s intended to do. Maybe loser-boy can help me.

 
 
 
Comment by jacob #
2004-06-02 11:46:31

Based on some mucking about with a test MT 3 installation, it looks like none of the plugin code above will actually do anything unless the line require MT::Plugin; is also present. This might be obvious to the Perl-savvy, but I had to look at the source to your Category Trackback Tags plugin to figure it out, and there’s nothing about it in Six Apart’s plugin howto.

Comment by jacob #
2004-06-02 12:05:04

I should add that it’s worth looking at Phil’s plugin anyway to see how (as he mentions in the next entry) he uses eval to ensure that the plugin takes advantage of MT 3 without barfing in MT 2. Nice!

Comment by Phil Ringnalda #
2004-06-02 12:27:36

Though I should have noted somewhere or other that I actually stole that from Tim Appnel, from a message to the mtdev mailing list I think. My scheme was much uglier and more fragile.

 
 
 
Name (required)
E-mail (required - never shown publicly)
URI
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.