L'exportation des données d'événements est un peu pénible et les adresses e-mail seraient utiles

En utilisant la fonctionnalité Creating and managing events, je trouve qu’il est assez fastidieux de télécharger et d’utiliser le image.

Actuellement, il utilise un mécanisme similaire à l’Exportation d’utilisateurs, vous donnant :

  1. un fichier zip via un message privé aux personnes ayant des privilèges d’édition sur ce message
  2. vous donne ces champs :
    username status first_answered_at last_updated_at

Suggestion 1

Qu’un téléchargement direct de .csv soit fourni à partir de la fenêtre modale

Ce serait beaucoup plus simple du point de vue de l’utilisateur

Suggestion 2

Que les e-mails principaux soient signalés dans ce téléchargement (ou qu’il y ait une option pour cela)

Cela permettrait d’exporter facilement les participants lorsque nécessaire à d’autres fins liées à l’événement.

J’ai actuellement une requête Data Explorer pour cela qui fonctionne assez bien, mais qui nécessite beaucoup de manipulations pour donner aux organisateurs d’événements (c’est-à-dire l’OP) l’accès à celle-ci :

-- [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 « J'aime »

Je viens d’être pris au dépourvu par cela aujourd’hui, lorsqu’un de nos administrateurs a demandé comment voir quand les gens avaient cliqué sur « Participer ».

Le problème d’expérience utilisateur que nous avons eu est que cliquer sur « Exporter l’événement » ne semble pas réellement faire quoi que ce soit (c’est-à-dire qu’il n’y a aucun retour). Ce n’est qu’en remarquant que j’avais reçu quelques messages plus tard (car j’avais cliqué plusieurs fois en cherchant des erreurs dans la console) que j’ai réalisé que cela avait effectivement fonctionné.

La compression du fichier semble ajouter beaucoup de friction pour aucune valeur. Tout CSV sera probablement assez petit.

Ce serait bien de ranger un peu cela, car c’est une fonctionnalité assez utile (une fois que l’on comprend comment elle fonctionne).

1 « J'aime »

+1 — nous soutenons fermement cette idée.

Nous utilisons la syntaxe [event] de Discourse (via le plugin Calendar) pour planifier et coordonner les réunions officielles du conseil — chaque événement se trouve dans un sujet dédié, et nous encourageons les membres à confirmer leur présence en utilisant l’interface intégrée.

Le problème est que nous n’avons actuellement aucun moyen propre d’extraire ces données de RSVP dans un format utilisable. Pour les sessions d’engagement public, les réunions exécutives et les briefings internes, il serait incroyablement utile d’exporter :

  • Titre du sujet de l’événement + URL
  • Nom affiché / nom d’utilisateur des personnes ayant répondu
  • Statut de la réponse (participant / intéressé / non participant)
  • Adresse e-mail (réservée aux administrateurs, pour les journaux de présence ou le suivi direct)
  • Horodatage de la réponse (si possible)

Nos greffiers et présidents n’utilisent souvent pas eux-mêmes Discourse, il est donc essentiel de pouvoir télécharger un CSV et de partager la liste des participants avec eux.

Il est compréhensible que la visibilité des e-mails doive être limitée en termes d’autorisations au personnel du site ou aux modérateurs de groupe — mais sans cela, l’export perd la majeure partie de sa valeur administrative.

Ce type d’export structuré améliorerait considérablement l’utilité du plugin pour les organisations réelles qui utilisent Discourse pour coordonner des réunions hors ligne.

Nous serions heureux de fournir un exemple de mise en page .csv si cela peut être utile !

Cette requête d’exploration de données vous fournira ce dont vous avez besoin :

-- [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 'Participating'
    WHEN 1 THEN 'Interested'
    WHEN 2 THEN 'Not Participating'
  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 vous créez un groupe pour votre personnel d’administration et rendez cette requête accessible, elle fera probablement l’affaire.
Vous devrez leur apprendre à utiliser l’ID du sujet et ce que cela signifie en termes d’URL. Mais c’est probablement faisable.

1 « J'aime »

Je pense qu’il existe un groupe pré-semé pour les administrateurs, non ?

Oui, mais votre personnel administratif ne devrait probablement pas être administrateur de votre site Discourse, sauf s’il a vraiment besoin de ce niveau d’accès.

Vous pouvez donc soit en faire des administrateurs complets et utiliser @admins, soit créer un nouveau groupe qui les contient. Ensuite, attribuez simplement la requête Data Explorer à ce groupe (ils pourront alors y accéder sous l’onglet Rapports).

2 « J'aime »