제재안 처리 시스템안

최근 편집: 2017년 12월 22일 (금) 21:17


제재안 처리를 하는 시스템 안입니다.

현행 처리법의 문제점

  • 현행 제재안 처리 방법이 사용자 문서, 고유 토론 페이지, 사용자 차단 페이지 등으로 나뉘어 있음
  • 제재안에 대한 의결 중 다음 과정이 수작업으로 이루어짐
    • 제재안 참여 희망자의 참여 가능 여부
    • 제재 기간 산출
  • {{편집 차단 건의}} 틀에 의한 분류 갱신이 시스템에서 잘 처리되지 않음

내용

다음을 클릭시 특:제재안/사용자 이름 페이지로 이동시킵니다.

  • 사용자 문서 - 문서 도구 - 도구 아래 "제재안 건의" 메뉴
  • 문서 판 차이와 역사에 "이 편집을 근거로 제재안 건의하기" 버튼

특:제재안 문서

다음은 특:제재안에 접근했을 시의 모식도입니다.

초록색 글씨는 관리자에게만 노출됩니다.

처리중인 제재안

종류 대상 제목 남은 처리 기간 참여 절차
편집 차단 OO 차단 건의합니다 만료(실행) X 일반
편집 차단 OO 지속적인 장난성 내용 추가 1일 2시간 X 일반(긴급전환)
사용자명 변경 OO 혐오단어가 포함되어 있습니다 20분 O 긴급(일반전환)

새로운 제재안 올리기

대상: 사용자명 ☑ 부적절한 사용자명

제재안의 내용을 입력해 주세요

대상 사용자를 정하지 않은 채로 특:제재안 문서에 바로 접근했을 경우에는 모든 사용자의 제재안을 보여줍니다.

개별 제재안 문서

각 제재안에 접근했을 때, 스트럭처드 디스커션 주제 페이지로 합니다.

  • 대상자: 아무개
  • 종류: 편집 차단
  • 의결 종료 일시: 2018년 5월 1일 2시 1분
  • 참여자 수: 5명
  • 찬성률: 80%
  • 찬성시 제재 기간: 11.5일
아무개

어쩌고저쩌고 해서 건의합니다

누구개

이러저러해서 20일 건의합니다

누구개
30일로 변경합니다
거기서시개

반대합니다.

누구개

의견 횡설수설

...
제재 절차에 참여하기

취소완료

상세

특수:제재안

다음을 제공합니다.

  • $subpage로 사용자명이 전달되었다면 필터로 설정합니다.
  • 문서 제목: 필터로 설정된 사용자명이 있다면 적당히 제목으로 표시합니다.
  • 본문
    • 진행 중인 제재안
      • 소제목을 표시합니다.
      • 사용자 필터가 있다면 사용하여 sanctions table의 각 열을 가져와 li로 표시합니다.
        • 리스트는 다음 기준으로 정렬됩니다.
          • 남은 처리 기간 > 절차 > 참여
        • st_target에 해당하는 사용자 명을 표시합니다.
        • 각 st_type에 해당하는 메시지를 표시합니다.
        • 제목을 클릭할 경우 주제로 이동할 수 있는 링크를 표시합니다.
        • st_expiry과 현재시간을 비교하여 남은 처리 시간을 보여줍니다.
          • 관리자의 경우 현재 시간이 st_expiry보다 크면 실행 버튼이 표시됩니다.
            • 긴급상태로 부결시 편집 차단의 일반전환에 해당하는 작업을 실시합니다.
            • 일반상태로 가결시 편집 차단의 긴급전환에 해당하는 작업을 실시합니다.
        • sv table를 확인하여 해당 제재안에 참가한 적 있는지 여부를 표시합니다.
        • st_emergency에 따라 일반/긴급을 표시합니다.
          • 관리자의 경우 현재 시간이 st_expiry보다 작으면 '긴급 전환/일반 전환' 버튼이 표시됩니다.
            • 편집 차단의 긴급 전환: 명령을 내린 사용자 명의로 대상자를 차단하고 데이터를 고쳐씁니다. 이 때 차단 기간이 더 긴 차단이 이미 집행중이라면 차단하지 않습니다.
            • 편집 차단의 일반 전환: 대상자 이름으로 된 다른 긴급 건의안이 있는지를 확인하고 없을 경우 명령을 내린 사용자 명의로 대상자를 차단 해제합니다. 있을 경우 기간을 비교하여 차단 기간을 변경해야 한다면 변경합니다.
            • 사용자명 변경의 긴급 전환: 사용자명을 변경합니다.
            • 사용자명 변경의 일반 전환: 저장된 사용자명으로 사용자명을 변경합니다.
    • 제재안 작성란
      • 현재 사용자를 검사하여 따로 지정된 긍정적 기여자의 조건을 충족하지 못할 경우에는 활성화/시각화하지 않습니다.
      • $par로 문서 revision id가 들어왔다면 가공하여 표시합니다.
      • 올리기를 누르면 주제를 생성하고 sanctions를 하나 생성합니다.

sanctions table

제재안 데이터는 다음을 가져야 합니다.

  • st_id
  • st_target - 대상자(user_id)
  • st_type - 편집 차단 / 부적절한 사용자명 택일
  • st_topic - 관련 주제 문서(page_id)
  • st_timestamp - 제재안 발의 시간
  • st_expiry - 제재안 종료 예정 시간
  • st_handled - 기간이 만료된 이후 관리자에 의한 처리 여부.
  • st_emergency - 긴급 여부
  • st_original_name - 부적절한 사용자명 변경 건의의 경우 사용자 이름(user_name), 없으면 편집 차단 건의

sanctions_vote table

  • stv_id
  • stv_topic - 의견을 낸 주제 문서(sanction_topic, age_id)
  • stv_period - 제재 건의 기간, 0~30 정수
  • stv_user - 의견을 낸 사용자(user_id)

hook 등

  • 제재안과 관련한 토론 공간에 특정 틀(반대 혹은 기간을 적도록 개조된 찬성)이 추가될 경우 주제를 데이터에서 찾은 후 제재안 종류와 작성자를 검사하여 긍정적 기여자가 적절한 틀을 작성한 것이라면 제재안 데이터에 반영하고 그것을 참고하여 주제 요약에도 현황을 갱신하도록 합니다.

일정

없습니다. 사랑합니다.

참고할 수 있을 것 같은 확장기능

  • 제재안 목록의 관리 - abusefilter: 필터들을 관리하고 있는 방법을 참고할 수 있을 것 같습니다.
  • 사용자 문서에 도구 추가
    • Renameuser: 특:기여에 이름 바꾸기 메뉴를 추가시켜줍니다.
    • 안 되면 그냥 자바스크립트
  • 문서 역사에 제재안 건의 버튼 추가 - ?
  • 문서 편집 차이에 제재안 건의 버튼 추가 - ?
  • 최근 바뀜에 제재안 건의 버튼 추가 - ?
  • 의결기간이 만료되면 누가 안 시켜도 알아서 처리하기 - 그냥 누가 한 번 누르자
  • 스트럭처드 디스커션에 찬성 · 반대 · 기간 선택 버튼 만들기 - ?
  • 입력된 찬성·반대·기간을 데이터로 바꾸고 관리하기 - ?