익명 사용자 그룹

제 포럼에는 그룹이 포함된 카테고리 아래에 잠금 처리된 비공개 주제가 많이 있을 예정입니다. 수업 환경이므로 익명 게시가 매우 중요합니다. 문제는 사용자가 익명으로 전환할 때 그룹이 이전되지 않는다는 점입니다(예상할 수 있는 일이긴 합니다).

저는 플러그인을 작성해 본 적이 없지만, 이 문제는 플러그인으로 해결하는 것이 가장 적합해 보입니다. 사용자가 익명으로 전환되면 계정이 생성되는데, 이때 해당 사용자의 현재 모든 그룹을 익명 계정에 할당하려고 합니다. 이렇게 하면 될까요? 저는 API를 사용하여 그룹을 할당하고 제거합니다. 익명 사용자에게도 이러한 변경 사항이 적용되도록 트리거를 설정할 수 있을까요?

제가 놓치고 있는 다른 영향이 있을까요?

Data Explorer 쿼리를 사용하여 특정 그룹의 멤버인 실제 사용자와 연결된 익명 사용자 이름 목록을 반환하는 방식으로 개념을 테스트해 볼 수 있습니다. 그런 다음 그룹에 사용자들을 추가하는 ‘Bulk Add to Group’ 기능을 사용할 수 있습니다.

아래는 특정 그룹의 멤버인 실제 사용자의 익명 사용자 이름을 반환하는 쿼리입니다. 쿼리를 실행하기 전에 group_name 매개변수 값을 지정해야 합니다.

--[params]
-- string :group_name

WITH target_users AS (
SELECT
user_id AS master_user_id
FROM group_users gu
JOIN groups g
ON g.id = gu.group_id
WHERE g.name = :group_name
)

SELECT
u.username
FROM target_users tu
JOIN anonymous_users au
ON au.master_user_id = tu.master_user_id
JOIN users u
ON u.id = au.user_id

그룹의 멤버 중 익명 모드를 활성화한 사용자가 있다면, 쿼리를 실행했을 때 다음과 같은 결과가 반환됩니다:

사용자 수가 매우 많지 않다면, 사용자 이름을 복사하여 그룹의 ‘Bulk Add’ 양식에 붙여넣으면 됩니다:

anonymous account duration minutes 사이트 설정에 주의해야 합니다. 이 설정은 사용자가 익명 모드를 종료한 후 익명 계정이 유지되는 시간을 결정합니다.

또한 고려해야 할 점은, 이 방식이 사용자에게 익명 사용자가 실제로는 매우 익명적이지 않다는 인상을 줄 수 있다는 것입니다. 사이트 관리자가 익명 사용자를 비익명 계정에 연결할 수 있다는 사실을 사람들에게 알려주는 것이 좋을 수 있습니다.

참고로, 익명 모드는 관리자 페이지에서 사용자를 익명화(anonymize)하는 것과 관련이 없습니다. 그 경우 사용자는 실제로 익명화되어 모든 식별 정보가 제거됩니다.

무엇을 달성하려는지에 관심이 있지만, 비슷한 방식으로 익명 모드를 사용하는 사이트를 본 적이 없습니다. 플러그인 개발에 많은 노력을 들이기 전에 소규모 사용자 그룹으로 먼저 테스트해 보고 결과를 확인하는 것이 좋은 아이디어일 수 있습니다.

자세한 설명 감사합니다!

여기는 교실 환경입니다. 학생들이 아무런 부담 없이(예: 어리석은 질문이라고 생각할 수 있는 것들 포함) 자유롭게 의견을 개진할 수 있기를 바랍니다. 익명 게시는 공개 포럼에서는 잘 작동한다고 생각하지만, 대부분의 토론은 특정 그룹으로 제한될 예정입니다.

우리는 이 기능을 단기적으로 달성하려는 목표에서 제외했습니다.

매번 수동으로 처리해야 하는 방식은 원하지 않습니다. 만약 이 과정을 자동화하려면 플러그인을 작성해야 하는 건가요? 사용자가 생성될 때 해당 사용자의 그룹을 가져와 익명 계정에 자동으로 연결해 주는 트리거를 만들 수 있을까요? 해당 익명 계정은 일정 시간 후 삭제되므로, 익명 계정에서 그룹을 해제하는 과정은 걱정하지 않아도 될 것 같습니다.