الإدارة غير متاحة بسبب تصغير تلقائي لـ Cloudflare

مرحباً،

كنت أحاول إنشاء إضافة (plugin) في discourse باتباع هذه الصفحة: Developing Discourse Plugins - Part 1 - Create a basic plugin وقمت بتحميل مجلد الإضافات (plugins) على الخادم. بعد ذلك، لم أتمكن من الوصول إلى صفحة المسؤول (admin) في discourse.

عندما تحققت من وحدة تحكم المتصفح (browser console)، رأيت الخطأ التالي:
خطأ: لا يوجد مسار باسم admin

تحققت عبر ssh من دور المستخدم الخاص بي، ولديه صلاحيات المسؤول (admin). حاولت حذف مجلدات الإضافات (plugins) من discourse أيضاً، لكنني أواجه نفس المشكلة.

هل يمكن لأحد المساعدة في هذه المشكلة؟

شكراً مقدماً!

هل تحاول أن تصبح مسؤولاً في بيئة التطوير الخاصة بك أم في بيئة الإنتاج؟

إذا كانت بيئة الإنتاج، فيمكنك

cd /var/discourse
./launcher enter app
rake admin:create

بالنسبة للتطوير، يجب أن تكون قادرًا على تشغيل ./bin/rake admin:create من دليل discourse.

امتلاك امتيازات المسؤول/الجذر على نظام تشغيل الخادم الخاص بك وفي Discourse شيئان مختلفان تمامًا.

حاولت تغيير الوصول باستخدام هذا الأمر ./launcher enter app ولكنه لم ينجح معي.
آه، قصدت أن لدي وصول المسؤول في Discourse.

هل تقصد أنك قمت بتحميل إضافة مباشرة على خادمك؟

يجب على Discourse تجميع أصول JavaScript الخاصة بالإضافة أولاً. يجب عليك تحميل الإضافة إلى مستودع GitHub، وتعديل app.yml لإضافتها، ثم تشغيل ./launcher rebuild app

سيؤدي تحميل الإضافة مباشرة إلى مجلد الإضافات دون تجميعها إلى عدم تمكن واجهة Discourse الأمامية من العثور على الملف المجمع والتسبب في حدوث أخطاء.

أيضًا، إذا كان لديك Cloudflare ممكّنًا لخادمك، فتذكر إيقاف التصغير التلقائي وحذف ذاكرة التخزين المؤقت.

3 إعجابات

مرحباً @Lhc_fl

شكراً جزيلاً على المساعدة. لقد نجحت معي عن طريق إيقاف التصغير التلقائي لـ Cloudflare.

بما أنني جديد على discourse، لذلك لا أعرف الكثير عن كيفية العمل مع الإضافات. لذلك، كنت أحاول إضافة إضافة في مجلد الإضافات ولكنني جربت ما اقترحته والذي نجح معي عن طريق تحميل الإضافة على GitHub وجلبها من مستودع GitHub.

هل يمكنني أن أسألك شيئاً آخر، هل يمكنك إرشادي حول كيفية إضافة حقول مخصصة أو أي حقول إضافية للموضوع؟ في الواقع، أريد إنشاء إضافة تعزز وظائف الموضوع. أريد إضافة حقول مخصصة للموضوع وتخزين بياناته في قاعدة البيانات وعرضها في صفحة تفاصيل الموضوع.

شكراً مرة أخرى!

يجب عليك بدء موضوع جديد لذلك، والسؤال نفسه واسع جدًا للحصول على إجابة حقيقية، ولكن يجب عليك إلقاء نظرة على تطوير إضافات Discourse - الجزء الأول - إنشاء إضافة أساسية والباقي. سترغب في البحث عن أشياء تتعلق بإنشاء topic_custom_fields وإضافتها إلى المسلسل. انظر GitHub - discourse/all-the-plugins للحصول على جميع الإضافات ثم يمكنك البحث فيها عن أمثلة.

قد تقول المزيد عما تفعله والذي يتطلب الحقول المخصصة، حيث قد تكون هناك طريقة أخرى لإنجاز هذه المهمة بدون حقول مخصصة وبدون إضافة.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.