OSDN Git Service

- re-implemented "ethna make-plugin-package" command.
[ethna/ethna.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 03518cc..7336756 100644 (file)
--- a/CHANGES
+++ b/CHANGES
 * 変更点一覧
 
+** 2.5.0-preview5
+
+*** features
+
+- フォーム定義に関する変更
+-- フォーム定義を動的に変更するためのAPIをさらに追加
+-- Ethna_ActionForm#setFormDef_ViewHelper
+- APPID_Controller.php のスケルトンに継承を想定したメソッドを追加
+-- skel/app.controller.php _setDefaultTemplateEngin
+- add-project 時の www 以下に出来るエントリポイントから APPID_Controller へのパスを相対パスに変更
+- ethna コマンドの挙動変更
+-- ethna help コマンドを追加
+- 指定 Action が存在しない場合、app/action 以下を全て include する仕様を変更
+-- include せず、fallback用のactionを実行する
+- add-project -b オプションの挙動変更
+- controller での smarty_xx_plugin の機能を削除
+- ビューまわりの変更
+-- Ethna_ActionClass から、Ethna_ViewClass#preforward に引数を渡せるようにした
+--- return array('forward_name', $params); の形式で渡せば、$params が preforwardの引数として渡される
+-- 汎用ビュークラスを実装
+--- ビューへの出力時によく使われる処理を雛形として実装したもの
+--- Ethna_View_Json.php
+--- Ethna_View_403.php
+--- Ethna_View_404.php
+--- Ethna_View_500.php
+--- Ethna_View_Redirect.php
+---- アクションクラスで return array('redirect', 'http://example.com');
+     とすれば http://example.com にリダイレクトされる
+-- レイアウトテンプレートを実装
+--- HTMLの外側に当たる雛形のテンプレートを描くためのもの。各アクションの出力はこのテンプレートの出力でラップされる
+--- デフォルトは template/{locale_name}/layout.tpl に置かれている。
+--- この機能はデフォルトで有効になっている。無効にしたければ、[appid]_ViewClass.php の $use_layout を false にする
+-- フォームヘルパのテキストエリアに value 属性を付加していた動きを修正。(thanks: syachi5150)
+---  http://sourceforge.jp/ticket/browse.php?group_id=1343&tid=16326
+- [Breaking B.C] プラグインに関する変更
+-- プラグインから名前空間を除去することで、複数アプリケーションでの利用を可能に
+-- 検索用のアプリケーションIDを削除した
+-- ファイル名の命名規則を変更
+-- extlibの設置
+-- プラグイン関連のethnaコマンドを整理し、インストール、アンインストール関連コマンドは ethna pear-local コマンドに一本化
+--- ethna channel-update (削除)
+--- ethna info-plugin (削除)
+--- ethna install-plugin (削除)
+--- ethna uninstall-plugin (削除)
+--- ethna upgrade-plugin (削除)
+--- ethna list-plugin (削除)
+-- プラグインパッケージのスケルトンを生成するコマンドとして ethna create-plugin コマンドを追加
+--- 複数のtypeのプラグイン同時作成が可能に
+--- Ethnaプロジェクト内でのプラグインの自動生成が可能に
+--- ethna make-plugin-package との連動が可能に
+-- ethna create-plugin コマンドの出力から ethna make-plugin-package を実行できるようにコマンドを再実装
+--- これにより、複数のプラグインを含んだパッケージの作成が可能に
+-- Filterは一貫してプラグインを使うように変更したため、add-project時の app/filter ディレクトリを削除。
+- Smartyに関する変更
+-- Smarty を 2.6.26 に追随
+-- 組み込みの Smarty プラグインの追加
+--- explode修正子 (文字列を,ある文字で分割して配列に変換する)
+- その他雑多な変更
+-- [Breaking B.C] ルールがユーザにとって直感的ではないとの理由から、フォーム定義の max と フォームヘルパの maxlength の連携機能を削除 (thanks: syachi5150)
+--- https://sourceforge.jp/ticket/browse.php?group_id=1343&tid=16325
+-- Windowsユーザへの便宜のため、zipアーカイブで成果物を配布するオプションを追加
+
+*** bug fix
+
+- Ethna_Controller#getTemplatedir を無視してテンプレートディレクトリを決定していたバグを修正(thanks: hiko)
+-- getTemplatedirメソッドをオーバライドしても強制的にロケールが付加されていた
+-- https://sourceforge.jp/ticket/browse.php?group_id=1343&tid=15570
+- "ethna pear-local list -a" の実行結果がエラーになってしまうバグを修正
+-- https://sourceforge.jp/ticket/browse.php?group_id=1343&tid=15760
+- safe-mode が ON の際に、CacheManager_Localfile がディレクトリを生成できないので、tmp ディレクトリ直下にキャッシュファイルを作成するようにした
+-- skel/skel.app_manager.php も修正
+- APPID-ini.php が存在しない場合,またはURLが設定にない場合,デフォルトURLが HTTP_HOST で設定されていたが,末尾に / がなかったので修正
+- フォームヘルパで自動的に出力されるhiddenタグの閉じ忘れを修正(thanks: id:syachi5150)
+- ethna add-app-manager コマンドで生成されるファイル名およびクラス名が間違っていたバグを修正(thanks: id:syachi5150)
+-- https://sourceforge.jp/ticket/browse.php?group_id=1343&tid=16137
+- Validatorが出力するメッセージからフォーム名の後ろのスペースを削るように修正。(thanks: id:syachi5150)
+-- https://sourceforge.jp/ticket/browse.php?group_id=1343&tid=16336
+- Smarty 拡張プラグインの wordwrap_i18n にアルファベットのみを渡した場合に正しい結果が返らないバグを修正
+-- 末尾のスペースを取り除く挙動も wordwrap に合わせて削除
+-- http://sourceforge.jp/ticket/browse.php?group_id=1343&tid=16839
+- Ethna_Session#isAnonymous メソッドが状態を正しく取得できない場合があるバグを修正(thanks:longkey1)
+-- http://ml.ethna.jp/pipermail/users/2008-February/000899.html
+- ethna add-test コマンドのヘルプが機能していなかったバグを修正
+
+** 2.5.0-preview4
+
+*** bug fix
+
+- フォーム定義が配列で、Ethna_ActionForm#getHiddenVars の値を Ethna_ActionForm#setAppNE した場合、クロスサイトスクリプティング
+脆弱性が存在するバグを修正 (thanks: shuitic)
+-- http://sourceforge.jp/ticket/browse.php?group_id=1343&tid=17332
+
 ** 2.5.0-preview3
 
+*** features
+
+- アクションフォームに関する変更
+-- フォーム定義を多次元配列に対応させました (thanks: id:syachi5150)
+--- http://d.hatena.ne.jp/syachi5150/20081022/1224676038
+-- フォーム定義を「'def' => array(),」 と定義しなくても、「'def',」 と定義するだけで親のフォームテンプレートの定義を補うようにした (thanks: sotarok)
+-- フォーム定義を動的に変更するためのAPIを追加
+--- Ethna_ActionForm#setFormDef_PreHelper
+    Ethna_Backend や Ethna_Session が初期化後に呼ばれる
+- フォームヘルパに関する変更
+-- 1つのテンプレートに 複数 {form} が指定されたときに、submitされたformに対してのみ補正処理が働くように改善 この場合、{form name=...} 属性の指定が必須
+-- 1つのテンプレートに 複数 {form} が置かれた場合に、それぞれのフォームの配列を区別するようにした
+- Smarty プラグインに関する変更
+-- Ethna 組み込みの Smarty プラグインを分割
+--- Ethna 組み込みの Smarty プラグインとして class/Plugin/Smarty/ に Smarty のプラグイン形式で個別に作成
+--- それに伴い Ethna_Smarty_Plugin クラスは削除
+--- 読み込み順は次のように指定 1. Controller の plugin ディレクトリ 2. Ethna 組み込みの Plugin/Smarty/ ディレクトリ 3. samrty デフォルトのプラグイン
+-- デフォルトの smarty プラグイン よりも Controller の plugins ディレクトリに定義されたプラグインを優先させるように変更
+-- アプリケーション独自のSmarty Pluginの定義場所を app/plugin/Smarty にできるようデフォルトでディレクトリの作成、コントローラに値のセットするよう変更
+- その他雑多な変更
+-- Smarty を 2.6.22 に追随
+-- アプリケーションの最終処理を行うメソッドとして、Ethna_Controller#end を追加
+-- フィルタを一貫してプラグインから取得するように変更
+
 *** bug fix
 
 - safe-mode が ON の際に、Ethna_View_Test がエラーを吐く現象を回避 (thanks:longkey1 [ethna-users:1059])
 - "ethna add-view" コマンドにて、locale 及び client encoding のデフォルト設定が誤っていたバグを修正
 - Ethna_Renderer_Rhaco.php を 1.x 系の最新バージョン 1.6.1 に追随 (thanks: id:akiraneko [ethna-users:1081])
+- 複数ファイルをアップロード(つまり配列を使用)する際、必須チェックが機能しなかったバグを修正(thanks: id:syachi5150)
+- ethna add-app-manager コマンドで生成されるアプリケーションマネージャのクラス名が、[Appid]_Controller#getManagerClassName の設定を反映するように修正。
+- smarty_modifier_unique プラグインが、仕様通り動作していなかったバグを修正
+- Ethna_PearWrapper のエラー処理が誤っていたのを修正 (thanks: id:nazo)
+-- http://wassr.jp/user/nazo/statuses/SkfJTckkN2
+- Ethna_ActionForm#getHiddenVars メソッドで、フォーム定義が配列で設定された値がスカラーの場合に警告が出ていたのを修正(thanks: maru_cc)
+-- 逆に、フォーム定義がスカラーで値が配列の場合は救いようがないので警告扱い
+- www/info.php を実行したり、www/unittest.php を実行すると、サーバが応答しなくなることがあるバグを修正
+-- アクションクラスの書き方によっては、Ethna_InfoManager が 無限ループに陥っていたため
+-- http://sourceforge.jp/tracker/index.php?func=detail&aid=10006&group_id=1343&atid=5092
 
 ** 2.5.0-preview2