<?xml version="1.0" encoding="Shift_JIS"?>
<document url="./roadmap.xml">

<!--
// ======================================================================== 78
-->

<properties>
    <title>Roadmap - The Apache Struts Web Application Framework</title>
    <author>Craig R. McClanahan</author>
    <author>Ted Husted</author>
    <author>Steve Byrne</author>
	<translator>高見沢 徳明</translator> 
	<editor>高橋 達男</editor> 
	<status>completion</status> 
	<update>2005/01/22</update>
</properties>

<body>

<primary>
<chapter href="roadmap" name="Development Roadmap">
</chapter>
</primary>
<chapter href="roadmap" name="開発ロードマップ">

<primary>
<section href="scope" name="Scope">
</section>
</primary>
<section href="scope" name="スコープ">

<primary>
    <p>
    This document outlines some of changes we expect to
    see in future releases of Struts.
    </p>
</primary>
    <p>
	このドキュメントはStrutsの将来のリリースにおいて予想されるいくつかの変更について説明します。
    </p>

<primary>
    <p>
    This document is provided for discussion purposes only.
    All releases and changes to the codebase are subject to
    <a href="./bylaws.html">a vote</a> of the
    <a href="volunteers.html#pmc">Struts PMC</a>.
    </p>
</primary>

    <p>
	このドキュメントは議論目的でのみ提供されています。
	コードベースへの全てのリリースと変更は<a href="volunteers.html#pmc">Struts PMC</a>の<a href="./bylaws.html">投票</a>対象となります。
    </p>

    </section>

<primary>
    <section href="Bugzilla" name="Bugzilla Queries">
    </section>
</primary>
    <section href="Bugzilla" name="Bugzilla 検索結果">

<primary>
        <p>
            The Struts development teams uses the <a href="http://jakarta.apache.org/site/bugs.html">Apache Bug Database</a> (Bugzilla)
            to manage problem reports and enhancement requests.
            For your convenience, here are some common Bugzilla queries:
        </p>
</primary>

        <p>
	Struts開発チームは問題報告や機能拡張要求を管理するために、
	<a href="http://jakarta.apache.org/site/bugs.html">Apache Bug Database</a> (Bugzilla)
	を利用しています。ご参考までに、Bugzilla でよく行なわれる検索の結果へのリンクをいくつか示しておきます。
        </p>

<primary>
        <ul>
            <li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;product=Struts&amp;order=bugs.bug_id">Open reports</a></li>
            <li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_severity=Blocker&amp;bug_severity=Critical&amp;bug_severity=Major&amp;bug_severity=Normal&amp;bug_severity=Minor&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=Struts&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;bug_file_loc=&amp;bug_file_loc_type=allwordssubstr&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;order=bugs.bug_id">Open problem reports</a>
                <ul>
                <li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;product=Struts&amp;bug_severity=Blocker&amp;bug_severity=Critical&amp;bug_severity=Major&amp;order=bugs.bug_id">major problem reports</a></li>
                <li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;product=Struts&amp;bug_severity=Blocker&amp;bug_severity=Normal&amp;bug_severity=Minor&amp;order=bugs.bug_id">normal/minor problem reports</a></li>
                </ul>
                </li>
            <li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;product=Struts&amp;bug_severity=Enhancement&amp;order=Bug+Number">Open enhancement reports</a>
                <ul>
                    <li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_severity=Enhancement&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=Struts&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;bug_file_loc=&amp;bug_file_loc_type=allwordssubstr&amp;keywords=PatchAvailable&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Bug+Number">Patch Available</a></li>
                </ul>
                </li>
            <li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=RESOLVED&amp;resolution=LATER&amp;resolution=REMIND&amp;product=Struts&amp;order=bugs.bug_id">Reports to be handled "LATER"</a></li>
        </ul>
</primary>

        <ul>
            <li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;product=Struts&amp;order=bugs.bug_id">未解決の報告</a></li>
            <li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_severity=Blocker&amp;bug_severity=Critical&amp;bug_severity=Major&amp;bug_severity=Normal&amp;bug_severity=Minor&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=Struts&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;bug_file_loc=&amp;bug_file_loc_type=allwordssubstr&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;order=bugs.bug_id">未解決の問題報告</a>
                <ul>
                <li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;product=Struts&amp;bug_severity=Blocker&amp;bug_severity=Critical&amp;bug_severity=Major&amp;order=bugs.bug_id">重大な問題の報告</a></li>
                <li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;product=Struts&amp;bug_severity=Blocker&amp;bug_severity=Normal&amp;bug_severity=Minor&amp;order=bugs.bug_id">通常もしくは軽度な問題の報告</a></li>
                </ul>
                </li>
            <li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;product=Struts&amp;bug_severity=Enhancement&amp;order=Bug+Number">未解決の機能拡張要求</a>
                <ul>
                    <li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_severity=Enhancement&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=Struts&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;bug_file_loc=&amp;bug_file_loc_type=allwordssubstr&amp;keywords=PatchAvailable&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Bug+Number">パッチ提供済み</a></li>
                </ul>
                </li>
            <li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=RESOLVED&amp;resolution=LATER&amp;resolution=REMIND&amp;product=Struts&amp;order=bugs.bug_id">「次リリース以降に」対処予定の報告</a></li>
        </ul>


    </section>

<section href="Struts_1_x" name="Struts 1.x">

<primary>
    <p>
        The platform requirements throughout the Struts 1.x series will remain the same (Servlet 2.2 / JSP 1.1).
        Though, later platforms may be supported as an option.
    </p>
</primary>
    <p>
        Struts 1.x シリーズを通してプラットフォーム要件は変更ありません(Servlet 2.2 / JSP 1.1)。
	    しかし、それ以降のプラットフォームもオプションとしてサポートするかも知れません。
    </p>
<primary>
    <p>
        Releases in the 1.x series will focus on refactoring of existing functionality, with a
        continued emphasis on backward compatibility, as were seen in Struts 1.1.
        However, we expect there to releases to be incremental throughout the rest of the
        1.x series, so that improvements and fixes become available to production teams every few weeks.
    </p>
</primary>
    <p>
	    Struts 1.xシリーズの各リリースはStruts 1.1がそうであったように、
	    引き続き下位互換性に重点を置き、既存の機能のリファクタリングに注力します。
	    ただし、数週間ごとに改善やバグフィックスを製作チームにリリースできるように、
	    今後の1.xシリーズでは、リリースをインクリメンタルにしたいと考えています
    </p>

<primary>
    <p>
        Any feature that can be implemented under Servlet 2.2/JSP 1.1 may be considered for the Struts 1.x series.
        This may include, but is not limited to, better support for alternate view technologies (like XLST),
        integrated unit testing, integrated support for HTTP/HTTPS mode switching, better workflow handling,
        support for alternative action types (e.g. BSF actions), a chainable request processor, support for an Action
        context, and so forth.
    </p>
</primary>
    <p>
	Servlet 2.2/JSP 1.1で実装可能な機能はすべて Struts 1.x シリーズ向けに検討される可能性があります。
	そうした機能としては、(XLSTといった)ビュー[訳注：MVCのV]の代替技術のサポートの改善、
	単体テストの組み込み、HTTP/HTTPSモード切替のサポートの組み込み、
	ワークフローの扱いの改善、(BSF[Bean Scripting Framework]アクションといった)代替アクションタイプのサポート、
	連鎖可能なリクエストプロセッサ、Actionコンテキストのサポートなどがあります。
    </p>

<primary>
    <p>
        Features most likely to be considered are those that have already been implemented as
        third-party extensions and are in active use by the Struts Community, such as
        those distributed through the
        <a href="http://sourceforge.net/projects/struts">Struts SourceForge</a> site.
    </p>
</primary>
    <p>
        検討される可能性の高い機能は既にサードパーティによる拡張機能として実装されており、
        <a href="http://sourceforge.net/projects/struts">Struts SourceForge</a>サイトを通じて、
        すでにStrutsコミュニティで積極的に活用されています。
    </p>

<primary>
    <p>
        Throughout the 1.x series, there will be a continued emphasis on expanding unit test coverage for the
        framework.
        Bug reports should include a failing test case when possible.
        Proposals for new features should include a working test suite.
        (Creating features through Test Driven Development is strongly encouraged.)
    </p>
</primary>

    <p>
        1.xシリーズを通して、フレームワークの単体テスト網羅率の向上には引き続き重点を置く予定です。
        バグ報告ではできれば失敗したテストケースも記載して下さい。
        新機能の提案の際には、動作するテストスイートも含めて下さい。
        （[提案する]新機能はテスト駆動で開発することを強く推奨します）
    </p>

<primary>
    <p>
        Enhancement requests are logged in Bugzilla they are suggested.
        <strong>The listing of an enhancement in Bugzilla does not imply that is being "planned"</strong>, merely that some
        member of the community has suggested it, and the idea hasn't been ruled out (yet).
    </p>
</primary>
    <p>
		機能拡張要求は提案時にBugzillaに記録されます。
		<strong>Bugzillaに機能拡張要求として載っているからといって、「実装決定」というわけではありません。</strong>
		単にコミュニティのメンバーが提案していて、（今のところ）その提案が却下されていないだけなのです。
    </p>

<primary>
    <p>
        Future release milestones are provided for enhancements which are being actively planned or developed
        but may not be ready for the very next release.
        If a report has not been tagged for a specific milestone by a working developer, then <strong>it may never be
        resolved</strong>.
        When developers (including non-Committers) are actually working on an enhancement, they should re-tag it for a
        specific release milestone, such as "1.2.1" or "1.2.2".
    </p>
</primary>
    <p>
		現在、実装決定・開発中の機能拡張のためにリリースのマイルストーンが設定されていますが、
		直近のリリースでは実装完了しないかもしれません。
		開発者が特定のマイルストーン向けのタグをつけていないバグ報告は、<strong>永遠に解決しない可能性もあります</strong>。
		開発者(コミッタ以外も含む)が実際に機能拡張に着手した場合は、1.2.1や1.2.2といった特定のマイルストーンのタグをつけるはずです。
    </p>

<primary>
    <p>
        If an enhancement has not been tagged for a specific target, feel free to start working on it yourself.
        Many of our best features have been contributed by developers, just like you.
        If you would like to announce your active interest in an enhancement, please post a note on the ticket, and tag
        it to an appropriate release milestone.
    </p>
</primary>
    <p>
		特定のターゲットのタグがついていない機能拡張については自由に着手していただいてかまいません。
		Strutsのすばらしい機能の多くは、まさに皆さんのような開発者たちのおかげなのです。
		もしある機能拡張に対して積極的な関心を表明したい場合は、[Bugzillaの]報告にメモを投稿し、
		適切なリリースマイルストーンのタグをつけてください。
    </p>

    </section>

<primary>
    <section href="Struts_1_x_whiteboard" name="Struts 1.x Whiteboard">
    </section>
</primary>
    <section href="Struts_1_x_whiteboard" name="Struts 1.x ホワイトボード">

<primary>
        <p>
            These are some general ideas we have about what may happen in the Struts 1.x series.
            This is a <strong>whiteboard</strong> and everything here is <strong>subject to change</strong>.
        </p>
</primary>
        <p>
			Struts 1.x シリーズで今後行なうかも知れない変更に関する検討項目の概要です。
			これはあくまで<strong>ホワイトボード</strong>であり、いずれも<strong>変更される可能性があります</strong>。
        </p>

        <ul>

<primary>
            <li>Struts 1.0.0 (complete) -
            Major refactoring of Struts internals to provide support for modules and a new "config" object series.
            Bundles Struts Tiles and Struts Validator into main distribution.
            The initial release of Struts EL is provided as an optional package.
            </li>
</primary>
            <li>Struts 1.0.0 (完了) -
            モジュールのサポートと新たに「設定」オブジェクト一式を提供するためにStruts内部を大幅にリファクタリング。
			Struts Tiles と Struts Validator をメインの配布にバンドル。
			Struts EL の初期リリースはオプションパッケージとして提供。
            </li>

<primary>
            <li>Struts 1.2.x (alpha) -
                Continued refactorings of the Struts 1.x product series. The current release trigger for 1.2.0 is resolving outstanding <a href="#Bugzilla">problem reports</a>. There are also <a href="#Bugzilla">several patches</a> that could be applied prior to rolling 1.2.0.
                <ul>
                    <li>Remove deprecations created in the 1.0 to 1.1 timeframe, and prior</li>
                    <li>Add support for wildcard mappings.</li>
                    <li>Other minor enhancements and refactorings</li>
                </ul>
            </li>
</primary>
            <li>Struts 1.2.x (アルファリリース) -
				Struts 1.x 製品シリーズのリファクタリングを継続。現行の1.2.0をリリースしたのは、
				際立って多い<a href="#Bugzilla">問題報告</a>を解決するため。
				1.2.0リリース前に<a href="#Bugzilla">いくつかのパッチ</a>を適用。
                <ul>
                    <li>1.0 から 1.1 の間やそれ以前に発生した「推奨されない」機能を削除</li>
                    <li>ワイルドカードマッピングのサポートを追加</li>
                    <li>その他マイナーな拡張やリファクタリング</li>
                </ul>
            </li>

<primary>
            <li>Struts 1.3.x (pending) -
            More substantial enhancements to product base
                <ul>
                    <li>Consider moving repository to Subversion (pending)</li>
                    <li>Complete support for Maven builds (pending)</li>
                    <li>Move taglibs and apps into separate subprojects</li>
                    <li>Launch <a href="http://struts.sourceforge.net/struts-flow/index.html">Flow subproject</a></li>
                    <li>Launch <a href="http://struts.sf.net/struts-bsf/">Scripting</a> subproject</li>
                    <li>Move to "Struts Chain" Request Processor (now in Contrib)</li>
                    <li>Move to Commons Resources when available</li>
                    <li>Enhance all configs to extend one configuration element from another,
                        as is done with Tiles Definitions</li>
                </ul>
            </li>
</primary>
            <li>Struts 1.3.x (保留) -
			製品ベースへのより本質的な機能拡張
                <ul>
                    <li>Subversionへのリポジトリ移行を検討（保留）</li>
                    <li>Mavenビルドを完全サポート（保留）</li>
                    <li>タグライブラリとアプリケーションをそれぞれ別のサブプロジェクトに移動</li>
                    <li><a href="http://struts.sourceforge.net/struts-flow/index.html">Struts Flow</a>サブプロジェクトの立ち上げ</li>
                    <li><a href="http://struts.sf.net/struts-bsf/">Struts BSF</a>サブプロジェクトの立ち上げ</li>
                    <li>(現在、Contribにある)「Struts Chain」リクエストプロセッサへ移行</li>
                    <li>可能ならばCommons Resourcesへ移行</li>
                    <li>あらゆる設定ファイルで、Tiles定義ファイル[tiles-defs.xml]のように設定要素を継承できるように機能拡張</li>
                </ul>
            </li>

<primary>
            <li>Struts 1.4.x -
            More substantial enhancements to product base
                <ul>
                    <li>Consider migration to an Action context (which also might be based on the Commons Chain
                        of Responsiblity package)</li>
                    <li>Consider enhanced support for other platforms (2.3/1.2) if this can be accomplished by
                    specifying an alternate Request Processor</li>
                </ul>
            </li>
</primary>
            <li>Struts 1.4.x -
			製品ベースへのより本質的な機能拡張
                <ul>
					<li>Actionコンテキストへの移行を検討（これもCommons Chainパッケージをベースにする可能性あり）</li>
					<li>(代替的なリクエストプロセッサの仕様策定で実現可能なら)他のプラットフォーム(2.3/1.2)向けの拡張サポートを検討</li>
                </ul>
            </li>

<primary>
            <li>Other potential enhancements for the 1.x.x series
                <ul>
                    <li>Consider <a href="http://struts.sf.net/struts-cocoon/">Cocoon Plugin</a></li>
                    <li>Consider <a href="http://struts.sourceforge.net/struts-spring/index.html">Spring Plugin</a></li>
                    <li>Consider adopting several popular extensions, including:
                        <ul>
                            <li><a href="http://sslext.sourceforge.net/">SSL Ext</a></li>
                            <li><a href="http://strutstestcase.sourceforge.net/">TestCase</a></li>
                            <li><a href="http://stxx.sourceforge.net">Stxx</a> (XLST)</li>
                            <li><a href="http://www.livinglogic.de/Struts/">Workflow</a></li>
                        </ul>
                    </li>
                </ul>
            </li>
</primary>

            <li>その他、1.x.xシリーズで実装可能性のある機能拡張
                <ul>
					<li><a href="http://struts.sf.net/struts-cocoon/">Cocoon プラグイン</a>の検討</li>
					<li><a href="http://struts.sourceforge.net/struts-spring/index.html">Spring プラグイン</a>の検討</li>
					<li>人気のあるエクステンションへの対応の検討。例：
                        <ul>
                            <li><a href="http://sslext.sourceforge.net/">SSLエクステンション</a></li>
                            <li><a href="http://strutstestcase.sourceforge.net/">StrutsTestCase</a></li>
                            <li><a href="http://stxx.sourceforge.net">Stxx</a> (XLST)</li>
                            <li><a href="http://www.livinglogic.de/Struts/">Workflow</a></li>
                        </ul>
                    </li>
                </ul>
            </li>

        </ul>

  <!--
<primary>
    <p>
    Features under discussion include:
    </p>
</primary>

    <p>
    検討中の機能。以下を含む、:
    </p>

    <ul>

<primary>
        <li>
        Proposing ActionError/ActionErrors as generic Commons "message" components
        </li>
</primary>
        <li>
        汎用的な共通「メッセージ」コンポーネントとしてのActionError/ActionErrorsの提案
        </li>

<primary>
        <li>
        "Nested" or "hierarchical" and locale-sensitive modules
        </li>
</primary>
        <li>
        「ネストした」もしくは「階層的」かつロケール依存のモジュール
        </li>

<primary>
        <li>
        Extending one configuration element from another, as is done with Tiles
        Definitions
        </li>
</primary>
        <li>
        あらゆる設定ファイルで、Tiles定義ファイル[tiles-defs.xml]のように設定要素を継承できるように機能拡張
        </li>

<primary>
        <li>
        Enhanced interoperability with JSTL and JSF
        </li>
</primary>
        <li>
        JSTLとJSFの相互運用性の拡張
        </li>

<primary>
        <li>
        Making Tiles JSTL-aware and available to other presentation systems (XLST,
        Velocity)
        </li>
</primary>
        <li>
        Struts TileでJSTLを利用可能にし、他のプレゼンテーションシステム(XLST, Velocity) を利用可能に
        </li>

<primary>
        <li>
        Encouraging the use of <a href="http://sourceforge.net/projects/xdoclet/">XDoclet</a> and other code generation technologies to streamline development.
        </li>
</primary>
        <li>
        ストリームライン開発に向けて<a href="http://sourceforge.net/projects/xdoclet/">XDoclet</a>などコード生成技術の利用を推奨
        </li>

<primary>
        <li>Moving to <a href="http://jakarta.apache.org/turbine/maven/index.html">
        Maven</a> for project management
        </li>
</primary>
        <li>プロジェクト管理のために<a href="http://jakarta.apache.org/turbine/maven/index.html">Maven</a>への移行
        </li>

<primary>
        <li>Regardless of whether a move to Maven happens or not, we need to
        refactor the source repositories and build scripts for less complexity
        and easier maintenance.</li>
</primary>
        <li>Mavenへの移行可否に関わらず、ソースリポジトリのリファクタリングを行い、
        複雑さを軽減しメンテナンスを容易にするためにスクリプトを作成する必要あり</li>

    </ul>
<primary>
    <p>
    More detail on work-in-progress may be found in
    <a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=RESOLVED&amp;resolution=LATER&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=Struts&amp;version=Unknown&amp;version=1.0+Beta+2&amp;version=1.0+Beta+1&amp;version=0.5+Final&amp;version=1.0.2+Final&amp;version=1.0.1+Final&amp;version=1.0+Final&amp;version=1.0+Beta+3&amp;version=1.1+Beta+2&amp;version=1.1+Beta+1&amp;version=Nightly+Build&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;bug_file_loc=&amp;bug_file_loc_type=allwordssubstr&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;order=Bug+Number">Bugzilla</a>.
    If any of these features are important to you, please don't hesitate to
    <a href="./faqs/helping.html">help with the development effort</a>.
    </p>
</primary>
    <p>
    作業中の内容の詳細は<a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=RESOLVED&amp;resolution=LATER&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=Struts&amp;version=Unknown&amp;version=1.0+Beta+2&amp;version=1.0+Beta+1&amp;version=0.5+Final&amp;version=1.0.2+Final&amp;version=1.0.1+Final&amp;version=1.0+Final&amp;version=1.0+Beta+3&amp;version=1.1+Beta+2&amp;version=1.1+Beta+1&amp;version=Nightly+Build&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;bug_file_loc=&amp;bug_file_loc_type=allwordssubstr&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;order=Bug+Number">Bugzilla</a>で見ることが出来ます。
	もし、これらの機能の中で重要なものがあれば、遠慮なく<a href="./faqs/helping.html">開発作業を手伝って下さい</a>。    </p>
-->

</section>

<section href="Struts_2_0" name="Struts 2.0.x">

<primary>
    <p>
    Struts 2.x (aka Struts "Next Generation") will include broader enhancements.
    We anticipate that the implementation will utilize the Servlet 2.4 / JSP 2.0
    platform, but may optionally support earlier platforms.
    </p>
</primary>
    <p>
	Struts 2.x （別名「次世代」Struts）では大幅な機能拡張を行ないます。
	Servlet 2.4 / JSP 2.0プラットフォームを利用しての実装が予想されますが、
	それ以前のプラットフォームもオプションでサポートするかもしれません。
    </p>

<primary>
    <p>
    We anticipate that Struts 2.x will rely on JSTL and the JavaServer Faces
    API as supporting technologies.
    However, the focus of the Struts framework will remain on the Controller aspect of a Model 2/MVC architecture.
    The core framework will continue to be both Model and View independent.
    </p>
</primary>
    <p>
	Struts 2.xはサポート技術として JSTL と JavaServer Faces (JSF) APIに依存することが予想されます。
	しかしながら、Strutsフレームワークは Model 2/MVC アーキテクチャのコントローラの役割を引き続き担当します。
	今後も中心となるフレームワークはモデルにもビューにも依存しません。
    </p>

<primary>
    <p>
    Development of Struts 2.x will include taking a completely fresh look at
    the architecture.
    The goal for 2.x will be to incorporate everything we've learned in the past
    years of Struts usage, and create something even better.
    Development will follow current best practices, like Test Driven Development,
    and rely on technologies like Maven for project management.
    </p>
</primary>
    <p>
	Struts 2.xの開発ではアーキテクチャの根本的な見直しを行ないます。
	2.xの目標は我々が過去何年もStrutsを使ってきた中で学んできた全てを組み込み、
	より良いものを作り上げることです。
	開発作業ではテスト駆動開発など最新の成功事例に追随し、
	プロジェクト管理ではMavenなどの技術に依存します。
    </p>

<primary>
    <p>
    Of course, it is anticipated that the Struts team will continue to support
    the 1.x codebase for a long time with bugfixes and incremental enhancements.
    (Mainly because many of us will still be using it on our production sites!)
    Accordingly, it is anticipated that the development of the 2.x and 1.x
    series will occur in tandem.
    At some point, 2.x milestones may appear alongside new 1.x releases.
    </p>
</primary>
    <p>
	もちろん、Strutsチームは1.xコードベースのサポートも、
	バグフィックスや機能拡張の追加といった形で長期にわたり行なわれることが予想されます。
	（実稼動しているサイトで多くの人が今後も利用するだろうというのが主な理由です）。
	従って、2.xと1.xシリーズの開発は平行して行う予定です。
	2.xのマイルストーンリリースが1.xの新規リリースと同時に行なわれる場合もあるかも知れません。
    </p>

<primary>
    <p>
    Target features include:
    </p>
</primary>
    <p>
	ターゲットとなる機能としては以下のものが挙げられます。
    </p>

    <ul>

<primary>
        <li>
        Comprehensive unit test coverage for all core features
        </li>

        <li>
        Enhanced support for using Struts in large team environments.
        </li>

        <li>
        Transparent support for a portlet environment (JSR 168), with minimal-to-no changes in your business logic
        and pages.
        </li>

        <li>
        Direct support for JSTL/JSF taglibs and the JSF API
        </li>

        <li>
        Enhanced support for other presentation layers, such as XLST
        </li>

        <li>
        Enhanced support for scriptable Actions, using technologies like BSF or Jelly
        </li>

        <li>
        Refactoring for new technologies available on the Servlet 2.4/ JSP 2.0 platform
        </li>
</primary>

        <li>
		全てのコア機能での包括的な単体テストカバレッジ
        </li>

        <li>
		大規模チームによる開発環境でのStruts利用のサポート強化
        </li>

        <li>
		ビジネスロジックやページを最小限もしくは全く変えずに
		Portlet環境 (JSR 168) を透過的にサポート
        </li>

        <li>
		JSTL/JSFタグライブラリとJSF API の直接的サポート
        </li>

        <li>
		XLSTなどプレゼンテーションレイヤのサポート強化
        </li>

        <li>
		BSFやJellyなどの技術を用いたスクリプト制御可能なアクションのサポート強化
        </li>

        <li>
		Servlet 2.4/ JSP 2.0プラットフォームで利用可能な新技術に向けたリファクタリング
        </li>

    </ul>

<primary>
    <p>
        An early proposal for one possible implementation of Struts 2.x, "Struts Jericho",
        is available in the <a href="http://cvs.apache.org/viewcvs.cgi/jakarta-struts/contrib/struts-jericho/">contrib folder</a>.
    </p>
</primary>
    <p>
		Struts 2.xの実装候補の初期提案である「Struts Jericho」は
		<a href="http://cvs.apache.org/viewcvs.cgi/jakarta-struts/contrib/struts-jericho/">contribフォルダ</a>で利用可能です。
    </p>

</section>

<section href="Portlets" name="Portlet (JSR-168) Whiteboard">
<primary>
    <p>
        There are three major issues with supporting JSR-168 (and I'm sure a bunch of smaller ones as well):
    </p>
</primary>
    <p>
		JSR-168をサポートするに当たって大きな問題が3つあります（小さな問題もきっとたくさんあるでしょう）。
    </p>

    <ul>

<primary>
        <li>
            Struts APIs assume servlet API objects (ServletContext, ServletRequest, ServletResponse), whereas JSR-168
            talks aboutPortletContext, PortletRequest, and PortletResponse.
            We'd either need to change the calling sequence for Action.execute() -- problematic for backwards
            compatibility -- or fake it somehow in a portlet environment.
        </li>
</primary>
        <li>
			Struts APIではサーブレットAPIオブジェクト(ServletContext, ServletRequest, ServletResponse)を前提にしているのに対し、
			JSR-168はPortletContext, PortletRequest, そして PortletResponseを扱います。
			Action.execute()への呼び出しシーケンスを変えるか(この方法だと下位互換性に問題があります)、
			Portlet環境でどうにかごまかす必要があります。
        </li>

<primary>
        <li>
            The lifecycle of a portlet request is actually divided into two chunks -- processing and then rendering.
            From a Struts perspective, that means making sure that the first part of the request processor pipeline
            need to happen in the "process" part, and the forwarding to the resulting page needs to happen in the
            "render" part.
        </li>
</primary>
        <li>
			Portletリクエストのライフサイクルは実際には２つのかたまり ― プロセシング（処理を行う部分）とレンダリング（結果を返す部分）
			― に分けられます。Strutsの観点からすると、リクエストプロセッサパイプラインの最初の部分は「プロセシング」の部分で、
			結果ページのフォワードは「レンダリング」の部分で行なうようにする必要があるということを意味します。
        </li>

<primary>
        <li>
            Today, Struts owns the process of calculating URLs for pages and actions.
            Because it's in a webapp, it knows exactly what to do for the developer.
            However, in a portlet container it's actually the portal server that manages URLs, so a Struts-based
            portlet would need to interact with the portlet APIs for this purpose.
        </li>
</primary>
        <li>
			現在、Strutsはページやアクションに対応するURLを導き出すプロセスをもっています。
			このプロセスはWEBアプリケーション内にあるので、開発者のために何をすべきか正確に把握しています。
			しかしPortletコンテナでは、URLを管理するのはポータルサーバーなので、
			StrutsベースのPortletはこの目的のためにPortlet APIにアクセスする必要があります。
        </li>

    </ul>

<primary>
    <p>
        A strong goal should be that a Struts application should be usable either as a webapp or as a portlet, with
        little (ideally no) changes.
        Therefore, we should build whatever it takes to support this into the standard Struts distribution, which would
        then be used in both environments.
    </p>
</primary>
    <p>
		Strutsアプリケーションを小規模の変更で（理想的には変更なしで）、Webアプリとしても
		Portletとしても使用できることが重要な目標となります。
		したがって、標準Strutsディストリビューションにこうしたサポートを何としても組みこみ、
		WEBアプリケーション、Portlet両方の環境で使えるようにしなければなりません。
    </p>

</section>

    <section href="jsf" name="JavaServer Faces">

<primary>
        <p>
            The <a href="http://java.sun.com/j2ee/javaserverfaces/">JavaServer Faces</a> specification has not been
            finalized. However, Struts is already providing support for JSF through the Struts Faces taglib. Once JSF
            is finalized and comes into broad use, it is expected that Struts developers will continue to offer
            enhancements to make it even easier to use Struts with JSF.
        </p>
</primary>
        <p>
			<a href="http://java.sun.com/j2ee/javaserverfaces/">JavaServer Face</a>の仕様は確定しておりません。
			しかし、StrutsはStruts Faces タグライブラリを通してJSFへのサポートを既に提供しております。JSF
			の仕様が確定し、広く利用されるようになれば、StrutsでJSFをさらに使いやすくするための機能拡張が
			Struts開発者から提供されると思われます。
        </p>

<primary>
        <p>
            Right now, there is only one open source project working on a JavaServer Faces implementation,
            <a href="http://sf.net/projects/myfaces">MyFaces</a>. This work is being done under the
            <a href="http://www.gnu.org/copyleft/lesser.html">LGPL</a>, which some
            developers find unacceptable. (If you are interested in this project, we suggest you lobby the developers
            to adopt a more liberal license, like the <a href="http://apache.org/LICENSE">ASL</a>.)
        </p>
</primary>
        <p>
			現在のところ、JavaServer Faces実装に取り組むオープンソースのプロジェクトは、
			<a href="http://sf.net/projects/myfaces">MyFaces</a>しかありません。
			成果物は<a href="http://www.gnu.org/copyleft/lesser.html">LGPL</a>で提供されていますが、
			このライセンス形態を容認しない開発者もいます。（もしこのプロジェクトに興味がおありでしたら、
			<a href="http://apache.org/LICENSE">ASL</a>のようにより寛大なライセンスを採用するよう、
			開発者に働きかけることをお勧めします。
        </p>

<primary>
        <p>
           Thanks in large part to Apache's advocacy and influence, the <a href="http://jcp.org">Java Community
           Process</a>, which is responsible for the JavaServer Faces specification, process has been modified so that
           Apache Software Foundation projects, like Jakarta, can qualify for the certification scholarship (for
           nonprofits) and access to the TCKs and certify that our application is compliant.
        </p>
</primary>
        <p>
			JavaServer Facesの仕様に責任を持つ<a href="http://jcp.org">Java Community Process</a>
			(JCP) に対するApacheの強い支持と影響力のおかげで、JakartaなどApache Software Foundation
			の各プロジェクトが（非営利団体向け）認定奨学金の資格を得たり、TCK(テクノロジー互換性キット)
			にアクセスしたり、アプリケーションが仕様に準拠していると認定を受けられるようにプロセスが変更されました。
        </p>
        <note><a href="http://www.idg.co.jp/headline/200311_03.html">http://www.idg.co.jp/headline/200311_03.html</a>
        の「米ジェイボスが有償のJ2EE認定条件を受入れ、ASFは無償認定へ」という記事が参考になるかも知れません。</note>

<primary>
        <p>
            An certificated-complaint Apache implementation of JavaServer Faces would most definately be a Good Thing.
            It would not be the reference implementation, but we could treat it like one, and strictly follow the
            book, in the Apache Way. A strict, high-quality, open-source implementation would most likely become
            a popular option among containers.
        </p>
</primary>
        <p>
			JavaServer Faces準拠が認定されたApacheの実装があれば、間違いなくすばらしいことでしょう。
			リファレンス実装ではないにせよ、それと同様に扱うことが出来るでしょうし、
			Apache的なやり方で厳格に仕様に従っていることでしょう。
			厳格で高品質なオープンソース実装は恐らくコンテナの中で人気のある選択肢となることでしょう。
        </p>

<primary>
        <p>
            Work on such an implementation could be undertaken by Struts, either here at Jakarta or after our applying
            for status as a top-level Apache project. <b>Or</b>, "Apache Faces" could also be undertaken as a separate
            project, with Struts simply using the technology as we now use technologies from the Commons today.
        </p>
</primary>
        <p>
			こうした実装作業はApacheのトップレベルプロジェクトであるStrutsが行なうかもしれません。
			<b>あるいは</b>新しい別プロジェクト(「Apache Faces」？)がこの作業を行い、
			Strutsは現在Commonsを使っているように技術を利用するだけという形になるかもしれません。
        </p>
        <note>either here ... as a top-level Apache projectの部分は、
        StrutsがTLPに昇格したという実情に合わせて意訳しています。(高橋)</note>
        <note>もちろん「Apache Faces」というプロジェクトは現在のところ実在しません。(高橋)</note>

<primary>
        <p>
            However, at this point, there is no "code on the table". Apache products leave decisions such as these to
            the people who create and maintain the codebase. So, lacking a codebase, no binding decision
            can be made. But, anyone wishing to pursue an "Apache Faces" implementation should be aware that the option
            certainly exists.
        </p>
</primary>
        <p>
			しかし現時点では「検討中のコード」はありません。Apache製品ではこうした決定はコードベースを作成・維持する人にゆだねられます。
			したがってコードベースがない現状では、拘束力を持つ決定を行なうことはできません。
			しかし「Apache Faces」の実装を進めたい人は、こうした選択肢が確固として存在することを覚えておいて下さい。
        </p>

<primary>
        <p>
            Aside from offering a strict implementation of JavaServer Faces, there are many, many other JSF related
            tools and technologies Apache Faces could provide. These include composite view and validation
            frameworks (like Tiles and the Validator), frameworks for multi-request transactions, non-HTML markup
            languages (building on top of Faces for things like XUL or XForms or SVG is easy), non-JSP rendering
            technologies (pretty much anything that has a way to mark where dynamically created output goes can be
            adapted), libraries of prebuilt components above and beyond the built-in standard ones (such components
            work equally well in JSP and non-JSP environments), and all the non-human-UI things based on XML
            technologies.
        </p>
</primary>
        <p>
			JavaServer Facesの厳密な実装の提供はさておき、それ以外にも「Apache Faces」が提供すると思われる
			JSF関連のツールや技術は非常ににたくさんあります。例えば、（TilesやValidatorのような）複合ビュー(composite view)
			やバリデーションのフレームワーク、複数リクエストのトランザクションのためのフレームワーク、
			HTML以外のマークアップ言語（XULやXFormsやSVGのようなものをFacesをベースに構築するのは簡単です）、
			JSP以外のレンダリング技術（動的に生成される出力先をマークする手段があるものなら何でも）、
			ビルトインの標準コンポーネントなどあらかじめビルドされたコンポーネントのライブラリ
			（こうしたコンポーネントはJSP環境でもJSP以外の環境でも同じように動作します）、
			XMLをベースにした人手を介さないあらゆるユーザインターフェースなどが挙げられます。
        </p>

<primary>
        <p>
            As always, the standard implementation is only the beginning.
        </p>
</primary>
        <p>
			いつものことですが、標準実装は始まりに過ぎないのです。
        </p>

<primary>
        <p>
            For more about Struts and JavaServer faces, see our <a href="faqs/kickstart.html#jsf">FAQ</a>.
            For more about JavaServer Faces generally, see also <a href="http://www.jamesholmes.com/JavaServerFaces/">
            Java Server Faces Resources at JamesHomes.com</a>.
        </p>
</primary>
        <p>
			StrutsやJavaServer facesの詳細は<a href="faqs/kickstart.html#jsf">FAQ</a>を参照してください。
			JavaServer Facesの概要については<a href="http://www.jamesholmes.com/JavaServerFaces/">JamesHomes.comのJava Server Faces Resources</a>もご参照ください。
        </p>
    </section>

<primary>
<section href="Proposals" name="Relevant Proposals">
</section>
</primary>
<section href="Proposals" name="関連提案">

    <ul>

<primary>
        <li>
        <a href="http://cvs.apache.org/viewcvs/jakarta-commons-sandbox/chain/">Commons Chain of Responsiblity
        package</a>
        </li>
</primary>
        <li>
        <a href="http://cvs.apache.org/viewcvs/jakarta-commons/chain/">Commons Chain of Responsiblity
        パッケージ</a>
        </li>

<primary>
        <li>
        <a href="http://cvs.apache.org/viewcvs/jakarta-struts/contrib/struts-chain/">CoRe Request Processor</a>
        </li>
</primary>
        <li>
        <a href="http://cvs.apache.org/viewcvs/jakarta-struts/contrib/struts-chain/">中心となる Request Processor</a>
        </li>


<primary>
        <li>
        <a href="http://wiki.apache.org/struts/StrutsRelease124">Release Plan 1.2.4</a>
        </li>
</primary>
        <li>
        <a href="http://wiki.apache.org/struts/StrutsRelease124">1.2.4 リリースプラン</a>
        </li>

<primary>
        <li>
        <a href="proposals/struts-faces.html">struts-faces taglib</a>
        </li>
</primary>
        <li>
        <a href="proposals/struts-faces.html">Struts-Faces タグライブラリ</a>
        </li>

    </ul>

    <note>Commons Chainはサンドボックスから昇格したためリンクを変更しました。(高橋)</note>
    <note>StrutsのリポジトリはCVSからSubversionに移行したため、リンク変更が必要ですが、
    校正時点でSVNサーバが落ちているため確認できていません。(高橋)</note>
</section>

<primary>
    <section>
      <p class="right">Next:
      <a href="http://cvs.apache.org/viewcvs/jakarta-struts/">CVS Repository</a></p>
    </section>
</primary>
    <section>
      <p class="right">次は:
      <a href="http://cvs.apache.org/viewcvs/jakarta-struts/">CVSリポジトリ</a></p>
    </section>

<section>
    <p class="version">Website updated from CVS: 2004 AUG 24 by husted.</p>
    <p class="version">Javadocs updated from CVS: 2004 AUG 24 by husted.</p>
</section>
</chapter>
</body></document>
