Discourse は、Ember Javascript フレームワークのバージョンを 3 から 5 にアップグレードします。準備作業の大部分は完了しており、多くのサイト (Meta を含む!) はすでに Ember 5 で稼働しています。![]()
このアップグレードは、現在機能フラグで利用可能です。これは、1 月 10 日からセルフホスト Discourse インストールでデフォルトになります。当初は Ember 3 のサポートはフラグ経由で引き続き利用可能ですが、2024 年の第 1 四半期中に削除されます。
当社のマネージド discourse.org ホスティングでは、今後数ヶ月かけてフラグを段階的にロールアウトします。
| アップグレード日 | |
|---|---|
| Basic | 2023-12-07 |
| Free | 2023-12-12 |
| Pro | 2024-01-15 |
| Business | 2024-01-22 |
| Enterprise | (個別に検討) |
私と私のサイトにとってこれは何を意味しますか?
追加のテーマ、プラグイン、またはテーマコンポーネントなしで Discourse を実行している場合…すべて完了です!指を動かす必要も、まったく心配する必要もありません。
同様に、公式テーマ/プラグインのみを使用している場合、私たちはあなたをカバーしています!すべての公式テーマ、テーマコンポーネント、およびプラグインがアップグレードの準備ができていることを保証します。
サードパーティのカスタマイズを使用している場合は、その開発者がそれらの必要な変更を行っているはずなので、この移行を通じてシームレスに使用を続けることができます。
ただし、自分で作成または委託したカスタムテーマ、テーマコンポーネント、またはプラグインがある場合は、この投稿が対象です!アップグレードに先立って、問題を特定して解決する方法を説明します。
問題の特定
すべての ember-5 関連のアップグレードの問題は、非推奨の API の使用を確認することで、アップグレードに先立って特定できます。最近の Discourse バージョン (Discourse 3.2.0.beta4-dev 以降) では、これらの重大な非推奨は管理者に警告バナーをトリガーします。
ブラウザの開発者コンソールで、トリガーされた非推奨に関する詳細を確認できます。表示されているすべての非推奨を解決することは、一般的に良い習慣です。しかし、この Ember バージョンのアップグレードでは、解決すべき重要なものは次のとおりです。
-
discourse.modal-controllers(詳細については、このトピックを参照してください) -
すべての Ember 非推奨 (つまり、非
-discourse.ID を持つもの)
非推奨をコンソールに出力する際、Discourse は関連するテーマ/プラグインを特定しようとします。
開発者およびホスティングプロバイダー向けに、非推奨を一括で特定するためのツールをいくつか用意しました。
-
QUnit テストを実行すると、最後に未解決の非推奨のリストが表示されます。GitHub Actions では、この Markdown バージョンがワークフローの概要ページに追加されます。
-
ホスティングプロバイダー向けに、discourse-deprecation-collector プラグインがあり、本番環境で非推奨が発生するたびに Prometheus カウンターをインクリメントします。
非推奨の解決
一般的に、コンソールメッセージには問題の説明と、それを解決するために必要な手順が含まれています。場合によっては、Ember deprecations ウェブサイトや Discourse Meta のような外部リソースへのリンクが含まれます。
不明な点がある場合は、お気軽に以下に投稿するか、専用の Dev トピックに投稿してください。最善を尽くしてお手伝いします。
Ember 5 でのテスト
ローカル開発環境で Ember 5 のテストを行うには、EMBER_VERSION 環境変数を使用して ember-cli ヘルパーを開始できます。例:
EMBER_VERSION=5 bin/ember-cli -u
期待どおりに動作していることを確認するには、Discourse がブラウザコンソールに出力する Ember バージョンを確認してください。
本番環境では、app.yml ファイルの env: セクションに EMBER_VERSION: 5 を追加することで、同様のことを実現できます。




