Movable Type/Melody project updates
Besides sending in several commits to Melody over the last few weeks, I've done the following:
- Updated the Gravatar plugin to use a config.yaml file.
- Nearly completed integrating my Google Closure Compiler plugin with Hirotaka Ogawa's Minifier plugin. My fork of his Minifier plugin also adds a build filter that lets Movable Type/Melody users specify an automatic minimization of HTML and JavaScript from the template editor without using Minifier's template tags.
- Created a plugin which provides a tag to generate a WordPress-style tag cloud. Source code will be uploaded soon, but a download is available already on GitHub.
- I have release candidateinitial release versions of the following WordPress templates as Movable Type/Melody themes that work with Dan Wolfgang's ThemeManager plugin:
Two important additions to Melody that I committed are a fix for the meta variables (__first__, __last__, etc.) in <mt:EntryCategories> and support for tagging categories.
Movable Type/Melody themes, now as easy as WordPress
Dan Wolfgang's excellent new ThemeManager plugin for Movable Type and Melody takes both Movable Type 4.3 and Melody to a point where theme installation is as easy as WordPress. Just choose a template set and ThemeManager will install it in a few clicks as the new look and feel of your Movable Type or Melody blog in a matter of seconds, with just a single rebuild needed to close the deal.

As you can see here, I have begun to bundle the
themes that I have converted from WordPress as a theme pack for ThemeManager. Now, instead of having to download them individually and apply them through StyleCatcher, the whole process has been dramatically compacted!
There is still a lot of work to be done here to make it release-ready, but in the very near future, Movable Type and Melody should have available to their users theme packs for
Hybrid,
Sandbox, Classic Blog and others all through a single, clean interface.
If you would like to give it a shot, head over to GitHub and
download it. You will need to install
Config Assistant 1.8.1 and
CustomCSS before that. Once you have those three plugins installed, you can also download Dan's
Classic Blog Theme Pack which contains a few of the default Classic Blog looks repackaged as a theme pack. I will have my themes up in a few weeks; a lot of work still needs to be done to get the packaging right.
Thinking about installing Movable Type for the first time?
If you're thinking about installing Movable Type for the first time, please take the time to read this quick unofficial public service announcement before you get started. It will save you a lot of grief.
Right now, there are two official downloads at movabletype.org, one for 4.34 and one for 5.01. The latter is the latest version, and like all bleeding edge versions, it's rough around the edges. That doesn't make it bad! It's just a radical new upgrade to Movable Type, and it's still finding its legs as a platform. Version 5.1 which aims to correct many of the problems with 5.01 is in active development and will hopefully be ready soon for those already using 5.01.
In the mean time, I highly, highly recommend using 4.34. The 4.X branch has been around for almost three years now. It's rock solid compared to 5.X, very well supported in the way of plugins and styles, and you can always upgrade later.
Or, you can switch over to Melody. What is Melody, you ask? It's the result of a lot of people having a different opinion about where Movable Type Open Source should go in its development. Consequently, it's based on Movable Type Open Source 4.3, not 5.0. Therefore, once it is ready for regular use, it'll be a lot more painless to upgrade to Melody. If you're interested in helping us out, we already have a good "Alpha 1" release that needs testing (use it for your main blog at your own peril right now!).
MT Privacy 3.0 test
I need help testing my work with Privacy. This version features a lot of upgrades and improvements over the original version by Arvind Satyanarayan. I need people to not just kick the tires, but to take a big stick to them for some very good reasons.
Privacy 3.0(ish) beta 1
Google Translate 1.0 final has been released
Version 1.0 of my Google Translate plugin is officially released.
How to associate an asset with an entry
As far as I can tell, there is not much documentation out there for associating an asset with an entry in Movable Type/Melody, so here is a straight forward explanation. In the entry editor, a plugin developer can latch onto the functionality that the entry editor already provides by simply adding some additional elements to the asset list. Here is a JavaScript function built around jQuery that illustrates the process.
That is taken from $MT_DIR/tmpl/cms/dialog/asset_insert.tmpl and modified to be able to be called from within the template editor. It should be callable from a plugin-created dialog window using window.parent.addAssetAssociation. The options parameter is a configuration object that takes in asset_id, asset_file_name and asset_thumbnail as properties.
This is how you create an association in Perl code using the MT::ObjectAsset object:
The datasource property doesn't have to be 'entry'. It can be dynamically set using the datasource method of the MT::Object subclasses like this: $object_asset->object_ds( $obj->datasource() ); That allows any number of object associations like ones between an object from a new plugin with assets.
Image Gallery 3.0
Image Gallery ExtJs Searching Image Gallery ExtJs Loading More and Menu Image Gallery ExtJs Loading
On the OpenMelody mailing list, Byrne Reese sort of challenged me to create a plugin using ExtJs to demonstrate what it could offer Melody and Movable Type plugin developers. It's not finished yet, but I think that this version so far is a lot cleaner than the 2.X series. If ExtJs catches on with Movable Type developers, hopefully someone will create a theme for it that matches the look and feel of Movable Type.
mtTouch Preview
For over a week, I've been working on converting
WPtouch into a Movable Type/Melody plugin.
Here is a demo of the work so far. It is steadily progressing to the point of being ready for a beta release. This will be a hybrid template set and plugin, as some of the template's behavior will be controlled by configuration settings made in the admin console. I have just a few more finishing touches and GitHub commits to make before it is ready for 1.0 beta 1 status.
YAMLizing some MT/Melody plugins
Version 4 of Movable Type introduced
YAML as a way to set up plugins. Besides being a lot easier to read than the old Perl file-based approach, it brings the benefit of reducing Movable Type's overhead because the Perl interpreter no longer has to load and execute a Perl script for each plugin. The YAML file configures Movable Type appropriate, and Movable Type loads and calls the Perl code referenced in the plugin now only as needed.
Recently, I have worked on converting the following plugins (with more to follow):
- Privacy
- Feeds.App Lite
- Textile2
- mixiComment
- Blog Cloner
- LinkRoller
More to follow as time permits.
Good news about MT-Privacy
It's still not 100%, but it works just fine on Movable Type 4.261.
Remember the old caveats about using it until it is "release-ready," but it showed no signs that the MT::Auth::OpenID drivers were conflicting. Once I get some time, I may submit a patch to Melody to actually fix the issue with OpenID that requires this hack.
LinkRoller now has a blogroll editor
For those who are interested, I've completed my last major commit to
CREATE_BLOGROLL which is the Git branch of LinkRoller for adding the blogroll editor. There will be some minor updates, and this isn't a release, but it's there now for people who want to try it out. My next work on this plugin is going to be to convert LinkRoller.pl to a config.yaml file. That should go a long way toward reducing the impact that this has on Movable Type's memory footprint (probably not very much, but it will definitely help).
Preview of an update to Linkroller

Blogroll creation and management coming soon...
A request for testing my branch of MT Privacy
At the start of this month, I started hacking away at
my fork of MT Privacy, Arvind Satyanarayan's plugin for Movable Type which allows entries, pages, categories and entire blogs to be made private. I have it running on my blog, which is running MT 4.32. It works with passwords, Movable Type user accounts and every OpenID system I've thrown at it (Google, WordPress and AIM as far as I can remember). I even got it working
with dynamic publishing, with the tags for PHP and Perl being roughly identical in functionality and use.
What I am looking for is feedback on the following things:
- What's broken.
- Test it with other OpenID systems.
- Test it on MT 4.1 and 4.2.
- Test out the private categories and blog features.
- Report any conflicts with the comment system.
Now this is important, so read this point carefully; there is a reason I am trying to get your attention with bold text!The Movable Type OpenID module, MT::Auth::OpenID, has a hard-coded reference to the comment script in it. There was no way that I know of to trick it to behave differently, and that's important because Privacy is guilt on top of the underlying modules that power the comment system. So there is a possibility that there will be conflicts with the existing copy of MT::Auth::OpenID and the one bundled in this package. I am relying on the assumption that Movable Type normally loads its lib and extlib directories before loading the lib directories of plugins; my mt-privacy.cgi script loads its lib directory before the Movable Type library locations so that it will hopefully pick up my modified copy before it sees the system-wide copy.
So for me, the two can coexist peacefully. I have no conflicts. What I want to know is what others experience when using this.
News for the end of October
I have released two new plugins,
Comment Flag and
MakeExecutablesHarmless. The first one is a reporting mechanism which allows people who are visiting a Movable Type-driven website to report a comment to the blog administrator for violating the rules. The second one is a simple plugin which prevents non-administrators from uploading certain types of executable files such as PHP files through the Movable Type file uploader without making them incapable of executing. It does that by renaming the file such that the server won't recognize its type as executable and it updates the mt_asset reference for the file so that asset tags don't break.
Recent Comments