Este es un problema no trivial para el que casi todos tienen una respuesta diferente: no hay una forma canónica de Drupal para manejar la puesta en escena de los empujes de producción. Dries Buytaert, el tipo que dirige el show de Drupal, lo convirtió en una de las iniciativas clave de Drupal 8 . Por supuesto, Drupal 7 acaba de ser lanzado, por lo que pasará un tiempo antes de que dé frutos.
El problema se puede dividir en dos cuestiones separadas:
- Configuración de etapas (variables, tipos de contenido, campos, vistas, etc.)
- Contenido provisional (nodos, usuarios, etc.)
El primero puede ser manejado principalmente por el módulo Características , que tomará la configuración de su sitio y lo convertirá en un módulo que puede agregar a su instalación de Drupal: de esta manera, puede agregarlo a su sistema de control de versiones y no tener que preocuparse por ello. quedar impresionado cuando migras tu contenido.
Esto último es realmente complicado, porque en un sitio activo, es probable que el contenido cambie en producción incluso después de haber realizado la sincronización inicial con su entorno de desarrollo. Esto evita el reemplazo total de contenido durante la puesta en escena como puede hacer con la configuración.
Además, Drupal no utiliza identificadores universalmente únicos (UUID) para el contenido: cada vez que se agrega un nodo o un usuario, la ID aumenta en uno. Entonces, lo que podría ser el nodo 45 en su sitio de desarrollo podría ser el nodo 90 en su sitio de producción.
Desafortunadamente, no tengo una gran solución para esto: el contenido provisional es una debilidad real de Drupal. Lo que personalmente hago es agregar contenido solo en el sitio de producción. Si un cliente quiere ver cómo se ve el contenido antes de que se publique, configuraré un clon del sitio de producción al que solo puede acceder el cliente. Luego, una vez aprobado, los mismos cambios se realizan directamente a la producción.
Existe otra alternativa: el módulo de implementación . Se supone que aprovecha los Servicios para que el contenido de la presentación sea relativamente sencillo. Pero no puedo garantizar su efectividad y no tiene una versión de Drupal 7.