I do not believe this is possible because of the way plugins are integrated into the resources of the app which needs to be done at build time, especially because some of the plugin elements impact the back end.
Several mitigations:
Customise with Theme Components as much as possible. These can be swapped out and updated online.
Decide on a set of plugins and stick to that list. Why do you need to change the set-up so often?
If you just need to update a plugin use the online upgrade tool.
Schedule the addition of new plugins to when you are forced to do a rebuild because of other fundamental changes in the core app.
The only real recommendation we can give here is to plan in advance. There’s just no substitute for it.
Use a small instance to test and approve any plugin changes you want to make, then schedule a window each week or month to roll up all those changes on your live site.
That way your users won’t be significantly impacted by such activities, and you will significantly reduce the risk of additional downtime due to compatibility issues.
I’m sorry @Faizan_Zahid , but you could really do better on that title. Maybe you meant “plugins” and not “Discourse”. Here I was expecting someone who was asking for a feature to remove Discourse from a server
You want to be able to install/uninstall plugins without having to rebuild. Seems it’s not possible, unfortunately
You would then want to minimize downtime when you need to rebuild. This has already been a subject lately: Help with “zero downtime” setup (which didn’t really go where it probably should have).
What we may need here, is a nice tutorial on how to setup a 2 web-container install and how to use it. This seems the most efficient setup (and also probably the most complicated one). I don’t have enough knowledge to do such a tutorial, or I would. Is there someone willing to ?
While it still works today, AFAIK Procourse has stopped serving customers. I would be very hesitant to recommend it without a clear maintenance roadmap.
مع مرور الوقت، تحتاج جميع الإضافات إلى التحديث. حتى التغييرات البسيطة قد تسبب أحيانًا مشاكل لإضافات Discourse النشطة في التطوير. إنه ببساطة أمر لا يمكن التنبؤ به، وبالتأكيد ليس شيئًا يمكن لأي منا الاعتماد عليه.
إن إضافة تدير هي نفسها تثبيت الإضافات ولا يتم صيانتها تُعدّ مقترحة محفوفة بمخاطر كبيرة جدًا. الاعتماد على التفاؤل للاستمرار في استخدامها يبدو فكرة سيئة للغاية.
لقد عملتُ فقط مع عميلين أعربا عن اهتمامهما باستخدامها. بمجرد أن أصبح من الواضح أن Procourse لم تعد موجودة، كان كلاهما حريصًا على الهجرة بعيدًا عنها.
ينحصر الأمر في أنه ينبغي على المطورين النظر في دمج هذا النوع من الميزات مباشرة في Discourse، حتى لو كان ذلك كخيار قابل للتفعيل عبر سطر الأوامر، في حال كانت الأمان مصدر قلق.
هذا مجرد شيء يجب أن يكون في خارطة الطريق. ليس مختلفًا كثيرًا في بعض الأحيان عن استخدام واجهة رسومية في لينكس للتثبيت مقارنة بسطر الأوامر؛ ومع ذلك، هناك بعض الحلول التي نجحت في جعل هذا يعمل بشكل جيد.
في كل مرة تستخدم فيها طرق تثبيت غير رسمية، هناك خطر من حدوث أعطال. لذا، على سبيل المثال، فإن القدرة على تفعيل أو تعطيل إضافة مثل السمة أو مكون السمة فكرة جيدة.
في الآونة الأخيرة، واجهت مشكلة يبدو أن أيقونات الفئات تسببت فيها. حتى عند استخدام سمة أساسية بدون تعديلات CSS أو مكونات أخرى. استغرق الأمر بعض الوقت لتحديد السبب.
الغريب في الأمر أنها تعمل على تثبيتنا المنفصل للتجربة الذي يشغل أحدث إصدار تجريبي من ديسكورد.