(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下、図を参照して本発明のプログラム生成装置について説明する。
本発明におけるプログラム生成装置の構成を示すブロック図である。
【0010】
図において、101は入力装置で、キーボードやマウス等のポインティングデバイス等に相当し、業務仕様情報(データ項目のデータベースへの配置とデータ項目間の関係、即ちあるデータがどのような条件のもとにどのようなデータから求められるかを示す情報等)の入力を行うことが可能である。
【0011】
102は、表示装置で、CRT、LCD等で構成され、業務仕様情報の入力画面や該入力画面から入力された業務仕様情報、生成されたプログラムコード等を表示可能である。
【0012】
104は、ハードディスク等の外部記憶装置で、入力された業務仕様(データベース上の複数のテーブルをそれぞれ定義した定義情報)を記憶するための入出力テーブル109、入力されたデータベースへ接続するための接続情報を記憶するログイン情報110、生成するウェブアプリケーションのアプリケーション名111(開発者が任意に設定可能)、生成されたプログラムコード(JSPコード112、サーブレット(Servlet)コード113、Beanコード114等)を記憶するものである。
【0013】
103はプログラム生成装置で、CPU、RAM、ROM等から構成され、CPUがROM、外部記憶装置104又はその他の記憶媒体に格納されるプログラムをRAM上にロードして実行することにより実現されるものであり、画面制御部105、コード生成部107を備える。
画面制御部105は、入力装置101から業務仕様情報の入力を行うために表示装置102の画面(不図示)を制御する業務仕様記述部106を有する。
【0014】
コード生成部107は、入力装置101から入力された又は外部記憶装置104から読み出された業務仕様情報に基づいてプログラムコード(JSPコード112、サーブレットコード113、Beanコード114)を生成し、外部記憶装置104に記憶させる。
108は全体制御部で、画面制御部105、コード生成部107等の各部の制御を行う。
【0015】
なお、実施例によれば、プログラム生成装置103が外部記憶装置104を有するように構成されているが、外部記憶装置104は、プログラム生成装置103とは異なる外部サーバであってもよい。また、クラウドコンピューティングを利用する場合は、外部記憶装置140に記憶される情報がクラウド上に記憶されるようにしてもよい。また、プログラム生成装置103の有する画面制御部105、コード生成部107、および全体制御部108の一部または全てをクラウド上に持たせるようにしてもよい。
【0016】
また、入力装置101および表示装置102は、プログラム生成装置103に直接接続して処理装置へ入力したり表示したりするようにしてもよいし、開発端末(不図示)に接続して、開発端末経由でプログラム生成装置103にアクセスするようにしてもよい。
図2は、本発明におけるプログラム生成装置および情報処理装置のハードウェア構成の一例を示すブロック図である。
【0017】
情報処理装置とは、プログラム生成装置により生成されたプログラムが動作するコンピュータであって、プログラム生成装置と同一のコンピュータであっても別のコンピュータであってもよい。
図1と同一のものには同一の符号を付してある。
図2に示すように、
図1に示したプログラム生成装置は、パーソナルコンピュータ等で実現可能である。
【0018】
CPU201は、ROM203あるいは外部記憶装置104に記憶されている制御プログラムに基づいて、システムバスに接続されている各種デバイスとのアクセスを総括的に制御する構成となっている。
【0019】
システムバスには、CPU201の主メモリ、ワークエリア等として機能するRAM202が接続されている。ROM203あるいは外部記憶装置104には、CPU101の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステム(以下、「OS」という。)プログラム、プログラム生成装置(コンピュータ)103が実行する処理を実現するために必要な各種プログラム等が記載されている。
【0020】
CPU201は、処理の実行に際して必要な各種プログラム等をRAM202にロードして、当該プログラム等を実行することで
図1に示した全体制御部108の機能及び各種機能を実現するものである。
【0021】
外部記憶装置104は、上述した各種プログラムとして、図示しないブートプログラム、各種アプリケーションプログラム、フォントデータ、ユーザファイル等を記憶可能である。
【0022】
CPU201は、例えば、RAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、表示装置102上でWYSIWYGを可能としている。また、CPU201は、表示装置102上のマウスカーソル(不図示)等で指示されたコマンドに基づいて、登録された種々なウィンドウを開き、種々のデータ処理を実行する。
【0023】
図3は、本発明におけるプログラム生成装置のコード生成部107によって生成したコードを利用したアプリケーションシステムの全体構成の一例を示す図である。
【0024】
クライアント301およびサーバ304がネットワークを介して通信可能に接続されている。クライアント301からの要求に応じて、プログラム生成装置103で生成されたプログラムの動作するサーバ304から画面の表示情報がクライアント301に送信される。
【0025】
具体的には、コード生成部107によって生成されたサーブレット、JSP、およびBeanは、それぞれ実行可能な状態で、サーバ304側のアプリケーションサーバ306上に配置される。
【0026】
このWebアプリケーションシステムは、クライアント301からWebブラウザ302によって利用される。Webブラウザ302からJSP309にアクセスすることにより、HTMLページ303を生成し、クライアント301側に送信する。そして、Webブラウザ302上には、JSP309から送信されるHTMLページ303が表示される。
【0027】
また、Webブラウザ302からのリクエストは、HTTP経由でサーバ304側に送信される。サーバ304にはHTTPサーバ305とアプリケーションサーバ306があり、アプリケーションサーバ306にはサーブレット307やJSP309の実行環境が含まれている。
【0028】
サーバ304側にリクエストが送信されると、リクエストに応じて該当するサーブレット307が起動される。サーブレット307は、対応するBean308に処理を要求する。さらに、Bean308は、サーブレット307からの要求に応じてDBアクセスオブジェクト310a、内部データベース311a、外部データベース311bにアクセスし、その処理結果をBean308内に保持する。
【0029】
次に、サーブレット307からJSP309にBean308を渡し、JSP309を呼び出す。JSP309は、Bean308で保持する処理結果を参照して、HTMLページを生成し、クライアント301側に返送する。クライアント301側に返送されたHTMLページはWebブラウザ302上に表示される。
【0030】
サーブレット307は、Webブラウザ302からのリクエストの受け付け、Bean308への処理要求、およびJSP309への呼び出しという、それぞれの間をつなぎ、制御する役割を持つ。JSP309は、HTMLページを出力するための表示に関する処理を受け持ち、Bean308はデータベース311a、311bへのアクセス等の業務に関する処理を受け持つ。
【0031】
なお、Bean308やJSP309を利用せずにサーブレット307のみで(又は、サーブレット307やBean308を利用せずにJSP309のみで)、Webブラウザ302からのリクエストを処理することは可能であるが、Bean308やJSP309を利用してそれぞれの役割を明確に分離することで、機能分担を簡潔に把握することができる。
なお、Bean308は、内部データベースアクセス用のBeanと外部データベースアクセス用のBeanに分けて実装してもよい。
図4は、本発明におけるコード生成処理の機能構成の一例を示す図である。
本実施形態における自動生成装置を実施するにおいて、必要となるリソースを抽出して説明する。
図は、実施形態におけるアプリケーション生成を行う部分の構成を示すブロック図であり、
図1と同一のものには同一の符号を付してある。
【0032】
コード生成部107は、入出力テーブル109に格納された定義情報(
図11・12)に基づき、画面項目や表示する入力コントロールに関する情報を取得し、プログラムテンプレート401(不図示)のファイルに当てはめる形で、プログラム402を自動生成する。
なお、このプログラム402は、
図1に示したJSPコード112、Servelet113、Beanコード114のいずれか又は全てを含む。
例えば、本発明のプログラム生成装置のコード生成手段が生成する、受付領域設定プログラム、検知プログラム、受付領域拡張プログラム、ファイル受付プログラム、項目特定プログラム、ファイルサイズ取得プログラム、ファイルサイズ判定プログラム、ドロップ操作制御プログラム、ファイル種類取得プログラム、およびファイル種類判定プログラムなどは、情報処理装置における各手段に対応するものである。
【0033】
プログラムテンプレートとは、生成するアプリケーションプログラムのプログラム構造が定められており、このテンプレートに開発管理画面で定義された定義情報を埋め込むことによって、アプリケーションプログラム(ソースコード)を生成することができるようになっている。
図5は、本発明における情報処理装置の機能構成の一例を示す機能構成図である。
【0034】
プログラム生成装置によって生成されたプログラムが動作する場合の機能構成である。なお、本プログラムは、本発明のプログラム生成装置によって生成されたものでも、開発者がプログラミングをして生成したプログラムであっても、また、別のプログラム自動生成ツールにより生成されたものでも構わないものとする。
ファイル検知部501は、ドラッグアンドドロップされるファイルの動きやファイル名などを検知する。
【0035】
項目拡張部502は、画面に表示されファイルのドロップ可能領域(ドロップエリア)となっている項目を拡張する機能を有する。ファイルがドラッグアンドドロップされ、項目に対して所定の位置に近づいたら拡張を行い、拡張された部分もドロップ可能な領域として扱われる。
【0036】
また、項目に対してファイルが上方から近づいてきた場合は、上方に項目を拡張し、下方から近づいてきた場合は、下方に項目を拡張するようにすることも可能となっている。
【0037】
ファイルドロップ受付部503は、ドラッグアンドドロップ操作によりファイルがドロップにより対象のファイルを受付ける機能を有する。受付けたファイルは、ファイル登録部504により登録される。登録先は、ネットワークを介したデータベースサーバであってもよいし、情報処理装置の記憶装置であってもよい。
【0038】
ファイルサイズ取得部505は、ドロップされたファイルのサイズを取得する。項目には、あらかじめ登録可能なサイズの上限や下限を設定することができ、それらを満たさないときにはエラーメッセージなどを表示することができる。
図6は、本発明におけるプログラム生成装置におけるモード切替手順の一例を示すフローチャートである。
図1に示したプログラム生成装置103の全体制御部108の動作に対応する。なお、S601〜S605は各ステップを示す。
【0039】
まず、全体制御部108が起動されると、ステップS601において、入力装置101からオペレータの指示により選択された処理(モード)が生成(モード)か入力(モード)かを判定し、入力モードが選択されたと判定した場合(N)には、ステップS602に進み、全体制御部108は、画面制御部105を起動する。
【0040】
起動された画面制御部105は、ステップS603において、業務仕様記述部106により業務仕様入力画面を表示させ、オペレータからの業務仕様の一形態である表示項目の設定やレイアウト、入力コントロール種別などの設定を受け付け、入出力テーブル109をとして外部記憶装置104に格納し、処理を終了する。
【0041】
一方、ステップS601において、入力装置101からオペレータの指示により選択されたモードが生成モードであると判定した場合には、ステップS604に進み、全体制御部108は、外部記憶装置104に格納された入出力テーブル109を読み出し、該読み出した入出力テーブル内の業務仕様情報に基づいて
図4で説明したコード生成を行う。
【0042】
そして、ステップS605において、全体制御部108は、生成されたコードを、オペレータの指示により表示装置102に表示したり、外部記憶装置104に書き込む出力処理したりして処理を終了する。
図7は、本発明におけるファイルの選択画面の一例を示す図である。
従来から行われているファイルを選択する画面を例に説明する。
【0043】
ユーザにより、ファイル添付画面700から、ファイルを選択ボタン705が押下されると、開く画面710が表示され、所望のファイルが選択されると、ファイル添付画面720の添付1にファイルが選択された状態で表示される。
【0044】
ファイル添付画面700は、項目名称として添付701、添付1(703)、添付2(706)が表示されている。また、対応する入力エリアとしてテキストエリア702、ファイルエリア704が表示されている。
また、ボタンとして登録ボタン707およびキャンセルボタン708が表示されている。
【0045】
本画面は、
図12に示す項目定義情報を利用してプログラム生成装置によって生成された画面プログラムである。項目定義情報との関係について、
図12を利用して説明する。
図12は、本発明における項目の定義情報の一例を示す図である。
【0046】
項目定義情報1200としては、IOCODE1201、CODE1202、NAME1203、ORDER1204、SIZE1205、TYPE1206、およびVALUE1207が定義されている。
【0047】
IOCODE1201は、画面を識別する値であり、1つの画面に対して1つのコードが付与される。本実施例では、ファイル添付画面700のIOCODEがIO01と定義されている。
CODE1202は、項目を識別する値であり、画面上の項目は、IOCODE1201とCODE1202により一意に決定される。
【0048】
NAME1203は、項目の名前であり画面に表示される名前である。ORDER1204は項目の並び順であり、項目を拡張する際に利用される。また、項目はこの順番に従い画面上に配置される。
【0049】
SIZE1205は項目に対するサイズの上限値であり、実施例での単位はバイトであらわされている。備考へのテキスト入力の上限は、1500バイトであり、ファイルエリアへ入力するファイルの上限サイズは100000バイトと定義されている。
【0050】
Value1207は、項目に対する詳細定義であり、Textareaと定義される場合には、テキストが入力可能となり、D&Dとある場合には、その項目はドラッグアンドドロップが可能な項目となる。
【0051】
ドラッグアンドドロップ(DnD)とは、マウスやタッチ操作を利用いた操作法の一つであり、カーソル操作などによってデータやファイルの移動を行うことである。
【0052】
本実施例では、Value1207がD&Dと定義されている項目に対してドラッグアンドドロップが可能となる。例えば、画面上でファイルを選択した状態でマウスを移動(ドラッグ)させ、マウスポインタがファイルエリア704に重なった状態でマウスのボタンを離す(ドロップ)ことにより当該ファイルをファイルエリア704に入力することが可能となっている。
【0053】
開く画面710は、ファイルピッカーによりファイルを選択する画面であり、フォルダ表示領域711でフォルダを選択し、ファイル表示エリア712に表示されたファイル713を選択することが可能となっている。
選択されたファイル713は、ファイル添付画面720のファイルエリア721に入力され表示されている。
図8は、本発明における第1の項目拡張画面の一例を示す図である。
【0054】
添付1(802)に対してファイル803をドラッグアンドドロップ操作によりドロップされることで、ファイルエリア804が「ドロップして下さい」の表示とともに拡張表示される。ファイルエリア804は、ファイルの選択を受付け可能な受付領域であり、受付領域設定手段により表示制御が行われる。
【0055】
「ドロップして下さい」という表示は、マウスカーソルの位置などの移動状態を検知して、ファイルエリア804に対してドロップ可能な位置にきたら表示されるようにしてもよい。
また、ファイルのドラッグアンドドロップ操作により設定可能な操作について
図11を利用して説明する。
図11は、本発明における項目の表示設定を行う表示設定画面の一例を示す図である。
【0056】
開発者管理画面1100は、開発者の管理画面で設定可能な項目であって、ドラッグアンドドロップされる場合の詳細な動作について定義することが可能な画面である。本画面で設定した項目にしたがってプログラムが生成される。
【0057】
項目設定1101では、項目定義情報1200のCODE1202の項目を設定する。項目名1102で、添付1と表示されているので、file1に対する設定となる。項目設定は任意に追加することが可能であり、実施例では、添付1に加えて、項目設定1110では、項目名1112として添付2に対して詳細設定をするようになっている。
【0058】
領域拡張1103をチェックすると、ファイルをドラッグアンドドロップされファイルを受付け可能な項目に近づいてきたことを検知すると、受付領域拡張手段によって項目(項目に対応した受付領域)が拡張表示され、ドロップの受付け可能領域を広げることが可能となる。
【0059】
方向オプション1106をチェックすると、ファイルのドラッグアンドドロップが、ファイルを受付け可能な項目に対してどちらの方向(例えば上方向やした方向)から近づいてきたかにより、そちらの方向に対して項目が拡張表示される。
【0060】
間隔調整1104をチェックすると、拡張表示された項目が他の表示された項目を隠さないように、ORDER1204を利用して上下に配置された項目の表示位置をずらす制御を行う。この際、Value1207がD&Dである項目が隠れてしまう場合にだけ表示位置の調整を行うようにしてもよい。
保存ボタン1120が押下されると、業務仕様記述部106などに格納される。
図8の説明に戻る。
ファイル添付画面800は、ファイルが上方向からドラッグアンドドロップされた場合の例を示した画面である。
ファイル803が上方向からドラッグアンドドロップされるので、ファイルエリア804は上方向に拡張表示される。
また、備考801は、D&Dと定義された項目ではないので、ファイルエリア804が拡張表示されても上方向に表示位置が変更されないようになっている。
【0061】
ファイル添付画面720は、上方向からファイルがドラッグアンドドロップされ、添付2(815)に対応するファイルエリア813が拡張表示される場合の画面である。
ファイルエリア813が上方向に拡張されるとともに、添付1(811)に対応する項目より上にある項目が上方向にずれて表示された状態を示している。
図9は、本発明における第2の項目拡張画面の一例を示す図である。
ファイル添付画面900および910はファイルのドラッグアンドドロップが下方向から行われた例を示すものである。
【0062】
ファイル添付画面900において、添付2(813)に対応するファイルエリア812が下方向に拡張表示され、登録ボタン815は、D&D項目ではないため、表示が下方向にずれていない状態を示している。
【0063】
ファイル添付画面910は、添付1(911)に対してファイル912がドラッグアンドドロップされ、ファイルエリア913が下方向に拡張表示され状態を示している。
この時、添付2(914)は、D&D項目であるので、下方向に下げて表示されている。
図10は、本発明におけるサイズチェックの結果を表示した画面の一例を示す図である。
図11のサイズチェック1105にチェックがなされた場合にファイルのドロップを受付けたときの画面イメージである。
【0064】
ファイルのサイズが制限を超えていない場合には、ファイル添付画面1000に示すように添付2に「添付01.pdf」1001と受付けたファイル名が表示される。
【0065】
一方、ファイルサイズが上限を超える場合には、ファイル添付画面1010に示すようにファイルエリア1011に、「ファイルサイズが上限を超えています。」といったメッセージが出力される。また、
図15にて説明するファイルの種類を判定する場合、許可されていない種類のファイルについては、ファイル添付画面1020に示すようにファイルエリア1021に、「jpg,png,gif以外のファイルは登録できません。」といったメッセージが出力される。
図13は、本発明におけるプログラム生成装置のコード生成処理の制御処理手順の一例を示すフローチャートである。
【0066】
ステップS1301〜ステップS1302は、開発者によって操作される処理であり、ステップS1303からステップS1310は、プログラム生成装置による処理である。開発者は、管理者端末から操作を行ってもよいし、プログラム生成装置に直接アクセスして操作を行ってもよい。
【0067】
ステップS1301で、開発者より画面項目のドラッグアンドドロップ時の画面プログラムに関する定義の入力を受付け、ステップS1302で、開発管理画面のプログラム生成処理ボタンの押下を受付ける。
【0068】
ステップS1303では、開発管理画面からプログラム生成要求を受信すると、ステップS1304に進み、開発管理画面で設定された項目設定情報を入出力テーブルから読み込み、ステップS1305で入力された内容に不備がないかどうかのエラーチェックを行う。
ステップS1306で、エラーがあればステップS1307で開発管理画面にエラーを表示して処理を終了する。
【0069】
エラーが無かった場合は、ステップS1308に進み、
図8〜
図10で説明したドラッグアンドドロップ操作によりファイルの入力を受付ける画面制御プログラムの生成を行う。
ステップS1309では、
図11のサイズチェック1105に対応して、サイズチェックプログラムの生成を行う。
ステップS1310では、ステップS1303〜ステップS1309で生成されたプログラムを含んだ画面プログラムを生成し処理を終了する。
【0070】
なお、ステップS1308で生成された画面制御プログラムの動作については、
図14を利用して、ステップS1309で生成されたサイズチェックプログラムの動作については、
図15を利用して説明する。
図14は、本発明における情報処理装置の画面制御処理の一例を示すフローチャートである。
本処理は、本発明のプログラム生成装置が実行する処理そのものではなく、プログラム生成装置により生成されたプログラムが実行された場合の処理である。
【0071】
ステップS1401で、ブラウザはドラッグが開始されたイベントを受け取る。ステップS1402では、ファイルのドラッグアンドドロップ中のイベントからマウス位置のY座標(y1)を受け取る。ステップS1403ではステップS1402から一定時間経過後のマウス位置のY座標(y2)を受け取る。
【0072】
一般的にブラウザにおけるY座標は最上部が0となっており、下に行くにつれて数値が大きくなる。よって、ステップS1402で取得したY座標(y1)とステップS1403で取得したY座標(y2)を比較することで上下どちらの方向にドラッグしているかを判定することができる。
ステップS1404では、y1>y2かどうか、すなわち上から下へのドラッグか下から上へのドラッグかを判定する。このステップによって、受付領域に対して移動される方向を検知可能となる。
【0073】
y1>y2ではない場合NOとなり上から下へのドラッグと判定されステップS1405に進み、y1>y2の場合YESとなり下から上へのドラッグと判定されステップS1406に進む。
ステップS1405では、ファイルエリアの拡張領域を上に決定し、ステップS1406では、ファイルエリアの拡張方向を下に決定する。
【0074】
ステップS1407では、ドラッグ中のカーソルがドロップ可能なエリア(ファイル受付け可能な項目)に滞在しているかを判定し、滞在していない場合は処理を終了する。
【0075】
一方、滞在している場合には、ステップS1409に進み、伸ばす方向にある項目がドロップ可能な項目かどうかを判定(特定)する(項目特定手段)。伸ばす方向にある項目は、
図11のORDER1204の設定により判定する。例えば添付1でORDERが20である場合、上の項目はORDERが10である備考となり、下の項目はORDERが30である添付2となる。
【0076】
ドロップ可能な項目であるかどうかは、Value1207の項目がD&Dとなっているかどうか(D&Dと定義されて入ればドロップ可能な項目)によって識別可能である。これにより、ドロップ可能な項目は、他の項目が拡張されても隠されることはなく、ドロップ可能な状態のまま表示することができる。
【0077】
伸ばす方向にある項目がドロップ可能な項目でない場合は、ステップS1410で当該項目に被さる状態で項目を拡張し、ドロップ可能な項目の場合は、ステップS1411で当該項目を押しのけて(ずらして)表示する。
【0078】
ステップS1412ではドロップ可能エリアからマウスが離れたイベントを受け取ると、ステップS1413で拡張したドロップ可能領域を元に戻して処理を終了する。
なお、本フローチャートの処理は、
図11で設定された詳細設定の内容に応じてすべてのステップが必ずしも処理されなくても構わないものである。
図15は、本発明における情報処理装置のファイル受付け処理の一例を示すフローチャートである。
図8や
図9の画面でファイルエリアに対してファイルがドロップされた場合に処理が開始される
ステップS1501で、ブラウザはドロップ可能領域にファイルがドロップされたイベントを受け取る。
ステップS1502では、ドロップされたファイルのサイズが上限を超えているかの判定を行う。ファイルサイズ判定手段として機能する。
【0079】
上限を超えているかの判定は、
図11のサイズチェック1105が選択された場合に行われ、ファイルサイズの上限は、
図12のSIZE1205に定義されたサイズを利用する。
【0080】
ファイルのサイズが定義された値を超えている場合は、ステップS1503に進み、ドロップ可能領域に
図10のファイル添付画面1010のような画面でファイルサイズが上限を超えているためドロップ不可(添付不可)な旨を表示する。
なお、本処理はドロップ操作制御手段によって制御されるが、ドロップ不可とは、ドロップを受付けないように制限するものやドロップできない旨の表示をするものも含まれるものとする。
【0081】
一方、ファイルのサイズが定義された値に超えていない(収まる)場合、ステップS1504にてファイルをサーバにアップロードし、ステップS1505で
図10のファイル添付画面1000のようにファイル項目の表示を変更して処理を終了する。
【0082】
図16は、本発明における情報処理装置の第2のファイル受付け処理の一例を示すフローチャートである。
図15では、ドロップされたファイルのサイズが上限を超えているかの判定を行う処理について説明したが、
図16では、ドロップされたファイルの種類が許可されている種類のファイルかどうかの判定を行う処理を、第2のファイル受付け処理として説明する。
【0083】
図15と同様に
図8や
図9の画面でファイルエリアに対してファイルがドロップされた場合に処理が開始される。
ステップS1601で、ブラウザはドロップ可能領域にファイルがドロップされたイベントを受け取る。
【0084】
ステップS1602では、ドロップされたファイルが許可された種類のファイルであるかの確認を行う。ファイル種類取得手段が取得したファイル種類をファイル種類判定手段が判定することにより処理される。
具体的には、許可された種類のファイルの添付を許可しステップS1604に進み、許可されない種類のファイルは、ステップS1603に進み、
図10のファイルエリア1021に示すよう、許可されていないファイルの種類である旨を通知する。
【0085】
不図示の登録画面などから、許可するファイル種類や許可しないファイル種類を登録しておけばよい。例えば、登録を許可するファイルの種類として、ファイルの拡張子が「jpg,ping,gif」であるファイルを許可することを登録しておくと、許可されていないファイル(例えばbmp形式のファイル)がドロップされた場合に、
図10の1021に示すように「jpg,png,gif以外のファイルは登録できません。」との警告を表示し処理を終了する。
【0086】
なお、警告(エラー)メッセージはこれに限ったものではないし、警告メッセージを出さずにファイルの選択を受け付けないようにしてもよい。
【0087】
許可された種類のファイルである場合は、ステップS1604にてファイルをサーバにアップロードし、ステップS1605で
図10のファイル添付画面1000のようにファイル項目の表示を変更して処理を終了する。
【0088】
図17は、本発明における情報処理装置の項目拡張処理の一例を示すフローチャートである。
【0089】
図10に示すドロップ可能領域を伸ばして表示する処理の詳細フローである。
ステップS1701で、次の項目にドロップ可能領域を被せて表示するかどうかの判定を行う。具体的には、
図14のステップS1409の判定と同様の判定となり、ステップS1410に進んだ場合が、次の項目に被せて表示する(YES)ことになり、ステップS1411に進んだ場合が、次の項目に被せて表示しない(NO)(次の項目を押しのけて広げる)ことになる。
【0090】
次の項目に被せて表示しないと判定された場合は、ステップS1702に進み、ドロップ可能領域に“height”を設定する。これにより、
図8のドロップ可能領域813、
図9のドロップ可能領域912に示すように次の項目が上方や下方に表示されるため、被せて表示されないようになる。
【0091】
一方、次の項目に被せて表示すると判定された場合は、ステップS1703に進み、ドロップ可能領域に”z−index”と“height”を設定する。これにより、
図8のドロップ可能領域804や、
図9のドロップ可能領域812のように次の項目に重なって(被せて)表示されるようになる。
【0092】
“height”とは、ドロップ可能領域の高さを設置する項目であり、例えばpxを単位として設定する。デフォルトでは0が設定されており、ここに例えば、height:25pxと設定することで、高さが25pxとして表示される。pxとは1ピクセルを1とする単位で、実際に表示されるサイズは72dpiや96dpiといったモニタの解像度により変化する。
【0093】
”z−index”とは、ドロップ領域を重ねて表示するかどうかを設定する項目であり、値が設定されると重ねて表示される。通常は1となっており、例えば、z−index=10と設定することで、重なって表示される。
ステップS1704では、ドロップ可能エリアからマウスが離れたイベントを受け付けると、ステップS1705では、拡張したドロップ可能領域のheightを0にすることでドロップ可能領域を元に戻して処理を終了する。
【0094】
図18は、本発明における情報処理装置の第2の画面制御処理の一例を示すフローチャートである。
【0095】
図14の処理に対してステップS1801の処理を追加したものであるので、ステップS1401からステップS1413の説明は省略する。
ステップS1408で、一定時間以上ドロップ可能エリアに滞在していたと判定された場合、ステップS1801でドロップされたファイルが、許可されているファイルであるか、または/および、許可されているサイズであるかの判定を行う。許可されていない場合は、処理を終了し、許可されている場合は、ステップS1409に進む。
【0096】
許可されているファイルかどうかの判定は、ドラッグ中のファイル情報をオペレーティングシステムから取得したり、ファイル情報取得用のモジュールやアプリケーションから取得したりすることで行う。
【0097】
ドラッグ中のファイル情報を取得できない場合には、
図15および
図16に示すように、ファイルがドロップされたときに、ファイルサイズやファイルの種類を取得することで、選択の許可/不許可を判定すればよい。
【0098】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0099】
また、本発明におけるプログラムは、本発明に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体はコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは各装置の処理方法ごとのプログラムであってもよい。
【0100】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0101】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【0102】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【0103】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0104】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0105】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0106】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0107】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。