Migração Drupal 7 para 8 - um guia prático que aborda os desafios da migração (com recomendações)
Publicados: 2020-02-27Migraçã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).
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 -
- Os arquivos de modelo (.tpl) no Drupal 7 devem ser reescritos usando arquivos twig, que fazem parte da estrutura do symphony 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 -
- Executando uma migração com a IU do Drupal
- 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

