텍스트 큐브 판올림 1.6.1

2008/03/10 16:34

텍스트 큐브 판올림

얼마 전 텍스트 큐브를 1.5.3에서 1.6.0으로 판올림했다. 이전 글에서 알 수 있듯이 판올림이 되면서 내가 사용한 패치가 여러 가지 반영되었기 때문에 이전과는 달리 상당히 편한 마음으로 판올림 할 수 있었다. 텍스트 큐브를 판올림 한 뒤 이것 저것 살펴 보니 몇 가지 버그가 있어서 이 내용을 담은 "텍스트 큐브의 사소한 버그 패치"라는 글을 올렸다. 이 중 하나는 글의 태그를 META 태그의 Keywords 속성으로 바꾸는 것이었는데 이 문제는 텍스트 큐브 RC판에 반영되었다.

텍스트 큐브 판올림

얼마 전 텍스트 큐브를 1.5.3에서 1.6.0으로 판올림했다. 이전 글에서 알 수 있듯이 판올림이 되면서 내가 사용한 패치가 여러 가지 반영되었기 때문에 이전과는 달리 상당히 편한 마음으로 판올림 할 수 있었다.

를 판올림 한 뒤 이것 저것 살펴 보니 몇 가지 버그가 있어서 이 내용을 담은 텍스트 큐브의 사소한 버그 패치라는 글을 올렸다. 이 중 하나는 글의 태그META 태그의 Keywords 속성으로 바꾸는 것이었는데 이 문제는 텍스트 큐브 RC판에 반영되었다.

그리고 오늘 텍스트 큐브 관리 도구를 보니 1.6.1판이 새롭게 출시된 것을 알았다. 1.6.0과 1.6.1 사이의 차이가 많지 않을 것으로 보고 1.6.1로 오늘 판올림했다. 1.6.0에 비해 직접 패치해야 하는 부분이 상당히 많이 줄었다. 현재 1.6.1에서 필지가 패치한 부분은 다음과 같다.

대표주소를 최신 글 주소로 전환

개인적으로는 이 기능은 옵션으로라도 포함되기를 바라는 기능이지만 아직까지 반영되지는 않았다. 그러나 패치하는 방법은 1.6.0과 똑 같으므로 텍스트 큐브를 1.5.3에서 1.6.0으로 판올림를 참조하기 바란다.

통계 데이타 패치

얼마 전 내 글이 하루에 두번이나 블로그 뉴스에 오른적이 있다. 하나는 IT 메인에 걸린 노트북 도난 방지에 유용한 ActMon CM이고 또 하나는 연예 메인에 걸린 뉴하트의 최강국은 실존 인물였다. 이렇게 하루에 두개의 글이 다음 블로거뉴스의 메인에 걸리자 키워드가 현저하게 줄어드는 현상이 발생했다.

7일간의 레퍼러로 키워드 통계를 내도록 패치했지만 7~10까지 3일간의 통계만 잡힌다. 7일에 두개의 글이 블로거뉴스에 올라 상당히 많은 레퍼러가 블로거뉴스인 탓이다.

키워드는 레퍼러 통계로부터 추출한다. 이 것도 '기본값은 1500개'이고 나처럼 패치를 하면 5000개의 데이타를 이용해서 통계값을 낸다. 그런데 '블로거뉴스'에서 하루에 2만명을 보낸다. 이러면 레퍼러 통계 5000개 중에는 90% 이상은 블로거 뉴스의 레퍼러이고 500개 정도가 다른 곳으로부터 온 레퍼러가 된다. 따라서 가져오는 것은 5000개 이지만 실제 사용할 수 있는 데이타는 500개에 불과하기 때문에 발생한 현상이었다.

따라서 나는 이 패치를 날짜와 갯수로 가져올 수 있도록 패치했다. 패치하는 방법은 다음과 같다.

  1. 좋아하는 편집기로 components/Textcube.Model.Statistics.php 파일을 읽는다.
  2. 코드를 변경전에서 변경뒤로 바꾼다. 바뀐 부분은 모두 빨간색으로 표시했다.

    **변경전**
    function getRefererLogs() {
        global $database, $blogid;
        return POD::queryAll("SELECT host, url, referred 
            FROM {$database['prefix']}RefererLogs 
            WHERE blogid = $blogid ORDER BY referred 
            DESC LIMIT 1500");
    }
    
    **변경뒤**
    function getRefererLogs() {
        global $database, $blogid;
        $time=time()-60*60*24*7;
        return POD::queryAll("SELECT host, url, referred 
        FROM {$database['prefix']}RefererLogs 
        WHERE blogid = $blogid AND referred >= $time 
        ORDER BY referred DESC LIMIT 35000");
    

    $time=time()-60*60*24*7;에서 마지막의 7은 날짜가 된다. 날짜를 늘리거나 줄이려면 이 값을 바꾸면 된다. 예를들어 10동안의 통계 데이타를 출력하려면 7대신에 10을 사용하면된다. SQL 문을 보면 알 수 있지만 통계 데이타는 3'5000개 이상 가져올 수 없다. 원래는 날짜만 지정하려고 했지만 LIMIT의 값을 4'0000 이상으로 지정하면 아예 통계 데이타가 표시되지 않았다.

    이렇게 패치를 하면 평상시에는 '7일간의 데이타로 통계를 잡는다'. 그러나 '블로거뉴스'처럼 다량의 트래픽을 몰아주는 메타 사이트에 글이 등록된 경우에는 3'5000개의 레퍼러 데이타로 통계를 내게된다. 날짜만 가지고 통계를 내는 것이 더 좋지만 앞에서 이야기 한 것처럼 LIMIT를 빼거나 4'0000 이상으로 설정하면 통계 데이타 자체가 출력되지 않았다.

위지윅 편집기

자세한 내용은 텍스트 큐브를 1.5.3에서 1.6.0으로 판올림를 참조하기 바란다.

언어 설정

자세한 내용은 텍스트 큐브를 1.5.3에서 1.6.0으로 판올림를 참조하기 바란다.

팀블로그 설정 플러그인 패치

팀블로그에 대한 설명을 추가할 때 를 사용할 수 있도록 패치해서 사용하고 있었다. 꽤 오래 전부터 사용한 패치인데 지난 번 글에는 이 부분이 누락되었다. 팀블로그의 설명에서 'BBCode'를 사용할 수 있도록 하기 위해서는 다음 처럼 변경하면 된다.

그림처럼 팀원 설명에 BBCode를 사용할 수 있다. 이미지를 추가로 넣을 수도 있고 그림처럼 링크를 달 수도 있다.

  1. 좋아하는 편집기로 plugins/ST_TeamBlogSettings/index.php 파일을 연다.
  2. 플러그인 시작 부분에 다음 함수를 추가한다.

    **코드 추가**
    function Auth_BBcode_Print($target, $mother) {
        global $pluginURL;
        $bbcodes_string = array(
            '#\[quote\]#i' => '<blockquote>',
            '#\[/quote\]#i' => '</blockquote>',
            '#\[list\]#i' => '<ul>',
            '#\[/list\]#i' => '</ul>',
            '#\[/color\]#i' => '</span>',
            '#\[b\]#i' => '<span style="font-weight: bold">',
            '#\[/b\]#i' => '</span>',
            '#\[i\]#i' => '<span style="font-style: italic">',
            '#\[/i\]#i' => '</span>',
            '#\[u\]#i' => '<span style="text-decoration: underline">',
            '#\[/u\]#i' => '</span>'
        );
    
        $bbcodes_regexp = array(
            '#\[color=(\#[0-9A-F]{6}|[a-z]+)\]#si' => '<span 
                style="color:\\1">',
            '#\[img([^\]]*)\]([^?].*?)\[/img\]#i' => '<img \\1 
                src="\\<" alt="" />',
            '#\[url=([\w]+?://[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#i' => 
                '<a href="\\1" target="_blank">\\<</a>',
            '#\[url=((www|ftp)\.[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#i' => 
            '<a href="\\1" target="_blank">\\<</a>',
            '#\[url\]([^?].*?)\[/url\]#i' => '<a href="\\1" 
            target="_blank">\\1</a>',
            '#\[email\]([a-z0-9&\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)
                \[/email\]#si' => '<a href="mailto:\\1">\\<
                </a>',
            '#\[\*\]([^?])#i' => '<li>\\1</li>'
        );
        foreach ($bbcodes_string as $key => $value)  
            $target = preg_replace($key, $value, $target);
        foreach ($bbcodes_regexp as $key => $value)  
            $target = preg_replace($key, $value, $target);
        return $target;
    }
    

    이 함수는 inureyes님이 만든 'BBCode 플러그인'에서 가져온 함수이다.

  3. getTeamProfileView 함수의 return 문을 변경전에서 변경뒤로 바꾼다. 바뀐 부분은 빨간색으로 표시했다.

    **변경전**
    return $target;
    
    **변경뒤**
    return Auth_BBcode_Print($target);
    

텍스트 큐브의 사소한 버그 패치에서 설명한 이전 태터툴즈 주소 버그와 태그를 메타태그로 바꿀 때 발생했던 버그는 모두 수정되었다. 따라서 1.6.0판을 사용하고 있는 사람은 가급적 1.6.1판으로 판올림 하는 것이 좋을 것 같다.

관련 글타래

Tags

키워드, 통계, 팀블로그, 패치