بيئة التطوير: الطريقة الموصى بها لتهيئة حساب المسؤول الأول بدون بريد إلكتروني؟

لقد كنت أجرب صورة Docker الخاصة بـ discourse/discourse_dev (على حاسوب محمول يعمل بنظام Windows 11) ولاحظت نقطة احتكاك صغيرة في سير عمل المطور.

عند تشغيل ديسكورس في وضع التطوير دون تهيئة البريد الإلكتروني الصادر:

  1. يمكنك الوصول إلى صفحة التسجيل/تسجيل الدخول عبر Ember CLI (localhost:4200).
  2. يمكنك إنشاء حساب مستخدم.
  3. ولكن يتم حظر تسجيل الدخول لأنه مطلوب تأكيد البريد الإلكتروني.

الحل البديل يبدو أنه تفعيل الحساب يدوياً في وحدة تحكم Rails، على سبيل المثال:

u = User.find_by(username: "admin")
u.approved = true
u.email_tokens.update_all(confirmed: true, expired: true)
u.save!

هذا يعمل، ولكني تساءلت:

هل هناك سير عمل موصى به للمطورين لتهيئة حساب المسؤول الأول عندما لا يكون البريد الإلكتروني مهيئًا؟

على سبيل المثال:

  • هل يجب على المطورين عادةً تهيئة SMTP حتى في وضع التطوير؟
  • هل توجد مهمة مساعدة لذلك (rake admin:create وما إلى ذلك)؟
  • هل سيكون من المنطقي أن يسمح حاوية التطوير بتسجيل دخول المستخدم الأول دون تأكيد البريد الإلكتروني؟

أسأل بشكل أساسي لتوثيق عملية إعداد أكثر سلاسة للمطورين الجدد الذين يجربون حاوية التطوير.

نعم هناك:

شكرًا لك! هذا يحل المشكلة - لم أكن قد صادفت الأمر bin/rails admin:create أثناء تجربتي مع حاوية discourse_dev.

ما أربكني في البداية هو أن مسار التسجيل بواجهة المستخدم العادية يعمل حتى نقطة إنشاء الحساب، ولكن يتم حظر تسجيل الدخول بعد ذلك بسبب تأكيد البريد الإلكتروني إذا لم يتم إعداد SMTP.

بالنسبة لشخص يستكشف بيئة التطوير للتو، فإن هذا يجعل مسار تسجيل الدخول يبدو معطلاً ما لم تكن تعرف المهمة المساعدة.

قد يكون من المفيد ذكر bin/rails admin:create بشكل صريح في وثائق إعداد التطوير لحاوية تطوير Docker، لأن المساهمين الجدد غالبًا لن يكون لديهم إعداد SMTP.

لست متأكدًا من أنها ضرورية في هذا الدليل لأنه يذكر

لذا يبدو أن إنشاء مستخدم المسؤول هو جزء من سير العمل بالفعل

إذا كنت بحاجة إلى الوصول إلى البريد الإلكتروني في بيئة التطوير الخاصة بك، يمكنك أيضًا تشغيل mailhog.

كل ما عليك فعله هو فتح سطر أوامر جديد في دليل Discourse الخاص بك وتشغيل mailhog. بعد ذلك، إذا قمت بزيارة localhost:8025 يمكنك رؤية رسائل البريد الإلكتروني التي كانت سترسل عادةً، دون الحاجة إلى تكوين أي شيء.

شكرًا لكما — هذا منطقي.

أعتقد أن التمييز يكمن في أن مسار d/boot_dev --init الموثق ينشئ بالفعل مستخدم المسؤول، لذا فإن حيرتي نشأت من التجربة في بيئة التطوير بدلاً من اتباع تدفق التهيئة هذا بالضبط من البداية إلى النهاية.

نصيحة MailHog مفيدة أيضًا. لم أكن أدرك أن إعداد التطوير يمكنه التقاط رسائل التأكيد محليًا عبر mailhog وlocalhost:8025، وهو ما يوضح سير العمل المقصود إذا استخدم شخص ما مسار التسجيل/تأكيد البريد الإلكتروني العادي.


إذن يبدو أن النموذج الذهني الأكثر سلاسة هو:

  1. لإعداد Docker القياسي للتطوير، استخدم d/boot_dev --init وأنشئ حساب المسؤول عند الطلب.
  2. إذا كنت تختبر تدفقات البريد الإلكتروني/التسجيل، شغّل mailhog واعرض الرسائل على localhost:8025.
  3. إذا لزم الأمر بشكل منفصل، فإن bin/rails admin:create هي الأداة اليدوية لإنشاء حساب المسؤول.

هذا يزيل اللبس — شكرًا لك.


سؤال صغير منفصل أثناء استكشاف واجهة المستخدم للتطوير: ما هي وظيفة أزرار الأيقونات الصغيرة في شريط الأدوات العمودي؟ يمكنني رؤيتها في الواجهة، لكنني لست متأكدًا فورًا مما إذا كانت أدوات تحكم عادية للمستخدمين، أو اختصارات للمسؤولين، أو أدوات مساعدة للتطوير/التصحيح.

تلك؟
image

هذه هي شريط أدوات المطور. يمكنك تبديل الوضع الآمن، والترجمة التفصيلية، والتغييرات القادمة. كما يمكنك عرض منافذ الإضافات والكتل.