Exportar datos de eventos es un poco doloroso y las direcciones de correo electrónico serían útiles

Usando la funcionalidad de Creating and managing events, me parece bastante engorroso descargar y usar el image.

Actualmente utiliza un mecanismo similar a la Exportación de Usuarios, proporcionándote:

  1. un archivo zip a través de un mensaje privado a quienes tengan privilegios de edición en esa publicación
  2. te da estos campos:
    username status first_answered_at last_updated_at

Sugerencia 1

Que se proporcione una descarga directa de .csv desde la ventana modal

Esto sería mucho más simple desde la perspectiva del usuario

Sugerencia 2

Que se informen los correos electrónicos principales en esta descarga (o que haya una opción para ello)

Esto permitiría la exportación fácil de participantes cuando sea necesario para otros propósitos relacionados con el evento.

Actualmente tengo una consulta de Data Explorer para esto que funciona lo suficientemente bien, pero requiere mucha manipulación para dar acceso a los organizadores del evento (es decir, al OP):

-- [params]
-- int :post_id

WITH e AS (
  SELECT email, user_id
  FROM user_emails u
  WHERE u.primary = true
)

SELECT dpei.user_id, email, status, notified
FROM discourse_post_event_invitees dpei
JOIN e ON e.user_id = dpei.user_id
WHERE dpei.post_id = :post_id
ORDER BY status, email
3 Me gusta

Hoy me ha vuelto a pasar lo mismo, cuando uno de nuestros administradores preguntó cómo ver cuándo la gente había hecho clic en “Asistiré”.

El problema de la experiencia de usuario que tuvimos fue que al hacer clic en Exportar evento no parece que haga nada (es decir, no hay ninguna respuesta). Solo cuando me di cuenta de que tenía algunos mensajes más tarde (ya que hice clic varias veces mientras buscaba errores en la consola) me di cuenta de que realmente había funcionado.

Comprimir el archivo solo parece añadir mucha fricción sin ningún valor. Cualquier CSV probablemente será bastante pequeño.

Sería bueno arreglar esto un poco, ya que es una funcionalidad bastante útil (una vez que descubres cómo funciona).

1 me gusta

+1 — apoyamos firmemente esto.

Utilizamos la sintaxis [event] de Discourse (a través del plugin Calendar) para programar y coordinar reuniones oficiales del consejo; cada evento reside dentro de un tema dedicado, y animamos a los miembros a confirmar su asistencia utilizando la interfaz integrada.

El problema es: actualmente no tenemos una forma limpia de extraer esos datos de confirmación de asistencia en un formato utilizable. Para las sesiones de participación pública, reuniones ejecutivas y sesiones informativas internas, sería increíblemente útil exportar:

  • Título del tema del evento + URL
  • Nombre para mostrar / nombre de usuario de los confirmados
  • Estado de la confirmación de asistencia (asistirá / interesado / no asistirá)
  • Dirección de correo electrónico (solo para administradores, para registros de asistencia o seguimiento directo)
  • Marca de tiempo de la confirmación de asistencia (si es posible)

Nuestros secretarios y presidentes a menudo no utilizan Discourse, por lo que poder descargar un CSV y compartir la asistencia con ellos es esencial.

Comprensiblemente, la visibilidad del correo electrónico tendría que estar limitada en permisos al personal del sitio o a los moderadores del grupo, pero sin ella, la exportación pierde la mayor parte de su valor administrativo.

Este tipo de exportación estructurada mejoraría significativamente la utilidad del plugin para organizaciones del mundo real que utilizan Discourse para coordinar reuniones fuera de línea.

¡Estaremos encantados de proporcionar un ejemplo de diseño de .csv si es útil!

Esta consulta del explorador de datos te proporcionará gran parte de lo que necesitas:

-- [params]
-- int :topic_id

WITH user_emails AS (
  SELECT
    ue.user_id,
    ue.email
  FROM
    user_emails ue
  WHERE
    ue.primary = true
),
forum_timezone AS (
  SELECT
    value AS timezone
  FROM
    site_settings
  WHERE
    name = 'discourse_local_dates_email_timezone'
)

SELECT
  u.name AS display_name,
  u.username,
  ue.email,
  CASE dpei.status
    WHEN 0 THEN 'Going'
    WHEN 1 THEN 'Interested'
    WHEN 2 THEN 'Not Going'
  END AS status,
  to_char(dpei.created_at AT TIME ZONE 'UTC' AT TIME ZONE ft.timezone, 'YYYY-MM-DD HH24:MI:SS') AS rsvp_timestamp
FROM
  discourse_post_event_invitees dpei
JOIN
  posts p ON p.id = dpei.post_id
JOIN
  users u ON u.id = dpei.user_id
JOIN
  user_emails ue ON ue.user_id = dpei.user_id
JOIN
  forum_timezone ft ON true
WHERE
  p.topic_id = :topic_id
ORDER BY
  dpei.status, ue.email

Si creas un grupo para tu personal administrador y les das acceso a esta consulta, probablemente hará el trabajo perfectamente.
Tendrás que enseñarles a usar el ID del tema y qué significa eso en términos de URL. Pero eso probablemente sea factible.

1 me gusta

creo que hay un grupo predeterminado para administradores, ¿no?

Sí, pero su personal administrativo probablemente no debería ser administrador de su sitio de Discourse a menos que realmente necesiten ese nivel de acceso.

Entonces, puede hacerlos administradores completos y usar @admins, o crear un nuevo grupo que los contenga. Luego, simplemente asigne la consulta del Explorador de datos a ese grupo (podrán acceder a ella en la pestaña Informes).

2 Me gusta