Exception Diary
2001.01.01 [Mon] tDiary Image Galleryのご質問はこちらへ
_ このエントリは…
tDiary Image Galleryのサポートを行うために用意しました。ご質問、ご意見、バグ報告、パッチなどなど、こちらにツッコミを遠慮なくどうぞ。また、今までに多かったQ&Aを以下にまとめておきます。_ Q.キャッシュ・ファイルを消したら、image-gallery.rbが立ち上がらなくなりましたが?
A.キャッシュ・ファイルは"[tDiaryのcache path]/gallery/image-gallery.dat" に作られます。キャッシュ・ファイルを再作成する目的でimage-gallery.datを削除する場合には、ディレクトリ/gallery ごと消してください。image-gallery.datがない状態でディレクトリ/galleryが残っていると、上記のような現象になります。
_ Q.SlideShowモードでSmoothGalleryのサイズを変えたいんだけど…?
A."SmoothGallery/css/jd.gallery.css"にサイズの定義がありますのでこちらを編集します。先頭行から以下の記述がありますのでお好みのサイズに変えて下さい。標準では、720×720ピクセルになっています。
#myGallery, #myGallerySet, #flickrGallery
{
width: 720px;
height: 720px;
_ Q.tDiary 2.2.x から 3.0.x にしたら文字化けするようになりました。
A.tDiary 2.3.1 以降では、使用する文字コードがUTF-8に変わったため、1.0.9aまでのImage Galleryでは文字化けが発生します。Image Gallery バージョン 2.0.0 以降では、tDiary 3.0.x に合わせて文字コードをUTF-8 にしていますので、こちらをご使用ください。
Image Galley バージョン 2.0.0 からはキャッシュ・ファイルの名前が変わりました("image-gallery.dat"→"image-gallery2.dat")。このため、アップデート直後に日記を表示させるさい、recent_image.rb がキャッシュ・ファイルを新たに生成しにゆくため、表示まで時間がかかります。
_ Q.Viewerモードで画像のEXIFデータを表示したいのに、レンタルサーバでシェルが使えないため exifparser を RubyGems からインストールできません
A.github にある exifparser のサイトから、ソースコードのzipアーカイブファイルがダウンロードできるようになっています。→https://github.com/kp1/exifparser/archive/master.zip
これを解凍し、exifparser-master/lib 以下にあるすべてのファイル(exifparser.rb とディレクトリ exifparser) をまるごと image-gallery.rb があるディレクトリにアップロードしてください。あとは、tdiary.conf に以下の行を追加してください。
@options['image-gallery.show_exif'] = true
これで、Viewerモード表示時に画像のEXIFデータが表示されるようになります。
_ Q.Listモードで、長いタイトルの画像があるとその列だけ幅が広がるのを何とかしてください!
A.スタイルシートに表の幅一列の長さを指定すれば、幅が広がることはなくなります。例えば、横3列の表示であれば、以下の例のようにします。一列を表全体の33%に指定にすることで、各列の幅を必ず均等にする訳です。
table.imagelist td {
width: 33%;
}
この場合、長いタイトルはこの列幅の中に折り返されて表示されるようになります。
スタイルシートに設定を追加するには、使用しているテーマの.cssファイルを編集するか、append-css.rbを使用して追記します。テーマを変えても設定を変えずに済むため、後者がお勧めです。
_ Q.携帯の内蔵カメラで撮った画像だと、ViewerモードでEXIFデータが表示されないことがあるんですが…?
A.Viewerモードでは、exifparserがデータの解析に失敗してエラーを出した場合には何も表示しないようにしています。docomoのF905iなど、一部の携帯では、exifparserが解析できないEXIFデータをjpeg画像に埋め込んでしまうケースがあるようです。このような画像だと、ViewerモードでEXIFが表示されません。
解析できないEXIFデータを読み飛ばし、なるべく解析を続けるよう exifparser を改造したものがこちらにあります。exifparser/scan.rb をリンク先のものに入れ替えて試してみてください。(注:tdiary-contrib の /lib/exifparser はこちらの改造がすでに入っています。)
spamフィルタのlimitdays.rbが有効になっててツッコミができなくなってた...orz<br>という訳で解除しましたので、よろしくお願いします。
お世話になっております。<br><br>tDiaryを別建てして、Image-Galleryを入れてみたのですが、一覧だけが作成されません。いろいろチェックもしてみましたが、何か肝心なものが抜けているのか、解決には至りません。一度見に来ていただけませんでしょうか。<br><br>http://www.enthusiast.jp/ittoku/bicycle/image-gallery.rb<br><br>申し訳ありません、よろしくお願いします。
いっとくさん<br>”divided by 0”になるのは、recent_imageが画像のサイズをうまく読み取れず、縦横のサイズを0と誤認識する場合があるためのようです。<br>http://www.enthusiast.jp/ittoku/bicycle/image-gallery.rb?order=desc<br>として、古い順に表示させるとListモードに入れますので、ここから順にページを見てゆくと、上記の条件に当てはまる画像があるページがエラーになります。具体的には、次の6枚の画像がNG条件に当てはまるものでした。ちなみに、この6枚は、Viewerモードで見ようとしてもエラーになってしまいます。<br>20080929_0.jpg, 20080929_1.jpg, 20080929_2.jpg, 20080929_3.jpg, 20081030_1.jpg, 20081030_2.jpg<br>こちらだけ何か別のやりかたで変換した、とか、心当たりはありませんでしょうか。
ありがとうございます!<br>仰せの画像をアップし直したら表示されるようになりました。<br><br>心当たりですが、原因らしきものは心当たりがなく…。<br>画像はサーバーにあったものを一度ローカルに落とし、tDiaryの流儀に従ったファイル名にリネームし、再度ftpしました。つまり、image_exでアップしたものではなかったんです。<br><br>サムネイル画像はリサイズ用のユーティリティーを使っていますが、原因があるとすればそこか、ftpの際に何か問題があってファイルの内容に問題が起きたか…。<br><br>というところでハッキリした原因が掴めませんでした。<br><br>お騒がせ致しました。重ねてお礼申し上げます。ありがとうございました。
こんにちは。お世話になってます。<br>お忙しい所恐れ入ります。<br>tDiaryを2.3.3に上げた所、エントリー内のEXIF情報が表示されなくなっちゃいました。(image-galleryのEXIFは表示されてます)<br><br>なにかやらねばならないことってありましたでしょうか。
>いっとくさん<br>あ~、↑のtDiary2.3.x向けのrecent_image.rbは、view_exifの追加パッチが当たってませんでした。パッチを当てたものに変えてみましたので、こちらで試してみてください。
n-kashi さま、ありがとうございます。<br>表示されるようになりました。助かりました。
こんにちは、お世話になっております。 <br>お忙しいところ恐縮ですが、image-gallery2.0.0を利用しておりましたが、tDiary3.0.0から3.1.0にバージョンアップしたところ、image-galleryがエラーで正常に動作しなくなってしまいました。 <br>エラー状況は、http://d.mino.net/image-gallery.rb <br>となります。どちらも普通にインストールしたのですが、なにか、原因などご教授をお願いします。
facebook tDiaryの方でただ ただしさんの方で対応いただき解決しました。ご報告まで。
みのさんすみません。コメントに気づかず失礼しました。 <br>これからもご愛顧のほど、よろしくお願いします。
facebook tDiaryページは、tDiaryのトップページに行けばすぐ分かりますよ。
facebook tDiaryページを確認しました。 <br>tdiary-contrib の方は、たださんが直してくれたようですね。ありがとうございました。
こんにちは。 <br>Generated by tDiary version 3.1.1 <br>Powered by Ruby version 1.9.2-p290 <br>にて以下のようなエラーとなっています。 <br>#tail /var/log/apache2/error.log <br>/home/*/public_html/diary/image-gallery.rb:30: invalid multibyte char (US-ASCII) <br>/home/*/public_html/diary/image-gallery.rb:30: invalid multibyte char (US-ASCII) <br>/home/*/public_html/diary/image-gallery.rb:30: syntax error, unexpected $end, expecting ']' <br> ["asc", "新しい順"], <br> <br>ruby1.9系で文字コードの取り扱いがかわったのが原因だと思うのですが、 <br>そこから先が追いかけられていません。 <br> <br>よろしくお願いします。
kpさん返事が大変遅くなってすみません。 <br>とりあえず、image-gallery.rb の2行目のコメント部に <br> <br># -*- coding: utf-8 -*- <br> <br>を追加し、さらに、コード部分の先頭に、 <br> <br>if RUBY_VERSION >= '1.9.0' <br> Encoding.default_external = "utf-8" <br> $LOAD_PATH.push('./') <br>end <br> <br>と追加することで、一覧表示はできるようになりました。 <br>ただ、こちらの環境ですと、日記を編集すると recent_image.rb が "divided by 0" のエラーを出したりと <br>安定しません。今ちょっと時間が取れないので、いずれまた対応を検討します。済みませんがもうしばらく <br>お待ち下さい。
対応ありがとうございます。上記コードを試してみます。 <br> <br>recent_image.rbのdivided by 0については、静止画の縦横のサイズ取得がうまくできておらず、とりあえずでサイズ取得のところをパッチしたような記憶があります。 <br>こちらでも時間がとれたら検討したいと思います。
はじめまして。 <br> <br>tDiary-3.2.2で,tdiary/config.rb中で定義される base_url の扱いが変わったらしく,3.2.2からImageGalleryを呼び出すと, <br> <br>undefined method `base_url' for nil:NilClass (NoMethodError) <br> <br>というエラーで表示されません。 <br>(tDiary-3.2.1までは正常に動作しています。) <br>
Toshiさん。先ほど、github の tdiary-contrib リポジトリに修正版のソースをコミットしました。tDiaryの公式サイトからダウンロードできる tdiary-contrib.tar.gz にはまだ反映されていないようですので、しばらく待って試してみてください。新バージョンは "2.0.4" です。
先ほどtdiary-contribをGetしてみたところ2.0.4が入っておりましたので,さっそく3.2.2に組み込み,正常に動作することを確認しました。素早い対応をしていただき,どうもありがとうございました。 <br>これであとはexifparserがRuby1.9以降で動いてくれたら言うこと無いのですが…(ぼそっ) (^^; <br>
Toshiさん、tdiary-contrib に入っている lib/exifparser は Ruby 1.9 に対応済ですよ。手元の環境ではこれで動いてますので、確認してみてください。
こんばんは。 <br> すでに最新のtdiary-contribのexifparserを使っておりますので,さきほどもう一度Rubyを1.8.7p371と1.9.3p392と2.0.0p0で取っ替え引っ替えしながら確認してみましたところ,面白い? 結果となりました。 <br> <br> まずRuby-2.0.0p0ではexifparserがエラーとなり使えませんでした。(2.0.0p0でImageGalleryは正常に動きます。) <br> <br> で,私はOLYMPUSの4/3を使っておりますが,E-5だけがなぜか,Rubyを1.9にしますとEXIF dataが取得できずにエラーとなってしまいます。その他の機種,E-300,E-330,E-410,E-420,E-620ではRuby 1.9.3で正常にEXIF dataが表示されます。 <br> これがRuby 1.8.7ですと,E-5を含めた全ての画像でEXIF dataが正常に表示されます。 <br> <br> もっぱらE-5で撮ることが多いので,この妙な現象に気付かず,E-5でエラーになるのを見てexifparserは1.9以降に対応できていないモノだとばかり思っていたのでした (^^; <br> ちなみにE-5のEXIF dataには著作権情報(ArtistとCopyright)が入れられるようになっているのですが,他の4/3機種にはこれがありません。EXIF dataで違いがあるのはこれだけだと思います。 <br> <br>いずれにしろ気付かせていただきましてありがとうございました。このE-5だけがエラーとなることに全く気付きませんでしたから (^^; <br>
いろいろ確認ありがとうございます。Image Gallery が Ruby 2.0.0で動作することは初めて知りました。(^^; <br> <br>exifparser+Ruby1.9 の Artist, Copyright の件はこちらでも再現しました。やはり、この2つのいずれかを設定していると"type mismatch: Fixnum given" のエラーになる、という条件のようですね。ちょっと調べてみます。何か分かったらまたここに書き込みます。
Toshiさん、先ほど、exifparser の tag.rb を修正して github のリポジトリをアップデートしました。引っかかっていたのは "Copyright" タグの方で、元のソースを読むと、"写真家名\0編集者名"という形でデータが入るようです。これを、Ruby 1.9でも正しく解釈できるように修正してみました。 <br>私が持っているカメラではこのタグをカメラ側で設定できるものがありませんので、お手数ですが確かめていただけますか。 <br> <br>
あ、あと、Ruby 2.0.0対応はまだです。こちらは、しばらく時間がかかるかと。
こんばんは。 <br>exifparserの方まで対応していただき本当にありがとうございます。 <br> <br>で,さっそくtag.rbを差し替えて試してみましたところ,Ruby 1.9.3とE-5の画像の組み合わせで正常に表示されることを確認しました。 <br>やはり著作権情報のTagで引っかかっていたのですね。 <br> <br>> あ、あと、Ruby 2.0.0対応はまだです。こちらは、しばらく時間がかかるかと。 <br> <br>いえいえ,これでRuby1.9が使用できるようになっただけでも大助かりです。Ruby1.8が今年6月(来月)でEOLになりますので,これで1.8系を使わずに済むというのは大変助かります。 <br> <br>ありがとうございました。 <br>
exifparserの Ruby 2.0.0 対応を始めようと思って github の tdiary-contrib を pull したら、すでに kp さんが作業を終えていた(!!) kpさんありがとうございました。
またまたすみません。 <br> <br>tDiary-4.0.0,Ruby-2.0.0p247の環境では,現verの2.0.4は,そのままではgemの関係でexifparserが探せないようで動きませんでした。 <br>で,image-gallery.rbの冒頭,"if RUBY_VERSION ..." の中に <br> <br>gem 'exifparser' <br> <br>の1行を書き加えたところexif情報付で画像が表示されるようになりました。 <br>この方法で正しいのか分りませんが,取り敢えずご報告まで (^^; <br>
Toshiさんありがとうございます。 <br>exifparser は最近、tdiary-contrib から独立してRubyGemsからインストールできるようになっていますが、Image Galleryもこちらに対応させないといけないのでしょうね。 <br>exifparser を Gemインストールした場合とそうでない場合(家のサーバはまだこれです)の両方で動作するようにしたいのでちょっと考えます。 <br>※家サーバはtDiary4.0.0 + Ruby2.0.0-p195ですが、gemがまともに動いていません。"gem install exifparser" とすると、Unsupported digest algorithm (SHA512).となってしまうので、おそらく OpenSSL のバージョンが古いのでしょうが…。
毎度毎度の不具合報告で,しかも年末に申し訳ありませんが…… (^^; <br> <br>tDiary-4.0.2ですと,新規に画像を貼り付けた時にキャッシュデータを更新出来ないようです(4.0.1では問題ありませんでした。)。 <br>エラーも何も全く出ないのでしばらくは気付かなかったのですが,画像を追加してもギャラリー一覧に新規画像が全く登録されないので,それでやっと気付いたというような状態です。 <br> <br>それと,つい最近知ったのですが,tDiary-4.0.0以降で新規にImage Galleryを組み込もうとすると,「SecurityError Insecure operation - glob」とエラーになってしまい,全く使えません。 <br>最初にtDiary-3.2.2で新規に組み込み,キャッシュデータが一度出来上がってしまえば,その後は4.0.0でも4.0.1でもキャッシュデータの更新は可能,というだけだったようです。 <br>
Toshiさんレポートありがとうございます。 <br> <br>4.0.2 の問題はこちらでも認識していまして、最新の tdiary-contrib にある recent_image.rb に置き換えれば解決します。リリースのアナウンスが出来ていなくて恐縮です。 <br> <br>ただ、もう一方の問題が…。こちらは手元の環境でも再現しました。recent_image.rb が日記の全文検索をかけるところで逝ってますね。 tDiary 4系でこの当たりの構造が変わった影響のようです。修正方法を検討します。 <br>
Toshiさん、済みませんが /misc/plugin/recent_image.rb を最新のものに置き換えたうえで、187行目で " TDiaryMonth” としているところを、 "TDiaryMonthWithoutFilter" と変えてみて試して頂くことは出来ますか。 <br>手元の環境ではこれでキャッシュデータが作成されるようになりました。 <br>
どうもありがとうございます。 <br> <br>recent_image.rbを最新のものへ置き換え,tDiary-4.0.2で新規画像を追加してみたところ,キャッシュデータへ正常に記録されました。 <br>また,187行目を書き換えて,tDiary-4.0.2にて新たにキャッシュデータを生成できることも確認しました。 <br>念のためtdiary-3.2.2から(4.0.0, 4.0.1, )4.0.2まで試してみましたが,いずれも正常に動作しているようです。 <br> <br>ちなみに,今回の動作テストでは最新版のRuby 2.1.0p0で行いましたが,全て正常に動作しているようです ;-) <br> <br>これで無事に新年を迎えられそうです(笑 <br>よいお年をお迎えください。 <br>
Toshiさん <br>確認ありがとうございました。いろいろ試して頂いて感謝です。 <br>今年のうちに解決できてよかったです。:-) <br>来年もよろしくお願いします。 <br>
<b></b> <br> <br>