グループの話(3/5)
グループは、ActivityPubによるユーザーの集合の表現で、コミュニティやチャンネルを実現することができる仕組みとして利用できます。
Actorの種類としてGroupが定義されているので、これを用います。
Group Actorを宛先とすることで、Groupに参加しているActorへ間接的にActivityを送ることができます。
(ただし、第三者となるActorがActivityを転送するにはJSON-LD署名が必要で、現実的には投稿と削除ぐらいしか対応していない状況です)
Groupのメンバーを表現する方法はいろいろ考えられますが、Mastodonなどの既存実装との互換性を考えると、Groupのフォロワーをメンバーと見做す実装が現実的であるため、私はそれを採用しています。
グループの話(2/5)
Actor同士が直接やりとりする投稿は、当事者以外、他の人には見えません。
そこで、Activityの宛先として、Publicコレクションという特殊な宛先を指定することができるようになっており、各サーバプログラムでは、これを誰にでも見えるようにしたり、連合タイムラインやローカルタイムラインに流して表示しています。
フォロワー限定やダイレクトが基本形で、公開や未収載が特殊な公開範囲だということです。
また、連合タイムラインやローカルタイムラインはユーザーを探すための場所ですよ、と説明されるのは、こういった事情があるためです。
公開投稿をどのように扱うか(見せ方を工夫するか)は、サーバ次第です。
なお、Activityの宛先には、メールと同様にToとCcがあります。一般に、PublicをToに指定したものが公開投稿、PublicをCcに指定したものが未収載として扱われています。
ここまで、なんとなくつかめましたでしょうか?
グループの話(1/5)
まず、ActivityPubの概要から。
Mastodon、Pleroma、Misskeyは、それぞれまったく異なるプログラムですが、ActivityPubというプロトコルに従ってやりとりすることで、相互接続を実現しています。
ActivityPubをざっくり言うと、Actorが別のActorに対してActivityを送信し、相互作用する仕組みです。
Actorはユーザーのアカウントに相当するものです。通常のユーザーはPerson、botはServiceという種類のActorとして表現されます。
Activityは『投稿を・作った』とか『投稿を・気に入った』『Actorを・フォローする』というようなメッセージです。
Actorは、受け取ったActivity、送ったActivity、フォローしているActor、フォローされているActorなどのコレクションを保持しています。
・ActorとActorがやりとりする
・ActorにPersonやServiceなどの種類がある
・Activityを送り合う
・フォロワーなどのコレクションを保持している
Fedibird方式のグループ紹介です。
グループ機能のテスト用のグループ実験場(playground)があります。
動作試験などを行う場ですが、住み着いている方もおられますw
@playground
https://fedibird.com/@playground
特定目的のグループに参加するのは勇気がいる、ということであれば、ここで試してみるのも良いでしょう。
Fedibirdのグループ機能を用いた、ポケモンのグループ、サンリオのグループです。
過去の紹介とアカウント・URLが変わっています。下記を参照ください。
@pokemon ポケモングループ
https://fedibird.com/@pokemon
@sanrio サンリオグループ
https://fedibird.com/@sanrio
過去の投稿は、URLの方から参照可能です。
QT: https://fedibird.com/@AzumaRinto/109825746352685722 [参照]
グループの紹介ひっぱってきましょう。
こちらはドール同好会の宣伝投稿です。
参加する際、投稿するアドレスが変更になっています。 @doll をフォローして、メンションしてください。
(古いアカウントを参照すると、引っ越した旨、表示がでると思います)
QT: https://fedibird.com/@7ru3___/110644297488694638 [参照]
Fedibirdのグループ各アカウント、移行前の過去投稿を移行しました。
古い書き込みも参照できるようになったよ!
#fedibird #fedibird_info 今回および直近の更新内容です。
・/api/v2/instance APIに対応。最近のアプリでログインできなかった原因はだいたいこれ。
・V2系のフィルターAPIおよび設定に対応。ただしWebUIはV1系APIを使い、従来通りの機能と見た目。
・投稿の自動削除設定の画面が未翻訳だったので、翻訳を適用
・リモートサーバの情報取得に失敗するケースに対処。不明なリモートサーバへ絵文字リアクションが配送されず、相手に通知されない不具合を修正
・WebFingerで3回リダイレクトするサーバに対応
・引用投稿の引用投稿の取得に失敗した場合は引用とみなさずに通常投稿と解釈しますが、本文から引用非対応サーバ向けのURL表記を削除しないよう修正
・グループのメンバー以外がメンションした際にグループに配送してしまう不具合を修正
・投稿本文および添付画像のQRコードをデコードした文字列に指定した文字列を含む投稿を拒否するスパム対策機能を追加
・添付画像のBlurhashが一致する投稿を拒否するスパム対策機能を追加
#fedibird #fedibird_info 更新を適用しました。
ブラウザからアクセスしている人はリロードしておいてください。
こりゃブルースカイのブリッジ大変だ、リレーを増やそう……というわけにはいかないよ、という事情を説明したのがこれ。
QT: https://fedibird.com/@noellabo/112378483282033140 [参照]
JR SKI SKI(Misskeyテーマ鯖大喜利)
QT: https://fedibird.com/@noellabo/108491635389808619 [参照]
主に、Fediverseへの関心に基づいた投稿を行うアカウントです。DTP・印刷に関する話をしたり、同人の話をしたり、カレーをブーストしたりします。
Mastodonのcollaborator(開発者の一員)です。また、独自機能を盛り込んだFedibirdを管理・開発しています!
Mastodonサーバ『fedibird.com』の管理者アカウントでもあります。ご連絡は当アカウントへ、サーバインフォメーションについては https://fedibird.com/about/more と @info を参照してください。