(57)【要約】【課題】ユーザの目的に応じて容易に電子ファイルを分類することができ、また、電子ファイルの保存場所を変更した場合でも、電子ファイルと属性情報との関連を保持することができる情報処理装置を提供する。【解決手段】要素の集合を記録した属性情報と関連付けられた複数の電子ファイルを仮想電子ファイルとして、階層化された仮想フォルダ５０７〜５１７に分類する。また、所定の仮想フォルダに対し、ユーザ操作により前記要素に含まれる分類条件を選択させるためのリスト５１８〜５２１を表示し、所定の仮想フォルダに分類されている属性情報から前記リストで選択された分類条件を持つ要素を検索して該要素が見つかった場合に、所定の仮想フォルダの子仮想フォルダを生成して、該子仮想フォルダに前記要素を持つ属性情報を分類する。【選択図】図５
2011159118.tif 000002
【特許請求の範囲】
【請求項１】
要素の集合を記録した属性情報と関連付けられた複数の電子ファイルを仮想電子ファイルとして、階層化された仮想フォルダに分類する情報処理装置であって、
所定の仮想フォルダに対し、ユーザ操作により前記要素に含まれる分類条件を選択させるためのリストを表示するリスト表示手段と、
前記所定の仮想フォルダに分類されている属性情報から前記リストで選択された分類条件を持つ要素を検索する検索手段と、
該検索手段による検索により前記属性情報から前記要素が見つかった場合に、前記所定の仮想フォルダの子仮想フォルダを生成して、該子仮想フォルダに前記要素を持つ属性情報を分類する分類手段と、を備えることを特徴とする情報処理装置。
【請求項２】
前記リスト表示手段は、既に上位階層の仮想フォルダと関連付けられている分類条件を除いた分類条件をリストとして表示する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記分類手段は、前記子仮想フォルダに分類した属性情報を前記所定の仮想フォルダから削除する、ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記リスト表示手段は、前記所定の仮想フォルダに分類されている属性情報の全ての要素を検索し、重複しない要素に含まれる分類条件をリスト表示する、ことを特徴とする請求項１〜３のいずれか一項に記載の情報処理装置。
【請求項５】
前記分類手段は、前記仮想フォルダに分類されていた前記仮想電子ファイルを他の仮想フォルダにコピーする際に、コピー先の前記他の仮想フォルダ及び該他の仮想フォルダの上位階層の仮想フォルダの分類条件に応じた要素をコピー元の属性情報に付与して、該属性情報を前記仮想フォルダ及び前記他の仮想フォルダに分類する、ことを特徴とする請求項１〜４のいずれか一項に記載の情報処理装置。
【請求項６】
前記仮想電子ファイルの削除操作を行う際に、該仮想電子ファイルが分類されている仮想フォルダに関連づけられた属性情報の要素のみを削除するか、該仮想フォルダの上位階層の仮想フォルダに関連付けられた属性情報の要素のどの階層までの要素を削除するかを選択するための選択手段を備えることを特徴とする請求項１〜５のいずれか一項に記載の情報処理装置。
【請求項７】
前記分類手段は、ある分類条件で分類されている仮想フォルダを他の仮想フォルダへコピーする操作を行った際に、コピー元の前記仮想フォルダの分類条件で、コピー先の前記他の仮想フォルダを分類することを特徴とする請求項１〜６のいずれか一項に記載の情報処理装置。
【請求項８】
要素の集合を記録した属性情報と関連付けられた複数の電子ファイルを仮想電子ファイルとして、階層化された仮想フォルダに分類する情報処理装置の制御方法であって、
所定の仮想フォルダに対し、ユーザ操作により前記要素に含まれる分類条件を選択させるためのリストを表示するリスト表示ステップと、
前記所定の仮想フォルダに分類されている属性情報から前記リストで選択された分類条件を持つ要素を検索する検索ステップと、
該検索ステップでの検索により前記属性情報から前記要素が見つかった場合に、前記所定の仮想フォルダの子仮想フォルダを生成して、該子仮想フォルダに前記要素を持つ属性情報を分類する分類ステップと、を備えることを特徴とする情報処理装置の制御方法。
【請求項９】
要素の集合を記録した属性情報と関連付けられた複数の電子ファイルを仮想電子ファイルとして、階層化された仮想フォルダに分類する情報処理装置を制御するプログラムであって、
所定の仮想フォルダに対し、ユーザ操作により前記要素に含まれる分類条件を選択させるためのリストを表示するリスト表示ステップと、
前記所定の仮想フォルダに分類されている属性情報から前記リストで選択された分類条件を持つ要素を検索する検索ステップと、
該検索ステップでの検索により前記属性情報から前記要素が見つかった場合に、前記所定の仮想フォルダの子仮想フォルダを生成して、該子仮想フォルダに前記要素を持つ属性情報を分類する分類ステップと、をコンピュータに実行させることを特徴とするプログラム。
【請求項１０】
請求項９に記載のプログラムを格納した、
ことを特徴とするコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想的なファイルとフォルダを使用して階層的に電子ファイルを管理する情報処理装置、情報処理装置の制御方法、プログラム及び記憶媒体に関する。
【背景技術】
【０００２】
従来、仮想フォルダによりフォルダ構成を柔軟に組み替え可能にする仮想ファイルシステムが提案されている（特許文献１）。
【０００３】
このシステムでは、データベースに電子ファイルに関するメタ情報が格納されている。メタ情報は、例えば、「年度」、「部」、「タイプ」、「作者名」といったデータベースの階層を示すフィールドを有し、各フィールドは、「１９９７」、「開発部」、「技術情報」、「ＡＡＡ」といった属性情報を有している。また、一つのフィールドのセットには、電子ファイルの実態と関連付けられるパス情報も格納されている。
【０００４】
そして、仮想フォルダにて階層構造を表現する際に、フォルダ名としてフィールドの属性名が採用されている。同一のフィールドはフォルダ上にて同じ階層レベルで並べられ、並べる際の分類は、同名のフィールドの属性名にて行われる。
【０００５】
また、このシステムでは、階層定義ファイルを用意し参照することによって、フォルダの階層構成順序を柔軟に組み替え易くしている。階層定義ファイルには、各フィールド名とフィールドのフォルダ階層の深さの順序を表すレベルが記載されている。仮想フォルダで階層を表現する際に、この階層定義ファイル中の各々のフィールドと関連付けられたレベルを変更することで、フォルダ階層の順序が変更可能になっている。
【０００６】
また、ＧＵＩ（グラフィカルユーザインタフェース)操作により簡単に電子ファイルに属性情報を付与し、その属性情報の内容により電子ファイルをユーザの目的に応じて動的に仕分けするシステムが提案されている（特許文献２）。
【０００７】
このシステムでは、アプリケーション上にて仮想ファイルおよび仮想フォルダがアイコンで表現されており、仮想フォルダの名称は分類のためのカテゴリ名が使用されている。
【０００８】
このシステムでは、仮想フォルダや仮想ファイルをＧＵＩのコピー操作や削除操作を行うことで、実電子ファイルのコピー処理や削除処理が行われるわけではなく、分類するカテゴリへのコピーや分類されているカテゴリからの削除が行われる。実際には、カテゴリと関連付けられたメタ情報が付与されたり削除されたりしている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０００−９０１０５号公報
【特許文献２】特表２００６−５２１５９４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、上記特許文献１のシステムでは、フォルダ毎に分類する際のフォルダ階層構造を規定しておく必要があり、各フォルダの枝の構成は同一のフィールドでしか作成することができない。
【００１１】
例えば、図２２では、フォルダの第一階層を「技術報告」、「特許」、「改善提案」と先の例のフィールドにおける「タイプ」で分類されているが、「技術報告」フォルダの下の第二階層のフォルダ２２０３，２２０４は「部」で分類されている。また、「特許」フォルダの下の第二階層のフォルダ２２０６，２２０７は、「作者名」で分類されている。
【００１２】
しかし、上記特許文献１のシステムでは、このように同一階層のフォルダを別の条件で分類することはできず、フォルダの第二階層が「部」であれば、他の全ての第二階層のフォルダも「部」でないと分類できないといった問題がある。
【００１３】
また、図２２の例では、「技術報告」の枝は二階層、「特許」の枝は三階層になっているが、このように枝毎に階層数を変えることができない。
【００１４】
このように、上記特許文献１のシステムでは、分類条件をフォルダの階層毎に変えることができず、また、フォルダの枝毎にフォルダを自在に細分化することができず、ユーザの目的に応じてフォルダを柔軟に構成できないという問題がある。
【００１５】
更には、上記特許文献１のシステムでは、フィールド自体をカテゴリ分けすることができず、例えば、「場所」というフィールドを更に、「都道府県」、「市区」とカテゴリに分類したサブフィールドを設定することができない。このため、ユーザは、分類条件を設定する際、細かく分類条件を付与し難く、分類する条件の内容が理解し難いという問題がある。
【００１６】
更に、上記特許文献１及び２のシステムでは、ファイルの属性情報は、データベースに存在しており、記憶装置に保存されている実電子ファイルの保存場所を変更した場合には、データベース上のファイルの属性情報と実電子ファイルとの関連が切れてしまう。このため、電子ファイルに設定された属性情報の内容が確認できなくなってしまうという問題がある。
【００１７】
そこで、本発明は、ユーザの目的に応じて容易に電子ファイルを分類することができ、また、電子ファイルの保存場所を変更した場合でも、電子ファイルと属性情報との関連を保持することができる仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１８】
上記目的を達成するために、本発明の情報処理装置は、要素の集合を記録した属性情報と関連付けられた複数の電子ファイルを仮想電子ファイルとして、階層化された仮想フォルダに分類する情報処理装置であって、所定の仮想フォルダに対し、ユーザ操作により前記要素に含まれる分類条件を選択させるためのリストを表示するリスト表示手段と、前記所定の仮想フォルダに分類されている属性情報から前記リストで選択された分類条件を持つ要素を検索する検索手段と、該検索手段による検索により前記属性情報から前記要素が見つかった場合に、前記所定の仮想フォルダの子仮想フォルダを生成して、該子仮想フォルダに前記要素を持つ属性情報を分類する分類手段と、を備えることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、ユーザの目的に応じて容易に電子ファイルを分類することができ、また、電子ファイルの保存場所を変更した場合でも、電子ファイルと属性情報との関連を保持することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施形態である情報処理装置のシステム構成例を説明するためのブロック図である。
【図２】情報処理装置とネットワーク機器とをネットワーク接続したシステムの一例を示すシステム構成図である。
【図３】情報処理装置における電子ファイル管理システムの一例を示すブロック図である。
【図４】電子ファイル管理システムにおける実電子ファイルと関連付けられた属性情報ファイルを説明するための説明図である。
【図５】ＣＲＴに表示される電子ファイル管理システムのビューを提供するウィンドウの説明図である。
【図６】プルダウンリストの一例を示す図である。
【図７】タグ名が収集されたリストのイメージ図である。
【図８】リストの作成処理の一例を示すフローチャート図である。
【図９】図８での処理で作成されたリストを図５に示すウィンドウのコンボボックスの一覧に設定した場合のイメージ図である。
【図１０】図５において、電子ファイル管理システムが管理する階層構造メモリの内容を構造的に示した図である。
【図１１】ノードの構成例を示す図である。
【図１２】仮想フォルダの横に配置されたコンボボックスのリスト項目を選択した際の処理の一例を説明するためのフローチャート図である。
【図１３】本発明の第２の実施形態である情報処理装置において、電子ファイル管理システムに新規に電子ファイルを関連付ける際に表示されるウィンドウの一例を示す図である。
【図１４】メニュー項目の選択画面例を示す図である。
【図１５】図４に示す属性情報ファイルを新規に作成した場合の一例を示す図である。
【図１６】図４に示す属性情報ファイルの電子ファイルのコピーを実施した際の属性情報ファイルの要素の追加例を示す図である。
【図１７】図１８に示す属性情報ファイルに設定すべき要素の一覧を作成する処理の一例を示すフローチャート図である。
【図１８】設定要素のリストの一例を示す図である。
【図１９】図５における仮想フォルダの「Ｂ村Ｂ子」に分類されている電子ファイルの削除操作を行った際に表示されるウィンドウの一例を示す図である。
【図２０】仮想フォルダのコピーを実施した際のコピー後の仮想フォルダツリーの一例を示す図である。
【図２１】仮想フォルダのコピーを実施した際の属性情報ファイルの要素の追加例を説明するための図である。
【図２２】従来の不具合を説明するための説明図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態を図面を参照して説明する。
【００２２】
（第１の実施形態）
図１は、本発明の第１の実施形態である情報処理装置のシステム構成例を説明するためのブロック図である。
【００２３】
図１に示すように、本実施形態の情報処理装置１０００は、システムバス１０９に接続される各デバイス１０２〜１０８を総括的に制御するＣＰＵ１０１を備える。ＣＰＵ１０１は、ＲＯＭ１０３あるいは外部メモリ１１３に記憶されたＯＳ（オペレーティングシステム）、本発明を実現する電子ファイル管理システム等のアプリケーションモジュール（ＯＳに含まれる場合もある）等をＲＡＭ１０２上で実行する。
【００２４】
また、ＣＰＵ１０１は、ＲＯＭ１０３のプログラム用ＲＯＭあるいは外部メモリ１１３に記憶された文書処理プログラム等のアプリケーションプログラムに基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した処理を実行する。
【００２５】
これらの処理の場合、制御の主体は、ハードウェア上はＣＰＵ１０１である。一方、ソフトウェア上の制御の主体は、アプリケーションプログラムやファイル制御プログラム等である。従って、以下の説明では、処理の主体として、アプリケーションプログラム，ファイル制御プラグラム等を用いるが、ハードウェア的には、アプリケーションプログラム，ファイル制御プログラム等を実行するＣＰＵ１０１が実際の処理を実行することになる。
【００２６】
ＲＯＭ１０３のフォント用ＲＯＭあるいは外部メモリ１１３には、上記プログラムを実行する際に使用するフォントデータ等を記憶される。また、ＲＯＭ１０３のデータ用ＲＯＭあるいは外部メモリ１１３には、上記プログラム等を実行する際に使用する各種データ（例えば、ディレクトリ情報）が記憶される。
【００２７】
ＲＡＭ１０２は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。キーボードコントローラ（ＫＢＣ）１０４は、キーボード１１０からのキー入力を制御する。マウスコントローラ（ＭＳＣ）１０５は、ポインティングデバイスであるマウス１１１からの入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）１０６は、ＣＲＴ１１２の表示を制御する。ディスクコントローラ（ＤＫＣ）１０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタへの印刷指示を行うプログラム等を記憶する外部メモリ１１３とのアクセスを制御する。
【００２８】
ネットワークコントローラ（ＮＷＣ）１０８は、所定の双方向性インタフェースを介して他の情報処理装置やネットワーク機器との通信制御処理を実行する。なお、ＣＰＵ１０１は、例えばＲＡＭ１０２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１１２上での文字の表示を可能としている。また、ＣＰＵ１０１は、ＣＲＴ１１２上のＭＳ１１１で指示されたコマンドに基づいて登録された種々のウィンドウを開き、種々のデータ処理を実行する。
【００２９】
図２は、本実施形態の情報処理装置１０００とネットワーク機器とをネットワーク接続したシステムの一例を示すシステム構成図である。
【００３０】
図２では、複数の情報処理装置１０００がネットワーク２０００を介してカメラ３０００及びＰＤＡ（携帯情報端末）４０００と互いに通信可能に接続されている。
【００３１】
本実施形態の情報処理装置１０００は、ＮＷＣ１０８を介してネットワーク２０００に接続された機器上に存在する物理電子ファイル（例えば、カメラ３０００に保存された電子画像ファイル等）を参照したり取得したりすることも可能である。
【００３２】
図３は、本実施形態の情報処理装置１０００における電子ファイル管理システムの一例を示すブロック図である。
【００３３】
図３において、実行処理制御部３０１は、ＧＵＩ上に配置されたエディットボックス等のコントロールに対してＫＢ１１０やＭＳ１１１で入力されたクリック操作等のイベントや入力文字等の情報を取得し、取得したイベントや情報を基に、必要な処理を実行する。
【００３４】
属性情報ファイル管理部３０２は、外部メモリ１１３に保存された属性情報ファイル（後述する。）の存在位置と電子ファイルの実態の存在位置であるパス情報を管理する。そして、属性情報ファイル管理部３０２は、属性情報ファイル群３０６中の１つの属性情報ファイルと電子ファイル群３０７中の１つの電子ファイルの実態とを関連付ける。
【００３５】
なお、電子ファイルの実態は、外部メモリ１１３上の別々の物理フォルダ上に分散されていても良い。属性情報ファイルには、電子ファイルの実態の位置が記録される。また、属性情報ファイル管理部３０２は、属性情報ファイルに相当する情報が電子ファイル中に保持されている場合には、電子ファイルから属性情報を取り出したり、取り出した属性情報を格納したりする処理を行う。
【００３６】
属性情報ファイル制御部３０３は、属性情報ファイル管理部３０２から属性情報ファイルの一覧を取得し、個々の属性情報ファイル中に記録された後述する要素を取り出したり格納したりする。また、属性情報ファイル制御部３０３は、属性情報ファイル中に記録された要素の検索、編集、削除、追加処理を行う。
【００３７】
更に、属性情報ファイル制御部３０３は、階層表現可能な要素の階層設定を解析し、また、要素を構成する後述するタグや要素内容の取り出しも行う。
【００３８】
仮想フォルダ構成管理部３０４は、仮想フォルダのフォルダ構造と各フォルダに分類されたファイルの管理を行う。仮想フォルダ構成管理部３０４は、属性情報ファイル制御部３０３から全属性情報ファイルが持つ要素のタグの一覧を取得し、指定されたタグによりそのタグを持つ属性情報ファイルと関連付けられたファイルの分類を行う。また、仮想フォルダ構成管理部３０４は、各フォルダが何のタグで分類されているかを管理する。
【００３９】
また、仮想フォルダ構成管理部３０４は、仮想ファイルや仮想フォルダのコピー操作や削除操作が行われた際、コピーや削除の対象となる属性情報ファイルの要素を特定し、変更が必要な要素と該要素のタグを属性情報ファイル制御部３０３に伝える。更に、仮想フォルダ構成管理部３０４は、仮想フォルダのコピー操作が行われた際に、コピー先仮想フォルダの分類の変更を管理する。
【００４０】
ＧＵＩ生成部３０５は、アプリケーションの概観の表示や、例えば図５に示すフォルダ階層の表示イメージ、ファイルの一覧などの表示イメージを生成する処理を担い、生成した表示イメージをＣＲＴ１１２等の表示部に表示させる。
【００４１】
図４は、電子ファイル管理システムにおける実電子ファイルと関連付けられた属性情報ファイル４１０を説明するための説明図である。
【００４２】
図４において、属性情報ファイル４１０は、外部メモリ１１３上に電子ファイルとして電子ファイル管理システムが参照可能な場所に、重複しないユニークなファイル名にて保存され、電子ファイル管理システムにて管理される。また、属性情報ファイル４１０には、要素の集合が記録される。
【００４３】
１要素は、開始タグ、要素内容および終了タグにて表現される。開始タグは、タグ名と要素属性を持ち「＜＞」にて括られる。終了タグは、開始タグのタグ名の前に「／」が付いたタグ名で「＜＞」にて括られており、開始タグと終了タグは対になっている。また、開始タグと終了タグとの間にある情報が要素内容である。例えば、要素４０２は、「＜イベント＞」が開始タグ、「運動会」は、要素内容、「＜／イベント＞」は、終了タグとなる。また、開始タグ４０１においては、「ｒｏｏｔ」の部分がタグ名、「ｆｉｌｅ＝“Ｃ：￥ＢＢＢ．ｊｐｇ”」の部分が要素属性情報となる。
【００４４】
また、属性情報ファイル４１０は、要素の階層表現が可能であり、開始タグと終了タグとの間の要素内容に要素自身を設定することができ、その要素は子要素となる。例えば、図４において、開始タグ４０１は、子要素に要素４０２，４０３，４０８を有し、また、要素４０３は、子要素に要素４０４〜４０６を有する。
【００４５】
本実施形態では、開始タグ４０１をルート要素と呼び、ルート要素は、各属性情報ファイルに１つだけ存在する。ルート要素の要素属性には、実電子ファイルと属性情報ファイルとを結びつけるリンク情報として実電子ファイルへのパス情報が設定される。図４の例においては、属性情報ファイル「ＱＱＱ．ｘｍｌ」は、実電子ファイルのパス情報として「Ｃ：￥ＢＢＢ．ｊｐｇ」が設定されている。ルート要素の子要素には、実電子ファイルの属性情報が設定される。
【００４６】
つまり、ルート要素は、第一階層の要素となり、要素４０２，４０３，４０８は、第二階層の要素となり、要素４０４，４０５，４０６は、第三階層の要素となる。なお、以下の説明では、「タグ名」と表現している部分は、開始タグのタグ名を表す。
【００４７】
ある要素の要素内容を取得したい場合には、各階層のタグ名を「／」で連結することで特定する。
【００４８】
例えば、要素４０４の要素内容を取得したい場合には、属性情報ファイル制御部３０３に要素内容の取得要求として属性情報ファイル名である「ＱＱＱ．ｘｍｌ」と「ｒｏｏｔ／年月日／年」を渡す。これにより、属性情報ファイル「ＱＱＱ．ｘｍｌ」から要素４０４の要素内容である「２００５」を取得する。「ｒｏｏｔ／年月日／年」の形式は、要素パスと呼ぶ。つまり、要素パスで表現することで、「／」の数により要素の階層数を判断することができる。
【００４９】
ある属性情報ファイルの要素の一覧を取得する場合には、要素パスの一覧が取得される。例えば、図４の例において、属性情報ファイル「ＱＱＱ．ｘｍｌ」の要素の一覧を取得したい場合には、属性情報ファイル制御部３０３に要素の一覧取得要求として属性情報ファイル名である「ＱＱＱ．ｘｍｌ」を渡す。これにより、属性情報ファイル制御部３０３は、「ｒｏｏｔ」、「ｒｏｏｔ／イベント」、「ｒｏｏｔ／年月日」、「ｒｏｏｔ／年月日／年」、「ｒｏｏｔ／年月日／月」、「ｒｏｏｔ／年月日／日」、「ｒｏｏｔ／被写体」という一覧を返す。
【００５０】
なお、本実施形態では、要素パスから「ｒｏｏｔ」の部分を外した要素パスで処理している部分が多い。これは、ルート要素は、属性情報ファイルに１つしか存在せず、処理の過程においては、「ｒｏｏｔ」を付けて処理する必要がなく、属性情報ファイルを実際に処理する際に「ｒｏｏｔ」を付与して処理を行えば良いからである。そのため、以下の説明では、意図的に「ｒｏｏｔ」を外した形で要素パスと呼んでいる部分が存在する。
【００５１】
図５は、ＣＲＴ１１２に表示される電子ファイル管理システムのビューを提供するウィンドウ５０１の説明図である。
【００５２】
図５において、メニュー５０３は、「ファイル」、「編集」、「表示」等のメニューでＭＳ１１１にて何れかのメニュー選択することで該メニューの持つリストが図６の例で示すようにプルダウンされる。そして、ＭＳ１１１で図６のリスト項目の何れかを選ぶことで、該リストに関連付けられた処理を電子ファイル管理システムは実行する。
【００５３】
ツールバー５０４は、メニュー５０３が持つ処理のリスト項目をアイコンイメージで表したものである。あるメニューのリスト項目の一つのアイコンイメージの１つは関連付けられており、アイコンの何れかをＭＳ１１１にて押下すると、図６のメニューリストのプルダウンを行うことなく、メニュー５０３と関連づけられた処理を電子ファイル管理システムは実行する。ツリービュー５２８は、階層化された仮想フォルダのイメージを表示するエリアである。
【００５４】
リストビュー５２７は、現在選択されている仮想フォルダ(図５の例では、Ｂ村Ｂ子のフォルダ)に分類されている電子ファイルの情報の一覧を表示するエリアである。リストビュー５２７は、１つの行に１つの電子ファイルの情報を表示し、また、電子ファイルに関する複数の情報を列で分けて表示することができる。リストビュー５２７は、電子ファイルのファイル情報の項目を識別するフィールド５０５，５０６を持ち、図５の例では、フィールド５０５の列にはファイル名、フィールド５０６の列には電子ファイルのファイルサイズがリストされている。なお、リストビュー５２７は、図５の例では、文字情報として表示されているが、アイコン等の画像で表示される場合もある。
【００５５】
縦スクロールバー５２５は、ツリービュー５２８やリストビュー５２７で縦方向に表示しきれない表示データを上下にスクロールすることで表示させることができる。また、横スクロールバー５２６は、ツリービュー５２８やリストビュー５２７で横方向に表示しきれない表示データを左右にスクロールすることで表示させることができる。
【００５６】
ステータスバー５０２は、電子ファイル管理システムが簡単な文字情報を表示する領域である。図５の例では、現在選択されている仮想フォルダを示す「Ｂ村Ｂ子」が表示されている。
【００５７】
ルートフォルダ５０７は、フォルダツリーの最上位階層となる仮想フォルダである。ルートフォルダ５０７は、ルートフォルダ以下が階層化されていない場合においても、階層化されている場合においても、仮想ファイルシステムにおいて必ず１つだけ存在する。
【００５８】
仮想フォルダ５０８〜５１７のうち、仮想フォルダ５０８，５１１，５１７は、ルートフォルダの１つ下の階層である第二階層のフォルダで、図５の例では、「イベント」タグ名で分類された結果の仮想フォルダとなっている。仮想フォルダ５０９，５１０は、仮想フォルダ５０８の「旅行」フォルダの１つ下の階層である第三階層のフォルダであり、仮想フォルダ５０８を「都道府県」タグ名で分類された結果の仮想フォルダとなっている。同様に、各仮想フォルダ毎にタグで分類していくことで、仮想フォルダの階層化を行っている。
【００５９】
コンボボックス５１８〜５２１は、仮想フォルダを更に階層化していくための選択肢であるタグの一覧がリストされる。コンボボックス５１８〜５２１は、右側にあるボタンをユーザ操作により押下することにより、選択されるリストが表示され、該リストからユーザ操作により選択された項目が表示される。
【００６０】
また、コンボボックス５１８〜５２１は、仮想フォルダの横に配置されており、該仮想フォルダと関連付けられる。コンボボックス５１８〜５２１のリスト中からある項目が選択された場合、選択された項目と関連付けられている仮想フォルダに現在分類されている電子ファイルの全ての属性情報ファイル中の要素を検索する。そして、コンボボックス５１８〜５２１で選択されている項目名と合致するタグ名に設定されている要素内容をフォルダ名として、該仮想フォルダの子仮想フォルダとして表示される。
【００６１】
例えば、図５では、ルートフォルダ５０７と関連付けられるコンボボックス５１８にて「イベント」を選択した場合、ルートフォルダ５０７に分類されていた電子ファイルにおいて、属性情報ファイルに「イベント」タグ名を持つ要素を検索する。そして、検索した要素の要素内容に「旅行」を持つ属性情報ファイルがあれば、ルートフォルダ５０７の子仮想フォルダとして「旅行」フォルダが生成され、その属性情報ファイルと関連付けられている電子ファイルは「旅行」フォルダに分類される。同様に「イベント」タグ名を持つ要素に「運動会」を持つ属性情報ファイルと関連づけられた電子ファイルは、「運動会」フォルダに分類される。
【００６２】
更に、「旅行」フォルダと関連づけられたコンボボックス５１９において「都道府県」を選んだ場合には、その時点で「旅行」フォルダに分類されていた電子ファイルが持つ属性情報ファイルから「都道府県」タグ名を持つ要素を検索する。そして、検索した要素の要素内容を「旅行」の子仮想フォルダとして生成し、「旅行」フォルダに分類されていた電子ファイルは、該生成された子仮想フォルダに分類される。
【００６３】
また、ある仮想フォルダにおいて、該仮想フォルダの上位階層の仮想フォルダと関連付けられているコンボボックスにて既に選択されている項目名（タグ名）は、既に分類項目として使用されているタグである。このため、該仮想フォルダと関連付けられるコンボボックスのリスト項目としては表示されない。
【００６４】
ファイル名５２３は、電子ファイルのファイル名で、図５では、現在選択されている仮想フォルダに分類されている電子ファイルの一覧を表示する例を示しており、ここで表示される電子ファイル名を仮想電子ファイルと呼ぶ。
【００６５】
図５の例では、仮想フォルダ５１５の「Ｂ村Ｂ子」が選択されている。この場合、電子ファイル管理システムと関連付けられた全電子ファイルの属性情報ファイルから、「イベント」タグ名を持つ要素の要素内容である「運動会」を属性情報に持つ電子ファイルが分類される（図４参照）。
【００６６】
また、該分類された電子ファイルの持つ属性情報から「年」タグ名を持つ要素の要素内容である「２００５」を属性情報に持つ電子ファイルが分類される。更に、該分類された電子ファイルの持つ属性情報から「被写体」タグ名を持つ要素の要素内容である「Ｂ村Ｂ子」を持つ電子ファイルが分類され、これらの分類結果のファイルの一覧が表示されている。
【００６７】
情報５２４は、電子ファイル名５２３の電子ファイルに関する情報を表示する。図５の例では、ファイルの電子ファイルのサイズ情報を表示している。例えば、「ＡＡＡ．ｄｏｃ」のファイルサイズは、「１００ＫＢ（キロバイト）」を表している。情報５２４で表示される内容は、フィールド５０６の項目において何を表示するかによって異なる。例えば、「サイズ」ではなく、「ファイルの作成日」の場合もある。
【００６８】
次に、タグ名を使って仮想フォルダを分類する方法について述べる。
【００６９】
まず、図４及び図５を参照して、仮想フォルダ５１５の「Ｂ村Ｂ子」に仮想電子ファイル「ＢＢＢ．ｊｐｇ」が分類されるまでの処理例について説明する。
【００７０】
電子ファイル管理システムは、初回起動時など過去に仮想フォルダの構築を行っていない場合には、ツリービュー５２８に表示される仮想フォルダツリーには、ルートフォルダ５０７とコンボボックス５１８のみ表示される。コンボボックス５１８には、電子ファイル管理システムが管理する属性情報ファイルの全てが持つタグの一覧がリストされ、初期状態では何も選択されていない。
【００７１】
ユーザがコンボボックス５１８に、図９に示すタグ名がリストされている項目から「イベント」を選んだ場合、電子ファイル管理システムは、管理している全ての属性情報ファイルから「ｒｏｏｔ／イベント」タグを持つ要素を検索する。そして、検索で要素が見つかった場合には、ルートフォルダ５０７の子仮想フォルダとして該要素の要素内容と同名の仮想フォルダが未だ無い場合には生成し、該子仮想フォルダに該要素を持つ属性情報ファイルを分類する。
【００７２】
図５の例では、仮想フォルダ５０８の「旅行」、仮想フォルダ５１１の「運動会」、仮想フォルダ５１７の「遊園地」が生成されている。図４の属性情報ファイル４１０は、要素４０２に「ｒｏｏｔ／イベント」のタグ名の要素を持っており、要素内容は、「運動会」であるため、この時点で、仮想フォルダ５１１の「運動会」に分類される。
【００７３】
更に、仮想フォルダ５１１に子仮想フォルダを作成する場合、通常、まだ分類されていないフォルダは、仮想フォルダ５０９の「東京」のようにコンボボックスが表示されていない。そこで、例えば、図６で示すように、メニュー５０３の「編集」が持つ選択リストを表示し、メニューリスト６０４である「新規分類」を選択する。すると、仮想フォルダ５１１の「運動会」の横に仮想フォルダ５１１と関連付けられたコンボボックス５２０が表示される。
【００７４】
コンボボックス５２０には、仮想フォルダ５１１に分類された属性情報ファイルが持つ全ての要素から、既に上位階層の仮想フォルダ５０７と関連付けられたコンボボックス５１８にて選択されている「イベント」を除いたタグ名の一覧がリスト表示される。また、コンボボックス５２０が表示された時点では、コンボボックス５２０は何も選択されていない状態である。
【００７５】
次に、コンボボックス５２０のリスト表示にて「  年」を選択すると、電子ファイル管理システムは、現在、仮想フォルダ５１１の「運動会」に分類されている属性情報ファイルの全てから「ｒｏｏｔ／年月日／年」タグを持つ要素を検索する。なお、後述するが、「年」は、「年月日」の子要素のためインデントされている。そして、検索で要素が見つかった場合には、仮想フォルダ５１１の子仮想フォルダとして該要素の要素内容と同名の仮想フォルダが未だ無い場合には生成し、該子仮想フォルダに該要素を持つ属性情報ファイルを分類する。
【００７６】
図５の例では、仮想フォルダ５１２の「２００４」、仮想フォルダ５１３の「２００５」が生成されている。図４の属性情報ファイル４１０には、要素４０４に「ｒｏｏｔ／年月日／年」のタグ名の要素を持っており、要素内容は、「２００５」であるため、この時点で、仮想フォルダ５１３の「２００５」に分類される。
【００７７】
同様にして、仮想フォルダ５１３と関連付けられたコンボボックス５２１を表示する。該コンボボックス５２１には、仮想フォルダ５１３に分類された属性情報ファイルが持つ全ての要素から、上位階層の仮想フォルダ５１１，５０７での分類に使用されたタグ名、「イベント」と「   年」が外されたタグ名の一覧がリストされる。
【００７８】
コンボボックス５２１にて「被写体」を選択すると、電子ファイル管理システムは、現在、仮想フォルダ５１３の「２００５」に分類されている属性情報ファイル全てから「ｒｏｏｔ／被写体」のタグ名を持つ要素を検索する。そして、検索で要素が見つかった場合には、仮想フォルダ５１３の子仮想フォルダとして該要素の要素内容と同名の仮想フォルダが未だ無い場合には生成し、該子仮想フォルダに該要素を持つ属性情報ファイルを分類する。
【００７９】
図５の例では、仮想フォルダ５１４の「Ａ田Ａ男」、仮想フォルダ５１５の「Ｂ村Ｂ子」、仮想フォルダ５１６の「Ｃ藤Ｃ介」が生成されている。図４の属性情報ファイル４１０は、要素６０８に「ｒｏｏｔ／被写体」のタグ名の要素を持っており、要素内容は、「Ｂ村Ｂ子」であるため、この時点で、仮想フォルダ５１５の「Ｂ村Ｂ子」に分類される。
【００８０】
結果として、仮想フォルダ５１５の「Ｂ村Ｂ子」には、図４の属性情報ファイル４１０の「ＱＱＱ．ｘｍｌ」が分類されており、また、属性情報ファイル４１０のルート要素の要素属性には、「ｆｉｌｅ＝“Ｃ：￥ＢＢＢ．ｊｐｇ”」が設定されている。このため、属性情報ファイル４１０は、実電子ファイル「Ｃ：￥ＢＢＢ．ｊｐｇ」と関連付けられており、仮想フォルダ５１５の「Ｂ村Ｂ子」を選択した場合、リストビュー５２７のファイル名の一覧には、「ＢＢＢ．ｊｐｇ」が表示される。
【００８１】
次に、上記の内容を実現するための具体的な処理について述べる。
【００８２】
まず、図５におけるコンボボックス５１８〜５２１にリストされるタグ名の一覧の収集方法について説明する。タグ名の一覧は、分類を実施する仮想フォルダ各々においてＲＡＭ１０２上のメモリ領域に作成される。
【００８３】
図７は、タグ名が収集されたリストのイメージ図である。リスト７０１には、各仮想フォルダ毎に分類される全属性情報ファイルが持つタグで重複しないタグ名を表す要素パスが設定される。また、リスト７０１には、ルート要素のタグ名と既に上位階層で分類に使用されたタグ名は含まれない。
【００８４】
図８は、リスト７０１の作成処理の一例を示すフローチャート図である。図８での処理は、情報処理装置１０００のＣＰＵ１０１が外部メモリ１１３に記憶される電子ファイル管理システムをＲＡＭ１０２上で実行することにより実現される。
【００８５】
まず、電子ファイル管理システムを実行するＣＰＵ１０１は、分類を実施する仮想ファイルに現在分類されている全属性情報ファイルを取得する。例えば、電子ファイル管理システムが初回の起動時で、図５に示されるツリービュー５２８にルートフォルダ５０７しか仮想フォルダが存在しない場合には、該システムが管理している属性情報ファイル全てが対象となる。
【００８６】
ステップＳ８０１では、ＣＰＵ１０１は、分類された属性情報ファイルを取得した場合は、ステップＳ８０２に進み、対象の仮想フォルダに分類されている属性情報ファイルが無いか、或いは分類された全属性情報ファイルを処理し終わった場合は、処理を終了する。
【００８７】
ステップＳ８０２では、ＣＰＵ１０１は、取得した属性情報ファイルが持つ要素全ての一覧を要素パスにて取得し、ステップＳ８０３に進む。
【００８８】
ステップＳ８０３では、ＣＰＵ１０１は、取得した要素の一覧から一つずつの要素を確認する。そして、ＣＰＵ１０１は、要素が無いか、或いは、要素の一覧を一つずつ確認した結果、最後の要素を確認し終わった場合は、ステップＳ８０１に戻って、未だ一覧を取得していない次の属性情報ファイルを確認し、要素が有る場合は、ステップＳ８０４に進む。
【００８９】
ステップＳ８０４では、ＣＰＵ１０１は、その要素がルート要素かどうかを判断する。そして、ＣＰＵ１０１は、ルート要素の場合は、ルート要素はリスト７０１に含めないため、ステップＳ８０３に戻って、次の未確認の要素を確認し、ルート要素でない場合は、ステップＳ８０５に進む。
【００９０】
ステップＳ８０５では、ＣＰＵ１０１は、分類対象の仮想フォルダの上位階層のフォルダの分類処理時に既に使われた要素のタグ名はリストに含める必要がないため、既に使用されたタグ名か否かを確認する。そして、ＣＰＵ１０１は、既に使用されたタグ名である場合は、ステップＳ８０３に戻り、既に使用されたタグ名でない場合は、ステップＳ８０６に進む。なお、既に使用されたタグ名を確認する際、分類対象の仮想フォルダの上位階層の仮想フォルダが何れであるかは、後述する図１０で示される親ノードのノード番号で追跡可能である。
【００９１】
ステップＳ８０６では、ＣＰＵ１０１は、現在確認している要素のタグ名が既にリスト７０１に存在するかを確認する。そして、ＣＰＵ１０１は、タグ名が既にリスト７０１に存在する場合は、リスト７０１にはタグ名を重複して設定しないため、ステップＳ８０３に戻り、次の未確認の要素を確認し、タグ名がリスト７０１に存在しない場合は、ステップＳ８０７に進む。
【００９２】
ステップＳ８０７では、ＣＰＵ１０１は、リスト７０１に対して、追加されていない要素のタグ名を表すルート要素のタグ名を除いた要素パスを追加し、ステップＳ８０３に戻る。
【００９３】
図９は、図８での処理で作成されたリスト７０１を図５に示すコンボボックス５１８〜５２１の一覧に設定した場合のイメージ図である。前述したように、コンボボックス５１８〜５２１では、横のボタンを押下した場合、コンボボックス５１８〜５２１に設定されているリストの一覧が表示される。図９は、そのコンボボックスにおいて該コンボボックスの横のボタンを押下した場合に表示されるリストの一覧の例である。
【００９４】
図９においてリストされる項目名は、図７に示すリスト７０１に設定されているルート要素のタグ名を除いた要素パスから最下位層を現すタグ名のみ表示される。また、要素の階層を表現してユーザの理解を助けるために、階層に応じてインデントが設定されている。例えば、リスト項目名９０４〜９０６は、リスト項目９０３で表現される「年月日」タグ名を持つ要素の子要素であることを表現するために、「年月日」よりも右側にインデントされる。
【００９５】
また、コンボボックスにリストされる任意の項目は選択できないようにするための属性を付与することが可能である。子要素を持つ要素は、子要素しか持たず、具体的な要素内容を持っていないため選択できないようにする必要があり、コンボボックスの選択リストに登録する際には、選択できない属性を付与しておく。例えば、リスト項目９０３で表現される「年月日」タグ名を持つ要素は、「年」、「月」、「日」のタグ名を持つ子要素しか持たない。このため、コンボボックスの選択リストに登録する際には、「年月日」はコンボボックスで表示はされるが選択できないよう属性を付与しておく。
【００９６】
次に、図５に示すコンボボックス５１８〜５２１にリスト表示される分類条件のタグ名を選択することで、仮想フォルダを生成して、電子ファイルを分類する方法について述べる。
【００９７】
まず、電子ファイル管理システムにおける仮想フォルダの階層構造の管理内容について説明する。仮想フォルダの階層構造は、ＲＡＭ１０２に設定される。
【００９８】
図１０は、図５の例において、電子ファイル管理システムが管理する階層構造メモリの内容を構造的に示した図である。図１０の構造が、図５のツリービュー５２８に表現されている仮想フォルダツリーの構成と一致しているのが分かる。図１０において、ノード１００１〜１０１１には、仮想フォルダの情報が設定される。
【００９９】
図１１は、ノードの構成例を示す図である。ノードは、「仮想フォルダ名」１１０１、「分類タグ名」１１０２、「分類された属性情報ファイル」１１０３、「ノード番号」１１０４および「親ノードのノード番号」１１０５で構成される。
【０１００】
例えば、図１０に示すノード１００８の「仮想フォルダ名」１０４７（図１１の１１０１）は「２００５」、「分類タグ名」１０４８（図１１の１１０２）は「被写体」、「分類された属性情報ファイル」１０４９（図１１の１１０３）は「ＮＮＮ．ｘｍｌ」である。また、図１０に示すノード１００８の「ノード番号」１０５０（図１１の１１０４）は「３０００４」、「親ノードのノード番号」１０５１（図１１の１１０５）は「２０００２」である。
【０１０１】
図１１に示す「仮想フォルダ名」１１０１には、仮想フォルダのフォルダ名が設定される。例えば、図１０におけるノード１００１は、図５における仮想フォルダ５０７のフォルダ名が「ルート」であることを示している。
【０１０２】
「分類タグ名」１１０２には、仮想フォルダがどのようなタグ名で現在分類されているかが設定される。また、「分類タグ名」１１０２には、タグ名としてルート要素のタグ名を除いた要素パスが設定される。例えば、図１０におけるノード１００２は、図５における仮想フォルダ５０８と関連付けられるコンボボックス５１９に「都道府県」が選択されていることを表している。ノード１００２には、該コンボボックスに設定されている「都道府県」が属性情報ファイル中のルート要素のタグ名を除いた要素パスである「場所／都道府県」が分類タグ名１０１８に設定されている。
【０１０３】
なお、例えば、図１０における分類タグ名１０２８や分類タグ名１０３３のように分類されていないノードの「分類タグ名」１１０２は空である。
【０１０４】
「分類された属性情報ファイル」１１０３には、仮想フォルダに分類されている電子ファイルの属性情報ファイルが設定される。例えば、図１０におけるノード１０１０は、図５における仮想フォルダ５１５の「Ｂ村Ｂ子」に、属性情報ファイルである「ＱＱＱ．ｘｍｌ」、「ＲＲＲ．ｘｍｌ」、「ＳＳＳ．ｘｍｌ」、および「ＴＴＴ．ｘｍｌ」が分類されていることを示している。
【０１０５】
「ノード番号」１１０４は、ノードに固有の番号を設定する。「ノード番号」１１０４は、電子ファイル管理システムが他ノードのノード番号と重複しない番号を付与することで一意にノードを識別することができる。
【０１０６】
「親ノードのノード番号」１１０５は、親のノードに設定されている「ノード番号」を設定する。つまり、あるノードは、「親ノードのノード番号」を持つノードから分類されていることを表す。例えば、図１０におけるノード１００３には、親ノードのノード番号１０２６に「１０００１」が設定されており、親ノードであるノード１００１のノード番号１０１５には、同じ「１０００１」が設定されている。ルートのノードは親ノードを持たないため「親ノードのノード番号」は空である。
【０１０７】
ノードは、「分類タグ名」１１０２に設定されたタグ名が存在する属性情報ファイルからそのタグ名を持つ要素の要素内容を取得し、その要素内容を「仮想フォルダ名」１１０１にした該ノードの子ノードを生成する。生成された子ノードの「分類された属性情報ファイル」１１０３には、該タグ名を持つ属性情報ファイルが設定される。また、元のノードの「分類された属性情報ファイル」１１０３からは、子ノードに設定された「分類された属性情報ファイル」１１０３は削除される。
【０１０８】
図１０におけるノード１００２を例に採ると、ノード１００２は、元々分類された属性情報ファイル１０１９に、「ＣＣＣ．ｘｍｌ」、「ＤＤＤ．ｘｍｌ」、「ＨＨＨ．ｘｍｌ」、「ＩＩＩ．ｘｍｌ」および、「ＪＪＪ．ｘｍｌ」を持っていたことになる。図５におけるコンボボックス５１９に「都道府県」が設定されたことで、ノード１００２の分類タグ名１０１８に「場所／都道府県」が設定される。
【０１０９】
電子ファイル管理システムは、「ＣＣＣ．ｘｍｌ」、「ＤＤＤ．ｘｍｌ」、「ＨＨＨ．ｘｍｌ」、「ＩＩＩ．ｘｍｌ」、「ＪＪＪ．ｘｍｌ」の各属性情報ファイルから、「場所／都道府県」にルート要素のタグ名を加えた要素パスを使って合致するタグ名を検索する。図１０では、要素を持つ属性情報ファイルが、「ＨＨＨ．ｘｍｌ」、「ＩＩＩ．ｘｍｌ」および「ＪＪＪ．ｘｍｌ」であったことを表している。また、「ＨＨＨ．ｘｍｌ」の要素の要素内容は「東京」であったことも表している。電子ファイル管理システムは、ノード１００２の子ノードとして、ノード１００５を生成し、他ノードと重複しないノード番号をノード番号１０３５に設定し、更にノード１００５の仮想フォルダ名１０３２に「東京」を設定する。
【０１１０】
また、電子ファイル管理システムは、ノード１００２に設定されているノード番号１０２０の「２０００１」を子ノード１００５の親ノードのノード番号１０３５に設定する。更に、電子ファイル管理システムは、ノード１００５の分類された属性情報ファイル１０３４に「ＨＨＨ．ｘｍｌ」を設定し、ノード１００２の分類された属性情報ファイル１０１９から「ＨＨＨ．ｘｍｌ」を削除する。
【０１１１】
同様にして、ノード１００６の仮想フォルダ名１０３７には、「千葉」が設定される。分類された属性情報ファイル１０３９には、「ＩＩＩ．ｘｍｌ」および「ＪＪＪ．ｘｍｌ」が設定された上で、ノード１００２の分類された属性情報ファイル１０１９から該属性情報ファイルは削除される。その結果、ノード１００２の分類された属性情報ファイル１０１９には、「場所／都道府県」のタグ名を持たない属性情報ファイルが残される。なお、ノード１００３の分類された属性情報ファイル１０２４は、空になっているが、これは、ノード１００３の子ノードに属性情報ファイルの全てが分類されたことを示している。
【０１１２】
なお、図１０で示す各ノードと、図５のツリービュー５２８に表示される仮想フォルダツリーの各フォルダとの関連付けは、各仮想フォルダは、インスタンスであり、個々の仮想フォルダにはデータを保有するメモリ領域を持つ。このため、該メモリ領域に各ノードのノード番号を設定しておくことで、ノードと図５のツリービュー５２８に表示される仮想フォルダツリーの各フォルダとが関連付けられる。もしくは、各階層のノードと仮想フォルダを並べる順序を統一しておき、順序から参照することで図５のツリービュー５２８に表示される仮想フォルダツリーの各フォルダとを関連付けてもよい。もちろん、図１１で示されるノードの設定データを仮想フォルダの持つデータ保有メモリ領域にそのまま設定しても良い。
【０１１３】
図１２は、上記内容を実現するために仮想フォルダの横に配置されたコンボボックス５１８〜５２１のリスト項目を選択した際の処理の一例を説明するためのフローチャート図である。なお、図１２での各処理は、情報処理装置１０００のＣＰＵ１０１が外部メモリ１１３に記憶される電子ファイル管理システムをＲＡＭ１０２上で実行することにより実現される。
【０１１４】
電子ファイル管理システムは、図５の例に示すように、仮想フォルダと関連付けられたコンボボックス５１８〜５２１のリスト項目が変更されると、その変更内容と、どのコンボボックスが変更されたかを認識する。
【０１１５】
ステップＳ１２０１では、ＣＰＵ１０１は、設定が変更されたコンボボックスのリスト項目と関連付けられた仮想フォルダを特定し、更には、その仮想フォルダと関連付けられるノードを特定した上で、特定したノードが子ノードを持つかを確認する。ノードが子ノードを持っているか否かは、存在しているノードを確認し、図１１における親ノードのノード番号１１０５に該ノードのノード番号が設定されているノードがあるか否かで判断することができる。そして、ＣＰＵ１０１は、特定したノードが子ノードを持つ場合は、ステップＳ１２０２に進み、特定したノードが子ノードを持たない場合は、ステップＳ１２０３に進む。
【０１１６】
ステップＳ１２０２では、ＣＰＵ１０１は、子ノードが子ノード(つまりリストが変更されるノードの孫ノード)を持っているかを、下位階層の全てのノードについて検索し、ノードから派生して生成された下位階層の子ノード全てを削除する。合わせて、ＣＰＵ１０１は、削除されるノード各々に対し関連付けられた仮想フォルダを廃棄し、ステップＳ１２０３に進む。
【０１１７】
ステップＳ１２０３では、ＣＰＵ１０１は、ノードに分類されている分類処理の行われていない属性情報ファイルがあるか否かを確認する。そして、ＣＰＵ１０１は、全ての属性情報ファイルが確認済みであれば、処理を終了し、未確認の属性情報ファイルがある場合は、ステップＳ１２０４に進む。
【０１１８】
ステップＳ１２０４では、ＣＰＵ１０１は、未確認の属性情報ファイルの１つを取得し、コンボボックスで設定されたタグ名を持つ要素がその属性情報ファイルにあるかを確認する。そして、ＣＰＵ１０１は、コンボボックスで設定されたタグ名を持つ要素がその属性情報ファイルにある場合は、ステップＳ１２０５に進み、ない場合は、ステップＳ１２０３に戻り、次の未確認の属性情報ファイルを確認する。
【０１１９】
ステップＳ１２０５では、ＣＰＵ１０１は、タグ名を持つ要素の要素内容を取得し、取得した要素内容と同名のノードが子ノードに既に存在しているかを確認する。そして、取得した要素内容と同名のノードが子ノードに既に存在している場合は、ステップＳ１２０７に進み、存在していない場合は、ステップＳ１２０６に進む。
【０１２０】
ステップＳ１２０６では、ＣＰＵ１０１は、ステップＳ１２０５で取得した要素内容名の仮想フォルダを表示するための子ノードを生成すると共に、生成された子ノードと関連付けられる仮想フォルダを表示し、ステップＳ１２０７に進む。子ノードが生成された際には、子ノードには、図１１における「仮想フォルダ名」１１０１に要素内容と同名となる仮想フォルダ名を設定し、ノード番号を生成した上で、「ノード番号」１１０４に設定する。また、子ノードを生成した親ノードのノード番号を「親ノードのノード番号」１１０５に設定する。
【０１２１】
ステップＳ１２０７では、ＣＰＵ１０１は、コンボボックスで設定されたタグ名を持つ要素の属性情報ファイル名を子ノードの図１１の「分類された属性情報ファイル」１１０３に設定する。また、ＣＰＵ１０１は、属性情報ファイル名を親ノードの「分類された属性情報ファイル」１１０３から削除する。ステップＳ１２０７実行後、ＣＰＵ１０１は、同じ属性情報ファイル中に更に該当するタグ名が存在するかを確認するためステップＳ１２０４に戻る。つまり、属性情報ファイルには、同じタグ名の要素を複数設定することが可能である。
【０１２２】
なお、分類後、分類元のノードに分類される属性情報ファイルは減ることになるため、該ノードに関連付けられる仮想フォルダのコンボボックスのリスト内容も更新する必要があり、この更新には、図８で示す処理を行えば良い。
【０１２３】
以上説明したように、本実施形態では、各仮想フォルダに対し、タグ名による分類条件で属性情報ファイルを分類していくことで、仮想フォルダ毎に自在に分類条件を変更することができ、また、仮想フォルダの単位で階層化を実現することができる。これにより、同一階層での仮想フォルダを異なる条件で分類することができるとともに、枝ごとに分類条件を変えながら仮想フォルダの階層数を自在に変えることができ、更には、フィールド自体をカテゴリ分けすることができる。
【０１２４】
また、電子ファイルと属性情報とを分類する必要がないため、電子ファイルと属性情報の一元管理を可能となり、電子ファイルの保存場所を変更した場合でも、電子ファイルと属性情報との関連を保持することができる。
【０１２５】
（第２の実施形態）
次に、図１３〜図２１を参照して、本発明の第２の実施形態である情報処理装置について説明する。なお、上記第１の実施形態に対して重複又は相当する部分については、図及び符号を流用して説明する。
【０１２６】
本実施形態では、電子ファイルに対し、分類条件となる要素の付与や削除を行う方法について説明する。属性情報は、属性情報ファイルに設定されるため、電子ファイルと関連付けるための属性情報ファイルを作成する必要がある。
【０１２７】
まず、電子ファイル管理システムに新規に電子ファイルを関連付ける方法について説明する。
【０１２８】
図１３は、ある電子ファイルに関連付けられた属性情報ファイルが未だ生成されていない場合、電子ファイル管理システムに新規に電子ファイルを関連付ける際に表示されるウィンドウの一例を示す図である。
【０１２９】
図１３において、ウィンドウ１３０１は、図５のメニュー５０３のファイルメニューにおいて、図１４で示されるメニュー項目１４０１の「新規ファイル登録」を選ぶことで表示される。
【０１３０】
エディットボックス１３０２は、ＫＢ１１０にて文字情報が入力できる。エディットボックス１３０２には、関連付けたい電子ファイルが存在するパスを指定する。指定するパスは、外部メモリ１１３上のローカルファイルでも良いし、ＮＷＣ１０８を介してネットワーク上のファイルを指定しても良い。
【０１３１】
参照ボタン１３０３は、押下することにより、エディットボックス１３０２を使うことなく、マウス操作で電子ファイルを指定可能なＧＵＩを表示することができる。
【０１３２】
チェックボックス１３０４は、チェックが付けられていない場合には、ルートフォルダ５０７に分類され、生成される属性情報ファイルにはルート要素のみが設定される。チェックボックス１３０４にチェックが付けられている場合には、現在選択されている仮想フォルダに登録する電子ファイルを分類する。例えば、図５において、仮想フォルダ５１５の「Ｂ村Ｂ子」が選択されている場合には、この仮想フォルダ５１５に登録されるよう電子ファイルを分類する。
【０１３３】
チェックボックス１３０４にチェックが付けられている上記例の場合、電子ファイル管理システムは、現在選択されている仮想フォルダ５１５を識別し、仮想フォルダ５１５と階層構造を解析した上で、図１５に示す属性情報ファイル１５０１を生成する。仮想フォルダ５１５は、コンボボックス５１８にて、「イベント」タグ名で分類された仮想フォルダ５１１の「運動会」の下位層のフォルダであるため、図１５における要素１５０３が設定される。
【０１３４】
更に、仮想フォルダ５１５は、コンボボックス５２０にて、「年月日／年」で分類された仮想フォルダ５１３の「２００５」の下位層のフォルダでもあるため、図１５における要素１５０４および１５０５が設定される。また、仮想フォルダ５１５は、コンボボックス５２１にて「被写体」で分類された仮想フォルダであるため、図１５における要素１５０７が設定される。
【０１３５】
リストにある要素の設定は、後述する図１７の処理で追加要素のリストを作成した上で行う。また、図１１において、新規に分類された仮想フォルダに関連付けられるノードが持つ「分類された属性情報ファイル」１１０３には、新規に作成された属性情報ファイルのファイル名を設定する。また、電子ファイル管理システムが動作しているＯＳ等がファイルを管理するシェルを持つ場合、そのシェルにリストされている実電子ファイルをＭＳ１１１にて選択し、図５における仮想フォルダ上にドラッグアンドドロップすることで関連付けができる。
【０１３６】
ＯＫボタン１３０５は、押下された場合に、エディットボックス１３０２にて指定された電子ファイルの関連付けを実行する。電子ファイルの関連付けが実行された場合には、電子ファイル管理システムが外部メモリ１１３上の参照且つ管理している場所に属性情報ファイルを生成し、ウィンドウ１３０１を終了する。属性情報ファイルのファイル名は、他の属性情報ファイルと重複しないユニークなファイル名が設定される。
【０１３７】
キャンセルボタン１３０６は、押下された場合に、電子ファイルを関連付ける処理は実施せずに、ウィンドウ１３０１を終了する。
【０１３８】
次に、既に電子ファイル管理システムに関連付けられている電子ファイルを表す仮想電子ファイルのコピー操作による要素付与について説明する。コピーは、図５におけるリストビュー５２７にリストされるファイル名の１つを選択し、要素を付与したい目的の仮想フォルダにドラッグアンドドロップすることで実現される。
【０１３９】
図１６（ａ）は、図５における仮想フォルダ５１７に分類されていた状態の属性情報ファイル１６０１ａを示す図である。要素１６０２にて、属性情報ファイル１６０１ａは「Ｃ：￥ＥＥＥ．ｊｐｇ」と関連付けられているため、図５における仮想フォルダ５１７を選択した場合には、リストビュー５２７上の名前リスト５２３には、「ＥＥＥ．ｊｐｇ」が表示される。
【０１４０】
図１６（ｂ）は、仮想フォルダ５１７に分類されていた仮想電子ファイル「ＥＥＥ．ｊｐｇ」を仮想フォルダ５０９にコピーした際の属性情報ファイル１６０１ｂを示す図である。なお、追加する要素は、後述する図１７の処理にて追加要素のリストを作成した上で、リストにある要素を設定する。更に、図１１において、新規に分類された仮想フォルダに関連付けられるノードが持つ「分類された属性情報ファイル」１１０３には、新規に分類された属性情報ファイルのファイル名を設定する。
【０１４１】
コピー操作の結果、属性情報ファイル１６０１ｂは、仮想フォルダ５０９の「東京」および仮想フォルダ５１７の「遊園地」の両方に分類されることになる。
【０１４２】
このように、実電子ファイルをコピーすることなく、属性情報ファイルに要素を付与するのみで、分類が実現できる。
【０１４３】
なお、電子ファイルを分類したい仮想フォルダが存在しない場合には、図５のメニュー５０３のファイルメニューにおいて、図１４で示すメニュー項目１４０２の「仮想フォルダの新規作成」を選ぶことで、不図示の文字入力ウィンドウが表示される。そして、該ウィンドウに入力した文字列を持つ仮想フォルダが、現在選択されている仮想フォルダの子フォルダとして生成される。子フォルダを生成した場合には、図１０における構造図においても、選択されている仮想フォルダに該当するノードの子ノードとして新規の仮想フォルダに関連づけられたノードが作成される。
【０１４４】
次に、電子ファイルのコピー操作時において属性情報ファイルに設定する要素のリストを作成する処理について説明する。
【０１４５】
図１７は、図１８に示す属性情報ファイルに設定すべき要素の一覧を作成する処理の一例を示すフローチャート図である。図１７での処理は、情報処理装置１０００のＣＰＵ１０１が外部メモリ１１３に記憶される電子ファイル管理システムをＲＡＭ１０２上で実行することにより実現される。また、図１８に示す設定要素の一覧は、ＲＡＭ１０２上のメモリ領域に作成される。
【０１４６】
ステップＳ１７０１では、ＣＰＵ１０１は、分類先となる仮想フォルダと関連付けられた図１０におけるノードを特定し、そのノードを参照ノードとし、ステップＳ１７０２に進む。
【０１４７】
ステップＳ１７０２では、ＣＰＵ１０１は、参照ノードが親ノードを持っているかを、参照ノードに設定されている図１１の「親ノードのノード番号」１１０５より確認する。そして、ＣＰＵ１０１は、参照ノードが親ノードを持っていない場合は、処理を終了し、参照ノードが親ノードを持っている場合は、ステップＳ１７０３に進む。
【０１４８】
ステップＳ１７０３では、親ノードの分類タグ名が設定する要素のタグ名であり、参照ノードに設定される「仮想フォルダ名」１１０１が要素内容であることが特定できるので、ＣＰＵ１０１は、要素を作成し、ステップＳ１７０４に進む。
【０１４９】
ステップＳ１７０４では、ＣＰＵ１０１は、作成した要素を図１８に示す設定要素のリストに追加し、ステップＳ１７０５に進む。設定要素は、例えば図１８における「イベント／運動会」１８０１のように要素パスと要素内容とを「／」で連結する。つまり、「／」で連結された最後の内容が要素内容になる。
【０１５０】
ステップＳ１７０５では、現在の参照ノードより上階層のノードも設定要素となるため、ＣＰＵ１０１は、参照ノードを親ノードに変更し、ステップＳ１７０２に戻る。そして、ＣＰＵ１０１は、親ノードを持たないノード(つまりルートノード)を参照するまで、処理を繰り返し要素をリストに追加していく。なお、リストには階層の順序に従った順序で要素を設定していく。
【０１５１】
また、要素追加前の元の属性情報ファイル中の要素に、図１７の処理で作成されたリストの追加要素が既に存在していた場合には、その要素は属性情報ファイルに設定する必要は無いため、その要素はリストから削除する。
【０１５２】
以上の処理で作成された図１８に示す設定要素のリストを属性情報ファイルに設定することで、要素の付与が実現できる。
【０１５３】
しかしながら、図１６（ｂ）の例において、要素１６０３と１６０５は、共にタグ名に「イベント」を持っている。電子ファイル管理システムの使用者によっては、このような状況は好ましくない可能性がある。そこで、要素を追加しようとしている属性情報ファイルの要素と図１７の処理で成された図１８の例のリストを比較し、同じタグ名が存在している場合には、重複しているタグ名があることを使用者にメッセージを表示する不図示のウィンドウにて通知する。これにより、使用者にそのまま要素を追加するかどうかを判断させることが可能になる。
【０１５４】
次に、属性情報ファイルから要素を削除する方法について説明する。要素の削除は、図５におけるリストビュー５２７にリストされるファイル名の１つを選択し、そのファイル名に対して削除する操作を行う。この削除の操作は、例えば、ＫＢ１１０にあるＤｅｌｅｔｅボタンを押下することで実行される。
【０１５５】
要素を削除する場合にも、図１７の処理により、図１８の例のような削除する要素のリストを作成する。削除の場合、図７のステップＳ１７０１における分類先の仮想フォルダは、削除対象のファイルが分類されている仮想フォルダと同義である。後は、リストされた要素を削除対象の電子ファイルと関連付けられた属性情報ファイルから削除する。また、削除前に分類されていた仮想フォルダから削除された要素に応じて再分類する必要があるため、図１１の構造図における対象ノードの「分類された属性情報ファイル」１１０３を更新する。
【０１５６】
しかしながら、リストされた要素を全て削除することは、電子ファイルが分類されていた仮想フォルダの上位のフォルダと関連付いた要素も含めて削除することになる。電子ファイル管理システムの使用者によっては、現在分類されている仮想フォルダに該当する要素のみだけを削除したいなど、リストされた要素を全て削除することは好ましくない可能性がある。
【０１５７】
図１９に示すウィンドウ１９０１は、図５における仮想フォルダ５１５の「Ｂ村Ｂ子」に分類されている電子ファイルの削除操作を行った際に表示されるウィンドウの例である。ラジオボタン１９０２〜１９０４は、何れか１つを選択でき、図１７の処理にて作成された図１８のリストの要素内容の部分(「／」で区切られた最後の部分)の一覧を表示している。図１８のリストは、階層順序で並んでいるため、ラジオボタン１９０２〜１９０４もその階層順序に従いリストすることができる。
【０１５８】
ＯＫボタン１９０５は、削除処理を実行するボタンで、ラジオボタン１９０２〜１９０４にて選択されている階層の要素を削除する。図１９の例においては、ラジオボタン１９０３の「２００５」が選択されており、図１８のリストの要素１８０３および１８０２を削除することを表している。また、要素が削除された属性情報ファイルは、リストに残った最下位層の要素である「運動会」１８０１に該当する仮想フォルダに再分類される。また、図１０におけるノードの構造図における「Ｂ村Ｂ子」に該当するノードの「分類された属性情報ファイル」１０５９から該属性情報ファイルを削除し、「運動会」に該当するノードの「分類された属性情報ファイル」１０２４に該属性情報ファイルを設定する。キャンセルボタン１９０６は、削除処理をキャンセルするボタンである。
【０１５９】
次に、仮想フォルダを仮想フォルダにコピーする方法について説明する。仮想フォルダ間のコピーは、コピー元の仮想フォルダに分類された全ての電子ファイルを纏めて、コピー先の仮想フォルダに分類させることができる。なお、コピー時の属性情報ファイルへの要素の付与については、コピー元に分類されている属性情報ファイルを１つ１つ処理すれば良く、１つの電子ファイルのコピー操作をする場合と変わらない。
【０１６０】
図５において、「場所／都道府県」で分類されている仮想フォルダ５１０の「千葉」を仮想フォルダ５１２の「２００４」にコピーする場合を例に採って説明する。
【０１６１】
仮想フォルダをコピーする場合、電子ファイル管理システムの使用者には、二つの選択肢が存在し、使用者がコピー操作時にどちらの処理を実施するか選択できるようにする。一つの選択肢は、コピー元の仮想フォルダに現在分類されている条件が、コピー先の仮想フォルダで行っている分類条件と異なる際に、コピー元の分類条件をコピー先の分類条件に合わせる場合である。上記の例において、図５の仮想フォルダ５１０は、「場所／都道府県」で分類されているが、コピー先の仮想フォルダ５１２は分類条件が設定されていないため、子仮想フォルダを持っていない。
【０１６２】
コピー元の仮想フォルダが分類されている条件に合わせるため、図２０に示すように、コピー元の仮想フォルダである仮想フォルダ５１０ａの名称の「千葉」にて、コピー先の仮想フォルダ５１２の「２００４」の子仮想フォルダ５１０ｂの「千葉」を生成する。この場合、コピー先の仮想フォルダ５１２の「２００４」は、コピー元の分類条件であるコンボボックス５１９ａに設定された「都道府県」にて自動的に分類される。元々、仮想フォルダ５１２に分類されていた電子ファイルに関連付けられた属性情報ファイルに「都道府県」タグを持つ要素があれば、その要素も分類条件となる。
【０１６３】
分類される際の処理としては、仮想フォルダ５１２に関連付けられた図１０におけるノード１００７の「分類された属性情報ファイル」１１０３に、一旦、仮想フォルダ５１０ａに分類されていた属性情報ファイルの全てを設定する。そして、ノード１００７に対し、図１２での処理を実行する。また、仮想フォルダ５１２に関連付けられたコンボボックス５１９ｂを表示し、図８での処理を実行することで該コンボボックスにタグ名のリストを設定し、「都道府県」の選択肢を設定しておく。
【０１６４】
図５における仮想フォルダ５１３のように、既に分類条件が設定されている仮想フォルダがコピー先の場合には、図１２の処理で行われるように、コピー元の仮想フォルダが分類されているタグ名を新規選択項目とする。そして、コンボボックスの選択項目が切り替わった際と同じ処理を実施すればよい。
【０１６５】
もう一つの選択肢は、コピー元の仮想フォルダが分類されている条件に関わらず、コピー先の仮想フォルダに設定されている分類条件に合わせる場合である。
【０１６６】
この場合、先の例であれば、コピー元の仮想フォルダ５１０ａの名称「千葉」は、コピー先の仮想フォルダ５１２においては、子仮想フォルダとして表示されなくなる。
【０１６７】
分類される処理としては、コピー元の仮想フォルダに分類されている電子ファイルを１つずつコピー先の仮想フォルダにコピーする処理を実行すればよい。
【０１６８】
図２１（ａ）は、先の例の図５における仮想フォルダ５１０の「千葉」に分類されていた電子ファイルに関連づけられたコピー前の例である属性情報ファイル２１０１ａを示す図である。図２１（ｂ）は、仮想フォルダ５１０を仮想フォルダ５１２の「２００４」にコピーを行った後に図２１（ａ）の属性情報ファイル２１０１ａに要素が追加された属性情報ファイル２１０１ｂを示す図である。上述の二つの選択肢の何れであっても追加される要素は変わらない。
【０１６９】
また、子仮想フォルダを持つ仮想フォルダをコピーする場合には、コピー元の仮想フォルダにおいて上位下位層のフォルダから順に上記処理を実行すれば、子仮想フォルダも含めたコピー処理ができる。
【０１７０】
図２１（ｂ）において、図２０のコピー先の仮想フォルダ５１２の「２００４」は、ルートフォルダ５０７を「イベント」で分類した仮想フォルダ５１１の「運動会」の下位層のフォルダであるため、要素２１０８が追加される。また、仮想フォルダ５１１の「運動会」を「場所／年」で分類した結果作成された仮想フォルダが５１２であるので、要素２１０９〜２１１１が追加される。
【０１７１】
以上説明したように、本実施形態では、ある仮想フォルダに分類される電子ファイルを階層の異なる仮想フォルダにコピーすることができ、また、ある仮想フォルダを枝を跨いだ他の仮想フォルダにコピーすることが可能になる。その他の構成及び作用効果は、上記第１の実施形態と同様である。
【０１７２】
なお、本発明の各種制御は１つのハードウェアが行ってもよいし、複数のハードウェアが処理を分担することで、装置全体の制御を行ってもよい。
【０１７３】
また、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
【０１７４】
（他の実施形態）
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【０１７５】
１０１    ＣＰＵ
１０２    ＲＡＭ
１０３    ＲＯＭ
１１０    キーボード
１１１    マウス
１１２    ＣＲＴ
１１３    外部メモリ
１０００  情報処理装置
【図１】
2011159118.tif 000003
【図２】
2011159118.tif 000004
【図３】
2011159118.tif 000005
【図４】
2011159118.tif 000006
【図５】
2011159118.tif 000007
【図６】
2011159118.tif 000008
【図７】
2011159118.tif 000009
【図８】
2011159118.tif 000010
【図９】
2011159118.tif 000011
【図１０】
2011159118.tif 000012
【図１１】
2011159118.tif 000013
【図１２】
2011159118.tif 000014
【図１３】
2011159118.tif 000015
【図１４】
2011159118.tif 000016
【図１５】
2011159118.tif 000017
【図１６】
2011159118.tif 000018
【図１７】
2011159118.tif 000019
【図１８】
2011159118.tif 000020
【図１９】
2011159118.tif 000021
【図２０】
2011159118.tif 000022
【図２１】
2011159118.tif 000023
【図２２】
2011159118.tif 000024