Los colaboradores de Gutenberg exploran una alternativa al uso de iframes para metaboxes
Publicado: 2017-11-08La discusión en torno al uso de iframes para metaboxes en Gutenberg se volvió más acalorada durante el fin de semana, ya que los desarrolladores preocupados imploraron al equipo que considerara los perjuicios del enfoque actual. Las respuestas del liderazgo de Gutenberg inicialmente desviaron las preocupaciones, presentando la implementación de iframe como un experimento que "funciona 'por ahora'", pero no es lo que el equipo enviaría.
En lugar de obtener una respuesta a las preocupaciones específicas sobre el rendimiento y la accesibilidad del enfoque de iframes, se instó a Kevin Hoffman a pensar en el futuro de los metaboxes y "los casos (si los hubiera) que no se convertirían en bloques". Cuando se le pide repetidamente a la comunidad de desarrolladores que pruebe y ofrezca comentarios, pero se desvía de los problemas que son críticos para los sitios que usan WordPress como un CMS, las discusiones de GitHub comienzan a calentarse más.
“La gente está preocupada y frustrada, y me parece que tienen todo el derecho de hacerlo porque la percepción es que el equipo que trabaja en Gutenberg tiene poca comprensión de cómo se usan las cajas meta, poca preocupación por cuál será el impacto. , y seguirá adelante con su visión pase lo que pase”, dijo Jimmy Smutek, desarrollador principal de la oficina de asuntos externos de Johns Hopkins, en respuesta a la admisión de un colaborador de Gutenberg de haber despreciado los comentarios.
Después de varias rondas de desarrolladores que se unieron al hilo para desacreditar la noción de que los iframes para metaboxes "funcionan por ahora", el desarrollador principal de Gutenberg, Matias Ventura, se unió a la discusión ayer y confirmó que es probable que el experimento se elimine bastante pronto.
“Me alegro de que la conversación se reenfocara al final al problema del tema: ¿es viable el enfoque actual de meta-boxes en un iframe? La respuesta es no”, dijo Ventura. “Los iframes son un detalle de implementación que creo que podemos eliminar con relativa facilidad. Así que concentrémonos en eso”.
También se refirió a la opinión popular de que WordPress debería realizar mejoras iterativas en el propio editor (y no en la página completa) antes de proceder con la revisión de metaboxes.
“Lo que algunas personas han llamado el enfoque pragmático no es concomitante con la dirección de diseño que este proyecto ha tenido desde el principio, dirigiéndose hacia la personalización completa del sitio, y lo que ha dictado nuestras decisiones hasta ahora”, dijo Ventura. "Nada aquí tiene que ser una solución final, estamos explorando lo que es posible dentro de las premisas de diseño y poniéndolo a prueba".
Ventura dijo que no hacer cambios en los otros aspectos de la pantalla de edición sin duda sería el camino más simple para Gutenberg, pero que "no sería justo para los objetivos del proyecto y los usuarios a largo plazo de WordPress".
El desarrollador de WordPress, Gary Jones, sostuvo que seguir un enfoque más iterativo no cambiaría los objetivos del proyecto, pero haría posible que más sitios aparecieran durante el proceso.
“Ir paso a paso no compromete de ninguna manera los objetivos del proyecto”, dijo Jones. "Aún puede dirigirse a la personalización de tamaño completo si ese es el objetivo, pero al hacerlo de manera escalonada, traerá consigo al resto de la comunidad de desarrolladores". Jones citó el Personalizador como un ejemplo de una función dentro de WordPress con un concepto que se está realizando con el tiempo con muchas iteraciones.
Ventura respondió aclarando el enfoque del equipo de Gutenberg para iterar en el proyecto, un cambio de paradigma que admite la creación de contenido basado en bloques desde el principio.
“Hemos propuesto un enfoque por etapas, a partir de la publicación original de nuevos enfoques de Matt, simplemente considera los pasos de manera diferente”, dijo Ventura. “En general, hay tres etapas para el proyecto Gutenberg: desde el editor de publicaciones, hasta las plantillas de página y la creación del sitio. Lo primordial es que el paradigma sea uno donde el contenido sea un área única, con el bloque como concepto principal, y donde el resultado pueda representarse visualmente con claridad y sin excesivas abstracciones.”
Ventura también aseguró a quienes siguieron la discusión que el proyecto no dejará de admitir metaboxes, sino que necesita más tiempo para experimentar con diferentes opciones de interfaz.

“WordPress siempre se mueve con el usuario, y asumimos la carga de encontrar rutas de desarrollo para facilitar las transiciones de nuestro código existente”, dijo. “Como proyecto, hemos dicho antes que no dejaríamos de admitir meta-boxes de WordPress, pero también que teníamos que explorar qué decisiones de interfaz tendríamos que tomar dentro del nuevo paradigma, incluida la posibilidad de cargar el editor clásico. cuando detectamos meta-boxes que no podemos manejar o que entran directamente en conflicto con un editor que busca delimitar más claramente qué es contenido y qué es metadato”.
También dijo que el equipo planea crear más mecanismos para manejar las incompatibilidades, así como "permitir que se opten por más cosas (por ejemplo, si se siente cómodo con sus meta-boxes que se muestran en Gutenberg, podría declarar su apoyo, o viceversa). ”
Actualmente está en marcha un nuevo enfoque para renderizar metaboxes sin usar iframes. Riad Benguella ha creado una solicitud de extracción que intenta deshacer los iframes e implementar una sugerencia que ofreció Tom Nowell durante la discusión:
En lugar de cargar Gutenberg en una página de configuración, carguémoslo en la página principal de editores clásicos, carguemos metaboxes en su entorno nativo y luego carguemos su nodo DOM de contenedor en un componente a través de JS.
Luego usamos un tipo diferente de alternar para asegurarnos de que aún se pueda usar el editor clásico. De esta manera:
– evitamos las tonterías del iframe
– los metaboxes funcionan como siempre lo han hecho en lo que respecta al registro
– el JS existente funciona como se esperaba, y no se necesitan hacks para que las cosas funcionen en el extremo de PHP
El nuevo enfoque tiene la ventaja de no tener problemas con los enlaces, los modales, las hojas de estilo duplicadas y los otros inconvenientes del uso de iframes.
El equipo de Gutenberg necesita una nueva estrategia de comunicación
La discusión sobre la viabilidad a largo plazo del uso de iframes para metaboxes ha puesto de relieve la falta de un mensaje unificado o una estrategia de comunicación entre los líderes de Gutenberg. Los colaboradores del proyecto se impacientaron con la comunidad por no captar la visión, pero la comunicación está dispersa en varios blogs, comentarios, canales de Slack y debates de GitHub.
Morten Rand-Hendriksen ha abierto un nuevo número solicitando un recurso centralizado que pueda servir como un resumen en lenguaje sencillo del alcance, la dirección y los objetivos de Gutenberg.
“Mi observación es que la comunidad está luchando por ver el alcance más amplio del proyecto Gutenberg debido a la falta de un único recurso autorizado en lenguaje sencillo que contenga esta información”, dijo Rand-Hendriksen. “Esto crea un alto grado de especulación, falta de comunicación y frustración por parte de todas las partes y, como consecuencia, el proyecto sufre”.
Gutenberg tiene un centro de documentación, pero hasta ahora esos documentos son más técnicos y carecen de una hoja de ruta práctica sobre cómo el equipo pretende lograr sus objetivos. La sección de preguntas frecuentes de los documentos actuales es lo más parecido al recurso en lenguaje sencillo que Rand-Hendriksen solicita en su ticket. Los archivos readme.txt para el repositorio de GitHub de Gutenberg y el complemento de WordPress.org dan la impresión de que el proyecto simplemente está actualizando el editor actual para que esté basado en bloques, sin revisar toda la pantalla del editor.
“Debido a la naturaleza fragmentada de esta información, es un desafío para cualquiera obtener una imagen clara de todo el proyecto, y aunque las publicaciones de Matias y Matt hacen un buen trabajo al explicar la gran visión del proyecto, carecen de desgloses concretos y sencillos de los elementos esenciales que la comunidad necesita para obtener una comprensión firme de lo que es este proyecto y hacia dónde se dirige”, dijo Rand-Hendriksen. “También existen como satélites independientes de información que rodean el proyecto en lugar de partes centrales del proyecto en sí”.
La comunidad está interviniendo en el problema de GitHub con preguntas que les gustaría ver respondidas en una hoja de ruta de productos en un lenguaje sencillo más transparente. Un documento como este podría ayudar al equipo de Gutenberg a comunicar mejor los objetivos del proyecto y evitar enviar mensajes confusos que causen confusión innecesaria.
