2009-03-28 8 views
10

フォーラムスレッド、ブログコメント、提出された記事、プライベートメッセージとパブリックメッセージ、ユーザープロファイルなどのユーザー生成コンテンツの公平な共有を持つサイトでは、ユーザーがアカウントを終了した場合のユーザー生成データの処理に関するベストプラクティスは何ですか?ユーザーアカウント終了時のデータ削除のベストプラクティス

私は法律上のアドバイスを求めていませんが、法的な問題として、ユーザー、他のユーザー、サイト間のバランスを取ることと同じように考えません。なぜなら、利用規約は、そのバランスは打たれます。 - が会話証跡は を削除すべきユーザー間の

  • プライベートメッセージ:次のシナリオのいくつかは、ユーザーが自分のアカウントを削除する際に考慮すべきですか?もしそうなら、法律である の証拠が必要な場合、嫌がらせの場合はどうすれば を考慮に入れますか?
  • フォーラムの質問または回答 - ユーザーが質問した場合は、 スレッド全体を削除する必要がありますか?彼らが に質問に答えた場合は、回答 を削除する必要がありますか?

私はCMSにユーザーアカウントを実装しているので、この質問をしています。 Facebookは最近、利用規約が変更されてtroubleになったことを知っていますが、参加している他のユーザーのニーズと投資にどのように釣り合っていますか?

答えて

18

一般的にデータベースと言えば、ほとんど何も削除しません。削除済みとしてマークすることはできますが、一般的に少なくとも1度はデータベースに保存しておきます。

これには多くの理由があります。それらのいくつかは合法です。一定期間データを保持する必要があるかもしれません。技術的なものもあります。時にはその単なる保護措置です。情報を復元する必要があるかもしれません。ユーザーはアカウントが再開されたことを要求するか、スパムのためにロックされている可能性がありますが、アカウントが侵害されて復元されたためです。

古いデータは削除またはアーカイブされることがありますが、これには数カ月または数年かかる場合もあります。

個人的には、関連するデータにステータス列(例:1 =アクティブ、0 =削除済み)を与えてから、99%の時間を削除するのではなくステータスを変更するだけです。

ここではデータの整合性も問題です。私に例を挙げてみましょう。あなたは、特定のユーザーを削除したい

User: id, nick, name, email 
Message: id, sender_id, receiver_id, subject, body 

は、あなたが2つのエンティティがあるとします。あなたが送受信したメッセージについてはどうしますか?これらのメッセージは、他の誰かの受信トレイに表示されるか、アイテムを送信できないように送信されます。メッセージの関連フィールドをNULLに設定していますか?それは、たとえ彼らがもはや活動していなくても、そのメッセージが誰かから来た(または行く)からである。

あなたは、そのユーザーを削除済みとしてマークしておくことをお勧めします。これは、これと同様の状況を扱いやすくします。

フォーラムスレッドなども記載されています。他のコンテンツ(例えば、返信されたフォーラムメッセージ)に関連したコンテンツであるため、これらを削除することはできません(スパムや嫌がらせのような理由がない限り)。

安全かつ合理的に削除できるデータは、子データだけです。これは実際に集約と構成の違いです。上記のユーザーとメッセージの関係は集約です。構図の例は、ハウスとルームです。あなたは家を削除し、すべての部屋に行きます。部屋は家なしでは存在できません。これは、構成またはエンティティ関係の用語では、親子関係です。

しかし、(私の経験では)構成より集計のインスタンスが多いので、そのデータで何をしていますか?あなたがしてはいけないものを削除することなく、誰かの痕跡をすべて消すことは本当に難しいです。それらを削除、ロック、または非アクティブとしてマークし、そのように処理してください。

+0

そのデータへの一般的なアクセス、特にフォーラムスレッドのような他のデータを含むデータはどうですか?公開されたままにしておく必要がありますか? – VirtuosiMedia

1

あなたは単にそのユーザーを削除済みとしてマークし、そのユーザーに関連するコンテンツを表示するたびにその名前を「元ユーザー」などと表示できます。

これは、あなたのコンテンツを破壊することなく、離脱したユーザーの身元を保護します。

1

他のユーザーが自分のプロフィールやユーザー名などを見ることができないように、すべてのコンテンツを保持してユーザーにマークするだけです。別のユーザーが同じ名前で登録できる必要があります無料になる)。

1

私はこれらの同じ問題についてかなり前から考えてきました。正直なところ、他の人が自分の時間と労力を費やした場合、削除されるユーザーによって開始されたスレッドを削除しないでください。 1つのフォーラムで、公開されてから約11時間後にスレッドを削除できないというルールがあることを覚えています。私はあなたがそれを発音した後にあなたの言葉を取り戻すことができないという考えを背負っていると思います。

アカウントをロックする方がよいが、ユーザーとの関係でカスケード削除はしないでください。

特に、アカウントを削除してから、同じ名前で登録してもう一度やり直すことができます。

関連する問題