angus
(Angus McLeod)
2024 年 7 月 2 日午前 8:09
1
このトピックでは、Discourse ActivityPub プラグインを使用して Discourse で ActivityPub アクターを設定する方法について説明します。これが何を意味するかわからない場合は、まず Discourse ActivityPub プラグイン のトピックを参照してください。
次のステップ
This topic covers following an ActivityPub Actor in Discourse with the Discourse ActivityPub Plugin, and follows on from Setting up an ActivityPub Actor . If you’re not sure what this means, head on over to the Discourse ActivityPub Plugin topic first.
Instructions
To follow an ActivityPub Actor:
Set up an actor for the Category or Tag you want to do the following.
Get the “handle” of the Actor you want to follow (see below).
Go to the “Federation” tab in the topic list view of the Category …
手順
ActivityPub アクターを作成するには:
管理 > プラグイン > ActivityPub に移動します。
「アクターを追加」をクリックします。
アクター追加フォームに記入します (設定については以下で説明します)。
「アクターを保存」をクリックします。
アクターを保存すると、Fediverse の他のアクターがそれをフォローできるようになります。アクターは、編集アクタービューの右側にある「有効」トグルを切り替えることで無効にできます。
アクターの設定
ユーザー名
これは、アクターの ActivityPub ハンドルの最初の部分です。たとえば、announcements@meta.discourse.org のユーザー名は announcements です。これは、リモート Discourse インスタンス上のアクターのユーザーのユーザー名のベースになります (そのインスタンスでユーザー名が既に取得されている場合は、一意性を確保するために整数が追加されます)。
このプロパティは、ActivityPub 仕様の preferredUsername に相当します。
現在、一度設定すると変更できません。これは、Mastodon のこの PR がマージされるか、または将来的に変更される可能性があります。
main ← angusmcleod:add_username_change_integration_test
opened 11:31AM - 18 May 24 UTC
See further https://socialhub.activitypub.rocks/t/changeable-usernames/830/13?u=… angus
名前
これはアクターの表示名です。その使用方法は、他のサービスがどのように実装するかによって異なります。Discourse では、これはアクターのユーザーの「名前」になります。
可視性
これは、アクターによって公開されるアクティビティが「公開アドレッシング 」を持つかどうかを決定します。何をしているかわからない限り、これは公開のままにしておくべきです。
これは、Mastodon の「公開」投稿と「非公開」(フォロワーのみ) 投稿の違いと基本的に同じです。
ポストオブジェクトタイプ
これは、アクターが Note または Article として投稿を公開するかどうかを決定します。何をしているかわからない限り、これは Note のままにしておくべきです。
Mastodon は、Article を受信した場合にのみ、元の投稿へのリンクを公開します。
公開タイプ
フル トピック
アクターに関連付けられたトピックのすべての投稿が公開され、Fediverse からのすべての返信が投稿に変換されます。
最初の投稿
アクターに関連付けられたトピックの最初の投稿のみが公開され、Fediverse からの返信は投稿に変換されません。
「いいね!」 3
LaF0rge
(Harald Welte)
2024 年 12 月 18 日午後 12:48
2
Discourse 3.3.2 インストールにプラグインを追加しました。プラグインのリストやプラグインの設定などでプラグインを確認できます。
しかし、アクターを追加しようとすると、タグ(不要)のアクターしか追加できず、カテゴリのアクターを追加できません。これは UI / ブラウザ側の JavaScript の問題のようです(私は Web 開発者ではありません)。
Debian 上の Firefox と Chromium の両方で試しましたが、どちらも同じ動作をします。
タグのアクターの追加は期待どおりに機能します。
カテゴリのアクターの追加は、「モデル / カテゴリを選択」の右側にカテゴリの選択ボックスが表示されないため不可能です。
「モデルを選択」ボタンから「カテゴリ」を選択すると、開発者コンソールに次のエラーが表示されます。
runtime.js:912 Uncaught TypeError: Cannot read properties of null (reading 'firstNode')
at ue.firstNode (runtime.js:912:1)
at T (runtime.js:241:1)
at ue.reset (runtime.js:983:1)
at ae.resume (runtime.js:686:1)
at Ut.handleException (runtime.js:4309:1)
at Vt.handleException (runtime.js:4521:1)
at Dt.throw (runtime.js:4260:1)
at $e.evaluate (runtime.js:2088:1)
at Dt._execute (runtime.js:4247:1)
at Dt.execute (runtime.js:4232:1)
at qt.rerender (runtime.js:4547:1)
at hr.render (index.js:4674:1)
at index.js:4934:1
at Nt (runtime.js:4080:1)
at gr._renderRoots (index.js:4916:1)
at gr._renderRootsTransaction (index.js:4960:1)
at gr._revalidate (index.js:4992:1)
at invoke (backburner.js.js:280:1)
at h.flush (backburner.js.js:197:1)
at p.flush (backburner.js.js:358:1)
at B._end (backburner.js.js:798:1)
at B.end (backburner.js.js:589:1)
at B._run (backburner.js.js:842:1)
at B._join (backburner.js.js:819:1)
at B.join (backburner.js.js:629:1)
at l (index.js:81:1)
at u.onHover (index.js:118:1)
at e.handleMouseEnter (select-kit-row.js:83:22)
通常、Meta でのサポートは最新の安定版またはテスト合格リリースのみに提供されます。遅れている理由は何ですか?最新版にアップグレードして、もう一度試す価値があります。
LaF0rge
(Harald Welte)
2024 年 12 月 18 日午後 3:50
4
タイプミスでした、すみません。3.3.2 を使用しています。
「いいね!」 1
angus
(Angus McLeod)
2024 年 12 月 19 日午前 9:53
5
@LaF0rge様 、このプラグインは現在、Discourseの最新バージョンのみをサポートしています。詳細は以下をご覧ください。
「いいね!」 1
LaF0rge
(Harald Welte)
2024 年 12 月 19 日午後 12:46
6
Hi @angus - ご返信ありがとうございます。残念ながら、本番環境のインストールをベータ版または現在のgit masterにアップグレードするつもりはありません。Discourseの新しい安定版がタグ付け/リリースされるまで待つことになると思います。
ところで、プラグインの最小バージョン要件を示す構造化された情報はありますか?このスレッドの最初の投稿や、GitHub - discourse/discourse-activity-pub: Adds ActivityPub support to Discourse. にも記載が見つかりませんでした。
他のソフトウェアプロジェクト/製品では、プラグインは通常バージョンの互換性を示しています。
プラグインは1年以上前から存在しているので、別の選択肢としては、3.3.2が最新だった頃の古いバージョンのプラグインにダウングレードすることでしょうか?しかし、コミットログではDiscourseのバージョンへの参照をすぐに見つけることができませんでした。
angus
(Angus McLeod)
2024 年 12 月 19 日午後 1:21
7
特別な理由がない限り、Discourse の tests-passed ブランチを使用することをお勧めします。詳細は以下をご覧ください。
We recommend running tests-passed and updating when beta releases are available. This gives you the flexibility of updating when you want/need to.
Stable isn’t recommended except in select cases… like extensive customization (99% of the sites we host aren’t in this category). There are months between stable releases, and we only backport critical or security related bugs… so if there’s a minor bug in stable you may have to live with it for quite a while.
There’s some more relevant discussion h…
さらに、experimental タグが付いたプラグインやカスタマイズ(ActivityPub プラグインのように)は、最新バージョンの Discourse でのみ確実に機能すると想定できます。
バージョン管理に関する暗黙の質問について、より具体的に説明すると、Discourse プラグインでは .discourse-compatibility ファイルで管理されており、詳細についてはこちらをお読みください。
Hey everyone , I just merged a new feature that will help plugins and themes pin certain versions when installed on older Discourse instances.
You can now include a .discourse-compatibility file at the root of a plugin or theme repository, that designates what to checkout when installing on older Discourse versions.
Rationale
It sucks to remember which plugins and themes are compatible with which Discourse versions. As an admin, it should be possible to easily scan those changes and fi…
ActivityPub プラグインの互換性ファイルはこちらをご覧ください。
ActivityPub プラグインはまだ experimental であるため、後方互換性の確保は重点を置いていませんでしたが、来週初めにそのファイルに明示的な 3.3.2 サポートを追加することを検討します。
しかし、前述のように、特別な理由がない限り、tests-passed を使用することをお勧めします。
「いいね!」 3
angus
(Angus McLeod)
2024 年 12 月 20 日午後 12:30
8
@LaF0rge これを確認しました。
プラグインは、互換性ファイルに既に含まれているため、明示的な 3.3.2 サポートを追加する必要はありません。
< 3.4.0.beta1-dev: 3a6512d0560211b93f022a27ed7276024d0020dc
3.3.2 の標準的な Discourse インストールを使用している場合、プラグインのコミット 3a6512d0560211b93f022a27ed7276024d0020dc が自動的に適用され、カテゴリドロップダウンが機能します。詳細については以下をご覧ください。
LaF0rge
(Harald Welte)
2025 年 1 月 6 日午後 1:37
9
追加の入力をいただきありがとうございます。本日、プラグインコミット 3a6512d0560211b93f022a27ed7276024d0020dc を、アップグレード済みの discourse 3.3.3 で再度試しましたが、どの URL に対してもすべての HTTP リクエストが Completed 500 Internal Server Error in 42ms (ActiveRecord: 0.0ms | Allocations: 16860) で応答される状態になりました。production.log にも、標準出力/エラーにも、passenger.3000.log にも、エラーを示すログはありませんでした。プラグインディレクトリからプラグインを削除して再起動したところ、問題は解決しました。これは何度か再現可能でした。
今のところ、諦めます。ActivityPub 統合を試すのは良いアイデアでしたが、他の正常にインストールできたプラグインとは異なり、有用なことを達成できるレベルではないようです。結局のところ、これは必須要件ではなく、「あれば嬉しい」という程度のことです。
angus
(Angus McLeod)
2025 年 1 月 6 日午後 2:19
10
もしプラグインの特定のコミットとDiscourseの特定のバージョンを手動で照合しようとすると、うまくいかない可能性が高いです。Discourseの標準インストールを検討することをお勧めします。オーバーヘッドが削減され、このプラグインやその他のプラグインを問題なく使用できるようになります。
LaF0rge
(Harald Welte)
2025 年 1 月 6 日午後 3:51
11
おっしゃることは分かります。しかし、私はタグ付けされた/リリースされたバージョンのソフトウェアのインストールと運用から逸脱するつもりはありません。Discourseについては、現時点ではAFAICTで3.3.3です。
タグ付けされたリリース以外のものに本番システムを実行することは、非常に不快で落ち着きません。時代遅れだと言われても構いませんが、私は1990年代半ばからITシステムを正常に運用(および開発)してきました。
あなたや公式のDiscourse開発者コミュニティが異なる態度/アプローチを持っていることを尊重します。意見が違うということで合意しましょう。それでも、これまでのご協力に感謝いたします。
「いいね!」 1