Embora essa seja uma pergunta antiga com uma resposta aceita, acredito que ainda há espaço para outra.
Primeiro, deixe-me dizer de antemão que eu não acho Características seja a ferramenta certa para esta tarefa e proponho um conjunto alternativo de ferramentas.
Um pré-requisito para a colaboração da equipe é ter um servidor intermediário para testar versões de desenvolvimento do projeto separadas do servidor de produção. Todo o código de desenvolvimento é testado no servidor de temporariedade e enviado apenas ao servidor de produção quando está estável e pronto para implementação. No entanto, os desenvolvedores não trabalham diretamente no servidor intermediário. Cada desenvolvedor trabalha em sua própria estação de trabalho, usando um controle de revisão e gerenciamento de código-fonte (SCM) para coordenar seu trabalho com o restante da equipe.
O sistema SCM permite que os membros da equipe trabalhem em paralelo em diferentes ramificações do código sem interferir entre si. Somente a ramificação principal é implementada no servidor intermediário para fins de teste.
Para espelhar o banco de dados entre produção, preparação e estações de trabalho, existe um módulo chamado Backup and migrate que pode ser usado se você estiver em hospedagem compartilhada e não estiver gerenciando seu próprio banco de dados. Se você está gerenciando seu próprio servidor de banco de dados, este é o único projeto nesse servidor e você usa o mysql , o seguinte par de comandos é útil:
Para despejar:
mysqldump --all-databases --opt -u root -p > DUMP.sql
Restaurar:
mysql -u root -p < DUMP.sql
Se o seu não for o único banco de dados nesse servidor, escreva alguma versão mysqldump
(ou equivalente, se você não estiver usando o mysql ) que despeja apenas seus bancos de dados.
Faça uma política de que é o banco de dados no servidor de produção que é mestre. O servidor intermediário e as estações de trabalho devem ser uma cópia do banco de dados de produção, não vice-versa.
Observe que o Drupal 7 mantém todas as configurações de administrador no banco de dados. Isso significa que o espelhamento do banco de dados entre o site de produção, o site de teste e as estações de trabalho migrará as configurações de admim sem Recursos .
Agora, para compartilhar o código:
A maneira padrão de compartilhar código entre os membros de uma equipe de desenvolvimento é usar o sistema SCM. Por padrão, o Drupal é gerenciado com um sistema chamado git .
O Git permite o uso de repositórios locais ou remotos. Se os membros da equipe estiverem localizados no mesmo espaço físico, você poderá configurar um repositório local em seu servidor intermediário. Se eles estiverem espalhados geograficamente, você poderá configurar um repositório remoto. Se você não se importa que outras pessoas tenham acesso de leitura ao seu código em desenvolvimento, use uma sandbox no Drupal.org como repositório remoto. Você também pode usar uma área de projeto no GitHub . O GitHub não é apenas um repositório, mas vem com algumas ferramentas de colaboração e permite repositórios públicos e privados.
Basicamente, um sistema SCM permite que os membros da equipe retirem o código-fonte e a documentação do repositório compartilhado pelos membros da equipe e retornem novamente depois de terem trabalhado nele. O SCM controla as alterações e, se houver um conflito (por exemplo, alguém tenta enviar um código que não contenha as alterações que outro membro da equipe cometeu), ele informará e sugerirá uma maneira de resolver esse conflito.
Geralmente, com alguma comunicação cordial sobre como as tarefas são divididas entre os membros da equipe, não haverá conflitos. Mas, com o sistema SCM acompanhando as coisas, os conflitos se tornam administráveis, mesmo se forem cometidos erros ou a comunicação falhar.
Existem muitos tutoriais sobre como começar e usar o git (GIYF). Dois que eu recomendarei são: o site git-scm e o Pro Git de Scott Chacon.