اقتراح: الترحيل من ActiveModelSerializers إلى Alba

مرحباً، لقد لاحظت للتو أن Discourse يستخدم إصدارًا قديمًا من ActiveModelSerializer.
تم إصداره قبل خمس سنوات ولا أعتقد أنه جيد.

يبدو أنه تم التخطيط لإنشاء نسخة من AMS ولكن هناك حل أفضل.
اقتراحي هنا هو الترحيل من AMS إلى Alba، وهو مُسلسِل JSON قمت بإنشائه وأحافظ عليه. على الرغم من أن Alba ليس متوافقًا بنسبة 100٪ مع AMS، إلا أن الواجهة البرمجية التي يقدمها مشابهة لـ AMS وأسرع بحوالي 10 مرات من أحدث إصدار من AMS.

إذا وافق المشرفون على الترحيل، فسأقوم بإرسال طلب سحب.

4 إعجابات

هل يمكنك تغيير نقطتي نهاية أو ثلاث نقاط إلى ذلك في طلب سحب وتشغيل بعض المعايير؟ قد يساعدنا ذلك في تقييمه :smiley:

4 إعجابات

نعم، كما ذكر فالكو، نحتاج إلى القلق بشأن منطقتين هنا:

  1. توافق الإضافات - العديد من الإضافات توسع أجهزة التسلسل، ونود تقليل التغييرات التي قد تتسبب في مشاكل.

  2. الأداء - يجب أن تكون تغييرات أجهزة التسلسل مدعومة ببيانات قوية.

أوصي بالاطلاع على بعض أجهزة التسلسل المشاركة في صفحات الموضوع أو قائمة المواضيع واستخدامها كأرضية اختبار:

ثم استخدم الأرقام “قبل” و “بعد” من discoruse bench. سيعطيك هذا شعورًا دقيقًا جدًا بالتقدم المحرز.

يعتمد مقدار تعطيل النظام البيئي الذي نحن على استعداد لقبوله بشكل كبير على تحسين الأداء هنا.

6 إعجابات

عذرًا على التأخير في الرد.

أعتقد أنه يُجري تحسينات على الأداء، لذا سأقوم بتشغيل نص قياس الأداء.

لم أكن أعرف عن إضافات المُسلسِل (serializer plugins). لقد وجدت مثالاً للإضافات التي تُخصص المُسلسِل.

هنا، تبدو الدالة include_votes? وكأنها دالة سحرية من AMS نظرًا لعدم تمكني من العثور على مكان استخدامها في قاعدة الأكواد. أعتقد أننا بحاجة إلى بعض الترحيل (migration) في مثل هذه الحالات نظرًا لأن Alba لا يدعم هذا السلوك.

يجب أن تكون المحافظة على التوافق مهمة، لذلك إذا لم أتمكن من جعل Alba متوافقًا مع الإضافات الحالية، فأفضل عدم المضي قدمًا.

إعجابَين (2)

السحر الذي تبحث عنه هو add_to_serializer. لا تحتاج إلى إنشاء مُسلسِل جديد.

ربما يساعد هذا: Add to serializer only for staff and current user - #7 by paresy

آه، شكرًا، يبدو أنه يحدد فقط بعض الطرق المساعدة التي تُرجع ما إذا كانت الإضافة ممكّنة أم لا وجسم الإضافة. أعتقد أنه يمكنني جعله متوافقًا مع Alba، دعني أحاول.

آسف. لم أنتبه بما فيه الكفاية للإضافة الأصلية. أعتقد أن تلميحي قد لا يكون مفيدًا كما كنت أعتقد.

إذا كنت تضيف شيئًا إلى المحلقات الموجودة (مثل إضافة حقل إلى ملحق المنشور)، فقد ساعدت. إذا كنت بحاجة إلى إضافة مسار جديد يعرض معلوماته الخاصة، فستحتاج إلى القيام بشيء آخر.