Si bien esta es una vieja pregunta con una respuesta aceptada, creo que todavía hay espacio para otra.
Primero, permítanme decir por adelantado que no creo que Características sea la herramienta adecuada para esta tarea, y propondré un conjunto alternativo de herramientas.
Un requisito previo para la colaboración del equipo es tener un servidor de ensayo para probar las versiones de desarrollo del proyecto que es independiente de su servidor de producción. Todo el código de desarrollo se prueba en el servidor intermedio y solo se envía al servidor de producción cuando es estable y está listo para la implementación. Sin embargo, los desarrolladores no trabajan directamente en el servidor de ensayo. Cada desarrollador trabaja en su propia estación de trabajo, utilizando un control de revisión y gestión de código fuente (SCM) para coordinar su trabajo con el resto del equipo.
El sistema SCM permite a los miembros del equipo trabajar en paralelo en diferentes ramas del código sin interferir entre sí. Solo la rama maestra se implementa en el servidor de ensayo con fines de prueba.
Para reflejar la base de datos entre la producción, la preparación y las estaciones de trabajo, hay un módulo llamado Copia de seguridad y migración que puede usarse si se encuentra en un alojamiento compartido y no administra su propia base de datos. Si está administrando su propio servidor de base de datos, este es el único proyecto en ese servidor, y usa mysql , el siguiente par de comandos son útiles:
Para volcar:
mysqldump --all-databases --opt -u root -p > DUMP.sql
Restaurar:
mysql -u root -p < DUMP.sql
Si la suya no es la única base de datos en ese servidor, cree una versión de script mysqldump
(o equivalente si no está usando mysql ) que solo descarga sus bases de datos.
Haga una política de que es la base de datos en el servidor de producción la que es maestra. El servidor de ensayo y las estaciones de trabajo deben ser una copia de la base de datos de producción, no viceversa.
Tenga en cuenta que Drupal 7 mantiene toda su configuración de administrador en la base de datos. Esto significa que duplicar la base de datos entre el sitio de producción, el sitio de preparación y las estaciones de trabajo migrará la configuración de admiración sin características .
Ahora, para compartir el código:
La forma estándar de compartir código entre los miembros de un equipo de desarrollo es usar el sistema SCM. Drupal pasa a ser predeterminado administrarse con un sistema llamado git .
Git permite el uso de repositorios locales o remotos. Si los miembros del equipo se encuentran en el mismo espacio físico, puede configurar un repositorio local en su servidor de ensayo. Si se extienden geográficamente, puede configurar un repositorio remoto. Si no le importa que otros tengan acceso de lectura a su código en desarrollo, puede usar un sandbox en Drupal.org como repositorio remoto. También puede usar un área de proyecto en GitHub . GitHub no es solo un repositorio, sino que viene con algunas herramientas para la colaboración y permite tanto repositorios públicos como privados.
Básicamente, un sistema SCM permite a los miembros del equipo extraer el código fuente y la documentación del repositorio compartido por los miembros del equipo, y volver a introducirlo después de haber trabajado en él. El SCM realiza un seguimiento de los cambios y, si hay un conflicto (es decir, alguien intenta introducir un código que no contiene los cambios que otro miembro del equipo ha cometido), le informará y también le sugerirá una forma de resolver este conflicto.
Por lo general, con una comunicación cordial sobre cómo se dividen las tareas entre los miembros del equipo, no habrá conflictos. Pero con el sistema SCM haciendo un seguimiento de las cosas, los conflictos se vuelven manejables incluso si se cometen errores o falla la comunicación.
Existen muchos tutoriales sobre cómo comenzar a usar git (GIYF). Dos que recomendaré son: el sitio web git-scm y Pro Git de Scott Chacon.