Till this date i was working all alone on drupal projects. Now i am into a team of 10-15 members. They are using common DB on a machine and different code base on each machine. So was wondering which is the best way to manage and work on drupal project when in a team ?
-
For us, facing the same problem as you. Have not thought of a good method to sync database between DEV and Staging except manually done using tools like Navicat. Each developer has its own DEV environment, and working on different parts. When its time to commit their part into the staging, changes in the Drupal config are manually repeated into the Staging site. :(– Kiat LimCommented Feb 13, 2012 at 8:09
1 Answer
Any control version tools: GIT, Mercury, SVN and etc for controlling team source.
Also drupal have prepared version of drupal installation for team working for tracking timelines, bugs, etc:
Drupal used as a project management tool
More version controlling tools reviewd here: http://www.smashingmagazine.com/2008/09/18/the-top-7-open-source-version-control-systems/
And there's many ready services (free or usually payment) for working with team in internet, try this search: http://www.google.ru/search?q=project+management, there I see basecamphq.com for example.
More hard thing is DB synchronizing, because it's depend on your tasks, for example, sometime merging portion of content and users are needed, sometime aren't. Some of system variables should be synchronized, some of these not. Some content type or fields are required, some just for test.
- Hard solution is writing script (manual) in any language that have access to DBs and track changes.
- Other solution is using Features module with some contributed, like Strongarm and etc. This module create module that have changes, where developers export their changes, so it can be controlled via Version control tools as usual plain file. You will just enable it, and their changes will applied to central site. Also with this (and not only) cool tool used: Drush, for me this is the best solution.
- Also there's tools of synching depend on DB engine, Best tool for synchronizing MySQL databases for example.
-
we are using SVN. But see all things in drupal get stored in DB, So this is where all problem comes. DB has to be maintained in sync with all systems of developers if we are not using common DB ..– HackerCommented Oct 3, 2011 at 11:09
-