Movable Type 3.1
After talking to Brad about the new version of MT, I felt it deserves a whole blog post about it just to talk about how amazing it is and get rid of all this excitement building up in me
First of, David's Subcats being built into the application. Well I knew it ! In #mt-plugins, David told me and a few others that he would not be entering his plugin into the contest - on further questioning he said that there was another party involved. Well once he said that it wasn't too hard to guess the right answer and we were helped by the fact that when he guessed it he either changed the topic or kept quiet ! Never-the-less I am very excited about this because Sub Categories are vital for many bloggers and I am happy that 6A is implementing some of the most frequently used plugins.
But the main highlight of the new release is its dynamic-ness ! Brad is working a lot on this and guess who I was bugging about the Smarty thing, Brad ! I IM'd him today to express my excitement and perhaps get a bit more out of him and well he told me a lot of information
This new dynamic engine will be using Smarty, MT 3.1 will come packaged with Smarty that will be located MTDIR/php/extlib/Smarty. It won't be half as complicated as complicated as manually doing it - heck it won't be complicated at all - I assume it would be something of a checkbox located on each template page. You will have the option of deciding which templates are dynamic and which are published statically, so you can leave your index page and perhaps your feeds as static, but make all your archives dynamic. This is a good combination since it saves you the time of doing a full rebuild, but the pages that get hit the most are just plaintext. However you do not have to, you can make your site fully dynamic, fully static or any combination in between.
However it isn't all great. One major caveat with this new templating system is the fact that it would break most plugins. If you chose dynamic templating, none of the existing tag-based perl plugins will work with it, <MTMacro> for example. This is because they are written in perl and not PHP., but not to worry. There is an architecture for extending the PHP side as well so I assume most plugin authors - once 3.1 is released - will be either converting their plugins or creating other versions to work with the PHP rendering system. Plugins like MT-Blacklist are fine since it doesn't add tags, it just operates with the user interface and backend code. The only way these plugins would work as before is if you did not use the PHP rendering system - ie you still had rebuilds !
That's all I managed to squeeze out of him about the dynamic templating before I had to leave :sad: But I'm very excited about MT becoming dynamic. Unlike Wordpress, I think there will be the flexibility there always has been where you can create different archive templates (a feature I felt greatly lacking in WP)
UPDATE: Well David finally showed up on IRC so I was able to ask him more about SubCats being integrated into MT. The version of SubCats that will be integrated will have no newer features than version 1.2. I learned that a spiffy new interface has been designed and life made much more simpler for MT users.
One of the best things is David told me that the tags will remain the same or similar so that transition will be easy. With the spiffy interface, users will no longer have to use one of the new features of Alpha::Beta::Omega (the :: acted as an identifier to create sub category relationships) as each category will have a "create subcategory" link effectively. I was a bit sad to hear that the experimental feature of rebuilding parent categories might not happen - but if it does it will default to off ! The SubCats API will also be ported over but will be modified a bit to reflect changes with the database !
Now more about the dynamic templating. One reason that 6A have decided with the Perl/PHP combo is because a huge investment has been made with Perl and the current plugin repository. you don't want to abandon the entire plugin repository by going to PHP only, while on the other hand people wanted dynamic-ness.
About breaking plugins, they've chosen this route because for some plugins it is ridiculous to expect them to work in dynamic templates. He gave me the example of MT-Amazon - a plugin that queries Amazon depending on variables passed in the template. If you put that into a dynamic template it would be the equivalent of performing a DoS attack on Amazon - it would be querying Amazon on a per-page basis ! So plugins like that would be used still in static publishing, which you can still use, again on a per-template basis. a separate template could build to physical, static files and then you could include that using a MTInclude tag in the dynamic template.