毎秒1000リクエスト を捌く超高速CMS「adiary」
2009/12/16(水)adiary Ver2.12リリース情報
Ver2.11に対しバグ修正を行いました。変更点を参照の上、必要ならばバージョンアップしてください。
Ver2.11→Ver2.12の変更点
- テーマディレクトリを変更すると「印刷用の表示」がリンク切れになるバグを修正。
- クラス追加。div.hatena-body0, a.adiary, li.to-album (_frame.html/_sidebar.html)
- 浅野さんご指摘&パッチ(感謝)。
- アルバムのサムネイルビューでサムネイル上にマウスカーソルを置いたときにポップアップする情報が実際のファイルと一致しないバグを修正。
- アルバムのスライドショーでファイルを選択したときに左上に表示されるファイル名とバイト数が実際のファイルと一致しないバグを修正。
- アルバムで「すべて選択」「選択を解除」ボタンをクリックしても正常に動作しないバグを修正。
- 携帯画面でのコメント表示がエラーになることがある不具合を修正。
- スーパーpre記法中等に行頭にスペースが1つ入る仕様を変更したことによる、バグ混入の問題を修正。*1
- aa記法が効かないバグを修正。
- テーマ選択時に下フレームで表示される画面のHTML(スケルトン)が正しくなかった問題を修正。
- テーマによって、「日記の削除/コメント・トラックバックの編集画面」でコメント・トラックバック件数部分の表示がおかしくなる不具合を修正。
- Ver2.06以降、アップローダーで中間拡張子チェックで"adiary-1.00.tgz"などが跳ねられてしまう問題を解決するため、数字など特定の文字を含む拡張子を許可する機能をつけました。*2
- アップローダーで0byteのファイルをアップロードできるようにしました。*3
Version2.00(β含む)以降からの乗り換え
- そのまま上書きしてください。
- Ver2.11以前の場合、uploader.conf.cgi をサンプルから再生成してください。
なおVer2.06よりアルバムシステム関連のJavaScriptの置き場が変更になっていますので、紛らわしい場合は theme/*.js を消してから上書きしてください。
Version1.44以前(C73/2.00α含む)以前からの乗り換え
Version2.00への移行処理を先に行ってください。
2009/11/23(月)adiary Ver2.11リリース情報
Ver2.09に対し、細かな機能変更とバグ修正を行いました。
Ver2.09→Ver2.11の変更点
- 擬似データベース(pseudo DB)使用時、wikiコンテンツを開こうとするとDB速度が著しく低下する問題を修正しました。擬似データベース使用者は「管理」→「システム管理」→「管理者メニュー」→「Version 2.09以前 → Version 2.10以降へのアップグレード」を実行してください。擬似データベース以外は実行できません。
- アルバムにソートの機能が付きました。
- 一部テーマファイルのCSS修正。
- 静的出力時に埋め込みテキストを出力しないオプションを追加。
- MySQLにて記事テキスト本文に64KBまでしか保存できない問題を修正しました。(新規に作成した日記帳のみ有効)*1([ml:users:356:Thanks to ひとぅ])
- rss10.html, rss10short.html, rss20short.html でRSSが生成できないバグを修正しました。([ml:users:361:Thanks to 小沼])
- 次のような記述ができないコンパイラのバグを改善しました。
<$ifexec(index(ENV.HTTP_USER_AGENT, 'iPhone')>=0, begin)>
- adiaryスーパーpre記法に行頭にスペースが1つ入ることがある仕様を改善しました。(Thanks to nblog)
- theme?xxx/xxx といったページ表示時にそのページを検索対象外にするmetaタグを出力するようにしました。
- 月別リストの古い年を折りたたむようにしました。(Thanks to G)*2
- C74で配布したbigblueを収録しました。
- C76で配布したyuuテーマを収録しました。
- 【携帯】コメントの表示件数を10件ごとにしました。
なお、[ml:users:0369:メーリングリストにある]のようなiPhone専用テーマを作成したいときは次のような細工をしてください。(関連URL)*3
<$ifexec(Is_mobile, begin)> <$v.template_dir = "<@theme_dir>satsuki-mobile/"> <$v.theme = 'satsuki-mobile')> <$end>
の後ろで
<$ifexec(0 <= index(ENV.HTTP_USER_AGENT, 'iPhone'), begin)> <$v.template_dir = "<@theme_dir>satsuki-mobile/"> <$v.theme = 'iphone'> <$Is_mobile=1> <$end>
Ver2.11β1からの変更ファイル
- diary.skel/format/month_list.html
- lib/Satsuki/Diary.pm
Version2.00(β含む)以降からの乗り換え
- そのまま上書きしてください。
- Ver2.05以前の場合、uploader.conf.cgi をサンプルから再生成してください。
なおVer2.06よりアルバムシステム関連のJavaScriptの置き場が変更になっていますので、紛らわしい場合は theme/*.js を消してから上書きしてください。
Version1.44以前(C73/2.00α含む)以前からの乗り換え
Version2.00への移行処理を先に行ってください。
2009/07/07(火)ライセンスは難しい
(現在配布されている)MySQLのライセンスはGPLv2であるので、クライアントライブラリとリンクするソフトウェアはGPLv2と互換性がなくてはいけないと思っていたのですが、FOSS ライセンス除外規定というものがあって、この中のライセンスなら除外規定の適用を受けて何ら問題なく使用出来るらしい。
しかし、なぜかこの中にはGPLv3が含まれない。でもって、世の中にはGPLv3でMySQLというWebアプリがいくつも存在する。*1
もうひとつ気になっているのがAGPLv3。AGPLv3はGPLv3とリンクさせる限り自由であるので、AGPLv3のアプリに対してGPLv3のソースを書いて拡張すると、AGPLv3のAGPLv3たる意味がほとんど無力化するような気がする。
mod_perlのライセンス
そういえばmod_perlってのはApacheとリンクして動的に操作する仕組みであるので、Apache Licenseの適用を受けるんだけど、これはGPLv2とは互換性がなくて、GPLv3とApache License 2.0は互換性がある。MySQLでmod_perlなMovable TypeのGPLv2版とかどうしてるんだろう?
注意
この記事を信用してなにか失敗しても何ら責任は負いかねます。ライセンスの確認は必ず各自で行いましょう。
2009/07/01(水)adiary Ver2.09 リリース情報
Ver2.08に対し、バグ修正とメール解析ルーチンを改良したものです。
- 7/15 リリースしました(RC5と同一)。
Ver2.08→Ver2.09の変更点
- rel="canonical" に対応しました。はてブ対策
- 【セキュリティfix】第3者レンタル時のセキュリティホールを修正しました。
- 【fix】トラストモード時も、タグ中JavaScriptがエスケープされる問題を修正しました。(Thanks to tmz)
- 【fix】2.04から実装された、メール投稿時のファイル名を日時で書き換える機能が配布物にまだ完全に含まれてなかったのできちんと収録しました。(Thanks to nasano)
- 【fix】(RC3)記法ヘルパーの見出し記法が(少なくともFxで)クリックできない問題を修正しました。
- 【メール投稿】RFC2231形式やUTF-8のMIME等にきちんと対応しました。詳細情報。([ml:users:00343:Thanks to ひとぅ])
- 【メール投稿】Content-DispositionとContent-Typeの2つにファイル名が設定されるとき、Content-Dispositionのファイル名を優先するようにしました。iPhone対策ですが問題がある場合はお知らせください。
- 【メール投稿】メール投稿時のファイル名を日時で書き換える機能の設定に関わらず、同一ファイル名があるときファイル名を日時にリネームする機能を付けました。
- 【メール投稿】(RC3)メールのパースをRFC3676に準拠しました。([ml:users:0351:Thanks to ひとぅ])
Version2.00(β含む)以降からの乗り換え
- そのまま上書きしてください。
- Ver2.05以前の場合、uploader.conf.cgi をサンプルから再生成してください。
なおVer2.06よりアルバムシステム関連のJavaScriptの置き場が変更になっていますので、紛らわしい場合は theme/*.js を消してから上書きしてください。
Version1.44以前(C73/2.00α含む)以前からの乗り換え
Version2.00への移行処理を先に行ってください。