PDA

View Full Version : نحوه حذف کاربر در سیستم های مدیریت محتوا و وب اپلیکیشن ها



Jason.Bourne
چهارشنبه 14 فروردین 1392, 16:00 عصر
در اکثر سیستم هایی که ما استفاده می کنیم و یا اپلیکیشن هایی که نوشته میشه، قسمتی وجود دارد برای مدیریت کاربران. و در این قسمت از این سیستم ها، امکان حذف یک کد کاربری وجود دارد.

چرا جای دوری برویم؟!
همین سیستم انجمن سایت "برنامه نویس" را در نظر بگیرید. در این سیستم در قسمت مدیریت کاربران احتمالا گزینه ای برای حذف یک کد کاربری وجود دارد!
اما اگر یک کد کاربری را حذف کنیم، چه بلایی به سر پست های این کاربر حذف شده می آید. باید در چنین مواقعی چکار کرد؟

dabirsiaghi
چهارشنبه 14 فروردین 1392, 16:07 عصر
معمولا کاربر را delete نمی کنن و فقط فیلد IsDeleted آن را True میکنند

colors
چهارشنبه 14 فروردین 1392, 16:14 عصر
به نظر من بهتره وقتی کاربری وجود نداره, ردپاهاشهم وجود نداشته باشه, البته همش به سیستمی که قراره اجرا بشه بستگی داره.
اگه یکی از کاربری فعال این انجمن رو حذف کنن, شاید خیلی از تاپیک و پست های مهمی که ارسال کرده و یه جواریی آموزش و منابع خوبی رو در اختیار دیگر دوستان گذاشته, باهاش حذف بشه که کار جالبی نیست. پس اول باید مشخص کنید که سیستم قراره چه کاری انجام بده و بعد طبق اون تصمیم گرفت

mpnetmpnet
چهارشنبه 14 فروردین 1392, 16:22 عصر
در FB پستهای کاربر هم حذف میشه (البته به ظاهر که اینطوره چون دوباره اجازه ثبت نام با همون ایمیل رو میده) و چت هم بصورت FB user باقی میمونه.
میشه از طریق کلید خارجی پستها رو هم حدف کرد.
چیز پیچیده ای به نظر نمیاد. برای یک برنامه نویس اختیاری به نظر میاد.
حتی توی cms ها و forum های متن بازه موجود میشه دست برد و کدی برای این موضوع نوشت. (یا پلاگین برای متن بسته ها)

اما اگر منظور ناقص شدنه تاپیک با حذف پستهاست خوب میتونه بصورت یک کاربر ناشناس یا شناس غیر فعال باقی بمونه.

plague
چهارشنبه 14 فروردین 1392, 16:36 عصر
دو نوع حذف داریم
نرم افزاری و فیزیکی
نرم افزاری رو اون دوستمون تو پست دوم گفتن اینجوری اطلاعات توی دیتابیس میمونه و فقط فلگ میخوره که ایشون حذف شده تا سیستم بدونه و پروفایلش رو نشون نده یا زیر پستاش بنویسه بن شده
حذف فیزیکی هم که مشخصه طرف حذف میشه و میره

شما بنا به نیازتون میتونی از هرکدوم از اینا یا ترکیبی از این دو استفاده کنی

-----

در حذف فیزیکی یه مبحثی کاربرد داره به اسم حذف آبشاری یا cascade delete
تمام داده های مربوط که میخاید با حذف سر رشته اونها بقیه هم حذف بشن رو به هم متصل میکنید توی دیتابیس
اینجوری وقتی سررشته حذف بشه بقیه موارد به اون هم خودبخود حذف میشن و نیازی به حذف تک تک اونا نیست


مثلا یه شبکه اجتماعی فرض کن

ینفر پست میفرسته
ینفر میاد برای اون پست یه کامنت میفرسته
ینفر هم میاد از اون کامنت تشکر میکنه یا لایکش میکنه

3 تا ردیف در 3 جدول مختلف از دیتابیس هستن که همه اینها به هم مرتبت هستن
شما توی دیتابیست تیبل پست رو به کامنت از طریق کلید زنجیر میکنی که با حذف یک پست , اون کامنتی که آیدی پستش برابر با پست حذف شده هستش حذف بشه
بعد تیبل کامنت رو به لایک وصل میکنی که با حذف کامنت , آون لایکی که آیدی کامنتش برابر با آیدی کامنت حذف شده بود حذف بشه

اینجوری وقتی پست حذف شد , کامنت هم حذف میشه . وقتی کامنت حذف شد لایکش هم حذف میشه