Colaboradores do Gutenberg exploram alternativa ao uso de iframes para caixas meta

Publicados: 2017-11-08

A discussão em torno do uso de iframes para meta boxes em Gutenberg ficou mais acalorada no fim de semana, pois os desenvolvedores preocupados imploraram à equipe que considerasse os prejuízos da abordagem atual. As respostas da liderança de Gutenberg inicialmente desviaram as preocupações, apresentando a implementação do iframe como um experimento que “funciona 'por enquanto'”, mas não é o que a equipe enviaria.

Em vez de obter uma resposta às preocupações específicas sobre desempenho e acessibilidade da abordagem de iframes, Kevin Hoffman foi instado a pensar no futuro das meta caixas e “os casos (se houver) que não seriam convertidos em blocos”. Quando a comunidade de desenvolvedores é repetidamente solicitada a testar e oferecer feedback, mas é recebida com deflexão em questões críticas para sites que usam o WordPress como CMS, as discussões do GitHub começam a ficar mais acaloradas.

“As pessoas estão preocupadas e frustradas e me parece que elas têm todo o direito de fazê-lo porque a percepção é que a equipe que trabalha em Gutenberg tem pouco entendimento de como as meta caixas estão sendo usadas, pouca preocupação com qual será o impacto. , e vai seguir em frente com sua visão, não importa o que aconteça”, disse Jimmy Smutek, desenvolvedor-chefe do escritório de assuntos externos da Johns Hopkins, em resposta à admissão de um colaborador de Gutenberg de ter desprezado o feedback.

Depois de várias rodadas de desenvolvedores se juntando ao tópico para desmascarar a noção de que iframes para meta boxes “funcionam por enquanto”, o desenvolvedor líder do Gutenberg, Matias Ventura, se juntou à discussão ontem e confirmou que o experimento provavelmente será descartado em breve.

“Fico feliz que a conversa tenha se reorientado no final para a questão do tópico: a abordagem atual para meta-caixas em um iframe é viável? Com a resposta sendo não”, disse Ventura. “Os iframes são um detalhe de implementação que acho que podemos abandonar com relativa facilidade. Então vamos focar nisso.”

Ele também abordou a opinião popular de que o WordPress deveria fazer melhorias iterativas no próprio editor (e não na página inteira) antes de prosseguir com a revisão das meta boxes.

“O que algumas pessoas chamam de abordagem pragmática não é concomitante com a direção de design que este projeto teve desde o início – rumo à personalização completa do site – e o que ditou nossas decisões até agora”, disse Ventura. “Nada aqui precisa ser uma solução final, estamos explorando o que é possível dentro das instalações de design e colocando-o lá para testes.”

Ventura disse que não fazer alterações nos outros aspectos da tela de edição certamente seria o caminho mais simples para Gutenberg, mas que “não seria justo com os objetivos do projeto e os usuários de longo prazo do WordPress”.

O desenvolvedor do WordPress, Gary Jones, afirmou que buscar uma abordagem mais iterativa não mudaria os objetivos do projeto, mas possibilitaria que mais sites surgissem durante o processo.

“Ir um passo de cada vez não compromete de forma alguma os objetivos do projeto”, disse Jones. “Você ainda pode ir para a personalização em tamanho real se esse for o objetivo, mas fazendo isso de forma gradual, você trará o resto da comunidade de desenvolvedores junto com você.” Jones citou o Customizer como um exemplo de recurso dentro do WordPress com um conceito que está sendo realizado ao longo do tempo com muitas iterações.

Ventura respondeu com esclarecimentos sobre a abordagem da equipe de Gutenberg para iterar no projeto, uma mudança de paradigma que suporta a criação de conteúdo baseado em blocos desde o início.

“Nós propusemos uma abordagem em etapas, a partir do post original de novos focos de Matt, apenas considera as etapas de maneira diferente”, disse Ventura. “Geralmente, há três etapas para o projeto Gutenberg: do editor de postagem, aos modelos de página e à construção do site. O primordial é que o paradigma seja aquele em que o conteúdo seja uma área única, tendo o bloco como conceito primário, e onde o resultado possa ser representado visualmente com clareza e sem abstrações excessivas.”

Ventura também assegurou aos que estão acompanhando a discussão que o projeto não vai abandonar o suporte para meta boxes, mas precisa de mais tempo para experimentar diferentes opções de interface.

“O WordPress sempre se move com o usuário, e assumimos o fardo de descobrir caminhos de desenvolvimento para facilitar as transições para nosso código existente”, disse ele. “Como projeto, dissemos antes que não estávamos abandonando o suporte para meta-boxes do WordPress, mas também que tínhamos que explorar quais decisões de interface teríamos que tomar dentro do novo paradigma, incluindo a possibilidade de carregar o editor clássico quando detectamos meta-caixas que não conseguimos lidar ou que entram em conflito direto com um editor que busca delinear mais claramente o que é conteúdo e o que é meta-dado.”

Ele também disse que a equipe planeja criar mais mecanismos para lidar com incompatibilidades, bem como “permitir que mais coisas sejam opt-in (digamos, se você estiver confortável com suas meta-caixas exibidas no Gutenberg, poderá declarar suporte para elas ou vice-versa. ”

Uma nova abordagem para renderizar meta caixas sem usar iframes está em andamento. Riad Benguella criou um pull request que tenta desfazer os iframes e implementar uma sugestão que Tom Nowell ofereceu durante a discussão:

Em vez de carregar o Gutenberg em uma página de configurações, vamos carregá-lo na página principal dos editores clássicos, carregar metaboxes em seu ambiente nativo e, em seguida, elevar o nó DOM do contêiner em um componente via JS.

Em seguida, usamos um tipo diferente de alternância para garantir que o editor clássico ainda possa ser usado. Por aqui:

– evitamos o absurdo do iframe
– metaboxes funcionam como sempre fizeram no que diz respeito ao registro
– o JS existente funciona como esperado, e nenhum hack é necessário para fazer as coisas funcionarem no final do PHP

A nova abordagem tem a vantagem de não ter problemas com links, modais, folhas de estilo duplicadas e outras desvantagens do uso de iframes.

A equipe de Gutenberg precisa de uma nova estratégia de comunicação

A discussão sobre a viabilidade a longo prazo do uso de iframes para meta boxes destacou a falta de uma mensagem unificada ou estratégia de comunicação entre os leads de Gutenberg. Os colaboradores do projeto ficaram impacientes com a comunidade por não entenderem a visão, mas a comunicação está espalhada por vários blogs, comentários, canais do Slack e discussões do GitHub.

Morten Rand-Hendriksen abriu uma nova edição solicitando um recurso centralizado que possa servir como um esboço em linguagem simples do escopo, direção e objetivos de Gutenberg.

“Minha observação é que a comunidade está lutando para ver o escopo mais amplo do projeto Gutenberg devido à falta de um único recurso de linguagem simples e autoritário contendo essas informações”, disse Rand-Hendriksen. “Isso cria um alto grau de especulação, falta de comunicação e frustração de todas as partes e o projeto sofre como consequência.”

Gutenberg tem um hub de documentação, mas até agora esses documentos são mais técnicos e carecem de um roteiro prático de como a equipe pretende atingir seus objetivos. A seção de perguntas frequentes dos documentos atuais é a coisa mais próxima do recurso de linguagem simples que Rand-Hendriksen está solicitando em seu ticket. Os arquivos readme.txt para o repositório GitHub do Gutenberg e o plugin WordPress.org dão a impressão de que o projeto está simplesmente atualizando o editor atual para ser baseado em blocos, não revisando toda a tela do editor.

“Devido à natureza fragmentada dessas informações, é um desafio para qualquer pessoa obter uma imagem clara de todo o projeto e, embora as postagens de Matias e Matt façam um bom trabalho ao explicar a grande visão do projeto, eles não têm detalhamentos concretos em linguagem simples de os fundamentos que a comunidade precisa para ter uma compreensão firme do que é esse projeto e para onde ele está indo”, disse Rand-Hendriksen. “Eles também existem como satélites independentes de informações circulando o projeto, em vez de partes centrais do próprio projeto.”

A comunidade está entrando em contato com o problema do GitHub com perguntas que eles gostariam de ver respondidas em um roteiro de produto em linguagem simples mais transparente. Um documento como este pode ajudar a equipe do Gutenberg a comunicar melhor os objetivos do projeto e evitar o envio de mensagens confusas que causam confusão desnecessária.