이번에 티스토리용 플러그인을 개발 할 기회가 있었습니다. 내부 개발은 완료했고 사내 QA와 약간의 소스 코드 정리 작업 후 다음에 전달 할 예정입니다.

티스토리 플러그인은 텍스트큐브와는 달리 사용자가 임의적으로 설치는 불가능하고 다음과의 업무 협의를 통해서만 등록이 가능합니다.

티스토리 플러그인 개발을 위해서는 텍스트큐브 1.5.x 버전을 기준으로 개발하면 되는데 티스토리와 텍스트큐브가 완전히 모양새가 일치하는 것은 아니어서 조금 어림잡아서 개발 할 수 밖에 없는 것 같습니다. 티스토리 개발 환경이 제대로 갖춰진다면 좀 더 쉽고 정확한 개발이 가능 할 것 같은데 앞으로 꼭 좀 나왔으면 좋겠습니다.

기본적으로 플러그인 개발은 텍스트큐브 플러그인 문서를 참고로 개발하면 됩니다. 다만 해당 문서의 버전이 다른 것인지 알 수 없으니 문서와는 좀 다르게 작성해야 하는 부분이 있었습니다.

문서에서는 tag나 listener의 핸들러를 속성으로 작성하라고 되어 있습니다. 이렇게 말이죠.

1
2
3
<binding>
<listener event="ViewPostContent"  handler="Helloworld_Show" />;
</binding>

그런데 실제로 이렇게 속성으로 주니 잘 되지 않더군요. 저는 이렇게 해결을 했습니다.

1
2
3
<binding>
<listener event="ViewPostContent">Helloworld_Show</listener>
</binding>

이것은 고유 URL을 생성하는 <listener>에도 동일하게 적용됩니다.

또 하나는 <adminMenu>에서 파라미터를 넘겨줄 때 <name>, <type> 외에 <default>도 필수로 적어주어야 값이 전달된다는 점입니다. <mandatory>는 필요한 경우에만 적어주고 나머지는 생략이 가능 합니다.

그리고 위키 문서에는 전역 변수에 대한 설명이 없는데, 이 설명은 TNF 포럼에서 볼 수 있습니다.

이번에 티스토리용 플러그인을 만들면서 느낀게 텍스트큐브의 플러그인 개발 관련 문서가 공식적인 문서라기 보다는 인터넷 강좌 정도라는 점이 좀 아쉬웠습니다. 결국 플러그인 개발을 위해서는 텍스트큐브의 소스 코드를 들여다보고 문서화 되지 않은(Undocumented) 변수나 함수를 이용해야 하는 경우가 생길 수 있을듯 합니다.

공식적인 문서인만큼 워드프레스 수준의 상세한 문서화가 앞으로 이루어졌으면 좋을 듯 합니다.