(57)【特許請求の範囲】
【請求項１】
ユーザによる入力手段を介したテンプレートの選択に応答して、テンプレート識別子とリソースのパスとを対応させたリソース決定情報に基づき、該テンプレートに対応したリソースを新規プロジェクトフォルダ内に生成する新規プロジェクト作成手段を備えたアプリケーション開発支援装置において、
どのテンプレートにどのリソースを追加するかを設定する設定ファイルの内容の規則を定めた規則ファイルと、
追加された設定ファイルが存在するか否かを調べ、存在する場合には該設定ファイルの内容が該規則ファイルで定められた規則に従っているか否かを判定し、肯定判定した場合には、該設定ファイルの内容に基づいて、追加されたリソースを所定のフォルダに移動させるとともに、該設定ファイルに設定されたテンプレートが該追加されたリソースを含むように該リソース決定情報を更新するテンプレート拡張手段と、
を有することを特徴とするアプリケーション開発支援装置。
【請求項２】
起動時の初期化処理として該テンプレート拡張手段による処理を行わせる制御手段をさらに有することを特徴とする請求項１に記載のアプリケーション開発支援装置。
【請求項３】
該リソース決定情報は、該テンプレート拡張手段のアドレス識別子を含み、
該制御手段は、該リソース決定情報に含まれる該アドレス識別子に対応した処理を行わせることを特徴とする請求項２に記載のアプリケーション開発支援装置。
【請求項４】
コンピュータが、ユーザによる入力手段を介したテンプレートの選択に応答して、テンプレート識別子とリソースのパスとを対応させたリソース決定情報に基づき、該テンプレートに対応したリソースを新規プロジェクトフォルダ内に生成するアプリケーション開発支援方法において、該コンピュータが、
（ａ）追加された設定ファイルが存在するか否かを調べ、存在する場合には該設定ファイルの内容が、どのテンプレートにどのリソースを追加するかを設定する設定ファイルの内容の規則を定めた規則ファイルの該規則に従っているか否かを判定し、肯定判定した場合には、該設定ファイルの内容に基づいて、追加されたリソースを所定のフォルダに移動させるとともに、該設定ファイルに設定されたテンプレートが該追加されたリソースを含むように該リソース決定情報を更新する、
ことを特徴とするアプリケーション開発支援方法。
【請求項５】
該コンピュータが、起動時の初期化処理として処理（ａ）を行うことを特徴とする請求項４に記載のアプリケーション開発支援方法。
【請求項６】
該リソース決定情報は、処理（ａ）のアドレス識別子を含み、
該コンピュータが、該リソース決定情報に含まれる該アドレス識別子に対応した処理を行うことにより、処理（ａ）を行うことを特徴とする請求項５に記載のアプリケーション開発支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、新規プロジェクト作成用テンプレートを備えたアプリケーション開発支援装置及び方法に関する。
【背景技術】
【０００２】
図９において、ＳＤＫ（ソフトウェア開発キット）開発者１０がＳＤＫ２０を作成し、これをＳＤＫディーラ１１及び１２に提供し、ＳＤＫディーラ１１がＳＤＫユーザ１３及び１４に配布し、ＳＤＫディーラ１２がＳＤＫユーザ１５及び１６に配布する。ＳＤＫユーザ１３〜１６は、ＳＤＫ２０を用いて画像形成装置用の拡張アプリケーションを作成する。アプリケーション開発効率を高めるために、ＳＤＫ２０には、アプリケーションの種類に応じたテンプレートが含まれている。
【０００３】
ＳＤＫディーラ１１及び１２は、ＳＤＫ２０をＳＤＫユーザ１３に配布する前に、例えば自社のアイコン画像を各テンプレートに追加したい場合がある。各テンプレートには、互いに関連した複数のファイルが含まれており、ＳＤＫディーラ１１がこれに新たなファイルを単に追加するだけでは、それを有効利用することができない。
【０００４】
この追加を適正に行うには、ＳＤＫディーラ１１がＳＤＫ開発者１０にこの追加を依頼し、ＳＤＫ開発者１０が、プロジェクトテンプレートの適当な場所にこのファイルを配置し、必要に応じ構成ファイルに情報を追加した後、ＳＤＫ２０のソースコードを再度ビルドする必要がある。
【０００５】
しかし、この方法は、複数のＳＤＫディーラ１１のそれぞれからの追加要求に応じてこのような処理を行わなければならないので、ＳＤＫ開発者１０の負担が大きくなる。一方、ＳＤＫディーラ１１は一般に、上記のような追加処理を行うのに必要な知識を持っていない。
【０００６】
下記特許文献１には、アプリケーション開発装置でアプリケーションを開発する際に、テンプルレートを登録する方法が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平９−２３７１８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、この方法は、アプリケーション開発段階で個別にテンプレートを登録する機能を提供するものであり、インストール前のＳＤＫに対しテンプレートをカスタマイズすることはできない。
【０００９】
本発明の目的は、このような問題点に鑑み、ＳＤＫに含まれる新規プロジェクト作成用テンプレートに新たなリソースを容易且つ適正に追加することが可能なアプリケーション開発支援装置及び方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の第１態様では、ユーザによる入力手段を介したテンプレートの選択に応答して、テンプレート識別子とリソースのパスとを対応させたリソース決定情報に基づき、該テンプレートに対応したリソースを新規プロジェクトフォルダ内に生成する新規プロジェクト作成手段を備えたアプリケーション開発支援装置において、
どのテンプレートにどのリソースを追加するかを設定する設定ファイルの内容の規則を定めた規則ファイルと、
追加された設定ファイルが存在するか否かを調べ、存在する場合には該設定ファイルの内容が該規則ファイルで定められた規則に従っているか否かを判定し、肯定判定した場合には、該設定ファイルの内容に基づいて、追加されたリソースを所定のフォルダに移動させるとともに、該設定ファイルに設定されたテンプレートが該追加されたリソースを含むように該リソース決定情報を更新するテンプレート拡張手段とを有する。
【００１１】
本発明によるアプリケーション開発支援装置の第２態様では、第１態様において、起動時の初期化処理として該テンプレート拡張手段による処理を行わせる制御手段をさらに有する。
【００１２】
本発明によるアプリケーション開発支援装置の第３態様では、第２態様において、該リソース決定情報は、該テンプレート拡張手段のアドレス識別子を含み、該制御手段は、該リソース決定情報に含まれる該アドレス識別子に対応した処理を行わせる。
【発明の効果】
【００１３】
上記第１態様の構成によれば、追加された設定ファイルが存在するか否かを調べ、存在する場合には該設定ファイルの内容が規則ファイルで定められた規則に従っているか否かを判定し、肯定判定した場合には、該設定ファイルの内容に基づいて、追加されたリソースを所定のフォルダに移動させるとともに、該設定ファイルに設定されたテンプレートが該追加されたリソースを含むように該リソース決定情報を更新するので、該テンプレートに新たなリソースを容易且つ適正に追加することが可能となるという効果を奏する。
【００１４】
上記第２態様の構成によれば、上記処理を起動時の初期化処理として行うので、この処理のためにユーザは特別な操作を行う必要がないという効果を奏する。
【００１５】
上記第３態様の構成によれば、該リソース決定情報に含まれるアドレス識別子に対応した処理を行うことにより上記処理を行うので、リソース追加以外のカスタマイズ処理を同様に行うことが可能になるという効果を奏する。
【００１６】
本発明の他の目的、特徴的な構成及び効果は、以下の説明を特許請求の範囲及び図面の記載と関係づけて読むことにより明らかになる。 
【図面の簡単な説明】
【００１７】
【図１】アプリケーション開発支援装置のプロジェクト作成部に関係した部分を示す機能ブロック図である。
【図２】インストール前のＳＤＫへのテンプレート用追加リソース組込部分を示す機能ブロック図である。
【図３】新規プロジェクト作成処理を示すフローチャートである。
【図４】インストール前のＳＤＫへのテンプレート用追加リソース組込処理を示す機能ブロック図である。
【図５】インストール後のＳＤＫへのテンプレート用リソース追加処理を示すフローチャートである。
【図６】（Ａ）〜（Ｃ）はそれぞれ、図１中のリソースデータベースに含まれるテンプレートテーブルＴＢＬ０、プロジェクト作成テーブルＴＢＬ１及びリソーステーブルＴＢＬ２の説明図である。
【図７】図１中の設定ファイルをＸＭＬで構成した例を示す説明図である。
【図８】（Ｂ）及び（Ｃ）はそれぞれ、図５の処理を行った後のプロジェクト作成テーブルＴＢＬ１及びリソーステーブルＴＢＬ２の説明図である。
【図９】ＳＤＫ開発者、ＳＤＫディーラ及びＳＤＫユーザ間の関係説明図である。
【図１０】図９中のパーソナルコンピュータのハードウエア構成を示す概略ブロック図である。
【実施例１】
【００１８】
図９に示すように、ＳＤＫ開発者１０により作成されたＳＤＫ２０は、ＳＤＫディーラ１１及び１２に提供される。ＳＤＫディーラ１１は、後述のように、テンプレート用リソース追加部８０を用いて、インストール前のアーカイブファイルであるＳＤＫ２０に追加データ７０を追加した、アーカイブファイルであるＳＤＫ＿Ａ２０Ａを生成し、これをＳＤＫユーザ１３及び１４に配布する。ＳＤＫユーザ１３及び１４はそれぞれ、ＳＤＫ＿Ａ２０Ａをパーソナルコンピュータ（ＰＣ）３０Ａ及び３０Ｂにインストールし、ＳＤＫ＿Ａ２０Ａを用いて画像形成装置用のアプリケーションを作成する。
【００１９】
同様に、ＳＤＫディーラ１２は、インストール前のアーカイブファイルであるＳＤＫ２０に追加データ７０を追加した、アーカイブファイルであるＳＤＫ＿Ｂ２０Ｂを生成し、これをＳＤＫユーザ１５及び１６に配布し、ＳＤＫユーザ１５及び１６はそれぞれ、ＳＤＫ＿Ｂ２０Ｂを用いて画像形成装置用のアプリケーションを作成する。
【００２０】
図１０は、ＰＣ３０Ａのハードウエア構成を示す概略ブロック図である。
【００２１】
ＰＣ３０Ａでは、ＣＰＵ３１がインターフェイス３２を介してＰＲＯＭ３３、ＤＲＡＭ３４、ハードディスクドライブ３５、入力装置３６及び表示装置３７に結合されている。図１０では、簡単化の為に、複数種のインターフェイスを１つのブロック３２で表している。
【００２２】
ＰＲＯＭ３３は、例えばフラッシュメモリであり、ＢＩＯＳが格納されている。ＤＲＡＭ３４は、主記憶装置として用いられる。ハードディスクドライブ３５には、ＯＳ（オペレーティングシステム）、各種ドライバ及びＳＤＫ＿Ａ２０Ａが格納されている。入力装置３６は、例えばキーボード及びポインティングデバイスを備えている。
【００２３】
図１は、ＰＣ３０Ａの一部の機能ブロック図である。図１中、ブロック２０ａは、インストールされたＳＤＫ＿Ａ２０Ａ中のプロジェクト作成部であり、これに表示装置３７及び３７が結合されている。
【００２４】
ＳＤＫを起動させると、制御部４０は、ＵＩ部４１を介して表示装置３７にメニューを表示させ、ユーザが入力装置３６を操作してそのメニュー項目を選択すると、選択した情報がＵＩ部４１を介し制御部４０に供給され、制御部４０は、この選択情報に応じてＵＩ部４１を介し表示装置３７への表示を変更させる。
【００２５】
この選択において、新規プロジェクトが選択され、次いでテンプレートが選択されると、制御部４０は、そのＩＤをプロジェクト作成・拡張部５０に渡して新規プロジェクトの作成を指示する。
【００２６】
プロジェクト作成・拡張部５０はこれに応答して、リソースデータベース６０を参照し、プロジェクト６１を作成する。プロジェクト作成・拡張部５０は、ブロック５１〜５７を備えている。
【００２７】
図１は、上記作成指示に応答して開始される処理を示すフローチャートである。以下、括弧内は図中のステップ識別符号である。
【００２８】
（Ｓ０）新規プロジェクト作成部５１は、上記テンプレートＩＤを制御部４０から受け取ると、まず、基本プロジェクト作成部５２を呼び出す。基本プロジェクト作成部５２はこれに応答して、リソース配置部５３を介し、リソース５４に含まれるファイル群のうち、各テンプレートで共通に用いられるファイルをコピーしてプロジェクト６１のフォルダに格納させる。
【００２９】
リソース５４は、何れか１つ以上のテンプレートで用いられるファイル群を予め所定フォルダに格納したものである。このファイル群には、ＸＭＬで記述されたプロジェクトの構成ファイル、プログラムの枠組部分を含むクラスファイル、画面設計の枠組部分を含むファイル、この画面設計ファイルで用いられる部品のファイルなどが含まれている。この部品ファイルには、画像ファイル、スタイルシートファイル、部品用プログラムコードファイルなどが含まれる。
【００３０】
一方、リソースデータベース６０は、図６（Ａ）〜（Ｃ）に示すようなテンプレートテーブルＴＢＬ０、プロジェクト作成テーブルＴＢＬ１及びリソーステーブルＴＢＬ２を備えている。
【００３１】
テンプレートテーブルＴＢＬ０は、テンプレートＩＤとその表示名とが対応して格納されており、テンプレート名を表示装置３７Ａに表示させる際にＵＩ部８２で用いられ、入力装置３６Ａを介した選択に応じて、対応するテンプレートＩＤが制御部８１に供給される。
【００３２】
プロジェクト作成テーブルＴＢＬ１は、テンプレートＩＤと、そのテンプレートに含まれるリソースのＩＤと、このリソースが格納されるフォルダのプロジェクト内相対パス（"DESTINATION"）とが対応して格納されている。
【００３３】
リソーステーブルＴＢＬ２には、各リソースについて、そのＩＤと、このリソースを処理するコンポーネントのＩＤと、上記フォルダに格納されるファイル名（"NAME"）とが対応して格納されている。このファイル名は、サブフォルダのパスを含んでもよい。
【００３４】
（Ｓ１）新規プロジェクト作成部５１は、ＤＢアクセス部５５を介して、プロジェクト作成テーブルＴＢＬ１から、選択されたテンプレートに一致する行を全て読み出し、更に、リソーステーブルＴＢＬ２から、前記各行のリソースＩＤに一致する行を読み出す。
【００３５】
（Ｓ２）新規プロジェクト作成部５１は、読み出した行のリソースＩＤに対応したファイルをリソース５４から読み出し、プロジェクト６１内に、ＴＬＢ１中のDESTINATIONに記述されたパスのフォルダが無ければこれを作成し、これに、ＴＢＬ２中のNAMEに記述された名前のファイルを格納させる。
【００３６】
上記構成ファイルやクラスファイルについては、各テンプレートに共通の部分のみファイルに含ませておき、リソース配置部５３は、このファイルをコピーした後に、選択されたテンプレートに応じて内容をファイルに追加し、それをプロジェクト６１のフォルダに格納してもよい。
【００３７】
追加データ７０は、図９において例えば、ＳＤＫディーラ１１によりＰＣ３０を用いて、アーカイブファイルであるＳＤＫ２０内に組み込まれる。図２は、ＰＣ３０のこの組み込みに対応した部分を示す機能ブロック図である。
【００３８】
ＰＣ３０では、テンプレート用リソース追加部８０に、表示装置３７及び３７が結合されている。
【００３９】
テンプレート用リソース追加部８０を起動させると、制御部８１は、ＵＩ部８２を介して表示装置３７Ａに、アーカイブファイルであるＳＤＫ２０を所定のフォルダに格納させるように指示する。ＳＤＫディーラ１１は、このＳＤＫ２０を所定フォルダに格納させ、入力装置３６ＡからＵＩ部８２を介して制御部８１に、組み込み開始指示を与える。これにより、図４に示す処理が開始される。
【００４０】
（Ｓ１０）制御部８１は、テンプレート拡張検証部８３を呼び出す。テンプレート拡張検証部８３は、これに応答して、追加データ７０の設定ファイル７１の内容を読み出し、スキーマファイル８４の内容を参照して、設定ファイル７１の内容がスキーマファイル８４で定める規則に合致しているか否かを検証し、合致していれば、設定ファイル７１に記述されたファイルが全て追加リソース７２に存在するか否かを調べ、その結果を制御部８１に返す。
【００４１】
図７は、設定ファイル７１をＸＭＬで構成した例を示す。図７中、point="sdk.core.extention"は、制御部４０に対し、追加データ７０に対する処理を行うテンプレート拡張部５６のアドレス（ポインタ）識別子である。設定ファイル７１は、テンプレートＩＤがT01でリソースＩＤがＲ２６７及びＲ２６８のファイルが追加リソース７２に含まれ、sdk.core.extentionで識別されるアドレスのサブルーチンに対し、これらをそれぞれ/webContents/img/dealer.gif、/webContents/css/dealar.cssとしてプロジェクト６１内に追加させることを示している。このようなアドレス識別子を設定ファイル７１に含ませることにより、リソース追加以外のカスタマイズ処理、例えば、ＳＤＫディーラがプラグインとしてのスクリプトを作成し、これをＳＤＫへ追加することが可能となる。
【００４２】
（Ｓ１１）制御部８１は、この結果が肯定判定（合致且つ存在）を示していればＳ１２へ進み、そうでなければＳ１４へ進む。
【００４３】
（Ｓ１２）制御部８１は、アーカイバ８５を介し、アーカイブファイルであるＳＤＫ２０をその構成要素に分解する。
【００４４】
（Ｓ１３）制御部８１は次に、分解されたそれぞれのファイルと、追加データ７０の追加リソース７２とを、１つに纏めて書庫化することにより、ＳＤＫ＿Ａ２０Ａを生成し、図４の処理を終了する。
【００４５】
（Ｓ１４）制御部８１は、ＳＤＫ２０への追加リソース７２の組み込みができなかったこと及びその理由を、ＵＩ部８２を介し表示装置３７Ａに表示させる。
【００４６】
図５は、追加データ７０に対する処理を示すフローチャートであり、この処理は、図１のＳＤＫ＿Ａ２０Ａの起動時に、制御部４０が新規プロジェクト作成部５１を介し又は直接、テンプレート拡張部５６に、テンプレート拡張指示を与えることにより開始される。
【００４７】
（Ｓ２０）テンプレート拡張部５６は、所定フォルダ内に所定拡張子、例えば.defのファイルが存在するか否かを調べる。
【００４８】
（Ｓ２１）存在すればＳ２２へ進み、そうでなければ図５の処理を終了する。
【００４９】
（Ｓ２２）テンプレート拡張部５６は、図４のＳ１０と同じ処理を行う。
【００５０】
（Ｓ２３）Ｓ２２で肯定判定された場合にはＳ２４へ進み、そうでなければＳ２６へ進む。
【００５１】
（Ｓ２４）テンプレート拡張部５６は、リソースデータベース６０のプロジェクト作成テーブルＴＢＬ１及びリソーステーブルＴＢＬ２に、設定ファイル７１の内容に対応した行を追加する。
【００５２】
図７の設定ファイル７１の場合には、テーブルＴＢ１に行（T01，R267，/webContents/img）及び（T01，R268，/webContents/css）を追加し、テーブルＴＢ２に行（R267，NULL,icon/dealer.gif)及び（R268，NULL,icon/dealer.css)を追加する。これにより、テーブルＴＢＬ１及びＴＢＬ２はそれぞれ図８（Ａ）及び（Ｂ）に示すようになる。
【００５３】
（Ｓ２５）テンプレート拡張部５６は、追加リソース７２をリソース５４内に移動させ、設定ファイル７１を削除する。
【００５４】
このような処理が行われるので、リソースデータベース６０の内容に基づいた図３の処理により、追加リソース７２を含むプロジェクト６１を容易且つ適正に作成することが可能となる。
【００５５】
以上において、本発明の好適な実施例を説明したが、本発明には他にも種々の変形例が含まれ、上記実施例で述べた各構成要素の機能を実現する他の構成を用いたもの、当業者であればこれらの構成又は機能から想到するであろう他の構成も、本発明に含まれる。
【００５６】
例えば、図４の処理を、入力手段を介した開始指示に応じて実行する構成であってもよい。
【符号の説明】
【００５７】
１０  ＳＤＫ開発者
１１、１２  ＳＤＫディーラ
１３〜１６  ＳＤＫユーザ
２０  ＳＤＫ
２０Ａ  ＳＤＫ＿Ａ
２０Ｂ  ＳＤＫ＿Ｂ
２０ａ  アプリケーション開発支援部
３０、３０Ａ、３０Ｂ  ＰＣ
３１  ＣＰＵ
３２  インターフェイス
３３  ＰＲＯＭ
３４  ＤＲＡＭ
３５  ハードディスクドライブ
３６、３６Ａ  入力装置
３７、３７Ａ  表示装置
４０、８１  制御部
４１、８２  ＵＩ部
５０  プロジェクト作成・拡張部
５１  新規プロジェクト作成部
５２  基本プロジェクト作成部
５３  リソース配置部
５４  リソース
５５  ＤＢアクセス部
５６  テンプレート拡張部
５７、８４  スキーマファイル
６０  リソースデータベース
６１  プロジェクト
７０  追加データ
７１  設定ファイル
７２  追加リソース
８０  テンプレート用リソース追加部
８３  テンプレート拡張検証部
８４  スキーマファイル
８５  アーカイバ
ＴＢＬ０  テンプレートテーブル
ＴＢＬ１  プロジェクト作成テーブル
ＴＢＬ２  リソーステーブル
【図１】
0005420581.tif 000002
【図２】
0005420581.tif 000003
【図３】
0005420581.tif 000004
【図４】
0005420581.tif 000005
【図５】
0005420581.tif 000006
【図６】
0005420581.tif 000007
【図７】
0005420581.tif 000008
【図８】
0005420581.tif 000009
【図９】
0005420581.tif 000010
【図１０】
0005420581.tif 000011