Tattertools

テト・ツールズの管理画面
Tattertools（テト・ツールズ）はサーバー設置型のブログソフトウェア。PHPで構築され、データストアとしてMySQLを利用する。バージョン1.0.2からGPLで配布されている。

**歴史**

**0.90〜0.96 （2004年3月〜2005年12月）**
最初のテト・ツールズはジョンジェフン（정재훈:JHというハンドル・ネームで有名）が一人で作成し、2004年3月に最初版の0.90を公開した。そして同年同月中にまた『0.91を Dance with Firefox』というコードネームで発表し、Firefoxへの支援を強化した。以後、同年5月に『0.92 Step by Step』、9月に『0.93 Take off』、12月に『0.94 Steady Foundation』が発表され、2005年3月には現在のテト・ツールズが持っている機能の基盤になった『0.95 縮地』、8月に『0.96 COUNTDOWN』が発表された。
鄭在訓の一人プロジェクトであったテト・ツールズは0.96から複数の開発者がチームになって開発を始め、0.96は次期バージョンの『1.0 Chorus』（仮）の公開が遅くなるため公開されたバージョンである。そして、同時期に開発者のノ・ジョンソク(노정석)を代表にするTatter&Company（略してTnC）が設立された。

**1.0〜現在 （2006年1月〜）**
TnCは予定より大幅に遅れ1.0RCを2006年1月に、同年2月10日に1.0（通称『正式版』）を発表した。1.0は既存の0.9xにその基盤を置かず、TnCの新開発チームによって新たに開発された。そして、この事実による混乱を遮り、既存の方式を選好するユーザーのために0.96を補完したクラシック(0.97)がテト・ツールズ 1.0と一緒に発表された。以後、クラシックから正式版への移転を手伝うマイグレーターが1.0.2に含まれた。なお、この1.0.2からGPLライセンスで公開を始め、1.0.4まではTnCが独自的で開発・公開していたが、1.0.5からは『Tatter&Friends』（略してTnF）という公開開発者フォーラムとTnCが共に開発を続けている。
現在の最新バージョンは1.1.1であり、1.1.0からバージョン名をつけることになった。1.1.0のバージョン名は『Friends』で、最新の1.1.2のバージョン名は『Animato』。

**特徴**
ゲスト・ブックやRSSリーダーが含まれているのが他のブログ・ツールとの差異点である。0.9x系のテト・ツールズはクラシックから、1.0正式版は最初からUTF-8エンコードを使用、W3C標準勧告の遵守などのことで韓国産の他のブログ・ツールやサービスより進歩的だという評価もある。そして、釜山国際映画祭公式サイト、 サーチエンジン'初雪'公式ブログ、 全州国際映画祭サイトなどの企業のホームページからの使用等の韓国からは高い認知度を得た。0.9x系（クラシックを含む）での多国語支援は公式的ではなかったが、1.0からは公式でko・ja・en・簡体zhを支援している。1.0正式版ではApache HTTP ServerのRewriteモジュールを使うため、ウェブサーバーからRewriteモジュールの支援が要求される。
TnCからはダウムと共にTistory（ティ・ストーリ）という名称のテト・ツールズ基盤のブログ・サービスを提供している。他にも『Eolin Platform』（イオリン）はテト・ツールズ利用者の記事を収集するメタ・サイトとしての役目と集団知によるスパム・ブロックシステム(EAS, Eolin Anti-spam Service)としての役目を果している。
他ブログソフトウェアとの差異点はユーザーのデータをXML形式のファイルとしてバックアップ/復元ができることである。テト・ツールズがGPLライセンスで公開を始めた1.0.2からXML形式バックアップを支援している。添付ファイルもBase64でエンコードされブログの記事と共にバックアップすることができる。ただし、添付ファイルのバックアップはオプションである（バックアップするときに選択できる）。

**コード・ネームの由来**
 0.91 Dance with Firefox
初期の0.90で行っていなかった Firefoxへの支援を始めたことにちなんだコード・ネーム。元は『Dance with Wolves』という映画タイトルのパロディのようだ。製作者、JHのコメントによると「Mozilla（恐竜）と踊ると変じゃない」というわけでDance with Firefoxになったそうだ。
 0.93 Takeoff
跳躍・離陸という意味で、初期のテト・ツールズによって、大きな変化があったという意味で付けられた。テト・ツールズの特徴の一つであるゲスト・ブックはこのバージョンから追加された。
 0.94 Steady Foundation
特別な由来はなし。このバージョンから非公開記事の作成、テト・センター（現 EOLIN）への記事シンク、画像プレビュー、コメント編集、記事へのコメント・トラックバック許可設定、非公開コメント、PHP5に対応したRSSパッシング改善、HTML 4.01標準の遵守などが始まった。
 0.95 縮地
『縮地』は地面から浮かんだまま高速で移動するという中国伝来の武術の一つ。このバージョンからショートカットキーの対応が始まり、『縮地』のように作業速度が早くなったと意味で付けられた。
 0.96 COUNTDOWN
元々は0.95の後続として 1.0 CHORUS（仮）が発表される予定であったが、元製作者のJHの私事情によって 1.0 CHORUS（仮）の開発は遅れ、0.96が発表された。そのため0.96のコード・ネームであるCOUNTDOWNは 1.0 CHORUS（仮）へのカウント・ダウンという意味がある。その後、1.0 CHORUS（仮）は公開の予定がキャンセルされ、新たに現TnCの開発チームによって開発されたテト・ツールズ1.xが発表されたのち、1.0 CHORUS（仮）は0.97 クラシックとして発表された。
 1.0 CHORUS（仮）
CHORUSは調和・合唱などの意味。UTF-8への対応やW3C標準勧告の遵守(XHTML1.0)による「言語とプラットフォームを超え、どんな環境でも使うことができる」という意味で付けられた。
1.0 CHORUS（仮）と共にテト・ギルド On the Stage（仮）というものの発表もあったがこれは完全にキャンセルされ0.9xコーアのテト・ツールズでは関連の機能が見つからない。以後、テト・ツールズ1.0 正式版から マルチ・ユーザー・ブログという機能でその構想の一部が具現されている。
 1.1.0 Friends
『Friends』という名前の理由は、このバージョンからTatter and Friendsが本格的に開発へ参加したことを記念するために付けられた。
 1.1.1 Vivace
『Vivace』という名前はイタリア語で『活動的、力動的』の意味で、音楽用語では「明るくて軽快」。このバージョンは1.1.0からの一番の問題点であったスピードを改善するためソースのコーアを修正した。そして、非公開分類、記事作成から保存/作成完了の分離などの機能を追加した。
 1.1.2 Animato
『Animato』という名前はイタリア語で『元気に動く』の意味で、音楽用語では『元気に動いて』。このバージョンは1.1.1からのいろんな問題点を修正した。検索結果を出力する方法の改善、Tistoryから支援しているBlogAPI・Movable Type APIへの対応などの事項が改善された。
 1.1.3 Transition

**Textcubeについて**
開発発表当時の名前は「S2Project（エス・ツー・プロジェクト）」。
Textcubeはバージョン1.5からのテト・ツールズの新名称である。既存のブログツールとしての「テト・ツールズ」は1.1.3が最終バージョンで、以後のブログツールとしてのテト・ツールズは名称が「Textcube（テキストキューブ）」に変更された。また、これからの「テト・ツールズ」という名前はTextcubeやTiStory、そしてイオリンを総括する「プロジェクト テト・ツールズ(Project Tattertools)」のことを指称する。
TnFからは2007年5月3日にTextcube 1.5 Alpha1を公開し、2007年6月29日にはTextcubeの初Betaを公開した。
公開中の最新Betaは2007年7月13日公開したBeta2である。

**ライセンスについて**
テト・ツールズはバージョン1.0.2からGPLで配布されており、それ以前の1.0系や0.9系ではGPLではない。
0.9xコーアのクラシック(0.97)への支援は公式には中断されている。

**日本でのテト・ツールズの位置**
1.0以降のUTF-8の対応により日本語の利用が可能となったが、日本語のドキュメントが公式サイトも含めて少なく、管理画面など依然日本語化されていない部分もある。
韓国や中国圏での活発なユーザー活動や、高いダウンロード数、高い認知度とは対照的である。
TnC は日本への進出を構想している。

**リンク**

**公式サイト**
  テト・ツールズ公式サイト（中国語）date=2018年8月

**関連サービス**
  イオリンdate=2018年8月-  ティ・ストリー-  テキスト・キューブ

**関連サイト ===