We are a team of many developers working on a website that uses both Joomla and custom PHP scripts. The problem is that there are multiple developers working on various features which need to update information in Joomla (adding modules, changing existing ones or changing settings) and when one developer changes something, he usually makes the change locally first and then does the same thing (hopefully) on the production server. Not only that this is very error-prone, but the developers often forget to tell other developers about the changes. The custom PHP scripts are easily shared between developers, but the changes in Joomla are often forgotten and they lead to serious conflicts when a developer tries to replicate his local changes in production.
I have thought about placing Joomla in a Mercurial repository, but how could we distribute the changes in the database between the development, the testing and the production machines?
We run all of our Joomla sites over subversion, checking them out as required. We just branch whenever we need to make major amends to a project.
In general, we run a single test database which is shared amongst everyone to ensure we have consistent data but you could easily run local DB's as well.
We use SVN for all our customers with separate databases. When installing a new extension the database changes. With a diff of the databasedump before and the databasedump after installation of the extension we know what the differences are.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With