텍스트큐브의 트랙백 문제

를 사용하면서 상당히 오랜 기간 고민한 문제가 있다. 바로 트랙백 문제이다. 트랙백은 정상적으로 전송된다. 그러나 항상 트랙백을 보낼 수 없다는 메시지가 뜬다. 판번호는 정확히 기억나지 않지만 1.5판 부터였던 것 같다. 처음에는 텍스트큐브의 버그로 생각했다. 그래서 판올림이 되면 이런 문제가 사라질 것으로 생각했다. 그러나 판올림이 되도 같은 증상이었다. 문제를 해결하기 위해 소스를 뒤졌지만 기본적으로 오류 메시지를 AJAX를 통해 출력하기 때문에 소스를 확인하는 것도 사실 힘들었다.

그러던 중 우연히 새로 설치한 에서는 이런 문제가 발생하지 않는다는 것을 알았다. 사용하고 있는 플러그인의 문제인가 싶어서 플러그인을 모두 끄고 확인했지만 결과는 같았다. 호스팅을 받고 있는 서버의 문제인가 싶어서 호스팅 업체에 문의했지만 역시 원인을 알 수 없었다. 여기에 요즘은 블로거뉴스에 글을 자동으로 송고하기 위해 플러그인을 사용한다. 기본적으로 블로거뉴스 플러그인도 블로거뉴스에 트랙백을 쏘고 그 결과를 가져오는 플러그인이다. 이렇다 보니 블로거뉴스에 송고한 글을 저장하려고 하면 항상 저장할 수 없다는 메시지가 나타난다.

블로거뉴스에 글을 송고하는 것도 쉽지 않다. 트랙백 전송이 실패한 것으로 나타나기 때문에 실제 글이 송고되도 플러그인에서는 송고 되지 않은 것으로 판단한다. 따라서 글을 송고해도 추천 단추가 표시되지 않았다. 결국 지금까지는 글을 두번씩 저장하는 방법으로 이 문제를 해결해 왔다. 그런데 글을 이렇게 송고하면 또 문제가 발생한다. 글을 두번 저장하면 어떨 때에는 블로거뉴스에 글이 두번 송고되는 현상이 발생하기 때문이다.

얼마 전에 올린 글처럼 다음 블로거뉴스의 API 정책이 바뀐 덕에 블로거뉴스 플러그인이 동작하지 않았다. 원인을 파악해서 블로거뉴스 패치에 대한 글을 올렸다. 이러다 보니 이번에는 트랙백 문제도 반드시 해결해야 하겠다는 생각이 들었다. 오류 메시지를 쉽게 확인할 수 없어 트랙백을 보낼 때의 응답을 스니퍼링해서 확인했다. 그리고 필자의 블로그에서 트랙백을 보내는 경우에는 아예 응답 메시지가 출력되지 않는 다는 것을 알았다.

텍스트큐브에서 트랙백은 interface/trackback/send/index.php에서 트랙백 폼을 만든다. 그리고 interface/.../.../.../send/index.php에서 트랙백을 처리한다. interface/.../.../.../send/index.phplibrary/.../Textcube.Function.Respod.phpResultPage를 이용해서 sendTrackback의 결과에 따라 XML 형식의 오류 메시지를 출력한다. 그런데 재미있는 것은 sendTrackback를 사용하면 트랙백의 전송 여부와 무관하에 오류 메시지 자체가 출력되지 않았다. 즉, interface/.../.../.../send/index.php에서 sendTrackback을 제거하면 메시지가 정상적으로 출력된다. 그러나 sendTrackback가 포함되어 있으면 sendTrackback이 어떤 값을 리턴하든 오류 메시지가 출력되지 않았다.

결국 sendTrackback이 실행되는 도중 오류가 발생하는 것으로 추정하고 sendTrackback에서 트랙백의 전송을 막는 코드를 찾았다. 조금 의외지만 이 문제는 sendTrackback를 다음처럼 고침으로서 해결할 수 있었다. 따라서 필자처럼 트랙백은 잘 가지만 트랙백을 보낼 수 없다는 오류 메시지가 뜬다면 다음 절차를 시도해 보기 바란다. 물론 이 문제는 모든 사용자에게 발생하는 문제는 아니며 에서 웹 호스팅을 받는 일부 계정에서 발생하는 것으로 추정하고 있다.

  1. 좋아하는 편집기를 이용해서 library/model/blog.trackback.php 파일을 읽어 들인다.
  2. sendTrackback의 다음 부분을 고치기 전에서 고친 뒤로 수정한다.

    // 고치기 전
    
    $entry['content'] = getEntryContentView($blogid, $entryId, $entry['content'], $entry['contentFormatter'], getKeywordNames($blogid));
    $excerpt = str_tag_on(UTF8::lessen(removeAllTags(stripHTML($entry['content'])), 255));

    // 고친 뒤
    
    //	$entry['content'] = getEntryContentView($blogid, $entryId, $entry['content'], $entry['contentFormatter'], getKeywordNames($blogid));
    $excerpt = str_tag_on(UTF8::lessen(stripHTML($entry['content']), 255));

코드를 보면 알 수 있지만 $entry['content'] 행을 주석처리하고 이어지는 행에서 removeAllTags 함수를 제거하면 정상적으로 트랙백이 전송된다. removeAllTags를 제거했기 때문에 전송된 트랙백에는 일부 태그가 포함될 수 있다. getEntryContentView 함수나 removeAllTags 함수 모두 다른 플러그인에서는 정상적으로 동작한다. 따라서 이런 문제가 발생하는 근본적인 원인은 필자 역시 알 수 없었다.

관련 글타래
2008/11/12 12:45 2008/11/12 12:45
글쓴이
author image
운영체제의 모든 것을 운영하고 있는 IT 블로거. IT 블로거라는 이름은 현재 시국때문에 시사 블로거로 바뀐 상태다. 그러나 나는 아직도 시사와 사회에 관심이 많은 IT 블로거일 뿐이다. 컴퓨터, 운영체제, 시사, 가족, 여행, 맛집, 리뷰등과 살면서 느끼는 소소한 일상이 블로그의 주제이다. 왼쪽의 아이콘은 둘째 딸 다예가 그린 내 모습이다.
오늘의 글
인기있는 글
컴퓨터 팁&텍
트랙백 많은 글
조회수 많은 글 | 베오베
댓글 많은 글 | 베오베

Trackback

Trackback Address :: http://offree.net/trackback/2125

  1. Subject : 텍스트큐브의 슬픈 현실

    Tracked from 무아지경 2012/03/13 00:42 del.

    텍스트큐브...슬프다...무아지경의 트랙백 기능이 현재 불능이다.트랙백이 안 되는 블로그라니 너무한다 싶다....소스를 까보고 뭐가 문제인지 밝히고 싶으나 며칠 밤을 샐까봐 자제하는 중이다

  2. Subject : 텍스트큐브 트랙백 왜 안가지..??

    Tracked from i6020345 2012/12/06 19:45 del.

    흠..ㄷㄷㄷ

Facebook

Comments

  1. 공상플러스 2008/11/12 12:49

    텍스트큐브 데이터가 웬지 전송이 안되서 사흘째 삽질 중입니다..
    서버가 느린데..-- 그냥 구글의 손아귀에서 살까요?

    perm. |  mod/del. reply.
    • 도아 2008/11/12 13:25

      텍스트큐브 닷컴은 아무래도 희망이 없는 것 같습니다. 저도 codex.kr로 이전을 준비하고 있습니다.

    • bluenlive 2008/11/12 16:24

      텍스트큐브 닷컴은 아무래도 희망이 없는 것 같습니다

      티스토리에 좀 실망해서 세컨을 텍큐닷컴을 옮기려는 저에게 힘을 빼시는 댓글이라능~

      그런다고 설치형은 손을 많이 댈 것 같아 피하고 싶고... ㅠ.ㅠ

  2. DalKy 2008/11/12 17:12

    지난 6일에 제 블로그에 댓글 달아 주셨는데 지금에서야 확인했습니다.
    달리 댓글 달 마땅한 곳이 없어서 여기에 안부 인사 드려요~:)

    회사에 일이 많은것도 많은건데 활동을 못하고 있는 가장 큰 이유는 결혼준비때문에 그렇습니다 하하;;
    다음주 토요일 결혼식이라 지금 정말 눈코뜰새 없이 정신이 없네요.

    댓글 확인도 못하는 처지이지만 도아님등 몇몇 블로그들은 짬짬이 눈팅을 하고는 있긴 한데 제가 눈팅하는게 포스팅 하는 속도를 못따라가네요 ㅎㅎㅎ;

    항상 건강 유의하세요~
    좋은 하루 마무리 하시구요:)

    perm. |  mod/del. reply.
    • 도아 2008/11/13 10:11

      경사가 있었군요. 다음 주 토요일에는 청주에서 일가의 혼인식이 있어서 찾아 뵙지는 못하지만 축하드립니다. 그리고 즐거운 신혼생활이 되시기 바랍니다. 참고로 신혼초에 신부를 취미 생활로 끌어 들이는 것이 좋습니다.

    • DalKy 2008/11/14 09:00

      축하의 말씀 너무너무 감사합니다.
      주신 귀한 말씀 명심하도록 하겠습니다.

  3. inureyes 2008/11/12 21:05

    원인을 한 번 생각해 보아야 겠네요... 왜그럴까 싶은...

    perm. |  mod/del. reply.
    • 도아 2008/11/13 10:12

      removealltag는 본문에 포함된 [ tg ]...[ /tg ]와 같은 태그가 정규식과 충돌이 나서 그런 것이 아닌까 싶더군요. 그러나 getEntryContentView는 그 이유를 모르겠더군요.

  4. lowren 2008/11/17 11:42

    흠.. 저도 이문제 때문에 소스를 다 디버깅 해보았는데요.

    서버문제는 아니라, 스크립트 버그인듯 싶네요.

    script/EAF4.js 파일중에

    HTTPRequest.prototype.onVerify = function() {

    return(this.getText("/response/error")==0

    이부분이 있는데요. null 이나 0 이나 같이 판단을 해야 하는데, 다르게 받아 드리는 것 으로 보이내요.

    HTTPRequest.prototype.onVerify = function() {
    var result ;
    result = this.getText("/response/error");
    if (result == null || result == 0)
    return true;
    else
    return false;
    //return(this.getText("/response/error")==0)

    이런식으로 바꾸면 정상적으로 작동을 하네요.

    스크립트니, 서버설정과는 관련이 없는듯 하네요.

    perm. |  mod/del. reply.
    • 도아 2008/11/17 11:54

      내용을 보면 알 수 있지만 스크립트 판정과는 상관이 없습니다. 저 함수가 실행되면 무조건 오류 메시지 자체를 리턴하지 않습니다. 그래서 XML 파일 자체가 출력되지 않고 그래서 발생하는 문제입니다.

  5. Rubymelon 2009/04/17 15:31

    도아님, 트랙백이 아예 안가는 오류가 있는데, 1.7.8 로 업그레이드도 하고, 스킨 다른것도 사용해봤고, 여기에 있는 패치도 (물론 되지만 표기가 안되는 걸 고치는 패치이긴하다만) 해봤는데도, 트랙백이 안됩니다. 트랙백 하려는 포스팅에 가서 확인을 해봐도 트랙백이 안걸려있습니다. 다른 사이트에 트랙백을 시도해봐도 안됩니다. 트랙백의 전송을 막는 코드를 찾으셨다고 이 글에 쓰셨는데, 혹시 트랙백 전송이 아예 안되는 문제를 고칠 방법이 있는지 여쭤보려고 코멘트 남깁니다. 시간내서 읽어주셔서 감사하고, 혹시 방법이 있으면 알려주셨으면 정말 감사하겠습니다.

    perm. |  mod/del. reply.
    • 도아 2009/04/18 04:56

      저도 알 수 없습니다. 호스팅 환경이 서로 다르고 님의 설정상태를 모르기 때문입니다. 따라서 이 부분은 호스팅 업체에 먼저 문의하는 것이 더 빠를 것 같습니다.

  6. 씨트러스 2010/01/20 19:09

    어떤 블로그를 써야할까요? 흑흑. 저도 위에 댓글 단 분처럼 티스토리에 실망하여 텍스트큐브로 옮겨 이제 막 시작인데... 트랙백이 힘드네요. 설치형은 지식 부족으로 엄두가 나질 않고...흑

    perm. |  mod/del. reply.
    • 도아 2010/01/21 11:33

      트랙백이 힘들다는 것이 무슨 뜻인지 모르겠군요.

  7. 씨트러스 2010/01/21 22:32

    아.. 블로그에 입문한지 얼마되지 않아 글올리고, 알리고, 설치하고 등등 이런 것들이 어렵다는 말을 잘 못 올린 것 같습니다. 몇줄 안되는 댓글에서도 도아님의 날까로움이 느껴지네요.^^ 올려주신 텍스트큐브에 대한 글들이 제게 도움이 많이 될 것 같습니다. 좋은 내용 잘 참고하도록 하겠습니다. (꾸벅)

    perm. |  mod/del. reply.
  8. jinugoon 2010/08/26 11:18

    저는 아예 받은 트랙백은 잘나오는데 트랙백 보내기가 안되어 골머리를 썩고 있습니다
    이 방법을 써보려고 했는데..1.8.3으로 업그레이드 한탓인지..
    파일을 찾아보니 아예 blog.trackback.php 파일이 없네요 ㅠㅠ

    perm. |  mod/del. reply.
    • 도아 2010/08/26 12:16

      저도 받은 트랙백은 잘 나왔습니다. 보내는 것도 잘 보내지지만 "보냈다"는 메시지가 뜨지 않아 패치한 것입니다.

댓글로 기쁨을 나눠요!

(옵션: 없으면 생략)

글을 올릴 때 [b], [i], [url], [img]와 같은 BBCode를 사용할 수 있습니다.