أحب استخدام S3 للنسخ الاحتياطي، بحيث يمكن لجميع المواقع مشاركة مجموعة النسخ الاحتياطي نفسها. وعند إجراء نسخة احتياطية في بيئة الإنتاج، يمكنك استعادتها فورًا في مواقع الاختبار (Staging) للتأكد من أنها تعمل بشكل صحيح مع البيانات الحالية.
هذا مجرد رأي شخصي، وليس بغرض التقليل من التعليقات المفيدة هنا حول النسخ الاحتياطي، ولكن إذا نظرنا إلى الصورة الأوسع: لست متأكداً حقاً مما إذا كان «مزامنة» تثبيتات Discourse يستحق الكثير من الجهد.
ما لم تكن تنوي تقديم طلبات دمج (PRs) إلى نواة Discourse، فإن تطوير الإضافات أو مكونات السمات (TCs) هو الخيار الأمثل، حيث يوفر لك الحل الأكثر متانة وكفاءة للتخصيص.
النقطة الأساسية في تطوير الإضافات ومكونات السمات هي أنها سيتم نشرها على عدة نسخ من Discourse قد لا يكون لديك أي سيطرة عليها في النهاية.
لذلك، فإن وجود نسخة محلية فريدة قليلاً من Discourse لأغراض التطوير أمر مقبول تماماً (ضمن حدود معقولة).
يجب أن تتضمن سير العمل الرئيسي الحفاظ على تحديث الإضافة أو مكون السمة في مستودع مشترك، وغالباً ما يكون ذلك على Github.
أوافق تمامًا. لدي بعض العملاء لديهم تخصيصات لا يمكن التحقق منها (أو يسهل التحقق منها) إلا باستخدام بياناتهم الفعلية، لذا فهم يفضلون حقًا رؤية الموقع مع البيانات الحالية.
شكرًا لكم جميعًا على نصائحكم. على الأرجح، سأقوم بدمج التغييرات (PR) في نواة Discourse. لذلك، أحتاج إلى القدرة على رفع التجميع إلى Git، ومن Git إلى الخادم.
إذا كنت تقوم بإنشاء طلب دمج (PR) للنواة الأساسية في Discourse، فإن التكوين الدقيق للتثبيت المحلي ليس أمرًا حاسمًا (فقط تأكد من أنك تستخدم أحدث إصدار)، لأن مساهمة الكود عملية خاضعة لرقابة شديدة على أي حال، خاصة مع حالات الاختبار، لذا فإن وجود اختلاف بسيط في الإعدادات أو المحتوى من غير المرجح أن يشكل مشكلة.
عادةً، إذا كنت تعمل على مساهمات مشتركة، هل تقوم بإنشاء نسخة (fork) إلى مستودع منظمتك وتعمل عليه قبل تقديم طلب الدمج (PR)؟
الآن قمت بإعداد Discourse
ثم، عندما يكون كل شيء جاهزًا، أقوم بتحديث بنائي.
بعد ذلك، أستمر في التطوير مرة أخرى. أقوم بتغيير بعض الإعدادات في لوحة التحكم. قد يكون هناك الكثير منها.
عندما أرغب في تحديث بنائي، سأحتاج أيضًا إلى تحديث الإعدادات