فكرة أخرى
صورة 1
صورة 2
الحالة 1:
- يوجد زر للإبلاغ عن أي مستخدم في المجتمع، وهذا يجعل النظام أكثر استقلالية.
- عند النقر على “إبلاغ” عن المستخدم، يظهر مربع حوار حيث يمكنك اختيار خيار الإبلاغ.
- عند حدوث ذلك، يتلقى المستخدم المُبلغ عنه رسالة.
- ويشاهد المسؤول أو المدير التقرير.
- إذا لم يستجب المستخدم لهذا الإبلاغ - محاولاً بدوره القول بأن “التقرير كاذب” أو “لا ينطبق”، كما يحدث على يوتيوب، تتم العملية وتُنهى.
- يُضاف الحدث: قفل مستويات الثقة.
- إذا حدث هذا مرة أخرى، يُضاف الحدث: إسكات المستخدم.
- إذا حدث هذا مرة أخرى، يُضاف الحدث: تعليق المستخدم.
ملاحظات
- سيقوم المسؤول أو المدير بالتحقق من عملية الشكوى للمستخدم الذي يبلغ عن مستخدم آخر.
- إذا كانت عملية شكوى المستخدم الطالب منطقية (المسؤول أو المدير) يقوم بإعادة توجيه هذه الرسالة إلى المستخدم.
- إذا كان لدى المستخدم أي سبب يوضح أن الشكوى كاذبة، يتم إغلاق العملية.
- يمكن للمسؤول أو المدير التحقق من رد المستخدم المُبلغ عنه وتحديد ما إذا كان سيتم أرشفته أم لا.
الحالة 2
ملاحظة: يعتقد المستخدم أن الحساب قد تم اختراقه، لذلك يبلغ المستخدم عن حسابه الخاص.
ملاحظات نهائية
جميع الإضافات الموصوفة أعلاه تهدف إلى أتمتة هذه العملية التي أصفها الآن بالصور.
كيف تتم عملية الإبلاغ تلقائيًا؟
- من مستخدمي المجتمع إلى مستخدمي المجتمع الآخرين، أي عندما يبلغ مستخدم واحد أو أكثر عن مستخدم واحد أو أكثر - يحدث هذا عندما ينقر مستخدم واحد أو أكثر على زر: “إبلاغ هذا المستخدم للمجتمع” الخاص بمستخدم واحد أو أكثر.
- عندما يتم استدعاء مستخدمين من نوع: المشرفين أو المسؤولين أو قادة المجتمع من قبل مستخدم واحد أو أكثر للإبلاغ عن منشور - يُعرف هذا باسم “علم على المنشور”.
- من قبل المستخدم نفسه، عندما يشعر أنه يتعرض للاختراق، أي عندما يبلغ المستخدم عن نفسه، ويخطر النظام بأن الحساب قد تم اختراقه - يحدث هذا عندما ينقر مستخدم واحد أو أكثر على زر: “إبلاغ هذا المستخدم للمجتمع” ويقوم بالإبلاغ عن نفسه.
- يتم استدعاء المسؤولين أو المشرفين أو قادة المجتمع في هذه الحالات:
- علم على المنشور
- مستخدم تم الإبلاغ عنه من قبل مستخدمي المجتمع
- مستخدم أبلغ عن حسابه الخاص، لأنه يعتقد أنه تم اختراقه
- في جميع هذه السيناريوهات، تكون الإضافات التي وصفتها مطلوبة لأتمتة هذه العملية.
- الخيارات التلقائية للمشرفين أو المسؤولين أو قادة المجتمع لإدارة المستخدمين هي:
- قفل مستويات الثقة
- إسكات المستخدم
- تعليق المستخدم
ملاحظة: لا يمكن القيام بذلك إلا إذا كانت هناك قائمة بالمستخدمين للإبلاغ عنهم.
ملاحظات
- إنشاء قائمة بالمستخدمين الذين تم الإبلاغ عنهم.
- باستخدام هذه القائمة، يمكننا القيام بما يلي. المستخدمون الذين لم يطلبوا ردًا - يتم ذلك في البداية
- قفل مستويات الثقة
- إسكات المستخدم
- تعليق المستخدم
- المستخدمون الذين طلبوا ردًا
- يتم استدعاء المسؤولين والمشرفين وقادة المجتمع
- إذا تم قبول رد المستخدم المُبلغ عنه أو كان صالحًا، يتم أرشفة كل شيء
- إذا لم يتم قبول الرد، يكون لدى المستخدم فرصة أخيرة للرد، وإذا لم يفعل، تتم العملية وتُنهى.
- يمكننا رؤية هذه القائمة من حالات الإشعارات الأكثر شيوعًا وغير الشائعة داخل Discourse. بما في ذلك السنة والشهر والأسبوع والفترة التي تحدث فيها (من سنة إلى أخرى، من شهر إلى آخر، من أسبوع إلى آخر) - ستكون هذه هي فكرتي الأولية.
- في رأيي، أفضل طريقة أو أسهل طريقة للقيام بذلك - دون الإضرار بنمذجة نظام Discourse أو حتى طريقة عملية للقيام بذلك، هي وجود قاعدة بيانات مؤقتة لتلقي التقارير من المستخدمين، ويمكن استخدام قاعدة بيانات مثل MongoDB لهذا الغرض.
- أفكر في استخدام MongoDB لتلقي المعلومات من المستخدمين الذين تم الإبلاغ عنهم.
- يعمل MongoDB بشكل جيد - MongoDB هي قاعدة بيانات موجهة للمستندات. هذا مثير للاهتمام إذا كان لديك حجم كبير من البيانات وهذه البيانات غير منظمة - NoSQL الشهيرة.
- بالإضافة إلى ذلك، قاعدة البيانات ليست دائمة، إنها مؤقتة. يدعم MongoDB أنواع البيانات المؤقتة.
- فكرت في هذه الفكرة عندما قرأت هذا: Configure Discourse to use a separate PostgreSQL server - فكرت في أن يكون لدي قاعدة بيانات MongoDB منفصلة لهذا الغرض.
- وفقًا لهذه الصفحة: GitHub - discourse/discourse: A platform for community discussion. Free, open, simple. ، يستخدم Discourse Redis و PostgreSQL. هل فكرت يومًا في استخدام MongoDB لهذه الحالة التي وصفتها؟
ملخص الفكرة
“المستخدمون المُبلغ عنهم - MongoDB”
reports: {
report1:{
user: "user001",
linkFlagPost: "https://meta.discourse.org/t/post-test/1122344"
reason: "flag post",
reportedUser: "user002"
},
report2:{
user: "user001",
reportedUser: "user003",
report: "spam"
},
report3:{
user: "user001",
reportedUser: "user003",
reason: "abusive messages or behavior"
},
report4:{
user: "user001",
reportedUser: "user003",
reason: "user discloses illegal user data"
},
report5:{
user: "user001",
reportedUser: "user002",
reason: "user posts dubious links, links that contain viruses, malware"
},
report6:{
user: "user001",
user_report: "user002",
reason: "specify another reason"
},
report7:{
user: "user004",
reportedUser: "user005",
reason: "I think my account has been hacked, I would like my trust level to be frozen until the case is investigated by the Discourse community"
}
}
ملاحظات
استخدم sha256 لإخفاء بيانات من يرسل التقرير ومن يستقبله.
reports: {
report1:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
linkFlagPost: "https://meta.discourse.org/t/post-test/1122344"
reason: "flag post",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
status1: "filed process"
status2: "Locking Trust Levels"
},
report2:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "spam",
status1: "filed process"
status2: "Locking Trust Levels"
},
report3:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "abusive messages or behavior",
status1: "filed process"
status2: "Locking Trust Levels"
},
report4:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "user discloses illegal user data",
status1: "filed process"
status2: "Locking Trust Levels"
},
report5:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "user posts dubious links, links that contain viruses, malware",
status1: "filed process"
status2: "Locking Trust Levels"
},
report6:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "specify another reason",
status1: "filed process"
status2: "Locking Trust Levels"
},
report7:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "I think my account has been hacked, I would like my trust level to be frozen until the case is investigated by the Discourse community",
status1: "filed process"
status2: "Locking Trust Levels"
},
report8:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reason: "I think my account has been hacked, I would like my trust level to be frozen until the case is investigated by the Discourse community",
reply: {
reportedUser: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reason: "View logs in account - if you confirm this process, we will lock the trust level",
replyFrom: "administrator",
status1: "filed process"
status2: "Locking Trust Levels"
}
}
بعض المشاكل في هذه الفكرة، الحل
- قد يكون حلاً خاطئًا، أحتاج إلى ملاحظات من مجتمع Discourse لمعرفة ما إذا كانت الفكرة صالحة أم لا.
- قد يكون تنفيذ هذا الأمر معقدًا.