Esse é um problema não trivial para o qual quase todo mundo tem uma resposta diferente: não existe uma maneira canônica do Drupal de lidar com a preparação para os impulsos de produção. Dries Buytaert, o cara que dirige o programa Drupal, fez dele uma das principais iniciativas do Drupal 8 . É claro que o Drupal 7 acabou de ser lançado, então levará um tempo até que dê frutos.
O problema pode ser dividido em dois problemas separados:
- Configuração de teste (variáveis, tipos de conteúdo, campos, visualizações etc.)
- Preparar o conteúdo (nós, usuários, etc.)
O primeiro pode ser tratado principalmente pelo módulo de Recursos , que pega a configuração do site e o transforma em um módulo que você pode adicionar à sua instalação do Drupal: dessa forma, você pode adicioná-lo ao seu sistema de controle de versão e não ter que se preocupar com isso. sendo surpreendido quando você migra seu conteúdo.
O último é realmente complicado, porque em um site ativo, é provável que o conteúdo seja alterado na produção, mesmo após a sincronização inicial com o ambiente de desenvolvimento. Isso evita a substituição por atacado de conteúdo durante a preparação, como você pode fazer na configuração.
Além disso, o Drupal não usa identificadores universalmente exclusivos (UUIDs) para conteúdo: toda vez que um nó ou usuário é adicionado, o ID aumenta em um. Portanto, o que pode ser o nó 45 no seu site de desenvolvimento pode ser o nó 90 no seu site de produção.
Infelizmente, não tenho uma ótima solução para isso: a preparação do conteúdo é uma verdadeira fraqueza do Drupal. O que eu pessoalmente faço é adicionar conteúdo apenas no site de produção. Se um cliente quiser ver a aparência do conteúdo antes de ser publicado, configurarei um clone do site de produção que é acessível apenas ao cliente. Então, uma vez aprovadas, as mesmas alterações são feitas diretamente na produção.
Há outra alternativa que é lançada: o módulo Deploy . Ele deve alavancar os Serviços para tornar o conteúdo da preparação relativamente indolor. Mas não posso garantir sua eficácia e ele não possui uma versão do Drupal 7.