Currently it uses a similar mechanism to the User Export, giving you:
a zip file via a PM to those with edit privileges on that post
gives you these fields: username status first_answered_at last_updated_at
Suggestion 1
That a direct .csv download be provided from the modal
This would be much simpler from the user perspective
Suggestion 2
That primary emails be reported in this download (or there be an option for this)
This would allow easy export of participants when needed for other purposes related to the event.
I’ve got a Data Explorer query for this at the mo which works well enough, but requires a lot of fiddle to give event organisers (i.e. the OP) access to it:
-- [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
נתפסתי שוב היום, כאשר אחד המנהלים שלנו שאל כיצד לראות מתי אנשים לחצו על “הולך”.
בעיית ה-UX שהייתה לנו היא שלחיצה על ייצוא אירוע לא נראית כאילו היא באמת עושה משהו (כלומר, אין משוב). רק כששמתי לב שהיו לי כמה הודעות מאוחר יותר (כיוון שלחצתי מספר פעמים תוך כדי חיפוש שגיאות בקונסולה) הבנתי שזה באמת עבד.
דחיסת הקובץ פשוט מוסיפה הרבה חיכוך ללא ערך כלשהו. כל CSV צפוי להיות קטן למדי.
יהיה נחמד לסדר את זה קצת, מכיוון שזו פונקציונליות שימושית למדי (ברגע שמבינים איך היא עובדת).
אנו משתמשים בתחביר [event] של Discourse (דרך תוסף Calendar) כדי לתזמן ולתאם פגישות רשמיות של המועצה — כל אירוע חי בתוך נושא ייעודי, ואנו מעודדים חברים להירשם באמצעות הממשק המובנה.
הבעיה היא: כרגע אין לנו דרך נקייה לחלץ את נתוני ההרשמה בפורמט שמיש. עבור מפגשי מעורבות ציבורית, פגישות הנהלה ותדריכים פנימיים, יהיה שימושי ביותר לייצא:
כותרת הנושא של האירוע + כתובת URL
שם תצוגה / שם משתמש של הנרשמים
סטטוס הרשמה (הולך / מעוניין / לא הולך)
כתובת דוא"ל (למנהלים בלבד, לרישומי נוכחות או למעקב ישיר)
חותמת זמן של ההרשמה (אם אפשר)
המזכירים והיושבים שלנו לעיתים קרובות אינם משתמשים ב-Discourse בעצמם, כך שהיכולת להוריד קובץ CSV ולשתף נוכחות איתם חיונית.
באופן מובן, נראות הדוא"ל תצטרך להיות מוגבלת בהרשאות לצוות האתר או למנהלי קבוצות — אך ללא זאת, הייצוא מאבד את רוב ערכו האדמיניסטרטיבי.
סוג כזה של ייצוא מובנה ישפר משמעותית את השימושיות של התוסף עבור ארגונים בעולם האמיתי המשתמשים ב-Discourse לתיאום פגישות לא מקוונות.
שאילתת חוקר הנתונים הזו תספק לכם הרבה ממה שאתם צריכים:
-- [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
אם תיצרו קבוצה עבור צוות המנהלים שלכם, ותהפכו את השאילתה הזו לנגישה להם, היא כנראה תעשה את העבודה יפה.
תצטרכו ללמד אותם להשתמש ב-Topic ID, ומה המשמעות של זה מבחינת ה-URL. אבל זה כנראה בר ביצוע.
Yeah, but your administrative staff probably shouldn’t be admins for your Discourse site unless they truly need that level of access.
So you can either make them full admins and use @admins, or make a new group which contains them. Then just assign the Data Explorer query to that group (they can then access it under the Reports tab.