Discourse ステッカー

Discourse Stickers v2.0

このリリースでは、このコンポーネントの大幅なモダナイズが行われています。内部の改善が多数加えられたほか、ステッカーの構成が再設計され、大規模なステッカーコレクションの管理がはるかに容易になりました。

:artist_palette: ステッカー設定の完全な再設計

v2.0 で最大の変更点は、ステッカーの構成自体です。

旧バージョンでは、ステッカーは以下の値を含む JSON 設定として保存されていました。

  • title

  • emoji

  • previewUrl

  • markdownUrl

v2.0 では、これらが Discourse 標準の objects 設定タイプに置き換えられました。

各ステッカーは、独自のフィールドを持つ、正式な構成可能なオブジェクトとして扱われます。

  • タイトル - ステッカー名 / ツールチップテキスト

  • グループ - ステッカーをグループに分類(オプション)

  • 絵文字バッジ - コーナーに小さな絵文字を表示(オプション)

  • 画像 - 設定画面からステッカーを直接アップロード

  • カテゴリ - 特定の Discourse カテゴリにステッカーを制限(オプション)

  • ダイレクトメッセージから非表示 - ステッカーをダイレクトメッセージ(DM)で使用可能にするか制御

  • チャットチャンネル - 特定の公開チャットチャンネルにステッカーを制限(オプション)

これにより、特に大規模なコレクションの場合でも、ステッカーの構成を理解・維持しやすくなりました。

:bento_box: ステッカーのグループとフィルタリング

今では、ステッカーに グループ を割り当てることができます。

複数のグループが利用可能な場合、ステッカーピッカーは自動的に上部にフィルタバーを表示します。

以下で切り替えることができます。

  • すべて

  • 各グループ

  • グループ未設定のステッカーを示す その他

フィルタは、現在ユーザーが利用可能なステッカーから動的に生成されます。

:label: カテゴリ固有のステッカー

ステッカーは、特定の Discourse カテゴリにオプションで割り当てられるようになりました。

ステッカーにカテゴリが設定されている場合、そのカテゴリのいずれかが選択された時のみ、通常の投稿/返信エディタに表示されます。

カテゴリが設定されていない場合、ステッカーはどこでも利用可能です。

:speech_balloon: チャット用ステッカーの制御強化

v2.0 では、Discourse Chat におけるステッカーの利用可能性に対する制御が強化されました。

今では以下を行うことができます。

  • 個別のステッカーをダイレクトメッセージから非表示にする

  • ステッカーを特定の公開チャットチャンネルに制限する

  • チャンネル設定を空のままにすることで、すべての公開/カテゴリチャットチャンネルでステッカーを利用可能にする

これにより、管理者はコミュニティの異なる部分に対して異なるステッカーセットを維持することができます。

:prohibited: 公開済みステッカーはクリック不可に

公開済みのステッカーは、今では非インタラクティブな画像として扱われます。

クリックしても、Discourse のライトボックスが開かなくなりました。

これは以下に適用されます。

  • 通常の投稿内のステッカー

  • チャットに投稿されたステッカー

この変更の目的は、ステッカーが通常のアップロード画像ではなく、実際のステッカー/リアクションコンテンツのように振る舞うようにすることです。

:empty_nest: より良い空の状態表示

現在のコンテキストで利用可能なステッカーがない場合、ピッカーは単に空のピッカーを表示するのではなく、適切な空の状態を表示するようになりました。

例えば、カテゴリやチャットの制限により、利用可能なステッカーが一つもない場合に発生します。

:counterclockwise_arrows_button: 既存のステッカー構成の移行

v2.0 の最も重要な部分の一つは、既存のインストールが ステッカーコレクションを再作成する必要がない ことです。

コンポーネントの更新時に、旧 sticker_images JSON 設定は自動的に新しい objects 形式に移行されます。

既存のステッカータイトルと絵文字の値は保持されます。

最も重要なのは、既存のアップロード済みステッカー画像も自動的に移行される点です。

したがって、すでに数十個のステッカーが構成されている場合でも、v2.0 へのアップデートで それらすべてを再アップロードする必要はありません

markdownUrl プロパティはもはや必要なく、新しい Image フィールドが実際の Discourse アップロードを表すため、移行されません。


「いいね!」 3