WP (SSO) + LMS + Discourse: Consejos y mejores prácticas?

¡Hola!

Sigo leyendo hilos antiguos sobre el uso de WP SSO, pero me surgió la curiosidad de compartir nuestra hoja de ruta por si alguien pudiera darnos algún consejo. ¿Hay algo en lo que debamos tener cuidado? ¿Algo que debamos evitar?

Nuestra pila tecnológica:

  • WordPress (base)
  • MemberPress (gestiona las cuentas de usuario)
  • LearnDash (LMS, creación de cursos)
  • Discourse (comunidad privada para miembros)

Nuestra experiencia de incorporación deseada:

  1. El visitante llega a nuestro sitio de WordPress (marketing de contenidos) y se convierte en miembro de pago.
    – Estamos pensando en una prueba gratuita de 24 horas (con conversión automática).
  2. El plugin WP Discourse (SSO) genera una cuenta en Discourse (TL0).
  3. TL0 obtiene acceso de solo lectura a la mayoría de las categorías.
  4. La promoción a TL0-1 requiere publicar una introducción durante 5 minutos.
  5. Después de 24 horas, se cobra la tarjeta del miembro, la membresía se hace oficial y se promueve automáticamente a TL1.

WP SSO gestionaría las cuentas para que solo los miembros activos o de pago tengan acceso tanto a la comunidad como al contenido del LMS.

Me pregunto si existe una forma más sencilla o mejor de hacerlo. Reducir la fricción para los nuevos miembros es importante, pero también lo es garantizar la escalabilidad a largo plazo, ¿sabes?

Agradezco cualquier opinión. Gracias.

Según tu lista de incorporación, parece que esperas anular el sistema de niveles de confianza de Discourse. Creo que un enfoque mejor sería utilizar la pertenencia a grupos de Discourse para controlar el acceso al contenido de tu sitio. Para obtener detalles sobre cómo funciona esto, consulta Understanding groups and category permissions.

El plugin WP Discourse tiene varias funciones que puedes usar para agregar y eliminar usuarios de grupos. Los detalles están en este tema: Manage group membership in Discourse with WP Discourse SSO. Ese tema utiliza el plugin PaidMembershipsPro como ejemplo, pero la misma idea debería funcionar con MemberPress.

Otro tema que podría contener información útil es How to prevent some WP users from being able to login to Discourse.

Gracias, Simon. Me aseguraré de leer esos temas primero/seguidamente. Lo aprecio.

Esos hilos fueron muy útiles. He instalado y conectado WP Discourse con Discourse. Incluso podría tener algunas ideas nuevas (mejores) para nuestra experiencia de incorporación. ¡Gracias, @simon!

Sin embargo, no llegué a tomar ninguna decisión sobre SSO. Me da miedo que cuanto más leo sobre esto, más me doy vueltas en la cabeza y me mareo. ¿Podría pedirle un poco más de asesoramiento al respecto?

Dado: WordPress & MemberPress + Discourse + LearnDash… y queriendo poner todo detrás de un muro de pago, excepto las entradas del blog…

Si Discourse es el CLIENTE de SSO, usaríamos MemberPress para gestionar las cuentas en WordPress y el acceso a los cursos de LearnDash. Así fue como abordamos las cosas desde el principio, por lo que tiene sentido de forma inherente, aunque no necesariamente desde la perspectiva de las mejores prácticas de implementación o escalabilidad.

Si Discourse es el PROVEEDOR de SSO, necesitaríamos buscar e implementar un muro de pago en el lado de Discourse (ninguno de los que he visto hasta ahora me inspira mucha confianza, para ser honesto). Si pudiéramos prescindir de MemberPress en el lado de WP, podría valer la pena el cambio, pero no estoy seguro de cómo funcionaría esto con el deseo de que los usuarios sincronizados en WP accedan al contenido del LMS a precios especiales para miembros, mientras que el público general vea el precio completo de venta al por menor.

¿Tiene sentido esto? Intenté aclararlo, pero me he mareado un poco.

Siento que un solo correo electrónico a Jay resolvería esto, pero cada dólar gastado en desarrollo es un dólar que no tenemos para el resto de nuestros planes de startup. (Cada vez siento más que deberíamos dejarlo en manos de Jay.) :wink:

Gracias.

Un desarrollo interesante en esta pila/front. @simon, me gustaría saber tu opinión.

  • MemberPress gestiona las membresías y el procesamiento de pagos. Es bastante sencillo.
  • MemberPress está diseñado para gestionar el acceso a contenido local de WordPress.
  • MemberPress no tiene autoridad para limitar el acceso a Discourse mediante SSO.

Lo que he descubierto es que, cuando se rechaza la tarjeta de crédito de alguien, se suspende su membresía, pero como aún pueden iniciar sesión en WordPress, mantienen el acceso a Discourse a través de SSO.

¿Cuánto trabajo sería hacer que el plugin de SSO tenga en cuenta el estado de la membresía (de MemberPress) antes de permitir que alguien inicie sesión en Discourse?

Siento que la forma en que hemos integrado las cosas hasta ahora es rentable y lo suficientemente sencilla que, si el plugin de SSO manejara esto, estaríamos cubiertos por el futuro previsible, pero también siento que este camino también conduce a un trabajo de desarrollo personalizado de alto nivel.

Cuanto más podamos mantener las cosas cerca de Discourse estándar, mejor estaremos, en mi opinión.

Gracias de nuevo por el consejo. Perdona la interrupción, Simon. :slight_smile:

Si puedes averiguar cómo determina MemberPress qué usuarios deben tener acceso al contenido protegido en WordPress, entonces los mismos datos pueden usarse para restringir los inicios de sesión SSO en Discourse. Para ello, deberás agregar una declaración condicional a las dos funciones en la segunda publicación de este tema: Cómo evitar que algunos usuarios de WP puedan iniciar sesión en Discourse. La declaración condicional debe devolver true si la cuenta del usuario ha sido suspendida.

Lo que deseas lograr es factible, pero es posible que necesites ayuda de un desarrollador de WordPress para determinar qué incluir en la declaración condicional de las dos funciones que enlucé.

Gracias como siempre, Simon.

Admito que ahora me duele un poco la cabeza después de revisar ese código, pero lo terminaré. :slight_smile:

Es posible que haya alguien en este sitio que pueda ayudarte si creas un tema en nuestra categoría Marketplace. Veo un tema antiguo del marketplace que es similar a lo que estás intentando lograr: [HIRING] Integrate our Discourse with Memberpress for membership site.

¡Gracias por el consejo, Simon! ¡Lo echaré un vistazo!