TYPOlight 2.8.2の問題点

TYPOlight 2.8.2の問題点と対応方法についてです。

TinyMCEのautoresizeプラグイン

問題の状況

TYPOlightはリッチテキスト・エディタとしてTinyMCEを採用しています。TYPOlight 2.8.2ではTinyMCEを3.3.2に更新していますが、その際にautoresizeプラグインが有効となっていました。

autoresizeプラグインを有効にしていると、テキストの編集エリアの大きさを自動的に変更されます。具体的には、最初の表示範囲にテキストが収まらなくなると、自動的に編集エリアが拡大します。

通常は問題はありませんが、ブラウザのページに収まらないくらいまで編集エリアが大きくなると、問題が起きます。

  1. 編集エリアの最後の方を編集するため、ブラウザの垂直スクロールバーを操作して編集したいところを表示します。
  2. マウスをクリックして、編集したいところにキャレットを設定します。
  3. テキストを入力しようとすると、リッチテキスト・エディタの先頭部分に移動して編集部分が表示範囲外となります。

長いテキストの編集がやりにくい、というよりも殆ど困難となります。

対処方法

解決策には、TinyMCEの使用を取り止めるという手段もありますが、これは使い勝手をあまりに変えてしまいます。現実的には、副作用を起こしているautoresizeプラグインを無効にして問題を回避すると良いでしょう。

既に4月17日にリビジョン317として、この問題は修正されています。このリビジョンと同様な変更は、以下の3つのファイルを修正して達成できます。

  • system/config/tinyFlash.php
  • system/config/tinyMCE.php
  • system/config/tinyNews.php

変更する場合は、以下のような行が2箇所あります。ここから"autoresize,"を削除します。(必ずバックアップを取ってから行って下さい。)

  plugins : "autoresize,autosave,directionality,inlinepopups,legacyoutput,paste,save,searchreplace,spellchecker,tabfocus,template,typolinks",

変更後は次の様になります。

  plugins : "advimage,autosave,directionality,emotions,inlinepopups,paste,save,searchreplace,spellchecker,style,tabfocus,table,template,typolinks,xhtmlxtras",

autoresizeの機能も動作しなくなりますが、勝手に表示位置が変わる問題も解消します。

この問題はpkgsrcでも対応済みです。