Well, it was rather a low priority task (due to its possible difficulty), but it has been advancing so well in just two days that I think I can already make a little preview on this...
First of all, I'd like to officially welcome Guillaume Viguier-Just, who joined forces with us just yesterday. Guillaume has a considerable PHP development experience, so it's been pretty easy for me to give him a few basic tasks in Chamilo and it's apparently been pretty easy for him to honor them. I'm looking forward to all the good things he will be able to give the Open Source community in the next few months of his collaboration with us. No need to explain Mercurial, PHP, timezones, Ubuntu or coding conventions: he's been getting to work straight on. Great time savings!
Then let's explain the timezones problem...
We had a problem in Chamilo, that all instances of Chamilo portals installed on the same server have to share the same timezone (namely because there was no timezone management in Chamilo or its ancestors). This effectively meant that we, as hosting providers, had to have 1 server for each timezone available in the world if we wanted to have customers all over the world, which would have meant much more expenses and hosting prices shooting up.
So I decided to go ahead and create requirement #599, which is in fact a group of 3 tasks:
- identify and analyse what the current time management process generates (in terms of times recorded on the system) and consequently all timestamp fields were converted to datetime (to have a unique time base all over Chamilo)
- implement a portal-based timezone feature (allowing various portals on the same server to serve distinct timezones)
- implement a user-based timezone feature (allowing users from the same portal but living in areas with distinct timezones to see all hour-based time references in their own time-base)