I’m currently developing a Content Management System for the company i work for and one thing i’ve spent alot of time looking into is how am i going to keep track of updates when it comes to updating 100+ client websites. I ran into a rather great idea, inspired by Ruby on Rails Migrations. Basically Migrations alter the database in an organised way where anyone can come in and look at what updates have been carried out in the past and most importantly it will keep track of which changes need to be run against the clients websites when they come to upgrade them. You can even downgrade to previous versions if need be.
Although this is extremely useful for managing the database but what about the file system? This is something i’m thinking really hard about as it needs to be totally upgradeable and downgradeable. Maybe it’s time i start looking into something like Github?