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

---

## نظرة عامة على التسلسل:

1. **مستوى مساحة العمل:**

   * تُطبق الأدوار على هذا المستوى بشكل شامل على **مساحة العمل** بأكملها.

   * **مثال:** تعيين شخص كـ "**مسؤول (Admin)**" على مستوى **مساحة العمل** يمنحه التحكم في جميع **التطبيقات** **والجداول** داخل **مساحة العمل**.

2. **مستوى التطبيق:**

   * تُطبق الأدوار هنا على **تطبيقات** محددة داخل **مساحة العمل**.

   * **مثال:** يمكن للمستخدم أن يكون "**منشئ (Builder)**" لتطبيق معين ولكنه "**مشاهد (Viewer)**" لتطبيق آخر بناءً على الدور المعين له.

3. **مستوى الجدول:**

   * هذا هو المستوى الأكثر تحديدًا، حيث تُعين الأدوار **لجداول** فردية.

   * **مثال:** يمكن أن يمتلك المستخدم صلاحية "**محرر (Editor)**" لجدول معين مع وجود "**بدون صلاحيات (No Role)**" على جداول أخرى في نفس **التطبيق**.

4. **مستوى العروض (المشاركة فقط):**

   * يمكن مشاركة بياناتك بأنواع مختلفة من **العروض** دون دعوة **الأعضاء**.

   * **مثال:** مشاركة عرض "**النماذج (Form View)**" يساعد في جمع إجابات منظمة عبر المؤسسات.

---

## مستويات الوصول: الفرق والأعضاء

يمكن تعيين الأدوار لكل من **الفرق والأعضاء** الفرديين، مما يوفر مرونة في التحكم في الوصول:

1. **الفرق:** تعيين الأدوار **للفرق** يسمح بإدارة الوصول بشكل جماعي، مما يضمن أن جميع أفراد الفريق لديهم نفس الصلاحيات.

2. **الأعضاء:** تعيين الأدوار **للأعضاء** الفرديين يوفر تحكمًا أكثر تفصيلًا، مما يتجاوز الأدوار الافتراضية المعينة لفريقهم.

**أدوار الأعضاء تتجاوز دائمًا أدوار الفريق:** إذا كان لدى **العضو** دور معين على أي مستوى (**مساحة العمل، التطبيق، الجدول**)، فإن هذا الدور يتفوق على الدور الافتراضي **لفريقه**.


---

## كيفية عمل التسلسل والمستويات:

* **المستويات الأكثر تحديدًا لها الأولوية:** الدور المعين على مستوى **الجدول** يتجاوز الدور المعين على مستوى **التطبيق**، والدور على مستوى **التطبيق** يتجاوز الدور على مستوى **مساحة العمل**.

* **أدوار الأعضاء تتجاوز أدوار الفريق:** إذا تم تعيين دور معين **لعضو** على أي مستوى **(مساحة العمل، التطبيق، الجدول)**، فإن هذا الدور يتفوق على الدور الافتراضي **لفريقه**.

* **تعيينات مرنة:** يسمح هذا التسلسل بالتحكم التفصيلي، حيث يمكن للمستخدمين الحصول على وصول أوسع على المستويات العليا ووصول أكثر تحديدًا أو مقيدًا على المستويات الدنيا.

---

## مثال على تسلسل الأدوار:

**سيناريو:**\
المستخدم: سارة

* **دور مساحة العمل:** منشئ (Builder) - يمكنها تكوين التطبيقات والجداول عبر مساحة العمل.

* **دور التطبيق:** مسؤول (Admin) لتطبيق "إدارة المشاريع" - لديها تحكم كامل في هذا التطبيق.

* **دور الجدول:** بدون صلاحيات (No Role) على جدول "المخاطر" ضمن تطبيق "إدارة المشاريع" - لا يمكنها الوصول أو التعديل على هذا الجدول.

**كيف يعمل:**

* **دور مساحة العمل:** كونها منشئًا على مستوى مساحة العمل، يمكنها إنشاء وإدارة التطبيقات في جميع أنحاء مساحة العمل.

* **دور التطبيق:** دور المسؤول في تطبيق "إدارة المشاريع" يتجاوز دور المنشئ، مما يمنحها تحكمًا كاملًا في هذا التطبيق.

* **دور الجدول:** في جدول "المخاطر"، حالتها كـ "بدون صلاحيات" لها الأولوية، مما يعني أنها لا تستطيع الوصول أو التعديل على هذا الجدول حتى مع صلاحياتها كمسؤول على مستوى التطبيق.

---

## أفضل الممارسات لإدارة تسلسل الأدوار ومستويات الوصول:

1. **ابدأ بأدوار مستوى التطبيق:** قم بتعيين الأدوار على مستوى التطبيق لتعريف الوصول لمناطق محددة من مساحة العمل.\
   ​**مثال:** تعيين "منشئ" لمستخدم في تطبيق "إدارة المشاريع" ليتمكن من إنشاء وإدارة الجداول داخل هذا التطبيق.

2. **استخدم أدوار مستوى الجدول للوصول التفصيلي:** قم بتحديد أدوار معينة على مستوى الجدول للتحكم في الوصول والإجراءات داخل الجداول الفردية.\
   ​**مثال:** تعيين "محرر" لمستخدم على جدول "المخاطر" للسماح له بتعديل البيانات دون منحه وصولًا إلى جداول أخرى.

3. **فهم أولويات الأدوار:** الأدوار على المستويات الأدنى (مساحة العمل > التطبيق > الجدول) تأخذ الأولوية على الأدوار على المستويات الأعلى.

   * أدوار الأعضاء دائمًا تتجاوز أدوار الفريق، مما يضمن احترام التعيينات الفردية.

4. **إدارة أدوار الفريق بفعالية:** استخدم أدوار الفريق للبساطة والاتساق، ولكن قم بتعديل أدوار الأعضاء عند الحاجة إلى استثناءات.

   * قم بتعيين أدوار الفريق للتطبيقات والجداول لإدارة الوصول الجماعي بسهولة.

5. **تعديل الأدوار حسب الحاجة:** قم بمراجعة الأدوار وتحديثها بانتظام لتتناسب مع مسؤوليات المشروع.

   * قم بتعيين دور "منشئ" مؤقتًا لمستخدم لمهام محددة ثم قم بإعادته إلى "بدون صلاحيات" عند انتهاء الحاجة.


