لدينا إعداد افتراضي للنظام لتنظيف المستخدمين غير النشطين. أعتقد أن المعايير الافتراضية هي شيء مثل:
تاريخ last_posted_at (لم يتم النشر مطلقًا)،
TL0
لم تتم رؤيته لمدة (افتراضيًا) عامين
تعمل هذه المعايير بشكل جيد جدًا في تنظيف قاعدة المستخدمين بشكل عام.
ولكن هل هناك طريقة لإنتاج قائمة تُظهر المستخدمين الإداريين الذين سيقوم النظام بحذفهم في المستقبل؟ نود التواصل مع بعض المستخدمين ذوي القيمة العالية ولكن غير النشطين بأسباب للبقاء معنا.
باستخدام مستكشف البيانات، سيكون الاستعلام كالتالي:
WITH posts_by_user AS (
SELECT COUNT(*) AS posts, user_id
FROM posts
GROUP BY user_id
)
SELECT
u.id,
u.username_lower AS "username",
u.created_at,
u.last_seen_at
FROM users u
LEFT JOIN posts_by_user pbu ON pbu.user_id = u.id
WHERE u.active = true and u.trust_level = 0
AND posts IS NULL
ORDER BY u.id
ولكن قد تكون حالة الاستخدام الأوسع مثيرة للاهتمام. نحن نستخدم ملخصات البريد الإلكتروني كثيرًا لأن بعض أفراد مجتمعنا ذوو قيمة ولكنهم كبار السن المشغولون الذين من غير المرجح أن ينشروا وأقل احتمالًا لتسجيل الدخول. لكنهم معتادون جدًا على البريد الإلكتروني ويحبون البقاء على اطلاع.
ولكن فجأة بعد عامين ولا يمكننا العودة للتواصل معهم.
أوه، فهمت. في الأساس، يقرؤون عبر البريد الإلكتروني ويتصفحون دون تسجيل الدخول في معظم الأوقات.
لست متأكدًا من كيفية التعامل مع ذلك. بالتأكيد سيكون لدى شخص ما فكرة جيدة. تتمثل إحدى الأفكار المباشرة في أن يقوموا بنشر رسالة واحدة على الأقل في المنتدى، على الرغم من ذلك.
أيضًا، لاحظ أنه تم تعطيل الملخصات للمستخدمين الذين لم يسجلوا الدخول بعد 180 يومًا (القيمة الافتراضية). اسم الإعداد هو suppress digest email after days.
نعم، بالضبط. سيكون من الجيد لو نشروا مرة واحدة. ولكن تخيل شخصًا لديه وقت ضئيل للغاية وسيئًا جدًا في التعامل مع التكنولوجيا. ومع ذلك، فهو ذو قيمة عالية. الملخصات رائعة لهم والمجتمع يعرف أنهم ينتمون إليها ولا يمانع في أنهم لا يساهمون بنشاط عبر الإنترنت.