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.
Discussão & Respostas (0)