グループの話(5/5)
グループは、連合する、サーバをまたぐコミュニティの構築に活用することができます。
ローカルタイムラインがコミュニティとして利用されてきていますが、その弱点を補うことができます。
Group Actorをホストしているサーバにメンバー管理と配送を依存していますが、投稿は参加者のサーバから発信され、参加者のサーバに配送されて保存されていくので、容易には失われません。
また、引っ越し機能でフォロワーを移し替えることで、コミュニティホストを引っ越すことすら可能です。
チャンネルに用いることもできます。これは、自身の投稿のうち、特定の内容だけをフォローしたいユーザーニーズに応え、投稿する側も配送先を使い分けることができるようになります。
複数アカウントの使い分けと比べ、リプライやお気に入り・ブーストが単一のアカウントにフィードバックされたり、メインアカウントのフォロワーに対して全てをまとめて配送できたりするメリットがあります。マルチポストが防げます。
こちらのらりおさんの記事をぜひ。これを実現可能なものです。
https://blog.cardina1.red/2018/02/25/strongest-dist-sns-i-think/
今回、gdev.fedibird.comというサーバ上に作られたグループアカウントを、fedibird.comに引っ越しさせました。
MastodonやMisskey、Pleromaには、アカウントの引っ越しをサポートする機能があり、引っ越し先の新しいアカウントに既存のフォロワーを移し替えられます。
つまり、グループのメンバーを、別のアカウントに自動移行させることができます。
だいたいうまくいきましたね!
引っ越し機能(メンバー移し替え)ができなくても、メンバーに新しいグループアカウントを再フォローしてもらえばいいのですが、連絡がつけられなかったり、方法がわからなかったり、めんどうだったりして、離脱するケースも多くなると思います。
過去投稿を移し替えることは現状サポートされていないのですが、こちらは今回は手作業でやりました。fedibird.comにキャッシュされている情報を元に、新アカウントの投稿に書き換えています。
このグループの過去投稿にあたる、グループアカウントによるブーストは、あらためてリモートサーバへ伝播させていませんので、グループの設置サーバ以外では認識されていません。アカウントページを直接見に来る必要があります。
ともあれ、すべての投稿を引っ越しさせることができました。
QT: https://fedibird.com/@noellabo/104524341770775395 [参照]
@noellabo ダジャレを検出しました(検出ワード: データ)
今回はgdevはデータベースの問題でロールバック(過去のデータに戻す)を行いましたが、一応動いた状態で対応ができました。
ロールバックで失われる情報も、リモートサーバから補いました。
もしグループのサーバが完全に死んでしまった(壊れたり、サービス終了した)場合でも、過去投稿はリモートの様々なサーバにキャッシュされていて参照できますし、それを元に新しいグループを別のサーバに作って、そこで新たにメンバーが再集結すれば、コミュニティは持続できます。
まあ、まだ自在に引っ越しできる、とまでは言えず、もう少しそのあたりをサポートする機能を充実させる必要がありますが、ともかく、できるということがある程度実証できたかなと思います。