يشرح هذا الدليل أوضاع القراءة فقط المتاحة في Discourse، وكيفية تمكينها وتعطيلها، والسيناريوهات التي قد ترغب في استخدام كل وضع فيها.
مستوى المستخدم المطلوب: المسؤول
يتطلب إدارة مجتمع عبر الإنترنت نابض بالحياة على Discourse أحيانًا من المسؤولين تقييد نشاط المستخدمين مؤقتًا. يمكن أن تتراوح هذه الحالات من إجراء صيانة الخادم، أو تسهيل النسخ الاحتياطي، أو نقل الخوادم. خلال هذه الأوقات، من الضروري تقييد أنشطة المنتدى دون إغلاق وصول المستخدمين تمامًا.
يقدم Discourse أوضاع قراءة فقط مختلفة يمكن للمسؤولين تمكينها لتجميد أنواع مختلفة من التفاعلات داخل الموقع مؤقتًا.
يستكشف هذا الدليل هذه الأوضاع، مع التركيز تحديدًا على كيفية تمكينها وتعطيلها، بما في ذلك التعامل مع الحالات التي تتداخل فيها أوضاع معينة.
فهم أوضاع القراءة فقط
يدعم Discourse مستويين مختلفين من أوضاع القراءة فقط مصممين ليناسبوا احتياجات إدارية متنوعة. وهي:
- وضع القراءة فقط الكامل
- يقيّد جميع عمليات الكتابة في المنتدى، مما يمنع أي مستخدم من إنشاء أو تعديل المحتوى، مثل النشر، أو التعليق، أو الإعجاب.
- يسمح للمنتدى بأن يكون “مجمّدًا” في حالته الحالية، مما يسمح للمستخدمين بقراءة المحتوى الحالي والتنقل فيه دون التأثير على قاعدة البيانات.
- يمنع تغيير أي إعدادات موقع للمسؤول أو تخصيصات الموقع للحفاظ على الحالة الحالية لقاعدة البيانات.
- يعطل تسجيل الدخول الجديد للمستخدمين العاديين. لا يزال بإمكان المسؤولين تسجيل الدخول باستخدام تدفق تسجيل الدخول عبر البريد الإلكتروني للمسؤول (
/u/admin-login).
- وضع الكتابة للموظفين فقط
- يقيّد المستخدمين العاديين من عمليات الكتابة في المنتدى، مثل النشر، أو التعليق، أو الإعجاب. يقتصر المستخدمون العاديون على عمليات القراءة فقط، لكنهم لا يزالون قادرين على تسجيل الدخول إلى حساباتهم.
- يسمح بنشاط المسؤولين والمحررين بالاستمرار بشكل طبيعي. يمكن للمسؤولين تغيير إعدادات الموقع، ويمكن لمستخدمي الموظفين تنفيذ عمليات كتابة مثل النشر، أو الإعجاب، أو تعديل الملفات الشخصية.
تضمن هذه الأوضاع المرونة في إدارة قابلية تشغيل المنتدى خلال الفترات الإدارية الحرجة.
كيفية تمكين/تعطيل أوضاع القراءة فقط
يجب على المسؤولين إدارة الانتقال بين أوضاع القراءة فقط المختلفة بعناية. قبل تمكين أي وضع قراءة فقط، تأكد من تعطيل أي وضع تم تفعيله سابقًا.
وضع القراءة فقط الكامل
عبر وحدة تحكم Rails
إذا كان لديك وصول إلى تثبيت Discourse، فاستخدم واجهة سطر أوامر Rails الخاصة بـ Discourse لتنفيذ الأمر التالي بعد الدخول إلى حاوية Docker الخاصة بك باستخدام ./launcher enter app ثم وحدة تحكم Rails باستخدام rails c:
Discourse.enable_readonly_mode(Discourse::USER_READONLY_MODE_KEY)
عبر لوحة المسؤول
إذا كان لديك وصول إداري عبر واجهة الويب، فيمكنك الانتقال إلى Admin > Backups > Enable Read-Only Mode لتمكين وضع القراءة فقط.
لتعطيل وضع القراءة فقط، نفذ أمر Rails التالي:
Discourse.disable_readonly_mode(Discourse::USER_READONLY_MODE_KEY)
أو، استخدم لوحة المسؤول بالانتقال إلى Admin > Backups > Disable Read-Only Mode.
وضع الكتابة للموظفين فقط
يمكن تمكين/تعطيل وضع الكتابة للموظفين فقط من وحدة تحكم Rails الخاصة بـ Discourse فقط. إذا كان موقعك مستضافًا بواسطة Discourse، يرجى التواصل مع team@discourse.org إذا كنت ترغب في تمكين أو تعطيل أي من هذه الأوضاع.
لتمكين وضع الكتابة للموظفين فقط، استخدم أمر وحدة تحكم Rails التالي:
Discourse.enable_readonly_mode(Discourse::STAFF_WRITES_ONLY_MODE_KEY)
للتعطيل:
Discourse.disable_readonly_mode(Discourse::STAFF_WRITES_ONLY_MODE_KEY)
أفضل الممارسات
- التواصل في الوقت المناسب: أبلغ مجتمعك بفترات القراءة فقط المجدولة مسبقًا لوضع توقعات مناسبة.
- الاختبار: قبل تنفيذ هذه الأوضاع أثناء العمليات الحرجة، قم بإجراء اختبارات خلال فترات انخفاض حركة المرور لفهم تأثيرها.
- التوثيق: احتفظ بسجلات مفصلة عن متى ولماذا تم تمكين أو تعطيل كل وضع للمساعدة في التخطيط التشغيلي المستقبلي.
الأسئلة الشائعة
-
كم من الوقت يستغرق تمكين/تعطيل وضع القراءة فقط؟
- التغيير فوري. ومع ذلك، قد يختلف تجربة المستخدم قليلاً اعتمادًا على إجراءاتهم خلال فترة الانتقال.
-
مساعدة! لقد تم إقصاؤي من موقعي بسبب وضع القراءة فقط - ماذا يمكنني أن أفعل للوصول إلى موقعي مرة أخرى؟
-
لاحظت أن هناك أوضاع
READ-ONLYأخرى مدرجة في discourse/lib/discourse.rb، ماذا تفعل هذه الأوضاع؟- يُستخدم
READONLY_MODE_KEYبشكل أساسي لعملية النسخ الاحتياطي والاستعادة ويتم تفعيله بواسطة التطبيق نفسه. يمكن أيضًا تمكين أو تعطيل هذا الوضع من واجهة سطر أوامر Discourse باستخدامdiscourse enable_readonlyوdiscourse disable_readonly. ومع ذلك، لن يظل هذا المفتاح ساريًا بعد إعادة تشغيل الحاوية. - يُستخدم
USER_READONLY_MODE_KEYعندما يضغط المسؤول على زر القراءة فقط في واجهة المسؤول. الشيء الخاص بهذا المفتاح هو أننا لا نعيّنه كمفتاح منتهي الصلاحية لأن وضع القراءة فقط الذي تم تفعيله بواسطة مستخدم يحتاج إلى البقاء بعد إعادة تشغيل الحاوية. يتم تعيين المفاتيح الأخرى بوقت انتهاء صلاحية (60 ثانية لـREADONLY_MODE_KEY، و 300 ثانية لـPG_READONLY_MODE_KEY) ولدينا خيط لتوسيع انتهاء الصلاحية كل 30 ثانية لضمان عدم بقاء التطبيق عالقًا في وضع القراءة فقط. - يُستخدم
PG_READONLY_MODE_KEYوPG_FORCE_READONLY_MODE_KEYلعملية التحويل الفاشل في PG. الأول يتم تعيينه كمفتاح منتهي الصلاحية بينما الثاني غير منتهي الصلاحية.
- يُستخدم

