Strutsフレームワーク
ようこそ
トップページ
キックスタートFAQ
ユーザガイド
リソース
私たちは誰でしょう
ダウンロード
バイナリ
ソースコード
はじめよう
インストール
リリースノート
APIドキュメント
メーリングリスト
バグ データベース
開発者ガイド
Beanタグ
HTMLタグ
Logicタグ
Templateタグ
Digester
Utilities
タグライブラリ ドキュメント
Beanタグ
HTMLタグ
Logicタグ
Templateタグ
現在の開発
インストール(ナイトリビルド)
リリースノート(ナイトリビルド)
APIドキュメント(ナイトリビルド)
ワークフローの提案
TODOリスト
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 ドキュメントに関係のある作業項目の様々なタスクリスト。 コードベースと直接の関係はありません。

DescriptionVolunteer
Struts Example Application(Struts サンプルアプリケーション)

Struts フレームワークとカスタムタグを利用したサンプルWebアプリケーション。

DescriptionVolunteer
Better Database Support(よりよいデータベースサポート).

ある種類の「本当の」データーベースを(Struts のインストールが簡単なままで)使ってください。

Ted Husted
Locale Switching(ロケールの切り替え).

Struts のサンプルアプリケーションの実行中にロケールの切り替えのサポートを加えてください。

Ted Husted
MVC Framework [org.apache.struts.action]

これは、中核となるコントローラ Servlet で、開発者のアクションや フォーム bean クラス、さらにデータ構造をサポートしてます。

DescriptionVolunteer
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 に書かれている)この技術の一般的な使用方法は、 コンフィグレーションファイルからパースして、 対応するオブジェクトツリーを構築することです。

DescriptionVolunteer
Developer Documentation(開発者ドキュメント).

Digester パッケージをアプリケーション開発者が使うことができるための より詳細なドキュメントを作成してください。

Refactor Dependencies(依存関係のリファクタ). [STRUTS-USER, Martin Cooper, 01/02/2001]
Bean Tag Library [org.apache.struts.taglib.bean]

このタグライブラリは JavaBeans とプロパティを操作するのに 役にたつ基本的なタグを含んでいます。 それは、シンプルで、ネストされたり、サブスクリプトされたアクセッサ表現を使う bean プロパティのセットとゲットをサポートするものを含みます。

DescriptionVolunteer
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 アプリケーションの準備に役立つタグを含みます。 同様に、アプリケーションの国際化やローカライズをサポートします。

DescriptionVolunteer
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 から初期化され、生成された データソースオブジェクトと相互動作するでしょう。

DescriptionVolunteer
Create Tag Library(タグライブラリの作成).

イニシャルタグライブラリとドキュメントを作ってください。

Logic Tag Library [org.apache.struts.taglib.logic]

このタグライブラリは、さまざまな論理状態に基づいてネストされたボディコンテンツを 条件ごとに処理するメカニズムを与えます。

DescriptionVolunteer
'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 でアウトプットを与えてください。

DescriptionVolunteer
XFORMS Tag Library [org.apache.struts.taglib.xforms]

この将来性のある新しいタグライブラリは、 新生の XForms 標準を装備したものへのアクセスを与えます。

DescriptionVolunteer
Generalized Form Handling(一般化したフォーム操作).

フォームとフィールドのより一般化された定義をサポートするための方法をよく考えてください。 たぶん、新生の XFrom 標準に基づきます。

XHTML Tag Library [org.apache.struts.taglib.xhtml]

このタグライブラリは、HTML タグライブラリによってサポートされたそれらと似かよって WEB アプリケーションの準備に役立つものを含むでしょう。 しかし、XHTML 1.0 仕様書にしたがった整形式の XML でアウトプットを与えてください。

DescriptionVolunteer
Tools Support(ツールのサポート) [org.apache.struts.tools]

このパッケージは、Struts ベースのアプリケーションの生成を簡単にする コードジェネレータ、および他のツールを含みます。 さらに特別なパッケージに細分化したものは適切に実行されるでしょう。

DescriptionVolunteer
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 に役立つ多様なユーティリティクラスを含みます。

DescriptionVolunteer
XmlMessageResources.

MessageResourcesMessageResourcesFactory の実装は、 メッセージキーや、1つ以上の XML リソースもしくはファイルからの文字列をロードします。

[STRUTS-DEV, Scott Sayles, 01/07/2000]
GenericDataSource Improvements(GenericDataSource の改良).

コネクションが返される前に死んだコネクションのチェックを 含むコネクションプール実装を改良して下さい。 (何らかの設定の必要性があるかチェックするために)。

[STRUTS-USER, David Winterfeldt, 01/04/2001]
Enhanced Collections Support(強化したコレクションのサポート).

BeanUtilsConvertUtilsPropertyUtils で、 CollectionListSet を実行するプロパティ値のサポートを改良してください。 ある程度、索引付けや、配列に値付けされたプロパティを取り扱われる方法と似ています。

[Bugzilla #640]
Unit Test Suites(ユニットテストスイート)

Junit と Cactus テスティングフレームワークと互換があるユニットテストコンポーネントは、 Struts フレームワークの内部の API をバリデーションしテストするためのものです。 ボランティアは、特に Struts の Java ソースコードにおいて、 全体のパッケージのためのテストを開発することに賛成するでしょう。

DescriptionVolunteer
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 に含めるかどうか、調査すべき追加機能の領域をまとめています。

DescriptionVolunteer
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 サイトとファイルシステムの一部の場所を。 ホストしたりダウンロードすることができます。

DescriptionVolunteer
Proposal(提案).

実装計画をもつ詳細な提案。

[STRUTS-USER, Ned Seagoon, 12/22/2000]
Ted Husted

[訳注: これは宇田川 勝俊が翻訳しました。日本語訳に対するコメントがあれば、report@jajakarta.orgに送って下さい。]
Copyright (c) 2000-2002, Apache Software Foundation