حالة الاستخدام: أدير 12 مجموعة عمل تحليلية (AWGs) لمستودع بيانات العلوم المفتوحة التابع لوكالة ناسا (NASA’s Open Science Data Repository)، تضم حوالي 1700 عضو من أكثر من 60 دولة. لكل مجموعة عمل مجموعة ديسكورس (Discourse) خاصة بها (مثل @AIMLawg، و@AnimalAWG، و@HUMANawg، وما إلى ذلك حتى 12 مجموعة، وهي في تزايد). عندما أحتاج أنا أو فريقي إلى إرسال إعلان إلى المجتمع بأكمله، يجب علينا الإشارة يدويًا (@mention) إلى المجموعات الـ 12 بأكملها في كل منشور: وهو أمر عرضة للخطأ، وممل، ومن السهل أن ننسى إحدى المجموعات.
أريد مجموعة واحدة باسم @AWGall تعكس تلقائيًا عضوية جميع المجموعات الفرعية الـ 12، بحيث تصل إشارة واحدة (@mention) إلى الجميع.
ما جربته:
- أنشأت مجموعة @AWGall يدويًا وكتبت برنامجًا نصيًا لواجهة برمجة التطبيقات (API) لإضافة الأعضاء دفعة واحدة من جميع المجموعات الفرعية - وهذا يعمل كلقطة لمرة واحدة ولكنه لا يظل متزامنًا. في كل مرة ينضم فيها عضو جديد إلى إحدى مجموعات العمل التحليلية الـ 12 (وهو ما يحدث باستمرار)، تصبح @AWGall قديمة.
- بحثت عن ميزة مجموعات متداخلة أصلية / مجموعة من المجموعات - وهي غير موجودة. أقرب مناقشة سابقة هي عضوية المجموعة الهرمية (مجموعات داخل مجموعات) من عام 2021، والتي أكدت عدم وجود خطط لتنفيذ ذلك في ذلك الوقت.
ما أطلبه:
أي من الخيارين التاليين سيحل المشكلة:
- الخيار أ - المجموعات المتداخلة: السماح لمجموعة بتضمين مجموعات أخرى كأعضاء، بحيث يتم حل العضوية بشكل انتقالي. عندما ينضم شخص ما إلى @AIMLawg، يظهر تلقائيًا في @AWGall.
- الخيار ب - مشغل المزامنة التلقائية: عند إضافة مستخدم إلى مجموعة أو إزالته منها، يتم تشغيل مزامنة عضوية قابلة للتكوين لإضافته/إزالته من مجموعة رئيسية محددة.
لماذا هذا مهم لما هو أبعد من حالتي:
أي مجتمع به مجتمعات فرعية (أقسام، أو دفعات، أو فرق، أو فئات عمرية، أو مناطق) سيصطدم بهذا العائق. الحل البديل الحالي - الحفاظ يدويًا على مجموعة مسطحة منفصلة - يتعطل على الفور مع تطور العضوية. هذا قيد عام في ديسكورس، وليس حالة طرفية متخصصة.
يسعدني مناقشة المفاضلات في التنفيذ. هل هناك مكون إضافي (plugin) يعالج هذا بالفعل، أو هل هناك اهتمام ببنائه أصليًا؟