Tengo una comunidad en Discourse que tiene contenido público y contenido privado. Me gustaría cambiar el comportamiento cuando alguien intenta acceder, sin haber iniciado sesión, a una página que existe pero a la que no tiene permiso.
Es decir, mostrar un mensaje del tipo “esa página es privada”, eliminando el concepto de “no encontrado”, dejando claro que la página sí existe (diciendo “esa página es privada”) y animando a las personas a registrarse.
Estamos utilizando SSO para la gestión de usuarios.
Esto es un gran obstáculo para quienes no son miembros de la comunidad, ya que “rebotan” al encontrar enlaces profundos que compartimos, en lugar de ser animados a registrarse para continuar.
Hasta ahora, lo único que se me ocurre para “ajustar” es el texto de page_not_found.title en el área de Administración > Personalizar. Lo cambié para que diga:
Debes iniciar sesión para ver esa página, o quizás realmente no existe. Para obtener más información, consulta el tema RECORRIDO RÁPIDO a continuación.
Tenemos un tema llamado “Bienvenido — Recorrido Rápido” que es visible públicamente. Suelen dirigir mucho tráfico a esa página. (Por ejemplo, usamos URLs cortas como example.com/community para redirigir al enlace profundo de ese tema de recorrido rápido.) Por lo tanto, tiende a aparecer en la lista de temas que se muestran en la página de “no encontrado”.
Desafortunadamente, ese cambio de título es poco efectivo.
¿Puedo inyectar contenido estático en esa página?
El DOM de esa página tiene muchas propiedades seleccionables; IDs y clases.
¿Existe alguna forma de modificar mi tema para inyectar algo en esta página en particular? ¿Un bloque de contenido donde pueda explicar cómo unirse?
Sí, hay un botón de INICIAR SESIÓN en la parte superior. No, las personas no lo usan en un sitio donde llegan rebotados desde un enlace profundo. Y aun si lo hicieran, nuestro proveedor de SSO (te estoy mirando a ti, memberful.com) no incluye una opción de “no tienes una cuenta, únete aquí” en su página de inicio de sesión. Así que el botón de iniciar sesión es un callejón sin salida.
Hay una nueva configuración del sitio para habilitar un error 404 más detallado que revela información confidencial, como “intentaste cargar un mensaje privado al que no tienes acceso”, en lugar de un error 404 genérico.
Sí, eso ya se abordó en el tema público donde inicié esto, antes de separarlo en un mensaje directo de soporte. Lo intenté, pero no es lo suficientemente potente para “detectar” a las personas que, como yo lo llamo, rebotan en un tema que existe y que sería visible si iniciaran sesión.