경험치 모듈을 개발중에 포인트 모듈 레벨 그룹연동 코드를 살펴봤습니다.

 

"새 그룹만 부여"는 나름 괜찮은데... "설정된 그룹 초기화 후 새 그룹 부여"는 진짜 잘 작동될 릴가 없겠더라구요..ㅠ

 

아주 코드가 개판이 더라구요.. 버그 투성이에요. 코드보고는 도저히 못쓰게 씀...;; 그정도까지는 아닙니다.;;

 

레벨 기능뿐만 아니라 비효율적인 부분들이 몇몇보이더라구요.. 똑같은 코드도 중복해서 두번씩쓰고...

 

어떻게 이런 포인트 모듈이 Core에 포함되서 왔는 지 .. 미스터리~

 

XE Core에서 포인트 모듈은 이미 갖다버린 자식임!!

 

아무튼 그룹연동 기능 사용하지마세요.

  • ? Lv9
    헙 기존에 계속 설정된 그룹 초기화 후 새 그룹 부여 체크로 사용하고 있었는데

    비추천하신다는 말씀이시죠..!?

    그럼 새그룹만 부여 체크시에는

    포인트 감소에 따른 정회원-> 준회원

    반대경우 등도 정상적으로 작동하나요..?
  • ? Lv9 Lv15
    아, 착각했습니다..;;

    신기하게 기능은 별이상이 없네요..

    단지, 코드가 비효율적임..;;
  • Lv37
    평상시에는 나름 잘 작동합니다. 관리자가 수동으로 지정한 그룹은 초기화할 때 예외로 한다거나, 뭐 이런 기능이 더 있으면 좋긴 하겠지만 일단 못쓸 정도는 아니고요...

    그러나 잘 작동한다는 것은 순정상태의 얘기고, 코드 구조가 워낙 엉망이다 보니 다른 모듈이나 애드온과의 상호작용으로 오작동할 가능성이 매우 높다고 봅니다. 그래서 재현이 어려운 버그 신고도 많을 수밖에 없고요.

    게다가 포인트 모듈은 트리거에 엄청나게 의존하는데, 여러 차례 업데이트를 거치다 보면 코어의 버그인지 사용자의 오류인지 아무튼 트리거가 날아가 버리는 경우가 가끔 있습니다. 그러면 그야말로 헬게이트가 열리는 거죠 ㅠㅠ
  • Lv37 Lv15

    네.. 그런 코드에서 별이상 없이 잘 동작한다는 게 신기할 따름입니다. 문제를 근본적으로 해결하지않고, 땜방식으로 해결한 게 보입니다.

  • Lv15 Lv37

    그룹연동뿐만 아니라 다른 부분도 마찬가지로 굉장히 비효율적입니다.

    이상적인 처리 순서:
    - 게시판에 글 작성
    - 게시판 모듈에서 문서 모듈을 호출하여 새 문서를 생성
    - 게시판 모듈에서 (자신의 모듈 설정은 이미 알고 있으니까, 그 설정에 따라) 포인트 모듈을 직접 호출하여 글쓴이에게 포인트 부여

    XE 포인트 모듈의 처리 순서:
    - 게시판에 글 작성
    - 게시판 모듈에서 문서 모듈을 호출하여 새 문서를 생성
    - 문서 모듈의 insertDocument 트리거가 포인트 모듈을 호출함 (push)
    - 포인트 모듈에서는 지금 넘겨받은 문서가 어느 모듈 소속인지 파악하여
    - 해당 모듈의 설정을 불러와서 (pull)
    - 글쓴이에게 포인트 부여

    게시판 모듈, 문서 모듈, 회원 모듈, 포인트 모듈을 최대한 서로 분리하려는 의도였던 것 같은데
    서드파티도 아니고 코어와 함께 배포되는 모듈들끼리 왜 이렇게 복잡하게 연동하는지... ㅠㅠ

  • Lv37 Lv15
    공감 +1
  • Lv37 Lv15

    그게 나중에 포인트 모듈을 코어에서 분리시키려고, 그런 비효율을 선택한 것 같아요.

    포인트 모듈 분리에 대해서 몇번 나왔는 데...;;

    결국은 분리가 안됬지만요..ㅠ

  • Lv37 Lv24
    이때 역시 마찬가지로 필요한 정보를 $obj 값만 넘기는게 아니라 $oModuleModel 같은 해당 액션을 동작하기 위해 실행햇던 부분도 같이 전달 하는 방식이엿으면 , 다음에 $oModuleModel->g~~~ 같은거 더이상 호출 하지 않았을텐데요..
  • Lv37 ?
    포인트란게 참.. 알다가도 우습네요..
  • ? Lv17
    아...역시... 그룹 초괴화후 사용 중인데... 역시 그랬군요...

    이런 방법 아니면...정회원,감사회원 이런식으로 계속 추가가 되는지라...으~~
  • ?
    진심 걱정이라 자문 구하는데요.. ㅜ
    포인트는 게시판 글작성 로그인 이정도로만 얻고
    소진은 게시물 추천 하는 경우만 되는 방식으로
    운영해보고자 하는데
    이 정도 상황만으로도 포인트 모듈이 불안정할 여지가 높나 해서요 ㅠㅜ!!
  • ? Lv15
    아뇨. 그룹연동 기능만 빼고 포인트 기능은 괞찮습니다.
  • Lv15 ?
    오웈 다행이네요 ㄷㄷㄷ 그룹연동은 안된다고 생각하는게 좋겠네요
  • 초반에는 그룹연동으로 자칫하면 중복으로 나오고 그랬는데... 지금도 그런 분들이 있는거보면 수정되었으면하는 부분입니다.
  • ?
    그룹 연동이 문제였군요.... 겪어본 사람으로써 포인트 덕분에 아직도 멘붕온 사람입니다. 만약 코노리님의 포인트히스토리가 없었다면 정말 끔찍합니다.
  • ?
    그룹연동에서 문제가 생기고 말았습니다.^^;;
  • ?
    혹시 그룹연동을 쓰시려는 분이 있다면 충분한 테스트를 거치시는 것에 한표 던집니다. 잘 되다가 연동되는 포인트를 변경할 경우 왜인지 됐디 안됐다 반복을 하네요