WYSIWYG編集プラグイン TinyMCEforMT 1.00 が公開間近

Posted by
ぴろり
Posted at
2006/04/27 21:25
Trackbacks
関連記事 (0)
Post Comment
コメントできます
Category
MovableType
 私を含め 3 名で開発を行っている TinyMCE for MovableType プラグインが、 正規版(バージョン1.00)の公開を前に、モニタ向けリリースを公開しています。 ドキュメント類の整備が済んでいないだけで機能的には何ら遜ないので、 いち早く試してみたい方は是非。
 このを導入することで、 のエントリ編集画面において、 TinyMCE の持つ強力な WYSIWYG 編集機能を使用することができるようになります。 TinyMCE とは で使えるフリーの WYSIWYG 編集ライブラリで、 驚くことに全て で書かれています。 このエントリでは、特にその TinyMCE について開発側の視点で徒然と。
この記事をはてなブックマークに追加する この記事のはてなブックマーク数 | この記事をlivedoorクリップに追加する この記事のlivedoorクリップ数 | この記事をYahooブックマークに追加する この記事のYahoo!ブックマーク数 | この記事をdel.icio.usに追加する

TinyMCE とは?

TinyMCE.png  スウェーデンにあるMoxiecode Systems AB が、L で公開している WYSIWYG エンジンで、 だけで書かれています。 そのため、に別途コンポーネントをインストールするなどの手間が一切無く、 上で Microsoft Word 並の表現を持った WYSIWYG 編集が可能となっています。
 『百聞は一見に如かず』とも謂いますから、何はともあれサンプル画面でその機能を触ってみてください。 「本当に だけで動いているの?」と驚かれるに違いありません。  また、 プログラムの頭痛の種であるによる挙動の違いを、 このライブラリ側で全て吸収してくれるよう作られているので、 TinyMCE を使う側はそういった問題を全く意識せずに組み込むことができます。 これだけの機能を持ちながら、IE・Netscape・・Opera・Safari で、 ほぼ同じ機能を(多少の機能制限等はあるにせよ)難なく提供できているのは、 まさに驚きとしか言いようがありませんね 驚き

TinyMCE 自体のバグはご愛嬌(^^;

  で書かれた WYSIWYG エンジンは、他にも FCKeditorhtmlAreaなどがありますが、 TinyMCE はその拡張性や汎用性の面で、 そして何よりも使って見た中で一番動作が軽かったなどの利点が挙げられます。

TinyMCE を組込んでみる

 TinyMCE を組み込むのは全く以って簡単です。具体的には、
  1. ページ中に<textarea>エレメントを作っておく
  2. TinyMCE のプログラムコードを読み込む
  3. TinyMCE を初期化する
  4. 必要であれば、編集用ボタンを追加したり、を読み込む
  コードに書くと以下のようになります。  たったこれだけのコードで、<textarea>で作ったテキストエリアに、 強力無比なWYSIWYG編集が付加されます。

  で TinyMCE を使えるようにした TinyMCEforMT でも、 その実質は上のコードと殆んど変わりません。 TinyMCE をエントリ編集画面に組み込むにしても、これまた先人による BigPAPI を使用しています。 そのため、TinyMCEforMT 中で私が書いたコードと云えば、 前回の WYSIWYG 編集状態を復元するための Cookie 操作部分くらいですから、 機能的に見ればほんの一部に過ぎません。
 このような少量の開発で誰もがを実現でき、そして非常に大きなメリットを期待できるのは、 先人達による多くのプロジェクトのお陰と言えるでしょう。

TinyMCE を

 TinyMCE 自体、L の元でが公開されているため、 自分が必要とする機能を用意に追加・変更することができます。 しかし、TinyMCE には、TinyMCE のに手を入れずとも、 柔軟にその動作を変更できるように、様々な仕組みが最初から用意されています。
 以下は、TinyMCEforMT が TinyMCE ライブラリを初期化するコードの抜粋です。 TinyMCE を初期化する段階で適切なオプション引数を与えることで、 編集機能を制限したり、その動作をきめ細かに設定することができます。  特にコールバック処理という形で、自前で用意した処理を TinyMCE から呼び出せるのは開発側としては嬉しい仕様です。 TinyMCEforMT ではこれらコールバック機能を使用して、 テキストエリアのサイズを復元したり、TinyMCE が書き出す を必要に応じて整形するなどの処理を行っています。

 TinyMCE のドキュメントがしっかりしているので、英語さえ読めれば特に難しい部分はないでしょう。 TinyMCEforMT の開発でも、こういったドキュメントの存在が大きな助けになりました。 欲しいと思った機能や、動作を変更したいと思ったら、大方、それをサポートするオプションが用意されているので、 ドキュメント通りに書けばそれで事足りることが多いです。
 ユーザからの要求仕様に合わせながら、TinyMCE の初期化オプションの追加・変更が度々行われましたが、 それ以外のコードについてはβ1から殆んど変更されておらず、私が開発に関係したのも実質的にはこの部分のみ。 それだけ TinyMCE の設計がライブラリとして優れていることの証とも言えますね。

"WYSIWYG" と云う名に潜む永遠の問題

 "What You See is What You Get" の名を冠する WYSIWYG ですが、 そもそも、そこには小さいようで本質的に大きな問題が横たわっています。 特に のように同じ見た目(What You See)を幾つモノ方法で記述できるような場合、 アナタが本当に欲しいもの(What You Want)を手にすることができるのか?という点です。
 例えば、WYSIWYG エディタの書き出す が X 1.0 Strict 的には正しくても、 4.01 Trasitional が欲しいユーザにしてみれば無用の長物に過ぎません。 高々 Valid な であれば"十分"と思うユーザにしてみれば、 Strict な は逆に編集の邪魔になることがあります。 確かに時代の流れや主流によって に流行り廃りはあるにせよ、 それを理由に『WYSIWYG エディタの仕様にユーザを強制する』となれば、 それはとしては本末転倒になってしまいます。

乗用車が欲しいアナタに「時代はコンパクトカーだ」という理由で軽自動車を買わせようとするディーラーみたいな。

 WYSIWYG という"判りやすいプレゼンテーション(Presentation)" によって、 "そこに隠蔽された本質(Specification)" をユーザは忘れがちになります。 未だに "What You See is What You Want" を実現できていない以上、 その機能を過信せずに適材適所、上手にお使いくださいね、と云うことでm(_ _)m

関連


この記事を読んだ人はこんな記事も読んでいます ?

その他の関連する記事


関連記事/トラックバック

関連記事/トラックバックはまだありません

この記事のトラックバック URL

コメントを投稿する

 (必須/公開)
 (必須/非公開)
 

コメントスパム防止のため投稿前に ランダムな数字 ? を入力してから投稿してください。 お手数ですがご協力のほど宜しくお願いいたします。(必須)