A partire da oggi, tutte le nuove installazioni self-hosted di Discourse utilizzeranno di default le nostre build Ember CLI in produzione.
Abbiamo utilizzato queste build in produzione per un bel po’ di tempo e dovrebbero essere stabili e funzionare con tutti i plugin principali. Se riscontri problemi e desideri disattivarle, modifica il file app.yml rimuovendo EMBER_CLI_PROD_ASSETS: 1.
In caso contrario, segnala eventuali bug a noi e li risolveremo rapidamente.
In un prossimo futuro, tutte le installazioni di Discourse utilizzeranno le build Ember CLI.
Sì, @Simon_Manning ha ragione: puoi attivarlo manualmente se lo desideri, oppure puoi attendere che diventi l’impostazione predefinita. Lo stiamo distribuendo gradualmente per cercare di individuare tutti i bug in anticipo.
Sono entusiasta di questo cambiamento ed è una cosa fantastica per il futuro di Discourse.
Consiglio semplicemente questo: se stai utilizzando componenti di tema o plugin di terze parti, crea un’istanza di test separata con lo stesso set e verifica tutto lì prima di passare a Ember CLI sul tuo sito principale.
Ho appena rilasciato alcune modifiche significative a uno dei miei componenti di tema, senza le quali il sito ospitante si sarebbe rotto.
In breve: questo è il metodo ufficialmente supportato per sviluppare applicazioni Ember e dovrebbe facilitare il contributo da parte degli utenti e l’aggiornamento di Ember da parte nostra in futuro.
È vero che gli unici componenti del tema probabili da rompere con questa modifica sono quelli che includono JavaScript di Wyeth?
Esiste un modo semplice per eseguire una query per trovare i componenti del tema che includono JavaScript? Un esploratore di dati o una query Rails? Vorrei poter identificare quali siti potrebbero essere interessati da questo cambiamento e offrire loro la possibilità di utilizzare il mio nuovo prodotto (gratuitamente, così da poter finalmente ottenere alcuni tester) per installare un ambiente di staging e effettuare un test prima di aggiornare il sito di produzione.
È vero: questa modifica a Ember CLI non influisce sulle parti HTML o CSS dei temi/componenti.
In generale, puoi identificare i componenti del tema problematici cercando i messaggi di deprecazione gialli nella console JS del browser nell’ambiente precedente non basato su Ember CLI. (Il passaggio a Ember CLI è la ragione per cui abbiamo introdotto queste deprecazioni).
Meta utilizza Ember CLI da diverse settimane e abbiamo lavorato per garantire che tutti i nostri temi e plugin ufficiali funzionino nel nuovo ambiente.
Ok. Quindi, se richiamo /admin/customize/themes.json (o qual è il percorso effettivo), ci saranno degli avvisi. Pensi che sia probabile che ci siano falsi negativi (cioè, nessun avviso ma il processo fallirà quando aggiorni)?
Oh, e se fallisce, devi solo disattivare la variabile d’ambiente.
Per le estensioni, se vedo avvisi di deprecazione nella console di JavaScript, allora dovrò finalmente capire cosa significano? Sembra che provengano dai componenti che stavo utilizzando e non dal mio codice, ma Ember e JavaScript sono ancora piuttosto misteriosi per me (nonostante abbia una serie di codice che ho almeno in gran parte scritto io).
No, gli avvisi di deprecazione appaiono a runtime nella console del browser. Non appariranno nell’API REST del tema.
Per ora, potresti farlo. Ma abbiamo intenzione di renderlo il default non opzionale molto presto, quindi la soluzione migliore è risolvere la causa principale.
Sì, temo di sì. Se pensi che provengano da componenti core o se hai difficoltà a trovare la causa, ti preghiamo di aprire un topic nella sezione Dev con i dettagli.
Ah. Se sei fortunato. Se non sei così fortunato, otterrai un errore completo e un arresto completo dell’esecuzione di JavaScript. Il che può comportare pagine vuote o corrotte.
Finora ho riscontrato vari problemi, ma per lo più la perdita di alcuni attributi dell’oggetto Discourse e quindi devi trovare un modo diverso per accedere agli attributi del sito e dell’utente. (Suggerimento: questi sono accessibili all’interno dei componenti. Puoi vedere il lavoro che ho fatto di recente sul TLP TC)