YakiBiki 0.9.0 目安TODOリスト ''Windows上でのtar.gz圧縮は避ける事。ツールによってファイル名がおかしくなったり空ディレクトリが無視されたりして、トラブルの遠因になりうる。'' SVN Repository Browser : http://yakibiki.svn.sourceforge.net/viewvc/yakibiki/ ''2009-01-12, rev521にて0.9.0へフリーズ'' * メイン目標 - %%メールにて更新報知%% -- リビジョン517 - 519にて対応。 -- edit, datainfo, deleteにおいて簡単なメール送信を実装。PHPMailerを使用。 -- 題名にタイトルとID、本文はviewへのURLのみというシンプル実装。まずはここまで。 -- 本来であれば新旧のDIFFや物理ファイルの添付等が欲しいが、まずはここまでにしておく。 --- 各モジュールでのデータの取り方がばらけているので、整理したい。 - %%ログ出力の充実(監査を意識)%% -- リビジョン507, 510, 511にて対応。 - 外部認証機能対応(TypePadなどOpenID系) - %%ログイン時のユーザ名とパスワードの突合せ処理をHOOK化%% -- OpenIDみたいに外部のサイトと行ったり来たりするようなのはさすがに今の実力では無理。 -- POP3のログインとかLDAPみたいに、単にユーザ名とパスワードを突き合わせるのであれば、hookにしてカスタマイズ可能にできる。 -- リビジョン513, 514, 515にてhook化、POP3ログインのサンプルを実装、対応。 * 細かい機能追加・調整 - %%editとdatainfoでの更新時に、yb_Session::set_flashでflashメッセージを表示するよう調整。%% -- リビジョン520にて対応。 -- 実運用では画面の切り替わりが早くて、「え?保存されたの?」となってしまう。保存完了を分かりやすく表示したかった。 - %%ユーザ名に"."(ピリオド)を使えるようにする。但し連続する"."、および"."で始まる/終わるユーザ名は入力チェックエラーとする。%% -- リビジョン516にて対応。 - %% Smartyのバージョンを2.6.22へ更新 %% -- リビジョン512にて対応。また、SmartyはLGPLということで、Smartyに入っていたLGPLのライセンスファイル(COPYING.lib)とREADMEファイルを念のため追加。 - %% _YB()の設定をダンプ出力する ybwebtools/check-ybvars.php を追加。%% -- リビジョン506にて対応。 - %%user, group, aclで、削除時に、被参照カウントを取得して参照されていれば弾くようガードしたい。%% -- ACLの削除時にacl_to_dataインデックスを取得してガードするよう修正。リビジョン501にて対応。 -- groupの削除時に全ACLをサーチしてガードするよう修正。リビジョン503にて対応。 -- userについては、削除自体をデフォルトで禁止するよう修正。_YB('disable.user.physical_delete')がtrueのときのみ削除可とする。リビジョン504にて対応。 - %%データ編集時に、編集前のデータ本体のチェックサムを取得しておき、複数人による編集の衝突を検出する。%% -- リビジョン500にて対応。 - %%カテゴリの並び順を名前のソート順に%% -- リビジョン499にて対応。 - %%trackback項目を隠す。%% -- リビジョン494, 495, 496にて対応。 -- 隠すのではなく属性自体を消去した。サイト内TBを考えるのであれば残しておいても良いかな・・・とも思ったんだけど、サイト内TB的な用途であれば普通にコメント使えばOKなので・・・TBという概念自体を一旦YakiBikiから消去します。 - %%umask()が未設定の場合、nobodyで作成されたディレクトリとかが消せなくなる。%% -- %%umask()の設定をconfig.phpに追加。%% -- %%fix-perms.phpみたいな、パーミッション操作専用のサポートスクリプトを添付すべき?%% --- umask()をconfig.phpに ''デフォルトで'' 含ませると、セットアップ直後にサーバ環境毎に手直ししなければならなくなるので、却って手間が増えると判断 --- umask()はconfig.phpに手動で任意に埋め込むことにして、ybwebtools/にfix-perms.phpを追加することで対処。リビジョン480 - 487まで。 - yb_Session::hasRole(), isAuthenticated()を利用するよう修正。 -- 怖くて消せない・・・。 - changelog、直前のchangeログを編集ボックスに予め表示させておく。 -- これ、バージョン番号を変えずに上書きする時に、クリアされてると前のchangelogまで消えてしまうので。 - %%datatype毎のテンプレートを整理。ネストが厭らしい状況になってる。%% -- リビジョン489 - 493 - %%データ編集時に、タイトルやbookmarkのnoteなどを「情報」欄へ移動。編集時は表示オンリーに。%% -- %%こうしておかないと、タイトルまでバージョン管理できると思われそうだから。%% -- リビジョン489 - 493 -- noteについては断念。とりあえずタイトルをdatainfo(「情報」)モジュールに移動。 -- noteなどDataType固有のフィールドまでdatainfoに移すと結構手間。ネガティブな理由。tx/Edit.phpやtx/DataInfo.phpからほぼ作り直しになる。 * BUG FIX - %%ユーザ名、メールアドレスの"@"より前で"."(ドット)を使えるようにする。%% -- リビジョン516, 521にて対応。 -- 実際の運用時に"."が含まれるアカウント登録が必要であることが確認された為。 - %%copyするときの"Copy XXXX Document from YYYY"の日本語訳が欠落。%% -- リビジョン489にて修正。 - %%setup.phpでの初期化データへのファイルパスが、setup.phpへの相対パスになっている。246行目とか。%% -- リビジョン478にて修正。 - %%check-perms.phpでのパーミッションチェックが変かも。ディレクトリが無くてもグリーンになる?%% -- %%realpath()の結果は空欄。%% -- リビジョン498にて修正。realpath()の結果をディレクトリ書き込みチェックに使っていた影響で、Windows上では書き込み可として判定されてしまっていた。("\dummy"のようなファイルの書き込みチェックがtrueになっていた) - %%lsモジュールで、show_edit_menu=falseにしてheader_tplを取り込むよう修正。%% - revision 471にて対応 - %%groupモジュールのユーザーリストで、権限がシステム管理権限とグループ管理権限しか表示してないような気がする・・・。%% -- リビジョン497 : groupモジュールと併せて、ユーザ一覧系のテーブルデザインでカラムの配置を修正。user/aclも修正。 - %%search, viewモジュールのテンプレートで、作成日の表示がcreated_atを表示してしまっている。%% -- →created_atは内部的に保持する値で、ユーザーにより変更可能な「表示・検索上の作成日」はpublished_atが正解。revision 472にて対応。 - %%image wikiプラグインで、srcの中身で"&"を"&"にするとFireFoxで画像が表示されなかったのを修正。%% -- →yb_Util::make_url()じゃなくて、"&"を変換しない yb_Util::redirect_url()に修正。 : revision 473にて対応。 -- →対応は間違ってなかったけど理解は間違っていた。HTMLソースをよくよく眺めたら "&"の部分が"&"と二重にエスケープされていた。 -- ←原因は make_urlを使った後に、さらにh()でエスケープした為の二重エスケープ。 -- →同様にID指定した時のリンク先URLも二重エスケープされていた。 -- →ID指定以外の絶対パスやyb://で始まる相対リンク時にもエスケープしなくちゃなので、imgタグ出力時点でのh()によるエスケープははずせない。 -- →というわけで、ID指定時はredirect_url()を使うようにして、imgタグ出力時点でのエスケープに統一。revision 474.