For a complete list of the new features in v0.6, click here.

MTTrackbackEntry is a Movable Type plugin and hack that enables you to create new entries from the Trackbacks that you receive. In other words, it enables other people to post new entries in your blog, simply by pinging an entry or category on your blog. The title of this plugin/hack could just as easily be called TrackbackCrosspost, since it can act as a trackback-based cross-posting tool.

Currently, entries are created AND pings are received and recorded by default. In v0.6, actual ping entries can be optionally turned off. So if you turn off pings, TrackbackEntry will only record a new entry. Personally, I can't think of many practical cases for record the ping as well - it just clutters up your database.

TrackbackEntry is especially useful when used to ping Categories rather than entries. When a category is pinged, the new entry is added to that category. This provides more control over the display of Trackback-Entries (display in sidebar, sub-page, etc.)

New: Category Creation

In v0.6, you can enable a new category creation feature. This powerful feature enables people to create entries in categories that don't yet exist on your blog. For example, ping the following:

...mt-tbentry.cgi/books

would create a new category in your blog called "books" and add the entry to that category. If your blog already has a category called "books", the entry is simply added to that category. One of the benefits of this approach is that people don't need to remember the trackback id of the category.

MT-Blacklist Support

Version 0.6 includes optional support for MT-Blacklist. I have only tested this with v 1.63rc2 with MT 2.661. When this option is turned on, incoming pings are scanned against your blacklist just like a real trackback. This option is off by default.

Template Tags

There are only two new tags provided (because most of functionality lies in the scripts, not in the plugin itself). The following tags enable you to output the TrackbackEntry URLs for entries and categories:

<MTEntryTrackbackEntryLink> - Similar to <MTEntryTrackbackLink>, this tag will display the TrackbackEntry URL for a particular entry. Others can use this URL to to send a TrackbackEntry ping, which will create a Trackback record for the entry and create a new entry in the blog.

<MTCategoryTrackbackEntryLink> - Similar to <MTCategoryTrackbackLink>, this tag will display the TrackbackEntry URL for a particular category. Others can use this URL to to send a TrackbackEntry ping, which will create a Trackback record for the category and create a new entry in the category.

Requirements

Net::Blogger - Sorry, I neglected to mention this is the first release.

Installation

1. Download Now:

MTTrackbackEntry.zip and extract the files.

Membership required, please sign-in or register:

2. Place "mt-tbentry.cgi" in your MT directory (same directory as mt.cgi). Then CHMOD to 755.

3. Place "TrackbackEntry.pl" in your "plugins" directory within your MT directory.

4. Create a new user to be be used for Trackback-Entries. Make note of the username and password. Give the user permisions to post and rebuild files on each of the blogs that you want to enable TrackbackEntry.

5. Open "TrackbackEntry.pm" and find the line that reads:

my $mt_username = 'tbentriesusername';

Replace 'tbentriesusername' with the user name chosen in Step 4 (the username should be enclosed in single quotes). (remember that MT usernames are case-sensitive)

6. Just below this line, you should find the following line:

my $mt_password = 'tbentriespassword';

Replace 'tbentriespassword' with the password chosen in Step 4 (the password should be enclosed in single quotes).

7. Search for "OPTIONS" and choose the options that you want by setting them to 1 or 0. Options include: create new category, default blog, default category, use MT-Blacklist, and create trackback.

8. Save the file and upload to '/lib/MT/App/' within your MT directory (same directory as "Trackback.pm")

9. Begin using the tags described above to inform your visitors of the TrackbackEntry URLs for your entries and categories.

10. Test it out be asking someone to send you a TrackbackEntry ping. (If you want me to send you a test ping, let me know)

Displaying TrackbackEntries

For displaying TrackbackEntries, it is important to understand what data gets stored in which entry fields:

-the Ping Excerpt gets stored in the Entry Body field.
-the Ping Blog Name gets stored in the Extended Entry field.
-the Ping Source URL gets stored in the Excerpt field.
-the Ping Remote IP gets stored in the Keyworda field.

As such you can use the associated MT template tags to display the entries. If you want to display a list of entries that are mixed between your own entries and TrackbackEntries, you may want to make use of the Compare plugin like this:

<MTIfNotEqual a="[MTEntryAuthor]" b="tbentriesusername">
<a href="<$MTEntryAuthorURL$>"><$MTEntryAuthor$></a>
</MTIfNotEqual>
<MTIfEqual a="[MTEntryAuthor]" b="tbentriesusername">
<MTIfEqual a="[MTEntryExcerpt no_generate='1']" b="">
<$MTEntryMore convert_breaks="0"$>
</MTIfEqual>
<MTIfNotEqual a="[MTEntryExcerpt no_generate='1']" b="">
<a href="<$MTEntryExcerpt no_generate="1"$>"><$MTEntryMore convert_breaks="0"$></a>
</MTIfNotEqual>
</MTIfEqual>

The above template snippet displays a linked version of the author's. In the case of TrackbackEntries, the blog name is used as the author name and the source URL is used as the author URL.

Please let me know what you think.

Version History

0.5
-Initial release
0.6
-recording of trackback is now optional
-category creation
-MT-Blacklist support

MTTrackbackEntry is a Movable Type plugin and hack that enables you to create new entries from the Trackbacks that you receive. In other words, it enables other people to post new entries in your blog, simply by pinging an entry or category on your blog. The title of this plugin/hack could just as easily be called TrackbackCrosspost, since it can act as a trackback-based cross-posting tool.

Currently, entries are created AND pings are received and recorded. This means that TrackbackEntry will receive and record pings the same as usual, but it will also add a new entry. Perhaps a future version will only add new entries, or at least provide an option in this area.

TrackbackEntry is especially useful when used to ping Categories rather than entries. When a category is pinged, the new entry is added to that category. This provides more control over the display of Trackback-Entries (display in sidebar, sub-page, etc.)

Template Tags

There are only two new tags provided (because most of functionality lies in the scripts, not in the plugin itself). The following tags enable you to output the TrackbackEntry URLs for entries and categories:

<MTEntryTrackbackEntryLink> - Similar to <MTEntryTrackbackLink>, this tag will display the TrackbackEntry URL for a particular entry. Others can use this URL to to send a TrackbackEntry ping, which will create a Trackback record for the entry and create a new entry in the blog.

<MTCategoryTrackbackEntryLink> - Similar to <MTCategoryTrackbackLink>, this tag will display the TrackbackEntry URL for a particular category. Others can use this URL to to send a TrackbackEntry ping, which will create a Trackback record for the category and create a new entry in the category.

Installation

1. Download Now:

MTTrackbackEntry.zip and extract the files.

Membership required, please sign-in or register:

2. Place "mt-tbentry.cgi" in your MT directory (same directory as mt.cgi). Then CHMOD to 755.

3. Place "TrackbackEntry.pl" in your "plugins" directory within your MT directory.

4. Create a new user to be be used for Trackback-Entries. Make note of the username and password. Give the user permisions to post and rebuild files on each of the blogs that you want to enable TrackbackEntry.

5. Open "TrackbackEntry.pm" and find the line that reads:

my $mt_username = 'tbentriesusername';

Replace 'tbentriesusername' with the user name chosen in Step 4 (the username should be enclosed in single quotes). (remember that MT usernames are case-sensitive)

6. Just below this line, you should find the following line:

my $mt_password = 'tbentriespassword';

Replace 'tbentriespassword' with the password chosen in Step 4 (the password should be enclosed in single quotes).

7. Save the file and upload to '/lib/MT/App/' within your MT directory (same directory as "Trackback.pm")

8. Begin using the tags described above to inform your visitors of the TrackbackEntry URLs for your entries and categories.

9. Test it out be asking someone to send you a TrackbackEntry ping. (If you want me to send you a test ping, let me know)

Displaying TrackbackEntries

For displaying TrackbackEntries, it is important to understand what data gets stored in which entry fields:

-the Ping Excerpt gets stored in the Entry Body field.
-the Ping Blog Name gets stored in the Extended Entry field.
-the Ping Source URL gets stored in the Excerpt field.
-the Ping Remote IP gets stored in the Keyworda field.

As such you can use the associated MT template tags to display the entries. If you want to display a list of entries that are mixed between your own entries and TrackbackEntries, you may want to make use of the Compare plugin like this:

<MTIfNotEqual a="[MTEntryAuthor]" b="tbentriesusername">
<a href="<$MTEntryAuthorURL$>"><$MTEntryAuthor$></a>
</MTIfNotEqual>
<MTIfEqual a="[MTEntryAuthor]" b="tbentriesusername">
<MTIfEqual a="[MTEntryExcerpt no_generate='1']" b="">
<$MTEntryMore convert_breaks="0"$>
</MTIfEqual>
<MTIfNotEqual a="[MTEntryExcerpt no_generate='1']" b="">
<a href="<$MTEntryExcerpt no_generate="1"$>"><$MTEntryMore convert_breaks="0"$></a>
</MTIfNotEqual>
</MTIfEqual>

The above template snippet displays a linked version of the author's. In the case of TrackbackEntries, the blog name is used as the author name and the source URL is used as the author URL.

Please let me know what you think.