Search Results for 'Tattertools/Plugin'


5 POSTS

  1. 2006/02/02 새로운 태터툴즈 이벤트 만들기 (11)
  2. 2006/02/02 태터툴즈 플러그인을 함께 만들어 보아요~ (4)

새로운 태터툴즈 이벤트 만들기

Posted 2006/02/02 15:01 by PAPACHA
태터툴즈에 현재 지원되는 이벤트가 많지 않습니다. 이제 시작이지요. 1.0 RC3에서 정의된 이벤트는 다음과 같습니다.
  • CommenterPrinting
  • CommentPrinting
  • GuestCommenterPrinting
  • GuestCommentPrinting
  • /plugin/*
정말 없네요 --;
계속 이벤트를 정의해 나가겠습니다만, 임시로 이벤트를 정의하는 방법을 알려드리겠습니다.
특별히 이벤트를 정의할 필요없이 이벤트를 생성(fire)해 주면 됩니다. 생성하는 함수는 fireEvent로 그것의 interface는 다음과 같습니다.

function fireEvent($event, $target = null, $mother = null, $condition = true)

  • $event
    string값으로 이벤트 식별자입니다. 위의 'CommenterPrintring', '/plugin/MetaWebLogAPI/' 처럼 임의로 지정해 주시면 되겠습니다. 새로운 글이 포스팅됐을 때를 처리하기 위해 'EntryPosting'을 사용해 봅시다.
  • $target
    특별히 type이 정해지지 않았으며, 이벤트의 종류에 따라 implicitly 결정됩니다. 'EntryPosting'을 위해 한 entry 정보를 담고 있는 array로 사용해 봅시다.
  • $mother
    $target과 관련하여 추가로 제공하는 정보이며, 역시 이벤트의 종속적으로 type이 결정됩니다.
  • $condition
    boolean으로 이벤트를 생성(fire)할 지 여부를 programmable하게 결정합니다.
  • RETURN
    이벤트 처리자(listener)가 $target을 기반으로 리턴한 값을 되돌려 줍니다. 이벤트 처리자는 아무런 처리도 하지 않았다면 반드시 $target을 그대로 리턴해야 합니다.
이제 EntryPosting 이벤트를 생성해 봅시다. 새로운 글을 처리하는 소스 파일은 blog/owner/entry/add/index.php입니다. 소스를 보면 적당한 위치가 제일 마지막 줄(957)입니다. 이 줄을 다음과 같이 수정합니다.
respondResultPage(addEntry($owner,$entry)!==false);?>
-->
respondResultPage(addEntry($owner,fireEvent('EntryPosting', $entry))!==false);?>
이제 EntryPosting 이벤트를 받아 처리하는 플러그인을 하나 만드셔서, 새로운 글이 추가되기 직전에 글의 내용을 보완하거나 싸이월드 등에 동기화시킬 수도 있겠습니다.

@ 이벤트 열심히 정의해 나가겠습니다. 당분간 불편하시더라도 직접 만들어서 사용해 보시고 저에게 알려주시어 배포판에 빨리 적용될 수 있도록 도와주시는 센스~
이올린에 북마크하기(0) 이올린에 추천하기(0)

Tag : event, plugin, tattertools

태터툴즈 1.0에 플러그인 기능이 들어갔습니다. 아키텍처를 설계하고 구현한지가 얼마되지 않아 지원 API와 event가 아직 많지 않습니다. 공식적인 설명서와 FAQ, 포럼 등을 준비하고 있습니다만 1.0 정식판에 매진하는지라 여력이 없어 공개를 하지 못하고 있습니다. 제 블로그에서 비공식적으로나마 여러 분의 궁금증을 해소하고, 사실 완성된 것도 많지 않기 때문에 여러 분들과 함께 만들어 나가고 싶습니다.
1.0 정식판이 아직 나오지도 않은 상황에서 말씀드리기 쑥스럽습니다만, 다음 태터툴즈의 아키텍처는 플러그인과 콤포넌트 기반이 될 것 같습니다. 거의 모든 기능이 플러그인으로 구현되고 이를 콤포넌트가 지원하는 형태가 되는 것이지요. 그러면 블로그 페이지뿐만 아니라 관리자의 모든 기능을 사용자가 원하는대로 커스터마이징하여 자신의 블로그 시스템을 만들어 나갈 수 있으리라 생각됩니다.
첫 케이스로 (jiyoung님의 요청도 있고 하니) 보안 문제없고 제 서버로 연결되지 않는 NationalityOfCommenter를 만들어 나가 보겠습니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)

Tag : plugin, tattertools