写真は好きだがデジカメはそんなに好きじゃないので、手元にデジタルの画像はあまりない。1だから画像の整理も日付(と場所)の入ったディレクトリを掘ってそこに突っ込むだけ。とりあえず ViX とか Graphic Converter とか xnView とか使って縦横を揃える、簡単な補正を GIMP や Photoshop などで加える2と言ったことはするけど、いわゆるアルバムソフトの類いは使ったことがなかった。ただこの方法に不満がないわけじゃなかった。
画像にコメントを加えてそれで検索できたら便利なのに
ということだけ。ま、それだけじゃアルバムソフトの選択のポイントにならないので、以下に自分の条件を洗い出してみた。
背景
- 自分の撮った写真を整理できればそれでいい
- 例えば誰だか知らない人の写真を自分が管理するようなことはまったく想定していない。例えばネットで画像を集めるようなこともまったく考えてない。
- これまでの画像の整理は日付と場所を名前にしたディレクトリを掘るだけ
- 作品としてのアルバムを作るソフトがほしいわけじゃなくて、単にフォルダ単位で画像が放り込めて、それが一覧できれば ok
ほしい機能
- Web で閲覧できる
- 家族や組織内で情報を共有しようと思ったら重要だし、サーバに置く方がバックアップとか考えるのが楽
- 画像の詰まったディレクトリを所定の場所に置くだけでよい
- DB にインポートとか余計な作業が必要ないもの。従前の自分の写真の管理方法とのギャップがいちばん少ないものが嬉しい。
- 画像にコメントを加えることができる
- これをキーに検索できればなおよし。
ほしくない機能
- コメントの付加やアルバムの追加などの作業が Web インターフェイスでしか行えない
- Web インターフェイスはたるいので細かい作業はやりたくない。クライアント PC で作業して、できあがったディレクトリをサーバに転送するだけ、という感じがよい。
- rating とか閲覧者からのコメント付加
- photolog やりたいわけじゃないし、やるとしてもその前段階としてまず自分の写真の整理が必要でしょ。そのためのツールなので対ユーザを意識した機能は不要。
- DB を要求する
- すべての画像に対して詳細にデータをセットしてあって、そこからズバッと検索するという用途には DB は向いていると思うけど、普通、ほしい情報って「いつどこで何を撮った」くらいでしょ? DB なんか要らないって。スペックマニアが「このレンズで撮った写真はどれだっけ」なんて検索をする可能性を考慮してくれる必要はまったくない。3
というわけで sourceforge.net で web と photo をキーワードにして検索。いっぱい出てくるので気長にいく。試したソフトと簡単なメモを以下に順番通りに。テストは OS X と FreeBSD で行ったが、この手のツールはほとんどが PHP + GD で動いていて、OS X の PHP がどういう build になってるのか分かっていないのでほとんどは FreeBSD の ports で入れた PHP 4.3.11 でテスト。
slooze
- 画像のサムネイルは生成されているみたいなんだけど、うまくそれが表示されないんですが?
- なんか Roll とか Topic とか細かい言葉の意味がよく分からない
作者とセンスが合わないらしい。
mig
- short_open_tag が On じゃないと動かない
- albums/ ディレクトリ作成
- 写真のディレクトリをその中に放り込む
- ImageMagick 必要
- mkGallery.pl も手作業。
PHP は確かに 3 以降で動くかもしれんけど、Perl も ImageMagick も必要だし、なんか手作業が多くてどうも。short_open_tag も微妙に気持ち悪いし。
yapig
とりあえず動いたけど、国際化の部分がよく分からないのと、ギャラリーの編集がよく分からないなぁ。
phpgraphy
まったく動く気配なし。検証する気も起きない。
yappa-ng
動かないなぁ?
spgm
動くんだけど、thumbnail 周りが動かない? てか thumbnail 作成機能ないの?
gallery
ちょっと大げさな感じがするのでスルー。
singapore
いちばん簡単で確実に動き、なおかつきれいかも。
singapore 0.9.11 のディレクトリ構造の一部を抜粋するとこんな風になっている。
.
|-- data
| ここに cache/ を作る
|-- docs
| |-- Development.html
|-- galleries
| ここに画像の入ったディレクトリを放り込む
|-- includes
|-- install
|-- locale
|-- singapore.ini
|-- templates
| |-- admin_default
| `-- default
`-- tools
最低限必要なことは、galleries/ の中に画像の入ったディレクトリを放り込むだけ。
各種設定
- data/ の中に cache/ を作っておかないとサムネイルがキャッシュされないので激しく重い
- singapore.ini で全体の設定
- 0.9.11 では日本語リソースは最初から入っているので default_language = "ja" にするだけで日本語化完了
- 見た目は template で行う。tDiary と同じように templates/ 内に使いたい template のディレクトリを放り込み、singapore.ini で default_template を変えれば ok1
- template ごとに template.ini で細かい調整が可能。サムネイルのサイズや一覧するときの画像の数など
- メタデータは画像ディレクトリ内の `metadata.言語コード.csv' ファイルで行うか、ファイル名に埋め込む。
- csv でメタデータを記述するときのフォーマットはドキュメントの Development 参照。
singapore の足りないところ
singapore には当初の目的のはずだったコメントで検索するという機能がない。でもまぁ、csv にメタデータを書けることが分かったので、とりあえず自分の用途では grep すれば ok という状態に。Web のインターフェイスを付けるのもそんなに面倒じゃないと思う(検索結果が template にハマる調整するのが面倒か)ので、その辺はおいおい考えることにする。
もう一つ、画像を縮小して表示する設定にしておくと、元画像をダウンロードすることができないのは惜しい。今どきの元画像の大きさじゃページのバランスを崩すだけだし縮小表示は当然だと思うけど、そこから元画像へのリンクがほしかった。まぁ初期設定では galleries/ は Web に公開されてる場所にあるのでそのまま直打ちして取り出すことはできるし、自分用ならサーバから直接取り出せばいいって話ではあるいんだけど。
template_flipper を on にするとユーザが自分の好きなように select でテンプレートを変更できるようになる。 ↩
実はファイルシステムがメタデータを抱え込むだけでコメント検索はできる。
MacOS にはファイルにコメントを埋め込む機能があるので実は昔からこれは可能だった。似たようなことは WinFS でも可能になるだろうから、ますます Windows か Mac 使ってるなら何も用意しなくていいよ、という状況になってきている。
しかしそうなるとサーバに画像放り込んでおきたい、となったときには Windows か MacOS をサーバにしなくちゃならなくなる。特定の OS に縛られるのは好きじゃないのでこれは避けたい。Web ベースにしたいのに特定の OS に縛られるなんてばかばかしいじゃん1。
イントラ向けの商用 Web アプリは OS 限定しまくりですが ↩
ついでに昔話をすると、JPEG や PNG の画像に直接コメントを埋め込むタイプのアルバムソフトってないかなーと思っていた。自分の必要な機能からいくと、その方法にしてくれれば余計なメタデータは一切ないので、画像データを自由に移動できるうえに検索性を損なわない、と思っていたけどそんなことしたら個人的なメモが外にバラまかれる可能性があるじゃん、ということにずいぶん経ってから気がついた。
当時そんなソフトがあったら喜んでプライバシーを漏らしまくっていたに違いない。ま、他人に渡せる写真に関してだけだけど。