Colaboratorii Gutenberg explorează o alternativă la utilizarea iframe-urilor pentru casetele meta

Publicat: 2017-11-08

Discuția cu privire la utilizarea iframe-urilor pentru metabox-uri în Gutenberg a devenit mai aprinsă în weekend, deoarece dezvoltatorii îngrijorați au implorat echipa să ia în considerare dezavantajele abordării actuale. Răspunsurile conducerii lui Gutenberg au deturnat inițial preocupările, prezentând implementarea iframe-ului ca un experiment care „funcționează „deocamdată””, dar nu este ceea ce echipa ar trimite.

În loc să obțină un răspuns la preocupările specifice privind performanța și accesibilitatea abordării iframe-urilor, Kevin Hoffman a fost îndemnat să se gândească la viitorul metabox-urilor și „cazurile (dacă există) care nu ar fi convertite în blocuri”. Când comunității de dezvoltatori i se cere în mod repetat să testeze și să ofere feedback, dar este întâmpinată cu o abatere cu privire la problemele care sunt esențiale pentru site-urile care folosesc WordPress ca CMS, discuțiile GitHub încep să devină mai aprinse.

„Oamenii sunt îngrijorați și devin frustrați și mi se pare că au tot dreptul să facă acest lucru, deoarece percepția este că echipa care lucrează la Gutenberg nu înțelege cum sunt folosite meta boxele, puțină preocupare pentru impactul. , și va merge mai departe cu viziunea lor, indiferent de ce”, a declarat Jimmy Smutek, dezvoltator principal la biroul de afaceri externe de la Johns Hopkins, ca răspuns la recunoașterea colaboratorilor Gutenberg că a respins feedback-ul.

După mai multe runde de dezvoltatori care s-au alăturat firului de discuție pentru a dezminți ideea că iframe-urile pentru casetele meta „funcționează deocamdată”, dezvoltatorul principal Gutenberg, Matias Ventura, s-a alăturat discuției ieri și a confirmat că experimentul este probabil să fie abandonat destul de curând.

„Mă bucur că conversația s-a reorientat în final pe problematica subiectului: este viabilă abordarea actuală a meta-box-urilor într-un iframe? Răspunsul fiind nu”, a spus Ventura. „Iframe-urile sunt un detaliu de implementare, cred că putem renunța relativ ușor. Deci să ne concentrăm pe asta.”

El a abordat, de asemenea, opinia populară că WordPress ar trebui să aducă îmbunătățiri iterative editorului în sine (și nu paginii întregi) înainte de a continua cu revizuirea metaboxelor.

„Ceea ce unii oameni au numit abordarea pragmatică nu este concomitent cu direcția de proiectare pe care a avut-o acest proiect de la început – îndreptându-se către personalizarea completă a site-ului – și cu ceea ce ne-a dictat deciziile până acum”, a spus Ventura. „Nimic aici nu trebuie să fie o soluție finală, explorăm ceea ce este posibil în incinta de proiectare și îl punem acolo pentru testare.”

Ventura a spus că a nu face modificări la celelalte aspecte ale ecranului de editare ar fi cu siguranță calea cea mai simplă pe care Gutenberg o va lua, dar că „nu ar fi corectă față de obiectivele proiectului și utilizatorilor pe termen lung ai WordPress”.

Dezvoltatorul WordPress Gary Jones a susținut că urmărirea unei abordări mai iterative nu ar schimba obiectivele proiectului, dar ar face posibilă apariția mai multor site-uri în timpul procesului.

„A face un pas la un moment dat nu compromite, în niciun fel, obiectivele proiectului”, a spus Jones. „Poți în continuare să te îndrepți către personalizarea la dimensiune completă dacă acesta este scopul, dar făcând-o într-un mod treptat, vei aduce cu tine și restul comunității de dezvoltatori.” Jones a citat Customizer ca exemplu de caracteristică în WordPress cu un concept care este realizat de-a lungul timpului cu multe iterații.

Ventura a răspuns cu clarificări cu privire la abordarea echipei Gutenberg de a repeta proiectul, o schimbare de paradigmă care sprijină încă de la început crearea de conținut bazată pe blocuri.

„Am propus o abordare în etape, din noile postări inițiale ale lui Matt, doar ia în considerare pașii diferit”, a spus Ventura. „Există, în general, trei etape pentru proiectul Gutenberg: de la editorul de postări, la șabloane de pagină, la construirea site-ului. Ceea ce este primordial este că paradigma este una în care conținutul este o singură zonă, cu blocul ca concept principal și în care rezultatul poate fi reprezentat vizual cu claritate și fără abstracțiuni excesive.”

De asemenea, Ventura i-a asigurat pe cei care urmează discuția că proiectul nu va renunța la suportul pentru metabox-uri, ci are nevoie de mai mult timp pentru a experimenta diferite opțiuni de interfață.

„WordPress se mișcă întotdeauna cu utilizatorul și ne asumăm sarcina de a găsi căi de dezvoltare pentru a ușura tranzițiile pentru codul nostru existent”, a spus el. „Ca proiect, am mai spus că nu renunțăm la suportul pentru meta-box-uri din WordPress, ci și că trebuia să explorăm ce decizii de interfață ar trebui să luăm în cadrul noii paradigme, inclusiv posibilitatea de a încărca editorul clasic. atunci când detectăm meta-casete pe care nu le putem gestiona sau care intră în conflict direct cu un editor care încearcă să delimiteze mai clar ce este conținut și ce sunt metadate.”

El a spus, de asemenea, că echipa intenționează să creeze mai multe mecanisme pentru a gestiona incompatibilitățile, precum și „să permită ca mai multe lucruri să fie opt-in (să spunem că dacă vă simțiți confortabil cu meta-boxele afișate în Gutenberg, ați putea declara suport pentru aceasta, sau invers. ”

O nouă abordare a redării casetelor meta fără a utiliza iframe este în prezent în curs de desfășurare. Riad Benguella a creat o cerere de extragere care încearcă să anuleze cadrele iframe și să implementeze o sugestie pe care Tom Nowell a oferit-o în timpul discuției:

În loc să încărcăm Gutenberg pe o pagină de setări, să-l încărcăm în pagina principală a editorilor clasici, să încărcăm metabox-uri în mediul lor nativ, apoi să ridicăm nodul DOM al containerului într-o componentă prin JS.

Apoi folosim un alt tip de comutare pentru a ne asigura că editorul clasic poate fi folosit în continuare. Pe aici:

– evităm prostiile iframe
– metabox-urile funcționează așa cum au făcut întotdeauna în ceea ce privește înregistrarea
– JS-ul existent funcționează conform așteptărilor și nu sunt necesare hack-uri pentru ca lucrurile să funcționeze la capătul PHP

Noua abordare are avantajul că nu există probleme cu legăturile, modalele, foile de stil duplicate și celelalte dezavantaje ale utilizării cadrelor iframe.

Echipa Gutenberg are nevoie de o nouă strategie de comunicare

Discuția privind viabilitatea pe termen lung a utilizării iframe-urilor pentru metabox-uri a evidențiat lipsa unui mesaj unificat sau a unei strategii de comunicare în rândul liderilor Gutenberg. Colaboratorii proiectului au devenit nerăbdători față de comunitate pentru că nu au înțeles viziunea, dar comunicarea este împrăștiată pe diverse bloguri, comentarii, canale Slack și discuții GitHub.

Morten Rand-Hendriksen a deschis o nouă ediție prin care solicită o resursă centralizată care poate servi ca o schiță simplă a scopului, direcției și obiectivelor lui Gutenberg.

„Observația mea este că comunitatea se străduiește să vadă domeniul mai larg al proiectului Gutenberg din cauza lipsei unei singure resurse autorizate în limbaj simplu care să conțină aceste informații”, a spus Rand-Hendriksen. „Acest lucru creează un grad ridicat de speculații, comunicare greșită și frustrare din partea tuturor părților, iar proiectul are de suferit ca urmare.”

Gutenberg are un centru de documentare, dar până acum acele documente sunt mai tehnice și nu au o foaie de parcurs practică pentru modul în care echipa își dorește să-și atingă obiectivele. Secțiunea Întrebări frecvente din documentele actuale este cel mai apropiat lucru de resursa în limbaj simplu pe care Rand-Hendriksen o solicită în biletul său. Fișierele readme.txt atât pentru depozitul GitHub al lui Gutenberg, cât și pentru pluginul WordPress.org dau impresia că proiectul pur și simplu actualizează editorul actual pentru a fi bazat pe blocuri, nu revizuiește întregul ecran al editorului.

„Datorită naturii fragmentate a acestor informații, este o provocare pentru oricine să obțină o imagine clară a întregului proiect și, deși postările lui Matias și Matt fac o treabă bună în a explica marea viziune a proiectului, le lipsesc defalcări concrete în limbaj simplu. elementele esențiale de care are nevoie comunitatea pentru a obține o înțelegere fermă a ceea ce este acest proiect și încotro se îndreaptă”, a spus Rand-Hendriksen. „Există și ca sateliți independenți de informații care înconjoară proiectul, mai degrabă decât părți centrale ale proiectului în sine.”

Comunitatea intervine cu privire la problema GitHub cu întrebări la care ar dori să li se răspundă într-o foaie de parcurs mai transparentă a produsului în limbaj simplu. Un astfel de document ar putea ajuta echipa Gutenberg să comunice mai bine obiectivele proiectului și să evite trimiterea de mesaje amestecate care provoacă confuzii inutile.