이벤트 데이터 내보내기가 다소 불편하고, 이메일 주소가 있으면 유용할 것 같습니다

Creating and managing events 기능을 사용해보니 image 파일을 다운로드해서 사용하는 과정이 다소 번거롭게 느껴집니다.

현재는 사용자 내보내기(User Export)와 유사한 메커니즘을 사용하여 다음과 같은 결과를 제공합니다.

  1. 해당 게시물에 편집 권한이 있는 사용자에게 PM으로 zip 파일을 전송합니다.
  2. 다음 필드를 제공합니다:
    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
3개의 좋아요

오늘도 이 문제로 또 당했습니다. 관리자 중 한 명이 사람들이 "참석"을 클릭한 시점을 어떻게 확인하는지 물어봤거든요.

우리가 겪은 UX 문제는 '이벤트 내보내기’를 클릭해도 실제로 아무 일이 일어나는 것 같지 않다는 점입니다(즉, 피드백이 없습니다). 콘솔에서 오류를 찾으며 여러 번 클릭한 후, 몇 분 뒤에야 실제로 작동했음을 깨달았습니다.

파일을 지프로 압축하는 것은 아무런 가치도 없으면서 마찰을 많이 유발하는 것 같습니다. CSV 파일은 보통 크기가 작을 가능성이 높으니까요.

(사용법을 파악하면 꽤 유용한 기능인데) 이 부분을 조금 더 다듬어 주시면 좋겠습니다.

1개의 좋아요

+1 — 우리는 이 제안을 강력히 지지합니다.

우리는 Discourse의 [event] 문법(캘린더 플러그인을 통해)을 사용하여 공식 위원회 회의를 일정하고 조정합니다. 각 이벤트는 전용 토픽 안에 위치하며, 내장된 인터페이스를 통해 멤버들이 참석 여부를 확인(RSVP)하도록 권장하고 있습니다.

문제는 현재 사용 가능한 형식으로 해당 RSVP 데이터를 추출할 수 있는 깔끔한 방법이 없다는 것입니다. 공개 참여 세션, 집행부 회의, 내부 브리핑의 경우, 다음 정보를 내보내는 것이 매우 유용할 것입니다:

  • 이벤트 토픽 제목 + URL
  • RSVP한 사용자의 표시 이름 / 사용자 이름
  • RSVP 상태 (참석 / 관심 있음 / 불참)
  • 이메일 주소 (관리자 전용, 참석 기록이나 직접 후속 조치를 위해)
  • RSVP 타임스탬프 (가능할 경우)

우리의 사무국장과 의장들은 대부분 Discourse를 직접 사용하지 않으므로, CSV 파일을 다운로드하여 참석 현황을 공유할 수 있는 것은 필수적입니다.

당연히 이메일 표시 권한은 사이트 스태프나 그룹 모더레이터로 제한되어야 하지만, 이 기능이 없다면 내보내기 파일의 행정적 가치가 대부분 사라집니다.

이러한 구조화된 내보내기 기능은 오프라인 회의를 조정하기 위해 Discourse를 사용하는 실제 조직에서 플러그인의 유용성을 크게 높일 것입니다.

도움이 된다면 샘플 .csv 레이아웃을 제공할 수 있습니다!

이 데이터 탐색기 쿼리는 필요한 정보를 얻는 데 큰 도움이 될 것입니다:

-- [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에서 무엇을 의미하는지 교육해야 합니다. 하지만 이는 충분히 실현 가능할 것입니다.

1개의 좋아요

admins에 대해 시드된 그룹이 있는 것 같지 않나요?

네, 하지만 관리 인력이 정말로 그 수준의 접근 권한이 필요하지 않는 한, Discourse 사이트의 관리자(admin)로 설정하는 것은 권장되지 않습니다.

따라서 두 가지 선택지가 있습니다. 첫째, 이들을 전체 관리자(full admin)로 설정하고 @admins를 사용하는 것입니다. 둘째, 이들을 포함하는 새로운 그룹을 생성하는 것입니다. 그런 다음 Data Explorer 쿼리를 해당 그룹에 할당하면 됩니다(이들은 Reports 탭에서 쿼리에 접근할 수 있습니다).

2개의 좋아요