ユーザー自身がトピックを削除できないようにする?

Hello,

I’m new here and hope I’ve chosen the right category.
Since the update to v2. 4. 0 it is possible for every user to delete his own threads. I don’t think that’s good. Is it possible to set somewhere that nobody but the moderators and administrators can delete complete threads? Anyone should be able to delete their own posts. Just no complete threads.

I’m already thanking you for the answers.

Yours sincerely
paeddy

「いいね!」 1

From personal experience, I’ve seen that they’re only able to delete their own topics it doesn’t have any replies to it; which I feel is fine. It’s a user’s discretion to initially post the topic and show the content to others on the forum. The same goes for posts.

If a topic has people actively replying or has previously replied, they shouldn’t be able to delete the topic, however, I think this is already the case.

「いいね!」 7

Thank you very much for your answer.

That the user can only delete the topic if there is no answer to it was not known to me. I just tried it. As soon as there is a reply, the topic can only be deleted by a moderator or administrator. I think that’s good. Thank you so much for the clarification.

Best regards
Paeddy

「いいね!」 3

これは 2.8.0.beta6 時点では [部分的に] 正しくありません。ユーザーがアカウントを削除すると、70 件以上の返信がついたトピックも、全員に対して削除されます。

「いいね!」 1

ユーザーが自分でアカウントを削除できるとは思えません。それは管理者のみが実行可能で、しかもあなたが説明した状況を防ぐために、ユーザーの情報を匿名化することをお勧めします。

「いいね!」 1
  1. ユーザーが登録し、複数の投稿を行いました。
  2. 私はいくつかのメッセージを元のトピックから新しいトピック(オフトピック/議論用)に移動させました。
  3. #1 のユーザーの投稿が最初のものだったため、彼は「トピック作成者」となります。この新しいトピックでは人々が議論を行い、80 件以上の投稿が寄せられました。
  4. 数日後、そのユーザーはアカウントを削除しました。これはアカウントが最近登録された場合にのみ可能です。
  5. トピックが削除されました。

これは実際に起きた状況です。当初はユーザーが自分のトピックを削除しただけだと思い、このトピックを見つけましたが、そうではありませんでした。彼はアカウントを削除しただけで、それがトピックの削除につながったのです。Discourse はアカウント削除時に自動的にすべてのアカウントデータ(すべての投稿を含む)を消去します。ログには「トピック削除」の後に「アカウント削除」と表示されます。

「いいね!」 1

うーん、ユーザーは投稿した後にアカウントを削除できないはずです。

ただし、これはこのトピックの OP が提起した問題とは異なります。新しいトピックに移動させたほうがよいかもしれません。

「いいね!」 2

いいえ。問題の再現を試みた際、新規登録したアカウントでトピックを作成し、別のアカウントからそのトピックに返信した後、アカウントを削除しました。すると、トピックも削除されました。

「いいね!」 1

わかりました。バグの再現手順は以下の通りです。

  1. 数日経過したアカウント(複数の投稿と 1 つのトピックを持つ)を用意する
  2. すべてのメッセージを手動で削除する
  3. 「削除された投稿を削除するまでの時間」のタイムアウト(デフォルトでは 24 時間)を待つ
  4. これで、トピックの最初の投稿 1 つだけが残ります。プロフィールからアカウントを削除すると、トピックも消えます。これは、デフォルトで delete user self max post count = 1 が設定されているためです。

以下は delete removed posts after = 0 に設定した動画デモです。これにより、投稿は即座に削除されます。
アカウントを削除した後、トピックも削除されました。

「いいね!」 3

/admin/site_settings/category/users の設定を確認してください。
以下にデフォルト設定が表示されています。下部に記載されている通り、最後の値を -1 に設定すると、ユーザーアカウントの自己削除を無効化できます。それが強すぎる対策の場合は、「delete user max post age」の最大日数を減らすか、「delete all posts maximum」の値を下げることで調整できます。

「いいね!」 2

delete user self max post count = 0 は、このアカウントが返信付きのトピックを作成している場合、最初の投稿を削除できないため、ユーザーの削除を禁止すべきです。

なぜデフォルトが = 1 なのか不思議ですね。

「いいね!」 1

ユーザーが投稿が数件しかない場合、アカウントを削除できます。

「いいね!」 2

これは、誰かがサインアップして1つの投稿を行い、その後考えを変えた場合の機能です。アカウントを削除する前に投稿を削除する必要はなく、アカウントを直接削除できます。

ユーザーが自分のアカウントを削除できないようにし、削除を申請する必要がある場合は、その値を -1 に設定してください。

ただし、ユーザーが一度に多くの投稿を削除する問題がある場合は、delete all posts max を下げる必要があります。delete user max post age は、最初の投稿後、ユーザーを削除できる期間を指定します。この値を下げることで、最初の投稿後にユーザーを削除できる日数を減らすことができます。

「いいね!」 1

「すべての投稿の最大削除数」や「ユーザーの投稿の最大削除年齢」を低い値に変更しても、私のケースではあまり役立ちません。私のケースでは、アカウントは約1週間前で投稿数が7件でしたが、トピックの作成者でした。

削除されたトピックはスタッフログにのみ表示されました(削除は「システム」アカウントから実行されました)。これには混乱しました。完全に覚えていたトピックが見つからなかったのです。

この行動は、Discourseのデフォルト設定を理解している人物によって行われました。投稿は削除対象としてマークされ、24時間後に削除されました。その後、その人物はメールアドレスをバーナーアドレスに変更し、アカウントを削除しました。

「いいね!」 1

上記の設定の中で、そのような行動に対抗するにはおそらく最初の設定が最も適しています。最も古い投稿の日数を減らすことで対応できます。

デフォルトでは、トピックの作成者は自分のトピックを削除できます。上記の設定を用いてその制限を課すことで、投稿数や返信数に応じて削除を防ぐことができます。最後の設定は、スタッフによるものを除き、すべてのトピック削除を防止します。

:thinking: メールアドレスを変更してからすぐにアカウントを削除するという行動の論理がわかりません。もしかすると、アカウントが削除されたという通知を受け取るために使い捨てアカウントを利用したのでしょうか?しかし、そのような通知は届かないと思います。スパマーに対してアカウントが削除されたことを通知する理由は何でしょうか?スパマーをスパムするのでしょうか? :laughing:

このような事態が繰り返されないことを願っています。:crossed_fingers:

よく調べられましたね、@ValdikSS。要するに、こうなりますね:

Discourse では、デフォルトで投稿数が 1 件以下の場合、ユーザーはアカウントを削除できます。ただし、その 1 件の投稿がトピックである場合、そのトピック全体が削除されます。

これはほぼ設計通りです。ユーザーが自身の唯一の投稿としてトピックを作成するという、この特殊なケースを想定していなかったとは思います。

「いいね!」 2