مرحباً بالجميع،
تعثرتُ على Discourse بالأمس وأنا منبهر بمزاياه، وطبيعته مفتوحة المصدر، والإضافات، ومكوّنات السمات، وواجهة المستخدم الرائعة حقاً. أنا أقوم ببناء منصة لتقييم المهارات على WordPress، والقطعة الأخيرة في رؤيتي للمنتج هي مجتمع نابض بالحياة، وDiscourse يتناسب تماماً مع ذلك. شكرًا لكم على صنع هذا الجوهرة من المنتجات!
لإعداد هذا والبدء، لديّ بعض الأسئلة وأقدر مساعدتكم.
السياق:
- موقعي مستضاف على Siteground ولا يمكنهم منحني وصول الجذر (root access) لأنهم يعتمدون على Google، لذا لا يمكنني تثبيت Discourse هناك.

- لقد كتبت كودًا مخصصًا بلغة PHP لبناء موقع ديناميكي حيث يكسب المستخدمون نقاط مهارات ومكافآت مقابل إظهار مهاراتهم على المنصة. على سبيل المثال، يكسب المستخدم نقاطًا عند مشاركة مشاريعه ووسمها بمهارات محددة. يتم تعريف وسوم المهارات مسبقًا من قبلي، ويُخصص لكل مهارة نقاط معينة، ويتم تخزين البيانات في جداول مخصصة. وهذا يساعدني على عرض البيانات لكل مهارة لكل مستخدم عبر الزمن.
- أستخدم Gsuite لإعداد البريد الإلكتروني الخاص بي.
- أريد التحكم الكامل، لذا أرغب في استضافة Discourse بنفسي (self-host).
- لا أملك ميزة الدردشة مفعلة على WordPress (لا توجد إضافة مثبتة)، لكنني أرغب في تفعيل ميزة الدردشة على Discourse.
- أرغب في بناء نظام مماثل للاعتراف بالمهارات ونظام النقاط للنشاط على Discourse. على سبيل المثال، إذا طرح المستخدم1 سؤالاً (ووسم السؤال بوسوم مهارات) وأجاب المستخدم2 عنه، وعلّق المستخدم1 بأنه مُحلّ، فإن المستخدم2 يحصل على نقاط مهارات للوسوم المخصصة. أو إذا قدّم المستخدم1 منشوراً عالي الجودة وأعجب به العديد من المستخدمين، فإن المستخدم1 يحصل على نقاط لذلك المنشور. أقرب تشبيه هو نسخة مصغرة من Stack Overflow لكن لمجتمع متخصص جداً.
أسئلتي:
- لقد رأيت أشخاصاً يستخدمون Mailgun للبريد الإلكتروني على Discourse. هل هناك أي مشكلة في استخدام Gsuite؟ أنا جديد في هذا المجال وأقدر أي رؤى طويلة الأمد.
- ليس لديّ مزود استضافة لـ Discourse، لكن الجميع يقيم DigitalOcean (DO) بشكل مرتفع جداً. بناءً على ما شاركتُ، هل ترون أي مشاكل في استخدام DO؟
- هل هناك أداة دردشة موصى بها تعمل بشكل جيد مع WordPress وDiscourse؟ أنا لا أبحث عن شيء فاخر للدردشة، لذا فإن أي شيء خفيف الوزن ويقوم بالمهمة سيكون مُقدَّراً.
- كيف توصي بمزامنة الوسوم في WordPress مع الوسوم في Discourse؟ هل هذا ممكن أصلاً؟ الأمر مهم بشكل رئيسي للمهارات لأنني أريد دمج جميع البيانات من المنتدى ونشاط المشاريع لإنشاء محفظة مهارات للمستخدم.
- كيف يمكنني ضمان نقل البيانات في الوقت الفعلي بين Discourse وWordPress؟ أي: 1) إذا قدّم المستخدم مشروعاً على الموقع، يتم تحديث نقاط المهارات في Discourse. 2) إذا قدّم المستخدم مساهمة جيدة على Discourse، يتم تحديث نقاط المهارات في WordPress.
كيف يمكن تحقيق ذلك مع وجود البيانات في قاعدتي بيانات مختلفتين (Postgres وMYSQL/Maria)، ومزودين استضافة مختلفين (Siteground وDO (ربما))، وخلفيتين مختلفتين (PHP وRuby on Rails)؟ هل توجد واجهات برمجة تطبيقات (APIs) أو خطافات (hooks) يمكنني استخدامها لنقل البيانات بين التطبيقين؟ أم أن كل هذا مُدار تلقائياً بواسطة إضافة WP-Discourse؟ ربما أحتاج إلى تشغيل مهام دورية لـ “مزامنة” البيانات بين التطبيقين؟
لست متأكداً من مدى تعقيد هذا الأمر نظراً لمرونة Discourse وWordPress. أنا سعيد بالاحتفاظ ببيانات مصدر الحقيقة في قاعدة بيانات WordPress إذا كان ذلك ضرورياً لإعداد هذا النظام. يمكنني البرمجة بلغة PHP وأنا مستعد لتعلم Ruby on Rails إذا كان ذلك ضرورياً لبناء نظام حوافز وتقييم مهارات ديناميكي وسلس.
الخلاصة هي - المستخدمون لا يهتمون بموقع الموقع أو المنتدى، وأريد الحفاظ على ذلك من خلال منحهم تجربة واحدة موحدة عبر التطبيقين.
شكراً لكم!
تعديل: قمتُ بمزيد من البحث لفهم ما يقف عليه Discourse حقاً، وشاهدت محاضرتين رائعتين لـ Jeff. موصى بهما بشدة لأي شخص جديد على Discourse
-
محاضرة في جامعة ستانفورد - بناء برمجيات اجتماعية (ومناقشة) للمضاد اجتماعي
-
جيف أتكود: Stack Overflow - بناء برمجيات اجتماعية للمضاد اجتماعي
الآن أفهم بشكل أفضل الفرق بين Stack Overflow وDiscourse، ويبدو أنني أرغب في بناء مجتمع أقرب إلى المنتدى ولكن مع بعض التحكم والتحديد الذي يوفره Stack Overflow. من الصعب شرح التفاصيل في هذه المرحلة، لكن يبدو أن نقل البيانات بين WordPress وDiscourse سيكون أساسياً لبناء المنتج الذي أريده.