Today, I spent some time migrating some of my public websites to symfony 1.4. I wanted to validate both the stability of this new version, and also see how easy it was to upgrade to the first symfony version that does not have any support for deprecated stuff.

In a matter of hours, I have migrated to symfony 1.4 and deployed the following websites:

Of course, the most interesting website to migrate was the symfony website itself: first because it's a very old website, and then because it has a lot of features, and a somewhat "complex" database schema (the website uses Propel).

The symfony website started its life on symfony 0.4 more than four years ago, and has underwent several migrations since then. The last migration was months ago for symfony 1.2. So, you can imagine all the old code lying around. But to my own surprise, migrating it to symfony 1.4 was actually quite easy, probably because of the new project:validate task. It gives me the confidence to press to deploy button without too much fear.

The only "real" problem I had to resolve was the "demo" website for the old Ajax support we had in symfony 1.0. What to do with it? The answer was actually quite simple. I have just copied the JavaScript files from the Protoculous plugin and put the JavaScript helper to my lib/helper/ directory.

And I think that's something you can do if you find some code that cannot be easily migrated. Just copy the needed files under the lib/ and/or web/ directories of your project, and you are done. That way, you will have more time to plan a proper and complete migration.

If you start migrating your applications to symfony 1.3/1.4, please share your experience, and let us know any problem you might encounter, so that we can enhance both the migration guide and the project:validate task.

Published in #Living on the edge