보내고 받는 트랙백 한글 인코딩 변환 플러그인
Current Version: 3.2.02 (Updated)
무버블 타입 3.2에 맞게 새롭게 정리한 플러그인입니다. 한글의 경우 호환되지 않는 인코딩을 사용하는 블로그간에 트랙백을 주고 받을 경우, 나와 다른 인코딩의 트랙백은 한글이 깨져 나타나며, 마찬가지로 상대방도 변환 처리를 해주지 않는다면, 내가 보낸 트랙백이 깨져서 나타나게 됩니다.
이 플러그인은 이런 불편을 없애고, 아울러 여러 블로그 시스템의 인코딩을 기억하는 방법을 통해, 처음 한번만 기억시키면, 같은 블로그 혹은 블로그커뮤니티로 트랙백을 보낼 때는 자동으로 인코딩을 변환시켜 보내는 기능도 포함하고 있습니다.
* 3.2.02에서는 Edit 링크가 추가되는 바람에, 폭을 맞추기 위해 기존의 "Check UTF-8"이라는 링크가 "Check"라는 이름으로 변경되었습니다. 이점 주의하시고 아래 글과 그림을 보시기 바람니다.
Requirement
- Movable Type 3.2 이상
- 인코딩 변환을 위한 Perl의 Encode 모듈
Installation
압축파일을 다운받아, (mt home) 폴더 바로 밑에서 $ tar xvfz koreanTrackback-3.2.02.tar.gz 등과 같은 명령을 통해 풀면, 아래와 같은 폴더 구조밑에 파일들이 생성됩니다. 만약 telnet 등과 같은 터미널 환경을 사용하지 못하는 분들은 ftp 등으로 아래 폴더 구조에 맞게 개별 파일들을 업로드하면 됩니다.
- (mt home)/plugins/BigPAPI.pl
- (mt home)/plugins/alogblog/koreanTrackback.pl
- (mt home)/plugins/alogblog/mt-koreanTrackback.cgi
- (mt home)/plugins/alogblog/lib/alogblogKorean.pm
- (mt home)/plugins/alogblog/lib/alogblogKoreanTrackback.pm
- (mt home)/plugins/alogblog/tmpl/koreanTrackback.tmpl
Features
- 받는 트랙백을 현재 블로그 인코딩에 맞게 자동 변환합니다.
- 사용하는 인코딩이 다른 둘 이상의 트랙백 주소로 한번에 보낼 수 있습니다.
- 카테고리 트랙백에 대해서도 엔트리 트랙백과 똑같이 작동합니다.
- UTF-8을 사용하는 블로그의 트랙백 주소를 패턴 형식으로 저장함으로써, 같은 블로그 혹은 블로그 커뮤니티로 트랙백을 보낼 경우에, 패턴에 일치하면 자동으로 트랙백을 변환해줍니다.
- (3.2.02)Edit 링크를 통해 기억시켜둔 주소 패턴을 삭제/수정할 수 있습니다.
Usage
* 아래 방법은 엔트리 트랙백이나 카테고리 트랙백 모두 해당됩니다.
1. 트랙백을 받는 경우
자동적으로 인코딩을 변환해 줍니다.
따라서 아무런 별도 액션을 요하지 않습니다.
2. EUC-KR 인코딩을 사용하는 블로그로 트랙백을 보낼 경우
한국어 블로그의 많은 수가 아직은 EUC-KR 인코딩을 사용하고 있습니다. 이는 포탈사이트에서 제공하는 가입형 블로그의 대부분이 EUC-KR을 사용하기에, 수적으로 EUC-KR이 압도적으로 많은 것입니다. 따라서 이 플러그인은 디폴트 상태를 EUC-KR로 보내는 것으로 설정하고 있습니다. 즉, 트랙백을 보내는 많은 경우에 해당하는 EUC-KR로 보낼 땐, 그냥 주소(혹은 주소들)를 textarea에 입력하고 엔트리를 저장하면, 현재 사용하는 블로그의 인코딩에 상관없이 EUC-KR 인코딩으로 변환해서 트랙백을 보내게 됩니다.
결론적으로 아무런 별도 액션을 요하지 않습니다.
3. UTF-8 인코딩을 사용하는 블로그로 트랙백을 보낼 경우
한 번에 세가지 다른 트랙백 주소로 보내는 경우를 예로 들어 설명합니다. (이미 이전에 alogblog.com/blog/ping/utf-8.cgi 주소를 UTF-8로 기억시켜 둔 것으로 가정합니다. 아래 설명은 머릿속에서 상상으로 시뮬레이션 해보는 것입니다.)
1. 주소입력
http://alogblog.com/blog/ping/utf-8.cgi/utf8 (이미 DB에 UTF-8로 기억시킨 주소에 포함)
http://alogblog.com/blog/ping/euc-kr.cgi/euckr (EUC-KR 인코딩 사용 주소)
http://alogblog.com/alog/ping/utf-8.cgi/utf8 ( 아직 기억시키지 않은 새로운 UTF-8주소에 해당)
위 세 주소를 엔터키로 구분해서 Outbound TrackBack URLs 입력창에 입력합니다. 만약 보내고자 하는 트랙백 주소 중에 적어도 하나 이상의 주소가 UTF-8 블로그에 대한 것이라면, 항상 "Check UTF-8" 링크를 클릭해야 합니다. 왜냐면 현재 보내고자 하는 주소가, 이미 예전에 UTF-8로 기억시킨 블로그에 해당하는지 아니면 새로운 사이트에 대한 것인지 블로거가 일일이 기억할 수 없기 때문에, 이를 플러그인에게 검사를 시키는 것입니다. 그 중에 하나라도 기억시키지 않은 새로운 UTF-8 주소가 있다면, 그 주소에 대해 새로이 기억시키는 작업을 하기 위해서입니다.
2. UTF-8 트랙백이 하나 이상일 경우 항상 "Check UTF-8" 클릭하기
그러면 팝업창이 뜹니다. 그림에서 보듯이, 예전에 alogblog.com/ blog/ ping/ utf-8.cgi 를 UTF-8블로그 패턴으로 기억시켰기 때문에, 이번에 보낼 새로운 파생주소에 해당하는 alogblog.com/ blog/ ping/ utf-8.cgi/ utf8 도 UTF-8 블로그인것으로 인식합니다. 따라서 이 주소는 UTF-8 blogs라는 박스칸에 비활성(수정불가)으로 나타나게 됩니다.
반면, 나머지 두 주소는 Unknown encoding blogs라는 이름 아래에 각각이 임시적으로 EUC-KR인코딩인것으로 비활성되어 나타납니다. 우리는 이 두 주소 중 하나가 새로운 UTF-8 주소인것을 알기 때문에, 그 주소에 대해 UTF-8로 패턴을 인식시키는 작업을 해줘야 합니다.
일단 해당 주소 옆의 체크박스를 클릭합니다. 그러면 UTF-8로 바뀌면서 입력상자가 활성화됩니다.
3. 새 UTF-8 주소를 패턴으로 저장하기
alogblog.com/ alog/ ping/ utf-8.cig/ utf8 이 이번에 새로 보낼 UTF-8 블로그에 대한 트랙백 주소입니다. 이때 이 특정한 트랙백 주소 그 자체를 바로 저장하면, 그 의미가 반감이 됩니다. 즉 일반적으로 트랙백 주소는 (기본트랙백주소)+(특정한 엔트리에 대한 트랙백ID)로 구성이 되는데, 이 특정한 주소 자체를 기억시키면, 이번에 보낼 때 한번만 작동하는데 그치기 때문입니다. 예를 들어, .../tb.php?id=1234 라는 주소일 경우에 이를 바로 저장하면, 이 블로그의 다른 글에 대한 트랙백 주소인 .../tb.php?id=1235 는 UTF-8로 인식하지 못합니다. 그래서 이런 경우에는 ".../tb.php?id=" , ".../tb.php?" , 혹은 ".../tb.php" 등으로 수정해서 저장해줘야만, 다음번에 보낼 다른 주소 .../tb.php?id=5678 등도 UTF-8로 인식하는 것입니다.
그래서 이 예제에서는 alogblog.com/alog/ping/utf-8.cgi 까지만 패턴으로 지정하게 됩니다. 그런 후에, Save patterns of UTF-8 blogs 버튼을 클릭해 선택된 UTF-8 주소패턴을 DB 에 저장합니다.
4. 저장내용 확인
그러면 간단히 앞선 주소 패턴이 DB 에 저장되었다는 메시지를 보여줍니다. Close 버튼을 눌러 닫습니다.
5. 시험삼아 다시 확인해보기
지금까지 한 사항을 정리해보면, 이번에 보낼 세 곳의 트랙백 주소 중에 하나 이상이 UTF-8이므로, 그 UTF-8 주소가 이미 DB에 기억된 주소인지 아니면 새로운 UTF-8블로그에 대한 것인지를 체크해서 만약 새로운 곳이라면 그 주소를 패턴화해서 DB에 저장해준 것입니다. 그럼 팝업창을 닫은 후 바로 엔트리를 저장하면 각각의 트랙백 주소에 대해서 바른 인코딩으로 변환해서 보내게 됩니다.
이 예제에선 시험삼아 다시 한번 "Check UTF-8"을 눌러 봅니다. 그럼 어떤 식으로 팝업창의 내용이 나타날까요? 예상했던 대로 위와 같은 내용으로 나타납니다. 즉 alogblog.com/alog/ping/utf-8.cgi/utf8 이라는 주소는 앞서 기억시킨 주소패턴 alogblog.com/alog/ping/utf-8.cgi 에서 파생되는(포함되는) 주소이므로 플러그인은 이를 UTF-8로 인식해서 보여줍니다. 제대로 각 인코딩에 맞게 나타나있으므로 그냥 닫으면 됩니다.
6. 팝업창이 금새 닫히는 경우
만약 트랙백을 하나만 보낼 경우에, 위와 같은 패턴 인식작업을 거친 후, 다시 "Check UTF-8" 을 클릭하면 팝업창이 나타났다가 바로 닫혀버립니다. 즉, 위와 같이 복수개의 주소로 작업할 때는 Unknown encoding blogs에 하나 이상의 주소가 존재하기때문에(이말은 이 주소를 UTF-8로 설정할 가능성이 있다는 의미) 팝업창이 정상적으로 뜨지만, 트랙백을 하나만 보내는데, 그 주소가 이미 UTF-8로 인식된 주소라면, 블로거 입장에선 다른 액션을 취할 게 없으므로, 팝업창이 그냥 떴다가 바로 닫혀버립니다.
즉, 어떤 주소를 입력하고 "Check UTF-8"을 클릭했는데 팝업창이 금새 닫혀버린다면, 이미 인식했으므로 그냥 엔트리를 저장하기만 하면 트랙백을 정상적으로 보내겠다...라는 의미입니다.
7. 주소 패턴에 대한 사항
- www.example.com 이라고 저장하면, www.example.com/... 뒤에 어떤 내용이 오는 주소형태라도 모두 UTF-8로 인식합니다.
- www.example.com/tb.cgi 라고 저장했을 경우, www.example.com/tb2.cgi 는 UTF-8로 인식하지 않지만, www.example.com/tb.cgi?id=123, www.example.com/tb.cgi/4567 등은 모두 UTF-8로 인식합니다.
- 일반적인 정규식 상의 패턴일치에 사용되는 ., *, ? 등은 적용되지 않습니다.
- www.example.com/홍길동/tb.cgi?5678 과 같이 www.example.com이 가입형 블로그라면, 매 사용자마다 www.example.com/철수/tb.cgi... www.example.com/영희/tb.cgi... 같은 꼴로 트랙백주소체계가 정형화 되므로, 이런 경우에는 그냥 www.example.com 으로 기억시키면 이 가입형블로그의 모든 다른 주소에도 다 적용이 됩니다.
- 만약 가입형 블로그인데, 그 주소체계가 철수.example.com/tb.cgi... 영희.example.com/tb.cgi... 와 같이 도메인네임에 가입자의 아이디가 삽입되는 형태라면, 패턴 저장시에 그냥 .example.com 정도로 하면 됩니다.
8. 주소 패턴 수정(Edit) *3.2.02에 업데이트된 내용
Edit 링크를 클릭하면 저장시켜둔 주소 패턴이 나타납니다. 혹 이후 인코딩이 바껴 제거해야거나 주소 패턴을 수정할 필요가 있을 경우 이용하면 됩니다. 삭제는 주소 옆의 Edit 체크박스를 선택한 후, 내용을 전부 지우면 됩니다.
Note
이전 버전을 사용하면서 UTF-8 사용 블로그 주소 패턴을 저장시켰던 분들은 Edit 링크에서 주소 형태를 수정하셔야 합니다. 즉 이전에는 alogblog.com 이라는 주소는 alogblog\.com으로 저장이 되었는데 3.2.02부터는 그냥 주소 그대로 저장됩니다. 따라서 백슬래쉬(\)를 모두 지워주십시요.
트랙백 테스트 페이지에서 자신의 블로그로 UTF-8/EUC-KR 트랙백을 전송해보거나, 반대로 자신의 블로그에서 이 페이지로 테스트 트랙백을 보내는 방법으로 트랙백의 송수신 혹은 한글 인코딩 변환 여부를 테스트해 볼 수 있습니다.
Credits
Thanks, Gratia. 트랙백 변환 적용 패치에서 무버블 타입 내에서의 메카니즘을 습득할 수 있었습니다.
Thanks, Kevin Shay. Using BigPAPI, I could remove redundant templates modification easily.
License
Relased under the Creative Commons License.
Version History
- 3.2.02: 주소 패턴을 수정 가능
- 3.2.01: MT 3.2 용, 파일DB 대신에 MT의 PluginData 이용
- 1.0 : MT 3.17 용, 파일DB에 UTF-8주소 저장방식
Comments
3.2에서 트랙백은 어찌하나 고민했는데 감사합니다.
스타일쉬트가 3.1대하고 바뀌어 더 어렵습니다. 칼럼이 배너,알파,베타로 나눠진다는것은 알겠는데, 디폴트 스타일쉬트에서 오른쪽 사이드바(베타)의 내용글꼴을 좀 키울려면 어디를 봐야되는지 알수 있을까요?
(예:알록님 블로그의 플러그인섹션의 "Blendy - 블로그 엔트리 배포 플러그인" 글꼴)
Posted by: pdaclub
|
2005년 10월 25일 오후 01시 02분
하하.. 정말 감사합니다. 기존 font size 부분중에 바꿔야 될 것 같아서 계속 찾아봤거든요. 바꾸는게 아니라 .module-list의 padding 다음부분에 원하는 폰트크기를 추가하는거였네요. 고민하던 문제였는데 다시 한번 감사드립니다.
Posted by: pdaclub
|
2005년 10월 25일 저녁 07시 03분
'인코딩 변환을 위한 Perl의 Encode 모듈'이 설치되어 있는지 확인하려면 어떻게 해야 하나요?
이 방법을 몰라서, 일단 Gratia 님 문서를 보고 Encode 모듈을 설치하려고 했더니, 관리자 권한이 있어야 한다는군요. 호스팅 업체에 요청해야 할 듯한데, 귀찮아서 이리저리 찾아봤더니, MT 디렉토리 밑에 extlib 디렉토리에 웬만한 모듈은 사용자 권한으로 설치 가능하다고 합니다. 불가능하다면 어쩔 수 없지만, 가능하다면 어떻게 설치해야할지 매우 막막합니다.
Encode 모듈은 일반사용자가 설치할수 없다고(?) 보는게 좋을거 같습니다. 제가 알기로 꽤 덩치가 크고 효율적인 인코딩 변환 등의 작동을 위해 C로 된 소스도 컴파일하는것 같더군요. 굳이 자기 하드의 많은 부분을 잡아먹으면서까지 개인적으로 깔만한 성질의 모듈은 아닙니다.
텔넷을 사용하실수 있죠? cafe24시면 가능할거라 보는데요, 텔넷으로 계정으로 로그인하셔서, $ perl -e "use Encode"라고 쳐보세요. 아무 문제없이 프람프트($)가 떨어지면, 설치가 되어 있는겁니다.
만약 Can't locate Encode.pm in @INC... 등의 지저분한 메시지가 나타난다면, 이유가 두가진데요, 첫째는 아예 설치가 안되어있어서, 둘째는 설치되어 있지만 기본 펄라이브러리 path로 안잡혀 있어서 그런겁니다.다만 두번째의 경우는 그리 많지 않은건 보통 펄시스템에 다 잡아두기때문에,설치되어 있다면 그냥 디폴트로 잡힐 확률이 큽니다. 만약 설치안되어 있다면, 카페24에 멜보내시면 금새 바꿔줄거라 봅니다.
이왕 옮기실땐, 펄5.8 이상/Encode 모듈이 설치된 서버로 옮겨달라고 그러세요. 저도 한두번 옮긴 경험이 있습니다.
Posted by: melomano
|
2005년 11월 05일 오후 03시 59분
고맙습니다~
플러그인 설치까지 끝냈습니다.^^
Posted by: melomano
|
2005년 11월 06일 밤 10시 02분
http://www.pdaclub.org/blog/2005/10/아니_왜_네이버_블로그.htm
네이버블로그에서 제 블로그로 트랙백이 보내지지 않던데요.
혹 알록님은 잘 되시면 멘트좀 부탁드립니다.
파란,야후,이글루스 블로그에서는 잘 가는걸 봐선 제 문제는 아닐것 같기두 하구요..
네이버로 문의하기는 했는데,아마 설치형 블로그라 답변이 없을 것같기도 해서요.
Posted by: pdaclub
|
2005년 11월 13일 저녁 08시 32분
희한하네요. 왜 네이버만 막힐까요?
말씀하신대로 SpamLookup - Lookups 플러그인의
Lookup Whitelist 에서 sixapart.com 다음에 blog.naver.com 도 추가를 해주니 잘 됩니다.
어찌 아셨대요? 정말 감사드립니다.
오늘 시간이 되서 네이버로도 이메일 문의했는데, 그 쪽 담당자분 힘들지 않게 해결했다고 이메일 다시 써야 겠네요
Posted by: pdaclub
|
2005년 11월 13일 밤 11시 11분
아, 그렇군요.. 3.2 처음 설치하고,코멘트와 트랙백 부분에서 보긴봤는데,아무것도 없길래 그냥 넘어갔거든요.. 종종 봐줘야 겠네요..
Posted by: pdaclub
|
2005년 11월 17일 오후 06시 20분
알록볼록님께 트랙백 하나 보내려고 했는데 안되네요. check UTF-8 창을 열고 utf8 체크를 하고 http://.../korean_plugins/ 여기 까지만 주소패턴을 설정하여 저장을 했습니다. 그런데 트랙백이 보내지지 않는군요. 그리고 체크창이 안 뜨니 알록볼록님에게 트랙백 실험을 해볼 수 없게 되었고. 저의 블로그 끼리도 동일한 사항이라 트랙백 실험을 더이상 할 수 없게 되어버렸습니다. ㅎㅎ
다른 mt 유저 분에게 check UTF-8 창에 트랙백 주소를 전부 그대로 저장한 경우에는 문제없이 트랙백이 전송 되었습니다. 그러나 위와 동일한 방법으로 http://도메인/까지만 저장한 후에는 트랙백이 보내지지 않습니다.
즉, 트랙백 주소 패턴을 임의 설정하면 그 다음부터는 체크창이 뜨지 않아 패턴 설정을 할 수 없게 되니 보낼 수가 없는 겁니다. 트랙백 주소 패턴을 임의 저장을 하지 않고 트랙백 실험을 했었기에 어느 순간부터 이런 문제가 발생한 것인지는 모르겠습니다. (다른 mt 유저분은 저와 같은 현상이 없이 잘 되고 있구요. )
다시 실험을 하기 위해서는 주소패턴 저장이 어디에 되는지 알아야겠지요. mt의 플러그인데이타에 저장이 되는 것 같은데 어떤 파일인지 알려주세요. 혹 걍 플러그인을 다시 설치하면 초기화 되나요?
참 알록볼록님에게 트랙백 보내려 했을 때 에러가 났는데, activity log의 메시지는 Ping 'http://alogblog.com/...' failed: HTTP error: 302 Moved이었습니다. 다른 곳에 트랙백이 안 보내질 때는 에러 없었구요.
이거... 이러다가 알록볼록님께 한턱 내야겠습니다. 사시는 곳이? ^^;
Posted by: tiiop
|
2006년 05월 05일 오후 12시 54분
아하! 새로 mt를 설치해서 다시 해보니, 주소패턴과 상관 없이 check 창에서 UTF-8을 체크하면 모두 동일하게 트랙백에 에러가 없음에도 보내지지 않네요. 이것도 모듈 같은 것과 관련이 있는 것이 아닌가 하는 불긴한 예감이 드네요. plugindata 관련 DB 파일을 모두 지우고 다시 해보니 트랙백이 보내졌습니다. 그렇다면 알다시피 제 블로그가 UTF8이니 보낼 때 UTF-8을 사용하고 있는 블로그에 UTF-8 체크를 하면 안되는 반대 상황인 것이죠. 그런데 위의 알록볼록님 설명대로라면 Euc-kr로 보낼 때만 체크를 하지 않아도 되는 것으로 알고 있었는데 utf8도 제대로 되고, 진보넷 블로그(Euc-kr)를 대상으로 트랙백 실험을 해도 깨지지 않고 제대로 되네요. 즉 저의 경우 한글이 euc-kr에서도 utf-8에서도 그냥(아무 동작없이) 트랙백을 보내야 하는 상황인 것이죠. 저와 같은 현상이 생기는 분들 참고하세요.
타 블로그에 가입해 둔 것이 없어서 시간 되는 대로 타 블로그들에 트랙백 실험을 해보고 보고^^해 드리겠습니다. 이런 흥분 되는 현상들이 더 이상 없었으면 좋겠습니다. ㅠ,ㅠ
한턱은 제가 내야겠네요. 플러그인 때문에 골치를 썩혀드려 죄송합니다.
전산 비전공이시라고 하셨는데, IT 센스가 상당하십니다.
트랙백 플러그인은 만든지 오래되서(--;;;) 가물가물한데 이젠 다시 한번 작동을 점검해봐야겠네요. 현제 제 머리상태로 적어주신 증상에 대한 이해가 퍼뜩 오지 않습니다..음... 당분간(?) 서버의 접속비밀상태(?)를 변경하지 마시길 바람니다.
Posted by: tiiop
|
2006년 05월 05일 오후 01시 47분