Les contributeurs de Gutenberg explorent une alternative à l'utilisation d'iframes pour les méta-boîtes
Publié: 2017-11-08La discussion entourant l'utilisation des iframes pour les méta-boîtes à Gutenberg est devenue plus animée au cours du week-end, alors que les développeurs concernés imploraient l'équipe de considérer les inconvénients de l'approche actuelle. Les réponses de la direction de Gutenberg ont d'abord détourné les inquiétudes, présentant la mise en œuvre d'iframe comme une expérience qui "fonctionne" pour l'instant "" mais n'est pas ce que l'équipe livrerait.
Au lieu d'obtenir une réponse aux préoccupations spécifiques concernant les performances et l'accessibilité de l'approche iframes, Kevin Hoffman a été invité à réfléchir à l'avenir des méta-boîtes et "aux cas (le cas échéant) qui ne seraient pas convertis en blocs". Lorsque la communauté des développeurs est invitée à plusieurs reprises à tester et à fournir des commentaires, mais qu'elle se heurte à des problèmes critiques pour les sites utilisant WordPress en tant que CMS, les discussions sur GitHub commencent à devenir plus animées.
"Les gens sont inquiets et frustrés et il me semble qu'ils ont parfaitement le droit de le faire parce que la perception est que l'équipe travaillant sur Gutenberg a peu de compréhension de la façon dont les méta-boîtes sont utilisées, peu de souci de l'impact sera , et va aller de l'avant avec leur vision quoi qu'il arrive », a déclaré Jimmy Smutek, développeur principal au bureau des affaires extérieures de Johns Hopkins, en réponse à l'aveu d'un collaborateur de Gutenberg d'avoir ignoré les commentaires.
Après plusieurs séries de développeurs rejoignant le fil pour démystifier l'idée que les iframes pour les méta-boîtes "fonctionnent pour l'instant", le développeur principal de Gutenberg, Matias Ventura, a rejoint la discussion hier et a confirmé que l'expérience serait probablement abandonnée assez bientôt.
« Je suis content que la conversation se soit finalement recentrée sur le problème du sujet : l'approche actuelle des méta-boîtes dans une iframe est-elle viable ? La réponse étant non », a déclaré Ventura. "Les iframes sont un détail de mise en œuvre que je pense que nous pouvons supprimer relativement facilement. Alors concentrons-nous là-dessus.
Il a également abordé l'opinion populaire selon laquelle WordPress devrait apporter des améliorations itératives à l'éditeur lui-même (et non à la page entière) avant de procéder à la refonte des méta-boîtes.
"Ce que certaines personnes ont appelé l'approche pragmatique n'est pas concomitant avec la direction de conception que ce projet a eue depuis le début - vers la personnalisation complète du site - et ce qui a dicté nos décisions jusqu'à présent", a déclaré Ventura. "Rien ici ne doit être une solution finale, nous explorons ce qui est possible dans les locaux de conception et le mettons à disposition pour les tests."
Ventura a déclaré que ne pas apporter de modifications aux autres aspects de l'écran d'édition serait certainement la voie la plus simple à suivre pour Gutenberg, mais que cela "ne serait pas juste pour les objectifs du projet et les utilisateurs à long terme de WordPress".
Le développeur WordPress Gary Jones a affirmé que la poursuite d'une approche plus itérative ne changerait pas les objectifs du projet, mais permettrait à davantage de sites de se présenter au cours du processus.
"Aller une étape à la fois ne compromet en aucune façon les objectifs du projet", a déclaré Jones. "Vous pouvez toujours vous diriger vers la personnalisation en taille réelle si tel est l'objectif, mais en le faisant de manière progressive, vous entraînerez le reste de la communauté des développeurs avec vous." Jones a cité le Customizer comme exemple de fonctionnalité de WordPress avec un concept qui se réalise au fil du temps avec de nombreuses itérations.
Ventura a répondu en clarifiant l'approche de l'équipe Gutenberg pour itérer sur le projet, un changement de paradigme qui prend en charge la création de contenu basée sur des blocs dès le départ.
"Nous avons proposé une approche par étapes, à partir du nouveau poste de concentration original de Matt, il considère simplement les étapes différemment", a déclaré Ventura. "Il y a généralement trois étapes pour le projet Gutenberg : de l'éditeur de publication, aux modèles de page, à la construction du site. Ce qui est primordial, c'est que le paradigme est celui où le contenu est un domaine unique, avec le bloc comme concept principal, et où le résultat peut être représenté visuellement avec clarté et sans abstractions excessives.
Ventura a également assuré à ceux qui suivaient la discussion que le projet n'abandonnerait pas la prise en charge des méta-boîtes mais qu'il avait besoin de plus de temps pour expérimenter différentes options d'interface.

"WordPress évolue toujours avec l'utilisateur, et nous nous chargeons de déterminer les voies de développement pour faciliter les transitions de notre code existant", a-t-il déclaré. "En tant que projet, nous avons déjà dit que nous n'abandonnions pas la prise en charge des méta-boîtes de WordPress, mais aussi que nous devions explorer les décisions d'interface que nous aurions à prendre dans le nouveau paradigme, y compris la possibilité de charger l'éditeur classique lorsque nous détectons des méta-boîtes que nous ne pouvons pas gérer ou qui entrent directement en conflit avec un éditeur qui cherche à délimiter plus clairement ce qui est contenu et ce qui est méta-données.
Il a également déclaré que l'équipe prévoyait de créer davantage de mécanismes pour gérer les incompatibilités ainsi que "permettre à plus de choses d'être opt-in (par exemple, si vous êtes à l'aise avec l'affichage de vos méta-boîtes dans Gutenberg, vous pouvez déclarer leur prise en charge, ou vice versa. ”
Une nouvelle approche pour rendre les méta-boîtes sans utiliser d'iframes est actuellement en cours. Riad Benguella a créé une demande d'extraction qui tente d'annuler les iframes et de mettre en œuvre une suggestion proposée par Tom Nowell lors de la discussion :
Au lieu de charger Gutenberg sur une page de paramètres, chargeons-le dans la page principale des éditeurs classiques, chargeons les métaboxes dans leur environnement natif, puis hissons leur nœud DOM de conteneur dans un composant via JS.
Nous utilisons ensuite un autre type de bascule pour nous assurer que l'éditeur classique peut toujours être utilisé. Par ici:
– on évite les absurdités iframe
– les métaboxes fonctionnent comme elles l'ont toujours fait en ce qui concerne l'enregistrement
– le JS existant fonctionne comme prévu, et aucun hack n'est nécessaire pour faire fonctionner les choses côté PHP
La nouvelle approche a l'avantage de ne pas avoir de problèmes avec les liens, les modaux, les feuilles de style en double et les autres inconvénients de l'utilisation des iframes.
L'équipe Gutenberg a besoin d'une nouvelle stratégie de communication
La discussion concernant la viabilité à long terme de l'utilisation des iframes pour les méta-boîtes a mis en évidence l'absence d'un message unifié ou d'une stratégie de communication entre les prospects de Gutenberg. Les collaborateurs du projet sont impatients que la communauté ne saisisse pas la vision, mais la communication est dispersée sur divers blogs, commentaires, canaux Slack et discussions GitHub.
Morten Rand-Hendriksen a ouvert un nouveau numéro demandant une ressource centralisée pouvant servir de présentation en langage clair de la portée, de la direction et des objectifs de Gutenberg.
"Mon observation est que la communauté a du mal à voir la portée plus large du projet Gutenberg en raison de l'absence d'une seule ressource en langage clair faisant autorité contenant ces informations", a déclaré Rand-Hendriksen. "Cela crée un degré élevé de spéculation, de mauvaise communication et de frustration de la part de toutes les parties et le projet en souffre."
Gutenberg dispose d'un centre de documentation, mais jusqu'à présent, ces documents sont plus techniques et manquent d'une feuille de route pratique sur la manière dont l'équipe vise à atteindre ses objectifs. La section FAQ des documents actuels est la chose la plus proche de la ressource en langage clair que Rand-Hendriksen demande dans son ticket. Les fichiers readme.txt pour le référentiel GitHub de Gutenberg et le plugin WordPress.org donnent l'impression que le projet met simplement à jour l'éditeur actuel pour qu'il soit basé sur des blocs, sans réviser l'intégralité de l'écran de l'éditeur.
"En raison de la nature fracturée de ces informations, il est difficile pour quiconque d'avoir une image claire de l'ensemble du projet, et bien que les messages de Matias et Matt fassent un bon travail pour expliquer la grande vision du projet, ils manquent de ventilations concrètes en langage clair de les éléments essentiels dont la communauté a besoin pour bien comprendre ce qu'est ce projet et où il se dirige », a déclaré Rand-Hendriksen. "Ils existent également en tant que satellites d'informations indépendants entourant le projet plutôt qu'en tant que parties centrales du projet lui-même."
La communauté intervient sur le problème GitHub avec des questions qu'elle aimerait voir répondre dans une feuille de route de produit en langage clair plus transparente. Un document comme celui-ci pourrait aider l'équipe Gutenberg à mieux communiquer les objectifs du projet et à éviter d'envoyer des messages contradictoires qui causent une confusion inutile.
