2008/09/08(月)ドラッグアンドドロップ

アルバムで使うべくライブラリ化を目指してましたが、アルバム特有の処理*1が多すぎるので挫折。
httpの通信部と共にuploader2.jsに組み込んでしまうことにします。

*1 : 複数まとめてドラッグ、フォルダ限定でドロップなど

現在の課題

ドラッグする画像を、position: absoluteにすると、windowをリサイズしたときに、位置が再計算されない。
一度autoに戻してresizeして、再度absoluteにする必要があるかもしれない。

2008/09/02(火)firefox addonとの連携

firefox限定ですが、アップロードが楽になりました。

アップロードフォームからわざわざ画像を選択しなくても、アルバムのコンテンツエリアにファイルをまとめてドロップすると、自動的にアップロードフォームにファイルが登録されます。あとは、アップロードボタンを押せばアップロードは完了です。
アップロードボタンも +, -の右側に表示されているuploadボタンでいいので、アップロードフォームを表示する余計な手間がかかりません。

アルバムのコンテンツエリア
アップロードフォーム
自動で登録される

サムネイル 2008/09/02

サイズ間違えた...
もう一回り小さいの作ったつもりだったのに。
面倒なのでこのままで(汗)

2008/09/01(月)adiaryで使ってるJavaScriptの整理

汎用メソッドがいろいろぶつかって危ないので、一部メソッドをadiary.jsに移したり、名前を変えたりいろいろと整理中。
とりあえず、resizeform.jsを整理してオブジェクトにまとめた。Firefox3とIE7で動作確認してるのできっと他でも動くと信じることにする*1

明日はupload.js, upload2.jsを整理することにする。というか、今のままだといろいろ不都合があるので、まるまる書き直すかもしれない。

*1 : さすがに公開前にはテストしますが

2008/01/18(金)メーリングリスト

そのうち,この記事はユーザ会行きになると思います.

adiaryにはメーリングリストがあります.日々いろいろな意見が飛び交う場所です*1

一部,皆さんの意見を待っている記事もありますので紹介します.
意見は,直接メーリングリストに参加して頂けるほうが良いのですが,都合で参加できない場合は,この記事にコメントして頂ければ代行して流します.

*1 : 一部誇張表現あり(汗)

記法のソースを見る

記事を書いたときのソースを表示するための機能です.この機能を使うことによりadiaryの記事のソースを読むことができます.

メリット/デメリット

  • メリット
    • 他人のソースを読むことで,記事の書き方の参考になる
    • テンプレート的な使い方が出来るようになる
  • デメリット
    • ソースを覗かれてしまう(秘匿できない)
    • ソース中にコメントなどを書いている場合,それを覗かれてしまう

世の中の動向

wiki系

複数人で記事を編集できるWiki系は当然この機能を持っています.というより,ログインすれば見ることができるので付けても付けなくてもあまり変わりは無い.

はてな

一時的に実装されましたが,1月程度で廃止になったようです.
浅野さんの投稿より抜粋

はてなダイアリーに同様の機能がありましたが、先日廃止されています。

  http://hatena.g.hatena.ne.jp/hatenaidea/20071101/1193914068
  http://d.hatena.ne.jp/hatenadiary/20071227/1198746202

議論中

というわけで,このような機能を実装するべきか検討中です.
今のところ

  • 実装して欲しい
    • 他のユーザの記事の書き方が参考になる
  • 実装するなら,表示を許可する/しないを選択できるようにすべき.
    • ソースを見られたくない人もいる

という意見が出ています.

現在,adiaryのレンタルブログでは,テストとしてurlの後ろに?sourceを付けると記事のソースが表示されるようになっています.この記事の場合,http://serika.blog.abk.nu/0798?sourceになります.ただし,記事中のコメント部<!-- コメント -->は表示されないように削除されます.

日付部のリンクの挙動

メーリングリストのログ

表示されている記事の日付部に貼られるリンク先についてです.現状では日付部,タイトル部共にその記事自体にリンクが張られるようになっています.日付部は記事ではなくその日に対してリンクを張るべきではないかという意見がでています.

以前,adiaryには日記モードという1日1記事というモードがあったのですが,それが廃止されることに伴い現在の仕様になりました.

世の中の動向

レンタルブログでの動向

適当に有名どころを調べてみました.間違っているかもしれませんが,参考程度ということで見てください.

  • 日付部はその記事の編集を行うためのリンク
  • タイトル部はその記事へのリンク
  • 基本的に1日1記事が前提
  • 記事はその日の「書き込み」が並ぶ
  • 日付部は日付のリンク
  • 書き込みのタイトル部にはリンクが張られない
  • 代わりにPermalinkがその書き込みを表すリンクになっている

はてなとほぼ同様.ただ,日付にリンクが貼られない.

  • 基本的に1日1記事が前提
  • 記事はその日の「書き込み」が並ぶ
  • 日付部,書き込みのタイトル部にリンクが張られない
  • 代わりにPermalink,この記事のURLがその書き込みを表すリンクになっている
  • 日付部にリンクが張られない
  • タイトル部はその記事へのリンク
ブログシステム編

調べるの面倒になったので,未稿

movable type, word pressなど.

まとめ
  • 日付部を日付にリンクするタイプ
    • はてな
  • 日付部を記事にリンクするタイプ
    • adiary
  • どこにもリンクしない
    • livedoorブログ
    • ヤプログ!
  • 他(記事編集のためのリンク)
    • FC2ブログ

議論中

というわけで,日付をどこにリンクすべきか検討中です.
今のところ

  • 日付にリンクして欲しい

という意見が出ています.

2008/01/18(金)要望とか,メモとか

ariary利用者のページ

adiaryユーザが更新通知Pingを送信した場合に自動でリストされるのですが,最近ユーザが増えてきたため,2-3日更新しないとあっという間に流されていきます.個人的には1週間ほどは残っていて欲しいところ.というわけで30を50位に増やしません?

Javascriptを利用した表示,非表示

いわゆるコメントとかトラックバックの▼のこと.普通に記事中でも使えると助かります.Cのソースなどを載せるとき,“続きを読む”で隠すよりは,display:noneで隠したいところ.
javascript:changeを自由に使えるようにしるー

カテゴリリスト

非表示にすることで,サブカテゴリの記事数が0になっても▼が残ってます.できれば非表示にして貰いたいところ.
できなければ,“サブカテゴリはありません”でも構わないので入れて貰いたい.

wikiのテンプレート

記事を書くときのテンプレートが欲しい.テンプレートを呼び出して,必要な部分を書き換えて投稿.wikiの機能としては基本的なところ.

ただ,テンプレート記事を非公開で置いておけばいいので無くても困らない.用意されてるとすごく楽になるだけのこと.

2007/12/06(木)せりかのアルバム adiary ver.1.06

微妙に開発中.
おそらく冬コミでの公開になると思う.

変わった点

アイコンの変更

味気ない単なるアイコンが一新されました.

フォルダの階層化

任意の段数までフォルダを作れるようにした.

ファイルの移動

複数ファイルをまとめて移動できるようになりました.

ファイルの削除

実装されていたものをはずす.

代わりにゴミ箱機能を実装.
一度ゴミ箱に移動してから,ゴミ箱を空にするコマンドを実行.
confファイルでゴミ箱を使用しない設定にすれば,ゴミ箱に移動せずに直接削除可能.

エラーメッセージなどをjavascript側で出すようにしたいなぁ.

フォルダの移動

フォルダ自体を移動できるようになりました.
ゴミ箱に入れればフォルダを消すことも可能です.

ハッシュを使った画像の追跡

作成予定
現在仕様検討中
無期延期.

動かない環境があったとき,個人ではサポートしきれない.
ユーザ会とかもうちょっとまともに動ける環境ができてから考える.

.htaccessのredirect

どこのサーバでも使える?
一応apacheのcoreモジュール機能らしいけど

バグフィックスなど

広告付きサーバへの対応

ページ上部に広告を出されたとき,広告の分だけ表示領域がずれ,アップロードフォームなどが隠れてしまっていたバグを修正.
ページ下部の広告は隠れたままなので注意が必要.

2007/12/01(土)IIS 5.1

動作が謎すぎる.
Image/Magick.pmをロードしようとすると固まる.
AN HTTPD + ActivePerl with ImageMagickでは問題なくサムネイルが作れるのに.

ソースは公開しているので,だれかIISに詳しい人に任せたいところ.

その後 2007/12/01

PATHを変更した後は再起動が必要だったらしい.
サービス停止,起動だけでは再読込されないらしく,PC自体の再起動が必要っぽいです.

おかげで,無事にサムネイルは作れました.

2007/11/23(金)せりかのアルバム adiary ver.1.05

一通り作った.
でも,普通に使ってると要らないと思われる機能ばかり.

もうちょっとデバッグしたら公開できると思う.

変わった点

インターフェース

フォルダリスト,画像の表示領域が最大になるように調節してあります.
Javascriptを使ってサイズを調整しているため,Javascriptが使えない環境だと表示が崩れる可能性があります.

ログインしているときの表示
ログイン時の表示1
ログイン時の表示2

ログインしていないときの表示
非ログイン時の表示

複数ファイルのアップロード

複数のファイルをまとめてアップロードできるようになりました.
ファイルサイズの制限は,1つずつではなく,アップロードするファイルの合計サイズがチェックの対象になります.大きなファイルをアップロードしたい時は,まとめてアップロードするのではなく,1つずつファイルを指定してください.

同時にアップロードできるファイル数に制限はありません.
+/- ボタンをクリックすることでアップロードフォームを追加/削除することができます.

複数ファイルのアップロード

サムネイルのアップロード

ファイルをアップロードするとき,サムネイル画像を指定すればその画像がそのまま使われます.サムネイルだけの置換はサポートしていません.すでにアップロード済みのファイルにサムネイルを指定したい場合は,ファイルを一度削除後,改めてアップロードしてください.

注意

ここでアップロードされるサムネイルはjpg画像であることが前提になっています.
他の形式はサポートしていないため,あらかじめjpg画像に変換してからアップロードしてください.

画像以外をアップロードしたときのサムネイルの作成

画像以外のファイルをアップロードしたとき,画像情報を元にサムネイルを作成するようになりました.

以下の機能は暫定的なものです.将来,機能自体を削除する可能性もあります.

TrueTypeFontを用意することでサムネイルにファイル情報を埋め込むことができます.ここで埋め込まれる情報は,ファイル名,ファイルサイズ,アップロードしたときの日付です*1
詳しくはインストールの仕方を参照してください.

*1 : そのうち書式化したいところだけど...

ダウンロード

ダウンロード@せりかのアルバム adiary出張版

一応ここにも置いておく.
adiary-album-1.05.lzh

インストール・アップデートの仕方

使い方@せりかのアルバム adiary出張版

uploader.conf.cgiでの変更箇所

  • スケルトンディレクトリの指定{<$Skelton_dir = "<@Skelton_dir>uploader/">}
  • フォントの指定{<$v.font = '/usr/X11R6/lib/X11/fonts/TTF/xxx.ttf'>}\サムネイルに画像情報を埋め込まない場合は必要ありません
  • スケルトンディレクトリを指定した事によるパスの変更{<$v.form_skelton = 'form'>}{<$v.response_skelton = 'response'>}{<$v.error_skelton = 'error'>}{<$v.album_skelton = 'album'>}
  • アイコンフォルダの指定{<$v.album_icons = "<@Diary.public_dir>uploader/">}
  • アイコンの指定{<$v.etc_icons = begin_hash>}{ . = nothumb.gif}{ lzh = lzh.gif}{ zip = zip.gif}{ mp3 = mp3.gif}{ m4a = m4a.gif}{ wma = wma.gif}{ ogg = ogg.gif}{ avi = avi.gif}{ wmv = wmv.gif}{<$end>}

追加機能

フォントの指定

この機能は暫定的なものです.将来,機能自体を削除する可能性もあります.

TrueTypeFontがあると,画像以外をアップロードしたときにサムネイルにファイル情報を埋め込むことができます.フォントは各自で用意してください.また,日本語フォントはライセンス的にきわどいところが多いため,フォントファイルはウェブからアクセス出来ないフォルダに置くようにしてください.

表示例

左がフォントを指定したときのサムネイル,右がフォントを指定しなかったときのサムネイルになります.

フォントを指定したときと指定しなかったときの違い

この例ではhttp://www.tosu.org/Osaka fontのUNICODE版を利用させて貰っています.

パスの指定

<$v.font = '../osaka.unicode.ttf'> # 相対パスで指定
<$v.font = '/usr/X11R6/lib/X11/fonts/TTF/xxx.ttf'> # 絶対パスで指定
上記の様にフォントファイルへのパスを指定したあと,先頭の#を消す必要があります.

現時点での修正点

  • アニメgifをアップロードしたとき,先頭のコマのみをサムネイルにするように修正
  • メール投稿時ファイルがアップロード出来なかったバグを修正
  • 日本語ファイル名の画像をアップロードしたとき,一部のブラウザで正しく表示できなかったバグを修正
  • ファイル・フォルダの構造を変更
  • 複数のファイルを同時にアップロードできるようにした
  • サムネイル作成時にファイル情報を埋め込めるようにした
  • サムネイルファイルをアップロードできるようにした
  • Javascriptを別ファイルに分割した
  • アイコンをいくつか追加した
  • NetPBMによるサムネイルの作成機能を削除

FAQ

  • サムネイルを指定してアップロードしたのに,サムネイルが正しく表示されない
    • サムネイルはjpg形式でしたか?\現在のバージョンではjpg以外の形式には対応していません.画像の形式を変換するフリーソフトがいくつかありますので,そちらで形式を変換後アップロードしてください.
  • 埋め込みサムネイルを利用したい\未対応です.ImageMagickだけではexif情報を取得することができないため,未対応としています.
  • フォントを指定したのにファイル情報が出ない
    • アイコンが真ん中に表示されている\フォントパスの指定が間違えているようです.正しく設定されているか確認してください.
    • アイコンが上半分に出て,下半分が真っ白のまま\フォントファイルが壊れているか,Unicodeフォントではないようです.最近のフォントは大体Unicodeにマップされていますが,Shift-JISにマップされているフォントもあります.そのようなフォントはここでは利用することが出来ません.Unicodeに対応したフォントファイルを用意してください.

ToDo

  • ゴミ箱機能の実装
  • ファイル
    • 移動
    • 加工
      • 90度回転
      • 落書き
  • フォルダ
    • 管理
    • 削除
  • サムネイル
    • 単品でのアップロード
    • 再作成
    • jpg以外への対応

2007/11/21(水)文字の扱い

ImageMagickは文字を画像に埋め込むのにTTFを要求する?
GDだと欧文の場合,フォント指定無しでいける模様.

もうちょっと調べてみないことには分からないけど...
フォントを必要とする場合はどうしよう.

フォント 2007/11/22

やっぱり必要らしい.
サムネイルにファイル情報を埋め込みたいときは,ユーザにフォントを用意して貰うことにする.