Por que o Drupal tem sido tão popular na última década?
O Drupal era extremamente popular porque oferecia um balcão único para experiências de criação de conteúdo e, de forma mais ampla, tudo o que você poderia encontrar em um site. Ao contrário de sua contraparte ainda mais popular, o WordPress, que era mais adequado para sites de menor escala, o Drupal oferecia módulos para quase todos os recursos que você pudesse imaginar: comentários, enquetes, fluxos de trabalho, APIs, pesquisa, formulários e até mesmo análises. Cada módulo foi criado por empresas ou indivíduos diferentes, o que resultou em uma qualidade desigual em termos de código, segurança ou recursos.
Também era possível vincular módulos para criar recursos mais avançados, mas isso acabou criando um inferno de centenas de módulos interconectados para manutenção. Muitas empresas que inicialmente apostaram muito no Drupal agora estão se afastando dele (Johnson & Johnson, LVMH ou Saint Gobain estão entre elas). Vamos ver por quê:
Os motivos pelos quais o Drupal pode não ser a melhor opção para você.
- O Drupal é muito complexo. A criação no Drupal exige desenvolvedores especializados, mesmo que você esteja criando um site simples. Eles precisam entender a arquitetura do Drupal, conhecer os melhores módulos e saber como criar diferentes recursos usando uma combinação de Drupal e módulos. Por exemplo, suponha que você queira implementar um fluxo de trabalho de publicação com notificações e RBAC em cima delas. Nesse caso, você terá que manipular vários módulos, o núcleo do Drupal e implementar uma lógica bastante complexa.
- O Drupal é difícil de escalonar e hospedar. Embora existam várias opções para hospedar o Drupal, não há editor e nenhuma oferta real de SaaS. Você pode optar pelo Pantheon ou Acquia, mas eles só fornecerão hospedagem e nenhum suporte para sua base de código.
- A manutenção do Drupal é muito cara. Por ser de código aberto, você não paga por licenças, mas, por outro lado, terá de pagar por todo o resto: hospedagem, escalonamento, atualizações de segurança, soluções para bugs, cada novo recurso e cada nova página ou modelo.
- O Drupal não está adaptado aos padrões arquitetônicos modernos. É um monólito PHP com um paradigma de 20 anos atrás. Hoje, o CMS sem cabeça e as arquiteturas compostas são fundamentais. Você quer liberdade total no front-end, pelo menos liberdade suficiente limitada pelo seu sistema de design, ao mesmo tempo em que depende de vários back-ends, sendo o CMS apenas um deles.
Por que migrar do Drupal para o Storyblok?
O Storyblok é um novo participante no espaço do CMS sem cabeça. Ele fornece tudo o que você precisa para gerenciar o conteúdo e distribuí-lo em qualquer canal.
Motivo 1: Simplificação do headless
Em 2024, um CMS headless é essencial para proporcionar experiências digitais flexíveis. Ao dissociar o front-end do gerenciamento de conteúdo, um CMS headless permite que os desenvolvedores criem qualquer tipo de front-end sem restrições. Essa flexibilidade é crucial à medida que o gerenciamento de conteúdo se torna comoditizado e as empresas preferem não lidar com as complexidades de manuseio, hospedagem e dimensionamento de um CMS.
O Storyblok se destaca por sua abordagem API-first e seu editor visual, oferecendo uma API simples e consistente que pode ser usada por desenvolvedores front-end em estruturas como React, Vue ou Angular. Ao contrário do Drupal, que exige vários módulos com APIs diferentes, o Storyblok oferece uma experiência simplificada, permitindo que as empresas se concentrem na criação de conteúdo e experiências de usuário sem limitações técnicas. Essa abordagem atende às necessidades modernas de escalabilidade e flexibilidade, permitindo que as empresas se adaptem rapidamente às mudanças do mercado e ofereçam experiências digitais perfeitas.
Motivo 2: hub de conteúdo centralizado com distribuição omnichannel
Seu redator de conteúdo cria um artigo de blog atraente que repercute em seu público. Você deseja transformar essa publicação de blog em publicações no LinkedIn, redirecionar o conteúdo para estudos de caso, publicar um tópico no Twitter, criar cartões no Instagram e gerar um lead magnet em PDF para download. Sua equipe passa inúmeras horas revisando, copiando e colando conteúdo em diferentes plataformas: alguns conteúdos estão no seu CMS Drupal, outros estão no Planilhas Google ou no Smartsheet para validação e planejamento, as imagens são armazenadas em um sistema de gerenciamento de ativos digitais e sua equipe de mídia social trabalha no WordPress. Parece familiar?
Esse caos pode ser resolvido com um hub de conteúdo consistente e centralizado. Crie uma vez e reutilize em qualquer lugar. Ao integrar várias marcas ou idiomas, você pode otimizar seu fluxo de trabalho de conteúdo.
Com o Storyblok, você pode configurar facilmente fluxos de trabalho em várias etapas, criar variações de conteúdo e permitir a colaboração entre todas as suas equipes em torno de cada conteúdo. Em seguida, você pode integrar perfeitamente qualquer canal de distribuição por meio da API do Storyblok usando ferramentas como Make ou Zapier, ou conectando diretamente o Storyblok aos seus canais de conteúdo, como mecanismos de planejamento de mídia social, plataformas de comércio eletrônico, PIM, DAM, sites regionais, parceiros, geradores de PDF ou CMSs de impressão.
Razão 3: Um editor visual que finalmente funciona!
O Drupal 9 Layout Builder oferece personalização para páginas de conteúdo, mas não é tão intuitivo quanto parece. Embora ofereça a funcionalidade de arrastar e soltar, os usuários geralmente enfrentam uma curva de aprendizado acentuada devido à complexidade de seus recursos. Para usá-lo, você precisa ativar os módulos Layout Builder e Layout Discovery, o que pode ser assustador para quem não conhece o backend do Drupal. A personalização dos tipos de conteúdo envolve várias etapas, como ativar "Usar o Layout Builder" em "Gerenciar exibição", adicionar seções, configurar blocos e salvar alterações, o que pode ser confuso. Embora ele aplique layouts a todos os artigos por padrão, a personalização de artigos individuais exige a ativação de opções adicionais, o que aumenta a complexidade. Embora o Layout Builder ofereça um amplo controle, sua interface pode ser desafiadora para usuários não técnicos, o que pode exigir treinamento adicional ou ajuda profissional para ser usado com eficiência.
O Visual Editor do Storyblok, por outro lado, é uma ferramenta altamente intuitiva e eficiente para editores de conteúdo, fornecendo uma visualização em tempo real e uma experiência de edição contínua que facilita o uso em comparação com o Layout Builder do Drupal. Ele oferece suporte a dois modos de edição: Visual e Somente formulário. No modo Visual, os usuários podem ver e editar o conteúdo diretamente na página, fornecendo uma visualização imediata das alterações, o que é mais intuitivo do que a configuração frequentemente complexa do Layout Builder do Drupal. O Storyblok permite que os usuários adicionem blocos simplesmente clicando em partes da página, com um painel de conteúdo que facilita a reorganização por meio da funcionalidade de arrastar e soltar. Isso contrasta com o Drupal, onde adicionar e configurar seções pode ser mais complicado.
O editor visual também oferece recursos como a alteração do tamanho da tela de visualização para diferentes dispositivos e um editor de texto rico com opções avançadas de estilo, permitindo que os usuários vejam como o conteúdo ficará quando for publicado. A navegação entre diferentes entradas no Storyblok é fácil, com uma opção de visualização empilhada que permite aos usuários visualizar e editar histórias aninhadas sem abrir novas guias. O Storyblok oferece suporte à colaboração por meio de comentários e discussões no editor, eliminando a necessidade de ferramentas de comunicação externas. Os recursos de gerenciamento de fluxo de trabalho e agendamento de conteúdo são integrados, proporcionando uma maneira simplificada de gerenciar estágios de conteúdo e cronogramas de publicação diretamente do editor. No geral, o editor do Storyblok foi projetado para aprimorar a colaboração e o gerenciamento de conteúdo com uma interface amigável que simplifica o processo de edição, tornando-o uma opção preferida em relação ao Layout Builder do Drupal para aqueles que buscam facilidade de uso e eficiência.
Razão 4: Fácil de estender: adicione novas tecnologias ao seu CMS sem aumentar a dívida tecnológica.
No Drupal, a única maneira de ampliar a funcionalidade é instalando módulos. Embora esses módulos adicionem recursos, eles também podem tornar o Drupal mais pesado, potencialmente introduzir vulnerabilidades de segurança e, muitas vezes, variar em qualidade. Isso pode levar a uma experiência inconsistente para os usuários.
Em contrapartida, o Storyblok oferece um sistema flexível de plugins que permite aos desenvolvedores personalizar sua funcionalidade sem esses inconvenientes. Os plug-ins do Storyblok permitem a integração com plataformas de terceiros, a criação de estruturas de conteúdo personalizadas, o aprimoramento da experiência de edição e a adição de novas funcionalidades. Há três tipos principais de plug-ins no Storyblok: Plug-ins de campo, Plug-ins de ferramenta e Aplicativos de barra lateral personalizados.
Os plug-ins de campo aprimoram o Visual Editor, adicionando opções de entrada personalizadas e oferecendo suporte à integração com sistemas externos de gerenciamento de ativos. Os plug-ins de ferramentas adicionam novas janelas de ferramentas no Visual Editor para tarefas como importação e exportação de conteúdo traduzível. Os aplicativos personalizados da barra lateral são visualizações de página inteira acessadas a partir da página inicial do espaço do Storyblok, adequadas para funções como verificação de links quebrados e gerenciamento de tarefas que se integram ao Storyblok, mas estão fora da interface de edição de conteúdo.
Os plug-ins do Storyblok são aplicativos da Web independentes incorporados usando iframes, permitindo que eles se integrem perfeitamente ao aplicativo Storyblok por meio da comunicação entre janelas por meio do método `window.postMessage`. Eles também podem acessar o back-end do Storyblok por meio da API de gerenciamento usando a autenticação OAuth 2.0. Esse sistema oferece aos desenvolvedores a flexibilidade de criar soluções personalizadas para gerenciamento e aprimoramento de conteúdo sem comprometer a segurança ou o desempenho.
Razão 5: Segurança incorporada: você não precisa pensar nisso!
Proteger um site do Drupal é uma tarefa desafiadora que exige vigilância e conhecimento constantes. As atualizações regulares do núcleo e dos módulos do Drupal são cruciais para solucionar vulnerabilidades, mas exigem atenção meticulosa para garantir a compatibilidade e a segurança. A implementação de certificados SSL/TLS para conexões criptografadas é tecnicamente exigente e consome muitos recursos, exigindo configuração e manutenção cuidadosas.
Garantir backups abrangentes do site, armazenados de forma segura fora do local, envolve um planejamento significativo da infraestrutura. A configuração de cabeçalhos de segurança HTTP, como Content-Security-Policy e Strict-Transport-Security, exige um conhecimento profundo dos protocolos de segurança da Web. O monitoramento das funções e permissões dos usuários envolve auditoria contínua para aderir ao princípio do menor privilégio, exigindo supervisão constante.
A limpeza das entradas do usuário para evitar ataques requer uma lógica de validação sofisticada. A seleção de um provedor de hospedagem confiável envolve a avaliação de recursos de segurança e conformidade, o que aumenta a complexidade. Medidas adicionais, como a implementação de firewalls de aplicativos da Web, proteção contra DDoS e sistemas de gerenciamento de bots, exigem gerenciamento contínuo.
A manutenção de um site seguro do Drupal é uma tarefa formidável que exige conhecimento técnico e um forte compromisso com as práticas recomendadas de segurança, destacando a importância da colaboração com a comunidade do Drupal e de se manter atualizado sobre os desenvolvimentos de segurança.
A Storyblok incorpora a segurança em seu núcleo, aproveitando seu modelo SaaS, que reduz inerentemente os riscos associados aos sistemas CMS tradicionais. Sua certificação ISO 27001, verificada por meio de auditorias regulares pela TÜV Rheinland, demonstra seu compromisso com os mais altos padrões internacionais de segurança. A arquitetura do Storyblok limita as interações às chamadas de API, minimizando possíveis vulnerabilidades de segurança. Hospedado no Amazon AWS, o Storyblok se beneficia da segurança robusta do data center e implementa monitoramento contínuo, controles de acesso rigorosos e revisões regulares de código. Com foco na privacidade de dados além da mera conformidade, a Storyblok realiza testes regulares de vulnerabilidade e penetração internos e de terceiros. Medidas de segurança avançadas, incluindo firewalls de aplicativos da Web, detecção de ameaças orientada por IA e um rigoroso processo de gerenciamento de alterações, garantem a integridade do serviço e a proteção abrangente dos dados.
Roteiro do Storyblok: o que vem pela frente?
Bem, primeiro, eles acabaram de arrecadar US$ 80 milhões! É uma quantia significativa para um mercado altamente competitivo, indicando que eles estão convencendo os investidores de sua excelência na execução. Isso significa que eles vão comer muitos de seus concorrentes. Cuidado com a Contentful, um novo peixe grande está na piscina ;-)
O roadmap da Storyblok revela um foco estratégico no aprimoramento da usabilidade, escalabilidade e flexibilidade no espaço CMS. Ao introduzir recursos como Components Library Versioning e Webhooks for Extensions, o Storyblok está melhorando a experiência do desenvolvedor, o que, por sua vez, facilita a criação e a manutenção de aplicativos. Essa abordagem suporta projetos complexos e posiciona o Storyblok como uma plataforma amigável ao desenvolvedor, atraindo desenvolvedores que buscam ferramentas robustas. A tradução alimentada por IA e as tabelas Richtext aprimoram a criação e a localização de conteúdo, simplificando o gerenciamento para empresas que operam em vários mercados. Essas ferramentas são cruciais para criadores de conteúdo e profissionais de marketing que buscam gerenciar diversos tipos de conteúdo com eficiência.
A Storyblok também está atendendo às necessidades de grandes organizações com recursos como o Global Digital Asset Manager e o Custom Session Timeout for Enterprise Logins. Esses recursos oferecem suporte a colaboração e gerenciamento de conteúdo seguro e eficiente, tornando a plataforma atraente para clientes corporativos. Além disso, o Storyblok está se concentrando na personalização e inclusão do usuário com recursos como Space Themes e Accessible Storyblok, que aumentam a acessibilidade e a satisfação para um público mais amplo.
A introdução do "Prazo para o estágio do fluxo de trabalho" e a "Opção de bloquear histórias no fluxo de trabalho" otimizam os fluxos de trabalho de conteúdo, permitindo processos de produção mais estruturados e eficientes. Esse foco na otimização do fluxo de trabalho beneficia os gerentes de conteúdo que precisam de operações simplificadas. Por fim, a escalabilidade e a integração são apoiadas por recursos como a Ferramenta de Migração para Regiões e o Plug-in Algolia, permitindo que as empresas expandam e aproveitem as melhores ferramentas da categoria.
No geral, o roteiro do Storyblok demonstra uma estratégia abrangente que aprimora as ferramentas do desenvolvedor, a criação de conteúdo, os recursos corporativos, a experiência do usuário e a escalabilidade, o que solidifica sua posição como um CMS sem cabeça líder. Esses recursos não apenas melhoram os fluxos de trabalho e as estratégias de conteúdo atuais, mas também atraem novos usuários que buscam uma solução CMS flexível e robusta.
Como preparar uma migração do Drupal para o Storyblok?
Etapa 1: Descoberta da arquitetura de conteúdo do site
A primeira etapa crucial em qualquer migração é entender completamente seus ativos do Drupal. Isso envolve a identificação dos sites envolvidos e o exame de suas estruturas, incluindo subdomínios, redirecionamentos e estruturas de URL. Um aspecto exclusivo do Drupal é o uso extensivo de módulos, que geralmente oferecem recursos que vão além do gerenciamento de conteúdo.
Durante essa fase inicial, você deve determinar quais módulos do Drupal serão substituídos pelo Storyblok (como Workflow, i18n e pathauto) e quais precisarão ser substituídos por soluções SaaS de terceiros. Por exemplo, você pode substituir comentários por Disqus ou Viafoura, boletins informativos por Mailchimp e o módulo Elastic Search por Algolia. Além disso, o código personalizado pode ser necessário para recursos ainda não suportados pelo Storyblok. Recomendamos usar o Xano como uma solução de backend como serviço para criar esses recursos personalizados.
Ao final desta etapa, você deverá ter uma lista clara de todos os sites, regras de URL e um mapeamento dos principais recursos para o Storyblok, soluções de terceiros ou código personalizado.
Etapa 2: Mapeamento da estrutura de conteúdo
A próxima etapa é a preparação para a migração do conteúdo em si. Comece listando todos os tipos de conteúdo, o número de nós associados e todos os campos com seus tipos. Esteja ciente de que você pode ter campos personalizados ainda não suportados pelo Storyblok. Eles precisarão ser adaptados no lado front-end ou durante a fase de migração, transformando os campos personalizados do Drupal em um tipo de campo Storyblok compatível.
Em seguida, identifique todas as tags e taxonomias no Drupal e determine quais taxonomias estão associadas a quais tipos de conteúdo.
Depois de listar todos os tipos de conteúdo e taxonomias existentes para migrar, mapeie-os para o Storyblok. No Storyblok, tudo é tratado como um tipo de conteúdo, portanto, suas categorias também serão tipos de conteúdo. No entanto, ele também fornece um sistema de tags, portanto, você precisará decidir quando usar tipos de conteúdo ou tags.
É altamente recomendável criar um documento do Google Sheet ou do Airtable que liste todos os tipos de conteúdo e seus campos, incluindo exemplos de URLs em que você possa visualizar a versão front-end de cada um. Adicione exemplos de dados para cada campo. Por fim, crie um conjunto de dados de migração com uma lista de 100 a 200 conteúdos que representem uma visão abrangente de todas as versões possíveis de cada tipo de conteúdo (por exemplo, com campos vazios, com todos os campos, um em cada categoria etc.). Isso ajudará a sua equipe a automatizar rapidamente o teste do script de migração.
Etapa 3: Avaliação de modelos, páginas e blocos de front-end
Para criar seu novo front-end, você precisará mapear e analisar as lacunas em seus modelos atuais do Drupal. Esse processo provavelmente será demorado, pois requer uma revisão completa de cada modelo para determinar como você deseja que o novo front-end seja estruturado.
Ao contrário do Drupal, o Storyblok oferece total flexibilidade para projetar seu front-end. Você pode personalizá-lo inteiramente de acordo com suas necessidades. O único requisito é integrar o Storyblok Bridge, que permite que você use o Editor Visual do Storyblok.
Aqui está um exemplo de como rastreamos todos os blocos que precisam ser migrados:
O Storyblok Bridge é uma ferramenta que facilita a edição de conteúdo em tempo real com o Storyblok headless CMS. Ao adicionar um script JavaScript ao seu site, a ponte conecta o CMS ao seu site, permitindo atualizações instantâneas. À medida que você faz edições, a ponte escuta eventos como alterações ou publicações, permitindo que a página seja atualizada dinamicamente sem uma recarga completa. Esse feedback em tempo real aumenta a eficiência e proporciona uma experiência de edição perfeita, tornando-a uma ferramenta inestimável para desenvolvedores e editores de conteúdo.
Etapa 4: Escreva, teste e depure seus scripts de migração
A etapa final seria realmente escrever seus scripts de migração.
Primeiro, você precisará decidir como exportará o conteúdo do Drupal. O mais fácil seria exportar em massa para arquivos e depois executar seus scripts por meio deles. Mas você também pode usar a API do Drupal ou (método não recomendado) consultas SQL diretas ao banco de dados do Drupal.
A exportação de conteúdo do Drupal pode ser feita por meio de vários métodos adaptados a diferentes versões do Drupal e formatos de conteúdo. Para o Drupal 8, o Migrate Module permite a exportação de conteúdo para os formatos XML ou CSV, com suporte a exportações em lote e filtragem por data ou tipo. O módulo "Backup and Migrate" oferece uma maneira direta de criar backups do site, facilitando a transferência de dados para outras plataformas.
O conteúdo também pode ser exportado para JSON usando a API de conteúdo principal ou configurando um endpoint personalizado. No Drupal 7, o módulo Features exporta componentes do site, como nós e exibições, enquanto o Drush, uma ferramenta de linha de comando, pode exportar dados e configurar migrações, embora exija conhecimento de codificação.
O módulo de exportação de dados de visualizações oferece uma maneira de exportar conteúdo para CSV criando visualizações com opções de filtragem. A API Migrate auxilia na migração de dados entre diferentes versões ou plataformas do Drupal, mas requer conhecimento avançado de programação. A otimização pós-migração usando ferramentas de cache e desempenho é recomendada para melhorar o desempenho do site. O planejamento adequado e a assistência especializada são fundamentais para o sucesso do processo de migração.
Para importar conteúdo para o Storyblok usando a API de gerenciamento, você pode aproveitar sua interface baseada em REST para criar, editar e atualizar conteúdo programaticamente. A API de gerenciamento permite uma integração profunda com o CMS, oferecendo recursos como importação/exportação de arquivos CSV, upload de ativos e manipulação de migrações. Para importar, primeiro você precisa gerar um token de autenticação de API a partir do seu perfil Storyblok, que é usado para autenticar suas solicitações.
Você pode importar conteúdo usando um script Node.js que processa arquivos CSV, baixando arquivos de URLs e carregando-os no Storyblok. As definições de configuração no arquivo "config.js" especificam detalhes como o token OAuth, a ID do espaço e o caminho do arquivo para importação. Para importar dados, verifique se os valores corretos estão definidos no arquivo de configuração e, em seguida, execute o comando de importação. A API de gerenciamento oferece suporte a vários casos de uso, como migração de outros CMSs, integração com aplicativos de terceiros, automação de processos de importação/exportação e gerenciamento de ativos, componentes e espaços de conteúdo.
É importante observar que a API de gerenciamento não é otimizada para servir conteúdo aos usuários finais e não deve ser usada para entrega de conteúdo; para isso, recomenda-se a API de entrega de conteúdo. Além disso, as migrações e atualizações de conteúdo podem ser gerenciadas por meio do Storyblok CLI, que facilita tarefas como transformar campos de conteúdo, atualizar histórias e lidar com esquemas de espaço. Essa abordagem permite o gerenciamento eficiente de conteúdo, atualizações e migrações no Storyblok.
Como organizar sua migração de conteúdo, algumas dicas da code.store
Acompanhe o desempenho dos scripts de migração.
Ao lidar com grandes quantidades de conteúdo (centenas ou milhões de peças de conteúdo), talvez seja necessário rastrear o tempo que cada migração de cada tipo de conteúdo leva do início ao fim. É importante estar preparado para a mudança final de DNS e planejar as migrações de acordo.
Aqui está um exemplo de como rastreamos e estimamos a migração de vários tipos de conteúdo e estimamos o tempo total para uma migração completa (57 horas estimadas e 51 horas reais).
Escreva um plano de campo por campo para sua migração
As regras de migração podem representar um grande conjunto de requisitos específicos e exclusivos. Alguns campos precisam ser ignorados, concatenados, transformados ou adaptados com base em outros campos. Essas dependências podem tornar os testes desafiadores. Sugerimos documentar todas as regras de cada campo que deseja migrar em uma planilha. Dê uma olhada aqui:
Considerações finais
Mudar de Drupal para Storyblok em 2024 é uma jogada inteligente para empresas que buscam um sistema de gerenciamento de conteúdo mais moderno, flexível e escalável. Embora o Drupal tenha sido uma solução poderosa para sites complexos na última década, sua arquitetura desatualizada, complexidade e altos custos de manutenção o tornam menos ideal para o cenário digital acelerado de hoje. O Storyblok, com sua arquitetura sem cabeça e editor visual fácil de usar, oferece uma alternativa mais ágil e eficiente que se alinha às tendências atuais, como front-ends desacoplados e arquiteturas compostas.
A migração para o Storyblok simplifica o gerenciamento de conteúdo, reduz a sobrecarga de infraestrutura e aumenta a segurança, graças ao seu modelo SaaS. Isso permite que as empresas se concentrem mais na criação e distribuição de conteúdo em vez de se preocuparem com a manutenção técnica.
Embora o processo de migração exija um planejamento cuidadoso - especialmente para sites complexos -, os benefícios de longo prazo de maior flexibilidade, fluxos de trabalho simplificados e menor manutenção fazem com que valha a pena. Ao mapear cuidadosamente o conteúdo e seguir uma abordagem de migração estruturada, as empresas podem garantir uma transição tranquila.
Em breve, organizaremos um webinar sobre a migração do Storyblok do Drupal 2.