플러그인 드라이버 - index.xml
플러그인의 특정 함수가 어느 시점에 어떤 인자를 받아 어떠한 값을 되돌려주는가를 지시하는 것이 드라이버 파일인 index.xml입니다. index.xml은 xml형식을 따르고 있습니다.
기본 개념
예제 : Hello World 플러그인
index.xml의 문법은 굉장히 다양합니다. 아래에서는 가장 기본적인 예를 설명하도록 하겠습니다.
<?xml version="1.0" encoding="utf-8"?> <plugin version="1.0"> <title xml:lang="ko">안녕 세상아! (기본)</title> <link>http://www.example.com/</link> <version>1.0</version> <description xml:lang="ko">여기저기에 Hello world!를 출력해보는 예제 플러그인입니다.</description> <license>GPL</license> <author xml:lang="ko" link="http://www.example.com">슈퍼맨</author> <safety changeData="no" exposeData="no" accessLocal="no" accessRemote="no" accessRaw="no" /> <requirements> <textcube>1.5</textcube> </requirements> <binding> <tag name="HelloWorld" handler="Helloworld_Show" /> </binding> </plugin>
이 index.xml 파일은 스킨 안에 들어 있는 [##_HelloWorld_##] 를 찾아 그 위치에 index.php안에 들어있는 function Helloworld_Show 의 리턴값을 집어 넣습니다.
설명
<plugin>은 플러그인 xml의 내용의 시작과 끝을 의미합니다.
- <title> : 플러그인의 이름입니다. 현재 사용중인 언어에 따라 해당되는 언어의 값이 관리자 메뉴의 플러그인 표시창에 표시됩니다.
- <link> : 플러그인 설명때 출력되는 링크입니다. 일반적으로 플러그인을 배포하는 웹사이트나 블로그의 주소, 또는 저자의 웹페이지 주소입니다.
- <version> : 플러그인의 버전을 의미합니다. 번호가 높을수록 최신 버전입니다.
- <description> : 플러그인의 설명입니다. 관리자 메뉴의 플러그인 표시창에서 '자세히 보기' 나 '환경설정'을 눌렀을 때 볼 수 있습니다.
- <license> : 플러그인의 저작권입니다. 텍스트큐브 전용으로 단독으로 실행될 수 없는 플러그인은 텍스트큐브의 저작권에 따라 GPL이어야 합니다. 플러그인이 단독 동작이 보장되는 프로그램의 driver로 구현이 된 경우에는 다른 저작권도 가능합니다. 외부 라이브러리를 사용해서 작성한 플러그인이 GPL이 되기 위해서는 해당 라이브러리가 GPL/LGPL/Apache/BSD/MIT 라이센스와 같이 GPL과 충돌이 없는 저작권으로 배포된 라이브러리여야 합니다.
- <author> : 플러그인 작성자를 명기합니다. 이름과 링크는 플러그인 '자세히보기'에서 출력됩니다.
- <safety> : 플러그인이 어떤 식으로 동작하는지 명기합니다. 주로 보안상의 문제가 발생할 수 있는 부분에 대한 언급입니다.
- changeData : 플러그인이 텍스트큐브의 데이터를 변경합니다.
- exposeData : 플러그인이 텍스트큐브의 데이터를 밖으로 출력합니다.
- accessLocal : 플러그인이 로컬 리소스를 참조합니다.
- accessRemote : 플러그인이 외부 리소스를 참조합니다.
- accessRaw : 플러그인이 raw data를 직접 다룹니다.