Esportare i dati degli eventi è un po' complicato e gli indirizzi email sarebbero utili

Utilizzando la funzionalitĂ  Creating and managing events, trovo piuttosto macchinoso scaricare e utilizzare il image.

Attualmente utilizza un meccanismo simile all’Esportazione Utenti, fornendo:

  1. un file zip tramite un PM a coloro che hanno privilegi di modifica su quel post
  2. fornisce questi campi:
    username status first_answered_at last_updated_at

Suggerimento 1

Che venga fornito un download diretto in formato .csv dalla finestra di dialogo

Ciò sarebbe molto più semplice dal punto di vista dell’utente

Suggerimento 2

Che vengano segnalate le email primarie in questo download (o che ci sia un’opzione per questo)

Ciò consentirebbe un facile esportazione dei partecipanti quando necessario per altri scopi relativi all’evento.

Al momento ho una query di Data Explorer che funziona abbastanza bene, ma richiede molte manipolazioni per dare agli organizzatori dell’evento (cioè all’OP) l’accesso ad essa:

-- [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 Mi Piace

Sono stato nuovamente colto alla sprovvista da questo oggi, quando uno dei nostri amministratori ha chiesto come vedere quando le persone avevano cliccato su “Parteciperò”.

Il problema di UX che abbiamo riscontrato è che cliccando su Esporta evento non sembra fare nulla (cioè, non c’è alcun feedback). Solo quando ho notato che avevo alcuni messaggi più tardi (poiché ho cliccato più volte mentre cercavo errori nella console) ho capito che aveva effettivamente funzionato.

Comprimere il file sembra solo aggiungere molto attrito per un valore nullo. Qualsiasi CSV sarĂ  probabilmente piuttosto piccolo.

Sarebbe bello sistemare un po’ questo aspetto, poiché è una funzionalità molto utile (una volta capito come funziona).

1 Mi Piace

+1 — supportiamo fortemente questa proposta.

Utilizziamo la sintassi [event] di Discourse (tramite il plugin Calendar) per pianificare e coordinare le riunioni ufficiali del consiglio: ogni evento si trova all’interno di un argomento dedicato e incoraggiamo i membri a confermare la loro presenza utilizzando l’interfaccia integrata.

Il problema è: al momento non abbiamo un modo pulito per estrarre i dati di conferma della presenza in un formato utilizzabile. Per le sessioni di coinvolgimento pubblico, le riunioni esecutive e i briefing interni, sarebbe incredibilmente utile esportare:

  • Titolo dell’argomento dell’evento + URL
  • Nome visualizzato / nome utente dei partecipanti
  • Stato della conferma della presenza (partecipa / interessato / non partecipa)
  • Indirizzo email (solo per amministratori, per registri di partecipazione o follow-up diretti)
  • Timestamp della conferma della presenza (se possibile)

I nostri impiegati e presidenti spesso non utilizzano Discourse, quindi la possibilità di scaricare un CSV e condividere la partecipazione con loro è essenziale.

Comprensibilmente, la visibilità dell’email dovrebbe essere limitata per permesso al personale del sito o ai moderatori di gruppo, ma senza di essa, l’esportazione perde gran parte del suo valore amministrativo.

Questo tipo di esportazione strutturata migliorerebbe significativamente l’utilità del plugin per le organizzazioni reali che utilizzano Discourse per coordinare riunioni offline.

Sarei felice di fornire un esempio di layout .csv se utile!

Questa query dell’esploratore dati ti fornirà ciò di cui hai bisogno:

-- [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

Se crei un gruppo per il tuo staff di amministratori e rendi questa query accessibile loro, probabilmente farĂ  un ottimo lavoro.
Dovrai insegnare loro a usare l’ID dell’argomento e cosa significa in termini di URL. Ma probabilmente è fattibile.

1 Mi Piace

Penso che ci sia un gruppo predefinito per admin, no?

Sì, ma il tuo personale amministrativo probabilmente non dovrebbe essere amministratore del tuo sito Discourse a meno che non abbiano veramente bisogno di quel livello di accesso.

Quindi puoi renderli amministratori completi e usare @admins, oppure creare un nuovo gruppo che li contenga. Quindi assegna semplicemente la query di Esplorazione Dati a quel gruppo (potranno accedervi nella scheda Report).

2 Mi Piace