毎秒1000リクエスト を捌く超高速CMS「adiary」
2007/02/24(土)Windowsで擬似データベース運用のアップグレード不具合
障害対象
以下の環境においてデータベース情報に問題が発生し、コメント書き込み時にエラーや不具合が発生することが確認されました。
対象サーバ | Windows系 |
---|---|
対象DB | 擬似データベース(pesudo DB) |
その他条件 | 1.04以前から1.10以降にアップグレードした場合 |
症状 | コメント書き込み時にエラーが出る |
原因 | 改行コードに関する内部仕様の変更 |
対象となるかたは、こちらから修正済のDB_pseudo.pmを落として、lib/Satsuki/DB_pseudo.pm に上書きしてください。ご迷惑をおかけし申しわけありませんでした。
なおこの不具合は、Windows環境以外では発生しません。*1
公式Ping Serverの不具合
ある長さ以上のURLから更新通知を送ると、途中で省略されてしまう("..."となる)不具合がありました。現在は修正されています。大変ご迷惑をおかけしました。
追記
修正ミスがあったので、再修正しました。
その他
adiaryでは不具合に関する情報を広く受け付けています。リリース時、一応確認はしていますが、すべての運用環境の組み合わせをテストすることは不可能で、どうしても単純な見落としによる不具合が発生してしまうことがあります。
おかしいなぁーと思ったら気軽にお問い合わせください。
2007/02/17(土)カテゴリ記法
カテゴリ記法(Version1.11以降)
特定のカテゴリの一覧を表示する記法です。
[category:プログラム:プログラム記事] [category:adiary::記法]
と入力すると
となります。
2007/02/05(月)trust mode(トラストモード)について
adiaryのタグ利用制限の解除
標準状態の adiary では、マルチユーザー環境で信頼出来ないユーザーにアカウントを付与してもセキュリティー上の問題が発生しないように設定されています*1。タグの利用制限が他のツールに比べて厳しいのもこの影響です。
しかし、個人で adiary を利用する場合、この制限は非常に煩雑なものです(詳細デザインなどでもタグの利用制限がかかります)。これを撤廃するモードが adiary には存在します。そのモードを trust mode(トラストモード)と言います。
adiary.conf.cgi の95行目付近(loadpm("Diary")より後)にある次の設定を有効にしてください。
<$v.trust_mode = 1>
管理者のみトラストモードにする設定
adiary 1.31以降では、管理者権限を持つユーザーのみタグの利用制限を外すことができます。adiary.conf.cgi に次のように設定します。
#<$v.trust_mode = 1> ←この行は有効にしない <$v.root_trust_mode = 1>
2007/01/11(木)時刻記法
時刻記法(Version1.03以降対応)
特定の書式で、書き込み時刻(初公開日時)を表示する方法です。*1
[time:%Y/%m/%d] [time:%H:%M:%S]
などと書くと
[time:%Y/%m/%d]
[time:%H:%M:%S]
と表示されます。
%Y %y %m %d %I %H %M %S %w %s %e %j %k %l %a %p
が使用出来ますが、詳細はstrftimeを参照してください。
またadiary拡張として次のものが使用できます。
%n | 月表記(桁可変) |
---|---|
%i | 12時間表記( 0-11) |
%L | 12時間表記(00-11)(2桁) |
%J | 0~24時以降、日付変更時間まで深夜表記 |
%K | 0~24時以降、日付変更時間まで深夜表記(2桁) |
2007/01/04(木)adiary + Apache 1.3
adiary + Apache 1.3において、PATH_INFOの解析に失敗することがある不具合を発見しました。mod_rewrite + single ユーザーモードで発生しやすいようです。症状としては、カレンダーで前月に辿れなかったりします。次期バージョンで対応しますが、応急処置的には次のような修正を行ってください。
lib/Satsuki/Base.pm の 1180行目付近に次の一行を追加してください。
$ENV{PATH_INFO} =~ s|//+|/|g; ←追加する行
my $str = substr($ENV{PATH_INFO}, 1);
$str =~ tr/+/ /;
my @pinfo = split('/', $str);
Base.pm:修正したファイルを置いておきます。(Base.pm 52KB)*1
特に問題が発生していない方はこの修正は不要です。
追記
そもそも特定状況下にてパス自動解析の動作が怪しい様子だったのですが、手元でApache1.3環境を用意して色々とテストしてみたものの、不具合が再現できませんでした。*2