Modal de bienvenida de Discourse

:information_source: Resumen Una ventana modal de bienvenida para ayudar a los miembros nuevos o recurrentes de la comunidad con formas prácticas de comenzar a explorar/participar en un foro
:eyeglasses: Vista previa Theme Creator (Requiere iniciar sesión)
:hammer_and_wrench: Repositorio GitHub - noahLovell/discourse-welcome-modal
:question: Guía de instalación Cómo instalar un tema o componente de tema
:open_book: ¿Nuevo en los temas de Discourse? Guía para principiantes sobre el uso de temas de Discourse

Instalar este componente de tema

:rocket: ¿Por qué usar esto?

Muchas comunidades tienen altas tasas de registro pero luchan contra la “deserción en el primer día”. Al proporcionar caminos procesables, se reduce la carga cognitiva en los nuevos miembros y se les guía hacia los comportamientos de alto valor que generan retención a largo plazo.


:camera_flash: Capturas de pantalla

Escritorio


Móvil


Cómo funciona

La ventana modal utiliza una implementación basada en lógica para evitar molestar a los miembros habituales que ya están familiarizados con su comunidad.

  1. Usuarios Nuevos: Se muestra automáticamente a todos los usuarios que se registraron después de su feature_enabled_date.
  2. Período de Gracia: Durante una ventana configurable, el componente marca “silenciosamente” a los usuarios activos como si hubieran visto la ventana modal para no interrumpirlos.
  3. Usuarios Antiguos: Se muestra a los usuarios existentes que regresan al foro después de que su período de gracia haya expirado, ayudándoles a reincorporarse.

Nota: El estado de “visto” se almacena localmente en el navegador del usuario, por lo que la ventana modal puede reaparecer si cambian de dispositivo o borran su caché.


:gear: Configuración

Configuración Tipo Predeterminado Descripción
enabled bool false Activa el Modal de Bienvenida de Discourse cuando estés listo para habilitarlo para los miembros.
feature_enabled_date string "2026-01-01" Introduce la fecha en formato AAAA-MM-DD.
grace_period_months integer 3 Número de meses después de la fecha de habilitación de la función para marcar silenciosamente a los usuarios existentes como vistos.
card_layout enum "grid" Elige cómo se muestran las tarjetas en la ventana modal de bienvenida (grid o list).
card_content objects [] Configura las tarjetas que se muestran en la ventana modal de bienvenida (requiere id, title, subtitle, imgUrl, altText, btnLabel y action).
title (Traducción) text Join the conversation El encabezado principal que se muestra en la parte superior de la ventana modal.
close_btn (Traducción) text Done La etiqueta para el botón que cierra la ventana modal.

Utiliza ?show-welcome-modal=true para forzar la visualización del Modal de Bienvenida, independientemente de si la función está habilitada o si se ha visto anteriormente; ideal para probar antes de lanzar en tu comunidad :slight_smile:


Este es mi primer componente de tema propiamente dicho :raised_hands: Me encantaría recibir comentarios, opiniones y sugerencias sobre cosas que podrían haberse hecho mejor :smile:

20 Me gusta

Hola @noahl

¿Cuál es la forma más fácil de probar esto y ver las fichas como en tus imágenes de demostración? ¿Hay un conjunto de configuraciones que permitiría a los administradores ver las fichas antes de que lo pongamos a disposición de forma más amplia en un entorno PORD?

2 Me gusta

¡Hola @marksalter! Eres mi primer “solicitante de funcionalidad” :raising_hands:

Acabo de implementar una configuración enable, junto con un parámetro de consulta para forzar la visualización del modal: ?show-welcome-modal=true

Si combinas ambas cosas, podrás probarlo como Administrador antes de habilitarlo para los usuarios :slight_smile:

p. ej. desactiva la opción enabled (no se mostrará a nadie) y luego usa el parámetro de consulta para forzar su visualización.

6 Me gusta

¡Funciona de maravilla! Gracias por echarle un vistazo.

3 Me gusta

Solo una idea para su próxima ronda de desarrollo. Sería bueno si pudiéramos estipular qué mensajes se mostraban a los usuarios nuevos frente a los usuarios existentes que no han estado activos durante el período de gracia.

Así, los recién llegados reciben mensajes de bienvenida (Vaya al material de introducción), mientras que los usuarios existentes reciben un mensaje del tipo “novedades” (eche un vistazo a estas nuevas funciones/categorías/cosas…).

4 Me gusta

¡Esto es muy agradable! Gran trabajo :clap:

¿Qué opinas de eliminar el pie de página? Dado que hay llamadas a la acción (CTAs), junto con el botón de cerrar, Done (Hecho) se siente un poco innecesario, pero tengo curiosidad por saber qué piensas.

¡Me encanta esta idea! Fue algo que consideré para la primera versión, pero decidí mantener el lanzamiento inicial simple.

De todos modos, ¡acabo de implementar una actualización que implementa esta segmentación! Hay un pequeño cambio en la lógica para distinguir entre diferentes estados de usuario para que puedas adaptar el contenido sin ser intrusivo.

Cómo funciona ahora:

1. Las Definiciones

  • Usuarios Nuevos: Registrados en o después de tu feature_enabled_date (fecha de habilitación de la función).
  • Usuarios Existentes: Registrados antes de esa fecha.
  • Usuarios Activos: Miembros que visitan regularmente (dentro de tu ventana de inactividad).
  • Usuarios que Regresan: Miembros previamente activos que estuvieron ausentes el tiempo suficiente para superar el umbral de inactividad.

2. El Flujo Lógico Para asegurarnos de no molestar a tus miembros más activos, el componente sigue una prioridad específica:

  • Nuevo Registro: Ven el modal inmediatamente (dirigido con tarjetas marcadas como new_users o both).
  • Período de Gracia: Si un ‘Usuario Existente’ visita durante tu período de gracia, el componente lo marca silenciosamente como visto para que no se interrumpa.
  • La Brecha de Inactividad: Una vez que un usuario es marcado como ‘visto’, el componente rastrea las visitas localmente. Si visita a diario, permanece Activo y nunca lo vuelve a ver. Solo lo verá (como un Usuario que Regresa) si la brecha entre sus visitas excede tu configuración returning_user_inactivity_months (esta es una configuración nueva :slight_smile: )

3. Contenido Adaptado Ahora puedes usar la configuración displayFor en cada tarjeta:

  • new_users: Perfecto para ‘Cómo publicar’ o ‘Preséntate’.
  • returning_users: Perfecto para ‘Mira lo que ha cambiado mientras no estabas’.
  • both: Enlaces esenciales como Directrices o Preguntas Frecuentes.

También he añadido parámetros de vista previa para que puedas probar estos flujos fácilmente: ?show-welcome-modal=true&user-type=new o &user-type=returning.

¡Gracias de nuevo por el empujón!

3 Me gusta

@noahl ¡Eso es genial!

Intentaré echarle un vistazo hoy más tarde o el lunes y te haré saber cómo van las cosas.

1 me gusta