We just launched a portfolio plugin for WordPress at the beginning of September. Every project has its gotcha moment right at the end when you think you're done and an undiscovered assumption rears its ugly head. The plugin, Pizzazz Portfolio, was no different. The business model for Pizzazz is freemium where a free version is available to everyone and a commercial version with more features is available to those who want more beef. Our stumbling block was when we realized that we couldn't perform a direct upgrade from free to premium using WordPress. We've built several WordPress plugins, however the portfolio plugin is the first time we've released a plugin into the WordPress plugin directory for mass distribution. I asked some peers of mine how they handled these types of upgrades and they told me that they typically wrote custom updater classes. We could have done this, but there was just one problem: like any good developer, I'm lazy. I don't want to write custom updater classes if I don't have to. I won't explain here why it is good for developers (and benefits their clients) to be lazy, but I will blow your hair back by explaining how we used Joomla to upgrade WordPress.