1.4.6 からの変更点†
これまでの変更点†
以下のページを参照してください。
RecentChangesキャッシュ (recent.dat) 周りの高速化†
recent.dat を取り扱う処理の多くについて、ディレクトリやファイルに対する過剰なアクセスを行わなくなります。また、編集時の待ち時間がWikiのページ数に比例しなくなります(AutoLinkが有効の場合、従来通りになります)
編集処理の高速化†
(dev:BugTrack2/151)
※この機構はAutoLinkが無効($autolink = 0)のときに限り動作します。現状のAutoLink実装は、毎回 DATA_DIR の走査(全てのページ名のチェック)を要求しています
- 編集/新規作成時に:
- ページ名が $non_list に合致するのであれば、 recent.dat 周りの処理を行わない
- 既存の recent.dat を再利用する (再生成を行わないため、負荷がページ数に比例しなない)
- ページ削除時に:
- ページ名が $non_list に合致するのであれば、 recent.dat 周りの処理を行わない
- 一定の限度(デフォルト:10件)までは既存の recent.dat を再利用する (再生成を行わないため、負荷がページ数に比例しなない)
その他†
編集処理: バックアップ時のオーバーヘッド除去 (Patched by ko-zu)†
(dev:BugTrack2/159)
- バックアップデータを更新する時に無駄なメモリを確保したままにしない
検索処理関連:†
検索処理の高速化 (Pointed out by Cue)†
(dev:BugTrack2/171など)
検索処理に関するオーバーヘッドを削減
- get_search_words() がより高速に動作する
- 絞込み条件($non_list等)を検索処理の前に適用する
- より高速な正規表現オプションを用いる
- ページ内容を読み込むとき、より効率的な方法で読み込む (get_source()を拡張)
- ページの一覧を得るとき、最大でページ数( x 平均ページ長) の一倍の量のメモリを要求する (二倍ではなく)
- ページ名が検索条件に合致したとき、ページ内部のチェックを行わない
- $show_passage が無効である時には、ページの更新時刻を調べない
その他†
差分表示: 行頭に半角スペースが付かなくなる†
- dev:BugTrack2/139 差分(変更点)表示の先頭のスペースを削除したい
- ちょっとした修正であれば、差分表示に出力されるデータをそのままコピー可能 (※従来は先頭に半角スペースが付加されていたため、やや困難)
スキン周りの修正†
初期コンテンツ†
- dev:BugTrack2/118 初期コンテンツ(「整形ルール」「ヘルプ」等、機能の一部として参照されるものも含む)の名称が英数字のみに統一されました。特に重要なものは以下の通り:
- "整形ルール" => "FormattingRules"
- "ヘルプ" => "Help"
設定に関する修正・調整 (pukiwiki.ini.php)†
- $adminpass: 管理者パスワードのデフォルトの値が "(絶対に判定に失敗する文字列)" になりました
- もはや「デフォルトのまま設置した途端にいたずらされうる」状態ではありません
- $auth_method_type: 編集認証/閲覧認証に関する設定のデフォルト値が 'pagename' になりました
- 従来は 'contents'(ページの中身をもとに判定する) でしたが、通常求められている用途は 'pagename'(ページの名称を判定する) です。また、比較して重い機能を(軽い機能より先に)推薦すべきではありません。
- $autolink: AutoLink機能はデフォルトで 0(無効) になりました
- この機能が有効である場合、ページ数に比例して更新待ち時間が増加する事が判っています。管理者はこの機能を有効にすべきかどうか、個別に決定して下さい。
- $update_exec: ページ更新時にサーバー内のプログラムを実行するための設定 $update_exec は、変数ではなく定数 (PKWK_UPDATE_EXEC) になりました
- 「プログラム名称などを、悪意のあるプラグインなどに動的に入れ替えられてしまう」可能性を排除するための変更です
- いくつかの「日本語まじりの設定例」は、アルファベットのみを使用した例に置き換えられました。
その他の細かな修正†
- PukiWikiにアクセスするためのファイルが "index.php" に一本化されました
- 今後は pukiwiki.php は添付されません。必要であれば(内容が同じである) index.php をコピーまたはリネームして下さい
- index.php に、PKWK_SAFE_MODE や PKWK_READONLY などのスイッチを手軽に利用するためのひな型を追加
- skin/default.js はもはや添付されません。この中の関数 open_mini() は以前から使われていませんでした
表示関連の高速化†
プラグイン†
標準添付プラグイン固有の話題
addプラグイン†
attachプラグイン†
commentプラグイン†
editプラグイン†
md5プラグイン†
- (ラジオボタン) "LDAP SMD5" ないし "LDAP SSHA" がデフォルトのスキームとして選択される (今までは"PHP md5()"固定)
recentプラグイン†
- dev:BugTrack2/150 recent.dat に記録された時刻情報を尊重する (無駄なファイルアクセスを行わない)
- 設定 $show_passage が無効であれば、経過時間を表示しない
- recent.dat を必要最小限だけ読み込む
rssプラグイン†
searchプラグイン†
showrssプラグイン†
- dev:BugTrack2/176: RSSがencodingを申告している場合、それを尊重する (Base patched by matsuo2)
- Usage(使い方)、および引数の異常を表示する
- PKWK_SAFE_MODE が有効である時は action プラグインとしては動作しない
tracker_listプラグイン†
yetlistプラグイン†
- Dangling link (未解決のリンク) を含んでいるページの一覧は:
- dev:BugTrack2/175: $non_list で指定されているページや、RecentDeleted を含まない (Patched by shimashima)
- 複数個あった場合、ソートされた順番で表示される
- Dangling linkは従来通りの(dangling linkとしての)スタイルで表示される
- 確保するメモリ量の削減