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:
- symfony
- Symfony Components
- My Technical Blog
- Sensio Labs Books
- Sensio Labs Network
- Sensio Labs Trainings
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.
"The forum is under maintenance. Sorry for the inconvenience."
;)
If you look at http://www.symfony-project.org/community, the dates are borked. Is there a compatibility problem? An extra test needed for the project:validate task?
I've updated a few projects to 1.4 and the biggest issue I found was the usage of array-like selectors in requests, for example $request->getParameter('filter[something]');
I couldn't find it in the deprecated descriptions, but I managed anyways (was before the validate task came around).
@Robert: The forum is not done with symfony. The problem with the forum is not related to the migration to symfony 1.4.
@Tony: It's because the forum is offline, and so the task crashes. So, not related to the migration.