ActivityPubプラグイン

私も同じです。スレッドのオーナーを変更できません。カテゴリがフェデレーションされていない場合でもです。

それらはエラーではなく警告です。必ずしも何かが間違っているという意味ではありません。何が起こっているのかについての追加情報を提供するために存在します。Fediverseからのコンテンツが処理されない理由はいくつか考えられますが、その多くはコンテンツを送信している人物に関連しています。ログに表示したくない場合は、ActivityPubプラグインの冗長ログ記録をオフにしてください(activity pub verbose logging)。

トピックはActivityPubカテゴリにありますか、それともActivityPubタグが付いていますか?

トピックはActivityPubカテゴリで作成されましたか、それともActivityPubタグで作成されましたか?

なお、ActivityPubトピックのトピック所有者の変更は意図的に無効になっています。その理由については、上記を参照してください。

Activitypubのカテゴリですが、スレッドのオーナーはactivitypubに関係しておらず、別のアカウントです。\n\nそうでなければ、Discourseにオーナーを変更するモーダルがある意味がないので、オーナーを変更するオプションがあるべきだと思います。\nまた、activitypubに何も更新を送信せずに変更できるのは、私たちにとって完璧です。

「いいね!」 1

投稿の所有権を変更したいというご要望は理解しております。この点に関して対処すべき問題は、私が上記で概説したものであり、具体的には次のとおりです。

Discourse に表示されるコンテンツは、あなたが管理者ではないサービスからのものであり、ActivityPub がなければ、あなたはそれを一切制御できません。その事実を十分に考慮せずに、単にそのコンテンツの作成者を変更する機能を拡張することは賢明ではありません。

ActivityPub 経由で公開されるトピック内の Discourse ユーザーによって作成されたコンテンツについては、投稿作成者を変更した後にコンテンツに更新が加えられた場合に何が起こるべきかを検討してください。次のいずれかを行いますか?

  1. ActivityPub の更新の発行を停止する。または
  2. 「古い」アクター(ユーザー)によって発行する。または
  3. 「新しい」アクター(ユーザー)によって発行する。

既存のオブジェクトの更新アクティビティを新しいアクター(つまり 3)で発行することは、Discourse では機能します(この質問の可能性を考慮しようとしました)が、他の ActivityPub サービスでは機能しません。実際、この理由から、ActivityPub エコシステムでこの点についてすでにプッシュしています。こちらをご覧ください。

そして、3 を可能にするために Mastodon に PR を出しました。

ここでの問題の 1 つの例として、あなたのアカウント(あなたの名前と写真)を付けて ActivityPub コンテンツを発行しているケースを考えてみてください。あなたの「競合他社」の 1 人があなたのコンテンツをフォローしています。彼らのサーバーでは、あなたのコンテンツを含むすべての投稿の所有権を、あなたではなく彼らの投稿(彼らの名前と写真付き)に変更します。これは、ある程度理解できるように、あなたを不快にさせる可能性があります。はい、もちろんこれはカスタムコードでも可能です。しかし、問題は、プラグインのデフォルトの機能にそれを組み込みたいかどうかです。

このことについて一晩考えた結果、発行アクターを ActivityPub ステータス表示に追加するというアプローチが、ある程度これを緩和するかもしれません。

その種の他のアイデアも歓迎します。

確かに、この根本的な問題を解決するまで、ActivityPub トピックのモーダルを完全に削除することにします。

「いいね!」 2

承知いたしました。我々の場合は、カテゴリごとにアカウントを作成し、その更新を投稿する形でActivitypubを使用しています。
そのため、Activitypubではスレッドの所有者がそれほど重要ではなく、様々なケースに対応できるため、いずれにせよ実行できるはずだと申し上げました。

ActivityPub はフォーラムの使い方だけでなく、フォーラムが Fediverse の他の部分とどのように連携するかが重要です。さらに、プラグインに何かを組み込むには、他のユースケースも考慮する必要があります。

投稿所有者の変更を許可することが、積極的に検討されていない問題であるとか、将来のアップデートで許可されないという印象を与えたくありません。ここに挙げた問題のいくつかを解決するための、皆さんのアイデアに興味があります。

この例に対処するために、フェデレーションされた投稿の所有権を変更することを禁止し、管理者が、それがフェデレーションされた投稿であるかどうかにかかわらず、そのDiscourseインスタンス内で作成された投稿の所有権を変更することを許可するのが合理的でしょう。

管理者はユーザーになりすますことができます。したがって、管理者は、既存の機能を持つプラットフォーム内で、プラットフォーム上の任意のユーザーとして偽装してコンテンツを作成することができます。管理者がこの権限を乱用しないことを願っています。私もそうしません。しかし、その権限は、投稿の所有権を変更する能力と同様の影響力を持っています。一般的に、「管理者は何か悪意のあることをすることができる」ということは、すでに数え切れないほどの方法で真実です。

(少なくとも私が理解できる範囲で:ニコニコ)フェデレーションによって作成された投稿(したがって、トピック投稿ではない?)の所有権を変更することは、あまり意味がないことに同意します。サイトで作成された投稿の所有権を変更するのとは異なり、ユースケースが明記されているのを見た記憶はありません。

これは、このような攻撃に対する堅牢性という観点だけでなく、フェデレーションをより見えやすくし、サイト訪問者がフォローするActorを見つけやすくするという観点からも気に入っています。カテゴリActor(そして、おそらくいつかサイトActor?)と人物Actorが存在する場合、これはどのようになりますか?リストはありますか?

  • [@category@site](link)によって公開
  • [@person@site)(link)によって公開
「いいね!」 1

分析ありがとうございます。

同意します。

この分析は、フェデレーションされていない投稿にのみ当てはまります。問題は、投稿の所有者を変更することがDiscourse自体にとって理にかなっているかどうかではありません。問題は、所有権の変更がフェデレーションされたコンテンツにどのような影響を与えるかということです。ローカル投稿の所有権を変更し、それがフェデレーションされている場合、この質問に対処する必要があります。

まず、1と2の両方にかなりの問題があることを指摘したいと思います。必要であれば、詳しく説明できます。答えは、プラグインがすでにサポートしている「3」かもしれませんが、もしその道を進むなら、次のようになります(私の現在のMastodonへのPRがマージされないと仮定します)。

  1. トピックがフェデレーションされる。
  2. トピックからの投稿がMastodonに表示される。
  3. サイト管理者が投稿の所有者を変更する。
  4. 新しい投稿の所有者が投稿に様々な編集を行う。
  5. 編集はMastodon(または他のActivityPubプラットフォーム)に反映されない。

そして、それに続いて:
6. 誰かがここにきて、「私の編集がフェデレーションされていない」と言うでしょう。その理由は、Discourseにとってはフェデレーションされているため、すぐに明らかではないでしょう。

ここで重要な点は、もしこのアプローチを取るなら、私たちが知る限り、Fediverseでそうする最初のプラットフォームになるということです。ノードの相互接続システムで唯一のノードが何かを行うということは、明らかに望ましいことではありません。私たちはその点で変化を促すかもしれませんが、それが私たちが試みようとしていることであることを意識する必要があります。

とはいえ、私はすでに3を実装しており、それが最終的な答えとなり、この制限を解除できるようになると予想しています。誰かがもう少しニュアンスのあるアプローチ、または私がまだ考えていない何かを思いつくことをまだ期待しています。

オブジェクトのattributedToアクターのみがリストされるため、1つだけになります。

「いいね!」 1

その醜さは理解できます。私をそこに至らしめた思考プロセスは、次のようなものです。

#2を少しだけ加えた#3のようなものを単純に想像できます。古いユーザーから生成された更新をフェデレートし、最後に公開されたバージョンに、システム生成のテキストを上部または下部に追加するものです。「今後の更新については、@newuser@siteをフォローしてください」のような、漠然としたものです。

そうすれば、(これも単純に)新しいattributedToの下で更新された投稿に新しいIDを割り当て、新しいオーナーの更新に使用されることになります。

私にとって明らかなエッジケースは、元のオーナーへの所有権の変更です。古い投稿IDに戻るのでしょうか、それともさらに別のIDが割り当てられるのでしょうか?戻ると思いますが、その場合、フェデレートされた投稿IDは実際には(ユーザー、ディスコース投稿)タプルのキーである必要があります。これには、後方互換性をサポートするためのマイグレーションが必要になるでしょう。

思考実験としてすべてを行うと、Mastodonへの提案変更を急いで進めたくない理由がより明確に理解できます!:slightly_smiling_face:

MastodonのPRが受け入れられることを除けば、個々の投稿をフェデレートされないものとしてマークできることを想像できます。これは、以前にフェデレートされていた場合は削除としてフェデレートされるか、またはプラグインがインストールされているがフェデレーションが有効になる前に行われ、その後フェデレートされない投稿のみの所有権変更を許可することができます。所有権を変更したいすべての投稿は、私の知る限り、フェデレートする価値のない投稿です。

MastodonのPRが受け入れられ、所有権の変更がサポートされたとしても、それは価値があることだと想像できます。例えば、カテゴリトピック投稿をフェデレートすることは意味がないと思います。少なくとも、所有権の変更がサポートされていたとしても、除外するオプションがあれば、私のサイトではすべて除外すると思います。

興味深い思考実験ですが、いくつかの理由でこれは機能しません。

  • ディスコースの ActivityPub では、個々のユーザーをフォローすることはできません。
  • 既存の ActivityPub オブジェクトの ID を変更することはできません(新しいオブジェクトを作成する必要があります)。
  • あなたが言うように、所有権が再度変更されたり、複数回変更されたりすると、1つの投稿に対して複数のオブジェクトができてしまい、管理不能になります。

この点で、私が今できることは、ローカルトピックの最初の投稿が公開されたかどうかという制限を変更することです。これは、あなたが言うように、いくつかのトピックに役立ちます。

「いいね!」 1

私の勘違いでした。それ(個々のユーザーのフォロー)や、カテゴリのアクターも作成できる機能があると思っていました。(機能リクエストではありません、単なる誤解です。)

それが私が説明しようとしていたことで、明らかに失敗しました。いずれにせよ、それは reductio ad absurdum のようなものでした。:smiling_face:

それは素晴らしいでしょう!:heart:

「いいね!」 1

こんにちは、Lemmy には制限がありますか?

例えば、@batepapo@lemmy.eco.br をフォローできません。

実際、フォローできます。「フォロー解除」ボタンもプロフィールに表示されますが、ページを更新するとすべて消えてしまいます。

「いいね!」 1

素晴らしい!アクティビティパブの配信遅延(分)について質問があります。投稿がすぐに表示されるように、この機能を無効にする方法はありますか?

設定を1分にするとほぼ即時ですが、リアルタイムでも両方投稿したいです。

「いいね!」 1

@David_Ghost これを読んでください

「いいね!」 2

これも私が最初に気づいたことです。ActivityPub経由で配布される投稿に新しいトピックのタイトルを追加することの欠点は何でしょうか?

[Discourseのトピックタイトル]
[空行]
[Discourseのトピックテキスト(現在公開されているもの)]

Lemmy の人々は Discourse との互換性を追加するために取り組んでいました。それは私が確認する予定の議題にあります。

それは、Discourse がフォローを送信しているが、Lemmy からの承認を受け取っていないことを意味します。

現在、環境変数(例:app.yml ファイルで設定)を使用してのみ、これを実行できます。

DISCOURSE_ACTIVITY_PUB_DELIVERY_DELAY=0

トピックのタイトルは既に公開されています。それはトピックに関連付けられたコレクションの name です。

これにより、Discourse から Discourse へのフェデレーション、または Discourse から NodeBB、あるいは Discourse から任意のフォーラムライクなプラットフォームへのフェデレーションでトピックタイトルが含まれます。Mastodon はタイトルを処理しません。もし、あなたが提案するようにトピックタイトルを Note のコンテンツに追加した場合、それは問題を引き起こすでしょう。例えば、コンテンツがタイトルをサポートするプラットフォームにフェデレートされる場合などです。

根本的に、あなたが説明している制限は、Mastodon がマイクロブログプラットフォームであるということです。私たちは既にそのための機能を追加しました。つまり、フェデレートしているコンテンツをターゲットにするための [note][/note] マークアップです。もしあなたが適切なフォーラムライクなフェデレーションを望むなら、他の Discourse インスタンスとのフェデレーションを提案します。

はい、Mastodon インスタンスはたくさんあります。しかし、Discourse インスタンスもたくさんあります。もしあなたがフェデレートしたい Discourse インスタンスがまだ設定されていない場合は、喜んで設定をお手伝いします。

「いいね!」 5

アクターを削除することは可能ですか?
また、複数のカテゴリを設定して、ディスコースで新しいものをすべて投稿できるようにすることは可能ですか?
そうしないと、すべてのカテゴリからすべてのコンテンツを取得するために、マストドンでxxのハンドルをフォローする必要がある人が出てきます。

アクターを無効にすることができます。これにより、そのアクターに関連するすべてが無効になります。

アクターが関連付けられているカテゴリまたはタグを削除すると、アクターも削除されます。アクターを単独で削除することは現在できません。アクターを無効にすることをお勧めします。

これは将来(中長期的に)可能になるかもしれません。ディスコース全体のアクターを追加する場合です。単一のアクターを通じてディスコース上のすべてをフェデレーションすることは、おそらく常にニッチなユースケースであり続けるでしょう。

「いいね!」 1

Hm、わかりました。私の可能性の理解が違うのかもしれません…

昨日セットアップしたときは問題なく動作しました。テスト目的だったのでDiscourseの投稿を削除しましたが、Mastodonでは投稿がオンラインのままです。そのため、アカウントを削除すればMastodonのコンテンツも削除できると考えました。
無効にするだけでは、Mastodonのコンテンツはオンラインのままです。
そして、削除できない場合、将来的に他のカテゴリでこのハンドルを使用できなくなります。将来的にカテゴリを変更したい場合でも、xx人のフォロワーがいるハンドルでは使用できません。そのため、新しいハンドルを作成する必要があり、全員が再度フォローする必要があります。もう必要のないハンドルを無効にする利点がわかりません。

また、ハンドルを1つ無効にすると、もう1つも無効になります。つまり、複数のハンドルを実行するか、何も実行しないかのどちらかしかできないということですか?

しかし、それが私が望んでいることですが、私の理解は間違っていますか?私は、私のDiscourse全体での議論について、ソーシャルネットワークのユーザーに通知したいのであって、特定のタグやカテゴリだけではありません。もし「ニュース」セクションを実行するなら理解できますが、全員が議論に参加できるようにしたいので、すべてを投稿する必要があり、1つのカテゴリだけではありません。