Mit der Funktionalität von Creating and managing events finde ich es ziemlich umständlich, das herunterzuladen und zu verwenden.
Derzeit wird ein ähnlicher Mechanismus wie beim Benutzer-Export verwendet, der Ihnen Folgendes liefert:
eine ZIP-Datei über eine PM an diejenigen mit Bearbeitungsrechten für diesen Beitrag
liefert Ihnen diese Felder: username\tstatus\tfirst_answered_at\tlast_updated_at
Vorschlag 1
Dass ein direkter .csv-Download aus dem Modal bereitgestellt wird
Dies wäre aus Benutzersicht wesentlich einfacher
Vorschlag 2
Dass primäre E-Mails in diesem Download gemeldet werden (oder es eine Option dafür gibt)
Dies würde den einfachen Export von Teilnehmern ermöglichen, wenn diese für andere Zwecke im Zusammenhang mit der Veranstaltung benötigt werden.
Ich habe derzeit eine Data Explorer-Abfrage dafür, die gut genug funktioniert, aber viel Bastelei erfordert, um Veranstaltern (d. h. dem OP) den Zugriff darauf zu ermöglichen:
-- [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
Bin heute wieder darauf hereingefallen, als einer unserer Administratoren fragte, wie man sehen kann, wann Leute auf “Gehe” geklickt haben.
Das UX-Problem war, dass das Klicken auf “Event exportieren” tatsächlich nichts zu bewirken schien (d. h. es gab kein Feedback). Erst als ich bemerkte, dass ich einige Nachrichten später hatte (da ich mehrmals geklickt habe, während ich nach Fehlern in der Konsole gesucht habe), erkannte ich, dass es tatsächlich funktioniert hatte.
Das Zippen der Datei scheint viel Reibung bei null Wert zu verursachen. Jede CSV-Datei wird wahrscheinlich recht klein sein.
Es wäre schön, dies ein wenig aufzuräumen, da es sich um eine recht nützliche Funktionalität handelt (sobald man herausgefunden hat, wie sie funktioniert).
Wir verwenden die [event]-Syntax von Discourse (über das Kalender-Plugin), um offizielle Ratssitzungen zu planen und zu koordinieren – jedes Ereignis befindet sich in einem eigenen Thema, und wir ermutigen die Mitglieder, sich über die integrierte Oberfläche anzumelden.
Das Problem ist: Wir haben derzeit keine saubere Möglichkeit, diese RSVP-Daten in einem nutzbaren Format zu extrahieren. Für öffentliche Sitzungen, Vorstandssitzungen und interne Briefings wäre es unglaublich nützlich, Folgendes zu exportieren:
Thema des Ereignisses + URL
Anzeigename / Benutzername der RSVPs
RSVP-Status (geht / interessiert / geht nicht)
E-Mail-Adresse (nur für Administratoren, für Anwesenheitslisten oder direkte Nachverfolgung)
Zeitstempel der RSVP (wenn möglich)
Unsere Sekretäre und Vorsitzenden nutzen Discourse oft selbst nicht, daher ist die Möglichkeit, eine CSV-Datei herunterzuladen und die Anwesenheit mit ihnen zu teilen, unerlässlich.
Verständlicherweise müsste die E-Mail-Sichtbarkeit auf Website-Mitarbeiter oder Gruppenmoderatoren beschränkt sein – aber ohne sie verliert der Export den größten Teil seines administrativen Werts.
Diese Art von strukturierter Export würde die Nützlichkeit des Plugins für reale Organisationen, die Discourse zur Koordinierung von Offline-Meetings nutzen, erheblich verbessern.
Gerne stellen wir ein Beispiel-CSV-Layout zur Verfügung, wenn es hilfreich ist!
Diese Daten-Explorer-Abfrage wird Ihnen weitgehend das liefern, was Sie benötigen:
-- [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
Wenn Sie eine Gruppe für Ihre Administratoren einrichten und diese Abfrage für sie zugänglich machen, wird sie wahrscheinlich gute Dienste leisten.
Sie müssen ihnen beibringen, wie sie die Topic-ID verwenden und was das im Hinblick auf die URL bedeutet. Aber das ist wahrscheinlich machbar.
Ja, aber Ihre Verwaltungsmitarbeiter sollten wahrscheinlich keine Administratoren für Ihre Discourse-Site sein, es sei denn, sie benötigen wirklich dieses Zugriffslevel.
Sie können sie entweder zu vollwertigen Administratoren machen und @admins verwenden oder eine neue Gruppe erstellen, die sie enthält. Weisen Sie dann die Data Explorer-Abfrage dieser Gruppe zu (sie können dann über den Tab Berichte darauf zugreifen).