Actualmente utiliza un mecanismo similar a la Exportación de Usuarios, proporcionándote:
un archivo zip a través de un mensaje privado a quienes tengan privilegios de edición en esa publicación
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
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).
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.
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).