26

(6 답글들, 아이디어 및 기능 제안에 작성)

작은 플러그인을 만들다가 생각이 드는 아이디어 (태터툴즈가 아니라 TNF )가 있어 말씀드립니다.

플러그인을 위한 프로젝트 공간을 마련해주는 것은 어떨가요?(더불어 리포지토리 공간 ㅋㅋ 이게 목적)
프로젝트를 만드는 사람은 굳이 프로그래머가 아니더라도 아이디어를 어느 정도 구체화시킬 수 있는 (기획자역할?) 사람이면 될 듯하고..
어느정도 제품이 성공적으로 나오면 TNF에서 딱지를 붇여주는 겁니다.ㅋㅋ 예를 들어 [G(endoh)테스트를 통과한]

이유는
혼자 플러그인을 만들다보면 1회성으로 끝나는 경우가 많아 좋은 테마인데도 불구하고 제작자가 떠나면 지속성이 떨어지는 경우를 어느정도 방지한다.
플러그인은 상대적으로 태터보다는 진입장벽이 낮아( 쉽지는 않지만 ) 좀더 TNF의 풀을 늘릴 수 있다
다른 사람의 도움을 받을 수 있다.
플러그인을 브랜드화 할 수 있다? ( 유명한 lightbox처럼 )

의견을 바라며..

27

(2 답글들, 아이디어 및 기능 제안에 작성)

넵 현재 가능한 경우는 skin 클래스 와 피스의 역할을 하는 넘들을 자체 제작하는 수밖에 없죠.. 즉 플러그인이 필요한 것은 lib/peice 의 list~~ 관련 작동의 변경일 뿐인데요 이를 위해서 불필요한 부분까지 신경써지는 듯합니다.

28

(2 답글들, 아이디어 및 기능 제안에 작성)

class skin 과 lib/piece 류는 component 화 안돼나요? skin 이 지원 되면 플러그인에서 정식으로 커스텀 치환자등을 제공 할 수 있을 듯한데요..

현재 짬짬이 포토로그를 만들고 있는데... 스킨을 입을려면 아무래도 저기 두 부분의 컴포넌트화가 되어야 할 듯 합니다.

의견 바라겠습니다.

29

(148 답글들, 스킨 및 플러그인에 작성)

ps 파이팅 힘내세요

30

(148 답글들, 스킨 및 플러그인에 작성)

아 두번째 포스팅이 맞는 작동방식입니다 ^^

31

(22 답글들, 이올린에 작성)

흠 이쪽은 구조를 모르니 머라 이야기할 수.... 컥.. 확인해보겠습니다.

32

(148 답글들, 스킨 및 플러그인에 작성)

아 저쪽은 아마 배포버전에서는 작동안하겠지요 ( ^^) 의 의도는 화면을 그려주는 부분이 아니라 fetchQueryAll 요부분에 대해서 배포버전은 작동안한다는 것이었습니다. 화면에 출려되는 부분은 문제 없이 작동합니다.

33

(148 답글들, 스킨 및 플러그인에 작성)

앗 여기 글타레에 manifestHandler 속성 사용법을 올리지 않았군요
위의 코드는 단지 카테고리 정보를 가져오는 쿼리 이구요 ^^.

설정화면을 구성하는 방법으로는 index.xml 을 이용하여 정적으로 config 정보를 가져올수 있는 방법과 manifestHandler 속성을 이용하여 동적으로 구성하는 방법이 있습니다.

방법 1 index.xml에 정적으로 기술하기 
index.xml
...
<binding>
  <config >
   <fieldset  .... >  
     <field ~~>
     </field ~~>
   </fieldset> 
 </config>
</binding>
...

방법 2 manifestHandler 이용하기 
config 의 속성 manifestHandler에 특정 함수를 명시하고 이 함수가 <config 가 루트인 웰폼드(파서가 잘읽을수 있는... xml헤더가 있는 등등)이고 방법1과
같은 xml구조를 가지는 xml 문서를 리턴하면 해당 설정 화면 함수를 그려줍니다.

방법 2 manifestHandler 이용하기  
index.xml
...
<binding>
  <config manifestHandler = "someFoo">
 </config>
</binding>
...
index.php
function someFoo($plungin ) {//콜백 형식 callback($plugin)
  return  "<?xml~~>
 <config >
   <fieldset  .... >  
     <field ~~>
     </field ~~>
   </fieldset> 
 </config>
"
}

관련 해서 그라피티에님의 날짜형식 변환 플러그인이 예제가 될듯합니다. ( 아마 1.1 에 포함이 되어 있을듯하니 최신 rc를 다운받으셔서 참조하시면...^^ 쿨럭)

34

(148 답글들, 스킨 및 플러그인에 작성)

아 저쪽은 아마 배포버전에서는 작동안하겠지요 ( ^^)
그렇기 때문에 component에서 데이터를 가지고 오셔야할듯합니다... 아니면

 $someResults = DBQuery::fetchQueryAll("SELECT * FROM {$database['prefix']}Categories WHERE owner = $owner AND id > 0 ORDER BY parent, priority");

요케 아예 component에 있는 DBQuery를 쓰심이 안전하겠죠
그래도 시간이 되시면 component 폴더 아래의 Tattertools.Data ~~ 넴스페이스 하위의 부분들을 보셔서 이미 구비 되어 있는 함수를 쓰시는게 좋겠지요

35

(148 답글들, 스킨 및 플러그인에 작성)

관련 데이터를 가져올수 있도록 도와주는 부분이 component입니다. 
예를 들어 카테고리 정보는 Tattertools.Data.Category.php 에서 원하는 데이터 생성 후 가져오실수 있습니다..
심도있는 데이터처리를 원하시면 Eolin.PHP.Core.php 의 DBQuery로 직접 쿼리 해오실수 있구요.

--------------------------------------------------------------------------------------------------------------------------------------------------
아, 좀 설명이 잘못 되었나 보네요;

플러그인 caption에도 [##_blog_url_##]같이 주소를 블로그에 관계없이 동적으로 연결 시켜주는 치환자 같은게 있으면 좋을것 같다는

생각이였습니다.
--------------------------------------------------------------------------------------------------------------------------------------------------
이부분에 대해서 config 항목을 동적으로 생성해주는 핸들러를 받을 수 있으므로.... 거기서 구현하시면 될듯합니다...
이름이... manifestHandler 죠?아마

사용법은

index.xml
....
 <config ... manifestHandler="mymani" ... >
공란 위의 핸들러가 잇으면 무시됨
</config>
index.php

function mymani($pluginName){
 global $blogURL
?>
<config >
  <fieldset ...>
   <field >
     <caption> <![CDATA[

<img src='<?=$blogURL?>/any/anyany'.....

  ]]>
     </caption>
   </field>
</config>
<?
}

37

(22 답글들, 이올린에 작성)

ㅎㅎ 일단 sand box 와 tistory 쪽에 이벤트발생시키 겠습니다.
플러그인은 워낙쉬우니 점심먹고 대략 1~20 분이면 나올듯 ㅎㅎ
1.0.6 은 문제.... 끌고 가느냐 포기하느냐의 결정이 필요하네용

38

(22 답글들, 이올린에 작성)

하하 지금 1.1Beta 태그 관련된 부분에 firevent 자리를 뚤어져라 처다보고 있습니다.. ㅎㅎ
이벤트를 발생시킬가 말가~~~
역시 문제는 1.0.6 에 대한 부분인데... 딱히 가까운 event를 찾기가 힘드네요 ㅎㅎ

39

(22 답글들, 이올린에 작성)

플러그인으로 처리하기 위해서는 일단
태그를 처리하는 부분에서 이벤트를 발생시켜 처리해주는 것이 좋은데 찾아보니 1.1 1.06 모두다 이벤트가 발생되지 않네용
1.1은 아직 베타중이니 이벤트를 넣어도 될거 같긴 한데....
1.0.6 은 다른 방식을 이용해야할듯하네요.... 가장 가까운 이벤트가 엔트리 view 이니.... 이부분에서 preg_replace 를 이용하여 적당히 넣어야 겟네요

ㅎㅎ 추석전에 한번?

40

(148 답글들, 스킨 및 플러그인에 작성)

네 일반 플러그인 제작자가 참조할 만한 가이드가 필요한 듯 해서요.
예를 들어 manifest 항목이나 이벤트 항목 , 경로에 관한 규칙, 디비나 파일에 대한 접근등등
이미 포럼에는 올라와 있는데 분산되어서 찾기가 힘들듯 합니다.

41

(148 답글들, 스킨 및 플러그인에 작성)

안녕하세요 ㅎㅎ
안그래도 플러그인 관련해서 내부에서도 문서화가 필요하다는 이야기가 나오고 있습니다.
그래서 TNF와 협조하여 플러그인 제작자용 가이드 문서가 필요한 듯 합니다.
이와 관련해서는 어느분께 문의하면 될가용?

42

(148 답글들, 스킨 및 플러그인에 작성)

아 반환 핸들러 부분에 대해서 더 이야기를 해주시겠어요?
그쪽은 아직 감이 안잡혀서요 @.@ ㅎㅎ

43

(148 답글들, 스킨 및 플러그인에 작성)

흠 현재 plugin 설정 manifast는 정적인 데이터라 설정 화면을 제공하는데 한계가 있는 듯합니다.
예를 들어 블로그 주인의 카테고리중에서 선택하는 경우( 파커j 님의 랜덤 섬네일 포토 같은 경우이지요)는 한계가 있는듯합니다.

이아이디어는 겐도사마 님이 주신것인데
manifast에서 config항목을 받는 것이외에 따로 해당 스키마를 동적으로 생성해주는 핸들러를 받도록 하는 겁니다.
  1. config 항목에 특정 핸들러[scGen 가칭]가 있으면 scGen의 반환값을 가지고 설정 화면을 생성
   2. 없으면 기존과 같이 manifast 의 config 항목으로 설정 화면 생성

위의 기능 추가는 별로 어려우지 않을 듯 합니다.
다만 스키마를 쉽게 생성해줄수 잇게 핼퍼 클래스나 함수를 작성하는 부분이 필요할 듯..
대략 담주부터 시작할 예정입니다.

의견 바라겠습니다.


ps . 이외에도 설정에서 필요한 파일업로드 나 기타등등의 미비한 점들도 계속 이야기 되어서 개선되었으면 좋겠습니다.

44

(148 답글들, 스킨 및 플러그인에 작성)

ㅎㅎ 아니어요 ㅠㅠ 제가 봐도 복잡스런 곳이라..... 저도 OTL ;

45

(148 답글들, 스킨 및 플러그인에 작성)

현재 서버 에러로그를 찬찬히 확인해보니 sandbox r1147 과 관련하여 어레이 인덱스 에러가 발생하고 있습니다.
그부분 수정과 함께 반영토록 하겠습니다.

46

(148 답글들, 스킨 및 플러그인에 작성)

안녕하세요 간만에 글을 올립니다. undefined 문제가 확인 되었습니다.
데이터를 받아주는 페이지의 경로가 바뀌었군요...
일단 받아주는 페이지 경로가 고정 되어 있는 것이 근본 문제였던 듯 합니다.
그래서 경로가 바뀌어도 잘 작동하도록 수정 하였습니다.
--> 정확히는 currentSetting 폴더 의 형제 폴더로서 receiveConfig 폴더를 찾습니다.( 리플레이스)

이외에 TattertoolsBirthday 설정 부분에서 기존과 관계없던 예제 필드셋들은 삭제 하였습니다.

아직 미반영입니다.

47

(148 답글들, 스킨 및 플러그인에 작성)

제가 보기에는 manifest 항목에 문제가 있는 듯합니다. 각 항목별로 조사를 해보심이....
예로서  config  항목을 삭제하고 리스트에 나타나는지를 본다던지 하면 되겠죠

48

(148 답글들, 스킨 및 플러그인에 작성)

아아 너무 감사합니다.. ㅠㅠ 그래도 신경 써주시는 군요 저는 요새 php 코드는 거의 못보고 있심다.. ㅠㅠ

49

(148 답글들, 스킨 및 플러그인에 작성)

수정 하였습니다...

50

(148 답글들, 스킨 및 플러그인에 작성)

호곡 맞습니다... 저도 처음 의도는 <br> 태그 등이 먹이게 하려고 했는데 ... 확인해보니 ^^ htmlspecial~ 요거로 감싸서 이스케이프가 된거였네용