현재는 사용자 내보내기(User Export)와 유사한 메커니즘을 사용하여 다음과 같은 결과를 제공합니다.
해당 게시물에 편집 권한이 있는 사용자에게 PM으로 zip 파일을 전송합니다.
다음 필드를 제공합니다: username status first_answered_at last_updated_at
제안 1
모달에서 .csv 파일 직접 다운로드 옵션 제공
사용자 관점에서 훨씬 더 간단해질 것입니다.
제안 2
이 다운로드 파일에 기본 이메일 주소를 포함하거나(또는 이를 선택할 수 있는 옵션을 제공하거나)
이렇게 하면 이벤트와 관련된 다른 용도로 참여자 정보를 쉽게 내보낼 수 있습니다.
현재는 이를 위한 Data Explorer 쿼리를 가지고 있으며 잘 작동하지만, 이벤트 주최자(즉, 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
-- [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
관리자 스태프 그룹을 만들고 이 쿼리에 대한 접근 권한을 부여하면 원하는 작업을 잘 수행할 수 있을 것입니다. Discourse Local Dates Email Timezone 설정을 조정하거나(또는 쿼리를 수정하여 이를 무시하도록 하는 것)를 원할 가능성이 높습니다.
관리자 스태프에게 Topic ID 사용법과 이것이 URL에서 무엇을 의미하는지 교육해야 합니다. 하지만 이는 충분히 실현 가능할 것입니다.
네, 하지만 관리 인력이 정말로 그 수준의 접근 권한이 필요하지 않는 한, Discourse 사이트의 관리자(admin)로 설정하는 것은 권장되지 않습니다.
따라서 두 가지 선택지가 있습니다. 첫째, 이들을 전체 관리자(full admin)로 설정하고 @admins를 사용하는 것입니다. 둘째, 이들을 포함하는 새로운 그룹을 생성하는 것입니다. 그런 다음 Data Explorer 쿼리를 해당 그룹에 할당하면 됩니다(이들은 Reports 탭에서 쿼리에 접근할 수 있습니다).