نصائح وأفضل الممارسات لـ WP (SSO) + LMS + Discourse

مرحباً!

ما زلت أقرأ في المواضيع القديمة حول استخدام WP SSO، لكنني فضولي لمعرفة ما إذا كان مشاركة خارطة طريقنا قد يسلط الضوء على أي نصائح. هل هناك أشياء يجب أن ننتبه لها؟ أشياء يجب أن نتجنبها؟

بنيتنا التقنية:

  • ووردبريس (الأساس)
  • MemberPress (يدير حسابات المستخدمين)
  • LearnDash (نظام إدارة التعلم، وإنشاء الدورات)
  • Discourse (مجتمع خاص للأعضاء)

تجربة الانضمام التي نطمح إليها:

  1. يزور الزائر موقعنا على ووردبريس (تسويق المحتوى) ويصبح عضواً مدفوعاً.
    – نفكر في تقديم تجربة مجانية لمدة 24 ساعة (مع تحويل تلقائي).
  2. يقوم مكون WP Discourse (SSO) بإنشاء حساب في Discourse (مستوى TL0).
  3. يحصل مستوى TL0 على صلاحية قراءة فقط لمعظم التصنيفات.
  4. يتطلب الترقية من TL0 إلى TL1 نشر مقدمة لمدة 5 دقائق.
  5. بعد 24 ساعة، يتم خصم البطاقة، وتصبح العضوية رسمية، ويتم الترقية التلقائية إلى TL1.

سيدير WP SSO الحسابات بحيث لا يتمكن إلا الأعضاء الحاليين والمدفوعين من الوصول إلى محتوى المجتمع ومحتوى نظام إدارة التعلم.

أنا فضولي لمعرفة ما إذا كانت هناك طريقة أبسط أو أفضل للقيام بذلك. إن تقليل الاحتكاك أمام الأعضاء الجدد أمر مهم، لكن ضمان قابلية التوسع على المدى الطويل لا يقل أهمية، أليس كذلك؟

أقدر أي رؤى تشاركونها. شكراً لكم.

من قائمة التوجيه الخاصة بك، يبدو أنك تأمل في تجاوز نظام مستويات الثقة في Discourse. أعتقد أن النهج الأفضل هو استخدام عضوية المجموعات في Discourse للتحكم في الوصول إلى محتوى موقعك. للحصول على تفاصيل حول كيفية عمل ذلك، راجع Understanding groups and category permissions.

يحتوي مكون WP Discourse الإضافي على دالتين يمكنك استخدامهما لإضافة المستخدمين إلى المجموعات وإزالتهم منها. التفاصيل موجودة في هذا الموضوع: Manage group membership in Discourse with WP Discourse SSO. يستخدم هذا الموضوع مكون PaidMembershipsPro الإضافي كمثال، لكن نفس الفكرة يجب أن تعمل مع MemberPress.

هناك موضوع آخر قد يحتوي على معلومات مفيدة وهو How to prevent some WP users from being able to login to Discourse.

شكرًا لك، سيمون. سأحرص على قراءة تلك المواضيع أولًا/بعد ذلك. أقدر ذلك.

كانت تلك الخيوط مفيدة. لقد قمت بتثبيت WP Discourse وربطه بـ Discourse. وقد تكون لدي حتى بعض الأفكار الجديدة (الأفضل) لتجربة الانضمام لدينا. شكرًا لك، @simon!

لكنني توقفت قبل اتخاذ أي قرارات بشأن SSO. فأنا أخشى أنه كلما قرأت أكثر عن هذه الأمور، زاد شعوري بالدوار وتشابكت أفكاري. هل يمكنني إزعاجك للحصول على بعض النصائح الإضافية في هذا الصدد؟

بالنظر إلى: WordPress و MemberPress + Discourse + LearnDash… ورغبة في جعل كل شيء غير المدونات مدفوعًا…

إذا كان Discourse عميل SSO، فسنستخدم MemberPress لإدارة الحسابات في WordPress والوصول إلى دورات LearnDash. هذه كانت الطريقة التي اتبعناها منذ البداية، لذا فهي تبدو منطقية بطبيعتها، حتى لو لم تكن مستندة إلى أفضل ممارسات التنفيذ أو القابلية للتوسع.

أما إذا كان Discourse مزود SSO، فسنحتاج إلى إيجاد وتنفيذ بوابة دفع على جانب Discourse (ولا شيء مما رأيته حتى الآن يبعث على الثقة، بصراحة). وإذا تمكنا من الاستغناء عن MemberPress في جانب WordPress، فقد تكون القيمة تستحق التبديل، لكنني لست متأكدًا من كيفية عمل هذا مع رغبتنا في أن يكون للمستخدمين المزامنة في WordPress إمكانية الوصول إلى محتوى نظام إدارة التعلم بأسعار خاصة للأعضاء، بينما يُعرض على الجمهور العام السعر الكامل.

هل هذا منطقي؟ حاولت توضيح الأمر، لكنني أشعر أنني بدأت أتحار.

أشعر بأن رسالة بريد إلكتروني واحدة إلى Jay ستحل هذه المشكلة، لكن كل دولار يُنفق على التطوير هو دولار لا نملكه لبقية خططنا الناشئة. (يبدو أكثر فأكثر أننا يجب أن نعتمد على Jay.) :wink:

شكرًا لك.

تطور مثير للاهتمام في هذه المكدسة/الواجهة الأمامية. @simon، فضولي لمعرفة رأيك.

  • يتولى MemberPress إدارة العضوية ومعالجة المدفوعات. أمر سهل نسبيًا.
  • صُمم MemberPress لإدارة الوصول إلى المحتوى المحلي على WordPress.
  • لا يملك MemberPress صلاحية تقييد الوصول إلى Discourse عبر SSO.

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

ما مدى الصعوبة في جعل إضافة SSO تأخذ حالة العضوية (من MemberPress) في الاعتبار قبل السماح لأي شخص بتسجيل الدخول إلى Discourse؟

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

كلما تمكنا من إبقاء الأمور أقرب إلى إعدادات Discourse القياسية، كان ذلك أفضل، برأيي.

شكرًا مجددًا على النصيحة. عذرًا على المقاطعة، سيمون. :slight_smile:

إذا تمكنت من معرفة الطريقة التي يحددها MemberPress بها المستخدمين الذين يجب أن يكونوا قادرين على الوصول إلى المحتوى المحمي على WordPress، فيمكن استخدام نفس البيانات لتقييد تسجيل الدخول عبر SSO إلى Discourse. للقيام بذلك، ستحتاج إلى إضافة جملة شرطية إلى الدالتين الموجودتين في المنشور الثاني لهذا الموضوع: كيفية منع بعض مستخدمي WP من القدرة على تسجيل الدخول إلى Discourse. يجب أن تعيد الجملة الشرطية القيمة true إذا تم تعليق حساب المستخدم.

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

شكرًا لك كما دائمًا، سيمون.

بكل صراحة، يؤلم رأسي قليلًا الآن بعد مراجعة هذا الكود، لكنني سأكمل المهمة. :slight_smile:

قد يكون هناك شخص ما في هذا الموقع قادر على مساعدتك إذا أنشأت موضوعًا في فئة #السوق لدينا. لقد لاحظت موضوعًا قديمًا في السوق مشابهًا لما تحاول إنجازه: [HIRING] Integrate our Discourse with Memberpress for membership site.

شكرًا للنصيحة، سيمون. سأقوم بمراجعتها!