(57)【要約】【課題】ある電子フォームテンプレートに由来するデザイナ作成アスペクトを別の電子フォームテンプレートに追加することを可能にするシステムおよび方法を提供する。【解決手段】一実施形態では、本システムおよび方法により、ユーザは、既存の電子フォームテンプレートのデザイナ作成アスペクトを、別の電子フォームテンプレートに追加可能なコンポーネントにグラフィカルにパッケージングすることができる。別の実施形態では、本システムおよび方法により、ある電子フォームテンプレートに由来する既存の非構造的なデザイナ作成アスペクトを別の電子フォームテンプレートのデータ構造にマッピングすることができる。【選択図】図６
2006244507.tif 000002
【特許請求の範囲】
【請求項１】
第１の電子フォームテンプレートに由来するアスペクトのグラフィカルな選択を可能にし、
前記アスペクトの選択を受け取り、
前記選択に応答して、前記選択されたアスペクトを第２の電子フォームテンプレートに追加する
ことを特徴とする方法。
【請求項２】
前記選択を受け取るアクトが、グラフィカルに選択することが可能にされた全部のアスペクトに満たないアスペクトの選択を受け取ることを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記追加するアクトが、前記選択されたアスペクトのみを追加することを含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記可能にするアクトが、非構造アスペクトの選択を可能にすることを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記受け取るアクトが、前記非構造アスペクトのうちの１つの選択を受け取ることを含み、さらに前記方法が、前記第２の電子フォームテンプレートの既存のデータ構造が前記第１の電子フォームテンプレートに由来して前記非構造アスペクトに関連付けられている構造アスペクトに類似する場合に、該既存のデータ構造に前記非構造アスペクトをマッピングすることを含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記可能にするアクトが、前記第１の電子フォームテンプレートの一部の書式設定を決定するアスペクトのグラフィカルな選択を可能にすることを含み、前記受け取るアクトが、この書式設定アスペクトの選択を受け取ることを含み、前記第２の電子フォームテンプレートの書式設定が変更されるように、前記追加するアクトが、この書式設定アスペクトを前記第２の電子フォームテンプレートに追加することを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記可能にするアクトが、前記第１の電子フォームテンプレートの少なくとも一部を統制するデータ構造を含むアスペクトのグラフィカルな選択を可能にすることを含み、前記受け取るアクトが、このデータ構造アスペクトの選択を受け取ることを含み、前記追加するアクトが、前記データ構造を前記第２の電子フォームテンプレートに追加することを含むことを特徴とする請求項１に記載の方法。
【請求項８】
電子フォームテンプレートの１つまたは複数のデザイナ作成アスペクトのグラフィカルな選択を可能にし、
前記電子フォームテンプレートのデザイナ作成アスペクトの選択を受け取り、
パッケージングされたアスペクトを別の電子フォームテンプレートに追加することができるように、前記選択されたデザイナ作成アスペクトをパッケージングする
ことを特徴とする方法。
【請求項９】
前記可能にするアクトが、前記電子フォームテンプレートのレンダリングされたビューを介して選択を可能にすることを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記可能にするアクトが、前記電子フォームテンプレートのすべてのデザイナ作成アスペクトの選択を可能にすることを含み、前記受け取るアクトが、前記電子フォームテンプレートのすべてのデザイナ作成アスペクトの選択を受け取ることを含むことを特徴とする請求項８に記載の方法。
【請求項１１】
前記パッケージングするアクトが、拡張可能マークアップ言語を用いて前記選択されたデザイナ作成アスペクトをパッケージングし保存することを含むことを特徴とする請求項８に記載の方法。
【請求項１２】
デザイナにより作成された非構造アスペクトの選択を可能にし、
前記非構造アスペクトの選択を受け取り、
前記選択された非構造アスペクトが電子フォームテンプレートに追加されるように、前記選択された非構造アスペクトを該電子フォームテンプレートのデータ構造にマッピングする
ことを特徴とする方法。
【請求項１３】
前記選択された非構造アスペクトが別の電子フォームテンプレートに由来することを特徴とする請求項１２に記載の方法。
【請求項１４】
前記可能にするアクトが、前記非構造アスペクトのグラフィカルな選択を可能にすることを含むことを特徴とする請求項１２に記載の方法。
【請求項１５】
前記電子フォームテンプレートのデータ構造が、前記選択された非構造アスペクトをマッピングすることが可能なデータ構造の一つであるかどうかを判断することをさらに含むことを特徴とする請求項１２に記載の方法。
【請求項１６】
コンピュータ可読命令を備えた１つまたは複数のコンピュータ可読媒体において、該コンピュータ可読命令は、該コンピュータによって実行される時に、
第１の電子フォームテンプレートのデザイナ作成アスペクトの選択を可能にするアクトと、
前記第１の電子フォームテンプレートのデザイナ作成アスペクトの選択を受け取るアクトと、
再利用のために前記選択されたデザイナ作成アスペクトをパッケージングするアクトと、
前記パッケージングされたアスペクトを第２の電子フォームテンプレートに追加するアクトと
を前記コンピュータに実行させることを特徴とするコンピュータ可読媒体。
【請求項１７】
前記命令は、前記デザイナ作成アスペクトのグラフィカルな選択を可能にすることを含むように、前記可能にするアクトを前記コンピュータに実行させることを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項１８】
前記パッケージングされたアスペクトの１つが非構造的であり、前記命令は、前記非構造的なパッケージングされたアスペクトを前記第２の電子フォームテンプレートのデータ構造にマッピングすることを含むように、前記追加するアクトを前記コンピュータに実行させることを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項１９】
前記命令は、前記第２の電子フォームテンプレートのデータ構造が前記非構造的なパッケージングされたアスペクトに関連付けられた前記第１の電子フォームテンプレートの構造アスペクトに類似するかどうかを判断するアクトを、さらに前記コンピュータに実行させることを特徴とする請求項１８に記載のコンピュータ可読媒体。
【請求項２０】
前記命令は、
前記パッケージングされたアスペクトのグラフィカルな選択を可能にするアクトと、
前記パッケージングされたアスペクトの選択を受け取るアクトと
をさらに前記コンピュータに実行させ、
前記パッケージングされたアスペクトを追加するアクトが、前記パッケージングされたアスペクトの選択を受け取るアクトに応答して行われることを特徴とする請求項１６に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子フォームテンプレートに関する。
【背景技術】
【０００２】
情報を収集するために電子フォーム（電子形態、電子書式とも称されている）が広く用いられている。このような電子フォームにより、ユーザは、データを入力し、そのデータをコンピュータアクセス可能なデータベース等にディジタル的に保存することができる。こうして保存されたデータは素早く検索でき、他人がそのデータを使用することができる。
【０００３】
特定の種類の情報を収集するため、あるいはそれを特定の方法で収集するため、電子フォームテンプレートが設計（デザイン）されることがある。例えばタイヤの売上を記録するための電子フォームテンプレートは、タイヤ販売員の名前および従業員番号、販売したタイヤの種別、タイヤの価格、ならびに顧客の情報が入力可能なように設計することができる。この記録情報を用いることで、タイヤ会社は、売上、在庫、および顧客の情報の追跡がより良くできるようになる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
複数のフォーム間の整合性のため、あるいは時間と労力を節約するために、プログラマは、別の電子フォームテンプレートを構築する際に、電子フォームテンプレートの一部を再利用したいことがある。例えば、プログラマは、顧客の情報を記録するためのタイヤ売上レコードの一部を、このような情報の入力を必要とする別の電子フォームテンプレートにおいて再利用したい場合がある。しかし、そうするために、プログラマはコード（プログラム）を書かなければならないことがあり、これには多くの場合、相当の時間あるいはプログラミング経験を必要とする。
【課題を解決するための手段】
【０００５】
本発明により、ある電子フォームテンプレートに由来するデザイナ作成アスペクト（デザイナが作成したアスペクト）を別の電子フォームテンプレートに追加することを可能にするシステムおよび／または方法（ツール）が実現される。
【０００６】
本発明の一実施形態では、上記ツールにより、ユーザは、プログラミングをせずに、既存の電子フォームテンプレートのデザイナ作成アスペクトを、別の電子フォームテンプレートに追加可能なコンポーネントにパッケージングすることができる。
【０００７】
本発明の別の実施形態では、上記ツールにより、非構造的なデザイナ作成アスペクトを電子フォームテンプレートのデータ構造にマッピングすることができる。
【０００８】
なお、本明細書および図面全体を通じて、同一番号を用いて同一の構成要素および特徴を参照する。
【発明を実施するための最良の形態】
【０００９】
概要 
以下の説明では、既存の電子フォームテンプレートに由来するアスペクトのような以前に作成したアスペクト（様相）を現在の電子フォームテンプレートに組み込むためのユーザフレンドリな（使い勝手のよい）方法について述べる。以前に作成したアスペクトは、フォームデザイナにプログラミング経験がなくても、現在の電子フォームテンプレートに組み込むことができる。
【００１０】
一実施形態では、ユーザは、プログラミングをせずに、既存の電子フォームテンプレートのデザイナ作成アスペクトを、別の電子フォームテンプレートに後で組み込むことが可能なコンポーネントにパッケージングすることができる。こうしたアスペクトとしては、構造アスペクト、ならびに、データコネクション、ビジネスロジック（例えばデータを統制する妥当性検査（バリデーション）やルール）、編集動作、書式設定、およびビュー表現等の非構造アスペクトのように、既存の電子フォームテンプレートに対してなされる種々のカスタマイズが挙げられる。
【００１１】
現在の電子フォームテンプレートに追加されるアスペクトは非構造的であってもよく、現在の電子フォームテンプレートの既存のデータ構造にマッピングされることが可能である。これにより、例えば、以前から存在するデザイナ作成の非構造アスペクトを、変化しないと考えられるデータ構造を有する電子フォームテンプレートに追加することが可能となる。
【００１２】
典型的オペレーティング環境 
本発明に係わる上記ツールを詳細に説明する前に、本ツールがどこでどのようにして使用され得るかについての読者の理解を助けるために、以下で典型的オペレーティング環境を説明する。以下の説明は単なる一例を構成するに過ぎず、本ツールの適用形態を１つの特定のオペレーティング環境に限定することを意図してはいない。
【００１３】
図１は１つのこのようなオペレーティング環境を示しており、全体として１００で示す。オペレーティング環境１００は、コンピュータ１０２と、アクセス可能コンピュータ可読媒体１０５を有するアクセス可能データソース１０４とを備える。コンピュータは、プロセッサ１０６およびコンピュータ可読媒体１０８を備えて図示されている。プロセッサは、コンピュータ可読媒体のアクセスおよび／または実行が可能である。コンピュータ可読媒体は、既存の電子フォームテンプレート１１０、アスペクトユーザインタフェース１１４を有するアスペクトパッケージャ（アスペクトパッケージング部）１１２、デザインユーザインタフェース１１８を有するデザインアプリケーション１１６、および現在の電子フォームテンプレート１２０を含む。アスペクトパッケージャおよびデザインアプリケーションは別々に示されているが、統合されていてもよい。
【００１４】
アスペクトパッケージャ１１２により、ユーザは、１つまたは複数の既存のデザイナ作成アスペクト（１２２にパッケージングされているように示されている）を別の電子フォームテンプレート（例えば現在の電子フォームテンプレート１２０）に後で追加するためにパッケージングすることができる。パッケージングされたデザイナ作成アスペクト１２２は、構造アスペクト１２４および非構造アスペクト１２６を含む。非構造アスペクトとしては、データコネクションアスペクト１２８、ビジネスロジックアスペクト１３０、編集動作アスペクト１３２、書式設定アスペクト１３４、およびビュー表現アスペクト１３６のような、フォームテンプレートに対してなされる種々のカスタマイズが挙げられる。
【００１５】
デザインアプリケーション１１６により、パッケージングされたデザイナ作成アスペクトを現在の電子フォームテンプレートに追加することが可能となる。これらのパッケージングされたデザイナ作成アスペクトは、例えばコンピュータのメモリ上またはネットワーク１３８を越えてアクセス可能データソース１０４（図示）に保存されることによって、コンピュータによりアクセス可能である。
【００１６】
典型的な既存の電子フォームテンプレート 
以下、典型的な既存の電子フォームテンプレートを説明する。この具体例のフォームテンプレートは、後で再利用するためにパッケージングされ得る電子フォームテンプレートの種々のデザイナ作成アスペクトを読者が理解する助けとなるように用意されている。
【００１７】
図２は、既存の電子フォームテンプレート１１０のレンダリングされたビュー２００を示している。このビューは、タイヤの売上を入力するための電子フォームテンプレートを示しており、タイヤ販売員名２０２、従業員番号２０４、タイヤの種別２０６、タイヤ価格２０８、総額２１０、車種２１２、顧客名２１４、顧客の番地２１６、顧客の都市２１８、顧客の州２２０、および顧客の郵便番号（ＺＩＰコード）２２２に対するデータ入力フィールドを備える。
【００１８】
これらのデータ入力フィールドおよびそれらの配置は、既存の電子フォームテンプレートに対する既存の、デザイナ作成の構造アスペクトを表す。また、データ入力フィールドは、例えば繰り返し可能（例えば、顧客が、ある種類のタイヤを前輪用に、別の種類のタイヤを後輪用に購入した場合等における、販売したタイヤの種別およびタイヤ価格）、任意（例えば、タイヤ販売員の従業員番号がその販売員の名前を示しているため、販売員名の入力が冗長である場合等における、タイヤ販売員名）、テキスト入力のみ許可（例えば顧客名データ入力フィールド）、あるいは数字入力のみ許可（例えばタイヤ価格、総額、および郵便番号フィールド）等によって、それらの構造に影響を及ぼすさまざまな性質を有してもよい。この例示した既存の電子フォームテンプレートのデザイナは、これらの特定の種類のデータ入力フィールドを選択することによってカスタマイズを行う。ここでこれらのデータ入力フィールドはビュー内に配置され、既存の電子フォームテンプレートのデータ構造内に存在する。
【００１９】
既存の電子フォームテンプレートは、そのデザイナによって作成された他の（非構造）アスペクトを有する。それらのうちのいくつかは視覚的であるため、このレンダリングされたビューにおいて見やすい。１つのそのようなアスペクトとして書式設定がある。書式設定は、「TIRE SALES RECORD」、「Acme Tire Company」、「A Family-Owned Company」、「Salesman Name:」、「Employee No.:」、「Type of Tire:」、「Tire Cost:」、「Total Price:」、「Customer Information」、「Car Type:」、「Customer Name:」、「Street:」、「City:」、「State:」、および「ZIP Code:」というテキストのような、データ入力フィールド内およびその周りのテキストのフォント、サイズ、および色を決めることができる。別の視覚的アスペクトとしてビュー表現がある。このアスペクトは、データ入力フィールドの色およびサイズを決めることができる。例えば、データ入力フィールド２１２、２１４、２１６、２１８、２２０、２２２、およびテキスト「Customer Information」は、２２４で示した網かけ付きの破線ボックス内にある。この網かけ付きの破線ボックスは、既存の電子フォームテンプレートの１つのビュー表現アスペクトである。
【００２０】
既存の電子フォームテンプレートは、データコネクション（データ接続）、ビジネスロジック、および編集動作に対するアスペクトのような、他の非構造アスペクトを含んでもよい。１つのデータコネクションアスペクトでは、市および州のフィールドを自動入力する。例えば、販売員が顧客郵便番号データ入力フィールドに郵便番号を入力した場合、既存の電子フォームテンプレートはデータソースに接続し、この入力された郵便番号に基づいて、対応する市および州を決定できる。そして、この情報を用いて、既存の電子フォームテンプレートは、この対応する市および州を、市および州のデータ入力フィールドに入力し、それにより、販売員の作業時間を節約し、できる限りエラーの可能性を低減することができる。
【００２１】
ビジネスロジックアスペクトは、フィールドに入力されたデータに対するオペレーション（演算操作）を実行できる。例えば、特定の価格がタイヤ価格データ入力フィールド２０８に入力された場合、ビジネスロジック（例えばスクリプトまたはマネージドコード(プログラムコード)）が動作することにより、この数値に４（４個のタイヤが購入されたと仮定する）を乗算し、該当する税額を加算し、この総額を総額データ入力フィールド２１０に入力することができる。
【００２２】
編集動作のアスペクトは、販売員がある一定数より多くの文字を従業員番号フィールドに入力するのを禁止する等によって、ユーザが既存の電子フォームテンプレートと対話する仕方をどのように許可するかを統制することができる。
【００２３】
これらの非構造アスペクトはそれぞれ、構造アスペクト、この場合には既存の電子フォームテンプレート内の対応するデータ構造、とリンクしてもよい。一実施形態では、これらのリンクはそれぞれその関連する構造から分離可能である。この分離可能性について以下でさらに詳細に説明する。
【００２４】
再利用のためのアスペクトのパッケージング 
以下では、本ツールにより、ユーザが再利用のためにアスペクトをパッケージングすることが可能となる典型的方法を説明する。
【００２５】
図３は、デザイナによって作成され、かつ既存の電子フォームテンプレートに由来するようなアスペクトを、ユーザがパッケージングすることを可能にする典型的プロセス３００を示している。プロセス３００は、アスペクトパッケージャ１１２およびアスペクトユーザインタフェース１１４のような図１のオペレーティング環境１００の構成要素によって実行される個別のオペレーション（操作、演算処理）あるいはアクト（行為）を表す一連のブロック（ステップ）として示されている。本明細書に開示されるこのプロセスおよびその他のプロセスは、任意の好適なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実施可能である。ソフトウェアおよびファームウェアの場合、これらのプロセスは、コンピュータ可読媒体１０８に格納されプロセッサ１０６によって実行されることが可能なコンピュータ実行可能命令として実現されるオペレーションのセットを表す。
【００２６】
ブロック３０２で、アスペクトパッケージャ１１２が、デザイナ作成アスペクトの選択を可能にする。ユーザは、例えば、テキストベースのコマンドを用いて、または、デザイナ作成アスペクトを表すレンダリング（描写）された既存の電子フォームテンプレートの一部をグラフィカルに（画像を使って）選択すること等によってグラフィカルに、既存のデザイナ作成アスペクトを選択することができる。
【００２７】
例示した実施形態では、アスペクトパッケージャ１１２は、図２に示したような既存の電子フォームテンプレートのレンダリングされたビュー（図）２００を通じて選択を可能にする。このビューを通じて、アスペクトユーザインタフェースにより、ユーザは、後で再利用するために既存の電子フォームテンプレートの全部の、または特定のデザイナ作成アスペクトを選択することができる。
【００２８】
例えば、フォームテンプレートのデザイナが、顧客情報データ入力フィールド（フィールド２１２、２１４、２１６、２１８、２２０、および２２２）のアスペクトを再利用したいと仮定する。このフォームデザイナは、自動車ブレーキの修理等の自動車サービスを記録するサービス記録のような他のフォームテンプレートで再利用するために、これらのアスペクトを利用可能にしたい場合がある。
【００２９】
ブロック３０４で、アスペクトパッケージャ１１２はユーザの選択を受け取る。上記のように、この選択はテキスト（文字列）、グラフィック（図形）、およびその他、ユーザがコードをプログラムしたり書いたりすることを不要なものとすることができる。この選択は、既存の電子フォームテンプレートの既存のデザイナ作成アスペクトの全部を含んでも、その一部だけを含んでもよい。
【００３０】
例示した実施形態では、ユーザは、図４の選択ボックス４０２で示したように、顧客情報データ入力フィールドの周りにボックス（囲み枠）を描くことによって、これらのフィールドを選択する。
【００３１】
ブロック３０６で、アスペクトパッケージャ１１２は、ユーザによって選択されたデザイナ作成アスペクトをパッケージングすることにより、１つまたは複数のアスペクトを別の電子フォームテンプレートに追加できるようにする。これらアスペクトは、別々にパッケージングされても、１つのグループとしてまとめてパッケージングされてもよい。一実施形態では、これらのアスペクトは１つの不可分なグループに結合される。他の実施形態では、このパッケージングは、これらアスペクトを電子フォームテンプレートに別々に追加できるようにする。例えば、非構造アスペクトを、現在の電子フォームテンプレートでこの非構造アスペクトに関連する構造アスペクトの構造に類似する構造を有する既存のデータ構造に、マッピングすることができる。
【００３２】
これらアスペクトは、別々にパッケージングされて、ローカル（現場）に保存されてもよく、あるいは、図１に示したリモートソース（遠隔情報源）１０４に保存される次の６個のアスペクト、すなわち、構造アスペクト１２４、データコネクションアスペクト１２８、ビジネスロジックアスペクト１３０、編集動作アスペクト１３２、書式設定アスペクト１３４、およびビュー表現アスペクト１３６のように、リモートソースに保存されてもよい。アスペクトは、例えばマークアップ言語（例えばＸＭＬ（拡張可能マークアップ言語））、変換言語（例えばＸＳＬＴ（ＸＭＬスタイルシート言語変換））、拡張スタイルシート言語（例えばＸＳＬ（eXtensible Stylesheet Language））、スキーマ（例えばＸＭＬスキーマ）、またはハイパーテキストマークアップ言語（ＨＴＭＬ）を用いて、パッケージングされ保存されてもよい。
【００３３】
また、アスペクトパッケージャ１１２は、アスペクトを１つのコンポーネント内にパッケージングしてもよい。ここでコンポーネントは、関連する非構造アスペクト（例えば図１の非構造アスペクト１２６に含まれるように示されているもの）から分離可能な構造アスペクトを含む。このコンポーネントは、構造アスペクトをさらに追加することを必要とせずに、非構造アスペクトを電子フォームテンプレートに追加できるようにパッケージングされた、構造アスペクトおよび非構造アスペクトを含んでもよい。
【００３４】
例示した実施形態では、アスペクトパッケージャは、ブロック３０４で図４の選択ボックス４０２を用いて選択された顧客情報データ入力フィールドの構造アスペクトおよび非構造アスペクトをパッケージングすることができる。この例示した実施形態では、これらのアスペクトは、構造アスペクトおよび非構造アスペクトがリンクされるが分離可能な形で１つのコンポーネントにパッケージングされる。
【００３５】
このコンポーネントは、顧客情報フィールド（図２の２１２、２１４、２１６、２１８、２２０、および２２２）の構造プロパティによって表される構造アスペクトを含む。これらのフィールドは、既存の電子フォームテンプレートのビュー内に配置され、既存の電子フォームテンプレートのデータ構造内に存在する。
【００３６】
また、このコンポーネントは、顧客情報フィールドの非構造アスペクトも含む。これは書式設定アスペクトを含み、今の場合、例えば「Customer Information」、「Car Type:」、「Customer Name:」、「Street:」、「City:」、「State:」、および「ZIP Code:」というデータ入力フィールド内およびその周りのテキストのフォント、サイズ、および色である。また、このコンポーネントは、図２に２２４で示した網かけ付きの破線ボックスのようなビュー表現アスペクトも含むように構築される。また、このコンポーネントは、郵便番号に基づいて市および州のフィールドを自動入力するためのデータコネクションアスペクトも含む。
【００３７】
ブロック３０８で、アスペクトパッケージャ１１２は、パッケージングされたアスペクトを後でグラフィカルに選択する際の助けとなるアイコン等のグラフィックを作成することができる。
【００３８】
例示した実施形態において、図５は、「customer information」（顧客情報）というコンポーネントの典型的ビュー５０２を示している。このコンポーネントのビューは、そのコンポーネントにパッケージングされたアスペクトの出所である既存の電子フォームテンプレートの一部を小さく簡略化したビューを表すアイコンを含む。また、この図５は、構築中である現在の電子フォームテンプレート１２０のデザインビュー５０４も示している。現在の電子フォームテンプレートは、５０６に、現在の電子フォームテンプレートのタイトル「SERVICE RECORD」（サービス記録）を示す非入力テキストボックスを含む。
【００３９】
ブロック３０６および／またはブロック３０８の後、図１のコンピュータ可読媒体１０８は、（アスペクトパッケージャ、デザインアプリケーション、あるいはその他のいずれによるかにかかわらず）以下で説明するプロセス６００のアクトの実行に進むことができる。一実施形態では、プロセス３００からプロセス６００に自動的に進むことにより、ユーザまたはデザイナとさらに対話せずに、プロセス３００で選択されたアスペクトを現在の電子フォームテンプレート１２０に追加する。
【００４０】
デザイナ作成アスペクトの追加 
以下では、本ツールにより、アスペクトを電子フォームテンプレートに追加することが可能となる典型的方法を説明する。
【００４１】
図６は、デザイナが、パッケージングされたデザイナ作成アスペクトを電子フォームテンプレートに追加することを可能にする典型的プロセス６００を示している。プロセス６００は、デザインアプリケーション１１６およびデザインユーザインタフェース１１８のような図１のオペレーティング環境１００の構成要素によって実行される個別のオペレーションあるいはアクトを表す一連のブロックとして示されている。
【００４２】
ブロック６０２で、デザインアプリケーション１１６（およびそのユーザインタフェース１１８）が、パッケージングされたデザイナ作成アスペクトの選択を可能にする。デザインアプリケーションは、グラフィカルに、またはその他の方法で、これを行うことができる。一実施形態では、デザインアプリケーションは、標準の組み込みコントロール（ビルトインコントロールともいう）（図示せず）の選択も可能にする。この実施形態では、標準の組み込みコントロールは、パッケージングされたデザイナ作成アスペクトと同様に選択され使用されることが可能である。
【００４３】
例示した実施形態では、デザインアプリケーション１１６は、図５に示した現在の電子フォームテンプレート１２０のデザインビュー５０４を提示する。デザインアプリケーションは、コンポーネント５０２によって表されるパッケージングされたデザイナ作成アスペクトのグラフィカルな選択を可能にする。
【００４４】
ブロック６０４で、デザインアプリケーション１１６は、パッケージングされたデザイナ作成アスペクトを現在の電子フォームテンプレートに追加するための選択を受け取る。デザインアプリケーションは、アスペクトのグループをまとめて選択すること、または個々のアスペクトごとに選択することを可能にし、その選択を受け取ることができる。デザインアプリケーションは、選択を受け取ることにより、構造アスペクトのみ、あるいは構造アスペクトおよび１つ以上の非構造アスペクト、または構造アスペクトなしで任意個数の非構造アスペクトを追加することができる。
【００４５】
ブロック６０６で、デザイナが構造アスペクトの追加を選択していない場合には、または構造アスペクトを追加するかどうかを指示していない場合には、デザインアプリケーションは「Ｎｏ」の経路に沿ってブロック６０８に進む。デザイナが構造アスペクトの追加を明示的に選択している場合には、デザインアプリケーションは「Ｙｅｓ」の経路に沿ってブロック６１０に進む。
【００４６】
例示した実施形態では、デザイナは、コンポーネント（図５の５０２を参照）をデザインビューによって占められている領域内にドラッグする（図示せず）。この場合、デザイナは、構造アスペクトを追加したいかどうかを指示していない。そこでデザインアプリケーションはブロック６０８に進む。
【００４７】
ブロック６０８で、デザインアプリケーション１１６は、現在の電子フォームテンプレートが、構造アスペクトのデータ構造に類似するデータ構造および／または非構造アスペクトがマッピングされる可能性のあるデータ構造を含むかどうかを判断する。そのようなデータ構造を含まない場合には、デザインアプリケーションは「Ｎｏ」の経路に沿ってブロック６１０に進む。そのようなデータ構造を含む場合には、デザインアプリケーションは「Ｙｅｓ」の経路に沿ってブロック６１２に進む。
【００４８】
デザインアプリケーションは、現在の電子フォームテンプレートを統制するスキーマのような、現在の電子フォームテンプレートの構造を解析することが可能な「Ｓｎｉｆｆｅｒ」（登録商標）プログラムを用いてこの判断を行うことができる。デザインアプリケーションは、現在の電子フォームテンプレートがこのようなデータ構造を含むと判断した場合には、非構造アスペクトをその類似のデータ構造にマッピングするか、あるいは、そのようにマッピングするかどうかをデザイナに尋ねてそれに従って対処することができる。
【００４９】
例示した実施形態では、デザインアプリケーションは、図５で設計中の現在の電子フォームテンプレートが、構造アスペクトの構造に類似する構造を含まないと判断する。そこで、デザインアプリケーションはブロック６１０に進む。
【００５０】
ブロック６１０で、デザインアプリケーションは、現在の電子フォームテンプレートに構造アスペクトを追加する。一実施形態では、デザインアプリケーションは、この構造アスペクトを組み込むように、現在の電子フォームテンプレートのデータ構造を変更する。デザインアプリケーションは、例えば、現在の電子フォームテンプレートを統制するスキーマを変更することによってこれを行うことができる。
【００５１】
この追加の後で、またはこの追加に付随して、ブロック６１４で、デザインアプリケーションは、現在の電子フォームテンプレートに、選択された非構造アスペクトを追加する。一実施形態では、デザインアプリケーションは、追加した構造アスペクトにこれらの非構造アスペクトをマッピングし、その非構造アスペクトを現在の電子フォームテンプレートに関連するファイルに保存することによって、選択された非構造アスペクトを追加する。
【００５２】
図７は、７０２で、コンポーネントのパッケージングされたデザイナ作成アスペクトの現在の電子フォームテンプレートへのこのような追加の様子を示している。
【００５３】
ブロック６０８に戻って、デザインアプリケーションは、現在の電子フォームテンプレートが、マッピングされる可能性のある、構造アスペクトのデータ構造および／または非構造アスペクトのデータ構造に類似したデータ構造を含むと判断する場合がある。
【００５４】
一例として、図８は、既存のデータ構造を有する現在の電子フォームテンプレート８０４のデザインビュー８０２を示す第２の例示的実施形態を示している。この現在の電子フォームテンプレートは、顧客に対する請求書発行のために設計された標準的なフォームテンプレートである。このフォームテンプレートは標準（これは、業界、請求書発行ソフトウェア会社、またはその他のいずれによって定められたものでもよい）に合わせてあるため、フォームデザイナは、そのデータ構造を変更したくないかもしれない。そのような変更をすると、フォームテンプレートの本来の利用が困難または不可能となるかもしれないからである。このフォームテンプレートは、データ入力フィールドおよび選択可能ボタンのような種々のコントロールを含む。
【００５５】
ブロック６０８で、デザインアプリケーションは、データ入力フィールドのセット８０６（破線ボックス内に示す）が、図８の５０２に示した顧客情報コンポーネントの構造アスペクトのデータ構造に類似するデータ構造を有すると判断する。このセットは、例えば、顧客情報コンポーネントの構造アスペクトのスキーマに類似するスキーマによって統制されていてもよい。このセット８０６が類似しているのは、１つにはそのプロパティ（属性）が図２の顧客情報フィールドのプロパティに一致しているためであってもよい。フィールドのセット８０６は、図２の顧客情報フィールドと同様に、６個のデータ入力フィールドを含み、それらのうち２個はテキストまたは数字を許可し、３個はテキストのみを許可し、１個は数字のみを許可する。
【００５６】
その判断に応じて、デザインアプリケーションはブロック６１２に進む。ブロック６１２で、デザインアプリケーションは、選択された非構造アスペクトを現在の電子フォームテンプレートのデータ構造にマッピングする。このデータ構造は、非構造アスペクトに関連する構造アスペクトのデータ構造に類似しているか、もしくは、非構造アスペクトのマッピングを許容する構造を有するか、またはその両方である。このマッピングを通じて、デザインアプリケーションは、デザイナが、あるデータ構造を既に有する現在の電子フォームテンプレートに、以前からの既存のデザイナ作成アスペクトを追加することを可能にする。
【００５７】
この例示した実施形態において、フォームデザイナが顧客情報コンポーネントの非構造アスペクトをすべて選択したと仮定すると、デザインアプリケーションは、それぞれの非構造アスペクトを、図８の現在の電子フォームテンプレートの類似するデータ構造にマッピングする。
【００５８】
再吟味すると、顧客情報コンポーネントは、図１に示した３個の非構造アスペクト、すなわち、データコネクションアスペクト１２８、書式設定アスペクト１３４、およびビュー表現アスペクト１３６を含む。デザインアプリケーションは、これらをそれぞれ、現在の電子フォームテンプレートの類似するデータ構造にマッピングし、ブロック６１４で、それらを現在の電子フォームテンプレートに追加する。
【００５９】
図９は、非構造アスペクトのこのような追加の様子の一部を示している。この図は、追加の書式設定アスペクトおよびビュー表現アスペクトのデザインビュー表現を提示している。州および市のフィールドを自動入力するデータコネクションアスペクトは図示していない。書式設定は、図２にも示したフォント、サイズ、および色を有するテキストを追加して示されており、９０２の「Customer Information」、９０４の「Car Type:」、９０６の「Customer Name:」、９０８の「Street:」、９１０の「City:」、９１２の「State:」、および９１４の「ZIP Code:」である。ビュー表現は、９１６で示した網かけ付きの破線ボックスで示されている。
【００６０】
パッケージングされたデザイナ作成アスペクトのデータ構造に類似するデータ構造をフォームテンプレートが有するかどうかにかかわらず、現在の電子フォームテンプレートに追加可能な構造アスペクトあるいは非構造アスペクトには、それらのアスペクトがデザインビューにおいてユーザビューとは異なって見えるようにするのに十分な情報を追加することができる。また、この情報により、追加されたデザイナ作成アスペクトが、デザインビューを通して変更可能となるようにすることができる。
【００６１】
結論 
本発明に係わる上記のツールは、電子フォームテンプレートのためのアスペクトのパッケージングおよび／または再利用を可能にする。上記では、本発明のシステムおよび方法を、構成的特徴および／または方法的アクトに特有の用語で説明したが、添付の特許請求の範囲に記載のシステムおよび方法は必ずしも上記の具体的な特徴やアクトに限定されないと理解すべきである。むしろ、具体的な特徴およびアクトは、特許請求の範囲に記載のシステムおよび方法の典型的実施形態として開示したものである。
【図面の簡単な説明】
【００６２】
【図１】典型的オペレーティング環境を示す図である。
【図２】既存の電子フォームテンプレートの典型的なレンダリングされたビューを示す図である。
【図３】デザイナがデザイナ作成アスペクトをパッケージングすることを可能にする典型的プロセスの流れ図である。
【図４】選択ボックスを備えた図２のビューを示す図である。
【図５】典型的な現在の電子フォームテンプレートのデザインビューを示す図である。
【図６】デザイナが電子フォームテンプレートにデザイナ作成アスペクトを追加することを可能にする典型的プロセスの流れ図である。
【図７】典型的なパッケージングされたデザイナ作成アスペクトを追加した図５のビューを示す図である。
【図８】既存のデータ構造を有する典型的な現在の電子フォームテンプレートのデザインビューを示す図である。
【図９】典型的な非構造アスペクトを追加した図８のビューを示す図である。
【符号の説明】
【００６３】
１００  オペレーティング環境
１０２コンピュータ
１０４  アクセス可能データソース
１０５  アクセス可能コンピュータ可読媒体
１０６  プロセッサ
１０８  コンピュータ可読媒体
１１０  既存の電子フォームテンプレート
１１２  アスペクトパッケージャ
１１４  アスペクトＵＩ
１１６  デザインアプリケーション
１１８  デザインＵＩ
１２０  現在の電子フォームテンプレート
１２２  パッケージングされたデザイナ作成アスペクト
１２４  構造アスペクト
１２６  非構造アスペクト
１２８  データコネクション
１３０  ビジネスロジック
１３２  編集動作
１３４  書式設定
１３６  ビュー表現
１３８  ネットワーク
２００  ビュー
２０２  タイヤ販売員名
２０４  従業員番号
２０６  タイヤの種別
２０８  タイヤ価格
２１０  総額
２１２  車種
２１４  顧客名
２１６  顧客の番地
２１８  顧客の都市
２２０  顧客の州
２２２  顧客の郵便番号（ＺＩＰコード）
【図１】
2006244507.tif 000003
【図２】
2006244507.tif 000004
【図３】
2006244507.tif 000005
【図４】
2006244507.tif 000006
【図５】
2006244507.tif 000007
【図６】
2006244507.tif 000008
【図７】
2006244507.tif 000009
【図８】
2006244507.tif 000010
【図９】
2006244507.tif 000011