يناقش مساهمو جوتنبرج عيوب استخدام إطارات iframes لمربعات التعريف

نشرت: 2017-11-04
ائتمان الصورة: صندوق مربع مغلق ، تغيير - (ترخيص)

تجري مناقشة حية ومثمرة بشأن استخدام Gutenberg لإطارات iframes لمربعات التعريف على GitHub. بالأمس ، أنشأ مطور WordPress كيفن هوفمان مشكلة بعنوان "هل إطارات iframes هي حل قابل للتطبيق على المدى الطويل لمربعات التعريف؟"

قدم جوتنبرج 1.5 الدعم الأولي لصناديق التعريف. حدد هوفمان العديد من المشكلات المتعلقة بإطارات iframe التي ظهرت عندما بدأ المطورون في اختبار تطبيق meta box الحالي. لقد أجرى بعض اختبارات الأداء التي كشفت أن استخدام Gutenberg لإطارات iframes يضاعف عدد طلبات الأصول بمقدار ثلاثة أضعاف ، حيث أنه يدرج جميع أصول CSS و JS في النافذة الأصلية وكذلك في جميع إطارات iframe.

رصيد الصورة: كيفن هوفمان

قال هوفمان: "بشكل عام ، تم تثبيط إطارات iframe في تطوير الويب لسنوات عديدة لأسباب موثقة جيدًا" ، قبل الاستشهاد بمجموعة من المشكلات التي اكتشفها مطورو المكونات الإضافية بالفعل في اختبار دعم Gutenberg's meta box. "هل يمكن معالجة هذه المشكلات دون الحاجة إلى تعديل القالب أو المكون الإضافي الذي يقوم بإنشاء مربع التعريف؟ علينا أن نأخذ في الاعتبار أن كود الطرف الثالث الذي يدعم صناديق التعريف لسنوات قد لا يتمتع برفاهية التحديث من أجل أن يكون متوافقًا داخل إطار iframe ".

استجاب تامي ليستر ، قائد تصميم جوتنبرج ، لمخاوف هوفمان ، مشيرًا إلى أن التنفيذ الحالي لمربعات التعريف هو مجرد تجربة وليس بالضرورة ما سيهبط في WordPress 5.0:

من الجيد أن نفكر قليلاً في أن ما لدينا اليوم لمربعات التعريف في جوتنبرج هو تجربة ، في كثير من النواحي هو نمط تعليق حيث يعمل المشروع على تحديد الاتجاه الذي يجب اتخاذه. بالقول إنه يعمل "في الوقت الحالي" ولكنه ليس ما نشحن به.

كل ما سبق ذكره ، أعتقد أنه من المهم النظر إلى ما سيتم استخدامه في المستقبل. ما هي الحالات (إن وجدت) التي لن يتم تحويلها إلى كتل؟ هل يجب أن تعمل جميع أجهزة التمثيل الغذائي على الهاتف المحمول؟ هل هناك حتى واجهة بديلة لم نستكشفها؟ أراهن أن هناك. في الوقت الحالي ، يتعلق الأمر بالنظر في تلك الاحتمالات والسير على طريق يعمل لصالح الدولة في الوقت الحالي والحالة المستقبلية.

جاء تقديم هذا التنفيذ كتجربة "تعمل في الوقت الحالي" (ولكن لن يتم شحنها) بمثابة مفاجأة بعد وصول Gutenberg 1.5 بالإعلان أن "هذا الإصدار يتضمن دعم المربعات الوصفية الذي طال انتظاره (يحتاج إلى اختبار!)"

يؤكد هوفمان أن نهج iframe لا يعمل حتى "في الوقت الحالي" ، حيث تم فتح المشكلة من أجل الاستشهاد بالعديد من الطرق الرئيسية التي يتم فيها كسرها. إذا تحرك Gutenberg قدمًا في النهج الحالي ، فسيتطلب تعديل العديد من المكونات الإضافية حتى تتوافق مع WordPress 5.0 ، والذي قال هوفمان إنه سيقضي على الغرض الكامل من دعم مربعات التعريف القديمة.

قال هوفمان: "لم أر أي دليل حتى الآن يشير إلى أن الصناديق الوصفية ستستمر في العمل مع جوتنبرج". "إذا كانت الإجابة بالنفي ، فعلينا التوقف عن التظاهر بأن الإصدار 5.0 سيكون مجرد إصدار آخر من WordPress والبدء في الصدق بشأن كسر التوافق مع الإصدارات السابقة."

قال إدوين كروملي ، أحد المتعاونين في المشروع ، إن الفريق يتوقع أن بعض السمات والمكونات الإضافية سيتم كسرها وأنه ليس من الممكن استيعاب كل حالة استخدام محتملة. واعترف بأن حل iframe قد لا يلبي أهداف المشروع. بدلاً من ذلك ، يدعو إلى إنشاء أفضل تجربة للغالبية العظمى من المستخدمين.

ومع ذلك ، فإن النهج الحالي سيؤثر سلبًا على العديد من المواقع التي تستخدم WordPress بشكل أساسي كنظام CMS مع مربعات التعريف. أعرب سكوت تايلور ، المسؤول الأساسي عن WordPress ، عن مخاوفه بشأن أنواع المنشورات المخصصة ، والتي لا يستفيد الكثير منها من قسم "المحتوى" التقليدي لصالح مربعات التعريف فقط.

قال تايلور: "في هذا التكرار الحالي ، يعد دعم meta box إضافة ، عندما تكون المربعات الوصفية في واقع العديد من الأشخاص هي واجهة المستخدم وواجهة برمجة التطبيقات والآلية التي يستخدمونها لإنشاء نظام إدارة المحتوى الخاص بهم". "iframes هي gulag.

"ونحن ننسى القيم التي بُنيت عليها WP إلى الأبد: يجب أن أكون قادرًا على التحديث إلى أحدث إصدار من WP ، ولا يتعين علي إعادة كتابة أي شيء. لدي العديد من المشاريع في البرية على WP لدرجة أنني لن أتطرق إليها مرة أخرى. هل يمكنني أن أكون واثقًا من أن بعضهم لن يقطع بشدة عن هذا التغيير؟ "

دعا هوفمان إلى تقليص نطاق المشروع للتركيز على مكون المحرر ، وهو رأي شائع يشاركه العديد من مطوري المكونات الإضافية وواحد تم توضيحه بالتفصيل في منشور Yoast الذي يقترح نهجًا بديلًا لـ Gutenberg. يعمل هذا النهج على إنهاء التغييرات التي تم إجراؤها على شاشة التحرير ، مما يمنح المطورين مزيدًا من الوقت لتحديث المكونات الإضافية ، فضلاً عن السماح لفريق Gutenberg بالعثور على حل مناسب لمربعات التعريف.

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

"أنا أتفق بشدة مع هذا المفهوم الذي طرحه Yoast ، والذي يبدو لي أنه سيحافظ على الكثير من العمل المنجز بالفعل مع تقليص نطاق المشروع للتركيز على مكون المحرر."

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

"إعادة استخدام أجزاء Gutenberg لبناء هذا المفهوم أمر قابل للتنفيذ نسبيًا ، ولكن هذه ليست تجربة المستخدم التي نريد تحسينها ، فنحن نريد إنشاء أفضل محرر ممكن أولاً وجعله متاحًا للأشخاص الذين ليس لديهم مخاوف تتعلق بالتوافق مع الإصدارات السابقة (تثبيتات جديدة ، لا توجد مربعات تعريف ... قال بنغيلا.

"عندما نعتقد أن الرؤية المثالية لـ Gutenberg جاهزة للشحن ، سيكون لدينا الوقت لمناقشة استراتيجيات مسار الترقية ، مفهوم مثل هذا هو خيار لمسار الترقية ، ولكن بالتأكيد ليس المنتج النهائي. من الممكن أيضًا استخدام مسارات ترقية أخرى ".

ومع ذلك ، لا يؤيد مجتمع مطوري WordPress تأخير هذه المناقشة مرة أخرى. يتوق الكثيرون للإجابة أخيرًا على سؤال حول كيفية ملاءمة المربعات الوصفية في سياق محرر جوتنبرج حتى يعرفوا كيفية التحضير. نظرًا للعديد من المشكلات المتعلقة بنهج iframes ، سيتطلب عرض مربعات تعريف PHP القديمة ضمن المحرر الجديد مزيدًا من التجارب وربما حلاً بديلاً.

"لماذا تكرس آلاف الساعات لتطوير المحرر المثالي إذا كان لا يمكن جعله متوافقًا مع المواقع الموجودة؟" قال هوفمان. "إذا كان الانطباع الأول أنه يكسر واجهة المستخدم التي يعتمدون عليها ، فلن يختبر المستخدمون مطلقًا المحرر المثالي في المقام الأول."

قال آرون جوربين ، المسؤول الأساسي في WordPress ، "أعتقد أنه قد يكون من الخطأ تأجيل هذا الأمر كثيرًا". "خاصة وأن العديد من المنظمات ستحتاج على الأقل 1-2 ربع للتحضير."

يقترح Mark Kaplun أن يستخدم فريق Gutenberg مكونًا إضافيًا شائعًا كمقياس لنجاح تجارب دعم meta box الحالية والمستقبلية.

قال Kaplun: "اقتراحي المثمر ، هو عدم الإعلان عن الصناديق الوصفية جاهزة ، طالما أن Yoast SEO لا يعمل بشكل صحيح فيها". "إنه معقد بعض الشيء من حيث التفاعلات ويتم تثبيته على الكثير من المواقع. إذا لم يستطع جوتنبرج التعامل معها ، فربما لن يستخدمها أحد ".

انضم Greg Schoppe ، الذي اختبر وكتب بشكل مكثف حول التطوير المستمر لـ Gutenberg ، إلى المحادثة للدفاع عن نهج Yoast البديل للمشروع أيضًا.

قال شوبه: "أنا أؤيد بشدة وجهة نظر يوست عن جوتنبرج". "ليس من الواضح بالنسبة لي كيف تمت إعادة تفسير" ترقية المحرر المرئي "ليكون" استبدال واجهة تحرير المنشور بالكامل "بواسطة فريق Gutenberg ، ولكن يبدو أنه يتعارض بشكل مباشر مع ما يسمى بـ" سفينة ثيسيوس ".

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

لا تزال المناقشة المتعلقة بنهج إطارات iframes لمربعات التعريف التي تم فتحها بالأمس جديدة نسبيًا ، ولكن حتى الآن فشلت ردود فريق Gutenberg في معالجة مخاوف مجتمع المطورين في هذا الموضوع. يعد العثور على نهج لصناديق التعريف التي تحافظ على إمكانات WordPress القوية لنظام إدارة المحتوى ، دون تنفير المستخدمين والمطورين ، أحد أكبر تحديات فريق Gutenberg. لا يزالون يهدفون إلى إنتاج اقتراح دمج في أوائل العام المقبل ، ولكن مع وجود مربعات التعريف لا تزال في مرحلة التجريب ، يستمر الجدول الزمني المتوقع للفريق في وضع المشروع على خلاف مع مجتمع مطوري WordPress.