사용자 그룹에 일괄 배지 부여하기

배지는 일을 잘하는 사용자를 인정하는 훌륭한 방법입니다. 이제 Discourse에서는 사용자 집단에 배지를 수여할 수 있습니다.

관리자 패널의 배지 섹션으로 이동하면, ‘새로 만들기’ 버튼 옆에 '일괄 수여’라는 새로운 버튼이 추가된 것을 확인할 수 있습니다:

Screen Shot 2020-01-15 at 11.34.31

이 버튼을 클릭하면 배지를 선택하고 시작하도록 안내받게 됩니다:

수여할 배지를 선택한 후, 사용자 이메일이나 사용자 이름 목록(한 줄에 하나씩)이 포함된 CSV 파일을 업로드하세요.

이후 다음과 같은 메시지가 표시됩니다:

Discourse는 일치하는 사용자를 찾아 해당 배지를 수여하고, 사용자에게 알림을 보냅니다.

48개의 좋아요

이거 좋네요.

group은 Discourse에서 특정한 의미를 가지며, CSV에 있는 랜덤한 이메일 주소 목록은 그것이 아니므로, 이 표현을 "set of users(사용자 집합)에 배지를 부여한다"로 바꾸는 것을 제안합니다. :wink:

23개의 좋아요

정말 좋아요, 이거 유용할 것 같아요 :slight_smile:

5개의 좋아요

와, 정말 유용하네요. 감사합니다 :slight_smile:.

3개의 좋아요

정말 좋네요, 이 기능 추가해 주셔서 감사합니다 :slight_smile:

5개의 좋아요

가능하다면 사용자 목록에서 선택하는 것이 더 쉬울 수 있습니다. 어쨌든 좋은 기능입니다.

5개의 좋아요

네, 그게 제 이상적인 아이디어입니다. :grin:

상당을 주고 싶은 사용자만 누르시면 됩니다.

2개의 좋아요

죄송하지만 이 부분이 100% 명확하지 않습니다. 제가 익숙한 용어는 다음과 같습니다:

enclosure(인클로저), delimiter(구분자) 및 terminator(종료자)

enclosure는 주로 따옴표를 의미합니다.
delimiter는 주로 쉼표를 의미합니다.
terminator는 주로 줄바꿈을 의미합니다.

예를 들어:

"1", "Bob", "rkelly@gmail.com", "CA" 
"2", "Carol", "counselor@hotmail.com", "CA" 
"2", "Ted", "tman@yahoo.com", "FL" 

아래와 같은 형태를 의미하는 것은 아닐 것 같습니다:

rkelly@gmail.com 
, 
counselor@hotmail.com 
, 
tman@yahoo.com 
1개의 좋아요

제가 말한 것은 이거였어요:

rkelly@gmail.com,
counselor@hotmail.com, 
tman@yahoo.com

게시글을 수정했습니다.

6개의 좋아요

그룹에 사용자를 일괄 추가할 때 시스템은 사용자 이름 목록을 요구합니다. 반면 배지에 사용자를 일괄 추가할 때는 이메일 주소가 포함된 .csv 파일을 요구합니다.

개인적으로는 사용자 이름 목록을 선호합니다. 포럼에서 관리자 권한 관련 복잡한 과정을 거치지 않고도 사용자 이름을 훨씬 쉽게 가져올 수 있기 때문이며, 복사해서 바로 붙여넣을 수 있는 목록을 만들어 주는 엑셀 트릭도 몇 가지 알고 있기 때문입니다. 예전에는 임시 그룹에 사용자 목록을 일괄 추가한 뒤, 배지 쿼리를 변경하여 해당 전체 그룹에 배지를 부여하는 방식으로 배지를 일괄 지정했습니다. ‘사용자 집단에 배지 부여’ 기능이 추가되었을 때 한 단계를 줄일 수 있기를 바랐는데…

사용자 목록 방식을 배지 일괄 부여의 대안으로 사용할 수 있는 방법이 있을까요?

8개의 좋아요

두 가지 방식을 모두 지원해야 한다는 데 동의합니다.

목록의 첫 번째 항목에 "@"가 있으면 이메일로 가져오고, 그렇지 않으면 사용자 이름으로 가져오면 됩니다.

또한 목록 형식에 대해 좀 더 유연하게 처리할 수 있습니다.

이메일/사용자 이름이 각자 별도의 줄에 있도록만 요구한 뒤 split("\n")를 실행하고, 빈 줄을 제거하며, 끝의 ","를 제거하고, 단일/이중 따옴표 쌍을 제거하는 방식(예: gsub(/^['"]|['"]$/, ""))을 사용할 수 있습니다.

9개의 좋아요

어려운 일이고 기능 범위가 무분별하게 확대되는(mission-creep) 위험이 있다는 것을 알지만, 시간이 지나면서 관리자 UI가 모든 관리자 일괄 작업에 걸쳐 더 일관성을 지향할 수 있지 않을까 궁금합니다. 예를 들어:

  1. 일괄 배지 부여: 배지 선택 후 사용자의 이메일 주소가 담긴 CSV 업로드

  2. 그룹에 사용자 일괄 추가: 그룹 선택 후 사용자 이름 또는 이메일 목록 붙여넣기 (한 줄에 하나씩)

  3. Discourse에 사용자 일괄 초대: 사용자의 이메일 주소가 포함된 CSV 업로드 (추가할 그룹과 처음 보여줄 게시물을 선택적으로 지정 가능)

이 기능들은 공통점이 있는 부분이 있지만, 동일한 작업을 수행하지 않는 명확한 차이점도 있습니다. 따라서 모든 관리자 일괄 작업에 대해 일관된 UI 패러다임을 구축하는 것이 얼마나 쉬운지 저는 잘 모르겠습니다. 다만, 현재 이 주제가 논의되고 있으므로 여기서 문제를 제기해 보았습니다.

세 가지 방식 중 현재 가장 좋은 방식은 '사용자 이름 또는 이메일 목록을 한 줄에 하나씩 붙여넣기’인 그룹 일괄 추가 기능이라고 생각합니다.

자주 여러 사용자(예: 5~10명)를 초대해야 하는데, 한 명씩 초대하는 방식은 다소 짜증나도록 느리고, CSV 초대 방식은 다소 번거로워 다른 프로그램을 실행하거나 CSV를 수동으로 편집해야 합니다. 정말 대량의 일괄 초대에는 CSV 업로드 방식을 유지하더라도, 그룹 일괄 추가와 같은 ‘사용자 초대’ 대화상자가 있으면 좋겠습니다. 물론 이메일 주소만 한 줄에 하나씩 허용될 수 있지만, 그렇게 되어도 괜찮을 것입니다.

8개의 좋아요

피드백 주셔서 감사합니다! :slight_smile:

여기서 사용자 이름(user name) 지원 기능을 추가했습니다:

https://review.discourse.org/t/feature-support-uploading-a-csv-with-either-user-emails-or-usernames-8971/9183

13개의 좋아요

아직 사용자 이름 목록을 상자에 붙여넣는 것만큼 간단하지는 않지만, 이메일이 필요했던 것에서 큰 진일보입니다! 그룹이나 배지에 사용자를 일괄 추가하는 기능을 통합할 계획이 있나요? 저는 프로그래머가 아니지만, 재사용 가능한 코드처럼 들리네요 :slight_smile:

2개의 좋아요

이 방법으로 사용자에게 배지를 여러 번 수여할 수 있을까요? 제 테스트 결과로는 지원되지 않는 것으로 보입니다.

사용자 목록에 배지를 일괄 수여해도 이미 해당 배지를 보유한 사용자에게는 두 번째로 수여되지 않습니다.

1개의 좋아요

배지의 “여러 번 수여 가능”(배지 관리 페이지 하단 섹션에서 찾을 수 있음) 체크박스가 선택되어 있다면, 이 방식으로 배지를 여러 번 수여할 수 있어야 합니다.

3개의 좋아요

활성화되어 있지만, CSV 가져오기(이미 배지를 보유한 사용자의 사용자 이름 목록만 포함하더라도)를 통해 배지를 다시 부여하지 않습니다. 사용자가 여러 번 배지를 받은 것으로 표시되려면, 먼저 해당 사용자에게 배지를 수동으로 부여해야 합니다.

2개의 좋아요

CSV 파일을 업로드하는 대신, 수동으로 특정 1~2명에게만 배지를 수여할 수 있나요?

어떤 이유인지 모르겠지만, 10일 연속 로그인 시 부여되는 ‘enthusiast’ 배지가 12일 연속 로그인한 사용자에게 정상적으로 작동하지 않고 있습니다.

1개의 좋아요

그 배지는 꽤 신뢰할 수 있다고 생각하지만, 때로는 시간대와 UTC의 차이가 다른 것처럼 보이게 할 수 있습니다.

현재 그 배지를 수동으로 부여할 수 없다고 생각하지만, 사용자 이름만 포함된 CSV 파일을 만드는 데는 고작 1~2초밖에 걸리지 않습니다. 방금 휴대폰으로 Google 스프레드시트를 사용해 한번 해봤는데, 정말 빠르더군요. :+1:

6개의 좋아요

OP가 CSV를 올바르게 포맷하는 방법에 대해 명확하지 않았기 때문에 이 게시물을 강조하고 싶습니다.

3개의 좋아요