What about a Google Wave plugin for Movable Type, as a way to engage in real-time conversations about blog entries. What do think? Below is just a test, you should see an embedded Wave. If you have a Google Wave account, please join the wave and share your thoughts. (I don't have any Google Wave invites, sorry). One of the interesting things about using a Wave for blog comments is that after you join a wave on a blog site, that Wave will show up in your Google Wave inbox going forward. This enables you rejoin the conversation later directly from within Wave. Some bloggers may worry that this may mean less return traffic to their sites, which could be true, but it certainly could boost the amount of discussion around blog entries.

Twitter Commenters is a plugin for Movable Type that enables commenters to sign-in and comment on your blog using their Twitter account. Versions 2 includes support for Twitter's OAuth authorization system and enables commenters to automatically share their comments to their Twitter stream.

Basic Auth (default):

OAuth:

Twitter comment authentication works like other auth methods in MT -- once you have installed the plugin you can enable Twitter as one of the auth options, as shown in the image above.

How It Works - Basic Auth

When the user enters their Twitter username and password in the form (shown above), the plugin submits those to the Twitter API to verfiy the credentials. If verified, the user can then post comments using their Twitter account. Their Twitter 'display name' will be shown beside their comments, and their Twitter avatar (profile photo) will be imported and shown beside their comments (if userpics are enabled in your templates).

Note that users' Twitter passwords are not stored in the MT database. An upcoming version of this plugin will enable Twitter's new OAuth support, in which case passwords would never be sent to MT at all. That version will like have an option for commenters to cc. their comments to their Twitter account. Stay tuned.

How It Works - OAuth

New in Version 2.0, you can optionally enable Twitter's new OAuth authorization system. With OAuth, user never have to submit their password info to your server. Instead, they click a "sign in with Twitter" button and they are taken to a page on Twitter.com asking them to authorize the application (see image above). One they click "Allow" they are returned to your site and they then post comments using their Twitter account. As with basic auth, their Twitter 'display name ' will be used as well as their Twitter avatar (profile photo).

Share Comments on Twitter

A new feature in version 2.0, only supported via OAuth, enables commenters to optionally share their comment to their Twitter stream. All they have to do is click a checkbox, no need to re-authorize or enter Twitter account info.

Try it Now

MT Hacks has the new OAuth method enabled. Try it now:

Click here to login with your Twitter account. After logging in, you will be returned to this entry, and you can leave a comment below.

Requirements

  • Net::Twitter 2.07 perl module (included with plugin) (note: do not upgrade to version 2.9+ of this module)
  • Net::Twitter::OAuth perl module (included with plugin)
  • Net::OAuth perl module (included with plugin)
  • Net::OAuth::Simple perl module (included with plugin)
  • JSON::Any perl (included with plugin)

Note: Net::Twitter requires newer versions of the libwww-perl collection of Perl modules. I am not sure what the minimum version required is, but on my server, I had to upgrade in order to get Net::Twitter to work. So if you get strange errors, try installing the latest version in your 'extlib' directory of your MT. Update: A common error message is: "Can't locate object method "default_header" via package "LWP::UserAgent" -- if you see this error, this the problem.

Download Twitter Commenters

Download Now
Downloads: 569

Installation

  1. Upload the contents of the 'plugins' folder to the 'plugins' directory for your MT install.
  2. Upload the contents of the 'mt-static' folder to your 'mt-static' directory.
  3. For each blog you want to enable, go to Preferences > Registration and check the box for 'Twitter'.

Enabling Twitter OAuth

Unfortunately, this is not as easy as it could be, maybe Twitter will make it easier in future. To set this up you need to create an Application on Twitter:

  1. While logged in to your Twitter account, go to http://twitter.com/oauth_clients/new.
  2. Fill out the form on that page:
    • Give it a unique name and description.
    • For 'Application Website', enter http://mt-hacks.com/twittercommenters.html. For 'Organization', enter MT Hacks.
    • For 'Website' enter http://mt-hacks.com.
    • For 'Application Type' choose 'Browser'.
    • For 'Callback URL' enter the full URL to your comments script followed by '?__mode=login_external&key=Twitter'. Example: http://www.domain.com/cgi-bin/mt/mt-comments.cgi?__mode=login_external&key=Twitter
    • For 'Default Access type' choose 'Read & Write'.
    • Check the box for 'Yes, use Twitter for login'
    • Hit the 'Save' button.
  3. After saving the application, you should now see a screen with a 'Consumer key' and 'Consumer secret'. Copy those to the system plugin Settings (System Overview > Plugins > Twitter Commenters > Settings). and save the plugin settings.
  4. To enable the share comment on Twitter option, add the <mt:TwitterShareCommentOption> tag below the comment text part of your comment form. This will display a checkbox option to people logged in via Twitter OAuth.
  5. Rebuild your entry pages and test it out

As always, feedback is appreciated.

Follow @mthacks on Twitter for updates and other MT and Twitter hacks.

FriendFeed Comments is a plugin for Movable Type that enables you to import and display comments made using FriendFeed on your entries. You can also use the plugin to enable your blog commenter to "Cc." their comments to FriendFeed (if they have a FriendFeed account).

Background: FriendFeed Comments

FriendFeed is service that enables you aggregate and share your stuff from many other web sites, all in one place. Your feed can pull in your blog RSS feeds, photos from Flickr, videos from YouTube, tweets from Twitter, and many more.

Each item in your feed -- whether it is a blog entry or tweet -- can be commented on by other FriendFeed users.

Some great discussions about blog entries can happen on FriendFeed. The only problem is that those conversations are off-site and separated from the entry published on your blog. One of the goals of the FriendFeed Comments plugin is to bring those comments back to your published blog entry, displaying them with on-site blog comments.

Features

Version 1.0 of the FriendFeed Comments plugins includes the following features:

  • Checks all types of FriendFeed items for comments on your entries. Usually, comments on FriendFeed happen on the RSS item from your entry. Some comments, however, happen on the Twitter message you posted to announce the entry. The plugin aggregates these all these comments by checking all items in the feed.
  • Imports the comments as real MT comments. After importing, comments appear in the admin area just like other comments. Comments are displayed interspersed with on-site comments, displayed in chronological order.
  • New template tags can be used to highlight FriendFeed comments (more info below)
  • High perfomance, does not slow publishing. FriendFeed comments are imported via an MT scheduled task, running every 15 minutes in the background.
  • Check multiple FriendFeed user's feeds for comments. Useful for multi-author blogs and other advanced uses.
  • On-blog commenters can optionally Cc. their comments to FriendFeed. In addition to posting the comment on your blog, the comment will also be posted to item in your FriendFeed. Also, the comment will be posted as an item in the commenter's feed, so they can share the comment (and link) with followers of their feed.

Working Example: ReadWriteWeb

This plugin was suggested by Richard McManus and Marshall Kirkpatrick of ReadWriteWeb, and inspired by the FriendFeed Comments plugin for Wordpress, by Glenn Slaven. I have installed the plugin for ReadWriteWeb and it is now running, importing comments from FriendFeed and enabling commenter to Cc. FriendFeed. Check out the entries at http://www.readwriteweb.com/. Please don't post "test" comments there, you can use the live demo for that...

Live Demo

If you have a FriendFeed account, you can try out the plugin right now:

Click here to access the live demo for FriendFeed Comments.

Requirements

  • MT4+
  • JSON 2.x Perl module (included)
  • Net::FriendFeed Perl module (included)
  • Remote Comments Schema plugin (included)

Get FriendFeed Comments

This plugin is free to members of MT Hacks.

Download Now

Download Now
Downloads: 159

Membership required, please sign-in or register:

Installation

  1. Download and expand the zip file.
  2. Upload the contents of the 'plugins' folder to the 'plugins' directory of your MT.
  3. Upload the contents of the 'extlib' folder to the 'extlib' directory of your MT.
  4. Upload the contents of the 'mt-static' folder to the 'mt-static' directory of your MT.
  5. Login to MT and go to the blog you want. Go to Tools > Plugins and choose FriendFeed Comments and then Settings. Enter the FriendFeed username(s) of the feed(s) that contain links to your blog entries. Save the settings.
  6. Ensure that scheduled tasks are running, ideally via cron job. Click here for more info. Comments will only be imported if scheduled tasks are running.
  7. (Optional) Modify your templates using the new template tags described below. If you are using the new MT4-style templates, you probably want to edit the "Comment Detail" template module.
  8. (Optional) Modify your comment form to enable on-site commenters to Cc. their comments to FriendFeed. You need to add two fields named friendfeed_user and friendfeed_remote_key. If you want to use the code shown on the demo entry, you can download this template module and include it.

Template Tags

FriendFeed Comments adds the following new template tags:

  • <MTIfFriendFeedComment> - A conditional tag that is true if the comment exists on FriendFeed.
  • <MTIfFriendFeedEntry> - A conditional tag that is true if the entry in context has been found on FriendFeed.
  • <MTFriendFeedEntryLink> - A URL to the item for the entry on FriendFeed.
  • <MTFriendFeedIconURL> - A URL to the small FriendFeed icon.

Example usage, place before the commenter's name:

<MTIfFriendFeedComment><a href="<MTFriendFeedEntryLink>" target="_blank" title="Posted on FriendFeed">
<img src="<MTFriendFeedIconURL>" align="left" alt="Posted on FriendFeed" /></a>  </MTIfFriendFeedComment>

As always, feedback is welcome.

Blog Janitor is a plugin for Movable Type that preforms various clean-up tasks. Blog Janitor can perform the following tasks:

  • Close comments on old entries.
  • Delete duplicate comments and trackbacks

Blog Janitor does his work automatically, you don't need to edit your templates. Just tell Blog Janitor the tasks you want him to perform (by adjusting the plugin settings), and he will go to work periodically (using the scheduled tasks feature of MT).

New in Version 1.1

  • Support for MT4. Blog Janitor now works with either MT3.3x or MT4+. No new features in this release.

Here are some details on Blog Janitor's current skills:

Close Comments and Trackbacks on Old Entries

One technique for reducing blog spam is to close comments (disable commenting) and trackbacks on entries that are older than a certain number of days. This can be a tedious process to do manually, if you remember to do it. Blog Janitor can take care of this job for you. Simply enable Close Comments in the plugin settings for a blog, and tell Blog Janitor the number of days he should wait before closing comments on an entry. That's all you have to do, Blog Janitor will routinely check for old entries and close comments on them for you.

Delete Duplicate Comments and Trackbacks

Duplicate comments and trackbacks can happen in a number of ways. For example, a commenter may hit the submit button twice, thinking that the comment did not get posted the first time. Another common occurence is duplicate junk comments and trackbacks -- since spammer often post identical spam messages, your Junk folders may be full of duplicates. Blog Janitor is skilled a scanning your recent comments and trackbacks for duplicates. If you give him the order (by enabling duplicate checking in plugin Settings), he look for recent duplicates and delete them. Just tell him how many recent items to scan, and he will go to work every hour looking for recent duplicates. (Note: there is no "undo" when Blog Janitor deletes items, but he does leave a message in the Activity Log notifying you of which items he has deleted).

Settings

The Settings is where you give Blog Janitor his orders. Go to the blog you want, then go to the Plugin settings for Blog Janitor. The settings look like this:

Requirements

  • MT 3.3x or MT4+

Instructions

  1. Download the zip file and expand it.
  2. Upload the contents of the 'plugins' directory in to the 'plugins' directory of you MT installation (usually /cgi-bin/mt/plugins/)
  3. Adjust the settings as described above

Notes:

  • If you have a large number if entries in your blog, Blog Janitor will not close comments on every old entry the first time he goes to work. He gets tired if he tries to close comments on too many entries at a time, and his union contract states that he doesn't have to close comments on more than 100 entries each hour. (Okay, the real reason is to save your MT from excess load that might slow things down) Since Blog Janitor works on up to 100 entries each hour, it may take some time before he gets 'caught up'. For example, if you have 2400 entries on your blog, it will take about 24 hours for Blog Janitor to go through all the old entries and close comments and trackbacks.
  • Blog Janitor punches his time clock when he starts and finishes a task. For each task, he posts a message to the Activity Log that explains what task was completed, and how many seconds it took him to complete. If you are concerned about system load, keep an eye on the Log to see how hard he is working.

Get Blog Janitor

Commercial Use: $97

If you buy a commercial license, you will get priority for future features, and an advanced version of Blog Janitor that enables you to give Blog Janitor orders on a system-wide basis (so you can adjust the settings in once place for all blogs on the system).

Blog Janitor is free for personal use:

Download Now

Download Now (Blog Janitor for Personal Use)
Downloads: 763

Membership required, please sign-in or register:

As always, comments and suggestions are welcome - please reply to this entry.

Comment Titles is a plugin for Movable Type that adds a "Title" field for comments. Commenters can (optionally) add a Title to their comment. Comment Titles can be viewed and edited from the admin interface.

Screenshot

Template Tags

Comment Titles provides one new template tag:

  • <MTCommentTitle> - This tag will display the the title for the comment in context. If the comment does not have a title, this tag will output nothing.

Requirements

  • MT 4.01+

Note: Due to a bug in MT 4.0 that I found while developing this plugin, Comment Titles will not work with 4.0. You need 4.01 (or newer).

Installation

  1. Download and extract the zip file. Upload the contents of the 'plugins' directory to the 'plugins' directory of your Movable Type installation.
  2. Add a "title" field to your comment form. If you are using the default MT4 templates, go to Design>Templates, then "Template Modules" from the right side of the page. Then choose the "Comment Form" template. You can place the field anywhere between the <form and </form> tags, but I recommend after the URL field. Below the "comment-form-url" div, add:

    <div id="comment-form-title">
    <label for="comment-title">Title</label>
    <input id="comment-title" name="title" size="30" value="<MTIf name="comment_preview_template"><$MTCommentTitle$></MTIf>" />
    </div>


  3. Next, display the Comment Title on your published page by adding the <MTCommentTitle> tag to your Entry (Individual Archive) template. If you are using the default MT4 templates, then go to Design>Templates, then "Template Modules" from the right side of the page. Then choose the "Comment Detail" template. You can decide where you want to display the title, but one option is to place it right before the comment body (before the comment-content div):

    <MTIfNonEmpty tag="MTCommentTitle"><div class="comment-content">
    <strong><$MTCommentTitle$></strong>
    </div></MTIfNonEmpty>

    Note that in the above example, I have used the MTIfNonEmpty tag. By doing so, the HTML for the title will only be displayed if a title exists for that comment. This avoids extra blank lines and other markup when comments don't have titles.


  4. Publish your entry pages and you are done.

Get Comment Titles

Commercial License - $97.00

Personal License - Free

Comment Titles is free for personal, non-commercial use.

Download Now

Download Now
Downloads: 346

Membership required, please sign-in or register:

As always, comments and suggestions are welcome.

Ajax Comments is a plugin for Movable Type 4 that enables your commenters to post comments using Ajax, without the page refreshing.

Live Demo

The best way to describe Ajax Comments is to show you. Try it out right now on the MT Test Blog. Click here to post a comment on the test entry.

Template Sets

To make Ajax Rating easy to setup, 6 templates are included. The following templates are new ones:

Ajax Comments Javascript (index template) - Contains links to the Javascript needed to posta comment.
YUI Javascript (template module) - Contains references to YUI Javascript libraries hosted externally.

...and 4 templates that are replacements for MT4 default templates: (Note: if you already customized these templates, you may have to do some manual template customization here. The installer will back up your existiing versions of these template.)

  • Comments (template module)
  • Comment Form (template module)
  • Comment Preview (system template)
  • Comment Response (system template)

The above templates can be easily installed by clicking the "install templates" button in the plugin settings (requires the Template Installer plugin).

Spam Protect

Ajax Comments can also be used to reduce your spam load significantly with "Spam Protect". Spam Protect is enabled by default, but you can disable it in the plugin settings. Spam Protect tricks automated spambots by tricking them into posting comments to the wrong URL. I have used this technique for a few years, and it makes a big difference is spam volume as server load. The one drawback to using Spam Protect is that commenters must have Javascript enabled to successfully post comments -- the tiny percentage of people who have Javascript disbaled will be sent to the "fake" Spam Protect URL. To minimize the CPU load from spambots, I recommend setting the Spam Protect URL to a non-existant page, so the bots will get a 404 "page not found" error.

Requirements

Installation

  • Download and extract the zip file. Upload the contents of the 'plugins' folder to the 'plugins' directory of your Movable Type installation.
  • Go the the plugin settings (Preferences > Plugins, then click Ajax Comments then Settings). Install the templates by clicking the button.
  • (Optional) Return to the plugin settings and adjust the Spam Protect settings and save.
  • Edit your "Header" template module. Go to Design > Templates then choose "Template Modules" from the right side of the page. Open the "Header" template. Look for a line that says:
    <MTIf name="feedback_template">

    After that line, add the following two lines:

    <$MTInclude module="YUI Javascript"$>
    <script type="text/javascript" src="<$MTLink template="ajax_comments_javascript"$>"></script>

  • Ensure that you have the "Use Comment Confirmation Page" setting checked under Preferences > Blog Settings > Comments. This is checked by default in new MT4 blogs. It must be checked for Ajax Comments to work.

  • Rebuild your Entry Archives.

Get Ajax Comments

Commercial License - $97.00

Personal License - Free

Ajax Comments is free for personal, non-commercial use.

Download Now

Download Now
Downloads: 1282

Membership required, please sign-in or register:

As always, comments and suggestions are welcome.

The Customized Sign In Templates plugin enables MT4 sites to customize the commenter sign in and registration screens. MT4 include built-in support for commenter registration and login. By default, the screens where commenters login and register are system templates that bear the Movable Type logo -- they can't easily be customized to reflect the look and feel of your site. This plugin makes it easier to customize these screens.

Before and After Screensnaps

Live Demo

Try it out now on my MT4 Test Blog. Click here and then click the sign in link to post a comment.

How it Works

When someone clicks the "sign in" (or to sign up) link for a particular blog, the plugin looks for template modules in that blog with the following names:

  • Member Login
  • Member Signup
  • Member Signup Thanks

If the module is not found, the system default will be displayed (same as without the plugin). If a match is found, the template module will be used instead of the system default.

Note that these template modules are special, because they are a hybrid of an "application template" and a "blog template". What this means is that you will see some different template tags, some that begin with <mtapp:. Its best not to mess with those too much, unless you really know what you are doing.

Template Sets

As a separate download, I have created two template sets to get you started:

  • System Default Sign In Templates - these are identical to the ones that ship with MT, but installing this set (using the Template Installer plugin) will create Template Modules in your blog, so you can start customizing from there.
  • Blog Style Sign In Templates - This set has already been customized to use your blog's style, header, and footer.

Requirements

  • MT4

Installation

Download and extract the zip file. Upload the contents of the 'plugins' folder to the 'plugins' directory of your Movable Type installation.
For each blog that you want to customize, install template Modules to be used. Download the template sets and install them using Template Installer. (Advanced users can create these manually, but they must be named "Member Login", "Member Signup", and "Member Signup Thanks".)

Get Customized Sign In Templates

Commercial License - $97.00

Bonus: Those who purchase a commercial license will subsequently receive a version that enables customization of the password recovery screens. For technical reasons, this part was not as easy to accomplish, but I will create a solution and make it available to those who buy a license.

Personal License - Free

Customized Sign In Templates is free for personal, non-commercial use.

Download Now

Download Now
Downloads: 354

Template Sets (both are the same zip file):
Download Now

Membership required, please sign-in or register:

As always, comments and suggestions are welcome.

Comment Registration is a plugin for Movable Type that enables readers to register an account on your site and login to post comments. Commenters register and login directly with your site, not via an external authentication service (this plugin does not use TypeKey).

UPDATE: The latest version of this plugin, version 1.2, includes an important security bug fix. It is highly recommended that sites using previous versions upgrade to version 1.2 immediately. Simply upload the new version to upgrade -- there is no need to edit or re-install templates.

Movable Type supports comment registration (authentication), but commenters must register and sign via TypeKey, a centralized authentication service offered by Six Apart (the makers of MT). While this "remote authentication" approach has some key advantages, there are also reasons why you might prefer a "local authentication" system. The Comment Registration plugin provides this option.

Comment Registration works with the built-in Commenter system of MT (see the "Commenters" menu item on the left-hand navigation menu). When someone creates a commenter account on your site and posts a comment, they will appear on the Commenters screen, including their Nickname, username, URL, email, and a tally of their comments:

Note: Commenters must post at least one comment before they appear on the Commenters listing. If someone creates an account but does not post a comment, they will not appear in the listing.

Because the plugin uses the the built-in Commenters system, you can use all the MT commenter features, such as:

  • Trusting and Banning commenters:
  • Settings for accepting comments:
  • Settings for publishing comments:

Comment Registration comes with 4 default templates (based on the default MT3.3 templates):

Commenter Login - An index template that contains a login form for commenters.
Commenter Registration - And index template that contains a form for creating a commenter account on your system.
Site Javascript - This is a replacement index template for the existing Site Javascript (mt-site.js) template. (Your existing Site Javascript will be renamed as a backup during installation).
Widget: Commenter Login - A Widget Manager widget that you can add to your sidebar, containing a login form for commenters.

Test it Out Now

Head over to the MT Hacks Test Blog and register for an account and then submit a few comments. Start at this test entry by clicking here.

Installation:

  1. Extract the files from the zip file, and upload the contents of the 'plugins' directory to the 'plugins' directory of your MT installation.
  2. Change the permissions on the mt-login.cgi file to 755 (CHMOD 755).
  3. Browse to the blog you want, then go to Settings - Plugins, and then the Settings button for Comment Registration. You will notice that the plugin has no settings of its own, but you will find a link to install the default templates. Click that link. The default templates will be installed and rebuilt.
  4. You must have Authentication enabled for the default templates to work (if you currently allow TypeKey authentication, you can skip this step). Go Settings > Feedback and find the "Authentication status" setting. In field after "Or, manually enter token", enter some text (anything will do).
  5. (Optional) Adjust the Feedback settings for accepting and publishing comments (see images above) as desired.
  6. Save Feedback settings and then manually rebuild the Site Javascript (mt-site.js) index template.

Requirements

  • MT 3.3x

Note that this plugin does not work with MT4, as this plugin's features have be built-in to MT4.

Get Comment Registration

Comment Registration is free for personal use, but you must place a link on your site, such as:

Powered by the <a href="http://mt-hacks.com/commentregistration.html">Comment Registration</a> plugin for Movable Type.

Donations are appreciated:

Download
Download Now
Downloads: 297

Membership required, please sign-in or register:

Commercial License (up to 5 blogs) - $97

Blog Network License (unlimited blogs) - $249

Note for multi-blog installations / blog networks: commenters need only create one account and can use the same login for all of the sites on the same MT installation.

As always, comments and feedback are appreciated. Please reply to this entry.

Blog Janitor is a plugin for Movable Type that preforms various clean-up tasks. In version 1.0, Blog Janitor can perform the following tasks:

  • Close comments on old entries.
  • Delete duplicate comments and trackbacks

Blog Janitor does his work automatically, you don't need to edit your templates. Just tell Blog Janitor the tasks you want him to perform (by adjusting the plugin settings), and he will go to work periodically (using the scheduled tasks feature of MT 3.3+).

Here are some details on his current skills:

Close Comments and Trackbacks on Old Entries

One technique for reducing blog spam is to close comments (disable commenting) and trackbacks on entries that are older than a certain number of days. This can be a tedious process to do manually, if you remember to do it. Blog Janitor can take care of this job for you. Simply enable Close Comments in the plugin settings for a blog, and tell Blog Janitor the number of days he should wait before closing comments on an entry. That's all you have to do, Blog Janitor will routinely check for old entries and close comments on them for you.

Delete Duplicate Comments and Trackbacks

Duplicate comments and trackbacks can happen in a number of ways. For example, a commenter may hit the submit button twice, thinking that the comment did not get posted the first time. Another common occurence is duplicate junk comments and trackbacks -- since spammer often post identical spam messages, your Junk folders may be full of duplicates. Blog Janitor is skilled a scanning your recent comments and trackbacks for duplicates. If you give him the order (by enabling duplicate checking in plugin Settings), he look for recent duplicates and delete them. Just tell him how many recent items to scan, and he will go to work every hour looking for recent duplicates. (Note: there is no "undo" when Blog Janitor deletes items, but he does leave a message in the Activity Log notifying you of which items he has deleted).

Settings

The Settings is where you give Blog Janitor his orders. Go to the blog you want, then choose Settings, then the Plugins tab, and then click on Setting for Blog Janitor. The settings look like this:

Requirements

  • MT 3.3x

Instructions

  1. Download the zip file and expand it.
  2. Upload the contents of the 'plugins' directory in to the 'plugins' directory of you MT installation (usually /cgi-bin/mt/plugins/)
  3. Adjust the settings as described above

Notes:

  • If you have a large number if entries in your blog, Blog Janitor will not close comments on every old entry the first time he goes to work. He gets tired if he tries to close comments on too many entries at a time, and his union contract states that he doesn't have to close comments on more than 100 entries each hour. (Okay, the real reason is to save your MT from excess load that might slow things down) Since Blog Janitor works on up to 100 entries each hour, it may take some time before he gets 'caught up'. For example, if you have 2400 entries on your blog, it will take about 24 hours for Blog Janitor to go through all the old entries and close comments and trackbacks.
  • Blog Janitor punches his time clock when he starts and finishes a task. For each task, he posts a message to the Activity Log that explains what task was completed, and how many seconds it took him to complete. If you are concerned about system load, keep an eye on the Log to see how hard he is working.

Get Blog Janitor

Blog Janitor is free for personal use:

Download Now

Download Now (Blog Janitor for Personal Use)
Downloads: 763

Membership required, please sign-in or register:

Commercial Use: $97

If you buy a commercial license, you will get priority for future features, and an advanced version of Blog Janitor that enables you to give Blog Janitor orders on a system-wide basis (so you can adjust the settings in once place for all blogs on the system).

As always, comments and suggestions are welcome - please reply to this entry.

The Ajax Rating Pro plugin enables you to setup comment threshold viewing for Movable Type powered sites. For more information about Ajax Rating Pro, click here.

This article focuses on ways that you can use Ajax Rating Pro to setup comment thresholds for Movable Type. The concept behind comment threshold is the ability to hide or collapse comments with rating score below a certain threshold. The result is collaborative filter, readers rate each others comments, and higher ranked comments are given more prominence, while lower ranked comments are given less prominence. Popular site such as Slashdot, Digg, and Scoop-powered sites use comment threshold filtering. It is a great tool for popular sites that attract a large number of comments.

Ajax Rating Pro is very flexible and customizable -- you can decide how you want to implement comment threshold filtering. Do you want to completely hide low ranked comments? Merely collapse them? Implement a default threshold score, or let readers choose their own? Something else in mind?

Ajax Rating Pro comes with a few built-in tools to help setup some of the more common approaches to comment thresholds. Let's walk through such an example. First take a look at the test entry here. Feel free to rate some comments and set a person comment threshold - notice how the display changes (refresh the page if needed). I am going go step-by-step to setup comment thresholds in this manner.

In this scenario, reader will rate comment with a vote up or a vote down. Votes are +1 point and votes down are -1 point. The default threshold is -3. In this scenario, comments with a total score of less than -3 will appear in a collapsed state. A single-click reveals the below threshold comment. Reader can optionally choose their own threshold using the form at the bottom of the comment listing.

Step 1 - After you have installed Ajax Rating Pro, go to the plugin settings for the blog you want. Choose Thumbs Up/Down for comment mode and choose 1 for Comment Max Points. Set the default threshold as desired (in this example, we will use -3).

Step 2 - Add a thumb rater to your Individual Archive template, between the <MTComments> and </MTComments> tags. In this example, I added it after the comment date on the default MT 3.3+ template:

<$MTAjaxThumbRater type="comment" report_icon="1"$> Score: <strong><span id="ajaxrating_comment_<MTCommentID>_ttl"><MTAjaxRating></span></strong> (<span id="ajaxrating_comment_<MTCommentID>_cnt"><MTAjaxRating show="vote_count"></span> votes cast)

Then rebuild your individual archives. (Tip: make sure you have the Ajax Rating lines in the <head> section of this template, as described in step 10 here. After rebuilding, each comment should have a thumb rater -- test to make sure the ratings are working.

Step 3 - Now that our readers can rate others' comments, now we can change the display for comments that fall below the threshold. In this example, we will do this using CSS styles to show or hide things. First we want to create add a section to the Individual Archive template, that will display only when comments fall below the threshold. In this example, immediately after </MTCommentsHeader>, enter the following:

<span class="below-threshold" id="threshold-<$MTCommentID$>">
<a href="#" id="c<$MTCommentID pad="1"$>" onclick="showComment(<$MTCommentID$>); return(false);"><$MTCommentBody trim_to="30" strip_linefeeds="1" remove_html="1"$>...</a> (Below threshold)
<p class="comment-footer">
Posted by <$MTCommentAuthorLink default_name="Anonymous"$> <$MTCommentAuthorIdentity$> |
<a href="#comment-<$MTCommentID$>"><$MTCommentDate$></a> | Score: <strong><$MTAjaxRatingTotalScore$></strong>
</p>
</span>

The first and last lines above are very important. This <span> encloses the stuff that we want to display when a comment is below the threshold. We will show and hide this span depending on the score and threshold. Both the class="below-threshold" and id="threshold-<$MTCommentID$>" are required for this purpose.

Inside the the span, you can customize what you want to display when a comment is below threshold. In this example, we have included a link that will display the comment. Notice the onclick argument in the link:

onclick="showComment(<$MTCommentID$>); return(false);"

This onclick section is important, as it will cause the link to run some javascript to display the comment in the browser.

Step 4 - The next step is to include a form that readers can use to set their own threshold. (If you don't want readers to be able to set their own threshold, you can skip this step). Below the </MTComments> tag, enter the following form code:

<form id="threshold-form" name="threshold_form" action="<$MTEntryLink$>#comments" onsubmit="setThreshold(this);">
<input type="text" name="threshold" size="3">
<input type="submit" name="submit" value="Set Comment Score Threshold">
</form>

The important part of this form is the onsubmit="setThreshold(this);" section as this will set the readers threshold by storing in a cookie in their browser.

Step 5 - By default, the section that we added in Step 3 above is hidden from view, and the full comment is displayed. At this point we need to compare the score to the threshold of each comment and decide which comments should be collapsed. Add the following below the form coded added in Step 4:

<script type="text/javascript">
<!--
var comments = new Array(<MTComments>'<$MTCommentID$>',</MTComments>'');
hideComments(comments);
//-->
</script>

The above javascript will check each of the comments. If a comment is below the threshold, the comment will be hidden and the section from Step 3 above will be displayed instead.

Step 6 - Rebuild your individual archives and test it!

The customized individual archive template used in this example on the test entry can be found here.

The above example is only one way to implement comment thresholds on your site using Ajax Rating Pro. You can customize the above to meet your needs. You can even edit the javascript and CSS elements to customize things further.

Another Built-in tool is the <MTIfAjaxRatingBelowThreshold> conditional tag. You can use this tag inside an <MTComments> container. Anything between <MTIfAjaxRatingBelowThreshold> and </MTIfAjaxRatingBelowThreshold> tags will not be inlcuded in the HTML of the page. (Note that the score is checked against the default threshold when the page is rebuilt, or if you are using PHP dynamic publishing, when the page is displayed). For example, if you wanted to completely hide comments below the default threshold, you could do something like this:

<MTComments>
<MTIfAjaxRatingBelowThreshold>

.....comment template code here......

</MTIfAjaxRatingBelowThreshold>
</MTComments>

Note that if you use this tag, you won't be able to provide a link to display the comment like in the example above.

Another way to use this tag might be to apply certain filters to comments below the default threshold. For example you might want to remove HTML from comments below threshold:

<MTIfAjaxRatingBelowThreshold>
<MTCommentBody remove_html="1">
<MTElse>
<MTCommentBody>
</MTIfAjaxRatingBelowThreshold>


I hope that the example above provide a few examples of how you can implement comment threshold viewing, and perhaps inspire a few ideas for unique ways to do so.

To get Ajax Rating Pro, or for more information, click here.

While there are many strategies for blocking, filtering, and reducing blog spam, many of them don't due much to reduce the CPU load incurred to handle all that spam. Even if you have strong MT spam filters, or close comments on your entries, spam may continue to cause increased CPU load, even if the spam is rejected or filtered.

As far as spammers are concerned, the automated ones don't care much (or even realize) that comments are closed on your entries. And they don't take the time to see if their attempts were junked or pubished. They will continue to submit comment spam and trackback spam. MT will refuse them, of course, but the entire MT application loads on every attempt -- the MT cgi scripts still incur load in process these, but likely not as much as a junked or successful comment submission. The main benefit to closing comments and using MT junk filters is to reduce / remove the clean-up effort, and to keep spam from be published on your blog. You end up with less published spam, but I am not sure how much CPU load is saved in these cases.

To address the CPU load of spam, you need to prevent/reduce spam hitting the MT cgi scripts. A temporary solution is to rename your comments and trackback scripts. Spammers will still try to hit the old URLs, but they will get 404 "not found" errors. This still incurs some load, but not as much as if MT had to handle those requests to reject or filter them. This solution is temporary because spammers will soon learn the new names of your scripts, and spam and load will increase thereafter.

A longer term solution is to attempt to block spam *before* it hits the MT scripts. mod_security is one way to do this. It is an Apache module that uses rule-based filters to block requests at an early stage. You still need a good ruleset, of course. In many, case you will need a dedicated server to use this, but some shared hosting providers support mod_sec to varying degrees. In recent days, spam attempt have increased on my server. Yesterday, mod_security blocked almost 4,000 spam attempts. Without mod_security, that would have been a lot for MT and my dedicated server to handle. My server would likely have crashed several times. But my blocking the spam before it gets to my MT scripts, I was able to weather the attack without a huge spike in CPU load.

This plugin enables you to trust commenters on you blog -- without requiring them to login via TypeKey or other authentication service.

The plugin enables you to trust commenters based on a combination of three things:

  1. the commenter's name
  2. the commenter's email address
  3. the IP Address(es) used by the commenter

The last item is important, as it vastly reduced the possibility of "spoofing" -- someone lese posing as the trusted commenter. For each Name/Email combination, you can trust multiple IP Addresses.

How it works

  • You can trust a commenter from a specific IP address with a single click. When viewing the comment in the MT admin interface, click the "Trust this commenter from this IP address" link that appears under "Plugin Actions" below the comment fields.
  • When you trust a commenter in this manner, the plugin will create a commenter record in your database (similar to the way this happens when someone posts a comment using TypeKey). In addition, the commenter is granted permission to post again from the same IP address.
  • If the commenter already exists in your database, their permissions are simply updated to include the new IP address, if necessary.
  • The next time the commenter posts a comment on your blog (from a listed IP address), the plugin will recognize them as trusted. Behind the scenes, a cookie is placed on the commenter's computer (again, very similar to the TypeKey cookie). Furthermore, the comment gets posted in "trusted" status, which means that the junk filters are bypassed for this commenter (for example).
  • The next time the commenter posts a comment, they will not have to enter their name and email address. Once again this is similar to TypeKey, the commenter will be greeted as if they have signed in via TypeKey. (The cookie is used to identify the commenter).
  • When recognized trusted commenters post comments, a green "check mark" icon will appear beside their name (same icon as trusted TypeKey commenters).
  • After a commenter is trusted, he or she will appear in the "Commenters" section of the MT admin interface for that blog, along with the number of comments posted, etc. You can also "untrust" or "ban" these commenters as well.
  • Commenters can continue to sign-in via TypeKey, if desired. When using this plugin, you can accept trusted comments from both types of trusted commenters.

Benefits

This plugin attempt to provide the benefit of Movable Type's trusted commenters feature, without requiring commenters to register and sign-in via TypeKey. While I think TypeKey authentication is a great idea, I have come to learn (from experience) that many people do not want to use it, for reasons that I don't fully understand. As an example, read the comments on this Pharyngula entry, in which the author announces that TypeKey is no longer required.

Another key benefit is the ability to trust commenters so that they will be able to bypass the junk filters. With spam getting worse, many of use (like me) have very aggressive spam filters False positives do happen, and it can be frustrating for commenters when their legit comments get moderated or junked. In this way, Trusted Commenters can act as part of your anti-spam portfolio (effectively a "whitelist" of commenters).

Instructions:

1. Download the plugin and expand the zip file.

2. Upload the "TrustedCommenters" folder to your "plugins" directory within your MT installation.

3. Start trusting commenters from the view/edit comment screen with MT. Click the "Trust this commenter from this IP address" link that appears under "Plugin Actions".

4. (optional) Go to your settings and enable authentication. (Go to Settings>Feeback>Authentication Status). This is not necessary but it will enable the commenter "greeting" and alleviate the need for commenters to enter their name and email address. Alternatively, this can be enabled manually without enabling authentication, as I have done on this site, by ensuring that the proper javascript and CSS elements are present.

Download Trusted Commenters

Non-commercial use - FREE

Commercial use - $97.00

Download Now

TrustedCommenters.zip

Membership required, please sign-in or register:

I have been using Trusted Commenters on Mars Rover Blog and Seinfeld Blog for about a month, and it is going quite well.

As always feedback is appreciated.

Update: This plugin addresses a bug seems to affect only some people who upgraded to Movable Type 3.2 from previous versions. I don't know what leads to the problem, but if you get a "You must define a Comment Pending Template" error message, this plugin can help. I previously thought (incorrectly) that the problem was due to a design flaw in Movable Type 3.2. In MT 3.2, a new feature was introduced that enabled blog authors to have comments held for moderation, or place in a junk folder, depending on settings and other criteria. In such cases, a message is shown to the commenter, notifying them that the comment is being held for moderation. This message is displayed via a new "Comment Pending Template". When you create new blogs with MT 3.2, it automatically creates this system template.

The problem, which affects only certain installations (not sure why or how many), is that the upgrade process for MT 3.2 does not create a "Comment Pending Template" for existing blogs on the system, as it should ( blogs that were created with previous versions of MT). If you are affected by this issue, when comments get held for moderation, commeters get an ugly MT error screen, with the cryptic error message "You must define a Comment Pending template". This means nothing to commenters, of course, who cannot create such a template. Another challenge, it turns out that even blog owners/admins cannot define a "Comment Pending Template" from the MT admin interface. When you browse to System templates, there are no options to create this template. Googling for a solution, a found a message from a SixAparter saying that the only way to add this template is to use the TemplateRefresh plugin on the entire blog. This is BAD IDEA if you have many customized templates! While it does back up your customized templates, it creates a mess by replacing all your templates with the default ones, making a big mess for you to clean up later.

Hence, the reason for this plugin.

What this plugin does

DefineCommentPending does exactly what it says, it defines a Comment Pending Template for a particular blog. The plugin creates a "Define Comment Pending Template" plugin action that will appear at the bottom of your template listing screens (when you click "Templates" from the MT menu). A single click of this link will create the Comment Pending Template and enable you to customize it, if desired.

Installation:

1. Download Now:

DefineCommentPending.zip

Membership required, please sign-in or register:

2. Expand the zip file and upload to the "plugins" directory within your MT directory.

3. In the MT admin interface, browse to the blog you want, then choose "Templates" from the menu.

4. Click the "Define Comment Pending Template" link that appears below the list of templates.

5. Repeat for each blog, as desired.

There are a number of different implementations of Smileys :) for Movable Type. Here's mine.

The smilieys that I use on most of my sites display in both the entries and comments. The smileys images and javascript are borrowed from phpBB. For comments, the smileys are displayed above the comment form, enabled the comment author to click on a smiley to include with their comments.

Instructions

1. The MTMacro plugin is required for the smileys to work. If you don't already have it, click here to get it.

2. Download the smiley images and templates: mt-smiley.zip

3. Upload the smiley images to a folder called "images". This folder should reside within the local site path of your blog.

4. Create a Template Module called "smiley javascript". (If you have never created a Template Module before, go to your Templates page, and scroll all the way to the bottom, below the Miscellaneous Templates). In the body of the "smiley javascript" Template Module, cut and paste the text from the "smiley-javascript.txt" file.

5. Create a Template Module called "smiley macros". Cut and paste the text from the "smiley-macros.txt" file into the new template module.

Note: If you want to place the smiley images in location other than an "images" subfolder of your blog, you need to edit the path of each "img" tag in this module.

6. If you want to display "clickable smileys" above your comment submission form, create a Template Module called "smileys". In it, cut and paste the text from the "smileys.txt" file.

Note: If you want to place the smiley images in location other than an "images" subfolder of your blog, you need to edit the path of each "img" tag in this module.

7. To make the clickable smileys appear on the comment submission form, open your comment listing template. Within the <HEAD> tags, cut and paste the following:

<$MTInclude module="smiley javascript"$>

Now find the line that reads:

<label for="forget">No</label>

After that line, cut and paste the following and save the template:

<br /><br />

<$MTInclude module="smileys"$>

8. To make the smileys appear in entries and comments, add the following line to the top of every template where you want smileys to show (ie. Main Index, Comment Listings, Comment Preview, Individual Archives, etc.):

<$MTInclude module="smiley macros"$>

9. To apply the Smiley Macros to your entries and comments you need to enclose them with MTMacroApply tags. For example, for entry text you would edit your templates as follows:

<MTMacroApply><MTEntryBody></MTMacroApply>

And for comment text:

<MTMacroApply><MTCommentBody></MTMacroApply>

10. Rebuild your site.

And that's it - 10 steps to MT Smileys. Let me know if any of that didn't make any sense. :) :) :)