فئة واحدة School_A خاصة بمجموعة محددة group_School_A
فئة واحدة Support خاصة بالمستخدمين ذوي Trust Level 0
لقد قمت بإعداد الخيار Default navigation menu categories ليشمل School_A و Support، لكن في اللوحة الجانبية، تظهر فقط فئة School_A للمستخدمين المنتمين إلى group_School_A.
للاطلاع على Support، لا يزال علينا النقر على All categories واختيار Support.
إذا قمت بإعداد فئة Support لتكون خاصة بـ group_School_A، فإن المشكلة تظل كما هي.
هل يمكن لأحد مساعدتي في فهم ما الذي أفعله بشكل خاطئ؟
كيف قمت باختبار ذلك؟ هل قمت بإنشاء مستخدم اختبار جديد؟ يمكن للمستخدمين أيضًا تخصيص الفئات المعروضة في شريطهم الجانبي. وقد يمنع هذا تطبيق الافتراضي الجديد على المستخدمين الحاليين. هل من الممكن أن يضيف المستخدمون الفئة يدويًا؟
أنا أجري الاختبار باستخدام مستخدم تجريبي تم إنشاؤه قبل أن أجري التغيير.
عندما أنقر على زر القلم الخاص بالفئة، يمكنني رؤية كلا الفئتين مع خيار Support غير المحدد.
لكن السؤال الذي يطرح نفسه هو كيفية تطبيق الإعداد الجديد على المستخدمين الحاليين؟
هل هناك واجهة برمجة تطبيقات (API) يمكنني استخدامها؟
لقد أنشأ المستخدمون حساباتهم قبل أسبوع واحد (لذا لم يكن لديهم الكثير من الوقت للتخصيص)، ولم ألاحظ المشكلة المتعلقة بالشريط الجانبي وعدم ظهور الفئة إلا اليوم.
إذا طلبت من المستخدمين إجراء عملية ما، فمعظمهم لن يفهم، والآخرون سيتجاهلون الأمر…
لذلك، يجب أن تكون قادرًا على إزالة support و school_a من الإعداد، ثم الحفظ دون تطبيق ذلك على المستخدمين الحاليين. بعد ذلك، انتظر بضع دقائق وأعد إضافتهما. هذه المرة، قم بتطبيق التغيير على المستخدمين الحاليين. (لا تقلق بسبب العدد، فقد يكون غير صحيح لأنك تضيف أكثر من فئة واحدة)
أعتقد أنني طبّقت التغيير بالفعل على المستخدمين الحاليين.
لكنني حاولت مرة أخرى:
عندما أزيل جميع الفئات من فئات قائمة التنقل الافتراضية، يظهر لي طلب لتطبيق التغيير على المستخدمين الحاليين. أجيب بـ “لا”.
انتظرت بضع دقائق.
أضفتها مرة أخرى، لكن هذه المرة لم يظهر أي طلب لتطبيق التغيير على المستخدمين الحاليين.
تفقدت الشريط الجانبي، ولا يزال خيار الدعم غير مُحدَّد (لكنه موجود).
حاولت إضافة فئة وهمية إلى فئات قائمة التنقل الافتراضية لإجبار النظام على عرض طلب تطبيق التغيير على المستخدمين الحاليين. هذه المرة ظهر الطلب وأجبت بـ “نعم”.
تفقدت الشريط الجانبي مرة أخرى، ولا يزال خيار الدعم غير مُحدَّد.
إذن يبدو أن هناك مشكلة في خيار تطبيق هذا التغيير على المستخدمين الحاليين؟
تحديث: أعدت المحاولة بتفريغ فئات قائمة التنقل الافتراضية، ثم تطبيق التغيير على المستخدمين الحاليين، وانتظرت بضع دقائق، ثم أضفت الفئات مرة أخرى وطبّقت التغيير على المستخدمين الحاليين مرة أخرى، وهذه المرة نجح الأمر!
حسناً. من المنطقي ألا تُعرض هذه الخطة إذا كان جميع المستخدمين يمتلكون بالفعل الفئة في شريطهم الجانبي.
يمكنك تطبيق خطوة إزالة الفئة على الجميع. بعد ذلك، يجب أن يؤدي الإضافة إلى تفعيل نافذة «تطبيق على المستخدمين الحاليين». لكن قد يكون هذا مربكاً للمستخدمين الذين يستخدمون المنتدى حالياً.
يمكنك أيضاً التحقق من الإعدادات الحالية باستخدام مستكشف البيانات. يتيح لك هذا الاستعلام اختيار فئة ومجموعة، ويعيد لكل عضو في المجموعة ما إذا كانت لديه الفئة في شريطه الجانبي أم لا:
-- [params]
-- group_id :group
-- category_id :category
SELECT
u.id AS user_id,
CASE WHEN sl.id IS NULL THEN 'No' ELSE 'Yes' END AS category_added_to_sidebar
FROM users u
JOIN group_users gu ON gu.user_id = u.id
LEFT JOIN sidebar_section_links sl
ON sl.user_id = u.id
AND sl.linkable_type = 'Category'
AND sl.linkable_id = :category
WHERE gu.group_id = :group
ORDER BY category_added_to_sidebar ASC
لديّ عدد قليل فقط من المستخدمين الذين انضموا مؤخرًا، لذا لم يكن هناك أي مشكلة في إزالة الفئات وتطبيقها مرة أخرى (وأنا على يقين تقريبًا من أن أحدًا لم يجد الوقت لتخصيص اللوحة الجانبية).