أذونات دقيقة قائمة على المجموعات للمستخدمين المجهولين والمسجلين

لا، لم يكن الأمر كذلك، وقد رأينا هذه النقطة تتكرر مرارًا وتكرارًا داخليًا وخارجيًا، وفي كل مكان في قاعدة الكود.

لم نصل إلى الفئات بعد، لم يتغير شيء هنا.

كان الناس يستخدمون TL0 بشكل ساحق ليعني «جميع المستخدمين المسجلين» لأننا لم نكن نملك طريقة أفضل لتمثيل هذا. على الأقل، مجموعة logged_in_users واضحة تمامًا فيما تتضمنه، ولا يوجد شيء يمنعك من مواصلة استخدام TL0/TL1 وما إلى ذلك. المجموعة الوحيدة التي يتم حذفها هي everyone.

نعم، بالتأكيد أنا أقوم بكل هذا من أجل «التغيير من أجل التغيير» :+1: من فضلك، فكّر لحظة في كلماتك، لسنا من العادة أن نفعل أشياء غير ضرورية تمامًا دون سبب هنا. هذا العمل مستمر منذ أشهر الآن وهو لا يغير اتجاهه.

3 إعجابات

حسنًا، ربما أكون أخطأت في فهم هذا التغيير؟

إذا كان المقترح هو إدخال:

  • anon
  • logged in

كمجموعات آلية

فإن هذا يبدو مناسبًا وهي مجموعات ذاتية الشرح.

(في الواقع، أعجبني ذلك كثيرًا! :+1:)

أما إذا كان المقترح هو إزالة:

  • everyone

في النهاية، فإن ذلك لا معنى له بالنسبة لي، لأن everyone جزء من مجموعة من المجموعات الآلية التي تمثل عتبات الوصول، والتي تشمل أيضًا:

  • trust_level_0
  • trust_leve_1

وغيرها.

فجميعها تمثل عتبات للوصول، بما في ذلك everyone.

مجموعة everyone تُعرف أيضًا باسم “trust_level_none”

إنها طريقة موجزة للتعبير عن الوصول العام.

أقدّر أنك لا تقترح إزالتها حاليًا لأغراض أذونات الفئات (: +1:)، لكنني شخصيًا أودّ رؤية التزام بالحفاظ على هذه المجموعة الآلية، لأنها على الأقل تجعل الأمور منطقية بالنسبة لي.

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

إلا في هذه الحالة، فكل مكان تحتاج فيه إلى التعبير عن شيء ما لامتلاك “وصول عام” ستحتاج إلى إضافة مجموعتين، مما يبدو تعقيدًا بلا طائل؟

لماذا تتعب نفسك بإضافة منطق “لإخفاء” everyone؟

ربما يكون نهج بديل آخر هو إعادة النظر في اسم “everyone” إذا كان هناك اسم أفضل، مع الحفاظ على معناه ووظيفته وتوفره عبر المنصة، ثم يكون الجميع (تأفف) سعداء؟

أعتقد أن التمييز هنا يكمن بين الاحتفاظ بطريقة مريحة لاختيار “الوصول العام”، وبين الاحتفاظ بمجموعة everyone الحالية. أوافق على أن الحاجة إلى اختيار مجموعتين كل مرة تريد فيها الوصول العام أمر أكثر إزعاجًا، ويمكننا تحسين ذلك من خلال الواجهة.

على سبيل المثال، يمكننا إضافة اختصار “عام” إلى منتقي المجموعات الذي يختار كلًا من anonymous_users وlogged_in_users في إجراء واحد. ثم ستظهر لك المجموعتان معًا مختارتين، ويمكنك إزالة أي منهما. يمنحك هذا الراحة التي تصفها، مع الحفاظ على صلاحيات أساسية واضحة. لن نعرض هذا الاختصار إلا حيث يُسمح بالمجموعتين معًا.

المشكلة مع الاحتفاظ بمجموعة everyone الحالية هي أنها لم تعني باستمرار “الوصول العام”. فهي تعنيه فيما يتعلق بظهور الفئات، ولكن لمعظم إعدادات الموقع المعتمدة على المجموعات، كانت تعني فعليًا “جميع المستخدمين المسجلين”. كما أن هناك سkins وإضافات تفسّرها بشكل مختلف، كما أظهرت المناقشة أعلاه.

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

من الممكن إنشاء مجموعة عالمية معرّفة بشكل متسق، لكنها ستحتاج لا يزال إلى الترحيل والتدقيق الذي نقوم به حاليًا. كما ستحتاج إلى أن تكون ممنوعة في أي مكان لا يُدعم فيه الوصول غير المسجل، وإلا سنعود إلى حالة تعني فيها “everyone” “المستخدمين المسجلين فقط” في تلك الأماكن. هناك الكثير من الإعدادات التي اضطررت لإضافة anonymous_users كقيمة لـ disallowed_groups حيث لم تكن كذلك من قبل، وقبل أن يُسمح بـ everyone في تلك الإعدادات. على سبيل المثال:

أفضّل توفير هذه الراحة في الواجهة، باستخدام المجموعتين الصريحتين في الخلفية، حتى نحقق الاتساق في كل مكان للمشرفين والمطورين.

إعجابَين (2)