타운광장토픽게시판

개인적으로 문서에 태그를 포함해서 작성하는 것 그리고 그 태그를 활용해서 다른 글을 추천하거나 하는 것을 굉장히 선합니다.

 

이런 활용을 위해 운영하는 커뮤니티에 글 작성 시 태그는 필수 입력으로 하고 있습니다.

 

태그의 활용 중 제일 효과가 좋은 활용이 태그 연관 글 애드온이라고 봅니다.

 

화면 캡처 2021-10-09 111626.png

 

 

이런식으로 문서에 사용된 태그가 다른 문서에 사용이 되었다면 다른 문서도 읽어 볼 수 있도록 추천해 주는 자료입니다.

 

 

그런데 라이믹스용으로 php8 대응 버전으로 나온 'RXP 태그 연관 글 출력 애드온' 이 배포가 중단되어서 오늘 제가 수정한 버전을 배포하기로 하고 배포했습니다.

 

어떤 사연이신지 원작자분께서 라이믹스 관련 자료를 모두 삭제하셨네요. 라이센스가 재배포가 가능한 것으로 보여서 제가 수정한 버전으로 배포했습니다.

 

제가 수정한 것이 나름 심각? 한 버그를 수정한 것인데 

 

- 스킨에 사용된 $oDocument 변수로 인해 다른 자료에 게시글 정보를 이 자료에 의해 출력된 문서 목록의 글로 인식하게 하는 오류 수정
- 쿼리시 잘못된 코드로 인해 db에 태그가 사용된 문서가 많음에도 관련글로 조회되지 못해 추천글로 출력되지 못하는 부분 수정
- 일부 현재 글을 다른글로 잘못 인식하는 부분의 수정
- 스킨에서 다수의 커스텀 (모바일에서의 출력 제한, 디자인의 약간 수정 등 많습니다.)
- 문서의 태그가 없는 경우 애드온 작동이 안되도록 코드추가

 

 

 

굵게 표시한 부분을 유심히 봐주셔야 합니다. 이게 XE시절에 공개된 애드온부터 현재까지 잘못된 쿼리로 인해 사이트에 매칭이 되는 태그가 굉장히 많은데 같은 태그로 검색이 되고 있지 못했습니다.

 

이부분은 제가 라이믹스 버그인가? 라는 생각으로 라이믹스 이슈로 등록해서 확인하는 과정에서 쿼리 자체가 잘못되었음을 확인했습니다.

 

이 버그를 해결하고 나니 관련글로 추천이 되지 못했던 것들이 모두 관련글로 추천되어 굉장히 많은 같은 태그를 가진 글들이 추천이 되도록 버그가 해결이 되었습니다.

 

사실 이부분이 그동안은 띄어쓰기가 있는 태그가 매칭이 안된다는 잘못된 해석이 있었던 것으로 보이고 띄어쓰기의 문제가 아니라 문서에 포함된 여러개의 태그를 배열에 담아서 같은 태그가 있는지 조회하는 과정에서 이미 배열로 가진 태그집합을 불필요하게 다시 콤머로 구분하는 문자열로 변환하면서 잘못된 코드가 작성되어 발생한 버그였습니다.

 

해당 이슈에 도움을 주신 기진곰님의 설명으로 이해를 했지만 지금은 배열로 바로 요청을 해도 되는데 굳이 콤머로 구분하는 문자열로 구분하려고 했고 이때 약간의 오류가 섞여서 발생한 문제였습니다.

 

이부분의 해결은 태그연관글 애드온을 중요하게 활용하는 사이트에게는 굉장히 중요한 버그 패치입니다. 관련글로 추천되어야 할 수많은 글들이 추천되지 못하고 있는 문제가 해결되는 것이니까요. 아마도 태그가 딱 하나인 문서 등에서는 문제가 발생하지 않았을 수 있습니다. 혹은 띄어쓰기 부분도 관련이 있을지도 모르겠네요.

 

결론적으로는 해당 패치후 띄어쓰기뿐 아니라 매칭이 되는 문서는 모두 검색이 되는 상황으로 개선이 됩니다.

글쓴이 웹지기

profile
XE와 라이믹스를 운영하며 알게된 노하우를 공유합니다.
https://rxtip.kr/ 라이믹스 꿀팁
  • profile
    오우 만만세입니다. 이 애드온이 고민이었는데 시원한 곳을 해결해주시는군요
    감사히 쓰겠습니다
    ㅎㅎ
  • profile
    아.. 저는 지금까지 저 "연관된 글" 이라는 것이 어떤 기준으로 뽑아내는지 몰랐습니다. 탐나는 기능인데 저희 사이트에 태그 사용하시는 분이 전혀 없는게 문제네요 ㅠ
  • profile profile

    네. 그건 운영자의 결정이죠. 글쓰기 자유도를 100% 보장할 것인지 아니면 약간의 불편한 과정 하나를 더 거치게 해서 글쓴이와 글을 읽는 사람에게 좀더 많은 정보를 제공할 수 있는 것을 선택할 것인지 말입니다.

    제가 운영하는 커뮤니티 2개 중 한곳은 #해시태그 형태로 본문에 꼭 태그를 남기는 놀이문화 비슷하게 만들었습니다. 태그 없이 글 작성이 되지 않구요. 회원들이 재밌는 것으로 취급해서 큰 불만은 없습니다.

    또 하나의 커뮤니티는 태그 입력란에 일반적인 태그를 넣는 방식으로 하는데 필수로 입력하게 설정되어 있습니다.

    이렇게 하면 모든 글이 태그를 활용할 자산이 되는 것 이죠.

    XE타운도 태그 입력이 가능하지만 누구도 입력하지 않죠. 강제사항도 아닐뿐더러 태그를 활용해서 무언가를 해주지 않기에 넣지 않게 되는거죠.

  • profile ?

    비 정확하지만 (제목 부분을 끊어서 태그로 자동입력)

    아래와 같이 수정해서 태그를 자동입력하게 해주고 연관 검색 추천사용하면
    어느정도는 추천됩니다.

    /modules/tag/tag.controller.php


    function triggerArrangeTag(&$obj)
    {
    if(!$obj->tags && $obj->title) {
    $title = trim (str_replace(" ",",",$obj->title));
    $obj->tags = $title;
    }
    if(!$obj->tags) return new Object();

    // tags by variable