(57)【特許請求の範囲】
【請求項１】
ファイルまたはフォルダであるコンテンツのコンテンツ識別子、および前記フォルダの階層構造を示すキーワードのキーワード識別子を含むインデックスであって、前記インデックスを用いて前記コンテンツを検索可能な文書管理サーバーと通信する文書管理クライアント装置であって、
前記キーワードをキーワード識別子と関連付けて登録し、
前記ファイルまたは前記フォルダをコンテンツ識別子と関連付けて登録し、
前記キーワード識別子を前記コンテンツ識別子と関連付けて登録する登録処理を前記文書管理サーバーに指示することを特徴とする文書管理クライアント装置。
【請求項２】
前記クライアント管理装置は、
前記文書管理サーバーにおいて管理されたライブラリの識別子によって特定されるライブラリ、および前記キーワード識別子によって特定される前記キーワード、および前記コンテンツ識別子によって特定される前記コンテンツおよび前記インデックスに基づいて、ユーザー操作によって指定されたフォルダに含まれる前記コンテンツおよび前記コンテンツの階層構造を特定し、前記文書管理サーバーが管理する前記コンテンツの階層構造を表示することを特徴とする請求項１に記載の文書管理クライアント装置。
【請求項３】
前記コンテンツの階層構造を表示したことで表示された第１のフォルダーがユーザー操作によって選択され、前記第１のフォルダーの削除処理が指示された場合、
前記文書管理サーバーから前記コンテンツ識別子、および前記インデックス、および前記キーワードを取得し、前記文書管理サーバーから取得した情報に基づいて、前記第１のフォルダーの下位に存在する第２のフォルダー、および前記第１のフォルダーの下位に存在するファイルを削除することを特徴とする請求項２に記載の文書管理クライアント装置。
【請求項４】
前記削除処理が指示された場合、
前記第２のフォルダーを削除した後に前記第１のフォルダーの下位に存在するファイルを削除し、前記ファイルを削除した後に前記第１のフォルダーの前記コンテンツ識別子、および前記インデックス、および前記キーワードを削除することを特徴とする請求項３に記載の文書管理クライアント装置。
【請求項５】
ファイルまたはフォルダであるコンテンツのコンテンツ識別子、および前記フォルダの階層構造を示すキーワードのキーワード識別子を含むインデックスであって、前記インデックスを用いて前記コンテンツを検索可能な文書管理サーバーと通信する文書管理クライアント装置として機能させるためのプログラムであって、
前記キーワードをキーワード識別子と関連付けて登録し、
前記ファイルまたは前記フォルダをコンテンツ識別子と関連付けて登録し、
前記キーワード識別子を前記コンテンツ識別子と関連付けて登録する登録処理を前記文書管理サーバーに指示することを特徴とする文書管理クライアント装置として機能させるためのプログラム。
【請求項６】
ファイルまたはフォルダであるコンテンツのコンテンツ識別子、および前記フォルダの階層構造を示すキーワードのキーワード識別子を含むインデックスであって、前記インデックスを用いて前記コンテンツを検索可能な文書管理サーバーと通信する文書管理クライアント装置の制御方法であって、
前記キーワードをキーワード識別子と関連付けて登録し、
前記ファイルまたは前記フォルダをコンテンツ識別子と関連付けて登録し、
前記キーワード識別子を前記コンテンツ識別子と関連付けて登録する登録処理を前記文書管理サーバーに指示することを特徴とする文書管理クライアント装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フォルダ階層構造で文書を管理する機能を有さず、文書にインデックスを付与して管理を行う文書管理サーバーに対して、フォルダ階層構造を仮想的に構築してユーザに提供する文書管理クライアントに関する。
【背景技術】
【０００２】
従来からオフィスでは、業務上発生するさまざまな紙文書をデジタル化した文書画像ファイルや、オフィスアプリケーションで作成した文書ファイルを、文書としてコンピュータ上で格納／管理する文書管理システムが利用されている。
【０００３】
文書管理システムには、大きく分けて、以下の２つの管理方法が存在している。
【０００４】
一つは、システム内に意味を持たせたフォルダ階層を構築し、そのフォルダ階層の意味にあわせて文書を格納する方法である。これはフォルダ階層により登録する文書の分類を細かく制御することができ、フォルダ階層を見ることで直感的にデータの分類を行うことができるため、文書管理システムはもとより、多くのコンピュータ上のファイル管理方法で採用されている。
【０００５】
もう一つは、文書に対してインデックスを正確に付与して文書を格納する方法である。この方法では、格納場所としてフォルダの階層構造を使用せずに文書を登録しておき、所望の文書が持つインデックスをユーザが指定してインデックス検索を行うことで、文書を絞り込んで表示する。ただし、この方法では使用するインデックスを明確に規定して初期セットアップを行って、管理対象の各文書にユーザがインデックスを間違いなく付与する必要がある。また、文書管理システムの使用範囲や用途を変更する場合には、インデックス設定を再考するといったメンテナンスも必要となる。
【０００６】
また、複数の文書管理サーバーにアクセス可能な汎用的なクライアントアプリケーションを考えた場合、文書管理サーバーの種類に応じて操作方法を変更すると、操作性の統一性の観点でもユーザの作業効率が良くないといえる。フォルダ階層構造での操作に慣れているユーザにとっては、フォルダ階層構造で管理する機能を有さない文書管理サーバーに対しても、フォルダ階層管理を可能にすることが望まれる。
【０００７】
特許文献１では、管理対象のファイルの実データ内にインデックスを含むメタ情報を付加すると共に、仮想フォルダと仮想ファイルとに関するキーワード体系のデータベースを保存することで、仮想フォルダを用いてファイルを管理する技術が開示されている。特許文献１の方法によれば、ファイルを仮想的なフォルダ階層で管理することができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−０６９９１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１の方法では、仮想フォルダでのファイル管理を実現するために、実ファイルとデータベースの２箇所に同様の情報（ファイルパスの情報など）を管理しなければならない。また、管理対象の実ファイルのメタデータに管理情報を付与するので、文書管理システムとしては、ユーザが作成した文書のオリジナル性を保証することができなくなる。また、文書管理システムが提供する機能を拡張した管理データが増加すると、付随して管理しなければならない情報も増大する。また、同様の情報を複数個所で管理するため、情報の変更時には複数個所の情報を更新する必要がありシステム負荷も高くなるといった課題もある。
【００１０】
本発明は、インデックスを用いた文書管理サーバーの機構を最大限利用して、仮想フォルダを用いた文書管理システムとして使用することができる文書管理システム（クライアントアプリケーション）を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の文書管理クライアント装置は、ファイルまたはフォルダであるコンテンツのコンテンツ識別子、および前記フォルダの階層構造を示すキーワードのキーワード識別子を含むインデックスであって、前記インデックスを用いて前記コンテンツを検索可能な文書管理サーバーと通信する文書管理クライアント装置であって、
前記キーワードをキーワード識別子と関連付けて登録し、前記フォルダをコンテンツ識別子と関連付けて登録し、前記キーワード識別子を前記コンテンツ識別子と関連付けて登録する登録処理を前記文書管理サーバーに指示することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、文書管理サーバーが有するキーワード辞書とインデックスの機能を利用することで、システム自体の処理負荷が高くならない仮想フォルダ階層構造を用いた文書管理システムとして使用することができる。
【図面の簡単な説明】
【００１３】
【図１】文書管理システムの構成例
【図２】ハードウェア構成例
【図３】文書管理サーバーの機能構成図
【図４】文書管理クライアントの機能構成図
【図５】文書管理クライアントＰＣが表示する画面の構成例
【図６】カテゴリ作成処理のフローチャート
【図７】フォルダ登録処理のフローチャート
【図８】文書登録処理のフローチャート
【図９】フォルダ移動／フォルダ名称変更処理のフローチャート
【図１０】フォルダ削除処理のフローチャート
【図１１】ライブラリ情報の構成例を示すテーブル
【図１２】キーワード辞書の構成例を示すテーブル
【図１３】コンテンツ情報の構成例を示すテーブル
【図１４】インデックス情報の構成例を示すテーブル
【発明を実施するための形態】
【００１４】
図１は、本実施の形態に係る文書管理システムの構成例を示すものである。
【００１５】
文書管理サーバー１０１は、後述するクライアント１０２からのリクエストを受けて文書ファイルを管理（格納／提供）する。
【００１６】
クライアントＰＣ（文書管理クライアント装置）１０２は、文書管理のクライアントアプリケーションを実行するＰＣであり、ユーザが後述の図５で図示する文書管理画面５００を操作することで、文書管理サーバー１０１の文書をハンドリングする。このクライアントＰＣ１０２は、後述のＬＡＮ１０３内には複数存在接続されるものであり、それぞれが文書管理サーバー１０１に接続する。
【００１７】
ＬＡＮ１０３は、各機器を接続するＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋである。なお、ＬＡＮ１０３は、前述の各機器が通信可能な状態になっていればその構成形態を限定するものではない。
【００１８】
図２は、本実施の形態にかかる文書管理サーバー１０１、クライアントＰＣ（文書管理クライアント装置）１０２のハードウェア構成例を示すものである。図２に示すハードウェア構成例は、一般的な情報処理装置のものである。本実施形態の文書管理サーバー１０１、クライアントＰＣ１０２は、このハードウェア構成上でそれぞれのサーバープログラム／クライアントアプリケーションプログラムを実行することにより、各サーバー／クライアントとして機能する。
【００１９】
図２において、ＣＰＵ２０１は、ＲＯＭ２０３のプログラム用ＲＯＭに記憶された或いはハードディスク（ＨＤ）等の外部メモリ２１０からＲＡＭ２０１にロードされたＯＳやアプリケーション等のプログラムを実行し、各ブロックを制御する。ここでＯＳとは、コンピュータ上で稼働するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをＯＳと呼ぶ。後述する各シーケンスでの処理は、このプログラムの実行により実現できる。
【００２０】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。キーボードコントローラ２０４は、ポインティングデバイスであるマウス２０８や不図示のキーボードからの入力を制御する。ディスプレイコントローラ２０５は、ディスプレイ２０９の表示を制御する。ディスクコントローラ２０６は、各種データやプログラムを記憶するハードディスク（ＨＤ）等の外部メモリ２１０へのデータアクセスを制御する。ネットワークコントローラであるＮＩＣ２０７は、ＬＡＮ１０３を介して接続された機器との通信制御処理を実行する。なお、後述のすべての説明において、特に断りのない限り文書管理サーバー１０１やクライアントＰＣ１０２における実行のハード上の主体はＣＰＵ（コンピュータ）２０１である。コンピュータは、外部メモリ２１０にインストールされたアプリケーションプログラムを実行することにより、後述する各処理を実行する処理部として機能する。
【００２１】
図３は、文書管理サーバー１０１の機能構成図を示すものである。
【００２２】
図３のライブラリ情報３０１は、文書管理サーバー１０１における文書格納先となる単位を定義し、その単位を表す情報の管理を行うためのテーブル（ライブラリ情報管理部）である。なお、本実施例においては文書格納先の単位を「ライブラリ」と表す。
【００２３】
図１１の表Ａを用いて、ライブラリ情報３０１の構成、および保存される情報例を示す。表Ａは、ライブラリＩＤ（Ａ１）、ライブラリ名（Ａ２）の２つの要素で構成される。ライブラリＩＤ（Ａ１）は、文書管理サーバー１０１の中のライブラリを一意に識別するための識別子である。ライブラリＩＤを使用して、後述の図１２〜１４（表Ｂ〜表Ｄ）の情報を紐付けるための情報である。ライブラリ名（Ａ２）は、ライブラリＩＤ（Ａ１）を視覚的にわかりやすくするための名称である。この文字列が後述の文書管理画面５００に表示される。
【００２４】
図３のキーワード辞書３０２は、ライブラリ毎に使用するキーワード文字列の管理を行うテーブル（キーワード情報管理部）である。登録されるキーワードはライブラリ内では一意な値（文字列）を示すものであり、各キーワードとそれぞれの識別子とを対応づけたものを本明細書ではキーワード辞書とする。
【００２５】
図１２の表Ｂを用いて、キーワード辞書３０２の構成、および保存される情報例を示す。ライブラリＩＤ（Ｂ１）は、キーワード情報が所属するライブラリを識別するための情報であり、表ＡのライブラリＩＤ（Ａ１）の中に定義されているいずれかの値を格納する。キーワードＩＤ（Ｂ２）は、登録するキーワード情報を識別するための識別子である。このキーワードＩＤはシステムを通じての一意な値をとる構造とする。キーワード（Ｂ３）は、登録するキーワード文字列を表す。フォルダ及び文書をフォルダ階層構造（フォルダツリー）で表示するための階層構造に関する情報が、キーワード（Ｂ３）として登録される。
【００２６】
図３のコンテンツ情報３０３は、文書管理サーバー１０１の主たる機能であるコンテンツの格納場所であり、そのコンテンツの持つ基本情報を管理するテーブル（コンテンツ情報管理部）である。
【００２７】
図１３の表Ｃを用いて、コンテンツ情報３０３の構成、および保存される情報例を示す。ライブラリＩＤ（Ｃ１）は、コンテンツの格納先を表すライブラリを識別するための情報であり、表ＡのライブラリＩＤ（Ａ１）の中に定義されているいずれかの値を格納する。コンテンツＩＤ（Ｃ２）は、文書管理サーバー１０１に登録されるコンテンツ情報を一意に識別するための識別子（コンテンツ識別子）である。このコンテンツＩＤ（Ｃ２）を用いてコンテンツ情報を特定し、後述の表Ｄの情報を取得するためのキーとなる。コンテンツ名（Ｃ３）は、格納される文書を視覚的にわかりやすくするための名称であり、後述の文書管理画面５００にそれぞれ表示される。ファイル（Ｃ４）は、コンテンツが表している格納したファイル実体を表す。なお、本実施例では、本テーブル内にファイルのバイナリをそのまま保存する形式を取るが、パスのみをテーブルで管理し、実体を別途用意するファイルサーバーなどで管理するなどの他の管理方法を制限するものではない。
【００２８】
図３のインデックス情報３０４は、コンテンツ情報３０３に格納されるコンテンツ自身が保持するインデックス情報を格納するテーブル（インデックス情報管理部）である。
【００２９】
図１４の表Ｄを用いて、インデックス情報３０４の構成、および保存される情報例を表す。ライブラリＩＤ（Ｄ１）、コンテンツＩＤ（Ｄ２）は、このペアで表Ｃのコンテンツ情報を特定するための識別子である。この２つの情報に合致する情報がそのコンテンツの持つインデックス情報ということになる。インデックス名（Ｄ３）は、コンテンツが所持するインデックスの名称を表す。各コンテンツはこのインデックス名称の異なる情報を複数持つことで、インデックス情報を所持するという構造となる。インデックス値（Ｄ４）は、コンテンツの所持するインデックスの値を表す。なお、本実施例ではインデックス値を文字列で保持するものとするが、この型を文字列に限定するものではなくバイナリや数値を必要に応じて格納することも可能である。また、上記本実施例を説明する上で必要であるインデックスを記載しているが、ユーザが必要なインデックスを追加することを制限するものではない。
【００３０】
図１１〜図１４（表Ａ〜表Ｄ）を使用したデータ例を以下に記述する。
【００３１】
図１１のライブラリ情報を参照すると、文書管理サーバー１０１には、Ｌｉｂｒａｒｙ１とＬｉｂｒａｒｙ２という名称が付けられた２つのライブラリが存在する。
【００３２】
図１２のキーワード辞書を参照すると、Ｌｉｂｒａｒｙ１におけるフォルダ階層を表す複数のキーワードが登録されている。また、Ｌｉｂｒａｒｙ２にはルートフォルダのフォルダ階層を表すキーワードが登録されている。
【００３３】
図１３のコンテンツ情報を参照すると、Ｆｏｌｄｅｒ０１〜０５の５つのフォルダと、Ｄｏｃ−０００１．ｐｄｆ、Ｄｏｃ−０００２．ｄｏｃの２つの文書とが、コンテンツとして登録されている。
【００３４】
図１４のインデックス情報を参照すると、各コンテンツ情報は、以下のインデックス情報（インデックス名とインデックス情報）が関連付けられている。
【００３５】
・コンテンツ型：コンテンツがフォルダか文書かを示すフラグ（Ｆ：フォルダ、Ｄ：文書）
・保管階層ＩＤ：該当のコンテンツが格納されている階層を示すキーワードのキーワードＩＤ
・フォルダ色：コンテンツ型がフォルダのもののみに付く色情報（例えば、Ｙｅｌｌｏｗ、Ｂｌｕｅ、Ｇｒｅｅｎ、Ｒｅｄ）
上述した図１１〜図１４（表Ａ〜表Ｄ）の情報により、図５の文書管理画面５００にフォルダ階層、およびコンテンツが表示される。表Ａ〜表Ｄのテーブルでは、本実施例を表すために必須な項目のみを持つ構成としているが、その他の項目などをテーブルに持つことを制限するものではない。
【００３６】
図３のコンテンツ情報処理制御部３０５は、コンテンツ情報３０３とインデックス情報３０４のデータを取り扱うための処理制御部である。クライアントから指定されたコンテンツ情報３０３とそのコンテンツに関連するインデックス情報３０４のデータをまとめて提供する。また、クライアントから指定されたコンテンツ情報３０３、インデックス情報３０４をテーブルに格納するための処理を行う。
【００３７】
キーワード辞書処理制御部３０６は、キーワード辞書３０２のデータを取り扱うための処理制御部である。クライアントからの指定に従って、キーワード辞書情報の提供、およびキーワード辞書３０２のデータの更新を行う。
【００３８】
ライブラリ情報処理制御部３０７は、ライブラリ情報３０１の提供、およびライブラリ情報３０１のデータ更新を行う。
【００３９】
リクエスト処理制御部３０８は、クライアントＰＣ１０２とコンテンツ情報処理制御部３０５やキーワード辞書処理制御部３０６、ライブラリ情報処理制御部３０７との通信を制御するための処理制御部である。
【００４０】
クライアントＰＣ１０２から送信された文書管理サーバー１０１へのリクエストを受信し、コンテンツ情報処理制御部３０５やキーワード辞書処理制御部３０６、ライブラリ情報処理制御部３０７へ処理を転送し、各制御部での処理結果をクライアントに送信する。
【００４１】
図４は、文書管理サーバー１０１にアクセスするクライアントＰＣ（文書管理クライアントアプリケーション）１０２の機能構成図である。
【００４２】
文書管理処理制御部４０１は、文書管理サーバー１０１から提供されたデータについて、文書に関する処理制御を行うための処理制御部である。主には、コンテンツリストの取得、フォルダの生成／更新／削除や文書の生成／更新／削除である。この文書管理処理制御部４０１は、後述のフローチャートでの実行を行う主たる場所となる。
【００４３】
画面表示処理制御部４０２は、クライアントＰＣ１０２を使用したユーザ操作に関する処理を行う処理制御部である。画面表示処理制御部４０２は、文書管理処理制御部が取得したデータをディスプレイコントローラ２０５経由でディスプレイ２０９に表示する。また、画面表示処理制御部４０２は、マウス２０８などの入力デバイスを使用したユーザ操作をキーボードコントローラ２０４経由で文書処理制御部４０１に通知する。この画面表示処理制御部４０２が表示する画面については、図５を使って後述する。
【００４４】
リクエスト処理制御部４０３は、ユーザの操作に合わせて文書管理サーバー１０１とのデータ通信を行うための制御を行う処理制御部である。
【００４５】
図５は、クライアントＰＣ１０２で動作する文書管理クライアントアプリケーションにより表示制御される文書管理画面５００である。メニュー５０１は、フォルダまたは文書に対する操作の実行コマンドを一覧表示し、実行することを可能とするものである。アドレスバー５０２は、現在参照しているフォルダのパスを表示する。所望のフォルダのパスをアドレスバー５０２に入力することで、指定されたパスのフォルダに含まれる文書ファイルが後述のコンテンツリストビュー５０５に一覧表示される。
【００４６】
ツールバー５０３は、メニュー５０１で実行可能な操作に対応するショートカットボタンが表示される。ナビゲーションペイン５０４は、登録しているライブラリ一覧と現在参照中のフォルダの位置を表示する。ライブラリが接続先の最上位の階層を表しており、そのライブラリ階層の下位階層にフォルダが更に階層構造で存在する。
【００４７】
図５のナビゲーションペイン５０４の表示は、図１１〜１４（表Ａ〜表Ｄ）に記した情報に基づいて階層構造を具現化したものである。コンテンツリストビュー５０５は、ナビゲーションペイン５０４で選択したライブラリもしくはフォルダの直下に含まれるフォルダおよび文書を一覧表示する。また、コンテンツリストビュー５０５は、ナビゲーションペイン５０４で「Ｆｏｌｄｅｒ０３」を選択している状態（選択状態５０６）での直下のコンテンツを表示している。
【００４８】
文書管理処理制御部４０１から提供を受けたデータ（図１１〜１４）は、画面表示処理制御部４０２で保持されるものとし、ナビゲーションペイン５０４およびコンテンツリストビュー５０５ではそれらのデータを基に表示を行う。例えば、図１１のライブラリ情報に基づき、ライブラリ名とライブラリＩＤを特定できる。図１２のキーワード辞書により、キーワード識別子に応じた各ライブラリの階層構造の情報を特定できる。また、図１３のコンテンツ情報により、各フォルダや文書の名称および実体データを特定できる。また、図１４のインデックス情報に基づき、各ライブラリに保存されている各コンテンツがフォルダであるか文書であるか識別でき、さらに、各コンテンツが保管される階層を示すキーワード辞書の識別子を特定でき、さらに各コンテンツの色も特定できる。これらの特定した情報に基づいてフォルダおよび文書を階層構造で表示することができる。
【００４９】
図６は、ライブラリを新規に作成する際の処理フローを表したものである。クライアントＰＣ１０２の文書管理画面５００のメニュー５０１から「ライブラリ新規作成」を指示し、その後表示されるライブラリ名入力ダイアログ（文字列を入力するだけのものであるため不図示）で作成するライブラリ名称を入力し確定する。この確定により、本処理フローが起動され、クライアントＰＣ１０２のＣＰＵ２０１を使用して、文書管理処理制御部４０１が処理を行う。
【００５０】
ステップＳ６０１では、前述のライブラリ名入力ダイアログで入力されたライブラリ名称を取得する。取得が終わったら、ステップＳ６０２に進む。
【００５１】
ステップＳ６０２では、取得したライブラリ名称でライブラリ情報登録依頼を文書管理サーバー１０１に送信する。受け取った文書管理サーバー１０１のリクエスト処理制御部３０８は、ライブラリ処理制御部３０７の処理を起動する。
【００５２】
ライブラリ処理制御部３０７は、既存のライブラリＩＤ（Ａ１）と重複しないライブラリＩＤ（Ａ１）を生成し、受け取ったライブラリ名称と共にライブラリ定義３０１にデータを登録する。データ登録が終了したら、ステップＳ６０３に進む。
【００５３】
ステップＳ６０３では、登録されたライブラリ情報のライブラリＩＤ（Ａ１）を取得し、そのライブラリＩＤ（Ａ１）とキーワード情報「／」を組み合わせたキーワード辞書情報を作成し、文書管理サーバー１０１に送信する。受け取った文書管理サーバー１０１のリクエスト処理制御部３０８は、キーワード辞書処理制御部３０６の処理を起動する。キーワード辞書処理制御部３０６は、既存のキーワードＩＤ（Ｂ２）と重複しないキーワードＩＤ（Ｂ２）を生成し、受け取ったライブラリＩＤ、キーワードと共にキーワード辞書３０２に登録する。このキーワード「／」はルートフォルダ（つまりライブラリ自身）を表す。ライブラリ定義、およびキーワード辞書の登録が終了したら、本処理フローを終了する。
【００５４】
図７は、ライブラリ内の任意の場所にフォルダを作成する際の処理フローを表したものである。クライアントＰＣ１０２の文書管理画面５００のメニュー５０１から「フォルダ新規作成」を指示することで本処理フローが起動され、クライアントＰＣ１０２のＣＰＵ２０１を使用して、文書管理処理制御部４０１が処理を行う。
【００５５】
ステップＳ７０１では、以下の処理を行う。まず、ナビゲーションペイン５０４で選択されているフォルダを表すコンテンツ情報とインデックス情報を画面表示処理制御部４０２から取得する。次に、画面表示処理制御部４０２から取得したインデックス名「保管階層ＩＤ」のインデックス値（Ｄ４）を取得し、キーワード辞書３０２のキーワード（Ｂ３）を取得する。そして、画面表示処理制御部４０２から取得したコンテンツ情報のコンテンツ名（Ｃ３）と「／」を文書管理サーバー１０１から取得したキーワード（Ｂ３）の末尾に結合することにより、生成するフォルダの上位フォルダのパス情報を生成する。図５の選択状態５０６で「Ｆｏｌｄｅｒ０３」が選択されている状態であれば、生成されるパス情報は、「／Ｆｉｌｄｅｒ０１／Ｆｏｌｄｅｒ０３／」となる。本処理フローにおいて記載するデータ例は、以降も「Ｆｏｌｄｅｒ０３」が選択された状態においてのものとして記載する。パス情報の生成が終了したら、次のステップＳ７０２に進む。
【００５６】
ステップＳ７０２では、ステップＳ７０１で生成したパス情報の末尾に所定のフォルダ名称「新しいフォルダ」と「／」を結合することで新規に作成するフォルダのパス情報「／Ｆｏｌｄｅｒ０１／Ｆｏｌｄｅｒ０３／新しいフォルダ／」を生成する。なお、本実施例では、新規に作成するフォルダを一旦固定の名称で作成し、その後ユーザが変更するという処理フローで実現をしているが、新規作成時にユーザが任意の名称を指定できるようにしても良い。パス情報の生成が終了したら、次のステップＳ７０３に進む。
【００５７】
ステップＳ７０３では、以下のデータでのキーワード辞書登録依頼を文書管理サーバー１０１に送信する。
【００５８】
ライブラリＩＤ（Ｂ１）：アクセスしているライブラリＩＤ
キーワードＩＤ（Ｂ２）：（空白）
キーワード（Ｂ３）：ステップＳ７０２で生成したパス情報
受け取った文書管理サーバー１０１のリクエスト処理制御部３０８は、キーワード辞書処理制御部３０６の処理を起動する。キーワード辞書処理制御部３０６は、既存のキーワードＩＤ（Ｂ２）と重複しないキーワードＩＤ（Ｂ２）を生成し、受け取ったライブラリＩＤ、キーワードと共にキーワード辞書３０２に登録する。キーワードの登録が終了したら、次のステップＳ７０４に進む。
【００５９】
ステップＳ７０４では、次の情報を登録する。これらの登録は、前述と同様に、文書管理サーバー１０１のリクエスト処理制御部３０８に対して行われ、リクエスト処理制御部３０８が適切な処理制御部の処理を起動して情報を登録する。
【００６０】
まず、以下の情報をコンテンツ情報３０３に登録する。
【００６１】
ライブラリＩＤ（Ｃ１）：アクセスしているライブラリＩＤ
コンテンツＩＤ（Ｃ２）：（空白）
コンテンツ名称（Ｃ３）：「新しいフォルダ」
ファイル（Ｃ４）：Ｆｏｌｄｅｒ．ｆｄｒ（ゼロバイトのファイル）
なお、文書管理サーバー１０１のコンテンツ情報処理制御部３０５では、既存のコンテンツＩＤ（Ｃ２）と重複しないコンテンツＩＤ（Ｃ２）を生成し、他の情報とあわせてコンテンツ情報３０３に登録する。
【００６２】
次に、ステップＳ７０１で生成したパス情報をキーワード（Ｂ３）に持つキーワードＩＤ（Ｂ２）を取得し、以下３つのインデックスデータをインデックス情報３０４に登録する。
【００６３】
インデックスデータ１：
ライブラリＩＤ（Ｄ１）：アクセスしているライブラリＩＤ
コンテンツＩＤ（Ｄ２）：コンテンツ情報に登録した際に発行された新コンテンツＩＤ
インデックス名（Ｄ３）：コンテンツ型
インデックス値（Ｄ４）：Ｆ
インデックスデータ２：
ライブラリＩＤ（Ｄ１）：アクセスしているライブラリＩＤ
コンテンツＩＤ（Ｄ２）：コンテンツ情報に登録した際に発行された新コンテンツＩＤ
インデックス名（Ｄ３）：保管階層ＩＤ
インデックス値（Ｄ４）：ステップＳ７０１で生成したパス情報に対応するキーワード（Ｂ３）と関連付けられているキーワードＩＤ（Ｂ２）
インデックスデータ３：
ライブラリＩＤ（Ｄ１）：アクセスしているライブラリＩＤ
コンテンツＩＤ（Ｄ２）：コンテンツ情報に登録した際に発行された新コンテンツＩＤ
インデックス名（Ｄ３）：フォルダ色
インデックス値（Ｄ４）：Ｙｅｌｌｏｗ
これにより、「Ｆｏｌｄｅｒ０３」の直下に、「新しいフォルダ」という名称で「Ｙｅｌｌｏｗ」のフォルダ情報が登録されたこととなる。この登録が終了したら、本処理フローを終了する。
【００６４】
図８は、ライブラリ内の任意の場所に文書を登録する際の処理フローを表したものである。クライアントＰＣ１０２の文書管理画面５００のメニュー５０１から「文書登録」を指示すると、ファイル選択ダイアログ（一般的なダイアログであるため不図示）が表示され、ユーザが登録するファイルを選択することで本処理フローが起動される。本処理フローは、クライアントＰＣ１０２のＣＰＵ２０１を使用して、文書管理処理制御部４０１が処理を行う。
【００６５】
ステップＳ８０１の処理では、以下の処理を行う。まず、ナビゲーションペイン５０４で選択されているフォルダが表すコンテンツ情報を画面表示処理制御部４０２から取得する。次に、画面表示処理制御部４０２から取得したインデックス名「保管階層ＩＤ」のインデックス値（Ｄ４）を取得し、キーワード辞書３０２のキーワード（Ｂ３）を取得する。そして、画面表示処理制御部４０２から取得したコンテンツ情報のコンテンツ名（Ｃ３）と「／」をサーバーから取得したキーワード（Ｂ３）の末尾に結合することにより、生成するフォルダの上位フォルダのパス情報を生成する。
【００６６】
例えば、図５の選択状態５０６で「Ｆｏｌｄｅｒ０３」に文書を登録するのであれば、生成されるパス情報は、「／Ｆｉｌｄｅｒ０１／Ｆｏｌｄｅｒ０３／」となる。本処理フローにおいて記載するデータ例は、以降も「Ｆｏｌｄｅｒ０３」に文書を登録するものとして記載する。パス情報の生成が終了したら、次のステップＳ８０２に進む。
【００６７】
ステップＳ８０２では、次の情報を登録する。これらの登録は、前述と同様に、文書管理サーバー１０１のリクエスト処理制御部３０８に対して行われ、リクエスト処理制御部３０８が適切な処理制御部の処理を起動して情報を登録する。
【００６８】
まず、以下の情報をコンテンツ情報３０３に登録する。
【００６９】
ライブラリＩＤ（Ｃ１）：アクセスしているライブラリＩＤ
コンテンツＩＤ（Ｃ２）：（空白）
コンテンツ名称（Ｃ３）：ファイル選択ダイアログでユーザが選択したファイル名
ファイル（Ｃ４）：ファイル選択ダイアログでユーザが選択したファイル実体
なお、文書管理サーバー１０１のコンテンツ情報処理制御部３０５では、既存のコンテンツＩＤ（Ｃ２）と重複しないコンテンツＩＤ（Ｃ２）を生成し、他の情報とあわせてコンテンツ情報３０３に登録する。
【００７０】
次に、ステップＳ７０１で生成したパス情報をキーワード（Ｂ３）に持つキーワードＩＤ（Ｂ２）を取得し、以下２つのインデックスデータをインデックス情報３０４に登録する。
【００７１】
インデックスデータ１：
ライブラリＩＤ（Ｄ１）：アクセスしているライブラリＩＤ
コンテンツＩＤ（Ｄ２）：コンテンツ情報に登録した際に発行された新コンテンツＩＤ
インデックス名（Ｄ３）：コンテンツ型
インデックス値（Ｄ４）：Ｄ
インデックスデータ２：
ライブラリＩＤ（Ｄ１）：アクセスしているライブラリＩＤ
コンテンツＩＤ（Ｄ２）：コンテンツ情報に登録した際に発行された新コンテンツＩＤ
インデックス名（Ｄ３）：保管階層ＩＤ
インデックス値（Ｄ４）：ステップＳ８０１で生成したパス情報をキーワード（Ｂ３）に持つキーワードＩＤ（Ｂ２）
これにより、「Ｆｏｌｄｅｒ０３」の直下に、ユーザの選択したファイルが文書として登録されたこととなる。この登録が終了したら、本処理フローを終了する。
【００７２】
図９は、フォルダ移動、もしくはフォルダ名称変更の処理フローを表したものである。フォルダ移動については、クライアントＰＣ１０２の文書管理画面５００のナビゲーションペイン５０４かコンテンツリストビュー５０５に表示されているフォルダアイコンを任意のフォルダに対してドラッグ＆ドロップすることにより本処理フローを起動する。また、フォルダ名称変更については、名称を変更するフォルダを文書管理画面５００上で選択し、メニュー５０１から「フォルダ名称変更」を指示し、表示されたフォルダ名称入力ダイアログ（不図示）で名称の入力することで本処理フローを起動する。本処理フローは、クライアントＰＣ１０２のＣＰＵ２０１を使用して、文書管理処理制御部４０１が処理を行う。
【００７３】
ステップＳ９０１では、アクセスしているライブラリに紐づくキーワード全てをキーワード辞書３０２から取得する。本ステップは、文書管理サーバー１０１のリクエスト処理制御部３０８に対して行われ、リクエスト処理制御部３０８から起動されたキーワード辞書処理制御部３０６がキーワード辞書３０２からデータ取得を行い、クライアントＰＣ１０２にデータを渡す。取得したキーワード一覧は、本処理フロー中はＲＡＭ２０２に保存して後述のステップにおいて使用する。キーワード取得が終了したら、次のステップＳ９０２に進む。
【００７４】
ステップＳ９０２では、ユーザが指示した処理対象のフォルダ（移動、もしくは名称変更）のコンテンツ情報とインデックス情報を文書管理画面５００から取得する。次に、処理対象フォルダのインデックス名「保管階層ＩＤ」のインデックス値（Ｄ４）がステップＳ９０１で取得したキーワード一覧の中で合致するキーワード（Ｂ３）を取得する。そして、処理対象フォルダのコンテンツ情報に保持しているコンテンツ名（Ｃ３）と「／」をキーワード（Ｂ３）の末尾に結合することにより、処理対象フォルダのパス情報を生成する。生成した処理対象フォルダのパス情報と、取得した処理対象コンテンツ情報とインデックス情報は、本処理フロー中はＲＡＭ２０２に保存して後述のステップにおいて使用する。ＲＡＭ２０２への保存が終わったら、次のステップＳ９０３に進む。
【００７５】
ステップＳ９０３では、ユーザが行った処理が移動であるか、名称変更であるかを判断する。移動である場合にはステップＳ９０４に進み、名称変更である場合にはステップＳ９０５に進む。
【００７６】
ステップＳ９０４では、ステップＳ９０２で取得したインデックス情報に保持している「保存階層ＩＤ」の値を変更する。まず、文書管理画面５００でユーザが指示した移動先のフォルダに関するコンテンツ情報とインデックス情報を取得する。次に、移動先フォルダのインデックス名「保管階層ＩＤ」のインデックス値（Ｄ４）がステップＳ９０１で取得したキーワード一覧の中で合致するキーワード（Ｂ３）を取得する。そして、移動先フォルダのコンテンツ情報に保持しているコンテンツ名（Ｃ３）と「／」をキーワード（Ｂ３）の末尾に結合することにより、移動先フォルダのパス情報を生成する。このパス情報をキーワード（Ｂ３）に持つキーワードＩＤ（Ｂ２）をステップＳ９０１で取得したキーワード一覧の中から取得し、ＲＡＭ２０２上に保存したインデックス情報「保管階層ＩＤ」のインデックス値（Ｄ４）を取得したキーワードＩＤ（Ｂ２）で更新する。また、生成した移動先フォルダのパス情報をＲＡＭ２０２に保存する。ＲＡＭ２０２上のインデックス値の更新、および移動先フォルダのパス情報の保存が終了したら、ステップＳ９０６に進む。
【００７７】
ステップＳ９０５では、ステップＳ９０２で取得したコンテンツ情報のコンテンツ名（Ｃ３）の値を変更する。まず、前述のフォルダ名称入力ダイアログで入力されたフォルダ名称を取得する。次に、処理対象フォルダのインデックス名「保管階層ＩＤ」のインデックス値（Ｄ４）がステップＳ９０１で取得したキーワード一覧の中で合致するキーワード（Ｂ３）を取得する。そして、ステップＳ９０２でＲＡＭ２０２に保存したコンテンツ情報のコンテンツ名（Ｃ３）をフォルダ名称入力ダイアログから取得したフォルダ名称で更新する。また、フォルダ名称入力ダイアログから取得したフォルダ名称と「／」をキーワード（Ｂ３）の末尾に結合することにより、名称変更したフォルダのパス情報を生成し、ＲＡＭ２０２に保存する。ＲＡＭ２０２上のコンテンツ名（Ｃ３）の更新、および名称変更フォルダのパス情報の保存が終了したら、ステップＳ９０６に進む。
【００７８】
ステップＳ９０６では、ステップＳ９０４もしくはステップＳ９０５で更新されたＲＡＭ２０２上のコンテンツ情報およびインデックス情報を、文書管理サーバー１０１内のコンテンツ情報３０３とインデックス情報３０４に対して更新する。これらの登録は、文書管理サーバー１０１のリクエスト処理制御部３０８に対して行われ、リクエスト処理制御部３０８が保存するために適切な処理制御部の処理を起動して情報の更新を行う。更新処理が終了したら、次のステップＳ９０７に進む。
【００７９】
ステップＳ９０７〜ステップＳ９０９では、ステップＳ９０１で取得したキーワード一覧に対しての更新処理を行う。
【００８０】
ステップＳ９０７では、キーワード一覧から更新処理対象として１件のキーワードを取得する。もし、キーワード一覧全件の取得が終了していた場合には、ステップＳ９１０へ進む。未処理のキーワード１件が取得できた場合には、次のステップＳ９０８に進む。
【００８１】
ステップＳ９０８では、ステップＳ９０７で取得したキーワードとステップＳ９０２でＲＡＭ２０２に保存した処理対象フォルダのパス情報を前方一致で比較する。合致する場合には、処理対象フォルダの下位フォルダであると判断されるため、次のステップＳ９０９に進む。合致しない場合には、処理対象フォルダとは異なる階層のフォルダを表していると判断されるため、ステップＳ９０７に戻り、次のキーワードの処理へ移る。
【００８２】
ステップＳ９０９では、ステップＳ９０８で合致した文字列部分をステップＳ９０４かステップＳ９０５でＲＡＭ２０２に保存したパス情報で置換し、ＲＡＭ２０２上のキーワードを更新する。このＲＡＭ２０２上のパス情報には、ステップ９０４では移動先フォルダのパス情報を、ステップＳ９０５で名称変更したフォルダのパス情報を使用する。ＲＡＭ２０２上のキーワードの更新が終了したら、ステップＳ９０７に戻り、次のキーワードの処理へ移る。
【００８３】
ステップＳ９１０では、ＲＡＭ２０２上で更新されたキーワード一覧の情報でキーワード辞書３０２を更新する。この登録は、文書管理サーバー１０１のリクエスト処理制御部３０８に対して行われ、リクエスト処理制御部３０８からキーワード辞書処理制御部３０６を起動してクライアントＰＣ１０２から渡したキーワード一覧の情報更新を行う。キーワード辞書の情報更新が終了したら、本処理フローを終了する。
【００８４】
図１０は、フォルダ削除の処理フローを表したものである。クライアントＰＣ１０２の文書管理画面５００上で削除するフォルダを選択し、メニュー５０１から「フォルダ削除」を指示することで本処理フローを起動する。但し、本処理フローは後述のステップＳ１００３において再帰的な実行を行うことがある。その場合には、メニュー５０１からの実行ではなく、本処理フロー自体が起動を指示する実行となる。
【００８５】
ステップＳ１００１では、起動時に指定された削除対象フォルダの情報を取得し、直下階層のフォルダ情報を取得する。まず、指定されたフォルダのコンテンツ情報とインデックス情報を取得し、ＲＡＭ２０２に保存する。これらの情報は、ユーザが削除処理起動した場合には文書管理画面５００が保持している情報を、本処理フローから起動された場合には、指定されたコンテンツＩＤに合致する情報を文書管理サーバー１０１から取得する。取得したコンテンツ情報とインデックス情報は、本処理フロー中はＲＡＭ２０２に保存して、後述の処理フローで使用する。
【００８６】
次に、取得したインデックス名「保管階層ＩＤ」のインデックス値（Ｄ４）がキーワードＩＤ（Ｂ２）に合致するキーワード（Ｂ３）を取得し、既に取得済みのコンテンツ情報のコンテンツ名（Ｃ３）と「／」を末尾に結合してパス情報を生成する。これは、文書管理サーバー１０１のキーワード辞書処理制御部３０６に、該当するキーワードＩＤ（Ｂ２）を渡すことで取得できる。
【００８７】
更に、生成したパス情報をキーワード（Ｂ３）に保持するキーワードＩＤ（Ｂ２）を、文書管理サーバー１０１のキーワード辞書処理制御部３０６から取得する。生成したパス情報と、そのパスを表すキーワードＩＤ（Ｂ２）は、本処理フロー中はＲＡＭ２０２に保存して、後述の処理フローで使用する。
【００８８】
そして、以下の全ての条件に合致するコンテンツＩＤ（Ｄ２）をコンテンツＩＤ（Ｃ２）に保持するコンテンツ情報一覧を文書管理サーバー１０１のコンテンツ情報処理制御部３０５から取得する。
【００８９】
条件１：インデックス情報３０４の「保存階層ＩＤ」のインデックス値に取得したキーワードＩＤ（Ｂ２）を保持
条件２：インデックス情報３０４の「コンテンツ型」に「Ｆ」を保持
取得した下位コンテンツ情報の一覧は、本処理フロー中はＲＡＭ２０２に保存して後述のステップにおいて使用する。情報の取得が終了したら、次のステップＳ１００２に進む。
【００９０】
ステップＳ１００２では、ＲＡＭ２０２に保存したコンテンツ情報一覧から１件のコンテンツ情報を取得する。もし、コンテンツ情報一覧の全件取得が終了していた場合には、ステップＳ１０４に進む。未処理のコンテンツ情報１件を取得できた場合には、次のステップＳ１００３に進む。
【００９１】
ステップＳ１００３では、ステップＳ１００２で取得したコンテンツ情報をパラメータとして、図１０のフォルダ削除処理フローを起動する。ステップＳ１００２で取得したコンテンツ情報は、処理対象としているフォルダの下位に存在するフォルダであり、あらかじめ削除しておく必要があるため、自処理前に、削除処理を行うこととなる。再帰的に呼び出した本処理フローが終了した場合には、ステップＳ１００２に戻り次のコンテンツ情報の処理へ移る。
【００９２】
ステップＳ１００４では、自フォルダの直下階層に保持している文書の削除を行う。まず、以下の全ての条件に合致するコンテンツＩＤ（Ｄ２）をコンテンツＩＤ（Ｃ２）に保持するコンテンツ情報一覧を文書管理サーバー１０１のコンテンツ情報処理制御部３０５から取得する。
【００９３】
条件１：インデックス情報３０４の「保存階層ＩＤ」にステップＳ１００１でＲＡＭ２０２に保存したキーワードＩＤ（Ｂ２）を保持
条件２：インデックス情報３０４の「コンテンツ型」に「Ｄ」を保持
取得したコンテンツ情報のコンテンツＩＤ（Ｃ２）をデータに持つコンテンツ情報、およびインデックス情報全てをコンテンツ情報３０３、インデックス情報３０４から削除する。これは、文書管理サーバー１０１のリクエスト処理制御部３０８に対して行われ、リクエスト処理制御部３０８が削除するためにコンテンツ情報処理制御部３０５の処理を起動して情報の削除を行う。取得したコンテンツ情報の削除が終了したら、次のステップＳ１００５に進む。
【００９４】
ステップＳ１００５では、本処理フローの処理対象となるコンテンツの削除を行う。これは、ステップＳ１００１でＲＡＭ２０２に保存したコンテンツ情報で保持するコンテンツＩＤ（Ｃ２）をデータに持つコンテンツ情報、およびインデックス情報全てをコンテンツ情報３０３、インデックス情報３０４から削除する。この処理は、条件が異なるだけで、ステップＳ１００４で行った削除処理と同様である。処理対象コンテンツの削除が終了したら、次のステップＳ１００６に進む。
【００９５】
ステップＳ１００６では、ステップＳ１００１でＲＡＭ２０２に保存したパスを表すキーワードＩＤ（Ｂ２）に合致するキーワードをキーワード辞書３０２から削除する。これは、文書管理サーバー１０１のリクエスト処理制御部３０８に対して行われ、リクエスト処理制御部３０８が削除するためにキーワード辞書処理制御部３０６の処理を起動して該当するキーワードＩＤ（Ｂ２）に合致する情報の削除を行う。キーワード辞書の削除が終了したら、本処理フローを終了する。
【００９６】
本実施形態によれば、文書管理サーバーが有するキーワード辞書とインデックスの機能を利用することで、システム自体の処理負荷が高くならない仮想フォルダ階層構造を用いた文書管理システムとして使用することができる。また、文書ファイルの実データには変更を加えないため、文書のオリジナル性も保証することができる。
【００９７】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。その処理は、上述した実施例の機能を実現させるソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0006643807.tif 000002
【図２】
0006643807.tif 000003
【図３】
0006643807.tif 000004
【図４】
0006643807.tif 000005
【図５】
0006643807.tif 000006
【図６】
0006643807.tif 000007
【図７】
0006643807.tif 000008
【図８】
0006643807.tif 000009
【図９】
0006643807.tif 000010
【図１０】
0006643807.tif 000011
【図１１】
0006643807.tif 000012
【図１２】
0006643807.tif 000013
【図１３】
0006643807.tif 000014
【図１４】
0006643807.tif 000015