<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[TNF : Tatter Network Foundation forum - 플러그인 구조 개선]]></title>
		<link>http://forum.tattersite.com/ko/viewtopic.php?id=15</link>
		<description><![CDATA[플러그인 구조 개선 의 최근 RSS 글들.]]></description>
		<lastBuildDate>Wed, 19 Apr 2006 09:45:59 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[RSS 답글: 플러그인 구조 개선]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=727#p727</link>
			<description><![CDATA[<p>백업은 잘되고 있으니 걱정할 필요가 없곘네요. <img src="http://forum.tattersite.com/ko/img/smilies/smile.png" width="15" height="15" alt="smile" /></p><p>그렇다면 이 문제는 입출력만 처리해주면 끝나겠네요.<br />(글의 수에 비해 간단하게 마무리가 되어버린다는 느낌이; )</p>]]></description>
			<author><![CDATA[null@example.com (Peris)]]></author>
			<pubDate>Wed, 19 Apr 2006 09:45:59 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=727#p727</guid>
		</item>
		<item>
			<title><![CDATA[RSS 답글: 플러그인 구조 개선]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=716#p716</link>
			<description><![CDATA[<div class="quotebox"><cite>webthink 작성:</cite><blockquote><p>두가지는 어떻게 해결해야 될까요?<br />1. 백업시 플러그인에서 사용하는 테이블의 백업<br />2. 플러그인에서 사용하는 테이블의 완전삭제</p></blockquote></div><p>전자의 경우는 현재의 백업 구조에서도 아마 plugin 테이블 백업을 하고 있을 겁니다. <img src="http://forum.tattersite.com/ko/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></description>
			<author><![CDATA[null@example.com (inureyes)]]></author>
			<pubDate>Wed, 19 Apr 2006 09:26:51 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=716#p716</guid>
		</item>
		<item>
			<title><![CDATA[RSS 답글: 플러그인 구조 개선]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=715#p715</link>
			<description><![CDATA[<p>{prefix}Plugins 테이블 구조</p><p>owner&nbsp; &nbsp; &nbsp; : {prefix}Users의 userid 값이 들어갑니다.&nbsp; &nbsp; <strong>PK1</strong><br />name&nbsp; &nbsp; &nbsp; &nbsp;: 플러그인이름&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<strong>PK2</strong><br />settings&nbsp; &nbsp;: 플러그인에 필요한 값을 셋팅하라고 여분으로 남겨놓은듯..</p><p>settings에 필요한 값을&nbsp; 구분자를 넣어서 넣어주고 잘라먹으면<br />웬만한환경설정은 다 될것 같은데요.<br />테이블이 필요하면 만들어서넣어주면 되겠죠. </p><p>그리고 activatePlugin deactivatePlugin 이벤트도 지원해주셨음하네요<br />그때 필요한 작업이 있으면 만들어서 넣어주면 활용할수있는 범위가<br />늘어날것 같아요.</p><p>두가지는 어떻게 해결해야 될까요?<br />1. 백업시 플러그인에서 사용하는 테이블의 백업<br />2. 플러그인에서 사용하는 테이블의 완전삭제</p><p>제가 만들려고 하는 플러그인은 통계플러스로 블러그에 상세한 통계정보를 제공할려고 합니다.<br />테이블 설계도하고 어느정도 코딩도 해두었는데 1번과 2번 문제가 걸리네요..</p>]]></description>
			<author><![CDATA[null@example.com (webthink)]]></author>
			<pubDate>Wed, 19 Apr 2006 09:16:24 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=715#p715</guid>
		</item>
		<item>
			<title><![CDATA[RSS 답글: 플러그인 구조 개선]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=714#p714</link>
			<description><![CDATA[<p>일반적으로 settings (text) 안에 serialize한 값을 넣어서 해결하지 않나요?<br />owner=0 일때는 같은 종류의 플러그인에 적용되는 기본값 (모든 사용자에게 동일하게 적용되는 값),<br />owner&gt;0 일때는 해당 사용자에게만 적용되는 설정값 (기본값과 다른 것만 저장)<br />이런 식으로 저장하고<br />owner=0인 값을 불러온 다음 owner=?인 값을 덮어쓰는(array_merge) 방식으로 하면 될 것 같네요.</p>]]></description>
			<author><![CDATA[null@example.com (우수한)]]></author>
			<pubDate>Wed, 19 Apr 2006 07:55:48 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=714#p714</guid>
		</item>
		<item>
			<title><![CDATA[RSS 답글: 플러그인 구조 개선]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=709#p709</link>
			<description><![CDATA[<div class="quotebox"><cite>inureyes 작성:</cite><blockquote><p>파일 입출력을 선택할 경우에 plugin 폴더에 쓰기권한을 줘야 한다는 문제가 있습니다 <img src="http://forum.tattersite.com/ko/img/smilies/sad.png" width="15" height="15" alt="sad" /><br />그리고 다중사용자 모드의 경우, 예를 들어 만 명이 사용한다고 하면, 그 환경 설정을 파일에서 읽어오는 부분만도 로드가 장난이 아닐겁니다. (크기도 커지는데 그걸 그만큼 많은 사람이 계속 읽어오게 되죠) 그래서 sql 방식을 제안했습니다. <img src="http://forum.tattersite.com/ko/img/smilies/smile.png" width="15" height="15" alt="smile" /></p></blockquote></div><p>sql이던 .xml이던 환경설정이 된다는 것이 중요한거겠죠. <img src="http://forum.tattersite.com/ko/img/smilies/smile.png" width="15" height="15" alt="smile" /><br />(제가 말한거는 개념상으로 그쪽이 더 맞는거 같다는 의미였고요.)</p><p>만명이나 될 경우에는 .xml쪽이 더 퍼포먼스가 떨어지기야 하겠지만 sql도 그리 좋을거 같지는 않네요.;;</p><p>근데.. {prefix}Plugins 테이블이 이미 존재하네요.<br />owner int<br />name varchar255<br />settings text(현재는 다 NULL값)</p><p>settings에 적당히 구분자를 두어(variableName:variableValue|variableName:variableValue|~~ 같은..)<br />다 때려넣으면 현재 존재하는 테이블을 이용해서도 충분히 구현이 될거 같군요. <img src="http://forum.tattersite.com/ko/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></description>
			<author><![CDATA[null@example.com (Peris)]]></author>
			<pubDate>Wed, 19 Apr 2006 05:36:23 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=709#p709</guid>
		</item>
		<item>
			<title><![CDATA[RSS 답글: 플러그인 구조 개선]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=708#p708</link>
			<description><![CDATA[<div class="quotebox"><cite>inureyes 작성:</cite><blockquote><p>파일 입출력을 선택할 경우에 plugin 폴더에 쓰기권한을 줘야 한다는 문제가 있습니다 <img src="http://forum.tattersite.com/ko/img/smilies/sad.png" width="15" height="15" alt="sad" /><br />그리고 다중사용자 모드의 경우, 예를 들어 만 명이 사용한다고 하면, 그 환경 설정을 파일에서 읽어오는 부분만도 로드가 장난이 아닐겁니다. (크기도 커지는데 그걸 그만큼 많은 사람이 계속 읽어오게 되죠) 그래서 sql 방식을 제안했습니다. <img src="http://forum.tattersite.com/ko/img/smilies/smile.png" width="15" height="15" alt="smile" /> multithread나 concurrancy등을 걱정할 필요가 없어지니까요.</p></blockquote></div><p>파일 입출력이 문제가 되겠지만 각각의 플러그인 환경설정 값들이 각기 다를 것이고, sql방식으로 했을경우 한 플러그인의 설정값의 필드 갯수를 정해놔야 하기에 설정값만큼 레코드값이 늘어 나야하는 것이~~ 그렇다고 플러그인의 설정값을 제한할수도 없는 노릇이고..<br />.xml방식이나 sql방식 장단점이 있네요.. ~~ 꼭 풀어야 할 숙제인 것은 명백합니다.~~ <img src="http://forum.tattersite.com/ko/img/smilies/sad.png" width="15" height="15" alt="sad" /></p>]]></description>
			<author><![CDATA[null@example.com (jparker)]]></author>
			<pubDate>Wed, 19 Apr 2006 05:17:18 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=708#p708</guid>
		</item>
		<item>
			<title><![CDATA[RSS 답글: 플러그인 구조 개선]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=707#p707</link>
			<description><![CDATA[<div class="quotebox"><cite>J. Parker 작성:</cite><blockquote><p>플러그인의 환경설정에 대한 방법은 &#039;Property Editor&#039;의 GUI 환경만 구현된다면 &#039;index.xml&#039;이나 &#039;sql&#039;를 통한 저장 방법은<br />크게 다를 것 없다고 봅니다. 서로 장단점은 있겠지만 이왕이면 &#039;index.xml&#039; 내에 처리하시는 것이 더 좋을 듯합니다.<br />Peris님 말씀처럼 플러그인의 환경설정은 플러그인내에 처리되는 것이 부담이 적을듯 하며, 백업이야 어차피 따로따로 받는것이잖아요</p></blockquote></div><p>파일 입출력을 선택할 경우에 plugin 폴더에 쓰기권한을 줘야 한다는 문제가 있습니다 <img src="http://forum.tattersite.com/ko/img/smilies/sad.png" width="15" height="15" alt="sad" /><br />그리고 다중사용자 모드의 경우, 예를 들어 만 명이 사용한다고 하면, 그 환경 설정을 파일에서 읽어오는 부분만도 로드가 장난이 아닐겁니다. (크기도 커지는데 그걸 그만큼 많은 사람이 계속 읽어오게 되죠) 그래서 sql 방식을 제안했습니다. <img src="http://forum.tattersite.com/ko/img/smilies/smile.png" width="15" height="15" alt="smile" /> multithread나 concurrancy등을 걱정할 필요가 없어지니까요.</p>]]></description>
			<author><![CDATA[null@example.com (inureyes)]]></author>
			<pubDate>Wed, 19 Apr 2006 04:43:26 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=707#p707</guid>
		</item>
		<item>
			<title><![CDATA[RSS 답글: 플러그인 구조 개선]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=706#p706</link>
			<description><![CDATA[<div class="quotebox"><cite>inureyes 작성:</cite><blockquote><p>* 플러그인의 환경설정이 가능하도록 지원해야 한다.<br />* 파일 입출력을 통한 플러그인 환경설정은 정말 비효율적이며 결국, 각 플러그인의 환경설정값은 sql에 들어가야 한다.<br />* 플러그인 아키텍처가 사용할 수 있는 필드를 유저별 sql 필드에 추가해야 하며, 그 값들은 백업시에 함께 저장되어야 한다.</p></blockquote></div><p>플러그인의 환경설정에 대한 방법은 &#039;Property Editor&#039;의 GUI 환경만 구현된다면 &#039;index.xml&#039;이나 &#039;sql&#039;를 통한 저장 방법은<br />크게 다를 것 없다고 봅니다. 서로 장단점은 있겠지만 이왕이면 &#039;index.xml&#039; 내에 처리하시는 것이 더 좋을 듯합니다.<br />Peris님 말씀처럼 플러그인의 환경설정은 플러그인내에 처리되는 것이 부담이 적을듯 하며, 백업이야 어차피 따로따로 받는것이잖아요<br />환경설정부분은 &#039;Property Editor&#039; 폼에서 모두 이뤄지는 것은 당연해야 될것 같구요. 전에 환경설정을 &#039;.xml&#039;을 이용해서 사진갤러리를<br />사용할수 있는 것을 써봤는데 폼에서 환경설정 하고 저장하고 등등 괜찮더라구요...<br />&#039;Property Editor&#039; 폼에서는 이미 정해져있는 옵션값을 보여주는 것은 기본이 되야하며, 추가적인 옵션값을 지정할수도 있으면 더 좋을 것 같습니다. 또한 태터의 스킨소스부분을 편집할수 있는것 처럼 &#039;Property Editor&#039;내에서도 플러그인 소스도 수정이 할수 있는 기능이 있으면 더 좋을것 같습니다.</p>]]></description>
			<author><![CDATA[null@example.com (jparker)]]></author>
			<pubDate>Wed, 19 Apr 2006 04:39:55 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=706#p706</guid>
		</item>
		<item>
			<title><![CDATA[RSS 답글: 플러그인 구조 개선]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=472#p472</link>
			<description><![CDATA[<p>DB에 대한 구현 부분의 제안입니다.</p><p>{prefix}PluginSettings 테이블<br />owner<br />pluginName<br />variableName[15]<br />variableValue[15]</p><p>variableName에는 변수명이 들어가게 되고, value에는 그 값이 들어가게 됩니다.<br />이 경우 variableName과 variableValue를 읽어들여 해당되는 변수명을 생성하고 복사하는 루틴이 추가되면 될 것 같습니다.</p>]]></description>
			<author><![CDATA[null@example.com (inureyes)]]></author>
			<pubDate>Sun, 16 Apr 2006 05:41:52 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=472#p472</guid>
		</item>
		<item>
			<title><![CDATA[RSS 답글: 플러그인 구조 개선]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=243#p243</link>
			<description><![CDATA[<p>첫번째 말씀에 동의하며, 그것에 대해 더 고민하기 위해 아직 새 티켓을 등록하지 않았습니다.<br />Property Editor를 제공하는 하는 이유는 GUI 작성의 편의성뿐만 아니라 저장 방법에 대한 통일성을 확보하는 API를 제공하기 위함입니다. 그렇게 되면 속성에 대한 정의만으로도 표현 방법과 저장 방법 등이 제공되기 때문에 버전업이나 migration, export/import 등에서도 그 설정을 계속 유지시킬 수 있습니다.</p>]]></description>
			<author><![CDATA[null@example.com (PAPACHA)]]></author>
			<pubDate>Fri, 14 Apr 2006 06:31:54 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=243#p243</guid>
		</item>
		<item>
			<title><![CDATA[RSS 답글: 플러그인 구조 개선]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=237#p237</link>
			<description><![CDATA[<div class="quotebox"><cite>PAPACHA 작성:</cite><blockquote><p>플러그인 API에 사용자 설정 기능을 제공하는 것을 매우 필요하다고 생각되며, 첫 번째 티켓에 포함되어 있습니다. <a href="http://dev.tattertools.com/ticket/1">http://dev.tattertools.com/ticket/1</a></p></blockquote></div><p>음.. 티켓을 좀더 잘게 나누는 것이 좋지 않을까요? 저는 첫번째 티켓이 Anti-Spam 관련한 것만을 말하는 것인줄 알고 있었습니다. 그리고 1.0.5 milestone에는 안 올라가 있더군요.<br /></p><div class="quotebox"><cite>PAPACHA 작성:</cite><blockquote><p>관련하여 구현이 필요한 것은 Property Editor입니다. 즉 Plugin Manifest (index.xml)등에서 사용자 설정 property description을 제공하면 이를 적절하게 form control 등으로 화면에 표시하고 저장하는 등의 기능을 수행하는 것입니다. 의견 주십시오.</p></blockquote></div><p>xforms처럼 세세한 컨트롤이 가능하지 않은(저도 써본 적이 없어서 얼마나 세세한지는 잘 모르겠지만..) 일반 html form을 사용한다면 제약이 많을 것 같습니다. 플러그인 제작자가 form을 만들 수 있도록 하는 것이 자유도 측면에서 더 나을 것 같다는 생각이 드는군요. (뭐, 그것마저 다 API나 xml 태그를 통해 체계화시킨다면―예를 들어 날짜 형식의 데이터를 저장하는 calendar라는 태그가 데이터 필드에 포함되어 있다면 그에 맞는 적절한 html form + javascript 덩어리를 출력해준다든가..―좋겠지만 코드가 길어지겠죠..-_-)</p>]]></description>
			<author><![CDATA[null@example.com (daybreaker)]]></author>
			<pubDate>Fri, 14 Apr 2006 06:17:17 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=237#p237</guid>
		</item>
		<item>
			<title><![CDATA[RSS 답글: 플러그인 구조 개선]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=229#p229</link>
			<description><![CDATA[<p>플러그인 API에 사용자 설정 기능을 제공하는 것을 매우 필요하다고 생각되며, 첫 번째 티켓에 포함되어 있습니다. <a href="http://dev.tattertools.com/ticket/1">http://dev.tattertools.com/ticket/1</a><br />관련하여 구현이 필요한 것은 Property Editor입니다. 즉 Plugin Manifest (index.xml)등에서 사용자 설정 property description을 제공하면 이를 적절하게 form control 등으로 화면에 표시하고 저장하는 등의 기능을 수행하는 것입니다. 의견 주십시오.</p>]]></description>
			<author><![CDATA[null@example.com (PAPACHA)]]></author>
			<pubDate>Fri, 14 Apr 2006 05:50:08 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=229#p229</guid>
		</item>
		<item>
			<title><![CDATA[RSS 답글: 플러그인 구조 개선]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=223#p223</link>
			<description><![CDATA[<div class="quotebox"><cite>inureyes 작성:</cite><blockquote><p>저도 처음에 그 생각을 했었는데, 그 경우 백업기능 사용시 플러그인의 환경설정 백업 문제가 있더군요.<br />또한 파일입출력을 위해서 플러그인 디렉토리에 쓰기권한을 주는 것이 위험하기도 할 겁니다. <img src="http://forum.tattersite.com/ko/img/smilies/smile.png" width="15" height="15" alt="smile" /></p></blockquote></div><p>제 생각에 백업같은 경우는 이렇게 하기로 결정만 난다면 별로 무리가 없을 거 같습니다.<br />(제가 다른 글에 적었듯이 플러그인까지 함께 백업 받아버리면 끝! 이니까요; )</p><p>파일입출력을 한다고 쓰신건 정확히 어느 시점을 말씀하시는건지 이해가 잘 안되서; 제가 이해한게 맞는지는 모르겠지만,<br />다른 글에 적혀있는 superuser 개념이 생긴다면 역시 큰 문제가 되진 않을거 같네요. <img src="http://forum.tattersite.com/ko/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></description>
			<author><![CDATA[null@example.com (Peris)]]></author>
			<pubDate>Fri, 14 Apr 2006 04:15:38 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=223#p223</guid>
		</item>
		<item>
			<title><![CDATA[RSS 답글: 플러그인 구조 개선]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=135#p135</link>
			<description><![CDATA[<div class="quotebox"><cite>Peris 작성:</cite><blockquote><p>저도 예전에 같은 생각을 했었습니다.<br />대신에 저는 sql이 아니라 개별 플러그인의 index.xml 파일에 추가가 되어야 한다고 생각합니다.<br />...</p></blockquote></div><p>저도 처음에 그 생각을 했었는데, 그 경우 백업기능 사용시 플러그인의 환경설정 백업 문제가 있더군요.<br />또한 파일입출력을 위해서 플러그인 디렉토리에 쓰기권한을 주는 것이 위험하기도 할 겁니다. <img src="http://forum.tattersite.com/ko/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></description>
			<author><![CDATA[null@example.com (inureyes)]]></author>
			<pubDate>Wed, 12 Apr 2006 12:20:51 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=135#p135</guid>
		</item>
		<item>
			<title><![CDATA[RSS 답글: 플러그인 구조 개선]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=120#p120</link>
			<description><![CDATA[<div class="quotebox"><cite>inureyes 작성:</cite><blockquote><p>세 줄 요약입니다 :<br />* 플러그인의 환경설정이 가능하도록 지원해야 한다.<br />* 파일 입출력을 통한 플러그인 환경설정은 정말 비효율적이며 결국, 각 플러그인의 환경설정값은 sql에 들어가야 한다.<br />* 플러그인 아키텍처가 사용할 수 있는 필드를 유저별 sql 필드에 추가해야 하며, 그 값들은 백업시에 함께 저장되어야 한다.</p></blockquote></div><p>저도 예전에 같은 생각을 했었습니다.<br />대신에 저는 sql이 아니라 개별 플러그인의 index.xml 파일에 추가가 되어야 한다고 생각합니다.<br />그렇게 된다면 태터 자체에서 어차피 index.xml 은 한번 읽기때문에 추가적인 부담도 줄일 수 있다고 생각하고요.<br />(배열로 받아두면 다중사용자일 경우 역시 문제 없겠죠? <img src="http://forum.tattersite.com/ko/img/smilies/smile.png" width="15" height="15" alt="smile" /></p><p>방법은 대충 아래처럼 될거 같네요.</p><p>&lt;plugin ~&gt;<br />&nbsp; &nbsp; ~<br />&nbsp; &nbsp; &lt;setup owner=&quot;1&quot;&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;bgcolor&gt;#000000&lt;/bgcolor&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; ~<br />&nbsp; &nbsp; &lt;/setup&gt;<br />&nbsp; &nbsp; &lt;setup owner=&quot;2&quot;&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;bgcolor&gt;#FFFFFF&lt;/bgcolor&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; ~<br />&nbsp; &nbsp; &lt;/setup&gt;<br />&lt;/plugin&gt;</p>]]></description>
			<author><![CDATA[null@example.com (Peris)]]></author>
			<pubDate>Wed, 12 Apr 2006 09:28:11 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=120#p120</guid>
		</item>
	</channel>
</rss>
