So I started working on the Timezone support within My Book It. While in theory it all sounded great, in practice it was an absolute nightmare to try and get working by recording the offset and then working out the difference with the current offset. (As explained in the previous posts)

The long and short of it is that when recording the time in Unix Time Strings, they don’t change as you change timezone. So for a school that was to set their timezone and leave it AND not go through Day light savings or similar, this method would work great. But that isn’t how it works. for many places with day light savings.

So I went back to the drawing board about how to best do time zones within My Book It.

After much thought, the best option was to record the date in a format like yyyy-mm-dd rather then Unix time string. I was able to speed up the process by adding additional columns into the tables that needed the changes rather then replacing the existing columns (or changing them).

This has worked out well because the starting time is recorded separately in the database.

I then had to go through the entire site converting the dates etc over. Overall this hasn’t been to bad, just time consuming.

This was a big change and it has taken a good 2 months to do completely. I have also had to build a full testing plan for the site to ensure that I don’t miss many of the little gotchas that often pop up. This has been a┬álong but rewarding exercise as I have caught a lot of issues before it gets rolled out.

The next step is to roll out the changes to all sites. I am a little nervous about such a large roll out, but I have done my testing and have good backups in place so I should be ready for any snags that may come up in the process.

Think I might to something simple next time like IPv6 in my home network.