- Conversion to CMS

Related Stuff

DrupalHTMLMySQLPHPSite ArchitectureTutoring 2007-12

Sorted is a portal project created by the Retirement Commission of New Zealand providing tools and advice on money management to the public.

It contains many online calculators for assistance in budgeting, investment and borrowing, helping people plan for their goals, or review the true costs of financial planning.
More about Sorted

The site was begun in 2001, and was constructed over time with a combination of handmade management tools and custom code to effect the calculators and budget management features. It is one of the most high-profile websites in New Zealand, promoted constantly in television advertisements and advertised on and referred to as a resource by many other major NZ portals such as trademe, Stuff, Scoop, Xtra as well as banks and consumer sites.

In 2006, I was called in to help repair problems they were having with the scaling of the legacy code, as it had received hundreds of thousands of user registrations, and was hitting much higher traffic rates than had been predicted in the initial code releases. Working with the team from Sparks Interactive, I went through processes of stress-testing, Code Review, MySQL database optimization and other reporting tests to prop up the performance. A combination of solutions (MySQL tuning, PHP Accelerator) were rolled out carefully on the live site.

In 2007, as part of the long-term plan, the entire site was converted to the Drupal CMS. I had much experience in that platform, and assisted in a mentor role for the Sparks Interactive team. I developed several custom solutions, including

  • CMS architecture for the content management and menus
  • a migration path for all the legacy PHP code without major rewrites needed (the precursor of Drupal wrapper.module)
  • migration of the user data and details into the new framework
  • Theme and layout solutions for custom requirements
  • Coding dynamic menus (jquery) in association with the database-driven section menus

Case study on