May 12, 2005

Coming Soon: Remote Publish

Andre got in touch with me a couple nights ago with an interesting plugin request. He wanted to be able to have MT automatically send files out via FTP to another host where the web site would actually be living.

So, after about one hour, I had something to send out to him. One hour. I don't want to think about the amount of time I would spend writing something like this in MT 2.x.

It works, but it needs some serious polish and a configuration front-end. Right now, configuration involves hand-editing the plugin, which I try to avoid at all costs when I can. If anybody actually wants to play around with it, let me know and I will make it available.

Posted by rayners | Comments (3) | TrackBack

April 23, 2005

Comment Callbacks 0.1

Here is a quick little mini-plugin that I wrote to help me in the development of the next version of MultiBlog. Comment Callbacks establishes two callbacks for the comment system of Movable Type:

If a comment is approved when it is posted (for whatever reason, be it no comment moderation, TypeKey authentication, etc.), both callbacks are called in the order above.

To install, download one of the following files, unpack it, and place comment_callbacks.pl in your plugins/ directory.

Posted by rayners | Comments (2) | TrackBack

March 18, 2005

Looking for Plugin Testimonials

As part of an ongoing effort to put together my plugin store, I am looking for some testimonials to use. So, if you have ever used any plugins of mine (especially some of the major ones like MultiBlog/OtherBlog, SubCategories, or one of the pre-release versions of Workflow), I would appreciate it if you could share your experiences, either in a comment or email if you would prefer something less public.

Thanks!

Posted by rayners | Comments (4) | TrackBack

February 22, 2005

Pay for Plugins

While I would love to do what Jason just did and quit my job and do the blogging and plugin development thing full time, it is just not an option for me right now. We need the health insurance and my steady paycheck now that Jenn is quitting her job.

And since we are going to be losing her income, I need to make sure that all of the work I do outside of my day job is as profitable as I can make it. So I figure I have two options: either drop the blogging and plugin development thing for the time being (if not for good) or start charging for some of my more time consuming plugins and try to find other types of revenue streams I can generate with this site and my plugin work.

I thought I would start the charging with Workflow, and probably MultiBlog 2.0 (not the current version) after that. Everything that has been publicly released up until this point will still be available free of charge. I have also thought about instituting some kind of rayners-plugin subscription idea, where folks could get access to the bleeding edge stuff that I am working on, as well as get first priority for bug reports and feature requests. It is just an idea at the moment though.

I put a lot of time and effort into many of my plugins. And while I have received donations from a number of very generous folks (and I do appreciate it quite a bit; if I do charge, you will all get discounts), the return on my investment of time spent working on all this plugin code is pretty abysmal. With the situation we are entering into now, that is not something that I can afford to continue. Whatever I end up doing, things will be different from now on.

Posted by rayners | Comments (8) | TrackBack

February 08, 2005

Category Depth 0.9

This is just a quick plugin I wrote to return the depth of the current category. It provides a single tag: MTCategoryDepth.

So download one of the following files, unpack it, and place categry_depth.pl in the plugins/ directory.

Posted by rayners | Comments (0) | TrackBack

January 19, 2005

New Plugin Idea: Entry Funnel

While talking with Anil a couple days ago, he tossed out an interesting seed idea for a plugin and my mind just took it and ran.

So, here is the basic idea: given one or more feeds (Atom, RSS, etc.), create entries in the local blog based on those feeds. The idea is that you could pull in feeds from Technorati, Flickr, Del.icio.us, other blogs, and anything else that publishes feeds and build entries in your own blog to aggregate that content or whatever else you might want to do with it.

I would write more, but it is late and I just spent a couple hours tracking down a "minor" error in a plugin that I have been playing around with. So, any thoughts?

Posted by rayners | Comments (3) | TrackBack

January 18, 2005

How To Make My Day

It all started when I was browsing some local blogs in Bloglines this morning. Among other things, fellow Baltimore blogger, DaBrettman wrote the following about what he did early this morning:

... since I installed MTCloseComments as a plug-in (isn't CloseComments a Raynes creation? Talk about gods of MT development... heh)

Since the ingenious CloseComments plugin is actually the work of Alan Carroll, I took it upon myself to let DaBrettman know. I left a comment on his site mentioning that the plugin was not mine and that he had probably confused it with a quickie script I wrote, which was mostly just a port of a MySQL specific script that somebody else wrote.

Later he responded to my comment thusly:

David: See, I would have worshipped at your altar if you would've just lied a little.. you and your integrity, I swear.

Thanks, DaB. You made my day. :)

Posted by rayners | Comments (1) | TrackBack

January 17, 2005

New Plugin Idea: Template Preview

So, I was doing some testing on a quickie little plugin that I wrote to help out a reader. It occurred to me that having to create a template and keep rebuilding it while I was testing a single template tag was a little silly. Why not have the ability to just toss the text into a form field, click a button, and get a rendering of that template text? I could write that without too much difficulty.

And then I could add features. Like previews for existing archive templates so that changes could be tested before the entire site is rebuilt. Things like that.

Any other ideas out there?

Posted by rayners | Comments (3) | TrackBack

January 13, 2005

TKPal for MT 1.0 Release Candidate 1

Almost a week ago, Andre first released TKPal:

TK Pal is a snippet of PHP code you can place in a PHP enabled page to restrict access to content to TypeKey users who have specifically paid to see that content.

So, I have begun writing a wrapper plugin around that so MT users can take it for a spin. This has an enormous amount of future potential.

Just to test it out for myself, and to demonstrate that it works, the link to the plugin code and instructions for installation are in the extended entry, which will cost you $3.50 to access (if you have ever seen that episode of South Park, you will understand where that number came from).

Note: This plugin requires that all the pages in which it is used are output as php.

I should also mention that the fact that you need to pay to access this plugin is meant as a proof of concept only. If you would like, I would be happy to refund the money you paid to get it. All you have to do is ask.

Download one of the following files:

Unpack it and place tkpal.pl in the plugins/TKPal/ directory, which should have to be created. Once you have done that, get a copy of the TKPal code for yourself, install it in the same directory, and do whatever configuration is necessary.

The following two tags are made available through this plugin:

Posted by rayners | Comments (8) | TrackBack

December 29, 2004

ParentCategoryRebuild 1.1

Just a quick update to the ParentCategoryRebuild plugin. This new version fixes the bug that caused archives to be rebuilt even if the entry being saved was not published, and removes the condition that was causing the error message if the entry had no categories selected for it.

Download one of the following files, unpack it, and place parent_rebuild.pl in the plugins/ directory.

Posted by rayners | Comments (3) | TrackBack

December 21, 2004

ParentCategoryRebuild 1.0

This plugin will automatically rebuild the category archives for the parent categories of the categories to which an entry has been assigned. The idea is that if you are using MTEntriesWithSubCategories in your category archive templates, you will want those category archives to be rebuilt when an entry is saved. However, the normal behavior is only to rebuild those categories to which the entry is directly assigned. So I ripped the code that performed the parent category archive rebuilding from the last version of the SubCategories plugin, cleaned it up, and here it is.

Download one of the following files:

Unpack it, place parent_rebuild.pl in your plugins directory, and you are all set.

( Note: this plugin is using a callback that was introduced in MT 3.1, so it will not work in earlier versions )

Posted by rayners | Comments (4) | TrackBack

October 20, 2004

My MT Task List

This is as much for all you folks out there as it is for myself. I just wanted to go pick my own brain and write down all that I have told myself that I would work on in the near future. Feel free to make suggestions.

Update: Also needing significant work is the Plugin Manager, but that's more of a long term task. And I am currently not planning on porting any of my plugins to PHP for two main reasons:

Posted by rayners | Comments (1) | TrackBack

September 28, 2004

Dropcash Plugin 1.1

Just a quick update for the plugin, incorporating a change Andre made to the Dropcash feeds and adding a pair of new tags: MTDropcashGoalIsReached and MTDropcashGoalIsNotReached

Download:

See the Dropcash plugin instructions.

Posted by rayners | Comments (0) | TrackBack

September 15, 2004

Problems with some of my recent plugins

A number of people have reporting having a specific problem with some of my plugins recently (though MultiBlog is the only one I can remember off the top of my head). So, if you are receiving an error message concerning get_config_value, that is because the plugin was written to target MT 3.0D and above. The get_config_value method in those versions of MT was written to make plugin configuration storage and retieval easier.

I could back-port a similar mechanism for MT 2.6x users (it would not be possible for MT 2.5x), but I would rather spend my time beefing up some features that have shown to be lacking (e.g. multi-author sites using MultiBlog). I am tempted to create another feature ransom for the back-porting if people really want it.

Posted by rayners | Comments (5) | TrackBack

September 08, 2004

Dropcash Plugin 1.0

The campaign has been more than successful, though it does not currently reflect that as my Paypal account still needs to finish setting up.

So, here is the plugin as I promised.

Download:

Unpack it and install dropcash.pl into the plugins/ directory. Tags and instructions can be found at Dropcash Plugin Documentation.

Posted by rayners | Comments (5) | TrackBack

MT Dropcash Plugin Ransom

So, based on my earlier thoughts on using Dropcash for feature ransoms, I went ahead and created my own Dropcash fundraiser for a Movable Type Dropcash plugin, if for no other reason than I found it strangely appropriate.

So, when the goal is reached, I will release a plugin (Perl only) for Movable Type that will allow the user to access data on Dropcash fundraisers.

Posted by rayners | Comments (2) | TrackBack

Using Dropcash for Feature Ransoms?

For better or for worse, I have just about given up on the general donation solicitation for all of the free work I do with my plugins. Maybe I am just doing it wrong though. :)

I had a thought this morning. Maybe I could use Dropcash for feature ransoms or something similar. In other words, I could setup a fundraiser for a highly requested feature, and when the monetary goal (which would not be a large one, maybe around $50-$100 or so) of the fundraiser is reached, I would implement the feature.

It's just a thought. What do you folks think?

Update: Looks like Chad has already put up his first feature ransom for MT-Notifier, and from what he tells me, he has already exceeded the ransom. Congrats, Chad!

Posted by rayners | Comments (2) | TrackBack

September 07, 2004

Hooking MT into External Authentication Systems

The following is an email that I sent to some of the folks at Six Apart about two weeks ago. I thought I should share it with the rest of the community.

As we've discussed before, I know that there are corporate customers of yours that are quite anxious for the ability to make use of their existing authentication systems in their blogs. We have also discussed hooking up MT and TypeKey as a start to that, and even developing an LDAP to TK/MT mapping of sorts. For the government customers I see at my day job, and I'm sure plenty of corporate customers as well, relying on something over which they are not in direct control (i.e. TK) is not an option for any number of reasons (e.g. corporate policy, or just not being connected externally at all). Here is my mini-proposal for what I think should be done (and what I would honestly like to do myself).

First, in parallel, support for Apache-based authentication and a native user group/role system need to be implemented. As soon as MT begins allowing in users that did not previously exist internally, the need for a default user configuration becomes apparent. While implementing that as a default set of permissions is an option, it can become a signifcant problem if and when changes to those default permissions need to be changed either for one individual user or for all users. In a small enough installation, it is workable, but in larger organizations being limited to only a single set of default permissions is not going to be an option. All of those problems are avoided by implementing a native group/role system, as one group can be designated as the default group and overall changes can be made to that group to affect everybody, as well changes to individual users can be made without affecting any other group member. In addition, it also sets the stage for the next step.

Finally, support for authentication directly from systems like LDAP/ADS and so forth can be implemented. With the group/role system already implemented, as backend support for external usernames and passwords is added, adding it for the external groups/roles should be relatively simple.

Those are just my thoughts at least. I have already just about implemented the Apache-based authentication, though without any kind of default permissions. I suppose a quick hack could be developed to support that.

And as a bit of an addendum to that, I should also mention that if something like this moves forward, MT will need to move to a more true session handling approach, as opposed to storing the username and password of the current user in a cookie. If nothing else, the group affiliations will need to be cached somewhere else the authentication server will be getting hammered.

Posted by rayners | Comments (2) | TrackBack

SubCategories Plugin Data Migration

I am sure all of you folks who have been using my plugin are dreading having to recreate your category hierarchy now that the code has moved into the MT core. Well, here is a script that I whipped together to migrate your data from the plugin version to the MT core version (as of version 3.1).

Download plugin-to-db.txt, rename it to plugin-to-db.cgi, upload it to your base MT directory, change its permissions so it can be excuted (usually 755), and then run it in your browser. When you are finished, be sure to remove the file from your MT installation.

I have only tested this on my installation as I was upgrading from 3.0D to 3.11, but it worked just fine for me.

Important Note: When upgrading to a 3.1x version of MT, remove all of the files associated with the SubCategories plugin before starting the upgrade.

Posted by rayners | Comments (2) | TrackBack

June 25, 2004

New Plugin Idea: MacroDesigner

Basically, the idea is to just write a front end for MTMacro. I want it to provide the following features:

Of course, this is still very much in the planning stages. And, as always, any feedback, suggestions, comments, or questions are more than welcome.

Posted by rayners | Comments (2) | TrackBack

June 24, 2004

New Plugin Idea: Author Archives

I know I have previously published a hack that will give you the ability to produce author archives, it just occurred to me that, with the new functionality available to me in MT 3.0, I can write a plugin that will do the same thing, without having to patch the core MT code.

More to come as I develop the idea further. Feature requests are more than welcome.

Posted by rayners | Comments (5) | TrackBack

June 21, 2004

SubCategories 1.2

Since the plugin contest deadline was extended, I thought I would spend some time making more improvements to SubCategories and this is what I came up with.

Download one of the following:

New in this version:

More information and examples can be found in the SubCategories documentation

Update: Just to make sure I am explicitly clear, these are both MT 3 only features.

Another Update: Okay, a bit of a hiccup on my part. I managed to leave a bug in the Category Label Delimeter code when I moved from the testing version to using the config values (unfortunately, callbacks in MT do not generate immediately obvious errors; you have to go look in the activity log). It has been fixed and the version on the site has been updated. So, if you downloaded it before about 1100 (EDT) on Monday, get it again.

Posted by rayners | Comments (16) | TrackBack

June 20, 2004

Coming Soon: GNATS Plugin for MT

mt-send-pr-preview1.gif

This will be one step towards one of my long-term goals: integration of bug reporting into the MT interface. The screenshot you see is from what I have written so far, which is driven from data coming out of my current GNATS setup. Not all of the fields are visible, but I think you can get the idea. More about this later; I need some sleep.

Posted by rayners | Comments (0) | TrackBack

June 19, 2004

Bug Tracking for My Plugins

I think I have finally settled on a bug tracking system that I can use for my plugins: GNATS

The fun thing is that I can completely customize it for use with my plugins, custom fields out the wazoo. So here is a list of fields I am thinking about putting in there. Please feel free to suggest any more you feel might be important.

And for the big important news about this, I am planning on writting a custom MT app/plugin that will allow a user to submit a bug to this system through their own MT interface. That will be very cool.

Posted by rayners | Comments (0) | TrackBack

June 18, 2004

Automatic Category Hierarchy Creation Works

Okay, the automatic category hierarchy creation feature I mentioned in the previous entry is working and checked into my repository. Next in line is an experimental feature (akin to parts of MultiBlog) that will rebuild category archives for parent categories when an entry is posted to the child category. Testing it is part of the reason that I am writing this right now. :)

Update: It works, for me at least.

Posted by rayners | Comments (0) | TrackBack

Coming Soon: Automatic Creation of SubCategory Hierarchies

I successfully tested a big new feature for SubCategories last night: automatic creation of category hierarchies. This is a MT 3 specific feature. To make use of this feature, you would simply need to create a category containing multiple category names seperated by a specified delimeter (I'll use '::' in this example).

So, if you create this category through the regular MT interface:

Alpha :: Beta :: Gamma

The following category hierarchy will be created:

Alpha and Beta will only be created if they do not exist already. If both Alpha and Beta do currently exist in the blog, creating a category named Beta :: Gamma would also produce the same result, assuming the relationship between Alpha and Beta have already been created.

One question just occurred to me. Does anybody want to be able to create multiple categories at the same level. For example:

Alpha :: Beta :: Gamma, Delta

Posted by rayners | Comments (2) | TrackBack

Problems with SubCategories 1.0 on MT 2.x?

Is anybody out there using the latest SubCategories release on MT 2.x? I just finished helping somebody work on their site and I ended up having to downgrade them to 0.4 (a custom version, though, that I wrote a week or so ago). Unfortunately, debugging CGI is difficult remotely, and plugins are even harder. Please let me know if you are having any problems using SubCategories 1.0 and MT 2.x together.

Posted by rayners | Comments (2) | TrackBack

June 17, 2004

SubCategories via XML-RPC?

Okay, so I have been convinced by denizens of #joiito (and I'm sure Zempt users would not mind either) to at least make an attempt to work SubCategories into MT's XML-RPC interface. Unfortunately, I am a little unfamiliar with that technology, as well as MT's implementation of it.

So, while I am learning, does anybody out there have any preferences on how I should work it up? Patch to MT code? New XML-RPC methods? Any suggestions on how the category hierarchy should be returned to the client?

Posted by rayners | Comments (0) | TrackBack

June 16, 2004

Category plugin 0.5

Similar to the Entry plugin, the Category plugin allows you to create a category context in your templates for a specified category.

Download one of the following:

Install:

It currently provides only one tag, MTCategory. MTCategory takes a single argument: name, which should be fairly self explanitory (documentation).

On a side note, part of me is tempted to put the Entry and Category plugins together, add in a few more tags for the rest of the MT entities, and release that as one plugin whose name I have not yet determined. What do you think?

Posted by rayners | Comments (3) | TrackBack

June 15, 2004

SubCategories 1.0

SubCategories 1.0 is here! And there was much rejoicing. (Yay!)

You can download it here:

Some of the more significant changes from the previous release (0.4):

Be sure to read the SubCategories documentation for installation instructions and complete template tag and API documentation.

I spent a very large amount of time fixing bugs, implementing features, and just adding polish to this new version of SubCategories. If it proves useful to you, you might want to consider donating or purchasing something on my Amazon wish list (links coming shortly). I very much enjoy working on all my plugins, and I make them available for free, but they do take up a great deal of my time.

Enjoy!

Posted by rayners | Comments (3) | TrackBack

SubCategories 1.0 Release Soon

It is 2am and I have been coding, tweeking, and debuging SubCategories for the last few hours. Unless I have any more feature ideas over the next day, or find any bugs, SubCategories Version 1.0 will be released tomorrow evening (East Coast Time).

I hope everybody appreciates the enormous amount of work I have put into making this release as robust and useful as possible.

Posted by rayners | Comments (2) | TrackBack

June 14, 2004

Plugin Documentation

I have made the decision to maintain documentation for all of my plugins in a wiki. Part of me wants to try to do it in the blog, but that is becoming impractical (plus a wiki makes it easier to recruit others to help out). I will still continue to make development news and release announcements here, but the documentation will be kept in the wiki I have setup. So far, all that has been created is the documentation for SubCategories, but more will be coming in the next few weeks as I find the time.

Posted by rayners | Comments (0) | TrackBack

SubCategories 1.0 Release Candidate 4

Barring any bugs, this release candidate will become the official 1.0 release of the SubCategories plugin.

Changes from the last release candidate:

Download one of the following files:

The files need to be installed as follows:

Posted by rayners | Comments (1) | TrackBack

June 13, 2004

Entry v 0.5

Changes from the previous version of the Entry plugin:

<MTEntry id="first">
First entry in the blog here.
</MTEntry>

<MTEntry id="last">
Last entry in the blog here.
</MTEntry>

True, the 'last' effect can be achived using MTEntries with lastn equal to 1, but trying to get to the first entry of the blog with MTEntries does not work (i.e. you can either set lastn equal to 1 or sort_order to ascend, but not both). Since I was implementing the 'first' ability, I figured I might as well include the ability to get the last entry as well. It was only two more lines of code. :)

Download one of the following:

And install entry.pl into your plugins/ directory.

Posted by rayners | Comments (1) | TrackBack

June 12, 2004

CommentThreads is working!

As you may see if you look at the comment pages on this site, you can now reply to a specific comment and it will be displayed as such when you submit your comment.

So, CommentThreads is working now. I just need to clean it and ExtendedComments up before releasing them to the public. Should only be a couple more days. Until then, here is the template code I am using on my site to display the comment threads, just to give you a taste (edited slightly for display purposes):

<MTCommentThreads>
<MTCommentThreadsIfFirst><ul></MTCommentThreadsIfFirst>
<li><div class="comment">
<a id="c<$MTCommentID$>"></a>
<h4><MTCommentTitle use_default="1"></h4>
<div class="posted">
<p class="posted">&raquo; <$MTCommentAuthorLink spam_protect="1" 
no_redirect="1"$> at <$MTCommentDate$>:</p>
<p>[ <a href="<$MTCGIPath$><$MTCommentScript$>
?__mode=preview
&entry_id=<MTEntryID>
&parent_id=<MTCommentID>
&static=1">Reply to this</a> ]</p>
</div>
<$MTCommentBody$>
</div>
<MTCommentThreadsRecurse>
</li>
<MTCommentThreadsIfLast></ul></MTCommentThreadsIfLast>
</MTCommentThreads>

Posted by rayners | Comments (5) | TrackBack

June 11, 2004

SubCategories 1.0 Release Candidate 3

Changes from 1.0 Release Candidate 2:

Download one of the following files:

The files need to be installed as follows:

Posted by rayners | Comments (4) | TrackBack

June 10, 2004

SubCategories 1.0 Release Candidate 2

(Okay, so release candidate 1 was pretty short lived)

Here is a release candidate for SubCategories, with added support for the new functionality available in Movable Type 3.0 (though it should be compatible with MT 2.x, but I have not tested it), along with a significantly improved user interface and an API for other plugin developers.

Download one of the following files:

The files need to be installed as follows:

There are a couple more minor feature additions I need to make, and the SubCategory API needs to be documented. Other than that, however, it is pretty much it its final state. Hopefully there will not be too many bugs to fix. :)

Posted by rayners | Comments (4) | TrackBack

June 08, 2004

ExtendedComments Progress And Site Changes

ExtendedComments and CommentTitles are coming along well so far. I am still working up the preview portion of the comment system, but as long as you just go ahead and post, it is working just fine. Once I get preview working, CommentThreads should follow up shortly afterwards.

Update (at 1:40 on 06/08): Okay, so I got preview working now. I was expecting it to go quickly, but not that quickly.

Posted by rayners | Comments (1) | TrackBack

June 04, 2004

Some Sample ExtendedComments Code

Just to help me think things through, I am in the process of porting code from the provided MT::App::Comments class to "work" with my planned rayners::ExtendedComments class. I plan on making each and every feature available in the default comments script work as a plugin of sorts with my new script.

For example, here is the current code for the callback that operates on the entry_id parameter. It will most likely be setup as one of the first callbacks used when creating a comment. If it errors out, the process is halted and no comment is created. Otherwise, it will continue to the next callback, which can error out and halt the process there, and so on.

sub entry_id_param {
  my ($app, $comment, $entry_id) = @_;

  require MT::Entry;
  my $entry = MT::Entry->load ($entry_id) or
    return $app->error ($app->translate (
          "No such entry '[_1]'.", $entry_id));
  return $app->error($app->translate(
        "No such entry '[_1]'.", $entry_id))
    if $entry->status != RELEASE;

  unless ($entry->allow_comments eq '1') {
    return $app->handle_error($app->translate(
          "Comments are not allowed on this entry."));
  }

  $comment->blog_id ($entry->blog_id);
  $comment->entry_id ($entry_id);
  $comment;
}

What I am working towards is a setup where each of the current features of MT::App::Comments is replicated in rayners::ExtendedComments so that adding on new features (e.g. CommentTitles) will be fairly trivial.

Posted by rayners | Comments (0) | TrackBack

June 02, 2004

Coming Soon: ExtendedComments, CommentTitles, and CommentThreads

Recently, I have been talking with Imajes in #joiito about the port of a site to MT. This site currently has a threaded comment system, and he was looking to see if it was doable in MT. Currently, the only way to do it is via a hack, MTThreadedComments, but I thought there might be a better way to do that, especially after all the experience I have gained while working on the SubCategories plugin. So, I am going to announce the following plugins:

ExtendedComments

ExtendedComments, as a replacement for mt-comments.cgi, will not be so much a plugin as it will be a platform for plugins. The idea here is to give plugin authors a way to add functionality to the comment system without having to write yet another MT::App class.

I envision something like the following being used in a plugin to add a handler for a new argument to the ExtendedComments cgi script:

rayners::ExtendedComments->add_param ('param_name' => \&handler);

CommentTitles

CommentTitles will provide what you would expect, titles for comments. Mostly, it is to duplicate functionality of the MTThreadedComments hack, as well as to provide me with a very basic plugin with which to test ExtendedComments.

CommentThreads

Here is the fun part. CommentThreads will provide a threaded comment system for MT users, without having to resort to patching the core files.

All three of these are still very much in the preliminary planning stages, so any and all feedback is more than welcome.

Posted by rayners | Comments (7) | TrackBack

May 27, 2004

SubCategories Will Be Backwards Compatible

subcats_preview1.png

Just to make sure everybody is aware of it, I am taking steps to make sure that the next release of SubCategories will be compatible with both MT 2.x and 3.0.

And here is a preview of the new and improved interface.

Posted by rayners | Comments (1) | TrackBack

May 26, 2004

Proposed SubCategories API

Here is what I have come up with so far. Please let me know if there is anything more I can provide.

rayners::SubCategory will extend the MT::Category class and provide the following additional methods:

Here is some Perl code that can be used to integrate this with a plugin:

my $category_class = "MT::Category";
my $subcategories_available = 0;
eval {
    require rayners::SubCategory;
    $category_class = "rayners::SubCategory";
    $subcategories_available = 1;
};

my $cat = $category_class->load ($some_category_id);

Any thoughts, questions, or concerns?

Posted by rayners | Comments (3) | TrackBack

May 25, 2004

SubCategories API

I have decided to try and provide an interface to the SubCategories data for other plugin programmers (mostly because I want to use it in MultiBlog). Other than a method that will return the category hierarchy itself, are there any other methods anybody would like to have available?

Posted by rayners | Comments (1) | TrackBack

May 18, 2004

Coming Soon: External-Auth

Well, I just finished my initial testing and everything is working just wonderfully. Hopefully I will have things cleaned up and packaged nicely very soon. The External-Auth "plugin" will allow MT site administrators to use Apache's robust built in authentication mechanisms to give people access to MT. For example, I've logged into MT tonight via the following setup in Apache with mod_auth_pgsql :

AuthType Basic
AuthName "Rayners MT Install"
Require valid-user
Auth_PG_host localhost
Auth_PG_port 5432
Auth_PG_user mt_auth
Auth_PG_pwd  password
Auth_PG_database  access_control
Auth_PG_pwd_table mt_auth
Auth_PG_uid_field username
Auth_PG_pwd_field password
Auth_PG_hash_type md5

So, by adding a user into the user table in my access_control database and assigning the right permissions (in this case, in my system_user_access table), which makes the user visible in the mt_auth view, I could give this user access to MT without:

This currently does involve a minor edit to any MT application for which you would wish to use such an access control scheme (just adding/changing two lines). There probably is no way around that for the time being.

(One side note, as this will probably be not so useful for Joe Blogger, I will most likely make this available under a for-pay commercial-use license, but if there is enough interest, I am willing to consider a low-cost personal-use licence. No final decisions one way or the other have been made yet though.)

Posted by rayners | Comments (1) | TrackBack

May 17, 2004

Optional-Redirect is of no use in MT 3.0

After reading what Scott wrote, I took a look into the code and documentation for MT 3.0, and it turns out that my Optional-Redirect plugin is of no use with the new version of MT. MTCommentAuthorLink now supports the no_redirect argument to turn off the redirection "feature".

For example:

<$MTCommentAuthorLink no_redirect="1"$>

Posted by rayners | Comments (1) | TrackBack

May 15, 2004

Progress on SubCategories for MT 3.0

I have sent out the second beta version to the testers. Significant improvements have been made to the plugin.

Assuming testing goes well, a public version should hit the streets in a week or two.

Posted by rayners | Comments (0) | TrackBack

#mt-plugins

Just for the heck of it, I have decided to start hanging around in #mt-plugins on irc.freenode.net. It's not an official channel at the moment, but if others start coming in, I will take that step. I figure I can do a little real-time plugin support there, along with gathering up ideas and suggestions for new and current plugins.

Posted by rayners | Comments (1) | TrackBack

May 14, 2004

Progress towards an MT 3.0 port

Well, after staying up later than I probably should have, I seem to have a working version of SubCategories in MT 3.0D. I'll spend some time cleaning it up tomorrow and letting the volunteer beta testers, if there are any left now, take a whack at it while I start integrating some of the new MT 3.0 plugin features.

Posted by rayners | Comments (4) | TrackBack

April 28, 2004

Migrating plugins to MT 3.0

With MT 3.0 coming soon, I figure I should take the time to go through each and every one of my plugins and give them a thorough looking-over and scrubbing if necessary. At least make sure that they will not crash any MT 3.0 install. And update them to hopefully take as much advantage as possible of the new features coming down the pipe in MT 3.0. Basically I want to certify each of my plugins for MT 3.0.

To do this, I will need a number of willing guinea pigs volunteers (who, for the time being, have access to the beta). In return for their willingness to place their hard earned blogs in jeopardy, I promise to:

I imagine coordination would be done over a mailing list or web forum, along with a bug/feature request tracker and other fancy engineering software. And maybe I will toss in an IRC channel to boot. Who knows?

Anybody want to step forward?

Posted by rayners | Comments (13) | TrackBack

March 24, 2004

SubCategories v0.4

Download the new version here:

Posted by rayners | Comments (13) | TrackBack

February 17, 2004

MTCountdown v0.4

I have finally gotten around to cleaning up the quickie update I did to help out the Blog for America folks.

So, here is a summary of the changes in this version:

Download it here:

Note: I know I have been asked this before, so I would like to head off the feature requests right now. I currently have no plans to incorporate 'months' into the list of periods checked, as months do not have a fixed length. If somebody else wants to put together the code to do that calculation, I would be happy to integrate it into the plugin, but I do not plan on doing it myself.

Posted by rayners | Comments (11) | TrackBack

February 03, 2004

Optional-Redirect v0.1.1

Just a quick update to fix the problems people have been having with the initial release. Enjoy!

Posted by rayners | Comments (2) | TrackBack

January 23, 2004

MTBlogShares v0.6

It's baaack. :)

I have finally brought the plugin in line with the new version of the site (mostly just updating a few of the regular expressions). I will be adding new features soon, but this version will work well enough for now.

Here is the summary of the tag changes:

Please refer to the documentation in the original MTBlogShares until I can write up something newer while I start adding features in the coming weeks.

Posted by rayners | Comments (8) | TrackBack

January 21, 2004

SubCategories v0.3

Thanks to some updates from Bjoern Graf, the following has been changed:

Enjoy!

Posted by rayners | Comments (10) | TrackBack

January 20, 2004

Optional-Redirect v0.1

I upgraded to MT 2.661 now, but I was not too sure about whether I wanted to use the new redirect "feature" for the MTCommentAuthorLink, so I wrote up this little plugin. Install it like any other plugin, and the MTCommentAuthorLink tag now takes a new argument, redirect. If set to 1, the redirect feature is used, otherwise, the old style behavior is used (I ripped the code directly out of MT 2.64).

Posted by rayners | Comments (28) | TrackBack

January 19, 2004

SubCategories version 0.2.1

This is just a minor bug-fix release. SubCategories should now correctly recognize the category when it is used in a category archive template.

Enjoy!

Posted by rayners | Comments (8) | TrackBack

SubCategories version 0.2

Here are some big updates to the SubCategories plugin:

<MTParentCategories glue="/"><MTCategoryLabel dirify="1"></MTParentCategories>

Download from here:

Posted by rayners | Comments (1) | TrackBack

December 27, 2003

Closing comments on old entries

Based on what Jeremy has worked up already, I have created a small little MT application that will close the entry to comments (and pings if you so desire) for any entries older than a given number of days (defaults to five).

So, download one of the following, unpack it, and place mt-close.cgi in your base MT directory. Be sure to set the permissions of the file so that it can be executed.

Then, to use it, just bring up http://your.mt.url/mt-directory/mt-close.cgi in your browser of choice.

Enjoy!

Update: (2003-12-27 12:10)

The bug Neil found is now fixed. Just download the script again.

Posted by rayners | Comments (37) | TrackBack

December 24, 2003

Opening up my plugin code repository

Before I go and do anything drastic, I thought I would pose this question to the community at large: would anybody out there be interested in gaining read-only access to my plugin source code repository (i