O que você está procurando?

Aperte Enter para buscar ou ESC para fechar

WordPress repensa a edição colaborativa — e o motivo vai além de editar como no Google Docs

5 min de leitura
WordPress repensa a edição colaborativa — e o motivo vai além de editar como no Google Docs

Quando escrevi sobre a Fase 3 do Projeto Gutenberg, a proposta de colaboração no WordPress já apontava para um futuro em que várias pessoas poderiam trabalhar no mesmo conteúdo, com comentários, revisões e edição simultânea.

Essa visão continua existindo. O que mudou foi a forma de chegar até ela.

Depois dos experimentos com edição colaborativa em tempo real, a equipe do WordPress identificou problemas importantes de segurança, autoria e perda de conteúdo. Por isso, a abordagem está sendo repensada para colocar o próprio WordPress no centro da sincronização.

Por que a abordagem anterior não era suficiente

Nos testes anteriores, boa parte da colaboração acontecia diretamente no navegador.

Cada pessoa mantinha uma versão do post e as alterações eram sincronizadas entre os participantes. O servidor recebia o conteúdo quando alguém salvava. Isso funciona bem para tornar a experiência rápida, mas cria alguns problemas.

O principal é que o WordPress não consegue identificar com precisão quem fez cada alteração durante a sessão, e isso pode até gerar problemas de permissão. Um usuário com menos privilégios poderia inserir algo que normalmente não teria autorização para publicar e essa alteração poderia acabar sendo salva por um administrador que estivesse editando outra parte do conteúdo.

Há também um problema mais comum: alterações feitas fora do editor.

Imagine duas pessoas revisando um artigo enquanto uma integração externa, WP-CLI ou REST API atualiza o mesmo post. Na arquitetura anterior, essas mudanças não participavam do mesmo processo de colaboração e poderiam acabar sobrescrevendo trabalho recente.

A nova proposta: WordPress como mediador

A nova abordagem é chamada de server-aware collaboration.

Em vez de os navegadores trocarem alterações diretamente entre si, cada mudança passa pelo WordPress.

O servidor pode então:

  • identificar quem fez a alteração;
  • verificar se aquela pessoa tem permissão;
  • combinar mudanças feitas por diferentes colaboradores;
  • armazenar o resultado;
  • detectar conflitos antes que um conteúdo seja sobrescrito.

Isso faz com que o WordPress continue sendo a autoridade sobre o conteúdo, mesmo enquanto várias pessoas trabalham nele ao mesmo tempo.

Para o usuário final, a diferença pode nem ser visível, mas por baixo dos panos, é uma mudança importante.

A grande vantagem é reduzir perda de trabalho

Um dos problemas que a nova arquitetura tenta evitar é bastante simples de entender:

Duas pessoas estão editando um conteúdo. Uma delas perde a conexão, enquanto a outra continua trabalhando e salva. Quando a primeira pessoa volta, ela ainda possui uma versão antiga do post. Se essa versão for salva por cima da mais recente, parte do trabalho pode desaparecer.

Com o servidor participando da colaboração, ele passa a ter condições de perceber essas diferenças e tentar fazer uma combinação segura ou avisar que existe um conflito. Isso torna a colaboração menos dependente de todos os usuários estarem perfeitamente sincronizados o tempo todo.

Colaboração não significa apenas duas pessoas escrevendo juntas

Esse talvez seja o aspecto mais interessante dessa mudança.

Quando falamos de colaboração no WordPress, é fácil imaginar apenas algo parecido com Google Docs: duas ou três pessoas digitando no mesmo artigo.

Mas um site moderno também pode receber alterações de:

  • integrações externas;
  • automações;
  • REST API;
  • WP-CLI;
  • plugins;
  • eventualmente agentes de IA.

Todos eles podem, de alguma forma, modificar o mesmo conteúdo.

Uma arquitetura em que o WordPress consegue mediar essas alterações pode servir não apenas para colaboração humana, mas para um ambiente onde diferentes sistemas também participam da edição.

É uma diferença importante em relação ao que eu havia apresentado no artigo anterior sobre a Fase 3.

A promessa de colaboração continua. O escopo do problema ficou maior.

Comentários e sugestões continuam fazendo parte da experiência

Enquanto a edição simultânea é repensada, outras partes da colaboração continuam avançando.

O WordPress já vem trabalhando em Notes, que permitem adicionar comentários diretamente a blocos, e o roadmap do 7.2 prevê evoluir isso com um modo de sugestões, no qual uma alteração pode ser proposta para outra pessoa aceitar ou rejeitar.

Isso aproxima o editor de fluxos que equipes já conhecem em ferramentas de documentos colaborativos.

Na prática, colaboração no WordPress não precisa chegar inteira de uma vez.

Comentários, sugestões, revisões e edição simultânea podem evoluir como partes diferentes da mesma experiência.

Ainda há um desafio importante: performance

Colocar o servidor no centro da colaboração também tem um custo.

Cada alteração passa a exigir mais participação da infraestrutura do site. Em hospedagens mais simples, atualizar o servidor a cada pequena mudança pode ser pesado.

Por isso, a equipe está testando diferentes formas de sincronização, algumas mais próximas do tempo real e outras que trabalham principalmente durante salvamentos.

Ainda não existe uma solução escolhida.

O trabalho está em fase experimental e deve passar por um feature plugin antes de qualquer proposta para inclusão no Core.

A Fase 3 continua, mas está amadurecendo

Quando a Fase 3 foi apresentada, a ideia de colaboração parecia relativamente simples: permitir que várias pessoas trabalhassem juntas no WordPress sem os tradicionais bloqueios de edição.

Os testes mostraram que o problema é bem maior.

Não basta sincronizar teclas digitadas por duas pessoas. É preciso preservar permissões, autoria, histórico e integridade do conteúdo enquanto usuários, plugins e aplicações externas podem estar modificando a mesma informação.

Por isso, a mudança de direção não representa um abandono da colaboração, é justamente o contrário!

O WordPress está tentando construir uma base em que a colaboração possa funcionar sem sacrificar segurança ou confiabilidade.

A experiência final ainda pode parecer muito com aquilo que imaginávamos no início da Fase 3. A diferença é que agora existe uma preocupação maior com tudo o que precisa acontecer por trás da tela para que essa experiência realmente funcione.

Compartilhar este artigo
Guga Alves

Guga Alves

• WordPress e web

Desbravando o mundo WordPress desde 2007, me especializei também em SEO e entreguei grandes projetos no mercado brasileiro para a partir de 2015 me dedicar ao mercado fora do Brasil. Trabalhei na empresa do criador do WordPress por 4 anos (no WordPress.com, da Automattic) e mais 4 anos em uma das maiores empresas de hospedagens do mundo, a Liquid Web, gerenciando uma equipe de suporte do plugin The Events Calendar. No Brasil, atendi grandes marcas como canal Futura, Corpo Perfeito, Catraca Livre, Hostgator Brasil e Hostnet, também palestrei em diversos eventos e dei aula em cursos livres e pós-graduação (no Rio de Janeiro e em Brasília). Trabalho remoto, viajo bastante, mas minha base é no Rio de Janeiro/RJ.

X GitHub Sobre mim

Discussão & Respostas (0)

Espaço moderado para debates técnicos

Deixe sua contribuição técnica

Seu e-mail não será publicado. Blocos de código em markdown são aceitos com crases triplas.