(57)【特許請求の範囲】
【請求項１】
ファイル管理システムと連動した文書管理装置であって、
文書に対して行われた操作を検出し、その操作の内容を表す履歴レコードを生成する履歴生成手段と、
履歴生成手段で生成された履歴レコードを、当該操作の対象となった文書の履歴リストに追加する履歴追加手段と、
前記ファイル管理システムから文書のファイルの現在の所在位置の情報を取得する現在位置取得手段と、
前記文書の履歴リストに登録された当該文書の所在位置の変更に関する履歴レコードを順に調べることにより、当該文書の最新の所在位置の情報を求める履歴位置算出手段と、
前記現在位置取得手段で取得した所在位置と、前記履歴位置算出手段で算出した所在位置とが異なる場合に、当該文書が移動又はコピーされたことを示す履歴レコードを生成し、当該文書の履歴リストに追加する手段と、
を有する文書管理装置。
【請求項２】
請求項１記載の文書管理装置であって、
前記履歴生成手段は、１つの操作に複数の文書が関連する場合、それら各文書に対してそれぞれ履歴レコードを生成することを特徴とする文書管理装置。
【請求項３】
請求項１記載の文書管理装置において、
前記ファイル管理システムから読み出した文書の履歴リストに含まれる操作履歴レコードを表示する履歴表示手段を更に有することを特徴とする文書管理装置。
【請求項４】
ファイル管理システムを含むコンピュータを、
文書に対して行われた操作を検出し、その操作の内容を表す履歴レコードを生成する履歴生成手段、
履歴生成手段で生成された履歴レコードを、当該操作の対象となった文書の履歴リストに追加する履歴追加手段、
前記ファイル管理システムから文書のファイルの現在の所在位置の情報を取得する現在位置取得手段、
前記文書の履歴リストに登録された当該文書の所在位置の変更に関する履歴レコードを順に調べることにより、当該文書の最新の所在位置の情報を求める履歴位置算出手段、
前記現在位置取得手段で取得した所在位置と、前記履歴位置算出手段で算出した所在位置とが異なる場合に、当該文書が移動又はコピーされたことを示す履歴レコードを生成し、当該文書の履歴リストに追加する手段、
として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項５】
ファイル管理システムと連動した文書管理装置による文書管理方法であって、
文書に対して行われた操作を検出してその操作の内容を表す履歴レコードを生成し、
生成された履歴レコードを、当該操作の対象となった文書の履歴リストに追加し、
前記ファイル管理システムから文書のファイルの現在の所在位置の情報を取得し、
前記文書の履歴リストに登録された当該文書の所在位置の変更に関する履歴レコードを順に調べることにより、当該文書の最新の所在位置の情報を求め、
取得された前記現在の所在位置と、計算された前記最新の所在位置とが異なる場合に、当該文書が移動又はコピーされたことを示す履歴レコードを生成し、当該文書の履歴リストに追加する、
ことを特徴とする文書管理方法。
【請求項６】
請求項１記載の文書管理装置であって、
前記履歴生成手段は、新規の文書を生成する操作を検出した場合、その文書が新規生成された旨とその文書が生成されたフォルダとを示す履歴レコードを作成することを特徴とする文書管理装置。
【請求項７】
請求項１記載の文書管理装置であって、
前記履歴生成手段は、文書をフォルダ間で移動する操作を検出した場合、当該文書が移動した旨と、移動元フォルダ及び移動先フォルダと、を示す履歴レコードを作成することを特徴とする文書管理装置。
【請求項８】
請求項１記載の文書管理装置であって、
文書が削除されたことを検出した場合、当該文書が削除された旨を示す削除履歴ファイルを、当該文書が削除の際に存在していたフォルダ内に作成する削除履歴生成手段を更に備えることを特徴とする文書管理装置。
【請求項９】
請求項１記載の文書管理装置であって、
前記履歴生成手段は、文書内の一部分を削除する操作を検出した場合、当該文書の一部分が削除された旨を示す履歴レコードを生成することを特徴とする文書管理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は文書管理装置に関し、特にネットワークを流通する文書についての操作履歴情報の管理のための技術に関する。
【０００２】
【従来の技術】
デジタル化された文書の操作履歴の管理技術の一つとして、特開平８−２９２９６１号公報には、文書間の複写の履歴を管理する文書複写関係管理システムが開示されている。このシステムは、文書の作成や複写などを行うクライアントマシンと、文書の複写関係を管理するサーバマシンとからなるクライアント・サーバシステムとして構成されている。サーバマシンは、複写元の文書の識別子及び更新日時と複写先の文書の識別子及び複写日時とを対応づけて管理するリンク情報テーブルを有する。クライアントマシンで文書が複写されると、サーバマシンが複写先の文書に識別子を付与し、その複写先文書の識別子を複写元の文書の識別子と対応づけて前記リンク情報テーブルに登録する。この従来システムによれば、リンク情報テーブルを参照することにより文書間の複写関係を知ることができ、ある文書がどの文書に由来するものかをたどることができた。
【０００３】
【発明が解決しようとする課題】
近年の情報通信網の普及に伴い、文書の流通範囲は極めて広くなっている。これに対し、上記従来システムは、文書間の複写関係をサーバマシンで一括管理しているので、文書がサーバマシンの管理下のネットワークの外に出た場合には、複写関係を管理することができなくなる。すなわち、文書が文書管理システムの中にいる間は、そのシステムのサーバマシンにより複写関係が管理されているが、その文書がいったんその文書管理システムの外のコンピュータに移動すると、サーバマシンはそれ以降にその文書について行われる複写を知ることができない。また、文書管理システムの外のコンピュータでは、その文書管理システムに問い合わせない限り、その文書の複写関係を知ることができなかった。
【０００４】
また、上記従来システムでは、文書の複写しか考慮しておらず、文書に対する多様な操作の履歴を管理することができないという問題もあった。
【０００５】
本発明は、上記問題を解決するためになされたものであり、広範囲に流通する文書に対する様々な操作の履歴を管理するための機構を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するため、本発明に係る文書管理装置は、文書に対して行われた操作を検出し、その操作の内容を表すの履歴レコードを生成する履歴生成手段と、履歴生成手段で生成された履歴レコードを、当該操作の対象となった文書の履歴リストに追加する履歴追加手段と、文書の内容を表す文書データと当該文書の履歴リストとを、前記ファイル管理システムにおける一つのファイルに結合する結合手段と、前記ファイル管理システムから読み出した文書のファイルから履歴リストを検出し、その履歴リストに含まれる操作履歴レコードを表示する履歴表示手段とを有する。
【０００７】
この構成では、文書に対する操作の内容を表す履歴を示した履歴リストが、その文書のファイル自体の中に組み込まれる。履歴リストは、当該文書に対して行われた各操作の内容を、それらの間の時間的な順序関係が把握可能な形で記述していればよく、厳密なデータ構造的な意味での“リスト”である必要はない。
【０００８】
この構成によれば、文書が元々属していた文書管理装置以外のコンピュータでも、そのコンピュータが本発明に係る文書管理装置を有していれば、そのコンピュータは、その文書のファイルの中から履歴リストを取り出して、その文書に加えられた操作の履歴を知ることができる。
【０００９】
また、文書の移動した先が本発明に係る文書管理装置があれば、その移動先の文書管理装置でその文書に加えられた操作の履歴も当該文書の履歴リストに順次追加されていく。したがって、文書が複数の文書管理装置の間を流通する場合、文書のファイルには各文書管理装置で加えれらた操作の履歴が順次追加されていき、その履歴を個々の文書管理装置で確認することができる。この構成によれば、複数の文書管理装置の間で文書の操作履歴を統一的に管理する履歴管理サーバなるものを必要としない。
【００１０】
また本発明の好適な態様では、履歴生成手段は、１つの操作に複数の文書が関連する場合、それら各文書に対してそれぞれ履歴レコードを生成する。例えば、文書をコピーしたり、文書の一部のページを抜き出して別文書を生成したりする操作においては、元の文書と、コピー等でできる新たな文書の２つの文書が関連する。このように１つの操作に複数の文書が関連する場合がある。本態様では、このような場合には、履歴生成手段が、それら１つの操作に関連する複数の文書のそれぞれに対し、履歴レコードを生成することができるので、すべての文書に対してもれなく操作の履歴を付加することができる。
【００１１】
また、本発明の好適な態様では、文書管理装置に、ファイル管理システムから文書のファイルの現在の所在位置の情報を取得する現在位置取得手段と、前記文書のファイルから履歴リストを読み出し、履歴リストに登録された当該文書の所在位置の変更に関する履歴レコードを順に調べることにより、当該文書の最新の所在位置の情報を求める履歴位置算出手段と、前記現在位置取得手段で取得した所在位置と、前記履歴位置算出手段で算出した所在位置とが異なる場合に、当該文書が移動又はコピーされたことを示す履歴レコードを生成し、当該文書の履歴リストに追加する手段とを設ける。
【００１２】
この構成は、文書のファイルが本発明に係る文書管理装置の以外の装置（あるいはソフトウエア。例えばメールシステムなど）で移動あるいはコピーされる場合を想定した構成である。本発明に係る文書管理装置の以外の装置等は、そのような移動やコピーなどの操作について履歴レコードを生成しない。そこで、本構成の文書管理装置は、そのような当該装置以外の操作による文書の移動やコピーなどを検出し、その移動又はコピーが行われたことを示す履歴レコードを生成し、その文書の履歴リストに追加する。そのような移動又はコピーのあったことは、文書の履歴リストから求められる最新の所在位置情報と、ファイル管理システムから知ることができるその文書の現在の所在位置とを比較することによって識別することができる。この構成によれば、文書管理装置以外で行われた移動やコピーの操作を検出し、その操作の履歴を履歴リストに追加することができる。
【００１３】
また、本発明は、ファイル管理システムを含むコンピュータを、文書に対して行われた操作を検出し、その操作の内容を表す履歴レコードを生成する履歴生成手段、履歴生成手段で生成された履歴レコードを、当該操作の対象となった文書の履歴リストに追加する履歴追加手段、文書の内容を表す文書データと当該文書の履歴リストとを１つのファイルに結合する結合手段、前記ファイル管理システムから読み出した文書のファイルから履歴リストを検出し、その履歴リストに含まれる操作履歴レコードを表示する履歴表示手段、として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供するものである。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態（以下実施形態という）について、図面に基づいて説明する。
【００１５】
［全体構成］
図１は、本発明に係る文書管理装置１の構成を示す機能ブロック図である。
【００１６】
文書管理装置１は、典型的には、汎用のコンピュータシステムを利用してソフトウエア的に構築される。文書管理装置１は、ハードウエアとしてのメモリ４０、入力装置５０及び表示装置７０と、ソフトウエア的に実現される編集処理部１０、表示処理部２０及び入力処理部６０を含んでいる。
【００１７】
メモリ４０は、コンピュータシステムのメインメモリであり、半導体メモリを用いて構成される。入力装置５０は、キーボードやマウスなど、ユーザからの操作を検出してそれをコンピュータシステム内で処理可能な信号に変換する装置である。表示装置７０は、ＣＲＴや液晶ディスプレイなど、コンピュータシステムで生成されたデータの表示を行う装置である。
【００１８】
編集処理部１０、表示処理部２０及び入力処理部６０は、各々の機能を記述したプログラムを、コンピュータシステムのＣＰＵ（中央演算装置）で実行させることにより実現される。それらプログラムは、文書管理装置１の基礎となるコンピュータシステムのオペレーティングシステム上で作動するアプリケーションプログラムである。編集処理部１０等の機能については、後ほど詳細に説明する。
【００１９】
文書管理装置１は、文書のファイルを記憶する記憶装置（ファイルシステム）３０に接続されている。記憶装置３０は、典型的には、ハードディスク等のディスク装置である。記憶装置３０内に記憶されるデータは、オペレーティングシステムのファイル管理機構の管理下にある。ここで、記憶装置３０は、文書管理装置１（コンピュータシステム）に付属するローカルの記憶装置である場合もあれば、ネットワークを介して文書管理装置１に接続されるリモートの記憶装置である場合もある。
【００２０】
本実施形態におけるファイル管理は、一般的なツリー状のフォルダ（すなわちディレクトリ）構造を利用している。各文書のファイルは、階層的なフォルダのいずれかに属している。各文書ファイルの所在位置（所属するフォルダを示すパスなどの情報）は、オペレーティングシステムのファイル管理機構により管理されている。文書管理装置１は、このオペレーティングシステム上のアプリケーションとして構築されており、文書管理装置１が管理する文書ファイル及び文書フォルダはそのオペレーティングシステムのファイル及びフォルダに対応している。文書管理装置１は、オペレーティングシステムのファイル管理の下、個々の文書をファイルとして記憶装置３０に記憶したり、あるいは記憶装置３０から文書のファイルを読み出して処理を加えたりすることができる。このように、本実施形態の文書管理装置１は、オペレーティングシステムにおけるファイルを単位として文書の生成、受け渡し、削除を行う。したがって、文書管理装置１で生成あるいは処理された文書は、文書管理装置１以外のアプリケーション（例えばメールツールなど）を利用して、広く流通させることができる。
【００２１】
図２に、本実施形態における文書ファイルの構造を示す。文書ファイル１００は、文書データ部１１０と履歴リスト部１２０から構成される。文書データ部１１０は、文書の各ページ１１２のデータから構成されている。各ページ１１２のデータは、ページの表示状態を表す画像データである場合もあれば、そのページを作成したアプリケーションにおけるデータ形式でそのページを記述したデータである場合もある。文書データ部１１０は、それらページ１１２のデータをページ順に並べたリスト構造のデータである。履歴リスト部１２０には、文書ファイル１００の文書に対し、それまでに加えられた操作（処理）の履歴が格納される。履歴リスト部１２０は１以上の履歴レコード１２２を含んでおり、１つの履歴レコード１２２が１回の操作の内容を表している。履歴リスト部１２０は、各履歴レコード１２２を生成順（すなわち操作の行われた時刻の順）に配列したリストとなっている。なお、履歴リスト部１２０は、履歴レコード１２２同士の時間的な順序関係が把握可能な形であればよく、厳密なデータ構造としての“リスト”である必要はない。本実施形態では、文書管理装置１により文書に操作が加えられるごとに、新たな履歴レコード１２２が生成され、履歴リスト部１２２の末尾に追加されていく。
【００２２】
次に、文書管理装置１のソフトウエア部分、すなわち入力処理部６０、編集処理部１０及び表示処理部２０について説明する。
【００２３】
入力処理部６０は、入力装置５０からの信号を解析して、ユーザからの入力の内容（指示又はデータ）を求め、この入力内容を編集処理部１０に伝える。本実施形態では、表示処理部２０は、表示画面を、ウインドウ方式のグラフィカル・ユーザ・インタフェースとして構成するので、入力処理部６０は、表示画面上での各表示アイテムの位置や内容などの情報を表示処理部２０から取得し、その情報に基づきユーザ入力の内容を解析する。
【００２４】
編集処理部１０は、文書編集部１２と履歴編集部１４とを含む。
【００２５】
文書編集部１２は、ユーザの操作に応じて、文書に対する編集処理を実行する。以下の本実施形態の説明では、文書編集部１２の編集操作機能として、文書単位の編集操作（文書全体のコピー、移動、削除、文書の新規生成など）及びページ単位の編集操作（ページ単位のコピー、移動、削除など）を、主として例示する。文書編集部１２は、上記以外の、例えばページ内部の内容についての編集機能を実現するモジュールを持ってもよいが、そのようなモジュールは、周知のワードプロセッサやＤＴＰ（デスクトップパブリッシング）ソフトウエアのモジュールとして知られているものと同等のものでよいので、説明を省略する。
【００２６】
履歴編集部１４は、文書編集部１２における編集操作に応じて、履歴レコード１２２を作成し、操作対象の文書ファイル１００の履歴リスト部１２０に追加する。
【００２７】
以上説明した文書編集部１２及び履歴編集部１４の処理は、記憶装置３０からメモリ４０内に読み出した操作対象の文書のファイルに対して行われる。文書編集部１２及び履歴編集部１４の処理によって変更が加えられたメモリ４０内の文書の情報は、適宜、編集処理部１０により（オペレーティングシステムを介して）記憶装置３０に格納される。すなわち、編集処理部１０は、記憶装置３０との間で文書ファイルのリード・ライト処理を行い、メモリ４０内の文書の情報と記憶装置３０内の文書の情報との整合性を管理する。
【００２８】
また、編集処理部１０は、メモリ４０内の操作対象の文書の履歴リスト部１２０から各履歴レコード１２２の内容を読み出し、履歴表示部２４に渡す機能を有する。この機能は、後述する履歴表示のための機能である。
【００２９】
表示処理部２０は、文書表示部２２及び履歴表示部２４を含む。文書表示部２２は、文書編集部１２と連携して文書編集のためのユーザインタフェース画面（編集用ウインドウ）を生成し、表示装置７０に表示する。図３は、文書表示部２２が生成する編集用ウインドウ２００の一例を示す図である。編集用ウインドウ２００は、フォルダ表示部２１０と文書一覧部２２０とから構成される。フォルダ表示部２１０には、文書管理装置１が持つ（すなわちオペレーティングシステムが持つ）文書フォルダ２１２が一覧表示される。ユーザは、一覧表示された文書フォルダ２１２群の中の一つを、例えばマウスでダブルクリックする等の操作により、選択して開くことができる。開いている文書フォルダ２１２ａは、他の文書フォルダ２１２と区別可能な形態で表示される。文書一覧部２２０には、開いている文書フォルダ２１２ａの中に含まれる文書２２２が２次元的な配置で表示される。各文書２２２は、例えば紙のページを少しずつずらして重ねたような画像として表示されており、ユーザは紙の文書を扱うような感覚で文書の編集を行うことができる。メニューバー２３０には、図示は省略するが、編集等の操作のためのメニュー項目が表示される。ユーザがマウス等を用いてそれらメニュー項目の１つを選択すると、その項目に対応する更に詳細なメニューが、例えばプルダウン形式で表示される。ユーザは、そのプルダウンメニューの中の一つをマウス等で選択することにより、文書管理装置１に対し操作指示を行うことができる。
【００３０】
履歴表示部２４は、ユーザが選択した文書についての操作履歴の表示画面を生成し、表示装置７０に表示する。本実施形態では、ユーザの選択に応じ、図４に示すリスト表示と図５に示す系統図表示の２種類の表示形態で操作履歴を表示する。図４のリスト表示では、文書ファイル１００の履歴リスト部１２０の各履歴レコードの内容を、古い順に上から下に表示する。図５の系統図表示では、当該文書の操作による変化や、操作における当該文書と他の文書との関連を、図示した所定のルールに従って、系統図の形で表している。
【００３１】
［編集操作の内容及びそれに伴う履歴編集処理］
次に、文書編集部１２が提供する各編集操作の内容を、ユーザが行う操作及び履歴編集部１４が生成する操作履歴と対応づけて説明する。
【００３２】
（ａ）全体コピー（図６参照）
対象となる文書（文書Ａ）全体をコピーして新たな文書（文書Ｂ）を生成する操作である。この操作を指示するには、ユーザは、編集ウインドウ２００の文書一覧部２２０の中で、コピーしたい文書（文書Ａ）をマウスで選択し、キーボードのコントロールキーなどの特別なキーを押下しながら、ドラッグ・アンド・ドロップを行えばよい。特別なキーの押下の有無により、コピーと移動とを区別している。ドロップした先が文書一覧部２２０の空き領域（文書２２２のない、ウインドウの地の部分）ならば、現在開いている文書フォルダ２１２ａに、文書Ａと全く同じページ群を有する新文書（文書Ｂ）のファイルが生成される。すると、文書一覧部２２０における前記ドロップ操作をした位置に文書の画像が新たに生成される。一方、文書Ａをドロップした先がフォルダ表示部２１０のフォルダ２１２の上ならば、そのフォルダ２１２の中に、文書Ａと全く同じページ群を有する新文書Ｂのファイルが生成される。このとき、新文書Ｂには、元の文書Ａの履歴リスト部１２０の情報もコピーされる。
【００３３】
このような操作が完了すると、履歴編集部１４は、文書Ａ及び文書Ｂの各々に対して、この操作を表す履歴レコードを生成する。文書Ａについての履歴レコードは、例えば「全体コピーにより文書Ｂを生成した」などといった内容となる。一方、文書Ｂについての履歴レコードは、例えば「文書Ｂが、フォルダＹにおいて、文書Ａからの全体コピーにより新規生成された。」といった内容となる。ここで、フォルダＹは、文書Ｂが新規生成されたフォルダの識別名である。履歴編集部１４は、生成した各履歴レコードを、それぞれ対応する文書ファイルの履歴リスト部１２０の末尾に追加する。
【００３４】
履歴レコードには、操作の行われた時刻を含めることが好適である。ただし、以下の説明では、繁雑さを避けるため、各履歴レコードに含まれる操作時刻については、特別の場合を除き言及を省略する。
【００３５】
図７は、この操作によるメモリ４０内の文書ファイルの内容変化を説明するための図である。図７に示すように、操作後の文書Ａのファイルには、履歴リスト部１２０の末尾に、履歴編集部１４で作成された最新の履歴レコード１２２ａが追加される。すなわち、操作後の履歴リスト部１２０は、操作前のリストに、最新の履歴レコード１２２ａを追加したものとなっている。同様に、文書Ｂは、文書Ａの履歴リスト部１２０からコピーした操作前の履歴に、履歴編集部１４で作成した最新の履歴レコード１２２ｂを追加した内容となる。なお、文書Ｂの文書データ部１１０の内容は、文書Ａの文書データ部１１０と全く同じである。
【００３６】
この例において、文書Ａの全体をコピーして作成した文書Ｂには、元の文書Ａの履歴情報がすべて含まれるので、文書Ｂの情報のみから、文書Ｂの元になった文書のすべてを追跡することができる。
【００３７】
（ｂ）全体移動（図８参照）
対象となる文書（文書Ａ）全体を、現在所属しているフォルダ以外のフォルダに移動する操作である。この操作を指示するには、ユーザは、文書一覧部２２０内において、対象の文書をマウスで選択し、それを所望の移動先のフォルダ２１２の上までドラッグして、ドロップすればよい（このとき、コピーの場合と異なり特別のキーは押下しない）。この結果、文書Ａは、開いているフォルダ（フォルダＸとする）からドロップ先のフォルダ（フォルダＹとする）２１２に移動する。
【００３８】
この操作が完了すると、履歴編集部１４は、文書Ａについて、「フォルダＸからフォルダＹに移動した」などという内容の履歴レコード１２２ｃを作成し、文書Ａの履歴リスト部１２０の末尾に追加する（図９参照）。
【００３９】
（ｃ）新規生成（図１０参照）
新しい文書（文書Ａ）を生成する操作である。この操作を指示するには、ユーザは、マウス等を用いて、例えばメニューバー２３０の所定の項目を選択し、その結果表示されるプルダウンメニュー２３２において、「新規生成」を選択すればよい。すると、現在開いているフォルダ（フォルダＸとする）内に新たな文書（文書Ａ）が生成され、文書一覧部２２０にその文書２２２ａのイメージが表示される。
【００４０】
この操作が完了すると、履歴編集部１４は、文書Ａについて、「文書Ａが、フォルダＸにおいて、新規生成された」等という内容の履歴レコード１２２ｄを作成し、文書Ａの履歴リスト部１２０に加える。なお、文書Ａは、全く新規に生成された文書なので、履歴リスト部１２０は、履歴編集部１４が作成した上記内容の最新の履歴レコード１２２ｄを１つ含むだけである。
【００４１】
（ｄ）コピー合成（図１２参照）
文書（文書Ａ）の一部又は全部を、他の文書（文書Ｂ）の中にコピーによりマージ（合成）する処理である。操作の前後で文書Ａのページ構成は変化しない。この操作を指示する場合、ユーザは、まず文書一覧部２２０の中で、元となる文書Ａの全部を選択するか、又はその文書の一部のページ群を選択し、コピー操作を意味する特別のキーを押下しながら、その選択アイテム（文書全体、又は文書の中で選択したページ群）をマージ先の文書Ｂの所望のマージ位置（挿入先。ページとページの間）までドラッグし、ドロップすればよい。
【００４２】
このような操作により、例えば、図１３に示すように、文書Ａの中の選択されたページ群１１４が文書Ｂの途中に挿入される（一部合成の場合）。文書Ａのページ構成は、操作の前後で変化しない。
【００４３】
この操作が完了すると、履歴編集部１４は、文書Ａ及び文書Ｂの各々に対して、この操作を表す履歴レコードを生成する。文書Ａについての履歴レコード１２２ｅは、例えば「一部をコピーにより文書Ｂにマージした」（一部合成の場合）などといった内容となる。一方、文書Ｂについての履歴レコード１２２ｆは、例えば「文書Ａの一部がコピーによりマージされた」（一部合成の場合）といった内容となる（全体合成の場合は、「一部」を「全体」に替えればよい）。そして、履歴編集部１４は、生成した各履歴レコード１２２ｅ，１２２ｆを、対応する文書ファイルの履歴リスト部１２０の末尾に追加する。
【００４４】
（ｅ）移動合成（図１４参照）
文書（文書Ａ）の一部又は全部を、他の文書（文書Ｂ）の中に移動してマージ（合成）する処理である。この操作により、マージしたページは文書Ａから削除される。
【００４５】
この操作を指示する場合、ユーザは、まず文書一覧部２２０の中で、元となる文書Ａの全部又は一部のページを選択し、それをマージ先の文書Ｂの所望のマージ位置（ページとページの間）までドラッグし、ドロップすればよい。
【００４６】
このような操作により、例えば、図１５に示すように、文書Ａの一部のページが削除され、そのページが文書Ｂの途中に挿入される（一部合成の場合）。文書Ａ全体を文書Ｂにマージした場合は、文書Ａ自体が無くなる。
【００４７】
この操作が完了すると、履歴編集部１４は、文書Ａ及び文書Ｂの各々に対して、この操作を表す履歴レコードを生成する。文書Ａについての履歴レコード１２２ｇは、例えば「一部を移動により文書Ｂにマージした」（一部合成の場合）などといった内容となる。一方、文書Ｂについての履歴レコード１２２ｈは、例えば「文書Ａの一部が移動によりマージされた」（一部合成の場合）といった内容となる。そして、履歴編集部１４は、生成した各履歴レコード１２２ｇ、１２２ｈを、対応する文書ファイルの履歴リスト部１２０の末尾に追加する。
【００４８】
なお、文書Ａ全体を文書Ｂにマージした場合は、文書Ａ自体が無くなってしまう。この場合、文書Ａ全体が無くなってしまうので、文書Ａのファイルに含まれていた履歴リスト部も無くなってしまうことになる。のちに他の文書（例えば文書Ａからコピーして作った別の文書）から文書Ａを参照したときに、文書Ａの痕跡が全く消えてしまっていると、不便である。そこで、本実施形態では、文書全体を削除した場合には、その削除の履歴を、その文書が削除されたフォルダに記憶しておく。すなわち、図１６に示すように、ファイルシステム３００の各フォルダ２１２に、削除履歴ファイル１５０を予め作成しておき、その削除履歴ファイル１５０に、文書を削除したことを示す履歴レコード（例えば「文書Ｂに全体マージをしたことにより、文書Ａが削除された」など。時刻を含むことが望ましい）を追加する。履歴削除ファイル１５０は、削除を示す履歴レコードのリストになる。
【００４９】
また、このほかに、削除する文書の履歴リスト部１２０の情報を示す特別のファイルを、文書Ａが所属していたフォルダ（すなわち、この操作のときに開いているフォルダ）の中に生成してもよい。このファイルは、例えばファイル名の拡張子などにより、一般の文書ファイルと区別する。このファイルの履歴リストの最後は、当該文書を削除したことを示す履歴レコードである。この方式によれば、削除した文書の履歴を保存したファイルを参照することにより、その文書のすべての履歴を知ることができる。
【００５０】
（ｆ）一部コピー（図１７参照）
文書（文書Ａ）の一部をコピーして新たな文書（文書Ｂ）を生成する操作である。この操作を指示するには、ユーザは、まず文書一覧部２２０の中で、元となる文書Ａの一部のページを選択し、コピー操作を意味する特別のキーを押下しながら、それを文書一覧部２２０の空き領域、またはフォルダ表示部２１０の所望のフォルダ２１２上までドラッグし、ドロップすればよい。
【００５１】
この操作により、文書Ａの中の選択されたページ群１１４からなる新文書Ｂが生成される。文書Ａのページ構成は変化しない（図１８参照）。
【００５２】
この操作が完了すると、履歴編集部１４は、文書Ａ及び文書Ｂの各々に対して、この操作を表す履歴レコードを生成する。文書Ａについての履歴レコード１２２ｉは、例えば「一部コピーにより文書Ｂを生成した」などといった内容となる。一方、文書Ｂについての履歴レコード１２２ｊは、例えば「文書Ｂが、フォルダＸにおいて、文書Ａからの一部コピーにより新規生成された」（フォルダＸは文書Ｂの生成されたフォルダの識別名）といった内容となる。そして、履歴編集部１４は、生成した各履歴レコード１２２ｉ、１２２ｊを、対応する文書ファイルの履歴リスト部１２０の末尾に追加する。なお、文書Ｂの履歴リスト部１２０の内容は、履歴レコード１２２ｊのみである（図１８参照）。これは、一部コピーにより生成される文書は、元の文書と関係はあるものの同一内容ではないため、全くの新規作成と同様の扱いをする方が妥当と考えられるからである。逆に（ａ）の全体コピーで生成された新文書は、元の文書と同一の内容となるので、これに対する履歴も同じものを持っていた方が後のもと文書の追跡において便利と考えられるからである。
【００５３】
（ｇ）一部移動（図１９参照）
文書（文書Ａ）の一部のページを移動して新たな文書（文書Ｂ）を生成する操作である。移動したページは、元の文書から削除される。この操作を指示するには、ユーザは、まず文書一覧部２２０の中で、元となる文書Ａの一部のページを選択し、それを文書一覧部２２０の空き領域、またはフォルダ表示部２１０の所望のフォルダ２１２上までドラッグし、ドロップすればよい（このとき、一部コピーと異なり特別のキーは押下しない）。
【００５４】
この操作により、図２０に示すように、文書Ａから選択されたページ群１１４が削除され、それらページからなる新文書Ｂが新たに生成される。
【００５５】
この操作が完了すると、履歴編集部１４は、文書Ａ及び文書Ｂの各々に対して、この操作を表す履歴レコードを生成する。文書Ａについての履歴レコード１２２ｋは、例えば「一部抜き取りにより文書Ｂを生成した」などといった内容となる。一方、文書Ｂについての履歴レコード１２２ｍは、例えば「文書Ｂが、フォルダＸにおいて、文書Ａからの一部抜き取りにより新規生成された」といった内容となる。そして、履歴編集部１４は、生成した各履歴レコード１２２ｋ、１２２ｍを、対応する文書ファイルの履歴リスト部１２０の末尾に追加する。なお、文書Ｂは、新規生成された文書なので、履歴リスト部１２０の内容は、履歴レコード１２２ｍのみである（図２０参照）。
【００５６】
（ｈ）削除（図２１参照）
文書全体又は文書の一部のページを削除する処理である。
【００５７】
図２１は、文書全体を削除する場合を示している。この場合、ユーザは、例えば、マウス等で削除したい文書（図では文書Ａ）全体を選択し、その後メニューバー２３０のプルダウンメニュー２３２から「削除」のコマンドを選択すればよい。この操作により、文書Ａの画像が文書一覧部２２０から消去され、文書Ａのファイルが記憶装置３０から削除される。なお、この場合、文書Ａ全体が無くなってしまうので、前述の（ｅ）の移動合成の処理における文書全体の移動合成の場合と同様、「文書Ａが削除された」という履歴レコード、開いているフォルダの削除履歴ファイル１５０（図１６参照）のリストに追加する。
【００５８】
文書の中の一部のページを削除する場合は、ユーザは、マウス等で削除したいページを選択し、プルダウンメニュー２３２で「削除」コマンドを選択するなどの操作を行えばよい。これにより、文書から選択されたページが削除される。この場合は、元の文書自体は無くならないので、この削除操作の履歴レコードは、その文書の履歴リスト部１２０の末尾に追加される。この場合の履歴レコードは、例えば「一部が削除された」などという内容になる。
【００５９】
（ｉ）履歴表示
文書の履歴を表示させるには、ユーザは、編集ウインドウ２００（図３参照）の文書一覧部２２０から対象の文書２２２を選択し、メニューバー２３０にて「履歴表示」のコマンドを選択すればよい。すると、編集処理部１０は、リスト表示（図４）と系統図表示（図５）のいずれかの選択をユーザに促す。ユーザは、これに応じていずれか一方を選択する。すると、編集処理部１０は、選択された文書２２２のファイル１００の履歴リスト部１２０を読み出し、各履歴レコードを指定された表示形式で表示する。
【００６０】
図４に示したリスト表示ウインドウ４００では、各履歴レコードを時刻の古い順に上から列挙表示する。この表示は、文書Ａの履歴リスト部１２０に基づき生成したものである。したがって、特に明示のない限り、各履歴レコードに示された操作の対象は、文書Ａである。コピーやマージなどの複数の文書が関連する操作においては、文書Ａの相手となる文書（コピー先など）のみを示し、文書Ａは省略している。
【００６１】
図５の系統図表示ウインドウ５００には、図４のリスト表示と同一の内容を表す系統図５１０が表示される。系統図５１０では、四角形の各ノード５１２は、文書を表している。各ノード５１２の中には文書名が示される。系統図５１０では、左から右への向かう方向を時間の流れる向きとしている。すなわち、左端のノードが最も古い状態を表している。系統図の上下方向に並んだノードは、同一の操作に関連する文書を表している（すなわち時間的には同時）。系統図５１０は、文書Ａの履歴リスト部１２０に基づき生成したものであり、文書Ａに関する操作を時系列的に左から右に並べていったものである。
【００６２】
文書Ａが新規に生成されたときがこの系統図５１０の始点であり、その時の文書を表すノード５１２の近傍（例えば直下）には、新規生成操作を示す“新規生成”という説明が表示される。そして、その文書の生成されたフォルダの名称“フォルダＸ”がそのノードの例えば直上に表示される。
【００６３】
次の文書ＡのフォルダＸからフォルダＹへの移動は、右向きの矢印で表される。矢印の近傍には、その操作の種類を表す“移動”などの説明が表示される。文書全体の移動の場合、文書名は変わらず、文書の所在位置（フォルダ）が変わる。したがって、矢印の矢の先には文書Ａを表すノードが示され、そのノードの近傍にはその文書Ａのその時点の所在位置（“フォルダＹ”）が表示される。
【００６４】
以降、文書Ａ自体の所在位置は変わらないままで、その文書Ａに対して操作が行われていく。ある操作とその次の操作との間で文書Ａの所在位置が変わらない場合は、各操作の時点での文書Ａを表すノード同士を、右向き矢印“→”の代わりに“＝”で結ぶ。
【００６５】
その文書Ａについての操作に、別の文書が関連する場合は、文書Ａのノードとその関連文書のノードとを上向き又は下向きの矢印で結び、その矢印の近傍に操作の内容の説明を表示する。文書Ａから出ていく向きの矢印は、コピー、一部抜き出し、他の文書へのマージなど、文書Ａの全部又は一部が他へ派生する操作を表す。一方、文書Ａに入っていく向きの矢印は、文書Ａに対する他文書からのマージを意味する。
【００６６】
そして、系統図５１０の右端のノードが、注目している文書Ａの現在の状態を示している。
【００６７】
図２２及び図２３に、図４及び図５に示した履歴において、文書Ａから全体コピーによって生成された文書Ｄの履歴内容の表示例を示す。図２２がリスト表示であり、図２３が系統図表示である。全体コピーにより生成された新文書には、元の文書のコピー前の履歴リストがコピーされた上で、その後にその新文書自体の操作履歴のレコードが追加される。したがって、図２２のリスト表示においては、上から４つのレコードまでは図４と全く同じであり、第５レコード以下が文書Ｄ自身に対する操作履歴のレコードとなる。ここで、第５レコードでは、この履歴リストの対象が文書Ａから文書Ｄに変わったことを示すために、生成されたのが“文書Ｄ”であることを明示する。以降、履歴リストの対象が変わる（主体が変わるのは新たな文書が“生成”された場合である）まで、履歴レコードに対象を明示する必要はない。そして、第６レコードには、文書Ｄの一部を移動、すなわち抜き取って、文書Ｆにマージしたことが示されている。
【００６８】
このような履歴を系統図で表すと、図２３のようになる。すなわち、文書Ｄの履歴には、その元になった文書Ａの操作履歴がまず左から順に表示され、その後に文書Ｄについての履歴が続く。そして、系統図の右端のノード５１４が、履歴の対象となっている現在の文書を示す。
【００６９】
このような履歴表示により、ユーザは、対象の文書の変遷を知ることができ、必要に応じてその文書の元になった文書やその文書から派生した文書をたどることができる。
【００７０】
［処理手順］
次に、以上に説明した文書編集、履歴編集及び表示の処理を実現するための文書管理装置１の処理手順を説明する。
【００７１】
図２４は、文書管理装置１の全体的な処理手順を示すメインのフローチャートである。まず、文書管理装置１が起動されると（Ｓ０）、表示装置７０に、図３に示した編集ウインドウ２００が表示される。この時点では、対象とする文書フォルダが選択されていないので、文書一覧部２２０は空である。ユーザが、フォルダ表示部２１０にてフォルダを選択すると、その選択内容が入力処理部６０を介して編集処理部１０へ伝えられ、これに応じて編集処理部１０は、そのフォルダに含まれる各文書のファイルを、記憶装置３０からメモリ４０に読み出す（Ｓ１）。その結果、文書一覧部２２０には、選択されたフォルダ内の文書２２２の画像が二次元的な配置で表示される。以下、入力処理部６０は、入力待ち状態となる。
【００７２】
入力装置５０からユーザの入力があると、まず入力処理部６０はその入力が本装置１の終了指示であるか否かを判定する（Ｓ２）。この判定結果がＹｅｓの場合、入力処理部６０は、編集処理部１０にメモリ４０内にある文書のファイルを記憶装置３０に書き戻させ（Ｓ１１）、本装置１の動作を終了する（Ｓ１３）。
【００７３】
Ｓ２の判定結果がＮｏの場合、入力処理部６０は、ユーザからの入力が文書一覧部２２０における文書（またはその一部）の選択であるか否かを判定する（Ｓ３）。
【００７４】
本実施形態では、例えば、文書一覧部２２０の文書２２２の画像において、ページの上にカーソルを移動させてマウスボタンをクリックすることにより、文書の一部のページを選択することができる。また、例えば、マウスを用いて文書全体の画像を囲むように範囲指定をすることにより、文書全体を選択することができる。入力処理部６０がこのような操作を検出すると、Ｓ３の判定結果はＹｅｓとなる。
【００７５】
Ｓ３の判定結果がＹｅｓの場合、入力処理部６０は、選択された文書を編集処理部１０に伝える。すると、編集処理部１０は、その文書のステータスを“選択状態”にする（Ｓ１０）。選択状態の文書が、これからの編集操作の対象となる。Ｓ１０が完了すると、入力処理部６０は、入力待ち状態となる。
【００７６】
Ｓ３の判定結果がＮｏの場合、入力処理部６０は、ユーザからの入力が、メニューバー２３０（又はプルダウンメニュー２３２）からの指示か否かを判定する（Ｓ４）。この判定結果がＹｅｓの場合、入力処理部６０は、そのメニューによる指示を解析し（Ｓ９）、その解析結果を文書編集部１２に渡す（Ｓ６へ）。すなわち、メニュー上で選択された文書編集のコマンドの内容が文書編集部１２へ伝えられる（なお、メニューには文書編集に関するコマンド以外のものもあるが、それらについての説明は省略する）。
【００７７】
図２５は、Ｓ９におけるメニューからの指示内容の解析処理の手順を示すフローチャートである。まず、入力処理部６０は、メニューからの指示が履歴表示であるか否かを判定する（Ｓ９１）。この判定結果がＹｅｓの場合、入力処理部６０は、編集処理部１０に対して履歴表示処理を指示する。この場合、図２６に示すように、入力処理部６０がまず選択状態にあるのが文書か否かを判定する（Ｓ９１１）。この判定結果がＮｏの場合、文書の一部が選択されているということなので、履歴の表示は行わず、処理を終了する。一方、Ｓ９１１の判定がＹｅｓの場合、編集処理部１０からの指示により、履歴表示部２４が履歴表示用のウインドウ（図４及び図５参照）を開く（Ｓ９１２）。そして、編集処理部１０は、選択状態にある文書の履歴リスト部１２０の情報を解析して、リスト表示（図４）又は系統図表示（図５）の表示データを作成し、それを履歴表示部２４が生成したウインドウ内に表示する（Ｓ９１３）。
【００７８】
Ｓ９１の判定結果がＮｏの場合、次に入力処理部６０は、メニューからの指示が新規文書の生成であるか否かを判定する（Ｓ９２）。この判定がＹｅｓの場合、入力処理部６０は、文書編集部１２に対し、開いているフォルダ（文書一覧部２２０に対応）内に新規文書を生成するよう指示する（Ｓ９４）。
【００７９】
Ｓ９２の判定結果がＮｏの場合、入力処理部６０は、メニューからの指示内容は削除であるか否かを判定する（Ｓ９３）。この判定結果がＹｅｓの場合は、図２７に示す削除指示の解析処理に移行する。図２７において、入力処理部６０は、選択状態にあるのは文書全体か否かを判定する（Ｓ９３１）。この判定結果がＹｅｓの場合、入力処理部６０は、その選択状態にある文書を削除するよう文書編集部１２に指示を送る（Ｓ９３２）。Ｓ９３１の判定結果がＮｏの場合、入力処理部６０は、選択状態にある部分（文書の一部）を削除するよう文書編集部１２に指示を送る（Ｓ９３３）。
【００８０】
図２４のメインのフローチャートに戻り、Ｓ４の判定結果がＮｏの場合、入力処理部６０は、ユーザからの入力がマウスによるダイレクトな指示か否かを判定する（Ｓ５）。マウスによるダイレクトな指示とは、マウスで文書又は文書の中の一部のページを直接ドラッグ・アンド・ドロップする指示のことである。Ｓ５の判定結果がＹｅｓの場合、入力処理部６０は、その指示の内容を解析して、どこからどこへのコピーか、移動なのか、その指示の内容を求める（Ｓ６）。
【００８１】
図２８は、このＳ６の処理手順を更に詳細に表したものである。マウスによるダイレクトな指示には、指示の開始点と終了点がある。開始点は移動やコピーの対象を指示するものであり、終了点は移動やコピーの宛先を指示するものである。Ｓ６では、まず入力処理部６０は、マウスによる指示の開始点が、Ｓ１０で選択状態とされた部分（文書又はその一部）の中にあるか否かを判定する（Ｓ６１）。この判定結果がＮｏの場合、入力処理部６０は入力待ち状態に戻る。
【００８２】
Ｓ６１の判定結果がＹｅｓの場合、次に入力処理部６０は、指示の終了点が、文書一覧部２２０の文書２２２の画像内か否かを判定する（Ｓ６２）。この判定の結果がＹｅｓの場合、選択状態の部分を終了点によって示される文書にマージする操作となる。この操作については、後に図２９を参照して説明する。
【００８３】
Ｓ６２の判定結果がＮｏの場合、入力処理部６０は、更に選択状態にあるのは文書全体か否かを判定する（Ｓ６３）。この判定がＮｏの場合は、ユーザは、文書の一部をコピー又は移動して新たな文書を作成する操作を指示していることになる。この操作のための手順については、後に図３０を参照して説明する。一方、Ｓ６３の判定結果がＹｅｓの場合、ユーザは、文書全体のコピー又は移動を指示していることになる。この操作のための手順については、後に図３１を参照して説明する。
【００８４】
次に、図２９を参照して、Ｓ６２の判定結果がＹｅｓとなったときに行われるマージ処理の手順を説明する。この処理では、入力処理部６０は、まずコピーを表す特別なキーが押下されているか否かを調べる（Ｓ６４１）。そのキーが押下されていれば、選択状態にある部分（文書又はその一部）を、マウスで指示された終了点が属する文書の中のその終了点が示す位置に、コピーによって挿入することを文書編集部１２に指示する（Ｓ６４２）。一方、そのキーが押下されていなかった場合は、選択部分を終了点の位置に、移動によって挿入することを文書編集部１２に指示する（Ｓ６４３）。
【００８５】
次に、図３０を参照して、Ｓ６３の判定結果がＮｏとなったときに行われる一部移動又はコピーの処理手順を説明する。この処理では、入力処理部６０は、まずコピーを表す特別なキーが押下されているか否かを調べる（Ｓ６５１）。そのキーが押下されていればコピーの指示であり、押下されていなければ移動の指示である。コピー指示の場合、入力処理部６０は、更にマウスによる指示の終了点がフォルダ表示部２１０内のフォルダ上か否かを判定する（Ｓ６５２）。この判定結果がＹｅｓの場合、入力処理部６０は、選択状態の部分を終了点が示すフォルダに新文書としてコピーすることを文書編集部１２に指示する（Ｓ６５３）。一方、Ｓ６５２の判定結果がＮｏの場合、入力処理部６０は、選択状態の部分を現在開いているフォルダ内に新文書としてコピーすることを文書編集部１２に指示する（Ｓ６５４）。移動指示の場合も、同様に、入力処理部６０は、マウスによる指示の終了点がフォルダ表示部２１０内のフォルダ上か否かを判定し（Ｓ６５５）、この判定結果がＹｅｓの場合、選択状態の部分を終了点が示すフォルダに移動して新文書を生成することを文書編集部１２に指示する（Ｓ６５６）。Ｓ６５５の判定結果がＮｏの場合は、選択状態の部分を開いているフォルダ内に移動して新文書を生成することを文書編集部１２に指示する（Ｓ６５７）。
【００８６】
次に、図３１を参照して、Ｓ６３の判定結果がＹｅｓとなったときに行われる文書全体の移動又はコピーの処理手順を説明する。この処理では、入力処理部６０は、まずコピーを表す特別なキーが押下されているか否かを調べる（Ｓ６６１）。
【００８７】
そのキーが押下されていればコピーの指示であり、押下されていなければ移動の指示である。コピー指示の場合、入力処理部６０は、更にマウスによる指示の終了点がフォルダ表示部２１０内のフォルダ上か否かを判定する（Ｓ６６２）。この判定結果がＹｅｓの場合、入力処理部６０は、選択状態の文書全体を終了点が示すフォルダに新文書としてコピーすることを文書編集部１２に指示する（Ｓ６６３）。一方、Ｓ６６２の判定結果がＮｏの場合、入力処理部６０は、選択状態の文書を現在開いているフォルダ内コピーして新文書を生成することを文書編集部１２に指示する（Ｓ６６４）。
【００８８】
移動指示の場合も、同様に、入力処理部６０は、マウスによる指示の終了点がフォルダ表示部２１０内のフォルダ上か否かを判定する（Ｓ６６５）。この判定結果がＹｅｓの場合、選択状態の文書を終了点が示すフォルダに移動することを文書編集部１２に指示する（Ｓ６６６）。Ｓ６６５の判定結果がＮｏの場合は、文書一覧部２２２内でその選択された文書の画像の位置をその終了点の位置まで移動させる（Ｓ６６７）。Ｓ６６７の処理では、文書内容についての実質的な編集は行われず、したがって操作の履歴レコードも作成されない。
【００８９】
このようにしてＳ９又はＳ５にてユーザからの指示内容の解析が終わると、入力処理部６０からその解析結果を受け取った文書編集部１２が、その解析結果に従って編集処理を実行する（Ｓ７）。文書編集部１２の編集処理が完了すると、履歴編集部１４が、Ｓ６で行った編集操作に関係した各文書ごとに対し、その編集操作の内容を表す履歴レコードを作成し、それら履歴レコードをそれぞれ対応する文書の履歴リスト部１２０に追加する（Ｓ８）。
【００９０】
このようにして編集操作及びそれに伴う履歴の追加処理が完了すると、文書管理装置１は入力待ち状態に戻る。
【００９１】
なお、Ｓ５の判定結果がＮｏの場合、メニューからの操作指示でもマウスからのダイレクトな編集指示でもない。文書管理装置１がページ内の編集処理の機能を備えていれば、このケースは、ページ内編集の指示に該当する。文書管理装置１は、そのページ内編集操作の指示内容を解析し、それにしたがって処理を実行する（Ｓ１２）。
【００９２】
以上、本発明の好適な実施形態について説明した。以上説明したように、本実施形態によれば、文書編集部１２で文書に編集操作を加えるごとに、その操作の内容を表す履歴レコードが履歴編集部１４で作成され、その文書のファイルの履歴リスト部１２０に追加される。文書の編集が終わると、その文書の内容が文書データ部１１０と履歴リスト部１２０とからなる文書ファイル１００にまとめられ、オペレーティングシステムを介して記憶装置（ファイルシステム）３０内に格納される。すなわち、本実施形態によれば、オペレーティングシステムにおけるファイルの中に文書とその文書に対する操作の履歴をパッケージングしている。したがって、そのオペレーティングシステム上で動作するメールシステムなどを用いてその文書を広く流通させることができる。そして、文書を作成した環境の外のコンピュータにその文書が届いた場合、そのコンピュータが、本実施形態の文書管理装置として機能するためのソフトウエアを有していれば、そのコンピュータでその文書の履歴を知ることができる。
【００９３】
［変形例］
メールシステムやオペレーティングシステムのファイル管理機構など、文書管理装置１以外の機構により文書ファイルを移動又はコピーする場合が考えられる。メールシステム等はそのような移動やコピーについての履歴レコードを作成しないので、そのような移動等があった場合、履歴リスト部１２０の情報から求められる文書の最新の所在位置（フォルダ）と、その文書の実際の所在位置とが異なってくる場合がある。
【００９４】
本変形例では、そのような矛盾を解消するために、履歴編集部１４が、文書の履歴情報から求めた最新の所在位置と、オペレーティングシステムから求めたその文書の実際の所在位置とを比較し、両者が異なっている場合には、その文書が移動又はコピーされたことを示す履歴レコードを生成し、その文書の履歴リスト部１２０に追加する。この所在位置のチェックは、例えば文書フォルダが選択されるごとに、その文書フォルダ内の全文書について順に行えばよい。また、より簡易的には、文書一覧部２２０内で文書が選択されるごとに、その文書についての所在位置のチェックを行う方式でもよい。
【００９５】
図３２は、この変形例における１文書について処理の手順を示したフローチャートである。所在位置チェックを行う文書が決まると、履歴編集部１４は、その文書のファイルから履歴リスト部１２０の先頭（最も古い）にあるその文書の生成時の履歴レコードから、その文書が生成されたフォルダの名称を取り出し、そのフォルダ名を変数“履歴による所在位置”にセットする。次に、履歴リスト部１２０の履歴レコードの中から次に古いレコードを１つ読み込む（Ｓ５１）。次にＳ５１で履歴レコードが読み込めたか否かを判定する（Ｓ５２）。読み込めた場合は、その履歴レコードを解析し、その履歴レコードが所在位置（フォルダ）の変更に関するもの（すなわち移動、又はフォルダ移動を伴う全体コピーなど）である場合には、変数“履歴による所在位置”をその履歴レコードに示された移動先のフォルダ名に変更する（Ｓ５３）。読み込んだレコードが所在位置の変更以外の場合には、何もしない。そして、次の履歴レコードを読み込み（Ｓ５４）、Ｓ５２の判定に戻る。このＳ５２からＳ５４のループを繰り返して履歴レコードの古い順に読み込んでいき、“履歴による所在位置”の情報を順次更新していく。そして、すべての履歴レコードの処理が終わると、Ｓ５２の判定結果がＹｅｓになる。このときの“履歴による所在位置”が履歴が示す当該文書の最新の所在位置である。
【００９６】
Ｓ５２がＹｅｓになると、次に履歴編集部１４は、当該文書の現在の実際の所在位置の情報をオペレーティングシステム等から取得する。編集ウインドウ２００（図３参照）上で所在位置チェックの対象の文書を選択している場合は、現在開いているフォルダ自体が、その文書の実際の所在位置である。この実際の所在位置を“履歴による所在位置”と比較する（Ｓ５５）。この結果、両者が等しければ、履歴編集部１４は何も行わず、この処理を終了する。一方、実際の所在位置と“履歴による所在位置”とが異なっていれば、履歴編集部１４は、「フォルダＸからフォルダＹに移動又はコピーされた」（ただし、フォルダＸは履歴から求めた最新の所在位置、フォルダＹはオペレーティングシステム等から求めた実際の所在位置）などという、移動又はコピーがあった旨を示す履歴レコードを作成し、それを当該文書ファイルの履歴リスト部１２０に追加する。
【００９７】
なお、この変形例では、文書管理装置１以外の機構により行われた操作については、移動、コピーのいずれであるかということまでは判別することができないが、それに関する履歴レコードが追加されるだけでも、文書の流通における履歴情報の無矛盾性の確立のために大きな効果がある。
【００９８】
また、この所在位置チェックを文書フォルダ内の文書に一括して行う構成とした場合には、そのフォルダ内の文書が多いと処理に長時間を要してしまうことも考えられる。これを避けるために、各文書フォルダごとに、そのフォルダ内に含まれる文書の文書名を登録した一覧テーブルを設けることも好適である。
【００９９】
この一覧テーブルは、履歴編集部１４により次のように管理する。すなわち、まずフォルダ内で文書が生成されると、その文書の文書名を一覧テーブルに登録する。文書が生成されるケースには、上述の（ａ）全体コピー、（ｃ）新規生成、（ｆ）一部コピー、及び（ｇ）一部移動の場合がある。また、文書が移動した場合は、移動元のフォルダの一覧リストからその文書名を削除し、移動先のフォルダの一覧テーブルにその文書名を登録する。そして、フォルダから文書が削除された場合は、その文書名をそのフォルダの一覧テーブルから削除する。
【０１００】
このような管理によれば、一覧テーブルに登録されていない文書がフォルダ内にあれば、その文書は文書管理装置１以外の機構によりフォルダ内に移動してきたことになる。
【０１０１】
履歴編集部１４は、フォルダ内の全文書についての所在位置チェックを行う場合には、フォルダ内の各文書が一覧テーブルに登録されているかどうかを調べるだけでよい。登録されていれば何もしない。登録されていなければ、履歴編集部１４は、その文書が「移動又はコピーされた」ことを示す履歴レコードを作成し、その文書の履歴リスト部に追加する。
【０１０２】
このような処理によれば、各文書の履歴リスト部をすべて調べるというような時間のかかる処理を行わなくても、所在位置チェックを行うことができる。
【０１０３】
なお、本実施形態の装置は、以上に説明した機能・処理手順を記述したプログラムをコンピュータに実行させることによって実現することができる。この場合、プログラムは、例えばフロッピーディスクやＣＤ−ＲＯＭなどの記録媒体の形態あるいは通信回線を介して供給され、これを例えばコンピュータに付属する固定ディスク装置にインストールすることにより、実行可能となる。
【０１０４】
【発明の効果】
以上説明したように、本発明によれば、各文書管理装置で文書に対して操作の履歴を追加するようにし、その履歴の情報を各文書管理装置で参照できるようにしたことにより、履歴サーバなどによる集中的な履歴管理手法とはそもそも相容れなかった開放系での自由な文書流通において、文書の操作履歴情報の利用が可能になる。
【図面の簡単な説明】
【図１】  本発明に係る文書管理装置の全体構成を示す機能ブロック図である。
【図２】  実施形態における文書ファイルの構成を示す図である。
【図３】  実施形態における文書編集のためのユーザインタフェース画面の表示例を示す図である。
【図４】  リスト表示方式の履歴表示の例を示す図である。
【図５】  系統図表示方式の履歴表示の例を示す図である。
【図６】  文書全体をコピーする時のユーザの操作を説明するための図である。
【図７】  文書全体をコピーした時のメモリ４０内の文書ファイルのデータの変化を説明するための図である。
【図８】  文書全体を移動する時のユーザの操作を説明するための図である。
【図９】  文書全体を移動した時のメモリ４０内の文書ファイルのデータの変化を説明するための図である。
【図１０】  文書を新規に生成する時のユーザの操作を説明するための図である。
【図１１】  文書を新規に生成した時のメモリ４０内の文書ファイルのデータの変化を説明するための図である。
【図１２】  文書の一部をコピーして他の文書に合成する時のユーザの操作を説明するための図である。
【図１３】  文書の一部をコピーして他の文書に合成した時のメモリ４０内の文書ファイルのデータの変化を説明するための図である。
【図１４】  文書の一部を移動して他の文書に合成する時のユーザの操作を説明するための図である。
【図１５】  文書の一部を移動して他の文書に合成した時のメモリ４０内の文書ファイルのデータの変化を説明するための図である。
【図１６】  文書削除の場合の履歴レコードを登録する削除履歴ファイルを説明するための図である。
【図１７】  文書の一部をコピーして新たに文書を生成する時のユーザの操作を説明するための図である。
【図１８】  文書の一部をコピーして新たに文書を生成した時のメモリ４０内の文書ファイルのデータの変化を説明するための図である。
【図１９】  文書の一部を移動して新たに文書を生成する時のユーザの操作を説明するための図である。
【図２０】  文書の一部を移動して新たに文書を生成した時のメモリ４０内の文書ファイルのデータの変化を説明するための図である。
【図２１】  文書を削除する時のユーザの操作を説明するための図である。
【図２２】  全体コピーによって生成された文書の履歴のリスト表示の例を示す図である。
【図２３】  全体コピーによって生成された文書の履歴の系統図表示の例を示す図である。
【図２４】  実施形態の文書管理装置の全体的な処理手順を示すフローチャートである。
【図２５】  メニューからの指示内容の解析（Ｓ９）の手順の一部を示すフローチャートである。
【図２６】  履歴表示処理の手順を示す図である。
【図２７】  削除指示の解析手順を示すフローチャートである。
【図２８】  マウスによる指示内容の解析（Ｓ５）の手順の一部を示すフローチャートである。
【図２９】  マージ処理の指示の解析手順を示すフローチャートである。
【図３０】  文書の一部の移動又はコピーの処理の指示の解析手順を示すフローチャートである。
【図３１】  文書の全体の移動又はコピーの処理の指示の解析手順を示すフローチャートである。
【図３２】  変形例の処理手順を示したフローチャートである。
【符号の説明】
１  文書管理装置、１０  編集処理部、１２  文書編集部、１４  履歴編集部、２０  表示処理部、２２  文書表示部、２４  履歴表示部、３０  記憶装置、４０  メモリ、５０  入力装置、６０  入力処理部、７０  表示装置。
【図１】
0003832077.tif 000002
【図２】
0003832077.tif 000003
【図３】
0003832077.tif 000004
【図４】
0003832077.tif 000005
【図５】
0003832077.tif 000006
【図６】
0003832077.tif 000007
【図７】
0003832077.tif 000008
【図８】
0003832077.tif 000009
【図９】
0003832077.tif 000010
【図１０】
0003832077.tif 000011
【図１１】
0003832077.tif 000012
【図１２】
0003832077.tif 000013
【図１３】
0003832077.tif 000014
【図１４】
0003832077.tif 000015
【図１５】
0003832077.tif 000016
【図１６】
0003832077.tif 000017
【図１７】
0003832077.tif 000018
【図１８】
0003832077.tif 000019
【図１９】
0003832077.tif 000020
【図２０】
0003832077.tif 000021
【図２１】
0003832077.tif 000022
【図２２】
0003832077.tif 000023
【図２３】
0003832077.tif 000024
【図２４】
0003832077.tif 000025
【図２５】
0003832077.tif 000026
【図２６】
0003832077.tif 000027
【図２７】
0003832077.tif 000028
【図２８】
0003832077.tif 000029
【図２９】
0003832077.tif 000030
【図３０】
0003832077.tif 000031
【図３１】
0003832077.tif 000032
【図３２】
0003832077.tif 000033