As per my last post I am going to have a look at Symfony2. I intend to recreate a non production version of the new Lime Thinking site.

This means recreating the following features of the Lime Thinking site:

  • Static content for many pages but with common overall view.
  • CMS pages for testimonials and projects, needs an admin section, with publishing articles rather than live editing.
  • Plugin views for testimonials, projects and right hand side view to come from the CMS content.
  • Search including indexing, retrieval and auto search, which requires generating JSON responses.
  • Collecting messages and sending them as emails via the database.
  • Error page on exception for user but with exception logged and a notification emailled.
  • Custom 404 page with search
  • Management of CSS and JavaScript files - combining and minifying/packing mutliple files, as well as dealing with versioning for caching purposes.

This is not a very complicated project and doesn't try and test Symfony2 to its limits or try and use everything it can do, but it is a real world project, none of these features are artificial. My intention is to start looking at the Symfony 2 "book" and to get going and to the try to recreate the Lime Thinking site. I am going to post on my way on any interesting features, gotchas and anything else I think may be useful as I go. This series of posts is not intended to be a guide to getting started with Symfony2 since I am only just doing that myself but hopefully it will prove useful to anyone else in a similar position.