دومكورس – واجهة مستخدم متوافقة مع المتصفحات القديمة في /dumb (أزرار D-pad وشاشات صغيرة)

:information_source: الملخص يضيف Dumbcourse واجهة مستخدم خفيفة ومتوافقة مع المتصفحات القديمة لـ Discourse تحت /dumb، مصممة لـ التنقل عبر أزرار الاتجاهات (D-pad)، والشاشات الصغيرة، ونسخ WebView القديمة من Android حيث قد تكون واجهة Discourse القياسية ثقيلة جدًا.
:hammer_and_wrench: رابط المستودع GitHub - JTech-Forums/JtechTools: Jtech — combined Discourse plugin bundle: dislike, another-smtp, mini-mod, mod-categories, dumbcourse. One plugin.rb, six admin tabs, no namespace collisions. · GitHub
:open_book: دليل التثبيت كيفية تثبيت الإضافات في Discourse


أصبح هذا المشروع ممكنًا بفضل عمل @ars18:

https://github.com/alltechdev/jtech-web

يستخدم المشروع الأصلي وكيل Cloudflare worker لتقديم المنتديات، وتدمج إضافة Dumbcourse ذلك بالكامل في نسخة discourse الخاصة بك. لا تستخدم Dumbcourse وكيلًا بل تقدم الخدمة مباشرة.


الميزات

  • تقدم تطبيق ويب أحادي الصفحة (SPA) بسيطًا عند /dumb على نفس نطاق Discourse
  • ES5 / بدون خطوة بناء؛ DOM/JS/CSS متعمد البساطة للمتصفحات القديمة وWebView
  • تستخدم نقاط نهاية JSON الخاصة بـ Discourse على نفس النطاق وسمات الجلسة القياسية لـ Discourse
  • قوائم المواضيع: latest، new، top، unseen، hot، my، بالإضافة إلى الفئات
  • عرض الفئة: /dumb/c/:slug/:id
  • قراءة المواضيع والنشر (رد/اقتباس/تفاعلات)
  • البحث وعروض الملف الشخصي الأساسية
  • تنقل متوافق مع أزرار الاتجاهات (D-pad) مع عناصر واجهة مستخدم قابلة للتركيز

الإعدادات

  1. تثبيت الإضافة

    • أضف المستودع إلى containers/app.yml تحت hooks -> after_code، ثم أعد بناء الحاوية.
  2. تفعيلها

    • انتقل إلى الإدارة → الإضافات → Dumbcourse
    • فعّل dumbcourse_enabled
  3. اختيار الإعدادات الافتراضية

    • اضبط السمة الافتراضية وعرض الهبوط الافتراضي (انظر الإعدادات أدناه).
  4. التحقق

    • زر: https://YOUR_FORUM_DOMAIN/dumb
    • يجب أن ينتقل المستخدمون المجهولون إلى /dumb/login
    • يجب أن يرى المستخدمون المسجلون عرضًا افتراضيًا مُعدًا مسبقًا

لقطات الشاشة

متصفح قديم / واجهة Discourse القياسية

واجهة Dumbcourse

داخل موضوع

إجراءات المنشور / التحديد

القائمة الأساسية

إعدادات الإضافة


الحالة / القيود المعروفة

هذا المشروع حاليًا نسخة تجريبية (beta) (تمت التنفيذ الأولي بسرعة)، لذا توقع وجود بعض العيوب. التبرعات ومراجعة الأكواد مرحب بها.

الفجوات المعروفة حاليًا / الأسئلة المفتوحة:

  • التسجيل + CAPTCHA: يعتمد إنشاء الحساب على تدفق التسجيل القياسي في Discourse، لكن سلوك CAPTCHA قد يختلف حسب إعدادات الموقع.
  • مراجعة الأمان: يجب ألا تتجاوز واجهة المستخدم المبسطة صلاحيات Discourse، لكنها لم تخضع بعد لمراجعة أمنية شاملة. يرجى الإبلاغ عن أي مخاوف أو سلوك مشبوه.
  • تجربة المستخدم للإشراف/الإدارة: أدوات الإشراف والإدارة محدودة حاليًا؛ التوسع فيها بأمان مدرج في خارطة الطريق.
  • تفاعلات اللمس + أزرار الاتجاهات: قد يتعارض إدخال اللمس مع تنقل التركيز على بعض الأجهزة؛ هناك تحسينات مخطط لها.
  • مشاركة الروابط: يوفر /dumb واجهة بديلة، مما يثير أسئلة حول مشاركة الروابط الرسمية بين مستخدمي “dumb” والمستخدمين القياسيين. لا يزال يتم تحسين نهج متسق.

الشكر

شكر خاص لـ @ars18 (GitHub: https://github.com/alltechdev) على مساهماته الرئيسية ومساعدته في إطلاق الفكرة الأصلية.


الإعدادات

الاسم الوصف
dumbcourse_enabled مفتاح تشغيل/إيقاف رئيسي لـ Dumbcourse.
dumbcourse_default_theme السمة الافتراضية لـ /dumb (dark / light).
dumbcourse_default_view عرض الهبوط الافتراضي (latest / new / top / unseen / hot / my / categories).
dumbcourse_sidebar_link_enabled يضيف رابطًا في الشريط الجانبي إلى /dumb.

18 إعجابًا

تبدو هذه فكرة ممتازة!

لكنني لا أحب ظهور الاسم في عناوين URL - هل يمكن جعله قابلاً للتكوين، بحيث يكون مثلاً /simple/ بدلاً من /dumb/؟

(في الحقيقة، أنا لست سعيدًا جدًا بالاسم، ولكن إذا كان من الممكن تكوينه، فهذا يساعد. إنه مصطلح مهين، وهو تعبير اصطلاحي إلى حد ما.)

3 إعجابات

واو، هذا يبدو جيدًا حقًا! يبدو أن هناك حلاً لإحباطات بعض المستخدمين بسبب عدم دعم المتصفحات القديمة في Dropping iOS 15 & other old browsers in July 2025.

في عالم الهواتف البسيطة، هذا مقبول، ولكن نعم، سأضيف إعدادًا لذلك.

إعجابَين (2)

لقد قمت مؤخرًا بتطبيق إضافة لإعدادات المسؤول/المشرف. لا تزال قائمة مراجعة العمل بحاجة إلى بعض العمل.

لقطات الشاشة

4 إعجابات

لم أذكر، إليك ملف APK المصاحب لنظام Android.

يدعم Android 6+ و Chrome WebView 44+.

نموذج (ملف APK الخاص بمنتدياتنا)

3 إعجابات

تفضل.

4 إعجابات

عمل سريع… شكراً جزيلاً!

@TripleU لقد كان هناك عدد من الطلبات هنا على ميتا تطلب خيارًا لتعطيل التمرير اللانهائي لصالح التصفح (pagination). هل يحقق هذا المكون الإضافي ذلك؟

إعجاب واحد (1)

لا يحتوي Dumbcourse على هذا الخيار (حتى الآن، إذا كان الناس يرغبون فيه حقًا…).

4 إعجابات

تم الدفع!

إعجابَين (2)

هل لي أن أقترح تغيير المسار (وربما اسم المكون الإضافي) إلى شيء أقل إهانة. مثل بسيط، أساسي.

لأن هذه ليست ميزة غبية، بل هي في الواقع ذكية جدًا أن يكون لديك واجهة منخفضة الدقة.

إعجاب واحد (1)

لقد تأخرت قليلاً :grin:

4 إعجابات

هذه متعة رائعة، وأنا أحب الاسم، لأنه يحمل تاريخًا هندسيًا ولا أجده مسيئًا على الإطلاق - ولكن توفير إعداد المسار هو إضافة رائعة.

على أي حال، بالحديث عن الغباء، سأطرح عليك:

4 إعجابات

أوه، هذا يثير سؤالاً: ما هو التعامل مع الصور والوسائط المضمنة؟ هل يتم تحويلها إلى روابط، أو قمعها، أو عرضها، …؟

3 إعجابات

يتم عرض الصور ومقاطع الفيديو والصوت والإطارات المضمنة جميعها بشكل متتالٍ في نص المنشور مع إعادة كتابة عناوين URL الخاصة بها إلى قاعدة الأصول الصحيحة.

إعجابَين (2)

في الاختبار

إعجاب واحد (1)

رائع! لذا يبدو أن هذه طريقة جيدة لجعل منتدياتنا متاحة على المتصفحات القديمة (أجهزة الكمبيوتر القديمة، الهواتف القديمة، الأجهزة اللوحية القديمة) كما هو مذكور في منشور نيت أعلاه.

هل هناك طريقة للمستخدم لتعيين تفضيل بحيث يتم تسجيله تلقائيًا في هذا العرض التقديمي؟ (ويُفضل أن يُطلق عليه الاسم المختار، وليس بالضرورة “الأبله”.)

هذا جيد، ولكن إذا فكرت في الأمر، فهو ليس مهمًا. إذا أراد المرء طرح هذا في دار للمسنين، أو مركز تدريب للبالغين، أو أي عدد من السياقات التي يكون فيها الأشخاص محرومين أو غير ملمين بالجوانب التقنية أو ببساطة ليسوا صغارًا، أو ليسوا متحدثين أصليين للغة الإنجليزية، فإن تسميته “أبله” ستكون له تداعيات سلبية للغاية. الأمر لا يتعلق بكونك مُهانًا أو غير مُهان، ولا هو من شأن مسؤول الموقع، بل يتعلق بالمستخدم النهائي المحتمل.

إعجابَين (2)

أنا مرتبك. يمكنهم فقط زيارة عنوان URL للمسار المختار. هل تقصد شيئًا آخر؟

إد، أرجوك لا تظن أنني أحمق، بالطبع أفهم ذلك. سأتوقف الآن لأن هذا يفتح صندوق مشاكل مزعج…

4 إعجابات