Migração Drupal 7 para 8 - um guia prático que aborda os desafios da migração (com recomendações)

Publicados: 2020-02-27

Migração Drupal 7 para 8 em sua mente? Você ainda está executando seu site no Drupal 7 (ou 6)? Está na hora de migrar para o Drupal 8!

Escrevemos extensivamente sobre por que você deve migrar para o Drupal 8 se ainda estiver no Drupal 7 (ou 6). Embora, uma das razões mais favoritas (e significativas) para migrar para o Drupal 8 é que… Drupal 9 está chegando! E se você quiser aproveitar os benefícios do Drupal 9, é recomendável migrar o Drupal 7 para o Drupal 8 primeiro. Poderíamos argumentar que você deve mudar para o Drupal 8 agora porque não há tempo suficiente uma vez que o Drupal 9 está aqui (junho de 2020) e o EOL do Drupal 7 (novembro de 2021). Mas você pode alegar que pode optar por um LTS (suporte de longo prazo)! É justo. Exceto que, além de gastar mais dinheiro na contratação de um provedor de serviços LTS, você também está perdendo os ricos benefícios que o Drupal 8 tem a oferecer. Algumas coisas podem parecer difíceis, mas são necessárias para um futuro mais forte e simples.

Uma vez no Drupal 8, você não precisa mais “migrar” - apenas uma simples “atualização” do Drupal 8.9 para o 9, e então do 9.9 para o 10 e assim por diante, será suficiente. A migração do Drupal 7 para o Drupal 8 nem sempre é fácil e direta; Eu concordo. Seguir um processo ajuda, mas você ainda pode enfrentar alguns desafios durante a migração, especialmente se o modelo de conteúdo do seu site Drupal 7 for consideravelmente complexo. Vamos conduzi-lo por uma migração passo a passo do Drupal 7 para o Drupal 8 com desafios que você pode enfrentar. E nossas recomendações sobre como superá-los.

Drupal 8 Migrate - Suposições e Preparações

Estar preparado é metade da vitória ”, disse o romancista espanhol Miguel De Cervantes. A migração do Drupal 8 pode ser complicada, mas se você gastou tempo suficiente planejando a migração, os desafios não o surpreenderão. A adoção do Drupal 8 de muitos padrões de desenvolvimento modernos como Symfony, Twig, PHP 7, etc. levou a essa reconstrução completa, mas também exige experiências digitais mais poderosas, robustas e flexíveis. Listados estão alguns pré-requisitos que você deve se lembrar antes de iniciar a migração do Drupal 7 para 8–

  • Atualize seu site do Drupal 7 para a versão mais recente disponível. Isso ajudará em atualizações automáticas mais limpas de alguns dos módulos que possuem caminhos diretos de atualização do Drupal 8.
  • Certifique-se de ter acesso ao banco de dados e arquivos do site do Drupal 7 (públicos e privados).
  • Crie um backup do site do Drupal 7 e use-o para a migração do Drupal 8. Não é recomendado migrar um site funcional ativo, embora a migração em si não faça nenhuma modificação na fonte.
  • Baixe uma nova instalação do Drupal 8 aqui e habilite os módulos Migrate principais que discutimos acima. E lembre-se, DEVE ser fresco! Todas as configurações feitas ou conteúdo criado serão sobrescritos quando uma atualização do Drupal 8 for executada.
  • Não há um caminho de atualização direto do Drupal 7 para o Drupal 8 (ao contrário das atualizações de versões anteriores). Familiarize-se com o sistema de migração do Drupal 8. Os três módulos que estão no núcleo - módulo Drupal 8 Migrate , módulo Drupal 8 Migrate Drupal e módulo Drupal 8 Migrate Drupal UI .
  • Faça sua escolha de migração - você usará o Drush (que oferece controle granular) ou irá com a interface de usuário do navegador (mais fácil, mas com menos controle)?
  • Conheça sua fonte. A flexibilidade do sistema de migração de conteúdo Drupal permite que o conteúdo seja extraído e carregado de versões anteriores do Drupal e várias outras fontes como CSV, XML, JSON, MYSQL, etc.
  • Para uma migração de conteúdo Drupal sem problemas, execute uma auditoria de conteúdo completa para identificar o conteúdo que você precisa para migrar. Descarte o conteúdo não utilizado e irrelevante para evitar perder tempo e esforço para migrá-lo.

O processo de migração Drupal 7 para 8 (passo a passo)

  • Observe e planeje

Uma migração de conteúdo Drupal sem problemas requer que você primeiro identifique os tipos de conteúdo e a estrutura de conteúdo do site existente e documente as observações. Isso inclui tipos de conteúdo, tipos de campo, blocos, taxonomias, etc. Prepare um plano sobre o que você precisa migrar e o que precisa ser mesclado, com base nessas observações. Analise as visualizações e outras configurações do site e catalogue-as para que seja mais fácil replicá-las no Drupal 8.

  • Crie uma lista de verificação de módulos do seu site Drupal 7

Com esta lista de verificação, você deve ser capaz de identificar os módulos de que ainda precisa, ou se existe uma versão Drupal 8 desse módulo, ou se o módulo foi movido para o Drupal 8 Core (como o módulo Media). Nem todos os módulos Drupal 7 podem ser migrados automaticamente para o Drupal 8. Alguns módulos Drupal 7 podem ter mesclado sua funcionalidade em um único módulo Drupal 8. E alguns módulos Drupal 7 podem ter seus recursos separados em dois ou mais módulos Drupal 8. É sempre melhor analisar esses casos para ter certeza de que não há perda de dados!

Recomendação de especialista - Use um módulo como o Drupal Migrate UI para identificar os módulos Drupal 7 e seu módulo Drupal 8 correspondente (se disponível ou não).

migração drupal-7-to-8

Dica profissional - Nenhuma versão de módulo disponível para Drupal 8? Por exemplo, o módulo ImageField no Drupal 7 não tem um módulo D8 correspondente. Podemos ter que encontrar a melhor alternativa adequada disponível para isso no Drupal 8. Claro, temos o módulo Drupal 8 core Media. No entanto, teremos que desenvolver scripts personalizados para migrar os dados da imagem. migre os dados da imagem.

Recomendação do especialista - Se você acabou de herdar um site D7 e não tem ideia sobre as personalizações feitas nos módulos OU Se você mesmo fez as personalizações e precisa encontrá-las, recomendamos que use o Hacked! módulo. Este módulo irá percorrer a lista de módulos disponíveis no site e as alterações / customizações feitas em cada módulo.

  • Replicar e construir
    Replique os tipos de conteúdo, taxonomias e todas as entidades que são necessárias em sua instância D8. As visualizações devem ser construídas manualmente depois de criar e replicar o conteúdo.

Recomendações de especialistas -

  1. Os arquivos de modelo (.tpl) no Drupal 7 devem ser reescritos usando arquivos twig, que fazem parte da estrutura do symphony 2.
  2. Certifique-se de reescrever seus módulos personalizados que seguem os padrões do Symphony.
  • Implementando a migração Drupal 7 para 8

Chegou a etapa mais esperada e significativa. Conforme discutido anteriormente, existem duas maneiras de migrar seus dados Drupal 7 para Drupal 8 -

  1. Executando uma migração com a IU do Drupal
  2. Executando uma migração com o Drush

Este último é recomendado porque é mais eficiente, pode ser incorporado em scripts de shell e tem mensagens de erro mais claras.

Método IU Drupal

Aproveitando o módulo Migrate UI Drupal 8, você pode começar visitando o caminho / upgrade do site do Drupal 8. A página de revisão de atualização do Drupal 8 mostrará uma lista de módulos em seu site Drupal 7 que podem e não podem ser migrados automaticamente para o Drupal 8. Para módulos que têm suas funcionalidades em outro módulo D8, mas não exatamente iguais (como o módulo AddressField em D7 agora é módulo de endereço em D8), você precisará instalar e habilitar o módulo D8 correspondente e reiniciar o processo de migração do Drupal 7 a 8. Com base no catálogo do conteúdo e nos dados extraídos, você precisa construir os scripts de migração onde mapeia os atributos de tipo de conteúdo do Drupal 7 com os atributos de tipo de conteúdo recém-construídos do Drupal 8. Em seguida, você pode prosseguir com a importação dos dados de um fonte de dados.

Método Drush

Você se sente confortável usando o terminal? Nesse caso, você deve optar pelo método Drush para a migração Drupal 7 para 8. Ele fornece um conjunto de comandos para o processo de migração de dados com melhores mensagens de status. Confira este tutorial se você estiver procurando por uma migração de procedimento passo a passo usando comandos Drush. Nunca usou Drush antes? Este guia o ajudará a entender os fundamentos do Drush com uma lista de comandos úteis para migração.

Você pode ter alguns conflitos agora. Certifique-se de verificar se há problemas conhecidos no Drupal. org e como corrigi-los. Depois de corrigido, agora você pode executar o processo de migração que fornece registros / feedback contínuos das ações tomadas. Por fim, verifique se há erros nos logs, corrija-os e pronto!

Recomendação de especialista - espere! Depois de criar o conteúdo, nunca se esqueça do SEO / page views. Precisamos que o conteúdo tenha os mesmos caminhos de URL. Não se esqueça de migrar os aliases de URL, informações de metatags do conteúdo do antigo site do Drupal 7.

  • Testando

Existem momentos muito raros em que você não terá nenhum problema durante a migração do Drupal 7 para o Drupal 8. Assim que a migração for concluída, um teste de regressão da configuração e do conteúdo recém-importado para identificar quaisquer possíveis bugs ou problemas é absolutamente necessário.

Desafios e recomendações (mais especialistas)

  • Muitos módulos contribuídos com o Drupal 7 têm versões melhores de si mesmos no Drupal 8 e alguns foram descontinuados. Por exemplo, o módulo Field Collection, que é usado para agrupar campos no Drupal 7, em breve será descontinuado. A funcionalidade deste módulo foi adicionada ao módulo Parágrafos e ao módulo Revisão de referência de entidade no Drupal 8. O módulo Drupal 8 Parágrafos fornece imensa flexibilidade para editores / autores de conteúdo criarem formas e estruturas perfeitas. Se você precisar migrar o módulo Coleção de campos e mapeá-lo para o módulo Parágrafos (D8), você precisará escrever plug-ins personalizados para mapear o conteúdo entre os campos da Coleção de campos para os campos de parágrafo. Ou se você ainda deseja continuar migrando o módulo Field Collection mesmo no Drupal 8, este mapeamento de campo pode ser manipulado pelos plug-ins de migração do Core disponíveis.
  • Você usa painéis para criar suas páginas iniciais, como página inicial, painel de controle, etc.? Mesmo que você só precise colocar um bloco na página inicial? Construtor de layout para o resgate! O Layout Builder no Drupal 8 torna mais fácil para um editor de conteúdo personalizar uma página de entrada. Vamos fazer o melhor uso dos recursos do Drupal 8. Para migrar do construtor Panels para o Layout, você precisará escrever alguns plug-ins de migração customizados.
  • Ao migrar usuários, teremos que manter as senhas também para que o usuário não tenha que recriar a senha no novo site. As senhas são conteúdo com hash. Portanto, você deve encontrar o algoritmo do tipo hash usado no site de origem. Próximo. escreva um processo para validar a senha migrada com a senha refeita usando o mesmo algoritmo.
  • Ao executar uma migração do Drupal 7 para 8, você pode esgotar os recursos do sistema, o que pode fazer com que a migração seja interrompida. Graças às marcas d'água altas, você pode executar a migração novamente e ela deve continuar de onde parou.
  • O módulo de recursos amplamente usado no Drupal 7 agora quase se tornou obsoleto depois que o gerenciamento de configuração assumiu todas as funcionalidades de recursos e mais no Drupal 8. Embora o módulo de recursos também esteja disponível no Drupal 8, é altamente recomendável aproveitar a configuração do Drupal 8 Sistema de gestão. Além de ser mais simples de trabalhar, é fácil exportar entre ambientes, ele usa formatos de arquivo YAML em vez de PHP - que é um formato de dados mais legível e adequado.
  • Se você tiver um site multilíngue do Drupal 7 (ou 6), pode aproveitar o módulo Migrate Drupal Multilingual. Embora o módulo multilíngue Migrate Drupal ainda esteja em estágio experimental, é um módulo obrigatório para todos os sites Drupal multilunguais.
  • Enfrentando problemas com a migração do Drupal 7 para o Drupal 8? Existem várias maneiras de relatar falhas e obter ajuda -

- Fila de problemas de atualização do Drupal 8

- Fila de problemas de módulo se você encontrar um bug ou exceção com um módulo principal / contribuído

- O canal IRC # drupal-migrate no Freenode

- O canal #migration no Drupal Slack

- Contrate um especialista em Drupal