I contributori di Gutenberg esplorano l'alternativa all'uso degli iframe per le Meta Box

Pubblicato: 2017-11-08

La discussione sull'uso di iframe per meta box in Gutenberg si è fatta più accesa durante il fine settimana, poiché gli sviluppatori preoccupati hanno implorato il team di considerare i danni dell'approccio attuale. Le risposte della leadership di Gutenberg inizialmente hanno deviato le preoccupazioni, presentando l'implementazione dell'iframe come un esperimento che "funziona 'per ora'" ma non è quello che il team avrebbe spedito.

Invece di ottenere una risposta alle preoccupazioni specifiche sulle prestazioni e sull'accessibilità dell'approccio iframe, Kevin Hoffman è stato invitato a pensare al futuro dei meta box e "i casi (se presenti) che non sarebbero stati convertiti in blocchi". Quando alla comunità degli sviluppatori viene chiesto ripetutamente di testare e offrire feedback, ma viene incontrata con distrazioni su problemi critici per i siti che utilizzano WordPress come CMS, le discussioni su GitHub iniziano a farsi più accese.

"Le persone sono preoccupate e frustrate e mi sembra che abbiano tutto il diritto di farlo perché la percezione è che il team che lavora su Gutenberg abbia poca comprensione di come vengono utilizzati i meta box, poca preoccupazione per quale sarà l'impatto , e andrà avanti con la loro visione, qualunque cosa accada", ha affermato Jimmy Smutek, capo sviluppatore presso l'ufficio degli affari esterni della Johns Hopkins, in risposta all'ammissione di un collaboratore di Gutenberg di essere stato sprezzante nei confronti del feedback.

Dopo diversi round di sviluppatori che si sono uniti al thread per sfatare l'idea che gli iframe per meta box "funzionano per ora", lo sviluppatore principale di Gutenberg Matias Ventura si è unito alla discussione ieri e ha confermato che è probabile che l'esperimento venga abbandonato abbastanza presto.

“Sono contento che la conversazione si sia rifocalizzata alla fine sul problema dell'argomento: l'attuale approccio ai meta-box in un iframe è fattibile? Con la risposta no ", ha detto Ventura. “Gli iframe sono un dettaglio di implementazione che penso che possiamo abbandonare in modo relativamente facile. Quindi concentriamoci su quello”.

Ha anche affrontato l'opinione popolare secondo cui WordPress dovrebbe apportare miglioramenti iterativi all'editor stesso (e non all'intera pagina) prima di procedere con la revisione dei meta box.

"Quello che alcune persone hanno definito approccio pragmatico non è concomitante con la direzione progettuale che questo progetto ha avuto dall'inizio - verso la personalizzazione completa del sito - e ciò che ha dettato le nostre decisioni finora", ha affermato Ventura. "Niente qui deve essere una soluzione finale, stiamo esplorando ciò che è possibile all'interno delle premesse di progettazione e lo stiamo mettendo a disposizione per i test".

Ventura ha affermato che non apportare modifiche agli altri aspetti della schermata di modifica sarebbe sicuramente il percorso più semplice da intraprendere per Gutenberg, ma che "non sarebbe corretto rispetto agli obiettivi del progetto e agli utenti a lungo termine di WordPress".

Lo sviluppatore di WordPress Gary Jones ha affermato che perseguire un approccio più iterativo non avrebbe cambiato gli obiettivi del progetto, ma avrebbe consentito la creazione di più siti durante il processo.

"Fare un passo alla volta non compromette in alcun modo gli obiettivi del progetto", ha affermato Jones. "Puoi ancora passare alla personalizzazione a grandezza naturale se questo è l'obiettivo, ma facendolo in modo graduale, porterai con te il resto della comunità di sviluppatori". Jones ha citato Customizer come esempio di funzionalità all'interno di WordPress con un concetto che si sta realizzando nel tempo con molte iterazioni.

Ventura ha risposto con chiarimenti sull'approccio del team di Gutenberg all'iterazione del progetto, un cambio di paradigma che supporta la creazione di contenuti basati su blocchi sin dall'inizio.

"Abbiamo proposto un approccio graduale, dal nuovo post sui focus originali di Matt, considera i passaggi in modo diverso", ha detto Ventura. “Ci sono generalmente tre fasi per il progetto Gutenberg: dall'editor dei post, ai modelli di pagina, alla costruzione del sito. Ciò che è primordiale è che il paradigma è quello in cui il contenuto è un'unica area, con il blocco come concetto primario, e dove il risultato può essere rappresentato visivamente con chiarezza e senza eccessive astrazioni.

Ventura ha anche assicurato a coloro che seguiranno la discussione che il progetto non abbandonerà il supporto per i meta box, ma ha bisogno di più tempo per sperimentare diverse opzioni di interfaccia.

"WordPress si muove sempre con l'utente e ci assumiamo l'onere di capire i percorsi di sviluppo per facilitare le transizioni per il nostro codice esistente", ha affermato. "Come progetto, abbiamo detto prima che non stavamo eliminando il supporto per i meta-box da WordPress, ma anche che dovevamo esplorare quali decisioni sull'interfaccia avremmo dovuto prendere all'interno del nuovo paradigma, inclusa la possibilità di caricare il classico editor quando rileviamo meta-box che non siamo in grado di gestire o che entrano in conflitto diretto con un editor che cerca di delineare più chiaramente cosa sono i contenuti e cosa sono i metadati".

Ha anche affermato che il team prevede di creare più meccanismi per gestire le incompatibilità e di "consentire a più cose di essere accettate (ad esempio, se sei a tuo agio con i tuoi meta-box mostrati in Gutenberg, potresti dichiarare il supporto per esso, o viceversa. "

È attualmente in corso un nuovo approccio al rendering di meta box senza utilizzare iframe. Riad Benguella ha creato una richiesta pull che tenta di annullare gli iframe e implementare un suggerimento che Tom Nowell ha offerto durante la discussione:

Invece di caricare Gutenberg su una pagina delle impostazioni, carichiamolo nella pagina principale degli editor classici, carichiamo i metabox nel loro ambiente nativo, quindi issiamo il loro nodo DOM contenitore in un componente tramite JS.

Utilizziamo quindi un diverso tipo di interruttore per assicurarci che l'editor classico possa ancora essere utilizzato. Per di qua:

– evitiamo le sciocchezze dell'iframe
– i metabox funzionano come hanno sempre fatto per quanto riguarda la registrazione
– il JS esistente funziona come previsto e non sono necessari hack per far funzionare le cose sul lato PHP

Il nuovo approccio ha il vantaggio di non avere problemi con collegamenti, modali, fogli di stile duplicati e altri inconvenienti nell'uso degli iframe.

Il team di Gutenberg ha bisogno di una nuova strategia di comunicazione

La discussione sulla fattibilità a lungo termine dell'utilizzo di iframe per meta box ha evidenziato la mancanza di un messaggio unificato o di una strategia di comunicazione tra i lead di Gutenberg. I collaboratori del progetto sono diventati impazienti nei confronti della comunità per non aver afferrato la visione, ma la comunicazione è sparpagliata su vari blog, commenti, canali Slack e discussioni su GitHub.

Morten Rand-Hendriksen ha aperto un nuovo numero richiedendo una risorsa centralizzata che possa fungere da schema in linguaggio semplice dell'ambito, della direzione e degli obiettivi di Gutenberg.

"La mia osservazione è che la comunità sta lottando per vedere la portata più ampia del progetto Gutenberg a causa della mancanza di un'unica risorsa autorevole in linguaggio semplice contenente queste informazioni", ha detto Rand-Hendriksen. "Ciò crea un alto grado di speculazione, cattiva comunicazione e frustrazione da tutte le parti e il progetto ne risente di conseguenza".

Gutenberg ha un hub di documentazione, ma finora quei documenti sono più tecnici e mancano di una tabella di marcia pratica su come il team mira a raggiungere i suoi obiettivi. La sezione FAQ dei documenti attuali è la cosa più vicina alla risorsa in linguaggio semplice che Rand-Hendriksen sta richiedendo nel suo ticket. I file readme.txt sia per il repository GitHub di Gutenberg che per il plugin WordPress.org danno l'impressione che il progetto stia semplicemente aggiornando l'editor corrente in modo che sia basato su blocchi, non revisionando l'intera schermata dell'editor.

"A causa della natura frammentaria di queste informazioni, è difficile per chiunque ottenere un quadro chiaro dell'intero progetto, e sebbene i post di Matias e Matt svolgano un buon lavoro nello spiegare la grande visione del progetto, mancano di scomposizioni concrete in un linguaggio semplice di gli elementi essenziali di cui la comunità ha bisogno per ottenere una solida comprensione di cosa sia questo progetto e dove è diretto”, ha affermato Rand-Hendriksen. "Esistono anche come satelliti indipendenti di informazioni che circondano il progetto piuttosto che parti centrali del progetto stesso".

La community sta intervenendo sul problema di GitHub con domande a cui vorrebbe vedere una risposta in una roadmap del prodotto in linguaggio semplice più trasparente. Un documento come questo potrebbe aiutare il team di Gutenberg a comunicare meglio gli obiettivi del progetto ed evitare di inviare messaggi contrastanti che causano inutili confusioni.