개인적인 용도로 블로그에 coComments를 출력하기 위해 간단한 플러그인을 만들었는데, 기왕 만든김에 좀 더 다듬어서 공개할 요량으로 이리 저리 테스트해보던중 오작동을 찾게되었습니다.
기본적이 된 생각은 coComments에서 제공하는 피드를 읽어와서, 캐쉬파일로 저장해서 블로그에 출력해주는 것이었습니다만, java script로 호출된 코멘트 박스와 달리 피드에서는 대화형 코멘트를 표현 해 줄 수가 없더군요. 댓글이 달린 글에 상관없이 최근에 달린 댓글순으로 출력해 줄 뿐이었습니다. 그래서 좀 내키진 않았지만 DB에 테이블을 생성해서 그곳에 내용이 저장되도록 한 뒤 그 내용을 읽어들여서 출력하는 방식을 선택했습니다.
그래서 나온 결과물이 제 블로그의 coComments 페이지 입니다.
문제는 워드프레스에 탑재된 MAGPIE 를 이용해 피드를 읽어들였을때 자동으로 생성된 캐쉬파일때문에(wp-content/cache) 블로그 전체가 얼어버리는 현상이 첫번째입니다. 정확한 원인은 저로서는 찾을 길이 없어서 결국에는 wp-autoblog를 응용해서 따로 MAGPIE클래스를 생성해서 쓰는 수 밖에 없더군요. 이로인해 플러그인의 기능에 비해 플러그인 자체가 너무 비대해져 버렸습니다.
두번째는 php4.x, msql3.x 버전에서 한글을 제대로 읽어들이지 못하는 문제입니다. 해결법으로 MAGPIE의 설정에서 define('MAGPIE_OUTPUT_ENCODING', 'UTF-8')
를 지정해줘서 본문 한글이 깨지는것은 해결했으나 제목부분은 여전히 물음표(???)로 표현됩니다. mysql DB에 저장될때에 뭔가 문제가 있나 했지만 생성된 캐쉬파일 자체에도 한글이 표현되지 않고 물음표만 나오는군요.
결국에는 너무 많은 단점들과 능력상 해결 할 수 없는 문제들로 인해 플러그인 공개를 포기했습니다.
너무 많은 단점들….
- 데이터베이스에 새로운 테이블을 추가함.(coComments 하나 출력하자고 테이블까지 생성한다는게….)
- 플러그인이 너무 비대함.(위에서 설명한대로….)
- 한글을 완벽하게 지원하지 않음.
- coComments의 피드구조가 바뀌면 무용지물이 됨.
그나마 몇가지 장점들….
- DB나 cache폴더내에서 불러오기때문에 로딩시간이 현저히 줄어듬.
- 표현 방식이나 스타일을 사용자가 원하는대로 지정할 수 있슴.