Discourse aggiornerà presto la nostra versione del framework Javascript Ember dalla versione 3 alla versione 5. La stragrande maggioranza del lavoro di preparazione è completata e molti siti stanno già funzionando su Ember 5 (inclusa Meta!). ![]()
Questo aggiornamento è disponibile dietro un feature flag in questo momento! Questo è il valore predefinito per le installazioni Discourse self-hosted a partire dal 10 gennaio. Inizialmente, il supporto per Ember 3 rimarrà disponibile tramite un flag, ma verrà rimosso entro il primo trimestre del 2024.
Sul nostro hosting gestito discourse.org, effettueremo un rollout graduale del flag nei prossimi due mesi:
| Data di aggiornamento | |
|---|---|
| Basic | 2023-12-07 |
| Free | 2023-12-12 |
| Pro | 2024-01-15 |
| Business | 2024-01-22 |
| Enterprise | (su base individuale) |
Cosa significa questo per me e per il mio sito?
Se stai eseguendo Discourse senza temi, plugin o componenti tema aggiuntivi… sei a posto! Non c’è bisogno di fare nulla o preoccuparsi di questo.
Allo stesso modo, se utilizzi solo temi/plugin ufficiali, ti abbiamo coperto! Ci assicureremo che tutti i nostri temi, componenti tema e plugin ufficiali siano preparati e pronti per l’aggiornamento.
Per coloro che utilizzano personalizzazioni di terze parti, i loro sviluppatori dovrebbero apportare le modifiche necessarie in modo che tu possa continuare a utilizzarli senza problemi durante questa transizione.
Tuttavia, se hai temi, componenti tema o plugin personalizzati che hai creato o commissionato per i tuoi siti, allora questo post è per te! Analizzeremo come identificare e risolvere eventuali problemi prima dell’aggiornamento.
Identificazione dei problemi
Tutti i problemi di aggiornamento relativi a ember-5 possono essere identificati prima dell’aggiornamento controllando l’uso di API deprecate. Nelle versioni recenti di Discourse (a partire da Discourse 3.2.0.beta4-dev), queste deprecazioni critiche attiveranno un banner di avviso per gli amministratori:
Puoi trovare maggiori informazioni sulle deprecazioni attivate nella console per sviluppatori del browser. È generalmente buona norma risolvere tutte le deprecazioni che vedi. Ma per questo aggiornamento della versione Ember, quelle chiave da risolvere sono:
-
discourse.modal-controllers(vedi questo topic per maggiori informazioni) -
tutte le deprecazioni di Ember (cioè quelle con ID non
-discourse.)
Quando stampa le deprecazioni nella console, Discourse tenta di identificare il tema/plugin pertinente.
Per sviluppatori e fornitori di hosting, abbiamo reso disponibili un paio di strumenti per identificare le deprecazioni in blocco:
-
Eseguendo i test QUnit, alla fine viene stampato un report con un elenco di tutte le deprecazioni irrisolte. Nelle azioni di GitHub, una versione markdown di questo viene aggiunta alla pagina di riepilogo del workflow.
-
Per i fornitori di hosting, abbiamo il plugin discourse-deprecation-collector che incrementa i contatori prometheus ogni volta che le deprecazioni vengono raggiunte in produzione.
Risoluzione delle deprecazioni
In generale, il messaggio della console includerà una descrizione del problema e i passaggi necessari per risolverlo. In alcuni casi, rimanderanno a risorse esterne come il sito Ember deprecations o Discourse Meta.
Se qualcosa non è chiaro, non esitare a pubblicare qui sotto o in un topic Dev dedicato e faremo del nostro meglio per aiutarti.
Test su Ember 5
Per testare su Ember 5 in un ambiente di sviluppo locale, puoi avviare il nostro helper ember-cli con la variabile d’ambiente EMBER_VERSION. Ad esempio:
EMBER_VERSION=5 bin/ember-cli -u
Per confermare che le cose funzionino come previsto, controlla la versione di Ember che Discourse stampa nella console del browser.
In produzione, puoi ottenere lo stesso risultato aggiungendo EMBER_VERSION: 5 alla sezione env: del tuo file app.yml.




