مرحبًا بالجميع ![]()
أعتذر مسبقًا عن هذا المنشور الطويل، لكن ربما يعرف شخص ملم بـ Discourse الإجابات فورًا.
أقوم بإدارة منتدى متخصص مع شخص آخر، وهو منتدى خاضع للإشراف. نحن اثنان، والزميل الآخر هو من كتب البرنامج (أيضًا بلغة Ruby). البرنامج الحالي للمنتدى مخصص بالكامل، ويتميز ببساطته مقارنة بـ PHP-BB و Vbulletin (وهذان يستمران في التعرض للاختراق). قاعدة البيانات تبلغ حوالي 40 جيجابايت وتحتوي على 200 ألف منشور. ولأسباب مختلفة، نحن نفكر في نقل قاعدة البيانات إلى منصة أخرى، ويبدو أن Discourse خيار مناسب.
تشير الاختبارات الأولية إلى أن الأداء العام جيد جدًا، مثل دعم تضمين الصور والفيديو. حتى أن رفع عدة صور من هاتف أندرويد يعمل بشكل صحيح!
ومع ذلك، نحتاج إلى بعض التعديلات، معظمها يتعلق بتبسيط واجهة المستخدم. أمثلة، دون ترتيب معين حسب الأهمية:
-
عدم إظهار إجمالي عدد منشورات المستخدم – وذلك لمنع إرهاب الأعضاء الجدد.
-
منع المستخدمين من تعديل منشوراتهم بعد فترة زمنية محددة (حاليًا نحدد ذلك بساعتين) – وذلك لمنع نوع من الترويل ليس نادرًا في هذا المجال.
-
قسم للإعلانات المصنفة مع إمكانية دفع ثمن الإعلان (عبر PayPal)، سيكون ذلك رائعًا… أدرك أن هذا غير بسيط بسبب تكوين هيكل التسعير، ورابط الدفع، وما إلى ذلك.
-
إظهار السنة بوضوح في تاريخ المنشور.
-
قدرة المشرفين على الانتقال إلى ملف مستخدم معين ورؤية من آخر نشط تحت نفس تثبيت المتصفح (في الأساس عبر ملفات تعريف الارتباط “cookies”). أرى أن Discourse توفر هذه الميزة بالفعل ولكن بناءً على عنوان IP، وهو غير فعال في الوقت الحالي (الكثير من الناس يستخدمون بيانات الجوال، خاصة أولئك الذين يريدون تشغيل هويات متعددة). قرأت هذا الموضوع
Handling trolls with multiple accounts over VPNs - #18 by ljpp
وغيره، ومن الواضح أن الكثيرين ساروا في هذا المسار، ولا توجد حلول لشخص ماهر في استخدام الشبكات الخاصة الافتراضية (VPNs) وما شابه؛ فهم عادة ما يكشفون عن أنفسهم في النهاية من خلال أسلوب النشر، أو بنشر شيء فظيع جدًا يؤدي إلى حظرهم. وأود أيضًا اقتراح أن اكتشاف نفس تجزئة كلمة المرور (pwd hash) سيكون ميزة لأن الكثير من الناس يستخدمون نفس كلمة المرور لجميع حساباتهم
-
للمشرفين، قائمة خطية بسيطة للمنشورات تتيح مراجعة سريعة لآخر x منشور من الهاتف. أتخيل أنه يمكن تحقيق ذلك بكتابة كود بسيط يتصل مباشرة بقاعدة البيانات على نطاق فرعي. داخل هذه القائمة، وجود أزرار DELETE و BAN، حتى يمكن إزالة شخص ينشر شيئًا فظيعًا (للأسف ليس نادرًا في المنتديات) بسرعة.
-
قد تكون هذه الميزة موجودة بالفعل حسب ما أستطيع رؤيته: دمج المشرفين للمنشورات المختارة (أو جميعها) من موضوع واحد إلى موضوع آخر، بحيث تظهر المنشورات في الموضوع الوجهة بالترتيب الزمني الصحيح. أدرك أن هذا قد يكسر الروابط إلى المنشورات، إلا إذا كان الرابط فريدًا للموقع (مثل رقم المنشور في قاعدة البيانات بدلاً من رقم المنشور داخل الموضوع).
-
إنشاء قائمة بريد إلكتروني بصيغة CSV من قبل المشرفين لكل من سجل الدخول خلال آخر 12 أو 24 شهرًا. وجدنا أن إرسال رسائل بريد إلكتروني للأشخاص القدامى (الأكثر خمولًا) يزيد بشكل كبير من احتمالية الحظر في قوائم الحظر (RBL وما شابه)، رغم أن الإرسال (الذي يتعلق في الغالب بالاجتماعات، عدة مرات في السنة) يتم ببطء، رسالة واحدة في الدقيقة فقط، لتقليل المخاطر (نحن أيضًا نحظر في القائمة البريدية جميع عناوين البريد المؤقت المعروفة مثل sharklasers.com).
-
إعداد في ملف المستخدم يسمح للمستخدم باختيار ما إذا كان يريد استلام هذه الرسائل، للامتثال لـ GDPR.
لقد قرأت للتو الموضوع هنا حول GDPR. كما أفهمه في المملكة المتحدة، لا يحق للنشر المطالبة بحذف منشوراته. يمكنه فقط طلب حذف بيانات تسجيل الدخول الخاصة به. أتساءل ما إذا كان Discourse عرضة بشكل إضافي في هذا المجال. في منتدانا، يستخدم الجميع تقريبًا أسماء مستعارة على أي حال.
-
قدرة المشرفين على قراءة الرسائل الخاصة (PMs). هذا ضروري لأن العديد من المرسلي البريد العشوائي ينضمون ويرسلون رسائل خاصة فقط دون نشر منشورات. لن نكتشف ذلك إلا إذا اشتكى شخص ما، لكن الكثير من الانضمامات الجديدة مشبوهة (ولكن ليس بوضوح) لذا نراقبها لفترة… على سبيل المثال، لدينا إعداد “الدولة” في ملف المستخدم يجب تحديده أثناء التسجيل، والشخص الذي يضع ألمانيا هناك لكنه متصل من عنوان IP تايلاندي هو شخص مشبوه على الأرجح، لكنه قد يكون ألمانيًا في تايلاند!
-
إعداد “الدولة” لموقع المستخدم، مع فرضه أثناء التسجيل (أدرك أنهم يمكنهم كتابة ما يريدون هناك).
أدرك أنه إذا تم إجراء تعديلات على الكود، فقد يكون تطبيق التحديثات صعبًا أو مستحيلًا…
الانضمامات المشبوهة مشكلة حقيقية. أعتقد حاليًا أن 10-20% من الانضمامات مشبوهة، لذا إذا لم يتم اتخاذ أي إجراء، ستواجه العديد من المشاكل لاحقًا. السلوك المعتاد هو التسجيل والانتظار أسبوعًا، ثم إغراق المنتدى بالبريد العشوائي.
للأسف، لا أعرف شيئًا عن Ruby. لقد قمت بكمية صغيرة من PHP. خبرتي في تكنولوجيا المعلومات أكثر عمومية: خوادم POP و SMTP، والماكينات الافتراضية (VMs)، والشبكات الخاصة الافتراضية (VPNs)، وFTP، وSPF، وDKIM، وتكوينات الراوتر. HTML بسيط ولكن لا يوجد CSS… خبرتي القديمة في تكنولوجيا المعلومات هي في الأجهزة والبرمجيات المدمجة (الأسيمبلي وC). الشخص الذي كتب البرنامج الأصلي عرض المساعدة في نقل قاعدة البيانات. لدي بعض المعارف الذين يمكنهم القيام بباقي المهام، لكن لا توجد خبرة مباشرة في Ruby حاليًا… لدي بعض المواقع تعمل على خادم Linode والذي عمل بشكل موثوق للغاية، لذا سيكون الخيار الأول للاستضافة.
شكرًا مقدّمًا لقراءتكم حتى هنا، وربما إلقاء بعض التوجيهات حول كم من هذا موجود بالفعل وكم من العمل سيستغرق القيام بالباقي، أو شيء مشابه ![]()