(57)【特許請求の範囲】
【請求項１】
文書ファイルと該文書ファイルの版に関する情報および該文書ファイルのユーザ情報とを対応付けて記憶装置に格納して管理する文書管理方法であって、
前記記憶装置に格納する文書ファイルに関して、格納できる条件が予め定義され、
ユーザから文書ファイルの前記記憶装置への格納指示を受けるステップと、
前記格納指示を受けた文書ファイルの識別子情報とユーザ情報とを取得するステップと、
前記取得した識別子情報が、前記格納できる条件を満たしている場合、
前記取得した識別子情報と取得したユーザ情報とが、前記記憶装置に格納されている文書ファイルに対応付けられている識別子情報およびユーザ情報と一致するかどうかを判定するステップと、
前記判定するステップで一致した場合、
一致した文書ファイルの版に関する情報に基づいて前記格納指示を受けた文書ファイルに新たな版に関する情報を付与するステップと、
前記格納指示を受けた文書ファイルを前記記憶装置に格納するステップと、
前記判定するステップで一致しなかった場合、
前記格納指示を受けた文書ファイルの版に関する情報を新たに作成して前記記憶装置に格納するステップと、
前記格納指示を受けた文書ファイルを前記記憶装置に格納するステップと、
を有することを特徴とする文書管理方法。
【請求項２】
請求項１に記載の文書管理方法であって、
前記版に関する情報と、前記格納指示を受けた文書ファイルとはそれぞれ異なる格納部に格納することを特徴とする文書管理方法。
【請求項３】
請求項１に記載の文書管理方法であって、
前記格納指示を受けた文書ファイルは、前記取得したユーザ情報に基づく格納部に格納することを特徴とする文書管理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータを用いた文書管理システムに関し、特に、文書の変更履歴や版に関する情報を管理するバージョン管理方法及び装置に関する。
【０００２】
【従来の技術】
近年、電子化文書の作成、編集、再利用、配布等がコンピュータ上で行なわれることが主流となってきており、さらに、企業・組織の業務に直結するミッションクリティカルな文書、すなわち社内規則集、設計文書等も電子化されるようになってきている。
【０００３】
上記のようなミッションクリティカル文書は、たびたび改訂が加えられたり、長期間保存する必要があるという特徴がある。したがって、このような電子化文書を管理するための文書管理システムにおいては、変更箇所、変更日時、変更理由を把握したり、目的のバージョンを取り出したりするための機能が必要となり、そのためには、過去の文書の復元、最新版の管理などを行なうためのバージョン管理機能が必須である。ここで、バージョン管理機能とは、ユーザが文書やプログラムソースの編集、保存を行なう際に、任意のバージョンにさかのぼって取り出すことができるように、各バージョンの内容データ、バージョン番号、作成日時などの情報を管理する機能のことである。これにより、過去の任意の時点のバージョンの文書を復元したり、バージョン情報を一覧表示し編集過程を把握したりすることができる。
【０００４】
たとえば、特開平１０−２６０８８２号公報に示されたような文書管理システム（以下、これを公知例１と呼ぶ）では、チェックアウト、チェックイン等のバージョン管理操作を行なうことによりバージョン管理を行なっている。すなわち、まず、チェックアウト等の操作により他者が更新できないようにロックをかけた上で文書管理システムから文書を取り出し、文書の編集を行なう。その後、チェックイン等の操作を行なうことにより、編集した文書を文書管理システムに入力する際に、新規バージョンとして登録し、ロックも解除する。
【０００５】
上記のようなバージョン管理操作を行なうことは、複数人で更新する可能性のある文書を管理する場合などは、二重更新の問題を防ぐという観点から必須である。
【０００６】
また、文書管理システムへの入力時に、ユーザが細かな操作を行なうことなく、電子化文書の持つ書誌情報を利用して、自動的に処理を行ない、分類する技術が存在する。上記のような、書誌情報を利用し、入力されてきた文書ファイルを自動的に分類する例としては、たとえば、特開平１１−２８８４１７号公報に示された発明がある（以下、これを公知例２と呼ぶ）。公知例２では、電子化文書の書誌情報に基き、あらかじめ定義されたデータに従って、自動的にフォルダに分類し、文書ファイルを格納する。これにより、文書ファイルの入力時に、どのフォルダに登録するのかを文書毎にユーザが指定する必要はなくなる。
【０００７】
さらに、特開平８−１０１８２７では、入力されてきた文書ファイルと既登録の同一文書ファイル名の文書ファイルを調べ、文書ファイルが同一の文書ファイルが入力されてきた場合には、その文書を最新版として登録して格納する（以下、これを公知例３と呼ぶ）。
【発明が解決しようとする課題】
公知例１では、ユーザの端末からユーザの操作により文書管理システムから特定の文書ファイルを取り出し、チェックアウトの際、その文書ファイルにロックを掛ける。そして、ユーザの端末からユーザが編集した文書ファイルを文書管理システムに入力し、チェックイン時に文書管理システムに格納されている文書ファイルにチェックアウト時にされたロックの解除してバージョン管理操作を行なわなければならない。例えば、図１６のように、ユーザはクライアントによって新規文書ファイル１８０１を作成する。これを文書管理システムに入力する際は、文書管理システムに対して実線の下向き矢印で示すように、クライアントから文書管理システムへの入力操作を行なう。この例では、新規文書ファイルなのでバージョン１文書ファイル（以下、Ｖ１文書ファイルと表示する）１８０２として登録され、またＶ１文書ファイルで構成される文書１８１０が文書管理システムに格納される。
【０００８】
次に、文書１８１０を編集したい場合には、ユーザはクライアントを介して図１７のように登録済のＶ１文書ファイル１８０２を指定し、チェックアウト操作を実行する。これにより、Ｖ１文書ファイル１８０３は他者が更新できないように、ロックがかけられた状態（１９０１）にするとともに、クライアントにはＶ１文書ファイル１８０４を取り出すことができる。チェックアウトした文書ファイル１８０４を文書ファイル２００１のように更新した後、再度登録する場合は、更新済みの文書ファイル２００１を指定し、チェックイン操作を実行する。これにより、文書ファイル２００１が文書管理システムに入力され、新規バージョンであるバージョン２文書ファイル（以下、Ｖ２文書ファイルと表示する）２００２として登録して格納され、チェックアウト時にかけたロック１９０１も解除する。文書管理システムには登録済み文書のＶ１文書ファイル１８０２とＶ２文書ファイル２００２が管理される。
【０００９】
このように、チェックアウト、チェックインの際のロック、その解除により文書のバージョンを管理している。このようなバージョン管理操作を行なうのは、システムの処理性能に影響があるのみならず、ユーザにとっても、操作の手間がかかるという課題がある。
【００１０】
また、公知例２では、あらかじめ定義しておいた定義データに基づき、登録されてきた文書を自動的にフォルダに分類し、格納している。
【００１１】
これをバージョン管理に適用し、書誌情報によってバージョン管理対象となる文書ファイルを特定し、その文書に対して新規バージョンを追加する方法が考えられる。しかしこの方法では、次のような課題がある。登録する文書ファイルが新規の場合に対応できず、別途、新規文書として登録する処理を実行しなくてはならない。また、新規文書登録するたびに、定義データを作成しなければならない。このように文書の登録状態に応じて処理を切り替えることは従来技術だけでは実現できない。
【００１２】
公知例３では、登録対象文書ファイルが既に登録されているかどうかの判断は、文書名のみに基づいて行なっており、ユーザが自由にファイル名を変更するなどのことはできないとの課題がある。
【００１３】
すなわち、ユーザは、これから登録する文書が既に登録されているか否かに関わらず、常に同一の操作で文書を登録することができ、さらに、登録済の文書の場合、文書を指定しロックをかけて取り出すといった煩雑なバージョン管理操作を行なわなくても文書のバージョンを管理することができるような文書管理制御機能を提供することを目的とする。
【００１４】
【課題を解決するための手段】
本発明は、上記課題を解決するために、ユーザの指示により入力された文書ファイルとその文書ファイルの版に関する情報とを記憶装置に格納する文書管理方法において、ユーザの指定した文書ファイルの格納位置が所定格納位置である場合には、入力文書ファイルの識別子情報を取得して、取得した識別子情報に基づいて入力文書ファイルに版に関する情報を付与して、記憶装置に格納する文書管理方法である。
【００１５】
取得する識別子情報は、入力文書ファイルに含まれており、開始タグとそれに対応する終了タグに挟まれている情報である。この情報は、ユーザが編集しない部分が一般的であり書誌情報などがその例である。従ってユーザは編集するための使用するクライアントの記憶装置に格納する際に、文書ファイル名は自由に変更することができる。また、所定格納位置は、文書管理システム内のあらかじめ指定されている特定のフォルダやＵＲＬ（Uniform Resource Locator）である。また、所定格納位置及び文書ファイル内に記憶装置にあらかじめ保持されている登録定義情報を参照することにより特定されることによりバージョン管理を行なう文書管理方法である。また、識別子情報の位置情報はタグの要素名によって特定され、識別子情報の位置情報は、あらかじめ保持されている登録定義情報から文書ファイル入力の際に取得する。そのため、文書管理システムに格納されていない文書ファイルのバージョン管理が可能となる。
【００１６】
ところで、記憶装置に入力する文書ファイルに関連付けられた情報、例えば入力操作を行なうユーザのユーザ情報などの属性情報がある。ユーザの指示により入力された文書ファイルとその文書ファイルの版に関する情報とを記憶装置に格納する文書管理方法において、入力文書ファイルの識別子情報と入力文書ファイルの属性情報とを取得して、取得された属性情報と識別子情報とが、記憶装置に格納されている文書に対応付けられている属性情報と識別子情報とに一致するかどうか判定する判定ステップと、前記判定ステップで一致した文書の版に関する情報に基づいて入力文書ファイルに版に関する情報を付与して、入力文書ファイルと付与された版に関する情報とを対応付けて前記記憶装置に格納することを有することを特徴とする文書管理方法である。
【００１７】
また、取得された属性情報と識別子情報とが、記憶装置に格納されている文書に対応付けられている属性情報と識別子情報と少なくともどちらか一方が一致しない場合は、入力文書ファイルの識別子情報と前記属性とを入力文書ファイルに対応付けて記憶装置に格納するステップと、版に関する情報を入力文書ファイルに対応付けて格納することを特徴とする文書管理方法である。
【００１８】
文書ファイルを記憶装置へ入力する際に取得する文書ファイルに関連付けられた属性情報の指定は、記憶装置にあらかじめ保持されている登録定義情報から文書ファイルを入力する際に関連付けられている属性情報の指定を取得する。
【００１９】
記憶装置にあらかじめ保持されている登録定義情報から文書ファイルにおける識別子情報の位置情報と文書ファイルを入力する際に関連付けられている属性情報とを取得して、その取得した位置情報に基づいて前記入力文書ファイルに含まれる識別子情報を抽出することを特徴とする文書管理方法である。
【００２０】
ユーザは、これから登録する文書が既に登録されているか否かに関わらず、常に同一の操作で文書を登録することができ、登録済の文書の場合、文書を指定しロックをかけて取り出すといった煩雑なバージョン管理操作を行なわなくても自動的に文書のバージョンを管理することができるようになる。
【００２１】
さらに、本発明では、文書を登録する機能および文書のバージョンを管理する機能を備えた文書管理システムにおいて、あらかじめ定義された文書ファイルの識別子情報の位置情報に基く文書管理方法を定義した登録定義情報を参照することにより登録対象の文書ファイルから識別子情報を取得して、格納済み文書のバージョン管理情報を検索して上記新規文書登録ステップと上記更新登録ステップのいずれかを実行するか否かを判定するものとして、ユーザが登録に関して格別の注意を払わなくても適切な登録ができる。
【００２２】
【発明の実施の形態】
本発明におけるシステム構成図の一例を図１に示す。
【００２３】
文書管理システム１０１が複数の文書ファイル編集クライアント１，２−−−とネットワーク１０６で結合されている。ネットワーク１０６は、ローカルエリアネットワークおよび／または広域ネットワークであって、文書管理システムおよび文書編集クライアント間を結び各種データやコマンドを交換するために用いられる。
【００２４】
文書管理システム１０１はモニターとしての端末装置１０２、本システムを構成する各種プログラムを実行するＣＰＵ１０３、ネットワークと接続するための通信制御装置１０４、文書管理システム内の各種装置を接続するためＢＵＳ１０５、文書登録プログラム等を動作させるためのメモリワークエリア１０７、文書登録プログラム等の必要なプログラム、登録定義情報等を記憶しておく二次記憶装置（以下ディスクと言う）１１４ａ、各文書のバージョン管理情報および文書情報を格納するディスク１１４ｂから構成される。文書とバージョン管理情報とについての関連付けは以下の実施例で詳述する。ここでは、ディスク１１４ａと１１４ｂとを別物として図示したが、構造上同じものであっても良い。図１では、メモリワークエリア１０７に文書登録プログラム１０８が読み出されて動作する状態を模式的に示している。
【００２５】
この例では、文書登録プログラム１０８は、ディスク１１４ａにプログラム群として格納されている登録定義情報を参照する登録定義情報参照プログラム１０９と、クライアント１あるいは２からネットワーク１０６を介して転送されて文書管理システムに入力されてきた文書ファイルを読み込む文書ファイル読み込みプログラム１１０と、入力された文書ファイルを新規文書として格納する新規文書登録プログラム１１２と、登録定義情報に基づき、入力された文書ファイルの新規バージョン追加処理を行なう更新登録プログラム１１３と、上記新規文書登録プログラムまたは上記更新登録プログラムのいずれを実行するかを判定し、登録方法を制御する登録制御プログラム１１１とから構成される。
【００２６】
各文書ファイル編集クライアント１，２（参照符号１１５ａ、１１５ｂを付した）も端末装置１０２、ＣＰＵ１０３、ＢＵＳ１０５、文書ファイル編集プログラム等を動作させるためのメモリワークエリア１０７、必要なプログラム、データ等を保持して置くディスク１１４ｃから構成される。もちろん各クライアント１，２にも通信制御装置１０４が備えられるが図面が煩雑となるので図示を省略した。各クライアント１，２では端末装置１０２でユーザが文書ファイルを作成、編集あるいは更新するために使用される。ユーザは、文書ファイル編集クライアントを使用して、文書ファイルを作成、編集し、文書管理システムへの入力のコマンドを発行する。文書ファイル編集クライアント１１５ａ、１１５ｂで作成された文書ファイル１、文書ファイル２はネットワーク１０６を介して文書管理システム１０１に転送され、登録格納処理が行なわれる。
【００２７】
登録される文書ファイルの種類として、ＸＭＬ（eXtensible Markup Language）がある。ＸＭＬ文書ファイルは、文書ファイルを構成する個々の要素について、その先頭位置と末尾位置を示すマークを付加することにより、文書構造を明示的に記述する。開始タグは“＜”と“＞”で、終了タグは“＜／”と“＞”で要素名を囲む。そして、同じ要素名である開始タグと終了タグとで囲まれた部分を、内容文字列という。図３の例では、点線で囲まれている部分６０２は、”３２０００”という内容文字列を、「文書ＩＤ」という要素名を囲む開始タグと終了タグで囲み、点線で囲まれている部分６０３は、”本発明は○○の〜である”という内容文字列を、「本文」という要素名を囲む開始タグと終了タグで囲んで記述されている。
【００２８】
（実施例１）
図４は登録定義情報ファイルのフォーマット７００を示す図である。まず、点線で囲まれている部分７０１には、登録処理方法が記述されている。次に、点線で囲まれている部分７０２には上記処理を行なう際に参照するタグの要素名が、［ ］で囲まれて記述されている。文書ファイルを入力する際は、［ ］で囲まれている要素名のタグの内容文字列を参照し、参照された内容文字列と入力された文書ファイルの該当タグの内容文字列とに基づいて７０１に記述されている処理を行なう。なお、７０２に参照する要素名を複数記述した場合は、全てのタグの内容に一致した場合に７０１に記述されている処理を行なう。図５は、実施例１における登録定義情報の例７０３である。『ユーザから指定された文書ファイルと要素名が文書ＩＤであるタグの内容文字列が等しい文書が既に登録されているかを検索し、該当する文書があれば指定された文書ファイルに新規バージョン情報を付与し、該当する文書がなければ新規文書として登録する。』ということを定義している。点線で囲まれている部分７０４は、処理名称である”バージョン管理”という記述がされている。点線で囲まれている部分７０５は、参照するタグの要素名である文書ＩＤが記述されている。この要素名が文書ＩＤであるタグに基づいて７０４に記述されている処理を行なう。つまり、「ユーザから入力された文書ファイルと＜文書ＩＤ＞が同じである文書がすでに登録されているかを検索し、該当する文書があれば、その文書の新規バージョンの文書ファイルとして登録し、該当する文書がなければ新規文書として登録する」という定義である。なお、参照するタグの要素名を７０４に複数記述した場合は、登録対象の文書ファイルのタグの要素名の内容文字列が格納済みの文書のそれらと全て一致する場合にのみ格納済み文書の新規バージョンとして登録し、一部が一致するに過ぎないものは新規文書として登録する。なお、登録定義情報は、文書管理システム１０１の管理者がモニターとしての端末装置１０２を使用してユーザの要望に応じて作成して文書管理システムに格納しても、ユーザがクライアントを介して直接作成して格納しても良い。
【００２９】
文書管理システムに登録するファイルの例として図３に示すようなクライアントで作成されたＸＭＬ（eXtensible Markup Language）形式で記述された文書ファイルについて、ＸＭＬ文書ファイルの版に関する情報（以下バージョン）をあらかじめ格納してある登録定義情報（図５）と書誌情報としてＸＭＬ文書ファイル６００中の特定の要素名のタグの内容文字列とに基いて付与して登録する場合を図２のフローチャートを用いて説明する。
【００３０】
文書ファイルの登録時には、まず、登録定義情報参照プログラム１０９において、ディスク１１４ａに格納された登録定義情報を参照する。登録定義情報７０３（図５）の場合、「タグ＜文書ＩＤ＞の内容に基き、バージョン管理を行なう」という定義が記述されている（ステップ２０１）。
【００３１】
次に、文書読み込みプログラム１１０において、クライアントから文書管理システムへ入力されてきた文書ファイルを読み込む（ステップ２０２）。次に、登録制御プログラム１１１を実行する（ステップ２０３）。この詳細について説明すると、登録定義情報に記述されているタグで囲まれたある特定の要素名の内容文字列（以下書誌情報）を抽出する（ステップ３０１）。登録定義情報、書誌情報に基きディスク１１４ｂに格納されている文書で登録定義情報に記述されている要素名で、ステップ３０１で抽出した内容文字列を持つ文書があるかどうか検索する（ステップ３０２）。なかった場合は、新規文書登録プログラム２０５に進む。
【００３２】
ステップ２０５では、まず、入力された文書ファイルに対応付けられる文書のバージョン管理情報を作成し、入力された文書ファイルに版に関する情報を付与する（ステップ５０１）。次にディスク１１４ｂに版数を付与された文書ファイルを格納する（ステップ５０２）。ここで、図６を用いてバージョン管理情報について説明する。バージョン管理情報８０１とは、＜文書ＩＤ＞タグの内容文字列毎にバージョン（版に関する情報）、各バージョンの登録者、登録日時等の情報等を対応付けて管理するものである。なお、登録者とは、クライアント１１５ａおよび１１５ｂから対象となる文書ファイルを文書管理システム１０１に入力してきたユーザのことであり、登録日時とは、対象となる文書ファイルに版に関する情報を付与して格納した日時のことである。したがって、８０１の例では、文書ＩＤ「３２０００」の文書のＶ１文書ファイルを入力してきたのは鈴木一郎というユーザであり、２０００年５月１３日の１時２０分に入力してきたことがわかる。またＶ２文書ファイルについては、Ｖ１文書ファイルと同じく鈴木一郎が入力してきて、その日時は２０００年５月１５日の９時２５分であることがわかる。また、バージョン管理情報から各バージョンの文書ファイルなどを呼び出すこともできる。
【００３３】
一方、ディスク１１４ｂに登録対象の文書ファイルのタグの要素名及びその内容文字列と一致する文書があった場合（ステップ２０４）、更新文書登録プログラム２０４に進む。更新文書登録プログラム２０４では、まず該当する文書のバージョン管理情報を取得する（ステップ４０１）。ステップ４０１で取得したバージョン管理情報に、新規バージョンの情報を登録対象の文書ファイルと関連付けて追加し（ステップ４０２）、ディスク１１４ｂに文書ファイルを格納する（ステップ４０３）。
【００３４】
例えば、クライアントから図３に示すＸＭＬ文書ファイル６００が入力されてくると、該文書ファイル６００を読み込む（ステップ２０２）。
【００３５】
ここでは、ステップ２０１で参照した登録定義情報７０３における記述されている処理内容に基いて＜文書ＩＤ＞タグを参照し、「３２０００」というＩＤを取得する（ステップ３０１）。ステップ３０２では、文書管理システム１０１に登録してある文書の中に文書ＩＤが３２０００である文書があるか否かをディスク１１４ｂに対して検索する。この検索方法として、バージョン管理情報にある文書ＩＤを検索する方法がある。ステップ３０３では、この検索結果、登録対象の文書ファイル６００が既に登録済の文書にあれば、更新登録プログラム１１３を実行するステップ２０４に進み、登録済み文書にない場合は、新規文書登録プログラム１１２を実行するステップ２０５に進む。
【００３６】
図７は、文書ＩＤが３２０００の文書ファイル９０１が入力されると、同じ文書ＩＤ３２０００であるＶ１文書ファイル９０２すでに格納されているので、この文書ファイルは、Ｖ２文書ファイル９０３としてディスク１１４ｂに格納され、かつ、これらの文書ファイルを文書９０５として関連付けてこの文書９０５に関するバージョン管理情報９０４が文書管理システム１０１に格納されている状態を示す例である。
【００３７】
ここで、図８を用いて文書１００１を登録する場合を例に新規文書登録プログラム、つまり、登録対象のＸＭＬ文書ファイル中の特定のタグの要素名が文書ＩＤで内容文字列が同じである文書が登録されていない場合について説明する。図８の文書管理システムには、タグの要素名が文書ＩＤで内容文字列がそれぞれ「１００００」、「２００００」である文書１００２、文書１００３が登録されており、文書１００２にはＶ１文書ファイル、文書１００３にはＶ１文書ファイル、Ｖ２文書ファイルが関連づけられている。さらに、それぞれのタグの要素名が文書ＩＤでありその内容文字列毎にバージョン管理情報と文書が関連付けて格納されている。また、図５で説明したような登録定義情報ファイル１０１０が格納されている。
【００３８】
上記ステップ３０３において、文書ＩＤ３２０００を含む文書ファイル１００１と同じの文書ＩＤを含む文書は登録されていないことが判定される。これにより、新規文書登録プログラム１１２（ステップ２０５）を実行する。そして、ステップ５０１において、文書ＩＤ「３２０００」の文書１００４のバージョン管理情報１００５を作成し、ステップ５０２でＶ１文書ファイル１００６とバージョン管理情報１００５とを関連付けて文書１００４としてディスク１１４ｂに格納する。
【００３９】
ここで、図９を用いて＜文書ＩＤ＞タグの内容文字列が同じである文書が既に文書管理システムに登録されている例について説明する。文書管理システム１０１には、文書ＩＤ１００００の文書ファイルで構成される文書１１０２、文書ＩＤ２００００の文書ファイルで構成される文書１１０３とともに、文書ＩＤ３２０００のＶ１文書ファイル１１０４が既に登録されている。ここで、クライアントで編集済みで＜文書ＩＤ＞タグの内容文字列が３２０００である文書ファイル１１０１を文書管理システムに登録する場合は、文書ファイル１１０１と同じ文書ＩＤ３２０００の文書が既に登録済であることが判定される。これにより、更新登録プログラム１１３（ステップ２０４）を実行する。そして、ステップ４０１で文書ＩＤ３２０００の文書のバージョン情報Ｖ１を取得し、これをもとに、ステップ４０２で、文書１１０１の情報を新規バージョンＶ２として追加し、更新されたバージョン管理情報１１０７が得られ、ステップ４０３で、文書１１０５にはＶ２文書ファイル１１０６としてディスク１１４ｂに格納される。
【００４０】
（実施例２）
次に、第二の実施例について説明する。
【００４１】
本実施例は、複数人で文書管理システムを使用する場合で、書誌情報として文書ファイル内のある特定のタグの要素名の内容文字列をもとにバージョン管理を行なう際に、第一の実施例では実現できない他者による二重更新を防ぐという排他機能を、提供する例である。図１２に本発明の第二の実施例における文書ファイル登録処理の手順の例を示すフローチャートを示す。
【００４２】
ここで、本実施例の登録定義情報の一例を図１０に示す。登録定義情報ファイル２３０１、点線で囲まれた部分２３０２に記述される処理内容『バージョン管理』は、２３０３に記述されている『要素名が文書ＩＤであるタグの内容文字列』と２３０４に記述されている『登録ユーザ』の情報とに基づいて行なうことを記述している。この２３０４に記述されている情報としては、クライアントからログインして文書ファイルを文書管理システムに入力する時のログイン情報が挙げられる。
【００４３】
また、本実施例におけるバージョン管理情報の例として、図１１に示す。文書ＩＤ及びユーザ情報毎に、各バージョン１４０２の登録日時等の情報を管理する。文書ファイル内書誌情報として文書ＩＤとする。文書ファイルを入力してきたユーザの情報を『登録ユーザ』の情報を属性情報として設定する。したがって、ある特定のユーザが編集、登録する文書ファイルのバージョンをそれぞれ管理することができる。なお、文書ファイルを入力する際に文書ファイル以外で登録対象の文書ファイルと関連付けがされている情報を属性情報として設定することができる。本実施例では、登録対象の文書ファイルを入力するユーザ情報を属性情報としている。
【００４４】
システム構成図としては、図１のように、文書編集クライアント１１５ａ、１１５ｂでは、登録するための文書ファイルを作成、編集し、登録のコマンドを発行する。文書ファイル編集クライアント１１５ａ、１１５ｂで作成された文書１、文書２はネットワーク１０６を介して文書管理システム１０１に転送され、入力処理が行なわれる。
【００４５】
さらに上記文書登録プログラム１０８は、ディスク１１４ａに格納されている登録定義情報を参照する登録定義情報参照プログラム１０９と、クライアント１あるいは２からネットワーク１０６を介して転送されてきた文書ファイルを読み込む文書読み込みプログラム１１０と、入力されてきた文書ファイルを新規文書として格納する新規文書登録プログラム１１２と、文書ファイルの書誌情報と登録ユーザ情報に基づき、入力されてきた文書ファイルの新規バージョン追加処理を行なう更新登録プログラム１１３と、上記新規文書登録プログラムまたは上記更新登録プログラムとのいずれを実行するかを判定し、登録方法を制御する登録制御プログラム１１１とから構成される。
【００４６】
ここで、文書管理システムに登録定義情報ファイル２３０１をあらかじめ保持して、ＸＭＬ文書ファイル６００を入力する場合を例にとって登録制御プログラム１１１（ステップ２０３）、新規文書登録プログラム１１２（ステップ２０５）の詳細な処理の内容について、図１２を用いて説明する。
【００４７】
ステップ２０３では、まず、ステップ３０１で指定された文書ファイルの書誌情報を抽出する。例えば、ステップ２０２においてＸＭＬ文書６００を読み込んだ場合、ステップ２０１で参照した登録定義情報２３０２に基いて＜文書ＩＤ＞タグの内容文字列を参照し、文書ファイル書誌情報である３２０００を取得する。
【００４８】
次に、ステップ１２０１において、文書ファイルを入力してきたユーザ情報を取得する。例えば、図１１のように鈴木一郎というユーザが文書ファイル１５０１を入力してきた場合、ユーザ名として鈴木一郎を設定する。次に、ステップ１２０２において、登録定義情報、読み込んだ文書ファイルの文書ファイル書誌情報、登録ユーザの情報１５１１に基き、対象となる文書があるか否かについて登録済みのバージョン管理情報を検索する。検索した結果、該当する文書があった場合は更新登録プログラム１１３（ステップ２０４）、なかった場合は、新規文書登録プログラム１１２（ステップ２０５）に進む。
【００４９】
次に、ステップ２０５について文書管理システム１０１に格納されている文書の管理方法を図１３を用いて説明する。
【００５０】
図１３は、タグの要素名が文書ＩＤで内容文字列が同じ文書が登録されていない場合、すなわち新規文書として文書ファイルを登録する場合の例である。ユーザによりクライアントから文書ファイル１５０１が文書管理システムへ入力される。文書管理システムは、登録定義情報２３０１に基づいて入力された登録対象の文書ファイル１５０１の文書ＩＤタグの内容文字列３２０００と『登録ユーザ』情報である鈴木一郎とを取得して、文書管理システムに登録してある文書の中に、文書ＩＤ３２０００でありかつ『登録ユーザ』情報が鈴木一郎である文書のバージョン管理情報があるか否かを検索する。一致しなかった場合、ステップ２０５において、登録対象の文書ファイル１５０１を新規バージョン管理情報１５０２を作成して格納し（ステップ１３０１）、文書１５０４のＶ１文書ファイル１５０５として登録する（ステップ５０２）。なお、新規バージョン管理情報１５０２は、文書ＩＤ及び登録ユーザごとに作成される。
【００５１】
次に、＜文書ＩＤ＞タグの内容文字列の同じ文書が既に登録されている場合について説明する。
【００５２】
図１４は、＜文書ＩＤ＞タグの内容文字列が同じ文書ファイルを同じユーザが再度登録する場合の例である。文書管理システムには、文書ＩＤ「１００００」、登録ユーザ名が「鈴木一郎」でＶ１文書ファイルで構成される文書１６０２、文書ＩＤ「２００００」、登録ユーザ名「田中一郎」でＶ１文書ファイル及びＶ２文書ファイルで構成される文書１６０３、さらに、文書ＩＤ「３２０００」、登録ユーザ名「鈴木一郎」でＶ１文書ファイルで構成される文書１６０４が登録されている。それぞれバージョン管理情報ファイルが文書と対応付けて格納されている。
【００５３】
ここで、文書ＩＤ「３２０００」の編集済みの文書ファイル１６０１を登録ユーザ名「鈴木一郎」によってクライアントから文書管理システムへ入力する場合を考える。文書ＩＤおよび登録ユーザ名がともに同じ文書１６０４が既に登録されているため、ステップ１２０２において該当文書が有りと判定され、更新登録プログラム１１３（ステップ２０４）に進む。該当する文書の文書ファイルのバージョンを取得し（ステップ４０１）、登録対象の文書ファイル１６０１に新規バージョンであるＶ２を付与して、バージョン管理情報１６０５を更新する（ステップ４０２）。次いで、文書ファイル１６０１をＶ２文書ファイル１６０６として格納する（ステップ４０３）。
【００５４】
図１５は＜文書ＩＤ＞タグの内容文字列が同じ文書ファイル１７０１を、異なる登録ユーザが登録する場合の例である。文書管理システムには、図１４で説明したケースと同じ文書が登録されている。以下、バージョン管理情報及び登録定義情報の記載は省略して説明するが、それぞれの文書にはバージョン管理情報が対応付けて管理されており文書ファイル登録の際に参照する登録定義情報が格納されている。文書ＩＤ「３２０００」のクライアントで編集済みの文書ファイル１７０１を「山田一郎」というユーザが入力操作をする場合、登録ユーザ名と文書ＩＤが文書ファイル１７０１と同じである文書は登録されていないため、ステップ１２０２において該当文書が無しと判定され、新規文書登録プログラム１１２（ステップ２０５）に進む。指定された文書の新規バージョン管理情報を作成し（ステップ１３０１）で、登録ユーザ情報を設定して、登録対象の文書ファイル１７０１は、文書１７０２のように文書ＩＤ「３２０００」、ユーザ名「山田一郎」である新規文書のＶ１文書ファイル１７０３として登録される（ステップ５０２）。
【００５５】
以上のように、ユーザが入力の操作を行なうだけ文書のバージョンを管理することができるようになるだけでなく、さらに、他ユーザが入力操作を行なってきた場合は、別文書として管理し、ある特定のユーザが入力してきた文書についてのみ、バージョン管理を行なうことが可能となる。
【００５６】
これにより、従来のバージョン管理システムにおいてはユーザのチェックイン、チェックアウト等のバージョン管理操作により提供していた二重更新を防ぐ排他機能を、ユーザとしては登録操作を行なうだけで提供することができるようになる。
【００５７】
（実施例３）
次に、本発明の第三の実施例として、本発明に係る文書のバージョン管理方法の一般的な文書管理システムにおける適用例について説明する。
【００５８】
図１８は、クライアントから一般的な文書管理システムにおいてある特定のフォルダを指定して入力操作を行なったときのみ、前述したバージョン管理方法を採用するようなシステムの例である。本実施例では、文書管理システム内に、共用フォルダ２２０３の他に、特定のフォルダとしてバージョン管理用フォルダ２２０１を用意する。この例では、共用フォルダ２２０３には文書ＩＤ１００００および文書ＩＤ６３０００の文書が登録されており、バージョン管理用フォルダ２２０１には文書ＩＤ１００００および文書ＩＤ３２０００の文書が登録されている。なお、本実施例では明記していないが、バージョン管理用フォルダに格納されているそれぞれの文書には、図６に示すような実施例１のバージョン管理情報が対応付けて格納されている。
【００５９】
本実施例における登録定義情報には、図１９の登録定義情報２３０５のように、点線で囲まれている部分２３０６は、処理名称『バージョン管理』が記述されていて、２３０７は、バージョン管理を行なう登録先フォルダとして『バージョン管理用フォルダ』が記述され、２３０８には、バージョン管理行なう際に参照すべきタグの要素名として『文書ＩＤ』が記述されている。ここでは、ユーザが文書ファイル２２０２の登録先としてバージョン管理用フォルダ２２０１を指定して登録操作を行なった場合について図１８を用いて説明する。なお、登録定義情報２３０１に記述されていないフォルダを指定した場合には、通常のフォルダに対する登録処理を行なう。すなわち、バージョン管理は行なわない。図１８では、登録定義情報２３０１に定義されているバージョン管理用フォルダ２２０１が指定されたため、登録対象文書ファイル２２０２の＜文書ＩＤ＞タグの内容に基づき、バージョンを管理する。ここでは、バージョン管理用フォルダ２２０１に、文書ＩＤ「１００００」の文書、文書ＩＤ「３２０００」の文書がそれぞれＶ１文書ファイルで構成されて登録されている。ここで、クラインアントからバージョン管理フォルダ２２０１を指定して文書管理システムへ文書ＩＤ「３２０００」の文書ファイル２２０２の入力操作がなされると、バージョン管理用フォルダ２２０１には、文書ＩＤ「３２０００」の文書は既に登録済でＶ１文書ファイルが管理されているため、登録対象の文書ファイル２２０２には新規バージョンであるＶ２が付与されＶ２文書ファイル２２０４として登録される。一方、バージョン管理用フォルダ２２０１に登録されていない文書ＩＤを持つ文書ファイルが登録されてきた場合には、新規文書のＶ１文書ファイルとして登録される。
【００６０】
このように、文書ファイル入力時に登録先フォルダとして、登録定義情報に定義されたフォルダを指定した場合にのみ、未登録の文書であれば新規文書の初版として文書ファイルとして登録し、登録済の文書であれば該文書の新規バージョンの文書ファイルとして登録する処理を実行することが可能になる。
【００６１】
一方、クライアントから共用フォルダ２２０３を指定して文書ファイルを文書管理システムへ登録する場合は、上書き保存による文書ファイルの保存、あるいは通常のチェックイン、チェックアウトといったバージョン管理操作を行なうことにより、共用フォルダ内の文書のバージョンを管理する。
図２０は、実施例３の処理動作を上述した処理を図２に対応した処理フローに整理した図である。図２と対照して明らかなように、ステップ２０３の処理で、指定されたフォルダがバージョン管理の対象として登録定義情報に記述されているか否かをチェック（ステップ２０１１）して、記述されていなければ、通常のフォルダへの文書の格納処理（ステップ２０１２）を行う。登録定義情報に記述されている場合には、実施例１で説明したのと同様なバージョン管理を伴う文書ファイルの格納処理を行う。
【００６２】
以上により、ある特定のバージョン管理用フォルダを指定して入力された文書については、煩雑なバージョン管理操作を行なうことなく、入力操作のみで文書ファイルの登録および文書のバージョン管理を行なうことが可能となる。また、フォルダ毎の格納方法について制御されるため、ユーザが目的に応じて格納先フォルダを選択することが可能となる。なお、本実施例については、特定のフォルダを指定した場合について説明したが、ディレクトリやＵＲＬ（Uniform Resource Locator）を指定して格納する場合でも本実施例を適用することができる。フォルダの指定とは違い、ＵＲＬでは、Ｗｅｂ上でのバージョン管理に有効である。
【００６３】
（実施例４）
本実施例は、登録ユーザ情報に基づき特定個人のみが利用するための個人用フォルダに文書ファイルの登録を行なう例である。本実施例での登録定義情報には図２１の登録定義情報２３０９のような記述がされている。点線で囲まれている部分２３１０に処理名称として『バージョン管理』と記述され、２３１１には、２３１０に記述されたバージョン管理を行なう『登録先フォルダ』として文書ファイルを登録してきた登録ユーザと同じ「”登録ユーザ”の個人用フォルダ」が記述され、２３１２には２３１０に記述されたバージョン管理行なう際に、参照すべきタグ要素名として＜文書ＩＤ＞が記述されている。
【００６４】
図２２を用いて説明すると、登録定義情報を参照し（ステップ２０１）、入力された登録対象の文書ファイルを読みこむ（ステップ２０２）。
【００６５】
次に、読みこんだ登録対象の文書ファイルの書誌情報を抽出する（ステップ３０１）。さらに、文書ファイルの登録ユーザ情報を取得して（ステップ１２０１）、文書ファイルの登録先のフォルダが登録ユーザ情報の個人用フォルダであるか否か判断する（ステップ２１１１）。判断結果、否だった場合（ステップ２１１２）、ステップ１２０１で取得した登録ユーザ情報とは異なったユーザ情報の対応付けられているフォルダであった場合はエラーを返却し（ステップ２１１２）、ユーザ情報と対応付けられていない通常のフォルダへの文書ファイル格納処理を行なう（ステップ２１１４）。
【００６６】
判断結果、登録してきたユーザの個人用フォルダであった場合は、ステップ３０１で抽出した書誌情報に基づいて文書管理システムに格納されている文書で同じ書誌情報である文書を検索する（ステップ１２０２）。検索結果（ステップ３０３）、該当する文書があった場合は、該当する文書のバージョン管理情報を取得し（ステップ４０１）、登録対象の文書ファイルを新規バージョンとして登録することをバージョン管理情報に追加し（ステップ４０２）、格納する（ステップ４０３）。一方、検索結果、該当する文書がなかった場合は、登録対象の文書ファイルを登録するための新規バージョン管理情報を作成し（ステップ５０１）、そのバージョン管理情報と対応付けて文書ファイルを格納すること（ステップ５０２）により文書登録が完了する。
【００６７】
次に、鈴木一郎というユーザが文書ＩＤ３２０００である文書ファイル２１０２の格納先を鈴木一郎用の個人用フォルダ２１０１に指定して登録操作をする処理を示している図２３について説明する。
【００６８】
個人用フォルダ２１０１は鈴木一郎というユーザが個人利用するためのフォルダであり、現在、文書ＩＤ１００００の文書はＶ１文書ファイルで構成され、文書ＩＤ２００００の文書はＶ１文書ファイルおよびＶ２文書ファイル、文書ＩＤ３２０００の文書はＶ１文書ファイルで構成されて、それぞれ登録されている。ここで、鈴木一郎というユーザが文書ＩＤ３２０００である文書ファイル２１０２の格納先を鈴木一郎用の個人用フォルダ２１０１に指定して入力操作をすると、個人用フォルダ２１０１内の文書ＩＤ３２０００の新規バージョンＶ２文書ファイル２１０５として登録される。一方、個人用フォルダ２１０３は山田太郎というユーザが個人利用するためのフォルダであり、そのフォルダ内の格納文書は、文書ＩＤ１００００の文書はＶ１文書ファイルで文書ＩＤ６３０００の文書はＶ１文書ファイルで構成されている。この山田太郎用の個人用フォルダ２１０３を指定して鈴木一郎というユーザが文書ＩＤ３２０００である文書ファイル２１０２の登録操作を行うと、図２０のステップ２１１１及び２１１２でフォルダを登録定義情報２３０３と入力操作を行なったユーザ情報１５１１とフォルダの属性情報の１つであるユーザ情報とで判別してエラー返却を行う（ステップ２１１３）。個人用フォルダでは、他ユーザからは参照のみを行なうことができる。例えば、ユーザ山田太郎は、鈴木一郎用フォルダ２１０１を参照することにより、鈴木一郎の文書の編集状況を把握したり、自分のフォルダ２１０３内の文書を更新する際に鈴木一郎の文書の必要事項を反映させたりといった利用方法が可能となる。また、共用フォルダを指定して登録操作を行った場合は、上書き保存あるいは、チェックアウト、チェックイン等の通常のバージョン操作により文書のバージョンを管理するものである（ステップ２１１４）。
【００６９】
また別の方法として、個人用フォルダへの文書登録時に、上記のように文書中に記述された文書ＩＤをチェックするのではなく、ファイル名で一意に識別できるのであれば、文書のファイル名称のみで判定し、バージョンを管理することができる。
【００７０】
実施例では、ＸＭＬ形式で記述された文書ファイルを例として挙げたが、その形式のみでは限定されず、登録定義情報から文書ファイルの識別子情報の位置情報を取得することにより、文書ファイルから識別子情報が取得できる形式で記述される文書ファイルであればよい。
【００７１】
さらに、上記の各実施例で用いられる文書管理方法を実施するためのプログラムは、可般型記録媒体に格納されていても構わない。
【００７２】
【発明の効果】
以上のように、本発明では、あらかじめ登録定義情報を定義しておけば、文書の書誌情報に基づき自動的に文書のバージョン管理を行なうことができるようになる。これにより、ユーザは、既に文書管理システムに登録されている文書を指定して取り出す、あるいは、文書を指定して再登録するといった煩雑なバージョン管理操作を行なうことなく、ただ登録の操作を行なうだけで、文書のバージョン管理を行なうことができるようになる。
【００７３】
また、登録定義情報は、文書中の書誌情報に基づいて設定できるため、クライアント側の編集のために文書を一時的に管理する際に文書名を変更した場合でも、文書管理システムは、文書名に関係なく登録定義情報によってバージョン管理できる。
【００７４】
さらに、登録ユーザに関する情報を文書ファイルの属性情報として保持し、それに基いた処理を行なうことにより、従来のバージョン管理システムにおいて、チェックイン、チェックアウト等のバージョン管理操作により提供していた、二重更新を防ぐ排他機能を、入力の操作を行なうだけで提供することができるようになる。
【００７５】
さらに、登録先のフォルダに基づいて登録制御を行うことにより図１のクライアントの記憶装置と同じような格納位置と本発明でのバージョン管理を行なう格納位置とを有する文書管理システムを提供することができる。
【図面の簡単な説明】
【図１】本発明のシステム構成の一例を示す図。
【図２】本発明の文書登録処理の手順の例を示すフローチャート。
【図３】ＸＭＬ文書の構造の例を示す図。
【図４】登録定義情報のフォーマット。
【図５】本発明の第１の実施例における登録定義情報の例。
【図６】本発明の第一の実施例におけるバージョン管理情報の例を示す図。
【図７】本発明の第一の実施例における登録文書管理方法を模式的に示す図。
【図８】本発明の第一の実施例における新規文書登録時の処理を模式的に示す図。
【図９】本発明の第一の実施例における更新登録時の処理を模式的に示す図。
【図１０】本発明の第２の実施例における登録定義情報の例を示す図。
【図１１】本発明の第二の実施例におけるバージョン管理情報の例を示す図。
【図１２】本発明の第二の実施例における文書ファイル登録処理の手順の例を示すフローチャートを示す図。
【図１３】本発明の第二の実施例における新規文書登録時の処理を模式的に示す図。
【図１４】本発明の第二の実施例における同じユーザによる更新登録時の処理を模式的に示す図。
【図１５】本発明の第二の実施例における異なるユーザによる更新登録時の処理を模式的に示す図。
【図１６】従来技術における新規文書登録時の処理を模式的に示す図。
【図１７】従来技術におけるチェックアウト、チェックインによる処理を模式的に示す図。
【図１８】第三の実施例における新規文書登録時の処理を模式的に示す図。
【図１９】本発明の第３の実施例における登録定義情報の例を示す図。
【図２０】バージョン管理用フォルダを持つ第三の実施例における文書ファイル登録時の処理フローを示す図。
【図２１】本発明の第４の実施例における登録定義情報の例を示す図。
【図２２】個人用フォルダへを持つ第四の実施例における文書ファイル登録時の処理フローを示す図。
【図２３】第四の実施例における新規文書登録時の処理を模式的に示す図。
【符号の説明】
１０１…文書管理システム、１０２…端末装置、１０３…ＣＰＵ、１０４…通信制御装置、１０５…ＢＵＳ、１０６…ネットワーク、１０７…メモリワークエリア、１０８…文書登録プログラム、１０９…登録定義情報参照プログラム、１１０…文書読み込みプログラム、１１１…登録制御プログラム、１１２…新規文書登録プログラム、１１３…更新登録プログラム、１１４ａ，１１４ｂ…ディスク、参照符号１１５ａ，１１５ｂ…文書ファイル編集クライアント１，２。
【図１】
0004199916.tif 000002
【図２】
0004199916.tif 000003
【図３】
0004199916.tif 000004
【図４】
0004199916.tif 000005
【図５】
0004199916.tif 000006
【図６】
0004199916.tif 000007
【図７】
0004199916.tif 000008
【図８】
0004199916.tif 000009
【図９】
0004199916.tif 000010
【図１０】
0004199916.tif 000011
【図１１】
0004199916.tif 000012
【図１２】
0004199916.tif 000013
【図１３】
0004199916.tif 000014
【図１４】
0004199916.tif 000015
【図１５】
0004199916.tif 000016
【図１６】
0004199916.tif 000017
【図１７】
0004199916.tif 000018
【図１８】
0004199916.tif 000019
【図１９】
0004199916.tif 000020
【図２０】
0004199916.tif 000021
【図２１】
0004199916.tif 000022
【図２２】
0004199916.tif 000023
【図２３】
0004199916.tif 000024