또 다른 아이디어
이미지 1
이미지 2
케이스 1:
- 커뮤니티의 모든 사용자에게 신고 버튼이 있으며, 이는 시스템을 더 자율적으로 만듭니다.
- 사용자를 신고하려면 모달이 나타나며, 여기서 신고 옵션을 선택할 수 있습니다.
- 이렇게 되면 신고된 사용자에게 메시지가 전송됩니다.
- 그리고 신고 내용은 관리자나 운영진에게 전달됩니다.
- 사용자가 이 신고 메시지에 응답하지 않는 경우(예: YouTube에서처럼 “거짓말이다” 또는 "사실이 아니다"라고 주장하는 경우), 프로세스는 완료됩니다.
- 이벤트가 추가됩니다: 신뢰 수준 잠금 (Locking Trust Levels)
- 이것이 다시 발생하면, 이벤트가 추가됩니다: 사용자 무음 처리 (Silenced user).
- 이것이 다시 발생하면, 이벤트가 추가됩니다: 사용자 정지 (Suspend user)
참고 사항
- 관리자 또는 운영진은 다른 사용자를 신고한 사용자의 불만 처리 과정을 검증합니다.
- 신고한 사용자의 불만 처리 과정이 타당하다고 판단되면(운영진 또는 관리자가 판단), 이 메시지가 해당 사용자에게 전달됩니다.
- 사용자가 신고가 거짓임을 설명할 만한 근거가 있으면, 프로세스는 종료됩니다.
- 관리자 또는 운영진은 신고된 사용자의 응답을 확인하고 아카이빙 여부를 결정할 수 있습니다.
케이스 2
참고: 사용자가 계정이 해킹당했다고 생각하여 자신의 계정을 신고하는 경우입니다.
최종 참고 사항
위에서 설명한 모든 플러그인은 이제 이미지로 설명하는 이 프로세스를 자동화하기 위한 것입니다.
내부 고발(신고) 프로세스가 자동으로 어떻게 진행되나요?
- 커뮤니티 사용자 간의 경우, 즉 한 명 이상의 사용자가 한 명 이상의 사용자를 신고할 때 - 이는 한 명 이상의 사용자가 “이 사용자를 커뮤니티에 신고” 버튼을 클릭했을 때 발생합니다.
- 운영진, 관리자 또는 커뮤니티 리더 유형의 사용자만 한 명 이상의 사용자에게 게시물을 신고하도록 요청받을 때 - 이를 게시물 플래깅(flag post)이라고 합니다.
- 사용자 본인의 경우, 해킹당했다고 느낄 때, 즉 사용자가 자신을 신고하여 계정이 해킹당했다는 사실을 시스템에 알릴 때 - 이는 한 명 이상의 사용자가 “이 사용자를 커뮤니티에 신고” 버튼을 클릭하고, 이는 자기 신고(self reported)인 경우 발생합니다.
- 관리자, 운영진 또는 커뮤니티 리더 사용자는 이러한 사례들을 처리합니다:
- 게시물 플래깅
- 커뮤니티 사용자에 의해 신고된 사용자
- 해킹당했다고 생각하여 자신의 계정을 신고한 사용자
- 모든 이러한 시나리오에서, 제가 설명한 플러그인들은 이 프로세스를 자동화하는 데 필요합니다.
- 운영진, 관리자 또는 커뮤니티 리더가 사용자를 관리하기 위한 자동화 옵션은 다음과 같습니다:
- 신뢰 수준 잠금 (Locking Trust Levels)
- 사용자 무음 처리 (Silenced user)
- 사용자 정지 (Suspend user)
참고: 이는 신고할 사용자 목록이 있을 때만 가능합니다.
참고 사항
- 신고된 사용자 목록을 생성합니다.
- 이 목록을 사용하여 다음을 수행할 수 있습니다. 응답을 요청하지 않은 사용자 - 이는 먼저 수행됩니다.
- 신뢰 수준 잠금 (Locking Trust Levels)
- 사용자 무음 처리 (Silenced user)
- 사용자 정지 (Suspend user)
- 응답을 요청한 사용자
- 관리자, 운영진 및 커뮤니티 리더가 호출됩니다.
- 신고된 사용자의 응답이 수용되거나 유효하다고 판단되면, 모든 것이 아카이브됩니다.
- 답변이 수용되지 않으면, 사용자는 응답할 마지막 기회를 가지며, 응답하지 않으면 프로세스는 종료됩니다.
- Discourse 내에서 연도, 월, 주 및 기간(연간, 월간, 주간)에 따라 발생하는 가장 일반적이고 일반적이지 않은 알림 사례들을 볼 수 있습니다 - 이것이 제 초기 아이디어였습니다.
- 제 생각에는, Discourse 시스템 모델링에 해를 끼치지 않으면서도 가장 좋거나 가장 쉬운 방법은, 사용자로부터의 신고를 받는 임시 데이터베이스를 가지는 것입니다. 이를 위해 mongodb와 같은 데이터베이스를 사용할 수 있습니다.
- 신고된 사용자로부터 정보를 받기 위해 mongodb를 사용하려고 생각합니다.
- mongodb는 잘 작동합니다 - mongodb는 문서 지향형 데이터베이스입니다. 데이터 볼륨이 크고 데이터가 구조화되지 않은 경우 흥미롭습니다 - 유명한 nosql입니다.
- 또한, 데이터베이스는 영구적이지 않고 임시적입니다. mongodb는 임시 데이터 유형을 지원합니다.
- 이 아이디어를 떠올리게 한 것은 이 글을 읽었을 때입니다: Configure Discourse to use a separate PostgreSQL server - 이 용도로 별도의 mongodb 데이터베이스를 가질 것이라 생각했습니다.
- 이 페이지에 따르면: GitHub - discourse/discourse: A platform for community discussion. Free, open, simple. · GitHub , Discourse는 redis와 postgresql을 사용합니다. 제가 설명한 이 경우에 mongodb를 사용해보신 적 있으신가요?
아이디어 요약
“신고된 사용자 - mongodb”
reports: {
report1:{
user: "user001",
linkFlagPost: "https://meta.discourse.org/t/post-test/1122344"
reason: "flag post",
reportedUser: "user002"
},
report2:{
user: "user001",
reportedUser: "user003",
report: "spam"
},
report3:{
user: "user001",
reportedUser: "user003",
reason: "abusive messages or behavior"
},
report4:{
user: "user001",
reportedUser: "user003",
reason: "user discloses illegal user data"
},
report5:{
user: "user001",
reportedUser: "user002",
reason: "user posts dubious links, links that contain viruses, malware"
},
report6:{
user: "user001",
user_report: "user002",
reason: "specify another reason"
},
report7:{
user: "user004",
reportedUser: "user005",
reason: "I think my account has been hacked, I would like my trust level to be frozen until the case is investigated by the Discourse community"
}
참고 사항
신고하는 사람과 받는 사람의 데이터를 익명화하기 위해 sha256을 사용하세요
reports: {
report1:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
linkFlagPost: "https://meta.discourse.org/t/post-test/1122344"
reason: "flag post",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
status1: "filed process"
status2: "Locking Trust Levels"
},
report2:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "spam",
status1: "filed process"
status2: "Locking Trust Levels"
},
report3:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "abusive messages or behavior",
status1: "filed process"
status2: "Locking Trust Levels"
},
report4:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "user discloses illegal user data",
status1: "filed process"
status2: "Locking Trust Levels"
},
report5:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "user posts dubious links, links that contain viruses, malware",
status1: "filed process"
status2: "Locking Trust Levels"
},
report6:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "specify another reason",
status1: "filed process"
status2: "Locking Trust Levels"
},
report7:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "I think my account has been hacked, I would like my trust level to be frozen until the case is investigated by the Discourse community",
status1: "filed process"
status2: "Locking Trust Levels"
},
report8:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reason: "I think my account has been hacked, I would like my trust level to be frozen until the case is investigated by the Discourse community",
reply: {
reportedUser: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reason: "View logs in account - if you confirm this process, we will lock the trust level",
replyFrom: "administrator",
status1: "filed process"
status2: "Locking Trust Levels"
}
}
이 아이디어의 일부 문제점 및 해결책
- 잘못된 해결책일 수 있으며, 아이디어가 유효한지 알기 위해 Discourse 커뮤니티의 피드백이 필요합니다.
- 이를 구현하는 것은 복잡할 수 있습니다.