텍스트 큐브 판올림 1.6.1

2008/03/10 16:34
얼마 전      텍스트 큐브를 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를 사용할 수 있도록 하기 위해서는 다음 처럼 변경하면 된다.

그림처럼 팀원 설명에 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판으로 판올림 하는 것이 좋을 것 같다.

제 글이 마음에 든다면 이런 소식을 더 빨리 듣기 위해 트위터 길잡이를 읽고 저롤 폴로하세요. 또 이 글을 더 많은 사람들이 읽을 수 있도록 아래의 추천 단추를 클릭해 주세요.
글쓴이
author image
운영체제의 모든 것을 운영하고 있는 IT 블로거. IT 블로거라는 이름은 현재 시국때문에 시사 블로거로 바뀐 상태다. 그러나 나는 아직도 시사와 사회에 관심이 많은 IT 블로거일 뿐이다. 컴퓨터, 운영체제, 시사, 가족, 여행, 맛집, 리뷰등과 살면서 느끼는 소소한 일상이 블로그의 주제이다. 왼쪽의 아이콘은 둘째 딸 다예가 그린 내 모습이다.
저작권 제 블로그의 글은 기본적으로 펌금지, 링크 허용의 정책을 취하고 있습니다. 특히 네이버로의 펌은 어떤 경우에도 허용하지 않습니다. 이런 정책이 의아한 분은 제 블로그의 네이버에 대한 글을 읽어 보시기 바랍니다.
컴관련
오늘의글
인기글

Trackback

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

Comments

  1. bluenlive 2008/03/10 17:24

    티스토리도 이런 본질적인 업글이 가능할까요? ㅠ.ㅠ

    perm. |  mod/del. reply.
    • 이정일 2008/03/11 00:44

      시간이 문제이긴 하겠지만 텍스트큐브라는 자유로움이 다음이라는 회사의 정책에 어찌 날개를 활짝 펼수 있겠습니까?

    • 도아 2008/03/11 07:16

      전송량의 압박, 비용 추가라는 부담이 있지만 역시 설치형이 더 좋습니다. 고민해 보시고 설치형으로 오시는 것도 괜찮습니다.

  2. 其仁 2008/03/11 17:37

    확실히 1.6.1로 업그레이드하니 1.6 보다는 나아진 것 같기도 합니다.

    알려주신 패치 잘 적용했습니다. 감사합니다.

    perm. |  mod/del. reply.

쥐박쥐가 아니라면 소통하세요!!!

(옵션: 없으면 생략)

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

질문이라면 단추를 누르기 전에 질문하기 전에 읽어보기를 읽고 도아의 QnA질문과 관련된 글에 올려 주시기 바랍니다.



믹시