Typo - Upgrading to 4.1.1
I finally got around to upgrading from Typo 4.0.0 r1188 to Typo 4.1.1 and it was pretty smooth. I had held off for a while because Typo was changing a lot under the covers with some much needed refactoring and I have a few hacks I didn't feel like modifying with every minor update.
I ran into some initial issues because I was installing from the tarball and not the gem. I had an older version of Rails and Typo 4.1.1 needs Rails 1.2.3. Running "rake migrate" doesn't check the Rails version and would just abort. Eventually I guessed the problem reading the --trace output and I was on my way. The other curiosity was that Gem's --install-dependencies didn't work for me. I still had to install/upgrade rake, activerecord and a number of other packages before installing rails using gem. I think it would be nice if --install-dependencies did install those or at least showed all the packages that were needed in one report instead of just showing one and aborting. Perhaps there was something wrong with my setup. With CPAN, you get to see all the required dependencies in the first report and it will install them all for you in one shot. However, compared to gem, CPAN might show too much information by default. Perhaps the majority of the information CPAN shows should be moved to a non-default verbose mode.
I have a few hacks running on this blog so the update consisted of the following:
- Theme: This blog runs a modified version of Azure which used a table that no longer exists in 4.1.1. Because of this Typo wouldn't start. To get around this I did a manual SQL update of the settings column in the blogs table to reset the theme to Azure before migrating my mods over. The settings field is an aggregate field with serialized information delimited by carriage returns. I prefer using JSON to serialize complex data structures stored in a single db field which I think is much more maintainable.
- Categories Sidebar: This had moved from ./components/plugins/sidebar/category to ./vendor/plugins/category_sidebar. Now that the sidebars are stand-alone Rails plugins, it makes more sense for me to turn my custom Category sidebar into its own thing instead of modifying the existing one.
- Notable Links: I put together some social bookmarking links a while back for Typo 4.0.0 and it was reported to no longer function with 4.1.1. A little checking showed that article.location was no longer available and replaced by article.permalink_url. Both 4.1.1 and 4.0.0 versions of the Notable view are now available. The method call used to display the article body in ./views/articles/read.rhtml had also changed. This is used as a reference point to insert new code.
- Table of Contents: The Table of Contents solution I had put together had also broken and is now fixed. It is interesting to see the progression of link creation from 2.6.0 to 4.0.0 to 4.1.1. The previous two used Rails' link_to helper but 4.1.1 creates the HTML manually.
The rest of the changes were pretty straight-forward to carry across, including the category icons and routes.rb mods I use.
Overall, the upgrade was smooth after I figured out I needed to upgrade Rails from the rake migrate failure. I like the refactoring of the plugins and look forward to making some.
Frédéric de Villamil, the current Typo maintainer, menioned that 5.0 is coming and will have the following features:
- Plugin Manager: to download and install plugins from the official repository
- Advanced Theme Manager: to download and install themes from the official themes repository
- Real Multi-User Support
- OpenID Support
- and more....
I've been pleasantly surprised with the development activity happening around Typo and can't wait for version 5.0.