لذا، لا نتحدث عن نشر النسخة مع قاعدة البيانات وما إلى ذلك.
هل هناك نمط متاح لصيانة نسخة باستخدام صيغة تصريحية ما؟ الفئات، والوسوم، والسياسات، إلخ. كنت أفكر أنه سيكون من الجيد للمستخدمين التقنيين لدينا اقتراح التغييرات عبر طلبات السحب (PRs) بدلاً من سلاسل المواضيع والتنفيذ اليدوي، لكنني لم أرَ إضافة أو أداة أخرى “كشفرة” متاحة تركز على التكوين التنظيمي لـ Discourse.
أعتقد أن التوقع هو أن تستخدم المواقع فئة Site feedback المعدة مسبقًا لهذا الغرض. وصفها هو: “مناقشة حول هذا الموقع، تنظيمه، كيفية عمله، وكيف يمكننا تحسينه.”
هذه فكرة مثيرة للاهتمام. ما الفائدة التي ستعود منها مقارنةً بمجرد قيام المستخدمين باقتراح التغييرات في المواضيع العادية؟ هل الهدف هو وجود طريقة لتتبع التغييرات التي تم إجراؤها على تكوين الموقع بمرور الوقت؟
يمكن تكوين إعدادات الموقع، والفئات، والعلامات، والسياسات، وما إلى ذلك، باستخدام واجهة برمجة تطبيقات Discourse. قد يكون من الممكن وجود برنامج نصي يدير تكوين موقعك عبر واجهة برمجة التطبيقات في مستودع git. يمكن تشغيل البرنامج النصي عند قبول طلب سحب على المستودع. من وجهة نظري، سيكون هذا أكثر صعوبة من إجراء تغييرات يدوية على تكوين الموقع عبر واجهة المستخدم.
10-4 على الفئة. في الوقت الحالي، كنت أجمع معلومات من مصادر متعددة حول نمط موجود. بالنسبة لي، يتعلق الأمر بالحصول على هذا النوع من المشاركة المجتمعية بأسلوب gitops، لذا استقررت على هذا، ولكن يمكنني نقله إلى الآخر إذا كان ذلك يساعد.
ونعم، نستخدم القليل من التكوين كرمز للكثير من الأشياء، لذا تحصل على التحكم في المراجعة النظيف، والتراجع الحتمي، ومراجعة التغيير الواضحة، وما إلى ذلك. التغييرات المستندة إلى واجهة المستخدم الرسومية ليست سيئة (وهو ما نفعله اليوم من خلال حلقات التغذية الراجعة المجتمعية) ولكنها عملية يدوية ويمكن أن يضيع سياق القرار بمرور الوقت. وتوجد الهياكل التنظيمية في المنتصف بين البنية التحتية والحوار الفعلي، لذا فهي ليست مسألة نشر أو إعادة ترطيب.
ونعم، يمكن للمشغلات المستندة إلى طلبات السحب (أو حتى مشكلة) تشغيل دليل تشغيل يحدد التغيير المقترح وينفذ العملية. يمكن أن يكون تحليل الاختلافات والتدقيق اللغوي صعبًا، ولهذا كنت أبحث لمعرفة ما إذا كان أي شخص قد جربه بالفعل. الطلب بالتأكيد في معسكر “من الجيد أن يكون لديك” وقد يلقى صدى لدى شريحة معينة فقط.
أنا (وأنا متأكد تمامًا من مجتمع لغة البرمجة الخاص بنا) أحب هذه القدرة تمامًا. على وجه الخصوص ، أود أن أكون قادرًا على إدارة السمات والمكونات ونصوص الموقع على مستودع GitHub حيث يمكن للناس بسهولة تقديم طلبات السحب. ستكون إعدادات الموقع العامة لطيفة أيضًا ، ولكن هذه هي الأشياء الثلاثة الأكثر إيلامًا للحفاظ عليها في واجهة مستخدم الويب.
إذا لم يكن هذا ممكنًا اليوم - ولا أعتقد أنه كذلك ، على الأقل ليس بالنسبة لنسخة مدفوعة / مستضافة - هل يمكن إعادة تصنيف هذا كطلب ميزة؟
تحتوي جميع السمات البعيدة على قسم في الأعلى حيث يمكنك تحديد ما إذا كنت تريد تحديثها تلقائيًا عند تحديث Discourse. علاوة على ذلك، هناك مهمة خلفية تتحقق مما إذا كان إصدار أحدث متاحًا، ويمكنك التحقق من التحديثات الجديدة يدويًا أيضًا. عندما يكون إصدار جديد متاحًا، يقدم الزر خيار تحديث المكون.
هذا رائع، شكرًا @Moin! هذا يغطي مصدرين رئيسيين لتخصيص موقعنا.
لا أزال أرغب حقًا في استخدام git لإدارة نصوص الموقع حيث أن العديد منها (مثل الإرشادات والأسئلة الشائعة وما إلى ذلك) طويلة وغير بسيطة، ويمكن أن تكون مفتوحة المصدر لمساهمة المجتمع ومراجعته.
الإعدادات الأخرى للموقع ستكون لطيفة، ولكنها بالتأكيد ليست بنفس الأهمية.
لقد بدأت في العبث بـ GitHub action الذي يقدم تحديثات إلى قسم site_texts في لوحة الإدارة عبر API. إنه بدائي للغاية في الوقت الحالي (ويفشل مع القيم الكبيرة مع خطأ 422 لسبب ما)، ولكنه واعد.
ليس لدينا حاليًا أي خطط لإصدارها كأداة قابلة لإعادة الاستخدام. ولكن يمكنك التحقق من الكود الخاص بالمزامنة الخاصة بنا هنا. يعتمد على جميع واجهات برمجة تطبيقات Discourse REST العادية، بما في ذلك استعلام مستكشف البيانات (التفاصيل هنا).