첫번째
1. 유저들이 분명히 글을 쓰고 저장 하였는데, 글 공개가 선택되어 있지 않고 글이 발행만 되어 있는경우.
(즉, 공개나 비공개나 모두 선택이 안되어 있게 글 발행이 되어 있습니다. 하지만 이렇게 공개가 선택되어 있지 않게 저장된 경우 우는 상태가 임시로 되어 버립니다.)
2. 그룹이 초기화 되는 문제
예를 들러 레벨 1 포인트가 준회원, 레벨2 포인트가 정회원으로 그룹 연동한 경우.
포인트 모듈에서 "설정된 그룹 초기화 후 새 그룹 부여" 를 선택해놓고 사용하다가 관리자가 임의로 포인트를 조정한 경우,
해당 회원이 자연스러운 활동으로 레벨3이 되었을때 레벨1의 그룹인 준회원 그룹으로 돌아가는 경우가 생기더군요.
최종 테스트 해보실 분들 이렇게 해보세요
레벨 1 = 0 포인트, 연동 그룹 준회원
레벨 2 = 10포인트 연동 그룹 정회원
레벨 3 = 20 포인트 그룹 연동 / 변화 없음
레벨 4 = 30 포인트 그룹 연동 / 변화 없음
레벨 5 = 40 포인트 그룹 연동 성실회원
레벨 1 테스트 회원을 관리자에 의해 레벨2 또는 성실회원등 원하는 그룹으로 변경
이후 해당 회원을 자연스러운 활동 글쓰기나 댓글쓰기를 통해 그 다음으로 레벨 3 or 4 or 5 아무 레벨로 변경되는 시점에
저는 레벨 1 준회원으로 그룹이 돌아갑니다. 물론 포인트와 레벨은 3 or 4 or 5 그대로 유지되어 있습니다.
---
GITHUB에 물어보기전에 저만 그런거지...혹시나 해서 의견 들어보고자 적어 봅니다. 아무튼 신기한 현상이죠??
댓글 32
2번은 정확히 재연되는 상황을 묘사하지 않으면 수정되기 어려울겁니다.
2번 저도 그렇게 생각합니다. 흑..
포인트 모듈에서 그룹 연동시키는 코드가 상당히 복잡하고, 그것도 새 그룹 목록을 깔끔하게 정리하는 방식이 아니라 현재 상태를 기준으로 더하고 빼는 방식을 사용하고 있어서 도중에 오류가 나면 일관성없는 상태로 남을 가능성이 있긴 합니다.
일단 레벨/그룹 연동시 중간에 빠진 레벨이 있으면 문제가 발생한다고 들었는데 (예: 레벨1은 A그룹, 레벨3은 B그룹과 연동했으나 레벨2는 연동하지 않은 경우) 이것도 확실하진 않네요.
레벨 1: 준회원 : 포인트 연동 : 0
레벨 2 : 정회원 포인트 연동 : 100
일 경우 정회원으로 그룹을 변동 시키면 포인트도 100이 생기게 되거든요... 덜덜덜..
지금 포인트가 0인 test 아이디를 정회원으로 변경하면 400으로 올라갑니다.
다시 준회원으로 변경하면 400은 그대로 있습니다.
그러니까요. 그래서 지금 이 상황이 문제 같아 보이는데 제가 놓치는게 있는지요?
아니....그게 아니라..하하하... T.T 웹지기님이 포인트가 변동 안된다고 하셔서 말씀 드린거고요. 그걸 이슈라고 말한게 아니에요.
일단 사례를 들어주신 내용 알겠습니다. 감사합니다.
문제가 아닌데 문제로 인식되는 경우가 있는데 그에 관해서 설명 드리면 아래와 같습니다.
가입하면 준회원
레벨 5 정회원
레벨 10 특별회원
이상태에서 특정회원을 수동으로 레벨2인데요 정회원으로 관리자가 수정을 해주면 정회원 그룹만 가지게 됩니다.
이때 이 회원이 레벨3으로 올라가는 시점에서 관리자에게 부여받은 정회원과 레벨과 연동되는 준회원을 동시에 갖게 됩니다.
변동시점에 레벨이 변동되는 시점에 동작합니다.
이때 관리자가 이를 모르고 준회원그룹 체크를 해제해줍니다. 하지만 다시 4레벨이 될때 다시 준회원이 부활되죠.
이런 케이스는 문제가 아닌데 문제로 인식하고 호소하는 경우가 있더라구요.
그래서 포인트레벨연동 중간에 뭔가 수정을 하시면 문제 아닌 문제가 발생될 수 있습니다.
정확히 어떠한 케이스인지 파악이 안되네요.
감사합니다.
"이때 이 회원이 레벨3으로 올라가는 시점에서 관리자에게 부여받은 정회원과 레벨과 연동되는 준회원을 동시에 갖게 됩니다."
정회원으로 연동시킬떄 실상은 내부에서 이런 속성이 생기게 되나 보군요. 유념해서 다시 지켜 보겠습니다.
그룹만 정회원으로 변동 시키더라도 포인트는 정회원으로 걸어놓은 포인트까지 같이 연동됩니다. 저렇게 에러가 발생할때에는
그룹만 변동 되고요.
거기까지는 문제가 아닌데, "설정된 그룹 초기화 후 새 그룹 부여"를 선택했다면 정회원은 없어지고 준회원만 남습니다. 아마 이것 때문에 많은 웹마스터들이 불편을 느끼는 것 같아요. 관리자가 임의 지정해 준 그룹은 포인트와 무관하게 그대로 남기를 바라니까요. "이 그룹은 관리자가 지정했으니 터치하지 마라"는 표시라도 있어야 할 듯...
관리자가 수동으로 체크한 그룹은 레벨이 높아져서 다른그룹으로 편입이 될때를 제외하고는 사라지지 않아요. 만약 포인트와 무관하게 계속 유지되어야 하는 그룹이 필요하다면 그건 포인트연동에서 빼면 됩니다. 예를들면 관리그룹이요.
point.controller.php 592~596줄
// Delete the group of a level which is higher than the current level
물론 이상적인 해결책은 레벨연동 그룹들과 그렇지 않은 그룹들을 별도로 두는 것이겠지만, 일반 웹마스터들에게 그런 것까지 요구해야 한다면 프로그램의 구조가 불친절한 거죠.
예를 들어 관리그룹이 최고 그룹이라 하여 이것을 최고 레벨과 연동해버리면 포인트로 관리그룹으로 편입되어 버리는 상황이 생기니까요.
레벨연동에서 제외하여야 하는 그룹은 염두할 필요는 있다고 보니다. (활동과는 무관하게 관지라자 지정한 사람만 가질 수 잇는 그룹이요)
최소한 "설정된 그룹 초기화 후 새 그룹 부여" 옵션으로 선택 된 경우면 레벨이 높아지면 설정된 그룹이 사라지는게 맞는거 같은데요?
가입시 준회원.
레벨5 정회원
이런식으로 구성을 해 놓고
자동등업애드온을 사용해 특정게시판에 가입인사를 하면 정회원으로 등업 시키는 방식을 취햇습니다.
그런데 문제는 가입 즉시 가입인사를 하면서 정회원 됩니다. 하지만 이사람의 레벨은 2인가 3정도 입니다. 이회원 활동하면서 레벨이 3이나 4로 올라가면서 자꾸 준회원이 추가 되는 것입니다.
다시 XE의 레벨과 그룹연동을 이해하고
자동등업애드온의 설정에서 자동으로 정회원 등업시키면서 포인트를 정회원 레벨5에 필요한만큼 지급하는 것으로 하니 문제가 없이 운영이 되었습니다.
레벨이 아니고요. 연동된 그룹이요... 아... 다시한번 레벨과 포인트는 그대로 유지 됩니다.
넵.