February 20, 2004

Movable Type Revision History Plugin

I am getting close to completing a plugin for movable type. This allows you to have a full revision history for every weblog entry. I'm also trying to test it, so this weblog entry will serve as something of a testbed for it. The extended entry will have a bunch of gibberish that I'll revise a lot.

The quick brown fox jumps over the lazy dog.

And now I have added text up here.

All men something about coming to the aid of one's country. Did Lincoln say that?

There's stuff having to do with html tags that I should probably test as well, well. Yes.

And I wonder what the heck is up with html links?

The blazing glory of pain comes forth at the most inopportune moments,

like when you are trying to make a salad with walnuts and chevre.

Rolling your eyes can be hazardous to your health because it can give you

headaches, especially if you roll them too hard.

Third eyes aren't always in the middle.

This is a new sentence.

One more to add to the list of comment-spamming, blog-host-faking domains, along with wblogs.com and blogstudio.net: bllogspot.com with a double L, as found in Sam Ruby's comment feed (one of my favorite sources for finding spam domains and blocking them before they find me) with thehomelessguy.bllogspot.com. * One more belonging to the same person, Alexander Morozov, comment-spammer extraordinaire, that is. I was so used to OnlineNIC's whois being down I didn't even think to look.

And it appears I have added text down here as well.

I thought I'd try this:

La la la l
See how that works.

Ok, now for lists.

  • adding
  • adding
  • adding
  • adding
  • addling
  • item one
  • item two
  • iterm three
  • item four
  • item five

Posted by Curt at February 20, 2004 05:58 PM

Comments

Hey..

I tried to run mt-revision.cgi just as a test and I got errors about Agent... I figure thats because I don't have those installed? Are these external modules we need to grab from somewhere and upload to our MT installations? Or do they require compiling etc and need to be installed by our hosts?

And if the former.... do you have links where to get them from?

Thank you. =)

Posted by: Lisa at March 3, 2004 11:34 AM

I went ahead and updated my wiki entry to have more details about this. In short, I may supply these libraries in the future, but it's really better if your administrator installs them because there are some nested dependencies that are hard to manage manually.

Posted by: Curt at March 5, 2004 05:59 AM

I contacted my web host and asked them to install the required modules. I pointed them to your page as a reference. They told me that they already had some of the modules installed and that they had installed the other ones. I went ahead to upload the MT-Revision files, made the appropriate modifications to my templates and saved and edited then re-saved a test entry.

The revision link was generated, but when I clicked on it I got the following error message:

"An error occurred: Can't continue after import errors at /usr/share/perl/5.6.1/HTML/Diff.pm line 21 BEGIN failed--compilation aborted at /usr/share/perl/5.6.1/HTML/Diff.pm line 21. Compilation failed in require at extlib/keenworks/Revision.pm line 13. BEGIN failed--compilation aborted at extlib/keenworks/Revision.pm line 13. Compilation failed in require at mt-revision.cgi line 27."

It appears that there was some problem in the HTML::Diff module that is leading to this but I don't know what it is or how to troubleshoot it. Can you help?

Posted by: Al-Muhajabah at March 17, 2004 05:16 PM

That error message happens when Algorithm::Diff isn't installed correctly. It refers to the line in HTML::Diff that tries to load Algorithm::Diff .

Posted by: tunesmith at March 17, 2004 05:33 PM

Just to update this for people who are reading this page; it turned out that my webhost had an outdated version of Algorithm::Diff. I was able to download and install the latest version from CPAN and it solved my problem.

Posted by: Al-Muhajabah at March 18, 2004 03:12 PM

This plugin is very interesting.

I wonder is there a way to "revert" an entry to a previous revision? For example, suppose I accidentally delete half of a long entry -- it would be great if I could simply revert to the previous version.

Posted by: Mark Carey at April 1, 2004 07:38 AM