1

주제: 태터툴즈 1.1 정식후보 4를 공개합니다.

Tattertools 1.1.0 Release Candidate 4

안내

   1. 테스트용으로만 사용해 주십시오. 운영중인 블로그에 적용시 버그로 인한 피해를 겪으실 수 있습니다.
   2. 통계기능은 관리자 플러그인으로 분리되어 있습니다. 플러그인 메뉴와 자투리 메뉴에서 각 기능을 켜고 끌 수 있습니다.
   3. 이미지 리샘플링 기능은 GD가 인스톨되어 있어야 동작합니다..
   4. 댓글 및 글걸기 단수/복수 처리의 경우 tistory 스킨과 Tattertools_skyline_ko 스킨의 index.xml을 참고해주십시오.
   5. body id기능 및 이미지 리샘플링 기능은 실험 단계에 있습니다. 사용 후 개선 사항에 대한 피드백 부탁드립니다.
   6. 사이드바 기능은 tistory 스킨과 tattertools_skyline_ko 스킨에서 지원합니다. 기존의 스킨들에 쉽게 사이드바 기능을 추가할 수 있습니다. 스킨의 변경사항은 위 스킨들을 참고하세요.


= 알려진 버그 및 피드백 =
* 현재까지 알려진 버그들과 개선에 대한 논의는 QA 게시판 에서 확인 하실 수 있습니다. 피드백도 이 곳으로 부탁드립니다. 중복을 막기 위하여 검색을 먼저 하신 후 피드백 부탁드립니다.

= 태터스토리 안내 =
* 태터앤프렌즈에서는 개발버전 기반의 태터툴즈 서비스인 태터스토리를 운영하고 있습니다. 관련된 내용을 이 곳에서 확인하시고, 관심있으신 분은 신청 바랍니다.

= 내려받기 =
* 7z (1.1mb) : 내려받기
* tar.gz (3.4mb) : 내려받기
* rar (3.4mb) : 내려받기
* zip (4mb) :  내려받기

= 변경 노트 =

== v1.1.0 core 개발관련노트 ==
=== 개요 ===
Plug what you want
* 플러그인 구조 고도화 및 이벤트 다수 추가
* 플러그인 환경설정 지원
* 플러그인 종류 추가 (블로그/ 관리자 / 사이드바)
* 블로그 화면에서의 사이드바 플러그인 지원
Escape from Spam world
* spam tracking을 위한 local information 저장소로서의 휴지통 추가
* 휴지통 기능과 연계한 EAS plugin의 작동
Personalize your tattertools
* 관리자 메뉴 구조의 전체적인 개편
* 센터 및 알림판 추가
* 패널 플러그인을 위한 조각보와 자투리 개념 추가
* 리더 안정화및 알림판과의 연동
* CSS 기반의 관리자 인터페이스 스킨 기능
Internationalization
* 관리자 화면과 블로그 메세지의 언어 설정 분리
* 향상된 Timezone 지원
* 유니코드 미지원 서버에 대한 유니코드 에뮬레이션 처리 강화
* 라틴 문자권에서의 단수/복수 표현 지원을 위한 스킨 치환자 추가
Communication
* metaweblogAPI, BloggerAPI를 사용한 블로그 포스팅 지원
Gifts
* 키로그 기능 추가
* 글 / 공지 / 키로그 사이의 자유로운 변환

=== 추가된 점 ===
* 스킨 - 유연한 CSS 레이아웃 지원을 위한 body id 기능 추가
* 스킨 - paging에서 이전 페이지 / 다음 페이지가 없는 경우에도 class를 지정하여 캐스캐이드가 가능하게 구현
* 스킨 - 댓글 앵커 문제를 위한 치환자 추가
* 스킨 - 버전 표기 치환자 추가
* 스킨 - 날짜 관련 이벤트의 추가
* 스킨 - 스킨에서 댓글 / 트랙백 메세지 출력시 CJK 문자권역 이외 반영
* 스킨 - 스킨 변경시 스킨 폭에 따른 예전 글들의 이미지 출력 크기 재조정
* 에디터 - 퍼머링크의 사용자 임의 설정
* 에디터 - Visual editor의 CSS template화
* 에디터 - 사용자가 에디터 템플릿을 선택가능하도록 했던 것을 스킨 정보에서 자동으로 검출하도록 함
* 에디터 - 언어권역별로 에디터에서 선택할 수 있는 기본 폰트를 언어팩에서 지정
* 관리자 - 카테고리가 지정되지 않은 글목록 보기 추가
* 관리자 - 플러그인 설정 화면에 정렬기능(오름차순/내림차순)을 추가
* 플러그인 - 플러그인 종류(관리자/사이드바 등)의 자동 검출 및 구분
* 플러그인 - 플러그인이 동적으로 테이블을 생성하고 관리하는 스키마 추가
* 플러그인 - 관리자 플러그인 구조 추가
* 플러그인 - Plugin API for customization
  * GUI (Property Editor)
  * Save/Load/Reset data
  * 설정을 저장하고 불러오는 함수들의 지원
  * Data Import/Export의 대상에 포함
* 관리자 - 데이터베이스 최적화 메뉴 추가
* 블로그 - 모바일 페이지 쿠키 지원
* 블로그 - more/less 버튼의 사용자 편의성 추가
* 블로그 - 루트 카테고리 이름 수정기능 추가
* 블로그 - RSS 피드에 프로필 이미지 추가
* 블로그 - 사이드바 시스템 추가
* 블로그 - 댓글, 방명록의 종류에 따른 클래스 추가
* 블로그 - 예전 글 저장소의 출력 수를 임의로 조정 가능
* 일반 - Blog API 지원
* 일반 - 휴지통 기능 추가
* 일반 - 이올린에 싱크한 글만 RSS로 내보내기 옵션 추가
* 일반 - 블로그에 업로드 되어 사용하는 이미지들의 리샘플링을 위한 리샘플러및 워터마크 기능 추가
* 컴포넌트 - 통계 관련 / 키로그 관련 함수들의 component 추가
* 리더 - '모든 글을 읽은 것으로 하기' 옵션 추가

=== 변경된 점 ===
* 일반 - xhtml 1.1 기준에 따른 관리자 인터페이스 루틴의 전체 재작성
* 일반 - Javascript 사용 불가능 환경에서의 동작을 위한 개선
* 에디터 - xhtml specification 만족을 위한 에디터 관련 수정
* 에디터 - 기본 글 작성모드 선택 가능
* 관리자 - 관리자 인터페이스 정리
* 일반 - 에러 메세지의 세분화
* 일반 - php의 strict grammar 적용
* 블로그 - 캘린더의 소스 개선 및 클래스 추가와 강화
* 스킨 - paging의 style="color:red" 부분 삭제
* 스킨 - 댓글을 달 수 없을때 form을 출력하지 않음
* 스킨 - 댓글, 방명록, 트랙백 항목의 없을때 빈 리스트가 생겨 의미론적으로 어그러지는 문제 해결

=== 버그 수정 ===
* 에디터 - 하이퍼링크를 만들때 target, title 등을 입력할 수 있도록 변경
* 에디터 - firefox 업로더 실행시 firefox가 닫혀버리는 문제 수정.
* 에디터 - 용량초과와 같은 예외 상황에 대한 피드백 구현.
* 에디터 - 선택 부분안에 지정된 배경색 등의 스타일을 초기화 하도록 수정
* 에디터 - 저장하는 도중에 자동 저장 기능이 동작하여 저장 후에도 드래프트가 남는 문제 수정
* 에디터 - 스타일쉬트에서 지정한 디폴트 컬러나 검은색을 지정할 수 없는 문제 수정
* 일반 - html 구성 요소들의 의미론에 맞도록 순서 수정
* 일반 - http://www.xxx.com/index.php처럼 직접 접근시 스킨 설정과 상관없이 트랙백과 댓글이 펼쳐지는 문제 수정
* 일반 - utf-8을 처리하기 위한 아파치 모듈과의 충돌로 인하여 일부 서버에서 한글 검색이 되지 않는 문제 수정
* 일반 - 세션 테이블이 깨질 경우 자동복구 루틴 추가
* 관리자 - 백업 루틴 개선
* 관리자 - 마이그레이션 루틴 수정
* 관리자 - 글 관리 목록 통합
* 관리자 - 프로필 저장 실패시 에러메세지 출력
* 관리자 - 초대 기능 수정
* 리더 - 읽지 않은 글만 볼때 전체 피드 갯수가 제대로 표시되지 않는 문제 수정
* 블로그 - 비공개 글의 태그가 노출되는 문제 수정

위에 나열한 변경 수정 버그고친 사항이 다였으면 좋겠지만 읽기도 귀찮을테니 이정도만 명기합니다.

=== 플러그인 설정기능 ===
플러그인 설정은 각 플러그인의 index.xml에서 정의하고 사용할 수 있습니다. 아래의 예제를 참조하세요.
index.xml내의 binding 브렌치에서 다음과 같이 환경설정 패널을 정의할 수 있습니다.

예) index.xml
------------------------------------------------------------------------------
20       <binding>
21             <tag name="TattertoolsBirthday" handler="TattertoolsBirthday_TattertoolsBirthday" />
22             <config dataValHandler = "TattertoolsBirthdayDataSet" >
23                     <window width="500" height="520" />
24                     <fieldset legend="기념일을 넣어주세요" >
25                             <field title="월" name="month" type="select"  titledirection="bk" >
26                                     <caption> 월입니다.. 월 </caption>
27                                     <op value="1">1</op>
28                                     <op value="2" >2</op>
29                                     <op value="3" checked="checked">3</op>
30                                     <op value="4">4</op>
31                                     <op value="5">5</op>
32                                     <op value="6" >6</op>
33                                     <op value="7">7</op>
34                                     <op value="8">8</op>
35                                     <op value="9">9</op>
36                                     <op value="10">10</op>
37                                     <op value="11">11</op>
38                                     <op value="12">12</op>
39                             </field>                       
40                             <field title="일" name="day" type="text"  size ="3" titledirection="bk"  value="13">
41                                     <caption > 날짜는 숫자로만 넣어주삼</caption>
42                             </field>
43                     </fieldset>
44                     <fieldset legend="예제1" >
45                             <field title="셋팅1" name="t1" type="text" size="3" />
46                             <field title="셋팅2" name="t2" rows="2"  type="textarea" value ="처음>>값" />
47                             <field title="선택" name="t6" type="radio"  >
48                                     <op value="1">1</op>
49                                     <op value="2" checked="checked">2</op>
50                                     <op value="3">3</op>
51                                     <op value="4">4</op>
52                             </field>                       
53                     </fieldset>
54                     <fieldset legend="예제2" >
55                             <field title="선택" name="t3" type="select"  >
56                                     <op value="1">1</op>
57                                     <op value="2" checked="true">2</op>
58                                     <op value="3">3</op>
59                                     <op value="4">4</op>
60                             </field>
61                             <field title="체크박스" name="t4" type="checkbox"  >
62                                     <op name="c1" value="1">가나다라</op>
63                                     <op name="c2" value="2" checked="checked">일이삼사</op>
64                                     <op name="c3" value="3">오륙칠팔</op>
65                                     <op name="c4" value="4">가나다라2</op>
66                                     <op name="c5" value="5" checked="checked">일이삼사2</op>
67                             </field>
68                     </fieldset>
69             </config>
70       </binding>


플러그인에서는 다음과 같이 불러올 수 있습니다.

예) index.php
------------------------------------------------------------------------------
2     function TattertoolsBirthday_TattertoolsBirthday($target) {
3             global $configVal;
4             requireComponent('Tattertools.Function.misc');
5             $data = misc::fetchConfigVal( $configVal);

=== 스킨 ===
==== 댓글/ 트랙백의 복수형 지원 ====
라틴 문자권에서의 단수/복수 지원, 또는 미려한 표현을 위하여 댓글과 트랙백에 단수형과 정보가 없는 경우의 표현을 추가할 수 있습니다.
아래는 예제입니다.

예) index.xml
------------------------------------------------------------------------------
18             <default>
19                     <recentEntries>5</recentEntries>   
20                     <recentComments>5</recentComments>
21                     <recentTrackbacks>5</recentTrackbacks>
22                     <itemsOnGuestbook>10</itemsOnGuestbook>
23                     <tagsInCloud>30</tagsInCloud>
24                     <sortInCloud>3</sortInCloud>
25                     <expandComment>0</expandComment>
26                     <expandTrackback>0</expandTrackback>
27                     <lengthOfRecentNotice>25</lengthOfRecentNotice>
28                     <lengthOfRecentEntry>27</lengthOfRecentEntry>
29                     <lengthOfRecentComment>30</lengthOfRecentComment>
30                     <lengthOfRecentTrackback>30</lengthOfRecentTrackback>
31                     <lengthOfLink>30</lengthOfLink>
32                     <showListOnCategory>1</showListOnCategory>
33                     <showListOnArchive>1</showListOnArchive>
34                     <commentMessage>
35                             <none>댓글이 없습니다.</none>
36                             <single>댓글 <span class="cnt">하나</span> 달렸습니다.</single>
37                     </commentMessage>
38                     <trackbackMessage>
39                             <none>받은 트랙백이 없고</none>
40                             <single>트랙백은 <span class="cnt">하나</span></single>
41                     </trackbackMessage>
42                     <tree>
43                             <color>000000</color>
44                             <bgColor>ffffff</bgColor>
45                             <activeColor>000000</activeColor>
46                             <activeBgColor>eeeeee</activeBgColor>
47                             <labelLength>27</labelLength>
48                             <showValue>1</showValue>
49                     </tree>
50                     <contentWidth>500</contentWidth>
51             </default>


==== 치환자 추가 ====
1.1 코어에서는 1.0의 치환자를 지원함과 동시에 1.1의 새 치환자 셋을 지원합니다. 대부분의 경우는 호환되지만 일부의 경우 많은 부분이 변경되었습니다.
별도의 파일을 참조하세요.
==== 사이드바 ====
태터툴즈 1.1 코어부터는 블로그의 사이드바를 지원합니다. 사이드바는 유연한 블로그 스킨 환경 및 손쉬운 기능 추가를 위한 기능입니다.
내부 구조는 복잡하지만 플러그인이나 스킨 제작자들이 쉽게 사용이 가능하도록 모든 부분이 추상화 되어 있습니다.

스킨에 사이드바를 추가하기 위해서는 사이드바가 표현되어야 할 위치를 <s_sidebar></s_sidebar> 로 묶는 것으로 가능합니다.
복수개의 사이드바가 존재할 수 있습니다.

* 스킨 내장 사이드바
스킨의 몇몇 요소를 사이드바의 요소로 만들 수 있습니다. <s_sidebar_element></s_sidebar_element> 로 해당 부분을 묶으면 됩니다.
아래는 예제입니다.

예) skin.html
------------------------------------------------------------------------------
287             <s_sidebar>
288                     <s_sidebar_element>
289                             <!-- 관리자 모듈 -->
290                             <div class="owner">
291                                     <p><a href="[##_owner_url_##]">관리자</a> :
292                                     <a href="[##_owner_url_##]/entry/post">새글쓰기</a></p>
293                                     <p>[##_tattertools_name_##]<br />[##_tattertools_version_##]</p>
294                             </div>
295                     </s_sidebar_element>
296                     <s_sidebar_element>
297                             <!-- 블로그 로고 모듈 -->
298                             <div class="blogimg">
299                                     <img src="[##_image_##]" alt="BLOG main image" />
300                             </div>
301                             <div class="bloginfo">
302                                     [##_desc_##]
303                             </div>
304                     </s_sidebar_element>

* 플러그인 사이드바
플러그인에서 사이드바를 생성할 수 있습니다. 기본 플러그인 중 배너 플러그인을 참조하세요.

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

2

답글: 태터툴즈 1.1 정식후보 4를 공개합니다.

수고 하셨습니다 smile

Coming Soon! 11.11.11 !!

3

답글: 태터툴즈 1.1 정식후보 4를 공개합니다.

고생 많으셨습니다.  조금은 쉬시는 게 어떨까 하는 생각까지 들 정도로 빠르게 진행되는군요.

비밀이란, 몰래 숨겨두고 남에게 알리지 않는 것을 말한다.
- by ILPALAZZO

4

답글: 태터툴즈 1.1 정식후보 4를 공개합니다.

수고하셨어요.
한 걸음 더 다가갔네요.

텍스트큐브를 이용하시다 불편하신 점 있으시면 아래로 연락주세요.
Needlworks/TNF - LonnieNa
nateon : y12x2 (a.t) nate.com / mail : lonniena (a.t) needlworks.org
http://twitter.com/@textcube