|
Strutsフレームワーク
|
| Introduction(はじめに) |
アプリケーションフレームワークは、それらでビルドするアプリケーションのように
決して完成されるものではありません。
次の主要な改善領域は、Struts のバージョン 1.1 での実装が考えられており、
1.0 がリリースされるとすぐに始められます。
Struts 1.1 の開発に影響を及ぼしそうな外部の開発は、
新生のスタンダードタグライブラリで、それは Java コミュニティプロセス
(より多くの情報は JSR #52を参照)
http://java.sun.com/jcp のもとで作られています。
もちろん既存の Struts タグは、標準化された処理のための入力として使われるでしょう。
しかし、同様の機能を持つスタンダードタグが採用された場合は、
我々は新しいスタンダードライブラリとの互換性を最大限に維持するために、
Struts タグから移行すべきでしょう。
TODO リストタスクは、Struts フレームワークの主要なコンポーネントに対応する
機能的な領域に分けられます。
大括弧の参照([])は、対応するソースコードを含む Java パッケージです。
|
| Struts Documentation(Struts ドキュメント) | |
Struts ドキュメントに関係のある作業項目の様々なタスクリスト。
コードベースと直接の関係はありません。
| |
| Struts Example Application(Struts サンプルアプリケーション) | |
Struts フレームワークとカスタムタグを利用したサンプルWebアプリケーション。
| | Description | Volunteer |
|---|
| Better Database Support(よりよいデータベースサポート).
ある種類の「本当の」データーベースを(Struts のインストールが簡単なままで)使ってください。
|
Ted Husted
| | Locale Switching(ロケールの切り替え).
Struts のサンプルアプリケーションの実行中にロケールの切り替えのサポートを加えてください。
|
Ted Husted
|
|
| MVC Framework [org.apache.struts.action] | |
これは、中核となるコントローラ Servlet で、開発者のアクションや
フォーム bean クラス、さらにデータ構造をサポートしてます。
| | Description | Volunteer |
|---|
| Remove Deprecations(非推奨の削除).
1.0 で非推奨なクラスや、ファイルや、フレームワーク全般をすべて一掃してください。
| | | ActionForms With Dynamic Properties(動的なプロパティを持った ActionForms).
現在のプロパティのサポート(Java リフレクション API を通してアクセスされ、結果的に固定的なアクセスしかできない)
に加えて、含まれるプロパティセットを動的に処理する ActionForm の実装をサポートするメカニズムを作ってください。
| | | Workflow Processing(ワークフロー処理).
(現在はAction クラスにエンコードされている)ビジネスロジックで、
個々のワークタスクに細分化ができるメカニズムを作ってください。
それは、struts-config.xml ファイルの構成情報
(フロー制御、イテレーションのサポートを含んでいる)に従って結合されます。
ワークフロー処理のサポートは、スタンダードの Actions 群により提供され、
ビジネスロジックを組織するための(Actions の置き換えではない)代わりのメカニズム
を提供することになるでしょう。
|
Craig Tataryn,
Nic Hobbs
| | Standard Validations(スタンダードバリデーション).
コントローラ Servlet によって自動的に実施される
特定のプロパティ上にスタンダードバリデーションを構成する能力を加えてください。
実装できそうな場所では、クライアント側の JavaScript バリデーションも
同様の構成ルールに基づいて生成されでしょう。
|
Nic Hobbs,
Dave Winterfeldt
| | PropertyEditor Support(プロパティエディタのサポート).
HTML の 入力フィールドで使われる文字列表現の変換のために
PropertyEditor クラスを含む JavaBeans のサポートを加えてください。
このサポートは、スタンダード JSP タグ(JSP 1.2)とある程度一致して動作するべきです。
| | | Event and Listener Model(イベントリスナモデル).
イベント生成(リスナの登録に相当する)や、
フレームワークによって作られる全ての興味深いイベントのサポートを
Struts コントローラフレームワークに組み込んでください。
この興味深いイベントのリストは、疑いもなく、
このリスト(たとえば、ワークフロー処理やスタンダードバリデーション)の
他の作業項目に関する変更によって影響されるでしょう。
よって、この作業は、これらの変更と調整されるべきです。
[STRUTS-DEV, Robert Leland, 10/10/2000]
[STRUTS-DEV, David Geary, 12/20/2000]
[STRUTS-USER, Ted Husted, 12/23/2000]
| | | EJB Design Patterns(EJBデザインパターン).
|
Nic Hobbs
| | HTML No-Cache Support(HTML のキャッシュなしのサポート).
現在の Struts を改良して、木目細かくページごとにコントロールするような設定ができるように、
キャッシュなしのヘッダーの生成をサポートしてください。
[STRUTS-DEV, Hou Yunfeng, 10/07/2000]
[STRUTS-DEV, Matthias Kerkhoff, 11/18/2000]
| | | Role-Based Action Execution(ロールベースのアクションの実行).
個々のアクションを実行する前に、現在のユーザのセキュリティロールを要求する機能を追加してください。
[STRUTS-DEV, James W., 01/23/2001]
|
Nic Hobbs
|
|
| XML Digester [org.apache.struts.digester] | |
Digester パッケージはネストした XML タグの個々のパターンの
マッチングに基づいて、予め定義された「ルール」の発火(実行)をサポートします。
利用できる予め定義されたルールの中では、新しいオブジェクト作ったり、
属性のコンテンツから bean プロパティをセットしたり、
パースされた XML コンテンツに基づいて、引数をもつ任意のメソッドを呼びます。
(Struts の ActionServlet に書かれている)この技術の一般的な使用方法は、
コンフィグレーションファイルからパースして、
対応するオブジェクトツリーを構築することです。
| | Description | Volunteer |
|---|
| Developer Documentation(開発者ドキュメント).
Digester パッケージをアプリケーション開発者が使うことができるための
より詳細なドキュメントを作成してください。
| | | Refactor Dependencies(依存関係のリファクタ).
[STRUTS-USER, Martin Cooper, 01/02/2001]
| |
|
| Bean Tag Library [org.apache.struts.taglib.bean] | |
このタグライブラリは JavaBeans とプロパティを操作するのに
役にたつ基本的なタグを含んでいます。
それは、シンプルで、ネストされたり、サブスクリプトされたアクセッサ表現を使う
bean プロパティのセットとゲットをサポートするものを含みます。
| | Description | Volunteer |
|---|
| XPath Support(XPath サポート).
XPath スタンダード(www.w3c.org)によって定義されたシンタックスを使って、
プロパティアクセッサのサポートを含めて関連のあるタグをすべて更新してください。
|
Dave Bettin
| | XML DOM Support(XML DOM サポート).
XML ドキュメントオブジェクトモデルを実装する Java オブジェクからの属性の
取得と設定に関連のあるタグをすべて更新してください。
同様に JavaBean オブジェクトのカレントツリーも。
基礎をなすデータオブジェクトを格納する方法は、これらのタグを使う
ページライターのためにわかりやすくするべきです。
|
Dave Bettin
| | JDBC RowSet Support(JDBC RowSet サポート).
JDBC RowSet(もしくは ResultSet)オブジェクトからの属性の
取得と設定に関連のあるタグをすべて更新してください。
同様に、XML DOM オブジェクトと JavaBean オブジェクトのカレントツリーも。
基礎をなすデータオブジェクトを格納する方法は、これらのタグを使うことにより
ページライターにも透過的にするべきです。
|
Dave Bettin
| | Formatting Support(書式化のサポート).
書式化パターン(適切にローカライズされる)を使う能力を加えてください。
数、日付、時間、タイムスタンプなどを書式化されたパターンで表現するために。
[STRUTS-DEV, Oleg Alexeev, 10/27/2000]
[STRUTS-USER, Ned Seagoon, 12/11/2000]
[STRUTS-DEV, Ned Seagoon, 12/13/2000]
[STRUTS-USER, Ned Seagoon, 01/04/2001]
|
Dave Bettin
|
|
| HTML Tag Library [org.apache.struts.taglib.html] | |
このタグライブラリは、ユーザーデータ入力を主要なメカニズムとする
HTML フォームを使う WEB アプリケーションの準備に役立つタグを含みます。
同様に、アプリケーションの国際化やローカライズをサポートします。
| | Description | Volunteer |
|---|
| Client Side Validation(クライアントサイドバリデーション).
要求されたフィールド、数字フィールド、日付/時間/タイムスタンプ などを
クライアントサイドバリデーションとして実行する、 オプションのJavaScript
コードを自動的に生成する能力を加えてください。
要求されたバリデーションは、コントロール servlet 自身によって行われる
バリデーションの拡張とかみ合うはずです。
[STRUTS-DEV, David Winterfeldt, 07/27/2000]
|
Ted Husted,
Nic Hobbs,
Dave Winterfeldt,
Spencer Smith
| | Radio Button Groups(ラジオボタングループ).
ラジオボタンのグループの生成をサポートする新しいタグを加えて下さい。
[STRUTS-DEV, Wellington Silva, 08/28/2000]
| | | Improve Options Tag(オプションタグの改良).
<html:options>にラベルに相当する値を定義するメカニズムを改良してください。
[STRUTS-DEV, David Winterfeldt, 07/27/2000]
[STRUTS-DEV, David Winterfeldt, 08/02/2000]
[STRUTS-DEV, Andy Boyko, 11/15/2000]
[STRUTS-DEV, Andy Boyko, 12/07/2000]
| | | Improve Error Reporting(エラーレポートの改良).
エラーメッセージと、特にプロパティの特有のメッセージを表現する
<html:errors> タグの能力を改良してください。
[STRUTS-DEV, Oleg Alexeev, 10/23/2000]
[STRUTS-DEV, Oleg Alexeev, 11/15/2000]
[STRUTS-DEV, Oleg Alexeev, 01/01/2001]
| | | Additional Attributes(追加する属性).
追加の HTML 4.0.1 の属性(たとえば textarea での "disabled"、"readonly"、"wrap")
をサポートしてください。
[STRUTS-USER, , 08/23/2000]
| | | Improved Iteration Support(改良したイテレーションのサポート).
コレクションで <logic:iterate> タグを使う能力を改良してください。
コレクションのそれぞれのメンバの入力フィールドのセットを生成します(たぶん自動生成するスクリプトかな?)。
重要なユースケースは、マスタ-ディテールの関係(言うならば、顧客と注文の関係)で、
許されることは、一部もしくは全てのフィールドの編集です。
[STRUTS-USER, Lars, 12/06/2000]
[STRUTS-USER, Chandan Kulkarni, 12/26/2000]
| | | Multi-Page Form Support(マルチページのフォームのサポート).
デザインパターンで作って内部を改良し、複数のページにまたがるフォームをサポートしてください。
|
Nic Hobbs
|
|
| JDBC Tag Library [org.apache.struts.taglib.jdbc] | |
このタグライブラリは、データベースからの情報を得るためのメカニズムを提供するでしょう。
それは、アプリケーション(たとえば HTML の select 要素に現れる値を設定する)の
プレゼンテーションロジックに役立ちます。
それらは、コントローラ servlet から初期化され、生成された
データソースオブジェクトと相互動作するでしょう。
| | Description | Volunteer |
|---|
| Create Tag Library(タグライブラリの作成).
イニシャルタグライブラリとドキュメントを作ってください。
| |
|
| Logic Tag Library [org.apache.struts.taglib.logic] | |
このタグライブラリは、さまざまな論理状態に基づいてネストされたボディコンテンツを
条件ごとに処理するメカニズムを与えます。
| | Description | Volunteer |
|---|
| 'Else' and 'Else If' Capability('Else' and 'Else If' 能力).
既存の条件つきのタグに、合理的なフォーマットで "else" と "else if" の構文を加えてください。
[STRUTS-DEV, Eduardo Pelegri-Llopart, 06/14/2000]
[STRUTS-DEV, Frank Nestel, 06/26/2000]
| | | Other Conditional Structures(他の条件つきの構造).
多くのプログラム言語の "case" や、"switch" の能力を
エミュレートする条件つきタグを加えてください。
| | | Iterating Parallel Collections(コレクションのパラレルのイテレーティング).
複数のコレクションをパラレルでイテレートするために、<logic:iterate> を強化してください。もしくは新しいタグを与えてください。
[STRUTS-DEV, Jeff R., 08/03/2000]
| | | Enhance Role Checking(ロールチェックの強化).
ロール属性内でカンマ区切りでロールのリストを受け付けるように
<logic:present> を強化してください。
ロールリストのどれかを現在のユーザが持っているなら
ネストされたボディコンテンツを処理します。
対応する <logic:notPresent> の変更は、
ロールリストのどれも現在のユーザーが持っていないなら
ネストされたボディコンテンツを処理します。
[STRUTS-USER, David Winterfeldt, 01/03/2001]
| |
|
| WML Tag Library [org.apache.struts.taglib.wml] | |
このタグライブラリは、HTML タグライブラリによってサポートされたそれらと似かよって
WEB アプリケーションの準備に役立つものを含むでしょう。
しかし、WML 仕様書にしたがって整形式の XML でアウトプットを与えてください。
| |
| XFORMS Tag Library [org.apache.struts.taglib.xforms] | |
この将来性のある新しいタグライブラリは、
新生の XForms 標準を装備したものへのアクセスを与えます。
| | Description | Volunteer |
|---|
| Generalized Form Handling(一般化したフォーム操作).
フォームとフィールドのより一般化された定義をサポートするための方法をよく考えてください。
たぶん、新生の XFrom 標準に基づきます。
| |
|
| XHTML Tag Library [org.apache.struts.taglib.xhtml] | |
このタグライブラリは、HTML タグライブラリによってサポートされたそれらと似かよって
WEB アプリケーションの準備に役立つものを含むでしょう。
しかし、XHTML 1.0 仕様書にしたがった整形式の XML でアウトプットを与えてください。
| |
| Tools Support(ツールのサポート) [org.apache.struts.tools] | |
このパッケージは、Struts ベースのアプリケーションの生成を簡単にする
コードジェネレータ、および他のツールを含みます。
さらに特別なパッケージに細分化したものは適切に実行されるでしょう。
| | Description | Volunteer |
|---|
| XML --> ActionForm Code Generator(XML --> ActionForm コード生成).
フォーム Bean のプロパティを XML ベースで記述して、
自動的に対応する Java クラスを作りだせるツールを作ってください。
[STRUTS-DEV, Mark Wutka, 06/01/2000 and 06/16/2000]
|
Martin Cooper
|
|
| Utility Classes [org.apache.struts.util] | |
このパッケージは、スタンドアロンアプリケーションと同様に、
Struts に役立つ多様なユーティリティクラスを含みます。
| | Description | Volunteer |
|---|
| XmlMessageResources.
MessageResources と MessageResourcesFactory の実装は、
メッセージキーや、1つ以上の XML リソースもしくはファイルからの文字列をロードします。
[STRUTS-DEV, Scott Sayles, 01/07/2000]
| | | GenericDataSource Improvements(GenericDataSource の改良).
コネクションが返される前に死んだコネクションのチェックを
含むコネクションプール実装を改良して下さい。
(何らかの設定の必要性があるかチェックするために)。
[STRUTS-USER, David Winterfeldt, 01/04/2001]
| | | Enhanced Collections Support(強化したコレクションのサポート).
BeanUtils と ConvertUtils と PropertyUtils で、
Collection、List、Set
を実行するプロパティ値のサポートを改良してください。
ある程度、索引付けや、配列に値付けされたプロパティを取り扱われる方法と似ています。
[Bugzilla #640]
| |
|
| Unit Test Suites(ユニットテストスイート) | |
Junit と Cactus テスティングフレームワークと互換があるユニットテストコンポーネントは、
Struts フレームワークの内部の API をバリデーションしテストするためのものです。
ボランティアは、特に Struts の Java ソースコードにおいて、
全体のパッケージのためのテストを開発することに賛成するでしょう。
| | Description | Volunteer |
|---|
| Action.
org.apache.struts.action パッケージのユニットテスト
|
Rob Leland
| | Actions.
org.apache.struts.actions パッケージのユニットテスト
| | | Digester.
org.apache.struts.digester パッケージのユニットテスト
| | | Taglib.Bean.
org.apache.struts.taglib.bean パッケージのユニットテスト
| | | Taglib.Html.
org.apache.struts.taglib.html パッケージのユニットテスト
| | | Taglib.Logic.
org.apache.struts.taglib.logic パッケージのユニットテスト
| | | Taglib.Template.
org.apache.struts.taglib.template パッケージのユニットテスト
| | | Upload.
org.apache.struts.taglib.upload パッケージのユニットテスト
| | | Util.
org.apache.struts.util パッケージのユニットテスト
| |
|
| Additional Possibilities(追加の可能性) | |
ここでは、Struts に含めるかどうか、調査すべき追加機能の領域をまとめています。
| | Description | Volunteer |
|---|
| Coarse Grain Components(コンポーネントの荒さ、木目細かさ).
[STRUTS-DEV, Cedric Dumoulin, 10/03/2000]
| | | Multidimensional Properties(多次元のプロパティ).
[STRUTS-DEV, Eric, 11/07/2000]
| | | Portal Components(ポータルなコンポーネント).
[STRUTS-DEV, Phil Grimm, 11/22/2000]
|
Ted Husted
| | Storefront Example App(店頭のサンプルアプリ).
[STRUTS-DEV, David D'Orto, 12/11/2000]
| |
|
| Contributors Area(寄稿者エリア) | |
個々にStruts 用にアドオンを寄稿するための、Struts Web サイトとファイルシステムの一部の場所を。
ホストしたりダウンロードすることができます。
| | Description | Volunteer |
|---|
| Proposal(提案).
実装計画をもつ詳細な提案。
[STRUTS-USER, Ned Seagoon, 12/22/2000]
|
Ted Husted
|
|
|