لقد كنت أدير عددًا قليلاً من مواقع Discourse لبعض الوقت الآن ولدي عدد من البرامج النصية التي تتفاعل مباشرة مع بعض واجهات برمجة تطبيقات Discourse وأجد أنه بشكل دوري تتوقف الأشياء عن العمل بعد الترقية. بشكل عام، يكون هذا جيدًا إذا كانت الأشياء قابلة للاكتشاف على الفور ولكن عندما لا تظهر لفترة من الوقت، يصبح من الصعب تتبعها وغالبًا ما يؤدي إلى مشكلات في الإنتاج بدلاً من مثيلات التطوير.
على سبيل المثال: Recurring events in Upcoming Events calendar fail to handle daylight saving change
مؤخرًا، تم إزالة خيار include_expired، لسوء الحظ، كان السلوك المتمثل في إرجاع الأحداث فقط من واجهة برمجة تطبيقات التقويم التي لم تنته صلاحيتها شيئًا اعتمدت عليه وتسبب في انفجار عدد من العمليات في وقت لاحق بعد الترقية. لهذا المثال المحدد، كان الفشل إذا حدد المتصل المعلمة التي تمت إزالتها الآن على الأقل سيوقف المشكلة في برنامجي النصي المحدد ![]()
لذلك، ما أتساءل عنه هو، كمستخدم تابع لـ Discourse، ما هي أفضل طريقة لتحديد تغييرات واجهة برمجة التطبيقات مثل هذه قبل أن تصل إلى مثيلي؟ في السابق، لجأت إلى عكس مستودع discourse-calendar وترقيته بشكل أقل تكرارًا في وقتي الخاص لتجنب هذه المشكلات، والآن بعد أن تم دمجه، قررت التخلي عن هذا النهج وتم لدغ مرة أخرى.
أقدر كل العمل والتحسين الذي يخضع له Discourse باستمرار وأنا بخير إذا كانت الإجابة هي “اشترك في المؤسسات وستحدث هذه الأشياء بشكل أقل تكرارًا”، أو أضف المزيد من الاختبارات من جانبك ولكن أردت أن أرى ما إذا كانت هناك خيارات أو مناهج أخرى لا أعرفها.
شكرا لكم.