Wysiwyg ImageFieldモジュールの感想

ブログ記事の作成に関連するモジュールになりますので、使用頻度は高くその影響も大きいものです。

この所、画像を貼り付けた記事を再三記載していますが、これもすべてこのモジュールの機能を利用しています。
細かい部分で何点か不都合がありますが、今のところは満足しています。

テキストエディタの機能
この機能に該当するのがWysiwygモジュール+FCKEditorになると思います。
不便だと思うのはpreタグでソースコードを貼り付けるときの操作性です。
HTMLソースコードが1行で表示されてしまうのも影響してやり辛い感があります。
hookでPluginを追加できれば問題なくなるはずなので、時間があるときに対応しようと思っています。
そのほかは特に問題はありません。安定して使用できています。

画像の貼り付け機能
InsertモジュールとWysiwyg ImageFieldモジュールが関係している箇所だと思います。
新規エントリ作成で画像をアップロードすると以下のようなエラーになります。1回記事を保存したあとならエラーは発生しなくなります。
まれに再度エラーになることもありますが、その場合も同様、一回記事を保存して再表示してからなら問題ありません。
wysiwygimagefield2011042101

1回エラーになると画面をリロードするまでエラー表示は消えません。
ちょっとした手間がかかるので、できれば改善したい事項です。
記事を保存した際にもフィールド関連のエラーが発生しますので、FileFiledかImageFiled周りが怪しいと思っています。

ファイルシステム上の画像の配置場所
画像をアップロードしInsertで配置した状態では、まだファイルシステムパスの直下にあります。
そのため、一度アップロードしたあとに同じファイル名の画像を再アップロードするとファイル名の後ろに番号が付与されたファイルが新たに作成されます。
FileFiled pathの設定で対応できそうなので今度試してみます。
記事作成中にファイルブラウザー機能で今回アップロードした画像を再使用したくても、今の設定の場合はユーザがファイルシステムパス直下にアクセスできなくしてあるので記事保存前には操作ができません。記事が保存されると、FileField pathモジュールのパスで設定した箇所に移動されます。
画像のリサイズのためプリセットを利用すると、"ファイルシステムパス/imagecache/プリセット名"の更に下にFileField pathモジュールのパスで設定した階層で画像ファイルが作成されます。そのため画像までの階層が非常に深くなってしまいます。
このようになるのが仕様であるのであれば、それを考慮して設定を変更しないといけないと思われ検討事項です。

あと、一旦アップロードしたファイルや削除した記事に使われているファイルは手動で削除しなければいけないようです。
Drupalのデータベースの"XXX_files"を表示するとFilefieldが使われてアップロードしたファイルの一覧が参照できますので、それをヒントにするしかなさそうです。
ファイルそのものがない場合はデータベースですぐにわかるのですが、使用しているかどうかまではわかりません。
他の記事でも参照できるようにしたわけですから、記事を削除したからといって同時に添付ファイルまで削除してしまうと参照先がなくなる記事の存在が発生してしまうので、不要ファイルの整理もまた検討事項です。

結局のところ、Wysiwyg ImageFieldモジュールで記事の投稿が楽になりましたが、不要ファイルはどんどん増加してしまう可能性が増えたように思います。
アップロードしたファイルの管理については、ある程度はファイルの命名即でも回避できそうですが、いろいろなケースを想定して考えないとダメみたいです。

自分しか記事を作成しないので一掃のことユーザごとに保存するのを廃止すれば、もうすこし簡単に考えられるかもしれません。



2011.05.17追記
ソースコードが1行になる件
Wysiwyg Profiles設定で対応できました。これによる弊害はまだ確認できていません。
wysiwyg2011051701

まれにアップロード前後でエラーになる件
あれ以降エラーは発生しなくなりました。既存のフィールドに修正を加えたのでその影響だったのかもしれません。

アップロードしたファイルについて
通常、アップロードしたファイルはファイルシステムパス直下にアップロードされますが、それをFilefield Pathモジュールで別の場所へ配置するようにしています。
このとき、FileField Pathモジュールはアップロード場所を変更しているわけではなく、ファイルシステムパス直下にアップロードされたファイルをさらに設定したパスへリネームすることでパスを変更しているだけなので、2ステップの動作になるのは仕方のないことでした。

IMGタグのTitleとALTに文字列を入力する(新規)
通常であればImageFieldで可能なはずで、フィールドの設定画面にあるデフォルトのtitleとaltをTolkenを使って設定しましたが空欄になってしまいます。
仕方がないのでアップロード直後に手入力できるようにテキストフィールドを表示するようにしました。

INSERTでThickbox対応とオリジナルの画像へのリンクが作成されるようにしました(新規)
テーマディレクトリ以下にinsert用のテンプレートファイル(imagecache-insert-image.tpl.php)を作成しました。
ファイルの内容は以下の通りです。
<a class="colorbox colorbox-insert-image" href="<?php print base_path().$item['filepath'] ?>"<?php print $class ? ' class="' . $class . '"' : '' ?> title="__description__">
<img src="<?php print $url ?>" alt="__alt__" title="__title__" class="imagecache-<?php print $preset_name ?><?php print $class ? ' ' . $class : '' ?>" /></a>

以下を参考にしました。
http://drupal.org/node/632240#comment-2359954
http://drupal.org/node/632240#comment-2503102