(57)【特許請求の範囲】
【請求項１】
ウェブブラウザ上で動作する第１の拡張プログラムと第２の拡張プログラムとを含む文書管理プログラムであって、
前記第１の拡張プログラムは、コンピュータを、
文書管理サーバで管理されているフォルダ階層構造の情報を取得する第１の取得手段、
前記第１の取得手段で取得した情報にしたがって、前記文書管理サーバで管理されているフォルダ階層構造を、前記ウェブブラウザ上に定義された表示領域内に表示する表示手段、
前記ウェブブラウザから設定されるマウスイベント情報に基づいて、前記表示領域内におけるポインティングデバイスの座標位置とイベントの種類とに関する情報を取得する第２の取得手段、
前記第２の取得手段で取得したポインティングデバイスの座標位置と前記表示手段で表示されている前記フォルダ階層構造に含まれる各フォルダの位置とを比較することにより、前記ポインティングデバイスの座標位置が前記フォルダ階層構造に含まれるフォルダのいずれかに重なっているか判断する判断手段、
前記判断手段で前記ポインティングデバイスの座標位置がフォルダに重なっていると判断され、且つ前記第２の取得手段で取得したイベントの種類がドロップであると判定した場合、当該重なっていると判断されたフォルダに関するフォルダ情報を作成し、当該作成したフォルダ情報を前記ウェブブラウザに設定するフォルダ情報作成手段、
として機能させ、
前記第２の拡張プログラムは、前記コンピュータを、
ＯＳからのマウスイベントに基づいて前記表示領域に関わるマウスイベント情報を取得する第３の取得手段、
前記第３の取得手段で取得したマウスイベント情報に含まれるイベントの種類がドラッグエンターであると判定した場合、当該ドラッグされているファイルの情報をブリッジデータ保持部に保存する第１の保存手段、
前記第３の取得手段で取得したマウスイベント情報を前記ブリッジデータ保持部に保存し、前記ウェブブラウザにマウスイベント情報を保存した旨を通知する第２の保存手段、
前記フォルダ情報を前記ブリッジデータ保持部に保存した旨の通知を前記ウェブブラウザから受けた場合、前記ブリッジデータ保持部に保存されている前記ファイルの情報に基づいて特定されるファイルを、前記ブリッジデータ保持部に保存されている前記フォルダ情報に基づいて特定される前記文書管理サーバで管理しているフォルダにアップロードするアップロード手段、
として機能させ、
前記ウェブブラウザでは、
前記第２の保存手段から前記マウスイベント情報を保存した旨の通知を受けた場合、前記ブリッジデータ保持部に保存されている前記マウスイベント情報を取得して、当該取得したマウスイベント情報を前記第２の取得手段に設定し、
前記フォルダ情報作成手段によりフォルダ情報が設定された場合、当該設定されたフォルダ情報を前記ブリッジデータ保持部に保存して、前記アップロード手段に前記フォルダ情報を前記ブリッジデータ保持部に保存した旨の通知を行う
ことを特徴とする文書管理プログラム。
【請求項２】
前記第１の拡張プログラムは、更に、前記コンピュータを、
前記判断手段で前記ポインティングデバイスの座標位置がフォルダに重なっていると判断され、且つ前記第２の取得手段で取得したイベントの種類がドラッグオーバーであると判定した場合、前記表示手段で表示しているフォルダ階層構造に含まれるフォルダのうち、当該重なっていると判断されたフォルダを強調表示する強調表示手段、として機能させることを特徴とする請求項１に記載の文書管理プログラム。
【請求項３】
前記第２の拡張プログラムは、更に、前記コンピュータを、
前記アップロード手段による前記ファイルのアップロードを行う際にエラーが生じた場合に、当該エラーに関する情報を前記ブリッジデータ保持部に設定し、前記ウェブブラウザにエラー情報を設定した旨の通知を行うエラー通知手段、
として機能させ、
前記ウェブブラウザは、前記エラー通知手段からの通知を受けた場合、前記ブリッジデータ保持部に設定されている前記エラーに関する情報を取得して、当該取得したエラーに関する情報を前記第１の拡張プログラムに設定し、
前記第１の拡張プログラムは、更に、前記コンピュータを、
前記ウェブブラウザから設定されるエラーに関する情報に基づいて、エラーメッセージを表示するエラー表示手段、
として機能させることを特徴とする請求項１に記載の文書管理プログラム。
【請求項４】
前記ウェブブラウザは、所定のスクリプト言語で記述されたプログラムを実行することにより、前記第２の保存手段から前記マウスイベント情報を保存した旨の通知を受けた場合、前記ブリッジデータ保持部に保存されている前記マウスイベント情報を取得して、当該取得したマウスイベント情報を前記第２の取得手段に設定する機能と、前記フォルダ情報作成手段によりフォルダ情報が設定された場合、当該設定されたフォルダ情報を前記ブリッジデータ保持部に保存して、前記アップロード手段に前記フォルダ情報を前記ブリッジデータ保持部に保存した旨の通知を行う機能とを実現することを特徴とする請求項１に記載の文書管理プログラム。
【請求項５】
前記表示領域は、前記文書管理サーバで管理されているフォルダ階層構造に含まれるフォルダを表示する第１の領域と、別の情報を表示する第２の領域とを含み、
前記第１の拡張プログラムは、更に、前記コンピュータを、
前記第２の取得手段で取得したポインティングデバイスの座標位置に基づいて、前記ポインティングデバイスの位置が前記第１の領域にあるか否か判定し、前記第１の領域にあると判定した場合はアップロード可能であることを示す第１のアイコンを表示し、前記第１の領域にないと判定した場合はアップロード不可であることを示す第２のアイコンを表示するアイコン表示手段として機能させることを特徴とする請求項１に記載の文書管理プログラム。
【請求項６】
前記ドラッグされているファイルが複数である場合、前記第１の保存手段は、当該ドラッグされている複数のファイルそれぞれの情報を前記ブリッジデータ保持部に保存することを特徴とする請求項１に記載の文書管理プログラム。
【請求項７】
請求項１乃至６のいずれかに記載の文書管理プログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【請求項８】
ウェブブラウザ上で動作する第１の拡張プログラムと第２の拡張プログラムとを格納したコンピュータ読み取り可能な記憶媒体と、前記ウェブブラウザのプログラムと前記第１の拡張プログラムと前記第２の拡張プログラムとを実行するＣＰＵと、を含む情報処理装置であって、
前記第１の拡張プログラムは、前記ＣＰＵを、
文書管理サーバで管理されているフォルダ階層構造の情報を取得する第１の取得手段、
前記第１の取得手段で取得した情報にしたがって、前記文書管理サーバで管理されているフォルダ階層構造を、前記ウェブブラウザ上に定義された表示領域内に表示する表示手段、
前記ウェブブラウザから設定されるマウスイベント情報に基づいて、前記表示領域内におけるポインティングデバイスの座標位置とイベントの種類とに関する情報を取得する第２の取得手段、
前記第２の取得手段で取得したポインティングデバイスの座標位置と前記表示手段で表示されている前記フォルダ階層構造に含まれる各フォルダの位置とを比較することにより、前記ポインティングデバイスの座標位置が前記フォルダ階層構造に含まれるフォルダのいずれかに重なっているか判断する判断手段、
前記判断手段で前記ポインティングデバイスの座標位置がフォルダに重なっていると判断され、且つ前記第２の取得手段で取得したイベントの種類がドロップであると判定した場合、当該重なっていると判断されたフォルダに関するフォルダ情報を作成し、当該作成したフォルダ情報を前記ウェブブラウザに設定するフォルダ情報作成手段、
として機能させ、
前記第２の拡張プログラムは、前記ＣＰＵを、
ＯＳからのマウスイベントに基づいて前記表示領域に関わるマウスイベント情報を取得する第３の取得手段、
前記第３の取得手段で取得したマウスイベント情報に含まれるイベントの種類がドラッグエンターであると判定した場合、当該ドラッグされているファイルの情報をブリッジデータ保持部に保存する第１の保存手段、
前記第３の取得手段で取得したマウスイベント情報を前記ブリッジデータ保持部に保存し、前記ウェブブラウザにマウスイベント情報を保存した旨を通知する第２の保存手段、
前記フォルダ情報を前記ブリッジデータ保持部に保存した旨の通知を前記ウェブブラウザから受けた場合、前記ブリッジデータ保持部に保存されている前記ファイルの情報に基づいて特定されるファイルを、前記ブリッジデータ保持部に保存されている前記フォルダ情報に基づいて特定される前記文書管理サーバで管理しているフォルダにアップロードするアップロード手段、
として機能させ、
前記ウェブブラウザでは、
前記第２の保存手段から前記マウスイベント情報を保存した旨の通知を受けた場合、前記ブリッジデータ保持部に保存されている前記マウスイベント情報を取得して、当該取得したマウスイベント情報を前記第２の取得手段に設定し、
前記フォルダ情報作成手段によりフォルダ情報が設定された場合、当該設定されたフォルダ情報を前記ブリッジデータ保持部に保存して、前記アップロード手段に前記フォルダ情報を前記ブリッジデータ保持部に保存した旨の通知を行う
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書管理サーバの文書をアップロードするための、ウェブブラウザ上で実行される文書管理プログラムに関する。
【背景技術】
【０００２】
近年、文書管理システムにおいて、専用の文書管理クライアントアプリケーションを用いずに、一般的なウェブブラウザ（Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（商標）など）を用いて文書管理サーバにアクセスすることが望まれている。
特許文献１では、一般的なウェブブラウザを用いて、クライアント端末が保持する文書をサーバに登録する場合、登録対象のファイル名とパスとを指定することにより、文書をアップロードしていた。
登録対象のファイル名とパスとを指定するのはユーザの手間がかかるので、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のファイルシステムなどで管理しているファイルをドラッグ＆ドロップ（以後、Ｄ＆Ｄと称する）でアップロードできるのが望ましい。しかしながら、ＯＳで管理しているファイル（例えばＴＥＸＴファイル）をＭｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  ＥｘｐｌｏｒｅｒなどのウェブブラウザにＤ＆Ｄすると、該ウェブブラウザが該ファイルをオープンしてしまう。これに対し、特許文献２の図９では、ウェブブラウザにおいて、アップロードパスを含むＨＴＭＬオブジェクト（アップロード用の領域）を表示しておく。そして、ユーザがＯＳのファイルを当該ＨＴＭＬオブジェクトにＤ＆Ｄした場合は、ＨＴＭＬオブジェクトに含まれるアップロードパスに対応する記憶領域へ、当該ファイルをアップロードする技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−０９９７４１号公報
【特許文献２】ＷＯ０８／０２９７７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一方で、文書管理サーバは複数のフォルダの階層構造を用いて文書ファイルを分類しており、ウェブブラウザを用いて文書管理サーバにアクセスする場合も、ユーザはこのフォルダ階層構造をインタラクティブに操作できるようにするのが望ましい。そこで、Ａｄｏｂｅ  Ｆｌａｓｈ  Ｐｌａｙｅｒ（商標）などのＲＩＡ（Ｒｉｃｈ  Ｉｎｔｅｒｎｅｔ  Ａｐｐｌｉｃａｔｉｏｎ）を用いて、文書管理サーバのフォルダ階層構造を操作するための拡張プログラムをウェブブラウザ上で実行することが考えられる。
しかしながら、特許文献２の技術では、ＨＴＭＬオブジェクトに対応付けられたアップロードパスで特定される１つの記憶領域にしかファイルをアップロードできなかった。すなわち、特許文献２の技術では、アップロードパスで定められた１つの記憶領域にファイルをアップロードするものであるので、ＲＩＡを用いてフォルダ階層構造を表示したとしても、当該表示されたフォルダ階層構造の中の所望のフォルダに、ＯＳ上のファイルをＤ＆Ｄでアップロードすることはできない。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明の文書管理プログラムは、ウェブブラウザ上で動作する第１の拡張プログラムと第２の拡張プログラムとを含む文書管理プログラムであって、前記第１の拡張プログラムは、コンピュータを、文書管理サーバで管理されているフォルダ階層構造の情報を取得する第１の取得手段、前記第１の取得手段で取得した情報にしたがって、前記文書管理サーバで管理されているフォルダ階層構造を、前記ウェブブラウザ上に定義された表示領域内に表示する表示手段、前記ウェブブラウザから設定されるマウスイベント情報に基づいて、前記表示領域内におけるポインティングデバイスの座標位置とイベントの種類とに関する情報を取得する第２の取得手段、前記第２の取得手段で取得したポインティングデバイスの座標位置と前記表示手段で表示されている前記フォルダ階層構造に含まれる各フォルダの位置とを比較することにより、前記ポインティングデバイスの座標位置が前記フォルダ階層構造に含まれるフォルダのいずれかに重なっているか判断する判断手段、前記判断手段で前記ポインティングデバイスの座標位置がフォルダに重なっていると判断され、且つ前記第２の取得手段で取得したイベントの種類がドロップであると判定した場合、当該重なっていると判断されたフォルダに関するフォルダ情報を作成し、当該作成したフォルダ情報を前記ウェブブラウザに設定するフォルダ情報作成手段、として機能させ、前記第２の拡張プログラムは、前記コンピュータを、ＯＳからのマウスイベントに基づいて前記表示領域に関わるマウスイベント情報を取得する第３の取得手段、前記第３の取得手段で取得したマウスイベント情報に含まれるイベントの種類がドラッグエンターであると判定した場合、当該ドラッグされているファイルの情報をブリッジデータ保持部に保存する第１の保存手段、前記第３の取得手段で取得したマウスイベント情報を前記ブリッジデータ保持部に保存し、前記ウェブブラウザにマウスイベント情報を保存した旨を通知する第２の保存手段、前記フォルダ情報を前記ブリッジデータ保持部に保存した旨の通知を前記ウェブブラウザから受けた場合、前記ブリッジデータ保持部に保存されている前記ファイルの情報に基づいて特定されるファイルを、前記ブリッジデータ保持部に保存されている前記フォルダ情報に基づいて特定される前記文書管理サーバで管理しているフォルダにアップロードするアップロード手段、として機能させ、前記ウェブブラウザでは、前記第２の保存手段から前記マウスイベント情報を保存した旨の通知を受けた場合、前記ブリッジデータ保持部に保存されている前記マウスイベント情報を取得して、当該取得したマウスイベント情報を前記第２の取得手段に設定し、前記フォルダ情報作成手段によりフォルダ情報が設定された場合、当該設定されたフォルダ情報を前記ブリッジデータ保持部に保存して、前記アップロード手段に前記フォルダ情報を前記ブリッジデータ保持部に保存した旨の通知を行うことを特徴とする。
【発明の効果】
【０００６】
ウェブブラウザと異なるプログラム（ＯＳのファイルシステムなど）で管理されているファイル（もしくはフォルダ）を、ウェブブラウザ上で実行されるＲＩＡによって表示されるフォルダ階層構造中の所望のフォルダにＤ＆Ｄでアップロードできるようになる。
【図面の簡単な説明】
【０００７】
【図１】システム構成図
【図２】文書管理サーバおよび文書管理クライアントのブロック構成図
【図３】ソフトウェア構成図
【図４】ウェブブラウザ構成図
【図５Ａ】ＵＩ構造図
【図５Ｂ】ＵＩ構造図
【図６】マウスイベントを取得してファイルをアップロードするメインシーケンス図
【図７】実施例１のフォルダを表示する処理の流れを示すフローチャート
【図８】実施例１のマウスイベントをウェブブラウザに通知する処理の流れを示すフローチャート
【図９】実施例１のマウス位置にあるフォルダを検知する処理の流れを示すフローチャート
【図１０】実施例１のファイルをアップロードする処理の流れを示すフローチャート
【図１１】実施例１のアップロード失敗時のエラーメッセージを表示する処理の流れを示すフローチャート
【図１２】実施例２のマウスアイコン表示図
【図１３】実施例２のドラッグ元アイコンを非表示にする処理の流れを示すフローチャート
【図１４】実施例２のマウスアイコンを表示する処理の流れを示すフローチャート
【図１５】実施例３のドラッグ元ファイルとフォルダを保存する処理の流れを示すフローチャート
【図１６】実施例３のファイルとフォルダをアップロードする処理の流れを示すフローチャート
【発明を実施するための形態】
【０００８】
（実施例１）
＜システム構成＞
図１は、本発明の実施形態に係るシステムのシステム構成図である。本実施形態は、文書管理サーバＰＣ１０とクライアントＰＣ２０より構成され、文書管理サーバＰＣ１０とクライアントＰＣ２０は、ＬＡＮ３０を介して接続される。
【０００９】
文書管理サーバＰＣ１０は、文書やフォルダなどのコンテンツを管理する文書管理機能と、Ｗｅｂアプリケーションサーバ機能とを提供するサーバである。クライアントＰＣ２０は、ウェブブラウザを介して文書管理サーバＰＣ１０に接続してコンテンツを操作する機能を提供する。
【００１０】
文書管理サーバ１０とクライアントＰＣ２０は、一般的な情報処理装置（ＰＣ）のハードウェアで構成することができる。図２は、本実施形態に係る文書管理システムを構成する各ＰＣのハードウェア構成図を示している。図２において、ＣＰＵ２０１は、ＲＯＭ２０３内のプログラム用ＲＯＭに記憶されたプログラムや、ハードディスク２１０からＲＡＭ２０２にロードされたＯＳ（オペレーションシステム）やアプリケーション等のプログラムを実行する。すなわち、コンピュータ（ＣＰＵ）が、コンピュータ読み取り可能な記憶媒体に格納された該プログラムを実行することにより、後述する各フローチャートの処理を実行する各処理部として機能する。ＲＡＭ２０２は、ＣＰＵ２０１のメインメモリであり、ワークエリア等として機能する。キーボードコントローラ２０４は、キーボード２０８や図示しないポインティングデバイス（マウス、タッチパッド、タッチパネル、トラックボールなど）からの操作入力を制御する。ディスプレイコントローラ２０５は、ディスプレイ２０９の表示を制御する。ディスクコントローラ２０６は、各種データを記憶するハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）等の外部メモリ２１０へのデータアクセスを制御する。ネットワークコントローラ（ＮＣ）２０７はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
【００１１】
＜処理の説明＞
以下、本発明の実施例１に係るシステムの処理の流れについて説明する。
【００１２】
図３は、本発明の実施例１のシステムにおいて、文書管理サーバＰＣ１０とクライアントＰＣ２０が提供する各処理部の構成例を示している。
【００１３】
文書管理サーバＰＣ１０のＣＰＵ２０１がプログラムを実行することにより、文書管理サーバは各処理部３００〜３０２として機能する。なお、コンテンツなどの情報は、外部メモリ２１０に保持され、必要なときにＲＡＭ２０１にロードし処理される。
【００１４】
文書管理サーバＰＣ１０におけるメイン制御部３００は、文書管理サーバのアプリケーションを司るメイン制御処理を行う。また、メイン制御部３００は、入出力制御部３０１、コンテンツ制御部３０２を制御し、コンテンツ情報などの橋渡しを行う。入出力制御部３０１は、クライアントＰＣ２０からのコマンドのリクエストを受信して、クライアントＰＣ２０へコマンドのレスポンスを送信する。また、コンテンツ制御部３０２は、クライアントＰＣ２０からリクエストのあったコンテンツ情報を取得する。なお、コンテンツ情報については、ＤＢやファイルなどで管理されていても良く、特に形態は問わない。
【００１５】
クライアントＰＣ２０のＣＰＵ２０１が各処理部のプログラムを読み出して実行することにより、クライアントＰＣは各処理部３１０〜３１４として機能する。
【００１６】
クライアントＰＣ２０のメイン制御部３１０は、クライアントＰＣ２０のアプリケーションを司るメイン制御処理を行う。また、メイン制御部３１０は、入出力制御部３１１、コンテンツ表示部３１２、マウスイベント制御部３１３、ブリッジデータ保持部３１４を制御し、コンテンツ情報などの橋渡しを行う。
【００１７】
入出力制御部３１１は、文書管理サーバＰＣ１０へコマンドのリクエストを送信して、文書管理サーバＰＣ１０からのコマンドのレスポンスを受信する。
【００１８】
コンテンツ表示部３１２は、文書管理サーバＰＣ１０から受信したコンテンツ情報を解釈してウェブブラウザ上に表示する。なお、コンテンツとは、文書や文書を管理するフォルダを示す。また、コンテンツ表示部３１２は、マウスイベント制御部３１３で取得したマウス座標（ポインティングデバイスにより指示される座標位置）に基づいて、表示しているコンテンツに重なっているかを検知する。また、コンテンツ表示部３１２は、マウスイベント制御部３１３で文書のアップロード処理に失敗した場合、失敗した旨を示すエラーメッセージを表示する。更に、コンテンツ表示部３１２を実現するプログラムは、ウェブブラウザ４００とＪａｖａ（登録商標）Ｓｃｒｉｐｔを介して通信するためのインターフェースを公開している。
【００１９】
マウスイベント制御部３１３は、ウェブブラウザ４００とは異なるプログラム（ＯＳなどのプログラム）から受けたマウスイベント（ポインティングデバイスによるイベント）に基づいて、マウスイベント情報を取得する。マウスイベント制御部３１３は、当該取得したマウスイベント情報に基づいて、イベント種類、座標位置、ドラッグされているファイルが何かを判断する。更に、マウスイベント制御部３１３は、コンテンツ表示部３１２においてドロップしたときのマウス座標に重なっていると検知したフォルダに、ドラッグ元で設定されているファイルをアップロードする。マウスイベント制御部３１３を実現するプログラムは、ブリッジデータ保持部３１４に情報を設定したことを通知するために、ウェブブラウザ４００とＪａｖａ（登録商標）Ｓｃｒｉｐｔを介して通信するためのインターフェースを公開している。
【００２０】
ブリッジデータ保持部３１４は、マウスイベント情報やコンテンツ表示部３１２が表示しているフォルダ情報を、マウスイベント制御部３１３との間で送受信するための情報を保持する。更に、ブリッジデータ保持部３１４を実現するプログラムは、マウスイベント情報、フォルダ情報を送受信するための、ウェブブラウザ４００とのインターフェースを公開している。
【００２１】
なお、本実施例では、ポインティングデバイスによるイベントをマウスイベント、ポインティングデバイスの座標位置をマウス座標位置と称するものとするが、ポインティングデバイスの種類はマウスに限るものではない。
【００２２】
図４は、本発明の実施例１に係るウェブブラウザ上で実行するアドオンプログラム（コンテンツ表示部３１２、マウスイベント制御部３１３およびブリッジデータ保持部３１４としてコンピュータを機能させるための文書管理プログラム）の構成図である。
【００２３】
ウェブブラウザ４００は、ＨＴＭＬの解釈、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔの実行、外部拡張機能のアドオン機能を提供するアプリケーションである。
【００２４】
ＨＴＭＬ４００は、「ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ」の略で、ウェブブラウザ４００で利用可能な、Ｗｅｂページを記述するためのマークアップ言語である。
【００２５】
Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ４０２は、ウェブブラウザ４００で利用可能なスクリプト言語で記述されたプログラム（スクリプトプログラム）であり、以下の機能をウェブブラウザ４００に提供する。提供される機能は、マウスイベント制御部３１３からマウスイベント情報を受信する機能、ブリッジデータ保持部３１４に情報を設定する機能、ブリッジデータ保持部３１４に保存されている情報を取得する機能、コンテンツ表示部３１２へブリッジデータ保持部３１４から取得した情報を設定する機能である。
【００２６】
外部拡張機能アドオン４０３と４０４は、ウェブブラウザ４００の機能を拡張する拡張プログラム（アドオンプログラム）である。外部拡張機能アドオン４０３は、マウスイベント制御部３１３とブリッジデータ保持部３１４の機能を提供するためのアドオンプログラムである。外部拡張機能アドオン４０４は、コンテンツ表示部の機能を提供するためのアドオンプログラムである。
【００２７】
外部拡張機能アドオン４０４は、ウェブブラウザ上で動作するＡｄｏｂｅ  Ｆｌａｓｈ（商標）などのＲＩＡを用いて記述されたプログラムであり、コンテンツ表示部３１２の機能を提供する。ウェブブラウザは、文書管理サーバから読み込んだＨＴＭＬのウェブページの記述に従い、外部拡張機能アドオン４０４により定義される画面を表示するための表示領域を、ウェブブラウザのウィンドウ内に定義する。そして、ウェブブラウザ上の当該表示領域内に、外部拡張機能アドオン４０４により定義される画面（図５Ａのメイン画面５００のようなＵＩ）が表示される。すなわち、外部拡張機能アドオン４０４によって実現されるコンテンツ表示部３１２は、ウェブブラウザのウィンドウ内に表示されるメイン画面５００において、文書管理サーバＰＣ１０で管理している文書やフォルダ階層構造を表示する。
【００２８】
外部拡張機能アドオン４０３は、ＡｃｔｉｖｅＸ技術を用いて、ＯＳ（ウェブブラウザ４００と異なる外部アプリ）で発生したマウスイベントに基づいてマウスイベント情報を取得する機能や、該マウスイベント情報を保持する機能を実現するためのプログラムである。更に、外部拡張機能アドオン４０３は、マウスイベント情報やメイン画面５００上に表示されているフォルダの情報を、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ４０２を介して外部拡張機能アドオン４０４との間で通信する。このように構成することにより、ＯＳなどで管理しているファイルをメイン画面５００上に表示されている所望のフォルダにＤ＆Ｄする操作に応じて、当該ファイルを所望のフォルダへアップロードできるように機能させる。
【００２９】
コンテンツ表示部３１２によってウェブブラウザのウィンドウ上に表示される図５Ａのメイン画面５００は、ヘッダー表示領域５０１、ツリー表示領域５０２、コンテンツ表示領域５０３、プロパティ表示領域５０４、フッター表示領域５０５により構成される。
【００３０】
コンテンツ表示部３１２は、ヘッダー表示領域５０１に、文書管理システムの名前やメニューなどを表示する。また、コンテンツ表示部３１２は、ツリー表示領域５０２内に、文書を格納するフォルダを階層的に表示する。更に、コンテンツ表示領域５０３には、ツリー表示領域５０２で選択されたフォルダ内に格納されている文書やフォルダが表示される。なお、図５Ａは、ツリー表示領域５０２で「トップフォルダ」が選択されている場合のコンテンツ表示領域５０３の表示例を示している。なお、コンテンツ表示部３１２は、コンテンツ表示領域５０３の表示形式を変更することが可能であり、切り替えボタンなどの操作によりアイコン表示とリスト表示を切り替えることができる。また、プロパティ表示領域５０４には、コンテンツ表示領域５０３で選択されている文書（またはフォルダ）のプロパティが表示される。プロパティは、当該文書の名称やパスなどの情報が含まれる。また、フッター表示領域５０５には、アプリケーションバージョンやＣｏｐｙＲｉｇｈｔｓなどの情報が表示される。
【００３１】
コンテンツ表示部３１２は、マウスイベント情報から座標位置を取得し、当該取得したマウス座標に基づいて、ツリー表示領域５０２やコンテンツ表示領域５０３に表示されているフォルダの表示位置との重なりを検知する。
【００３２】
図５Ｂの（ｂ）は、ツリー表示領域５０２やコンテンツ表示領域５０３に表示されるフォルダの１つに対して定義されている座標情報を説明するための図である。フォルダ表示領域５１０は、表示しているフォルダとマウス座標位置との重なりを検知するために定義されている領域であり、左上を始点とし、右下を終点として当該領域の位置を保持している。コンテンツ表示部３１２は、フォルダ表示領域５１０の中にマウス座標５１１が含まれている場合、フォルダとマウス座標が重なっていると判断する。
【００３３】
なお、フォルダ表示領域は、フォルダが表示されている領域や表示形式に応じて、定義される形状が異なる。例えば、ツリー表示領域５０２に表示されるフォルダに対して定義されるフォルダ表示領域は、図５Ｂの（ｃ）の領域５２０のように長方形の領域で定義される。また、コンテンツ表示領域５０３でアイコン表示している場合、コンテンツ表示領域５０３に表示されるフォルダに対して定義されるフォルダ表示領域は、図５Ｂの（ｄ）の領域５３０のように定義される。また、コンテンツ表示領域５０３でリスト表示している場合、コンテンツ表示領域５０３に表示されるフォルダに対して定義されるフォルダ表示領域は、図５Ｂの（ｅ）の領域５４０のように定義される。
【００３４】
以下、シーケンスおよびフローチャートを交えて本システムの流れについて説明する。
【００３５】
＜メインシーケンス＞
図６は、ウェブブラウザ上でＲＩＡを用いてフォルダを表示した後、クライアントＰＣ２０のＯＳなどで管理されているファイルをＤ＆Ｄすることにより、文書管理サーバＰＣ１０上の対応するフォルダにアップロードするまで一連の流れを示すシーケンスである。
【００３６】
シーケンスは大きく分けて以下の５つの処理に分かれている。すなわち、フォルダを表示するフロー（Ｓ１０）、マウスイベント情報を取得するフロー（Ｓ２０）、マウス座標からフォルダに重なっているかを検知するフロー（Ｓ３０）、ファイルをフォルダにアップロードするフロー（Ｓ４０）、エラーメッセージを表示するフロー（Ｓ５０）である。各処理の詳細について以下に記す。
【００３７】
まず、ステップＳ１０において、コンテンツ表示部３１２は、文書管理サーバＰＣ１０で管理されているフォルダに関する情報（フォルダ情報）を取得する。すなわち、コンテンツ表示部３１２は、文書管理サーバにフォルダ情報取得リクエストを送信し、当該リクエストに応じて文書管理サーバから返信されてくるフォルダ情報を取得する。フォルダ情報は、名称やフォルダを示す一意のＩＤをひとまとめにした情報である。なお、フォルダを示す一意のＩＤは、パスであってもかまわない。また、複数のフォルダに関するフォルダ情報を同時に取得することが可能である。そして、コンテンツ表示部３１２は、当該取得したフォルダ情報に基づいて、ツリー表示領域５０２およびコンテンツ表示領域５０３にフォルダを表示する。フォルダを表示する位置や大きさについては、コンテンツ表示部３１２が定義するものとするが、定義の方法については、内部リソースとして定義しても良いし、外部ファイルで定義しても良い。
【００３８】
ステップＳ２０において、マウスイベント制御部３１３は、クライアントＰＣのＯＳで発生したマウスイベントを取得し、当該取得したマウスイベントに基づきマウスの位置がメイン画面５００内にあれば、マウスイベント情報としてブリッジデータ保持部３１４に設定する。マウスイベント情報は、イベント種類、座標位置、ドラッグされている選択ファイル（または選択フォルダ）の情報を含んでいる。ここで、イベント種類は、マウスがメイン画面５００に入った事を示すドラッグエンター、マウスがメイン画面５００上でドラッグ中を示すドラッグオーバー、マウスがメイン画面５００から出たことを示すドラッグアウト、メイン画面５００上にドラッグされた選択ファイル（フォルダ）がドロップされたことを示すドロップがある。マウスイベント制御部３１３は、マウスイベント情報をブリッジデータ保持部３１４に保存した旨を、ウェブブラウザ４００に通知する。
【００３９】
ステップＳ３０において、ウェブブラウザ４００は、ブリッジデータ保持部３１４に保持されているマウスイベント情報を取得し、当該取得したマウスイベント情報をコンテンツ表示部３１２に設定（通知）する。コンテンツ表示部３１２は、設定されたマウスイベント情報に含まれている座標位置を取得し、メイン画面５００に表示しているフォルダの座標位置と比較することにより、表示中のフォルダにマウスが重なっているかを検知する。フォルダとの重なりを検知した場合、コンテンツ表示部３１２は、当該重なっていると判定したフォルダに関するフォルダ情報をウェブブラウザ４００に設定する。ウェブブラウザ４００は、当該設定されたフォルダ情報をアップロード先のフォルダ情報としてブリッジデータ保持部３１４に保存し、更に、該フォルダ情報をブリッジデータ保持部３１４に保存した旨を、マウスイベント制御部３１３に通知する。なお、フォルダ情報に関しては、マウス座標位置とフォルダとが重なっていると判定した後に設定するのではなく、コンテンツ表示部３１２が、アップロードを行うかどうかを促す画面を表示して、ユーザからのアップロード指示を受けた時に設定しても良い。また、ユーザからのアップロードをキャンセルする指示を受けた時には、設定しないようにしても良い。
【００４０】
ステップＳ４０において、マウスイベント制御部３１３は、ブリッジデータ保持部３１４からアップロード先のフォルダ情報とアップロード対象の選択ファイル（選択フォルダ）の情報とを取得する。マウスイベント制御部３１３は、文書管理サーバＰＣ１０のアップロード先のフォルダへ、当該選択対象のファイル（またはフォルダ）をアップロードする。文書管理サーバＰＣ１０は、指示を受けたアップロード先のフォルダに、当該受信したファイル（フォルダ）を登録する。そして、文書管理サーバＰＣ１０は、登録結果をマウスイベント制御部３１３へ返す。登録結果は、正常に登録が行われたのか、エラーが発生したのかを示す一意の処理結果番号を含んでいる。マウスイベント制御部３１３は、処理結果番号がエラーと判断した場合、エラー情報としてエラーコード（処理結果番号）をブリッジデータ保持部３１４へ設定保存し、更に、ウェブブラウザ４００にエラー情報設定の通知を行う。
【００４１】
ステップＳ５０において、ウェブブラウザ４００は、エラー情報設定の通知を受けると、エラー情報をブリッジデータ保持部３１４から取得し、当該取得したエラー情報をコンテンツ表示部３１２に設定する。コンテンツ表示部３１２は、当該設定されたエラー情報に基づいてエラーコードに対応するエラーメッセージを表示する。
【００４２】
次に、上述したＳ１０〜Ｓ５０の各処理の詳細について、フローチャートを用いて説明する。
【００４３】
＜フォルダを表示する処理（Ｓ１０）の詳細＞
図７は、コンテンツ表示部３１２が、文書管理サーバＰＣ１０からフォルダ情報を取得して、ウェブブラウザ４００上のメイン画面５００にフォルダ表示する処理の流れを示すフローチャートである。
【００４４】
ステップＳ７００において、コンテンツ表示部３１２は、フォルダ情報を取得するためのリクエスト情報を作成し、文書管理サーバＰＣ１０にフォルダ情報取得のリクエストを送信する。
【００４５】
ステップＳ７０１において、文書管理サーバＰＣ１０は、フォルダ取得情報のリクエストを受信すると、コンテンツ制御部３０２よりサーバで管理しているフォルダに関するフォルダ情報を取得し、当該取得したフォルダ情報を、レスポンスとしてコンテンツ表示部３１２へ送信する。
【００４６】
ステップＳ７０２はループ端であり、コンテンツ表示部は、受信したフォルダ情報の数分だけ、Ｓ７０３〜Ｓ７０６の処理を行うことになる。
【００４７】
ステップＳ７０３において、コンテンツ表示部３１２は、フォルダ情報に基づいて、ツリー表示領域にフォルダの表示を行う。
【００４８】
ステップＳ７０４において、コンテンツ表示部３１２は、コンテンツ表示領域５０２の表示形式としてアイコン表示形式とリスト表示形式のいずれが指定されているか判断する。アイコン表示形式が指定されていると判断した場合はステップＳ７０５に進み、リスト表示形式が指定されていると判断した場合はステップＳ７０６に進む。
【００４９】
ステップＳ７０５において、コンテンツ制御部３１２は、フォルダ情報に基づいて、対応するフォルダをアイコン形式でコンテンツ表示領域５０２に表示する。また、ステップＳ７０６において、コンテンツ制御部３１２は、フォルダ情報に基づいて、対応するフォルダをリスト形式でコンテンツ表示領域５０２に表示する。
【００５０】
ステップＳ７０７は終了ループ端であり、フォルダ情報数分の処理を行ったらＳ７０３〜Ｓ７０６の繰り返し処理を終了する。
【００５１】
＜マウスイベント情報を取得する処理（Ｓ２０）の詳細＞
図８は、マウスイベント制御部３１３がＯＳからのマウスイベントに基づきマウスイベント情報を取得し、ブリッジデータ保持部３１４へ当該マウスイベント情報を保存する処理の流れを示すフローチャートである。
【００５２】
ステップＳ８００において、マウスイベント制御部３１３は、ＯＳからのマウスイベントに基づき、メイン画面５００に関わるマウスイベント情報を取得する。
【００５３】
ステップＳ８０１において、マウスイベント制御部３１３は、当該マウスイベント情報に含まれるマウスイベント種類を求める。
【００５４】
ステップＳ８０２において、マウスイベント制御部３１３は、マウスイベント種類がドラッグエンターと判断した場合、Ｓ８０３に進む。Ｓ８０３において、マウスイベント制御部３１３は、マウスイベント情報に含まれるドラッグ元のファイル情報（ドラッグされているファイルの情報）を、ブリッジデータ保持部３１４に保存する。
【００５５】
一方、Ｓ８０２において、マウスイベント種類がドラッグエンター以外と判断した場合、Ｓ８０４に進み、マウスイベント制御部３１３は、マウスイベント種類がドラッグオーバー、ドラッグアウト、ドロップのいずれかであるか否かを判断する。そして、マウスイベント種類がドラッグオーバー、ドラッグアウト、ドロップのいずれかであると判断した場合はＳ８０５に進む一方、それ以外と判断した場合は処理を終了する。
【００５６】
ステップＳ８０５において、マウスイベント制御部３１３は、マウスイベント情報に含まれるマウスイベント種類を、ブリッジデータ保持部３１４に保存する。
【００５７】
ステップＳ８０６において、マウスイベント制御部３１３は、マウスイベント情報に含まれているマウス座標位置を取得し、当該マウス座標位置をメイン画面５００の左上を起点とした相対座標に変換した後、ブリッジデータ保持部３１４に保存する。
【００５８】
ステップＳ８０７において、マウスイベント制御部３１３は、ブリッジデータ保持部３１４にマウスイベント情報を保存した旨を、ウェブブラウザ４００に通知する。
【００５９】
＜マウスが表示フォルダに重なっているかを検知する処理（Ｓ３０）の詳細＞
図９は、マウスイベント情報に含まれているマウス座標位置に基づいて、マウスと重なるフォルダを検知する処理の流れを示すフローチャートである。
【００６０】
ステップＳ９００において、ウェブブラウザ４００は、Ｓ８０７で為されたマウスイベント情報保存の通知を受けると、ブリッジデータ保持部３１４に保存されているマウスイベント情報を取得して、コンテンツ表示部３１２に設定する。
【００６１】
ステップＳ９０１において、コンテンツ表示部３１２は、当該設定されたマウスイベント情報に含まれているマウス座標位置を取得する。
【００６２】
ステップＳ９０２はループ端を示しており、コンテンツ表示部３１２は、ツリー表示領域５０２およびコンテンツ表示領域５０３に表示しているフォルダそれぞれを順に判定対象として、Ｓ９０３〜Ｓ９０５の処理を繰り返し行う。
【００６３】
ステップＳ９０３において、コンテンツ表示部３１２は、判定対象のフォルダに関するフォルダ表示領域５１０の座標位置（図５Ｂの５２０〜５４０）を取得する。
【００６４】
ステップＳ９０４において、コンテンツ表示部３１２は、マウス座標のＸ座標値と当該判定対象フォルダのフォルダ表示領域のＸ座標範囲とを比較し、マウス座標が範囲内にあると判断した場合は、ステップＳ９０５に進む。ステップＳ９０５では、コンテンツ表示部３１２は、更に、マウス座標のＹ座標値とフォルダ表示領域のＹ座標範囲とを比較し、マウス座標が範囲内にあると判断した場合は、ループ処理を終了してステップＳ９０７に進む。
【００６５】
ステップＳ９０６はループの終了を示すループ端であり、Ｓ９０４またはＳ９０５でマウス座標が当該判定対象のフォルダのフォルダ表示範囲外であると判定した場合、判定対象フォルダを次のフォルダに変更してＳ９０３〜Ｓ９０５の処理を行う。なお、表示しているフォルダ全てとの判定が終わった場合は、マウス座標に重なっているフォルダが無いと判断して、ループ処理を終了する。
【００６６】
ステップＳ９０７において、コンテンツ表示部３１２は、マウス座標がフォルダと重なっていると検知した場合、ステップＳ９０８に進み、コンテンツ表示部３１２は、マウスイベント情報に含まれているマウスイベント種類を取得する。
【００６７】
ステップＳ９０９において、コンテンツ表示部３１２は、当該取得したマウスイベント種類がドラッグオーバーであるかドロップであるか判断する。コンテンツ表示部３１２は、ドラッグオーバーであると判断した場合、Ｓ９１０に進み、メイン画面５００に表示されているフォルダのうち、当該マウス座標と重なっていると判断したフォルダをフォーカス表示（強調表示）する。
【００６８】
一方、Ｓ９０９でドロップであると判断した場合は、ステップＳ９１１に進み、コンテンツ表示部３１２は、当該マウス座標と重なっていると判断したフォルダに関するフォルダ情報を作成してウェブブラウザ４００へ返す。なお、ここで作成されるフォルダ情報は、名称やフォルダを示す一意のＩＤをひとまとめにした情報（すなわち、アップロード先となるフォルダを識別するための情報）である。
【００６９】
ステップＳ９１２において、ウェブブラウザ４００は、ファイルがドロップされたフォルダに関するフォルダ情報が返ってきた（すなわちフォルダ情報が設定された）と判断した場合、ステップ９１３に進んで、当該フォルダ情報をブリッジデータ保持部３１４へ保存する。
【００７０】
ステップＳ９１４において、ウェブブラウザ４００は、フォルダ情報をブリッジデータ保持部３１４に保存した旨を、マウスイベント制御部３１３へ通知する。
【００７１】
＜ファイルをアップロードする処理（Ｓ４０）の詳細＞
図１０は、マウスイベント制御部３１３が、ブリッジデータ保持部３１４に保存されているフォルダ情報を取得して、ドラッグされていたファイルを、文書管理サーバＰＣ１０の対象フォルダにアップロードする処理の流れを示すフローチャートである。
【００７２】
ステップＳ１０００において、マウスイベント制御部３１３は、Ｓ９１３でブリッジデータ保持部３１４に保存されたフォルダ情報（アップロード先となるフォルダの情報）を取得する。
【００７３】
ステップＳ１００１において、マウスイベント制御部３１３は、Ｓ８０３でブリッジデータ保持部３１４に保存されたドラッグ元ファイル情報（ドラッグ対象のファイルに関する情報）を取得する。
【００７４】
ステップＳ１００２において、マウスイベント制御部３１３は、ドラッグ元ファイル情報に含まれているファイルパスを取得し、当該取得したファイルパスに基づいて特定される当該対象ファイルの読み込みを行う。
【００７５】
ステップＳ１００３において、マウスイベント制御部３１３は、当該読み込んだ対象ファイルを、Ｓ１０００で取得したフォルダ情報に基づいて特定されるフォルダにアップロードを試みる。
【００７６】
ステップＳ１００４において、文書管理サーバＰＣ１０のコンテンツ制御部３０２は、当該指定されたフォルダにアップロードする権限があるかどうか判断し、権限が無いと判断した場合は、ステップＳ１００９に進む。
【００７７】
一方、ステップＳ１００４でアップロード権限があると判断した場合は、ステップＳ１００５に進み、コンテンツ制御部３０２は、当該対象ファイルに不正なファイル名が指定されているか否か判断を行う。なお、不正なファイル名の定義については、内部リソースとして定義しても良いし、外部ファイルに定義しても良い。Ｓ１００５で正しいファイル名が指定されていない（不正なファイル名である）と判断した場合はステップＳ１００９に進む。
【００７８】
コンテンツ制御部３０２は、ステップＳ１００５で正しいファイル名が指定されている（不正なファイル名ではない）と判断した場合、ステップＳ１００６に進み、アップロード先のフォルダ内に同名のファイルが存在するか否かを判断する。コンテンツ制御部３０２は、ステップＳ１００６で同名ファイルが無いと判断した場合は、ステップＳ１００８に進む一方、ステップＳ１００６で同名ファイルがあると判断した場合は、ステップＳ１００７に進む。
【００７９】
ステップＳ１００７において、コンテンツ制御部３０２は、当該対象ファイルでアップロード先にある同名ファイルを上書きするか否か判断する。Ｓ１００７で上書きする（例えば上書きモードである）と判断した場合はステップＳ１００８に進み、上書きしないと判断した場合はステップＳ１００９に進む。
【００８０】
ステップＳ１００８において、コンテンツ制御部３０２は、当該対象ファイルをアップロード先のフォルダに登録する登録処理を行い、登録が正常終了した旨をマウスイベント制御部３１３へ返す。
【００８１】
ステップＳ１００９において、コンテンツ制御部３０２は、どのようなエラーが生じたのかを識別するためのエラーコードを含むエラー情報を作成し、マウスイベント制御部３１３へ返す。
【００８２】
ステップＳ１０１０において、マウスイベント制御部３１３は、エラー情報が返されたか否かを判断し、エラー情報が返されてきたと判断した場合は、ステップＳ１０１１に進み、当該エラー情報をブリッジデータ保持部３１４へ保存する。
【００８３】
ステップＳ１０１２において、マウスイベント制御部３１３は、ブリッジデータ保持部３１４にエラー情報を保存した旨を、ウェブブラウザ４００へ通知する。
【００８４】
＜エラーメッセージを表示するフロー（Ｓ５０）＞
図１１は、ウェブブラウザ４００が、ブリッジデータ保持部３１４からエラー情報を取得して、コンテンツ表示部３１２に設定し、コンテンツ表示部３１２がエラーメッセージを表示する処理を示すフローチャートである。
【００８５】
ウェブブラウザ４００は、マウスイベント制御部３１３からＳ１０１２におけるエラー情報保存の通知を受けると、ステップＳ１１００において、ブリッジデータ保持部３１４からエラー情報を取得し、当該取得したエラー情報をコンテンツ表示部３１２に設定する。
【００８６】
ステップＳ１１０１において、コンテンツ表示部３１２は、当該設定されたエラー情報に含まれているエラーコードを取得する。
【００８７】
ステップＳ１１０２において、コンテンツ表示部３１２は、当該取得したエラーコードに対応するエラーメッセージを取得する。なお、各エラーコードに対応するエラーメッセージは、内部リソースとして予め定義されていても良いし、外部ファイルに定義されていても良い。
【００８８】
ステップＳ１１０３において、コンテンツ表示部３１２は、エラーコードとエラーメッセージを画面に表示する。
【００８９】
（実施例２）
以下、本発明の実施例２に係るシステムの処理の流れについて、図１２〜図１４を用いて概要を説明する。
【００９０】
上述した実施例１では、図９に示したように、コンテンツ表示部３１２は、マウスイベント情報からマウス座標を取得（Ｓ９０１）した後に、当該マウスとフォルダとの重なり検知を行っていた（Ｓ９０２〜Ｓ９０６）。実施例２では、更に、メイン画面５００において、マウス位置の表示と、ドラッグ中にマウスが位置している領域がアップロード可能な領域であるか否かを識別できるようなアイコン表示とを行う。
【００９１】
実施例２は、実施例１で説明した図８のＳ８０３〜Ｓ８０５と図９のＳ９０１〜Ｓ９０２の部分について拡張を行うものであり、それ以外の部分については、実施例１と同じであるので、以下では、異なる部分について図とフローチャートを用いて説明する。
【００９２】
図１２は、コンテンツ表示部３１２が、メイン画面５００にマウス位置とアップロード可能領域であるか否かとを示すアイコンを表示した例である。
【００９３】
ドラッグ中アイコン１２００は、ファイルをメイン画面５００上でドラッグ中の場合に表示するアイコンである。アップロード可能アイコン１２０１は、ドラッグ中アイコン１２００に付加されて表示されるアイコンであって、現在のマウス座標に基づき、当該マウス座標の下に表示されている領域にアップロード可能な場合に表示されるアイコンである。なお、アップロード不可の位置にマウス座標が有る場合は、アップロード可能アイコン１２０１の代わりに、アップロード不可アイコン１２０２が付加されて表示される。
【００９４】
なお、ドラッグ中アイコン１２００、アップロード可能アイコン１２０１、アップロード不可アイコン１２０２は、内部リソースとして定義しても良いし、外部ファイルで定義しても良い。また、表示内容に関してもマウス位置が示されること、またアップロード可能／不可能が示すものであればアイコンのデザインは問わない。
【００９５】
以下、フローチャートを交えて実施例２のシステムの流れについて説明する。
【００９６】
＜ドラッグ元のアイコンを非表示にする（Ｓ１３００）＞
図１３のフローチャートＳ１３００は、図８におけるＳ８０３〜Ｓ８０５の部分を置き換えるものであり、ドラッグ元のアイコンを非表示にする。
【００９７】
ステップＳ１３０１において、マウスイベント制御部３１３は、ドラッグ元のプログラムが表示しているドラッグ中を示すアイコンを非表示にする。非表示にする方法は、透明なアイコンを重ねたり、アイコン情報を消去したり手段は問わない。
【００９８】
＜マウスアイコンを表示する（Ｓ１４００）＞
図１４のフローチャートＳ１４００は、図９のＳ９０１〜Ｓ９０２の部分を置き換えるものであり、ドラッグ中アイコン１２００の表示処理を行う処理を示しており、Ｓ９０１の後にＳ１４０１が追加されている。
【００９９】
ステップＳ１４０１においては、ドラッグ中アイコン１２００と、アップロード可能アイコン１２０１（またはアップロード不可アイコン１２０２）とを表示する処理を行う。ステップＳ１４０１の詳細を、Ｓ１４０２〜Ｓ１４０５に示す。
【０１００】
ステップＳ１４０２において、コンテンツ表示部３１２は、ドラッグ中アイコン１２００を表示する。
【０１０１】
ステップＳ１４０３において、コンテンツ表示部３１２は、マウス座標がツリー表示領域５０２、またはコンテンツ表示領域５０３のいずれかの領域内にあると判定した場合は、ステップＳ１４０４に進み、アップロード可能アイコン１２０１を表示する。
【０１０２】
一方、コンテンツ表示部３１２は、ステップＳ１４０３でマウス座標がヘッダー表示領域５０１、プロパティ表示領域５０４、フッター表示領域５０５のいずれかの領域内にあると判定した場合、ステップＳ１４０５に進み、アップロード不可アイコン１２０２を表示する。
【０１０３】
（実施例３）
以下、本発明の実施例３に係るシステムの処理の流れについて、図１５〜図１６を用いて概要を説明する。
【０１０４】
上述した実施例１においては、図１０において、マウスイベント制御部３１３は、ブリッジデータ保持部３１４に保持されているファイル情報に基づいて、１つのファイルを文書管理サーバＰＣ１０へアップロードを行っていた。
【０１０５】
実施例３では、複数のファイルやフォルダをまとめてＤ＆Ｄすることによりアップロードできるようにする。実施例３は、図８のＳ８０３と図１０について拡張を行うものであり、それ以外の部分については、実施例１と同様であるので、以下では、異なる部分についてフローチャートを用いて説明する。
【０１０６】
＜複数のドラッグ元のファイルとフォルダを保存する（Ｓ１５００）＞
図１５のフローチャートＳ１５００は、図８のＳ８０３をＳ１５０１で置き換えることにより、複数のドラッグ元のファイルとフォルダをブリッジデータ保持部３１４に保存できるようにすることを示している。ステップＳ１５０１の処理の詳細を、Ｓ１５０２〜Ｓ１５０５に示す。
【０１０７】
ステップＳ１５０２とＳ１５０６はループ端であり、マウスイベント制御部３１３は、ユーザにより選択された複数のドラッグ元ファイルとフォルダを順に処理対象として、その選択された数分、Ｓ１５０３〜Ｓ１５０５の処理を行う。
【０１０８】
ステップＳ１５０３において、マウスイベント制御部３１３は、ドラッグ元のオブジェクト種類を判定し、ドラッグ元がファイルであると判断した場合は、ステップＳ１５０４に進み、ブリッジデータ保持部３１４へドラッグ元ファイル情報を保存する。
【０１０９】
一方、マウスイベント制御部３１３は、ステップＳ１５０３でドラッグ元がフォルダと判断した場合は、ステップＳ１５０５に進み、ブリッジデータ保持部３１４へドラッグ元フォルダ情報を保存する。
【０１１０】
＜複数のドラッグ元ファイルとフォルダをアップロードする＞
図１６は、複数のドラッグ元ファイルとフォルダをアップロードできるように、図１０を拡張したフローチャートである。なお、ドラッグ元にフォルダが設定されていた場合、文書管理サーバＰＣ１０にフォルダ作成を行い、内部にあるファイルをアップロードする。また、フォルダ内にフォルダが有る場合、再帰的にアップロード処理を行う。
【０１１１】
ステップＳ１６００において、マウスイベント制御部３１３は、ブリッジデータ保持部３１４に保存されているフォルダ情報（アップロード先となるフォルダに関する情報）を取得する。
【０１１２】
ステップＳ１６０１において、マウスイベント制御部３１３は、ブリッジデータ保持部３１４から、Ｓ１５００において保存したドラッグ元ファイル情報およびドラッグ元フォルダ情報を取得する。
【０１１３】
ステップＳ１６０２はループ端であり、マウスイベント制御部３１３は、ドラッグ元ファイルとドラッグ元フォルダの数分、Ｓ１６０３〜Ｓ１６２１の処理を行う。
【０１１４】
マウスイベント制御部３１３は、ステップＳ１６０３において、ブリッジデータ保持部に保存しているドラッグ元情報の種類がドラッグ元ファイル情報と判断した場合、ステップＳ１６０４に進み、ドラッグ元ファイル情報からファイルパスを取得してファイルの読み込みを行う。
【０１１５】
ステップＳ１６０５において、マウスイベント制御部３１３は、読み込んだファイルを文書管理サーバＰＣ１０のＳ１６００で取得したフォルダへアップロードを行う。
【０１１６】
一方、マウスイベント制御部３１３は、ステップＳ１６０３において、ブリッジデータ保持部に保存しているドラッグ元情報がドラッグ元フォルダ情報と判断した場合、ステップＳ１６０６に進み、ドラッグ元フォルダ情報からフォルダ名を取得して、文書管理サーバＰＣ１０へフォルダ作成のリクエストを行う。
【０１１７】
ステップＳ１６０７において、文書管理サーバＰＣ１０のコンテンツ制御部３０２は、指定されたフォルダにアップロードする権限があるかどうか判断し、権限が無いと判断した場合は、ステップＳ１６１２に進む。
【０１１８】
一方、ステップＳ１６０７でアップロード権限があると判断した場合は、ステップＳ１６０８に進み、コンテンツ制御部３０２は、当該対象ファイルに不正なファイル名が指定されているか否かを判断する。
【０１１９】
コンテンツ制御部３０２は、ステップＳ１６０８において、正しいファイル名が指定されている（不正なファイル名ではない）と判断した場合、ステップＳ１６０９に進み、アップロード先のフォルダ内に同名のファイル名が存在するか否かを判断する。
【０１２０】
コンテンツ制御部３０２は、ステップＳ１６０９で同名ファイルが無いと判断した場合、ステップＳ１６１１に進む一方、Ｓ１６０９で同名ファイルがあると判断した場合は、ステップＳ１６１０に進む。
【０１２１】
ステップＳ１６１０において、コンテンツ制御部３０２は、当該対象ファイルでアップロード先にある同名ファイルを上書きするか否か判断する。Ｓ１６１０で上書きする（例えば上書きモードである）と判断した場合はステップＳ１６１１に進み、上書きしないと判断した場合はステップＳ１６１２に進む。
【０１２２】
ステップＳ１６１１において、コンテンツ制御部３０２は、当該対象ファイルをアップロード先のフォルダに登録する登録処理を行い、登録が正常終了した旨をマウスイベント制御部３１３へ返す。
【０１２３】
ステップＳ１６１２において、コンテンツ制御部３０２は、どのようなエラーが生じたのかを識別するためのエラーコードを含むエラー情報を作成し、マウスイベント制御部３１３へ返す。
【０１２４】
また、コンテンツ制御部３０２は、ステップＳ１６１３において、指定されたフォルダについてフォルダ作成する権限があるか否か判断し、権限がないと判断した場合は、ステップＳ１６１６に進み、エラーコードを含むエラー情報を作成してマウスイベント制御部３１３へ返す。
【０１２５】
一方、ステップＳ１６１３でフォルダ作成権限ありと判断した場合、ステップＳ１６１４に進み、コンテンツ制御部３０２は、不正なフォルダ名が指定されていないか判断を行う。
【０１２６】
コンテンツ制御部３０２は、ステップＳ１６１４において、不正なフォルダ名が指定されていないと判断した場合、ステップＳ１６１５に進んでフォルダ作成処理を行い、正常終了した旨をマウスイベント制御部３１３へ返す。
【０１２７】
一方、コンテンツ制御部３０２は、ステップＳ１６１４において、不正なフォルダ名が指定されていると判断した場合、ステップＳ１６１６に進み、エラーコードを含むエラー情報を作成してマウスイベント制御部３１３へ返す。
【０１２８】
ステップＳ１６１７において、マウスイベント制御部３１３は、エラー情報が返されたか否かを判断し、エラー情報が返されてきたと判断した場合は、ステップＳ１６１８に進み、当該エラー情報をブリッジデータ保持部３１４へ保存する。そして、ステップＳ１６１９において、マウスイベント制御部３１３は、エラー情報を保存した旨を、ウェブブラウザ４００へ通知する。
【０１２９】
マウスイベント制御部３１３は、ステップＳ１６１７においてエラー情報が返されなかったと判断した場合、ステップＳ１６２０に進み、ブリッジデータ保持部に保存しているドラッグ元情報の判断を行う。
【０１３０】
マウスイベント制御部３１３は、ステップＳ１６２０において、ブリッジデータ保持部に保存しているドラッグ元情報がフォルダと判断した場合、ステップＳ１６２１に進み、ドラッグ元情報からフォルダパスを取得してフォルダ内のファイルとフォルダ一覧を取得する。マウスイベント制御部３１３は、ステップＳ１６０２に処理を遷移してフォルダ内のファイルと一覧について再帰的に処理を行う。
【０１３１】
一方、マウスイベント制御部３１３は、ステップＳ１６２０において、ブリッジデータ保持部に保存しているドラッグ元情報がファイルと判断した場合、ステップＳ１６２２へ処理を遷移する。
【０１３２】
ステップＳ１６２２はループ端であり、全てのドラッグ元ファイルとドラッグ元フォルダの処理が終了したと判断した場合にループを終了する。
【０１３３】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。その処理は、上述した実施例の機能を実現させるソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005183770.tif 000002
【図２】
0005183770.tif 000003
【図３】
0005183770.tif 000004
【図４】
0005183770.tif 000005
【図５Ａ】
0005183770.tif 000006
【図５Ｂ】
0005183770.tif 000007
【図６】
0005183770.tif 000008
【図７】
0005183770.tif 000009
【図８】
0005183770.tif 000010
【図９】
0005183770.tif 000011
【図１０】
0005183770.tif 000012
【図１１】
0005183770.tif 000013
【図１２】
0005183770.tif 000014
【図１３】
0005183770.tif 000015
【図１４】
0005183770.tif 000016
【図１５】
0005183770.tif 000017
【図１６】
0005183770.tif 000018