コミュニティの新機能と既存機能の変更を管理するシステム、「Upcoming Changes」のご紹介

Discourseの改善を継続するにあたり、管理者がDiscourseに来る変更を理解し、コミュニティでの変更の適用方法を管理できるように、新しい「今後の変更(Upcoming Changes)」設定ページを作成しました。このシステムにより、安全かつ透明性の高い方法でDiscourseの改善を継続できると確信しています。

このトピックでは、この新しいシステムがどのように機能するか、そしてコミュニティで新機能やその他の変更を安全に導入するためにどのように使用できるかを説明します。

今後の変更の仕組みの概要

新機能やその他の変更に取り組む際、それらを/admin/config/upcoming-changesの「今後の変更」設定ページに追加します。各変更には、説明、ステータス、影響を受けるユーザーの指標、およびコミュニティで有効になっているユーザー(いる場合)が含まれます。

変更のステータスに応じて、コミュニティでその変更をオンにするかオフにするかを決定できます。これは一時的な場合もあり、一部の変更はいずれ恒久的にオンになるためです。

変更を一時的に無効にすることで、影響を受けるサイトのカスタマイズやプロセスなどに対処したり、メンバーベースに変更について通知したり、特定のメンバーグループをテストのために指名したりする時間を確保できます。

今後の変更の詳細

今後の変更を分解し、各セクションで表示される情報を定義しましょう。

1 - 名前と説明

名前と説明は、変更に関する簡単な説明を提供し、詳細については関連コンテンツ(Metaトピックなど)へのリンクが示されることがよくあります。

2 - ステータス

ステータスは、開発ライフサイクルにおけるその位置を示します。ステータスは、変更がオプトイン(つまり、デフォルトではオフだがオンにできる)、オプトアウト(つまり、デフォルトではオンだがオフにできる)、または強制的にオン(つまり、オンでオフにできない)であるかどうかに直接影響します。

「今後の変更」では、次のステータスを使用します。

  • Experimental(実験的): 開発/テストの初期段階にある可能性のある変更で、急速に進化するか、実験を終了した場合は削除される可能性があります(その場合、ステータスはInactive(非アクティブ)になります。下記参照)。実験を試すために、Experimentalの変更にオプトインできます。
  • Alpha(アルファ): テスト済みの、使用しても安全な変更ですが、デザインや機能にマイナーな更新がある可能性があります。早期に使用するために、Alphaの変更にオプトインできます。
  • Beta(ベータ): テスト済みの、使用しても安全な変更で、Stable(安定版)または場合によってはPermanent(恒久版)ステータスに移行する前にほとんど変更されない可能性があります。ほとんどのサイトでは、Betaの変更は(以前に有効にしていない限り)すべての人に自動的にオンになりますが、オプトアウトすることは可能です。
  • Stable(安定版): 完了した変更[1] ですが、まだオプトアウト可能です(つまり、管理者は無効にできます)。管理者がStableの変更をオプトアウトした場合、ダッシュボードで警告が表示されます。
  • Permanent(恒久版): テストが完了し、強制的にオンになっている変更(つまり、管理者は無効にできません)。
  • Inactive(非アクティブ): 廃止された実験。オプトインできません。

変更はこれらのステータスを線形に(つまり、Experimentalで開始してPermanentで終了)進むこともありますが、常にそうとは限りません。一部の変更はAlphaまたはBetaステータスで導入され、一部はStableステータスで終了します(強制的にオンにしない場合)。

特定の変更が1つのステータスから別のステータスに進むのにかかる時間に決まった時間はありませんが、管理者は次の場合に通知を受け取ります。

  • 試すことができる新しい変更がある場合
  • 変更が自動的に有効になった場合
  • 近日中に強制的にオンになる変更を無効にした場合

3 - 影響を受けるユーザー

影響を受けるユーザーのタグは、コミュニティ内のどのユーザーがその変更を表示または操作できるかを説明します。簡単に言えば、誰がこの変更に気づく可能性があるかということです。影響を受けるユーザーにはいくつかの種類があります。

  • Admins(管理者): 変更は管理者にのみ表示されます。
  • Staff(スタッフ): 変更は管理者とモデレーターにのみ表示されます。
  • All members(すべてのメンバー): 変更はサイト上のすべてのメンバーに表示されます。
  • Developers(開発者): まれに、変更はコア、テーマ、またはプラグインのコードを操作しているユーザーにのみ認識される場合があります。

4 - 有効化対象…

このドロップダウンは、サイト管理者であるあなたが、この変更をコミュニティに導入するかどうか、およびどのように導入するかを、次の対象に有効にすることで制御できる場所です。

  • No one(誰も): サイト上のすべての人に対して変更を無効にします。
  • Everyone(全員): 変更をサイト上のすべての人(匿名ユーザーを含む)に対して有効にします。変更が自動的にオンになる場合(通常はBetaステータスの場合)、対象はEveryoneになります。
  • Staff only(スタッフのみ): サイトスタッフ(つまり、管理者とモデレーター)に対して変更を有効にします。
  • Specific groups(特定のグループ): 選択したグループに対して変更を有効にします。

現時点では、ほとんどのExperimentalの変更を/admin/config/experimentalから「今後の変更」に移動しました。新しい更新がここに表示され始めます。これがあなたのコミュニティにどのような影響を与えるかを楽しみにしています。ご質問やフィードバックを歓迎します!


  1. ソフトウェアが完了したという限りにおいて! ↩︎

「いいね!」 17

興味があるのですが、変更の展開をどのように制御するのですか?機能が導入された後に変更することは可能ですか?ありがとうございます。

「いいね!」 1

ネイティブのフィーチャーフラグ!素晴らしいです :clap:

プラグイン用のAPIがあると最高です。

「いいね!」 1

それは待ち望んでいた機能です!ありがとうございます!

「いいね!」 1

これは素晴らしいですね。私のような最先端を行く人間、特にテーマを開発している者にとっては、このようにフラグを変更できる機能は驚異的です。

ただ、「今後の変更 (upcoming changes)」という名前は本当に最善でしょうか?例えば、HomeAssistantは「ラボ (labs)」を使用していますし、他の多くの人は「実験 (experiments)」のようなものを使っており、これらは「今後の変更」よりも良い響きに感じます。

早期に試すことができる状態(オプトイン)で、問題が発生した場合に一時的にオフにできる(オプトアウト)ように、新機能が通知されます。変更がPermanent(恒久的に、つまりオプトアウトできなくなる)になる場合で、現在オフにしている場合は、その旨をお知らせします。

このセクションでは、その点をもう少し詳しく説明しています。

現在、設定エリアから「今後の変更」に移行した実験的な変更のみが表示されていますが、将来的には非実験的な更新もここに表示されるようになります。そのため、このシステムの使用方法としては「ラボ」という名称は適切ではないと感じています。

「いいね!」 1