(57)【要約】【課題】検索条件式に関わらず仮想フォルダに所属させる、あるいは仮想フォルダから除外するファイルの設定をユーザが意識することなく操作できる仮想フォルダ構築装置を得る。【解決手段】仮想フォルダ定義部１０５が、仮想フォルダ生成のためのメタデータに基づく検索条件式を設定する。コンテンツ操作部１０４が、検索条件式に関わらず仮想フォルダに追加又は削除するコンテンツのコンテンツＩＤが示される追加／削除コンテンツリストを生成する。仮想フォルダ情報出力部１０３は、仮想フォルダ定義部１０５により定義された検索条件式とコンテンツ操作部１０４により追加又は削除対象として指定されたコンテンツのコンテンツＩＤとを合成して、追加コンテンツが抽出されるとともに削除コンテンツが抽出されない新たな検索条件式を作成する。コンテンツ管理システム１０９は、新たな検索条件式に基づいてコンテンツの検索を行う。【選択図】図１
2008198053.tif 000002
【特許請求の範囲】
【請求項１】
仮想フォルダに含ませるファイルの検索のための検索条件を第一の検索条件として指定する第一の検索条件指定部と、
前記第一の検索条件に基づく検索とは独立に前記仮想フォルダに含ませる追加ファイル及び前記第一の検索条件に基づく検索とは独立に前記仮想フォルダから除外する除外ファイルの少なくともいずれかを指定するファイル指定部と、
前記第一の検索条件指定部により指定された第一の検索条件と前記ファイル指定部により指定されたファイルの識別情報とを用いて、前記仮想フォルダに含ませるファイルの検索のための新たな検索条件を第二の検索条件として生成する第二の検索条件指定部とを有することを特徴とする仮想フォルダ構築装置。
【請求項２】
前記仮想フォルダ構築装置は、
複数のファイルを管理し、検索条件に従ってファイルの検索を行うファイル管理システムに接続されており、
前記第二の検索条件指定部は、
前記第一の検索条件指定部により指定された第一の検索条件と前記ファイル指定部により指定されたファイルの識別情報とを合成し、前記ファイル管理システムにおける検索において前記第一の検索条件に合致するファイル及び前記ファイル指定部により指定された追加ファイルが抽出されるとともに前記ファイル指定部により指定された除外ファイルが抽出されない検索条件を第二の検索条件として生成することを特徴とする請求項１に記載の仮想フォルダ構築装置。
【請求項３】
前記ファイル指定部は、
第一の検索条件に合致しないいずれかのファイルを追加ファイルとして指定し、第一の検索条件に合致するいずれかのファイルを除外ファイルとして指定することを特徴とする請求項１に記載の仮想フォルダ構築装置。
【請求項４】
前記仮想フォルダ構築装置は、
前記ファイル指定部により指定された除外ファイルの識別情報を登録するファイル識別情報登録装置に接続され、
前記仮想フォルダ構築装置は、更に、
前記ファイル指定部に対して特定のファイルを特定の仮想フォルダに対する追加ファイルとして指定するよう要求する追加ファイル指定要求を入力する入力部を有し、
前記ファイル指定部は、
前記入力部により前記追加ファイル指定要求が入力された際に、前記追加ファイル指定要求において追加ファイルの指定が要求されているファイルが前記ファイル識別情報登録装置において前記特定の仮想フォルダに対する除外ファイルとして登録されているか否かを判断し、当該ファイルが前記特定の仮想フォルダに対する除外ファイルとして登録されている場合に、前記ファイル識別情報登録装置から当該除外ファイルの識別情報を削除して、当該除外ファイルとして登録されていたファイルを除外ファイルとして指定しないことを特徴とする請求項１に記載の仮想フォルダ構築装置。
【請求項５】
前記仮想フォルダ構築装置は、
前記ファイル指定部により指定された追加ファイルの識別情報を登録するファイル識別情報登録装置に接続され、
前記仮想フォルダ構築装置は、更に、
前記ファイル指定部に対して特定のファイルを特定の仮想フォルダに対する除外ファイルとして指定するよう要求する除外ファイル指定要求を入力する入力部を有し、
前記ファイル指定部は、
前記入力部により前記除外ファイル指定要求が入力された際に、前記除外ファイル指定要求において除外ファイルの指定が要求されているファイルが前記ファイル識別情報登録装置において前記特定の仮想フォルダに対する追加ファイルとして登録されているか否かを判断し、当該ファイルが前記特定の仮想フォルダに対する追加ファイルとして登録されている場合に、前記ファイル識別情報登録装置から当該追加ファイルの識別情報を削除して、当該追加ファイルとして登録されていたファイルを追加ファイルとして指定しないことを特徴とする請求項１に記載の仮想フォルダ構築装置。
【請求項６】
前記第一の検索条件指定部は、
前記第一の検索条件として、ファイルに付加されるメタデータの内容に関する検索条件を指定することを特徴とする請求項１に記載の仮想フォルダ構築装置。
【請求項７】
コンピュータが、仮想フォルダに含ませるファイルの検索のための検索条件を第一の検索条件として指定する第一の検索条件指定ステップと、
コンピュータが、前記第一の検索条件に基づく検索とは独立に前記仮想フォルダに含ませる追加ファイル及び前記第一の検索条件に基づく検索とは独立に前記仮想フォルダから除外する除外ファイルの少なくともいずれかを指定するファイル指定ステップと、
コンピュータが、前記第一の検索条件指定ステップにより指定された第一の検索条件と前記ファイル指定ステップにより指定されたファイルの識別情報とを用いて、前記仮想フォルダに含ませるファイルの検索のための新たな検索条件を第二の検索条件として生成する第二の検索条件指定ステップとを有することを特徴とする仮想フォルダ構築方法。
【請求項８】
仮想フォルダに含ませるファイルの検索のための検索条件を第一の検索条件として指定する第一の検索条件指定処理と、
前記第一の検索条件に基づく検索とは独立に前記仮想フォルダに含ませる追加ファイル及び前記第一の検索条件に基づく検索とは独立に前記仮想フォルダから除外する除外ファイルの少なくともいずれかを指定するファイル指定処理と、
前記第一の検索条件指定部により指定された第一の検索条件と前記ファイル指定部により指定されたファイルの識別情報とを用いて、前記仮想フォルダに含ませるファイルの検索のための新たな検索条件を第二の検索条件として生成する第二の検索条件指定処理とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想フォルダを構築するための技術に関する。
【背景技術】
【０００２】
ファイルとフォルダ（ディレクトリ）をディスク上の物理的なファイルシステム構成ではなく、異なる視点（ビュー）でユーザに提示する方法として、従来の仮想フォルダシステムは、ファイルのメタデータによる検索条件を仮想フォルダとして定義して、仮想フォルダ参照時には検索条件に基づいたファイルの検索結果を利用することにより、検索条件に応じた分類による仮想フォルダシステムを実現していた（例えば、特許文献１）。
また、仮想フォルダの検索条件をフォルダ操作時に動的に指定する方法や、ファイルのメタデータを更新することにより仮想フォルダ間でファイルの移動・コピー操作を実現する方法も提案されている（例えば、特許文献２）。
【特許文献１】特開２００３−３２３３２６号公報
【特許文献２】特表２００６−５２１５９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の仮想フォルダシステムは、ファイルのメタデータを使った検索条件式により仮想フォルダに所属するファイルを定義するため、ファイルに設定されているメタデータの内容が複数の仮想フォルダの検索条件式に該当する場合、ファイルが複数の仮想フォルダに所属することとなる。
例えば、メタデータとして文書作成者が定義されているファイル群に対して、文書作成者毎に仮想フォルダを定義した場合、複数の作成者の共著による文書ファイルは、作成者それぞれの仮想フォルダに所属することとなる。
このような複数の仮想フォルダに所属するファイルを一つの仮想フォルダにのみに所属するように設定する場合、メタデータの内容を変更（共著の他の作成者を削除）して対応することはできないことから、ファイルを所属から除外したい仮想フォルダについて、そのファイルが条件に合致しないよう検索条件式を変更するといった個別の対応をしなければならない。
そのため、仮想フォルダの定義内容やファイルのメタデータに関する情報についてユーザ（操作者）が把握している必要があり、また、ファイル数や仮想フォルダ数が多いと、仮想フォルダの検索条件式を修正する個別の対応作業が増大するという問題があった。
【０００４】
また、仮想フォルダの検索条件式では除外されるが、その仮想フォルダに含めたいファイルを追加する場合も同様の問題が発生する。
例えば、メタデータとしてファイルの管理部署が定義されているファイル群に対して、通常ファイルの管理部署とファイルが関係する業務の管理部署が同一で、管理部署毎に仮想フォルダが定義されているとき、ファイルと業務の管理部署が異なる例外的なファイルを業務の管理部署の仮想フォルダに所属させたい場合、ファイルのメタデータ（ファイルの管理部署）を変更して対応することはできないため、ファイル管理部署の仮想フォルダの検索条件式と、業務管理部署の仮想フォルダの検索条件式を個別に変更する必要がある。
つまり、メタデータとしてファイルの管理部署が定義されている場合に、メタデータに基づく検索条件式によれば、例えばメタデータに管理部署としてＡ部署と記載されているファイル群のみがＡ部署に関する仮想フォルダに含まれることになる。しかし、Ａ部署の業務に関連するファイルであれば、メタデータに管理部署としてＢ部署が記載されているファイルも併せてＡ部署の仮想フォルダに含めるべき場合がある。このような場合に、ファイルのメタデータ（ファイルの管理部署）を変更することはできないので、Ａ部署の仮想フォルダにＢ部署が管理しているファイルが含まれるように検索条件式に対する個別対応が必要になる。
【０００５】
以上のように、仮想フォルダの検索条件式をファイルの分類条件と考えたとき、分類条件から外れた例外的なファイルを仮想フォルダシステムで扱う場合、ファイルのメタデータを変更して対応することができないため、例外的なファイル毎に仮想フォルダの検索条件式の修正が必要となり、ユーザが仮想フォルダの定義やファイルのメタデータの情報に関して知識を有している必要があり、また、作業が煩雑になるという課題があった。
【０００６】
この発明は、上記のような課題を解決することを主な目的としており、仮想フォルダに定義された検索条件式の結果に関わらず仮想フォルダに所属させる、あるいは仮想フォルダから除外するファイルの設定を、ユーザが意識することなく操作できる仮想フォルダ構築装置等を得ることを主な目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る仮想フォルダ構築装置は、
仮想フォルダに含ませるファイルの検索のための検索条件を第一の検索条件として指定する第一の検索条件指定部と、
前記第一の検索条件に基づく検索とは独立に前記仮想フォルダに含ませる追加ファイル及び前記第一の検索条件に基づく検索とは独立に前記仮想フォルダから除外する除外ファイルの少なくともいずれかを指定するファイル指定部と、
前記第一の検索条件指定部により指定された第一の検索条件と前記ファイル指定部により指定されたファイルの識別情報とを用いて、前記仮想フォルダに含ませるファイルの検索のための新たな検索条件を第二の検索条件として生成する第二の検索条件指定部とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、第一の検索条件に対して追加ファイル、削除ファイルの識別情報を付加して、追加ファイルが仮想フォルダに含まれるとともに削除ファイルが仮想フォルダに含まれないようになる第二の検索条件を生成するため、ユーザが検索条件式を修正する必要がなく、煩雑な作業が不要となるとともに、検索条件式の設定ミスを回避することができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
図１は、本実施の形態に係る仮想フォルダ構築装置１０１及びその周辺の機能要素の例を示す機能構成図である。
図１において、アプリケーション１００は、仮想フォルダ構築装置１０１を使って仮想フォルダを利用するソフトウェア（例えばＷｉｎｄｏｗｓ（登録商標）のエクスプローラのような機能を持つソフトウェア）である。
仮想フォルダ構築装置１０１は、コンテンツ管理システム１０９が管理するコンテンツ（ファイル＋メタデータ）集合に対して仮想フォルダツリー（仮想フォルダを階層的に配置したもの）を提供するシステムである。
入出力処理部１０２は、アプリケーション１００に対してＡＰＩ（アプリケーションプログラムインタフェース）を提供して、アプリケーション１００からの仮想フォルダツリーに対する操作を可能にする手段である。
仮想フォルダ情報出力部１０３は、入出力処理部１０２からの要求に従って、コンテンツ管理システム１０９やリポジトリ１１０から必要なデータを収集し、情報を構築する手段である。
コンテンツ操作部１０４は、入出力処理部１０２からの要求に従って、仮想フォルダツリーでのコンテンツ操作を処理する手段である。
仮想フォルダ定義部１０５は、入出力処理部１０２からの要求に従って、仮想フォルダツリーの定義処理を行う手段である。
ＤＢアクセス部１０６は、リポジトリ１１０に対するアクセス処理を行う手段である。
ＣＭＳ（Ｃｏｎｔｅｎｔ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）アクセス部１０７は、コンテンツ管理システム１０９に対するアクセス処理を行う手段である。
ＣＭＳ−ＡＰＩ１０８は、コンテンツ管理システム１０９で処理を実行するためのＡＰＩである。
コンテンツ管理システム１０９は、仮想フォルダツリーによりビューを提供するファイルを格納、管理するシステムである。
リポジトリ１１０は、コンテンツ管理システム１０９が使用する様々な情報を格納、管理するデータベースであり、仮想フォルダ構築装置１０１が使用する情報も格納、管理する。
【００１０】
入出力処理部１０２は、アプリケーション１００に対して仮想フォルダツリーに対する操作として、仮想フォルダ一覧機能、仮想フォルダ定義機能、コンテンツ追加機能、コンテンツ削除機能、コンテンツ一覧機能を提供する。
これらの機能を組合わせることにより、アプリケーション１００は仮想フォルダツリーの操作機能を実現できる。
例えば、仮想フォルダツリー全体を表示するには仮想フォルダ一覧機能を、仮想フォルダを作成するには仮想フォルダ定義機能を、仮想フォルダにあるコンテンツを表示するにはコンテンツ一覧機能を、ある仮想フォルダから別の仮想フォルダにコンテンツを移動するにはコンテンツ削除機能とコンテンツ追加機能を組合わせることで実現できる。
なお、入出力処理部１０２はさらに仮想フォルダ削除機能などの他の機能を提供してもよい。
【００１１】
コンテンツ管理システム１０９では、仮想フォルダツリーが操作対象とするファイルが一元的に管理される。
ファイルとそのファイルのメタデータの組合わせをコンテンツとして定義し、コンテンツを操作単位とした操作環境を提供する。
コンテンツ管理システム１０９では、コンテンツにユニークなコンテンツＩＤが割り当てられ、コンテンツはコンテンツＩＤによって管理される。コンテンツに対する操作としては、コンテンツ管理システム１０９へのコンテンツの登録、削除、メタデータを使ったコンテンツの検索などがあり、これら操作はユーザによる対話的な操作インタフェースの他に、ＣＭＳ−ＡＰＩ１０８を使うことで、ソフトウェアプログラムから実行することができる。
【００１２】
リポジトリ１１０では、コンテンツ管理システム１０９が使用するデータの他に、仮想フォルダ構築装置１０１によりフォルダ定義情報と追加／削除コンテンツリストが作成、使用される。
【００１３】
仮想フォルダ定義部１０５は、仮想フォルダに含ませるコンテンツ（ファイル）の検索のための検索条件式（第一の検索条件）を指定する。
仮想フォルダ定義部１０５は、具体的には、ファイルに付加されるメタデータの内容に関する検索条件式を指定する。
仮想フォルダ定義部１０５は、第一の検索条件指定部の例である。
【００１４】
コンテンツ操作部１０４は、仮想フォルダ定義部１０５により定義された検索条件式（第一の検索条件）に基づく検索とは独立に仮想フォルダに含ませる追加コンテンツ（追加ファイル）及び仮想フォルダから除外する削除コンテンツ（除外ファイル）の少なくともいずれかを指定する。
コンテンツ操作部１０４は、仮想フォルダ定義部１０５により定義された検索条件式に合致しないいずれかのコンテンツを追加コンテンツとして指定し、仮想フォルダ定義部１０５により定義された検索条件式に合致するいずれかのコンテンツを削除コンテンツとして指定する。
コンテンツ操作部１０４は、ファイル指定部の例である。
【００１５】
仮想フォルダ情報出力部１０３は、仮想フォルダ定義部１０５により定義された検索条件式（第一の検索条件）とコンテンツ操作部１０４により指定されたコンテンツの識別情報とを用いて、仮想フォルダに含ませるコンテンツの検索のための新たな検索条件式（第二の検索条件）を生成する。
具体的には、仮想フォルダ情報出力部１０３は、仮想フォルダ定義部１０５により指定された検索条件式（第一の検索条件）とコンテンツ操作部１０４により指定されたコンテンツの識別情報とを合成し、コンテンツ管理システム１０９（ファイル管理システム）における検索において検索条件式（第一の検索条件）に合致するコンテンツ及びコンテンツ操作部１０４により指定された追加コンテンツが抽出されるとともにコンテンツ操作部１０４により指定された削除コンテンツが抽出されない検索条件式（第二の検索条件）を生成する。
【００１６】
また、リポジトリ１１０（ファイル識別情報登録装置）には、コンテンツ操作部１０４により指定された追加コンテンツ又は削除コンテンツの識別情報が示される追加／削除コンテンツリストが登録されている。
また、仮想フォルダ構築装置１０１の入出力処理部（入力部）は、コンテンツ操作部１０４に対して特定のコンテンツを特定の仮想フォルダに対する追加コンテンツとして指定するよう要求する追加コンテンツ指定要求（追加ファイル指定要求）又はコンテンツ操作部１０４に対して特定のコンテンツを特定の仮想フォルダに対する削除コンテンツとして指定するよう要求する削除コンテンツ指定要求（除外ファイル指定要求）を入力する。
コンテンツ操作部１０４は、入出力処理部１０２により追加コンテンツ指定要求が入力された際に、追加コンテンツ指定要求において追加コンテンツとしての指定が要求されているコンテンツがリポジトリ１１０において特定の仮想フォルダに対する削除コンテンツとして登録されているか否かを判断し、当該コンテンツが特定の仮想フォルダに対する削除コンテンツとして登録されている場合に、リポジトリ１１０の追加／削除コンテンツリストから当該削除コンテンツの識別情報を削除して、当該削除コンテンツとして登録されていたコンテンツを削除コンテンツとして指定しないようにする。
また、コンテンツ操作部１０４は、入出力処理部１０２により削除コンテンツ指定要求が入力された際に、削除コンテンツ指定要求において削除コンテンツとしての指定が要求されているコンテンツがリポジトリ１１０において特定の仮想フォルダに対する追加コンテンツとして登録されているか否かを判断し、当該コンテンツが特定の仮想フォルダに対する追加コンテンツとして登録されている場合に、リポジトリ１１０の追加／削除コンテンツリストから当該追加コンテンツの識別情報を削除して、当該追加コンテンツとして登録されていたコンテンツを追加コンテンツとして指定しないようにする。
【００１７】
図２は、仮想フォルダ構築装置１０１によって作成されるフォルダ定義情報の例を示すデータレコード形式図である。
図２において、フォルダＩＤ１２０は、仮想フォルダ構築装置１０１における仮想フォルダの識別子である。
フォルダ名１２１は、仮想フォルダの名称である。
親フォルダＩＤ１２２は、フォルダＩＤ１２０で表される仮想フォルダの仮想フォルダツリーにおける上位フォルダのフォルダＩＤである。
検索条件式１２３は、フォルダＩＤ１２０で表される仮想フォルダに所属するコンテンツを検索するためのメタデータによる検索条件式である。検索条件式１２３は、第一の検索条件の例である。
【００１８】
仮想フォルダがルートフォルダ（仮想フォルダツリーの最上位のフォルダ）の場合、親フォルダＩＤ１２２は、通常のフォルダＩＤの値とは異なる特殊な固定値を設定する（例えばフォルダＩＤを正の整数として、ルートフォルダの親フォルダＩＤを−１にする）。
なお、フォルダ定義情報にはフォルダＩＤ１２０、フォルダ名１２１、親フォルダＩＤ１２２、検索条件式１２３の他に追加情報のデータ項目があってもよい。
【００１９】
図３は、仮想フォルダ構築装置１０１によって作成される追加／削除コンテンツリストの例を示すデータレコード形式図である。
フォルダＩＤ１３０は、操作対象のフォルダＩＤである。
操作種別１３１は、コンテンツの追加操作、あるいは削除操作を示すデータである。
コンテンツＩＤ１３２は、フォルダＩＤ１３０に示される仮想フォルダに追加あるは削除するコンテンツのコンテンツＩＤ（識別情報）である。
なお、追加／削除コンテンツリストにはフォルダＩＤ１３０、操作種別１３１、コンテンツＩＤ１３２の他に追加情報のデータ項目があってもよい。
また、フォルダ定義情報、追加／削除コンテンツリストはコンテンツ管理システム１０９が使用するリポジトリ１１０に格納、管理するのではなく、リポジトリ１１０とは別のデータベース管理システムを使用して格納、管理してもよい。
【００２０】
次に、本実施の形態に係る仮想フォルダ構築装置１０１の動作例（仮想フォルダ構築方法）について説明する。
まず、図１０を用いて、全体的な流れを説明する。
最初に、ステップＳ１００１において、仮想フォルダ定義部１０５が、仮想フォルダ定義処理（第一の検索条件指定ステップ）を行う。
つまり、アプリケーション１００が新規に作成する仮想フォルダのフォルダＩＤと検索条件式等を指定して仮想フォルダ作成を要求し、仮想フォルダ定義部１０５が、アプリケーション１００からの要求に基づき、対象となるフォルダＩＤに検索条件式１２３等を設定して、ＤＢアクセス部１０６を使ってリポジトリ１１０のフォルダ定義情報に新規レコードを追加する。
なお、仮想フォルダ定義処理の詳細は図４を参照しながら後述する。
【００２１】
次に、ステップＳ１００２において、コンテンツ操作部１０４が、コンテンツ追加処理又は／及びコンテンツ削除処理（ファイル指定ステップ）を行う。
つまり、アプリケーション１００は追加又は削除するコンテンツのコンテンツＩＤと追加先／削除先の仮想フォルダのフォルダＩＤを指定して、追加コンテンツ指定要求又は削除コンテンツ指定要求を出力し、コンテンツ操作部１０４が、アプリケーション１００からの要求に基づき、対象となるコンテンツＩＤが示される追加／削除コンテンツリストを生成・更新し、ＤＢアクセス部１０６を使ってリポジトリ１１０に追加／削除コンテンツリストを追加する。
なお、コンテンツ追加処理及びコンテンツ削除処理の詳細は、図５及び図６を参照しながら後述する。
【００２２】
次に、ステップＳ１００３において、仮想フォルダ情報出力部１０３が、コンテンツ一覧処理（第二の検索条件指定ステップ）を行う。
つまり、仮想フォルダ情報出力部１０３は、仮想フォルダ定義部１０５により定義された検索条件式とコンテンツ操作部１０４により追加又は削除対象として指定されたコンテンツのコンテンツＩＤ（識別情報）とを合成して、新たな検索条件式（第二の検索条件式）を作成する。
また、コンテンツ管理システム１０９は、仮想フォルダ情報出力部１０３により生成された新たな検索条件式に基づいてコンテンツの検索を行う。
なお、コンテンツ一覧処理の詳細は、図７を参照しながら後述する。
【００２３】
次に、仮想フォルダ構築装置１０１における仮想フォルダの定義処理の流れを図４のフローチャートを用いて説明する。
図４は、本実施の形態の仮想フォルダ定義手順（第一の検索条件指定ステップ）を示すフローチャートである。
ステップＳ１４０で、アプリケーション１００は新規フォルダの作成先の仮想フォルダのフォルダＩＤとフォルダ名および新規フォルダにおける検索条件式を指定して、入出力処理部１０２のＡＰＩにより仮想フォルダ作成要求を実行する。
ステップＳ１４１で、入出力処理部１０２は仮想フォルダ定義部１０５に処理を依頼する。
仮想フォルダ定義部１０５は、新しくフォルダＩＤを採番して、フォルダ定義情報のレコードとしてフォルダＩＤ１２０に採番したフォルダＩＤ、フォルダ名１２１にフォルダ名、親フォルダＩＤ１２２に作成先フォルダＩＤ、検索条件式１２３に検索条件式を設定して、ＤＢアクセス部１０６を使ってリポジトリ１１０のフォルダ定義情報に新規レコードを追加する。
ステップＳ１４２で、入出力処理部１０２は仮想フォルダ定義部１０５から処理結果を受け取り、アプリケーション１００に結果を返す。
以上から、仮想フォルダ構築装置１０１でアプリケーション１００により仮想フォルダが定義される。
【００２４】
仮想フォルダ構築装置１０１における仮想フォルダへのコンテンツの追加処理の流れを図５のフローチャートを用いて説明する。
図５は、本実施の形態の仮想フォルダへのコンテンツ追加手順（ファイル指定ステップ）を示すフローチャートである。
ステップＳ１５０で、アプリケーション１００は追加するコンテンツのコンテンツＩＤと追加先の仮想フォルダのフォルダＩＤを指定して、入出力処理部１０２のＡＰＩを使って仮想フォルダへのコンテンツの追加を要求する追加コンテンツ指定要求を出力する。
ステップＳ１５１で、追加コンテンツ指定要求を入力した入出力処理部１０２はコンテンツ操作部１０４に処理を依頼する。
コンテンツ操作部１０４は、ＤＢアクセス部１０６を使ってリポジトリ１１０にある追加／削除コンテンツリストにアクセスして、フォルダＩＤ１３０が追加先フォルダのフォルダＩＤ、操作種別１３１が削除、コンテンツＩＤ１３２が追加コンテンツのコンテンツＩＤであるレコード（削除レコード）を検索する。
ステップＳ１５２で、削除レコードが存在する場合はステップＳ１５３へ、存在しない場合はステップＳ１５４へ進む。
ステップＳ１５３で、コンテンツ操作部１０４はＤＢアクセス部１０６を使ってリポジトリ１１０にある追加／削除コンテンツリストにアクセスして、ステップＳ１５１で検索された削除レコードの削除処理を行う。削除レコードが存在するということは、当該追加コンテンツは削除レコードがないと検索条件式による通常の検索で抽出される性質を有するので削除レコードにより当該追加コンテンツの抽出を除外していたことを意味する。このため、削除レコードを削除すれば、当該追加コンテンツは検索条件式による通常の検索により抽出されることになる。
ステップＳ１５４で、コンテンツ操作部１０４はフォルダＩＤ１３０が追加先フォルダのフォルダＩＤ、操作種別１３１が追加、コンテンツＩＤ１３２が追加コンテンツのコンテンツＩＤであるレコードを、ＤＢアクセス部１０６を使ってリポジトリ１１０にアクセスして、追加／削除コンテンツリストに追加する。
ステップＳ１５５で、入出力処理部１０２はコンテンツ操作部１０４から処理結果を受け取り、アプリケーション１００に結果を返す。
以上から、仮想フォルダ構築装置１０１でアプリケーション１００により仮想フォルダにコンテンツが追加される。
【００２５】
仮想フォルダ構築装置１０１における仮想フォルダからのコンテンツの削除処理の流れを図６のフローチャートを用いて説明する。
図６は、本実施の形態の仮想フォルダからのコンテンツ削除手順（ファイル指定ステップ）を示すフローチャートである。
ステップＳ１６０で、アプリケーション１００は削除するコンテンツのコンテンツＩＤと削除先の仮想フォルダのフォルダＩＤを指定して、入出力処理部１０２のＡＰＩを使って仮想フォルダからのコンテンツの削除を要求する削除コンテンツ指定要求を出力する。
ステップＳ１６１で、削除コンテンツ指定要求を入力した入出力処理部１０２はコンテンツ操作部１０４に処理を依頼する。
コンテンツ操作部１０４はＤＢアクセス部１０６を使ってリポジトリ１１０にある追加／削除コンテンツリストにアクセスして、フォルダＩＤ１３０が削除先フォルダのフォルダＩＤ、操作種別１３１が追加、コンテンツＩＤ１３２が削除コンテンツのコンテンツＩＤであるレコード（追加レコード）を検索する。
ステップＳ１６２で、追加レコードが存在する場合はステップＳ１６３へ、存在しない場合はステップＳ１６４へ進む。
ステップＳ１６３で、コンテンツ操作部１０４はＤＢアクセス部１０６を使ってリポジトリ１１０にある追加／削除コンテンツリストにアクセスして、ステップＳ１６１で検索された追加レコードの削除処理を行う。追加レコードが存在するということは、当該削除コンテンツは追加レコードがないと検索条件式による通常の検索では抽出されない性質を有するので追加レコードにより当該削除コンテンツの抽出を追加していたことを意味する。このため、追加レコードを削除すれば、当該削除コンテンツは検索条件式による通常の検索で抽出されないことになる。
ステップＳ１６４で、コンテンツ操作部１０４はフォルダＩＤ１３０が削除先フォルダのフォルダＩＤ、操作種別１３１が削除、コンテンツＩＤ１３２が削除コンテンツのコンテンツＩＤであるレコードを、ＤＢアクセス部１０６を使ってリポジトリ１１０にアクセスして、追加／削除コンテンツリストに追加する。
ステップＳ１６５で、入出力処理部１０２はコンテンツ操作部１０４から処理結果を受け取り、アプリケーション１００に結果を返す。
以上から、仮想フォルダ構築装置１０１でアプリケーション１００により仮想フォルダからコンテンツが削除される。
【００２６】
仮想フォルダ構築装置１０１における仮想フォルダのコンテンツ一覧情報の取得処理の流れを図７のフローチャートを用いて説明する。
図７は、本実施の形態の仮想フォルダのコンテンツ一覧情報取得手順を示すフローチャートである。
ステップＳ１７０で、アプリケーション１００はコンテンツの一覧情報の取得対象となる仮想フォルダのフォルダＩＤを指定して、入出力処理部１０２のＡＰＩを使ってコンテンツ一覧情報取得要求を実行する。
ステップＳ１７１で、入出力処理部１０２は仮想フォルダ情報出力部１０３に処理を依頼する。仮想フォルダ情報出力部１０３はＤＢアクセス部１０６を使ってリポジトリ１１０にあるフォルダ定義情報にアクセスして、フォルダＩＤ１２０の値がコンテンツ一覧取得対象として指定されたフォルダＩＤと一致するレコードを検索して、その検索条件式１２３を取り出す。
ステップＳ１７２で、仮想フォルダ情報出力部１０３はＤＢアクセス部１０６を使ってリポジトリ１１０にある追加／削除コンテンツリストにアクセスして、フォルダＩＤ１３０の値がコンテンツ一覧取得対象として指定されたフォルダＩＤと一致するレコードを検索して、結果を取り出す。
ステップＳ１７３で、ステップＳ１７２の検索結果のレコードが存在する場合はステップＳ１７４へ、存在しない場合はステップＳ１７５へ進む。
ステップＳ１７４で、仮想フォルダ情報出力部１０３はステップＳ１７１で取得した検索条件式１２３とステップＳ１７２で取得した追加／削除コンテンツリストの検索結果レコードから、仮想フォルダに所属するコンテンツを検索するための検索条件式を合成する（第二の検索条件指定ステップ）。
ステップＳ１７５で、仮想フォルダ情報出力部１０３はＣＭＳアクセス部１０７を使って、コンテンツ管理システム１０９に検索条件式に該当するコンテンツを問い合わせる。
ステップＳ１７６で、ＣＭＳアクセス部１０７はＣＭＳ−ＡＰＩ１０８により検索条件式に該当するコンテンツについてコンテンツ一覧で必要な情報（コンテンツＩＤ、コンテンツ名など）を取得して、仮想フォルダ情報出力部１０３に返す。
入出力処理部１０２は、仮想フォルダ情報出力部１０３からコンテンツ一覧情報を受け取り、アプリケーション１００に結果を返す。
以上から、仮想フォルダ構築装置１０１で任意の仮想フォルダに所属するコンテンツの一覧情報をアプリケーション１００が取得できる。
【００２７】
ステップＳ１７４におけるフォルダ定義情報の検索条件式１２３と追加／削除コンテンツリストの検索結果レコードから検索条件式を合成する方法を、図８を用いて説明する。
図８は本実施の形態の検索条件式と追加／削除コンテンツリストを合成する方法（第二の検索条件指定ステップ）を説明する説明図である。
【００２８】
図８において、フォルダ定義情報１８０は、フォルダＩＤが１２０８のときのフォルダ定義情報の例である。検索条件式の項目に示されている事項が、第一の検索条件である。
追加／削除コンテンツリスト１８１は、フォルダＩＤが１２０８のときの追加／削除コンテンツリストの例である。
合成した検索条件式１８２（第二の検索条件）は、フォルダ定義情報１８０と追加／削除コンテンツリスト１８１から合成した検索条件式の例である。
検索条件式の合成はフォルダ定義情報１８０の検索条件式に、追加／削除コンテンツリスト１８１のレコードを元に条件を作成、追加することで行う。
追加／削除コンテンツリスト１８１の操作種別が追加の場合、そのレコードのコンテンツＩＤを持つコンテンツを検索する条件をＯＲ条件で追加する。
操作種別が削除の場合、そのレコードのコンテンツＩＤを持たないコンテンツを検索する条件をＡＮＤ条件で追加する。
フォルダＩＤが１２０８の仮想フォルダの場合、追加／削除コンテンツリスト１８１では追加レコードが１件、削除レコードが２件あるので、追加レコードからＯＲ条件を、削除レコードからＡＮＤ条件を作成して、フォルダ定義情報１８０の検索条件式に追加すると合成した検索条件式１８２が作成できる。
【００２９】
また、仮想フォルダ構築装置１０１における仮想フォルダの一覧処理の流れを図９のフローチャートを用いて説明する。
図９は、本実施の形態の仮想フォルダ一覧手順を示すフローチャートである。
ステップＳ１９０で、アプリケーション１００は仮想フォルダのフォルダＩＤか、あるいはルートフォルダを示す値（無指定またはルートフォルダ用固定値など）指定をして、入出力処理部１０２のＡＰＩを使って仮想フォルダの一覧要求を実行する。
ステップＳ１９１で、入出力処理部１０２は仮想フォルダ情報出力部１０３に処理を依頼する。仮想フォルダ情報出力部１０３は、ステップＳ１９０でフォルダＩＤが指定されている場合はそれをサブフォルダ情報取得対象のフォルダＩＤとしてステップＳ１９３に進み、ルートフォルダを示す値であればステップＳ１９２に進む。
ステップＳ１９２で、仮想フォルダ情報出力部１０３はＤＢアクセス部１０６を使ってリポジトリ１１０にアクセスして、フォルダ定義情報から親フォルダＩＤがルートフォルダ用の固定値になっているレコードを検索する。検索したレコードのフォルダＩＤ１２０をサブフォルダ情報取得対象のフォルダＩＤとする。
ステップＳ１９３で、仮想フォルダ情報出力部１０３はＤＢアクセス部１０６を使ってリポジトリ１１０にアクセスして、フォルダ定義情報から親フォルダＩＤがサブフォルダ情報取得対象のフォルダＩＤと一致するレコードを検索する。仮想フォルダ情報出力部１０３は検索結果レコードから仮想フォルダ一覧情報を作成する。
ステップＳ１９４で入出力処理部１０２は仮想フォルダ情報出力部１０３から仮想フォルダ一覧情報を受け取り、アプリケーション１００に結果を返す。
以上から、仮想フォルダ構築装置１０１で任意の仮想フォルダに存在する下位の仮想フォルダの一覧情報をアプリケーション１００が取得できる。
【００３０】
以上のように、本実施の形態に係る仮想フォルダ構築装置によれば、仮想フォルダに対するコンテンツ単位での追加／削除について、仮想フォルダに所属するコンテンツを検索する検索条件式の修正を仮想フォルダ構築装置が対応するようにしているので、ユーザ（アプリケーション）による検索条件式の修正作業が不要である。
【００３１】
また、本実施の形態に係る仮想フォルダ構築装置によれば、仮想フォルダ定義以外の操作ではユーザ（アプリケーション）はコンテンツのメタデータの情報を使用しないため、仮想フォルダの定義（メタデータによる検索条件式）を知らなくても、仮想フォルダ間でコンテンツの移動／複写／削除操作が実現できる。
【００３２】
さらに、本実施の形態に係る仮想フォルダ構築装置によれば、仮想フォルダの定義に対して例外的に扱いをするコンテンツを追加／削除コンテンツリストとして別管理し、仮想フォルダの検索条件式の定義自体は変更しないことで、例外的なコンテンツに関する処理を単純化できる。
また、コンテンツ管理システムとはＡＰＩ経由で連携することで、コンテンツ管理システムを改修することなく、既存のコンテンツ管理システムに対してアドオン形式でシステムが構築できる。
【００３３】
以上、本実施の形態では、コンテンツ管理システムで管理されたコンテンツに対して異なる視点からのフォルダツリーを提供する仮想フォルダシステムにおいて、
仮想フォルダを定義する仮想フォルダ定義情報と、
仮想フォルダに対する追加／削除コンテンツリストを備え、
コンテンツの追加／削除情報を追加／削除コンテンツリストに登録する手段と、
仮想フォルダ定義情報と追加／削除コンテンツリストから検索条件式を作成し、コンテンツ管理システムに問合せを実行する手段を有する仮想フォルダ構築装置について説明した。
【００３４】
また、本実施の形態では、コンテンツ管理システムで管理されたコンテンツに対して異なる視点からのフォルダツリーを提供する仮想フォルダシステムにおいて、
仮想フォルダを定義する仮想フォルダ定義情報と、
仮想フォルダに対する追加／削除コンテンツリストを備え、
アプリケーションに対して仮想フォルダ操作ＡＰＩを提供する手段と、
仮想フォルダ定義情報と追加／削除コンテンツリストおよびコンテンツ管理システムから仮想フォルダに関する情報を構築する手段と、
コンテンツの追加／削除情報を追加／削除コンテンツリストに登録する手段と、
仮想フォルダ定義情報に仮想フォルダの定義情報を登録する手段と、
仮想フォルダ定義情報、追加／削除コンテンツリストにアクセスする手段と、
コンテンツ管理システムにアクセスする手段を有する仮想フォルダ構築装置について説明した。
【００３５】
最後に実施の形態１に示した仮想フォルダ構築装置１０１のハードウェア構成例について説明する。
図１１は、実施の形態１に示す仮想フォルダ構築装置１０１のハードウェア資源の一例を示す図である。なお、図１１の構成は、あくまでも仮想フォルダ構築装置１０１のハードウェア構成の一例を示すものであり、仮想フォルダ構築装置１０１のハードウェア構成は図１１に記載の構成に限らず、他の構成であってもよい。
【００３６】
図１１において、仮想フォルダ構築装置１０１は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００３７】
通信ボード９１５は、ネットワークに接続されている。例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００３８】
上記プログラム群９２３には、実施の形態１の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、実施の形態１の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の合成」、「〜の検索」、「〜の追加」、「〜の削除」、「〜登録」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００３９】
また、実施の形態１の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」、であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、実施の形態１の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態１の「〜部」の手順や方法をコンピュータに実行させるものである。
【００４０】
このように、実施の形態１に示す仮想フォルダ構築装置１０１は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【図面の簡単な説明】
【００４１】
【図１】実施の形態１に係る仮想フォルダ構築装置の構成例を示す図。
【図２】実施の形態１に係るフォルダ定義情報の例を示す図。
【図３】実施の形態１に係る追加／削除コンテンツリストの例を示す図。
【図４】実施の形態１に係る仮想フォルダ定義処理の例を示すフローチャート図。
【図５】実施の形態１に係るコンテンツ追加処理の例を示すフローチャート図。
【図６】実施の形態１に係るコンテンツ削除処理の例を示すフローチャート図。
【図７】実施の形態１に係るコンテンツ一覧処理の例を示すフローチャート図。
【図８】実施の形態１に係る検索条件式の合成例を示す図。
【図９】実施の形態１に係る仮想フォルダ一覧処理の例を示すフローチャート図。
【図１０】実施の形態１に係る仮想フォルダ構築装置の動作例を示すフローチャート図。
【図１１】実施の形態１に係る仮想フォルダ構築装置のハードウェア構成例を示す図。
【符号の説明】
【００４２】
１００  アプリケーション、１０１  仮想フォルダ構築装置、１０２  入出力処理部、１０３  仮想フォルダ情報出力部、１０４  コンテンツ操作部、１０５  仮想フォルダ定義部、１０６  ＤＢアクセス部、１０７  ＣＭＳアクセス部、１０８  ＣＭＳ−ＡＰＩ、１０９  コンテンツ管理システム、１１０  リポジトリ。
【図１】
2008198053.tif 000003
【図２】
2008198053.tif 000004
【図３】
2008198053.tif 000005
【図４】
2008198053.tif 000006
【図５】
2008198053.tif 000007
【図６】
2008198053.tif 000008
【図７】
2008198053.tif 000009
【図８】
2008198053.tif 000010
【図９】
2008198053.tif 000011
【図１０】
2008198053.tif 000012
【図１１】
2008198053.tif 000013