(57)【要約】【課題】  以前の第１文書管理システムで管理していたフォルダや文書などのデータを、新たな第２文書管理システムに移行させる。【解決手段】  本発明によれば、第１文書管理システムで管理していたフォルダを順に登録対象フォルダとし、当該登録対象フォルダがフォルダ階層の深さ制限値以内であるか否かを判定する。深さ制限値以内であると判定した場合は、当該登録対象フォルダを、第２文書管理システムのフォルダ階層において、第１文書管理システムで管理していたときのフォルダ階層に対応する位置へ登録する。一方、深さ制限値を超えていると判定した場合は、当該登録対象フォルダを、第２文書管理システムにおけるフォルダ階層の浅い階層へ登録する。元の文書管理システムにおけるフォルダ構成をできる限り保ちつつ、フォルダ階層が深くなりすぎないように、データを移行することが可能になる。【選択図】  図６
2011095997.tif 000002
【特許請求の範囲】
【請求項１】
第１の文書管理システムで管理していたフォルダおよび文書に関するデータを、第２の文書管理システムに登録する情報処理装置であって、
前記第１の文書管理システムで管理していたフォルダを順に登録対象フォルダとし、当該登録対象フォルダが、フォルダ階層の深さ制限値以内であるか否かを判定する深さ判定手段と、
前記深さ判定手段で前記深さ制限値以内であると判定した場合は、当該登録対象フォルダを、前記第２の文書管理システムのフォルダ階層において、前記第１の文書管理システムで管理していたときのフォルダ階層に対応する位置へ登録する一方、
前記深さ判定手段で前記深さ制限値を超えていると判定した場合は、当該登録対象フォルダを、前記第２の文書管理システムにおけるフォルダ階層の浅い階層へ登録するフォルダ登録手段と、
前記登録対象フォルダに含まれる文書を、前記フォルダ登録手段で前記第２の文書管理システムに登録されたフォルダの下へ登録する文書登録手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記フォルダ登録手段は、前記深さ判定手段で前記深さ制限値を超えていると判定した場合、更に、当該登録対象フォルダの以前の親フォルダに関する情報を記述した分割先情報ファイルを、前記第２の文書管理システムで当該登録対象フォルダが登録される前記浅い階層に格納することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記フォルダ登録手段は、前記深さ判定手段で前記深さ制限値を超えていると判定した場合、更に、当該登録対象フォルダが前記第２の文書管理システムで登録される前記浅い階層に関する情報を記述した分割元情報ファイルを、当該登録対象フォルダの以前の親フォルダに対応する位置に格納することを特徴とする請求項１または２のいずれかに記載の情報処理装置。
【請求項４】
前記深さ制限値は、フォルダパスの長さに関して定められた制限値であることを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
前記深さ制限値は、フォルダ階層数に関して定められた制限値であることを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項６】
前記フォルダ登録手段は、更に、前記登録対象フォルダの名称に前記第２の文書管理システムで使用できない文字種が含まれる場合、当該文字種を別の文字種に置き換えることを特徴とする請求項１乃至５のいずれかに記載の情報処理装置。
【請求項７】
前記第１の文書管理システムで管理していたフォルダ階層の構成に関する情報を含む構成情報ファイルを作成してエクスポートするデータエクスポート手段を、更に有し、
前記フォルダ登録手段は、前記構成情報ファイルを解析することによって、前記第１の文書管理システムで管理していたフォルダを順に前記登録対象フォルダとしていくことを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記データエクスポート手段は、前記構成情報ファイルと、前記第１の文書管理システムで管理していた文書の実体ファイルと、前記文書の属性情報とをエクスポートすることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記データエクスポート手段は、前記第１の文書管理システムで管理していた文書のフォーマット変換が必要か否か判定し、必要であると判定した場合は当該文書の実体ファイルのフォーマット変換を実行することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
コンピュータを、第１の文書管理システムで管理していたフォルダおよび文書に関するデータを、第２の文書管理システムに登録する装置として機能させるためのコンピュータプログラムであって、
前記コンピュータを、
前記第１の文書管理システムで管理していたフォルダを順に登録対象フォルダとし、当該登録対象フォルダが、フォルダ階層の深さ制限値以内であるか否かを判定する深さ判定手段、
前記深さ判定手段で前記深さ制限値以内であると判定した場合は、当該登録対象フォルダを、前記第２の文書管理システムのフォルダ階層において、前記第１の文書管理システムで管理していたときのフォルダ階層に対応する位置へ登録する一方、
前記深さ判定手段で前記深さ制限値を超えていると判定した場合は、当該登録対象フォルダを、前記第２の文書管理システムにおけるフォルダ階層の浅い階層へ登録するフォルダ登録手段、
前記登録対象フォルダに含まれる文書を、前記フォルダ登録手段で前記第２の文書管理システムに登録されたフォルダの下へ登録する文書登録手段、
として機能させるためのコンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【請求項１２】
第１の文書管理システムで管理していたフォルダおよび文書に関するデータを、第２の文書管理システムに登録する情報処理方法であって、
深さ判定手段が、前記第１の文書管理システムで管理していたフォルダを順に登録対象フォルダとし、当該登録対象フォルダが、フォルダ階層の深さ制限値以内であるか否かを判定する深さ判定ステップと、
フォルダ登録手段が、前記深さ判定ステップで前記深さ制限値以内であると判定した場合は、当該登録対象フォルダを、前記第２の文書管理システムのフォルダ階層において、前記第１の文書管理システムで管理していたときのフォルダ階層に対応する位置へ登録する一方、前記深さ判定ステップで前記深さ制限値を超えていると判定した場合は、当該登録対象フォルダを、前記第２の文書管理システムにおけるフォルダ階層の浅い階層へ登録するフォルダ登録ステップと、
文書登録手段が、前記登録対象フォルダに含まれる文書を、前記フォルダ登録手段で前記第２の文書管理システムに登録されたフォルダの下へ登録する文書登録ステップと、
を有することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フォルダ構造の制限が異なる文書管理システムへデータを移行するための装置に関する。
【背景技術】
【０００２】
電子文書管理システムは、階層構造で構成される複数のフォルダを用いて電子文書を管理するものが多い。
【０００３】
また、特許文献１では、ユーザの操作によって文書を別のフォルダへ移動させた場合、移動元のフォルダの下に、移動した文書と同じ文書名で且つ移動先の情報を含む属性を有する移動先通知探索用文書を作成する。ユーザは、移動先通知探索用文書を用いて、移動先のフォルダに格納されている文書を探索することができるようになることが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−８２８２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
新たな文書管理システムを導入する場合、それまでに使用していた文書管理システムからデータの移行を行なう必要がある。このとき、文書管理システムの仕様の違いにより、新しい文書管理システムで扱えるフォルダ階層の深さの制限が、以前の文書管理システムで扱えるフォルダ階層の深さの制限と異なる場合がある。例えば、文書管理システムで扱うことができるフォルダ階層の深さ制限として、フォルダのパス名の長さに上限値が設けられていたり、フォルダ階層数の最大値に上限が設けられていたりする場合がある。そして、データ移行先の文書管理システムの方がフォルダ階層の深さ制限が浅い（例えば、扱えるパスの長さが短い、もしくは、扱えるフォルダ階層数の上限値が小さい）場合、以前の文書管理システムに格納されているフォルダを、そのままの階層構成で移行できないことになる。すなわち、以前の文書管理システムで作成したフォルダ階層のパス名が長かったり、フォルダの最大階層数が多かったりすると、データ移行先の文書管理システムの制限にひっかかってしまう。
【０００６】
一方、特許文献１のように、ユーザの手作業で文書やフォルダを移動させると、ユーザの手間がかかってしまうので、データの移行は自動的にまとめて行わせたい。また、移行前のフォルダ階層の構成が移行後に大きく変わってしまうと、ユーザにとっては、目的のフォルダや文書を探すのが困難になってしまうので、フォルダ階層の構成は移行前と移行後で、できる限り似たフォルダ構成にさせたい。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の情報処理装置は、第１の文書管理システムで管理していたフォルダおよび文書に関するデータを、第２の文書管理システムに登録する情報処理装置であって、前記第１の文書管理システムで管理していたフォルダを順に登録対象フォルダとし、当該登録対象フォルダが、フォルダ階層の深さ制限値以内であるか否かを判定する深さ判定手段と、前記深さ判定手段で前記深さ制限値以内であると判定した場合は、当該登録対象フォルダを、前記第２の文書管理システムのフォルダ階層において、前記第１の文書管理システムで管理していたときのフォルダ階層に対応する位置へ登録する一方、前記深さ判定手段で前記深さ制限値を超えていると判定した場合は、当該登録対象フォルダを、前記第２の文書管理システムにおけるフォルダ階層の浅い階層へ登録するフォルダ登録手段と、前記登録対象フォルダに含まれる文書を、前記フォルダ登録手段で前記第２の文書管理システムに登録されたフォルダの下へ登録する文書登録手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、元の文書管理システムにおけるフォルダ構成をできる限り保ちつつ、新たな文書管理システムにおいてフォルダ階層が深くなりすぎないように、データを移行することが可能になる。
【図面の簡単な説明】
【０００９】
【図１】システムの概略図
【図２】旧文書管理システムから新文書管理システムへのデータ移行手順
【図３】データエクスポータおよびデータインポータの構成図
【図４】データインポータによる登録処理を示すフローチャート
【図５】データインポート時のフォルダ分割処理を示すフローチャート
【図６】旧文書管理アプリにおけるフォルダ階層および新文書管理アプリにおけるフォルダ階層を示す模式図
【図７】分割元情報ファイル、および分割先情報ファイルの記述例
【図８】データエクスポータによるエクスポート処理を示すフローチャート
【発明を実施するための形態】
【００１０】
図１は、本発明を適用可能なシステムの一実施形態を示す概略図である。本実施形態では、古い電子文書管理システム（第１の文書管理システム）から、異なる電子文書管理システム（第２の文書管理システム）へ移行する場合に、古い電子文書管理システムで管理しているフォルダ階層構造のデータを移行する処理について説明する。
【００１１】
旧サーバＰＣ１０１および新サーバＰＣ１０３は、それぞれ、サーバ用パーソナルコンピュータ（以下、パーソナルコンピュータをＰＣと称す）であり、ＣＰＵやＲＡＭ、ＲＯＭ、ＨＤＤ、ネットワークインタフェースカード等のハードウェア構成物により構成される。各ＰＣは本発明を実現するための情報処理装置である。ここで、旧サーバＰＣ１０１では、移行前の古い電子文書管理システムの文書管理サーバ用プログラムが稼動しており、蓄積部１０２に移行前の文書管理システムで管理しているフォルダや文書や属性情報などを蓄積している。また、新サーバＰＣ１０３では、移行後の新しい電子文書管理システムのサーバ用プログラムが稼動することになり、蓄積部１０４に、移行後の文書管理システムで管理するフォルダや文書や属性情報などのデータを移行することになる。なお、蓄積部１０２、１０３は、文書管理システムの各種データが保存される領域であって、各サーバのＨＤＤ（ハードディスク）上に確保される。
【００１２】
クライアントＰＣ１０６、１０７は、ネットワーク１０５を介して電子文書管理システムが稼動しているサーバ１０１、１０３に接続されている。ユーザは、クライアントＰＣ１０６または１０７上で、文書管理システムのクライアントアプリケーションプログラムやＷｅｂブラウザを用いて、サーバＰＣ１０１または１０３で稼動している文書管理システムに接続し、文書やフォルダの閲覧や登録、編集等を行なえる。なお、図１において、クライアントＰＣは２台だけ記載しているが、更に複数のクライアントＰＣがネットワーク１０５を介して接続されていてもよい。
【００１３】
以前の文書管理システムで管理していた文書やフォルダなどのデータを、別の文書管理システムへ移行する際のデータ移行手順を、図２を用いて詳しく説明する。
【００１４】
旧サーバＰＣ２０１では、それまで使用していた電子文書管理システムのサーバ用アプリケーション（以後、旧文書管理アプリと称す）２０２が稼動しており、蓄積部２０３に、旧文書管理システムで管理していたフォルダや文書などの様々な情報を蓄積している。また、データエクスポータ２０４は、旧文書管理アプリで管理していた情報を書き出す。本実施形態において、旧サーバＰＣ２０１のコンピュータ（ＣＰＵ）は、コンピュータプログラムを実行することにより、旧文書管理システムで管理していたデータをエクスポートするデータエクスポータ２０４（データ書き出し装置）として機能することになる。一時置き場２０５は、データエクスポータ２０４が書き出した情報を一時的に記憶させる記憶領域である。一時置き場２０５として利用される記憶領域は、本実施形態では旧サーバＰＣ２０１のＨＤＤやメモリ等の記憶装置内に確保するものとするが、これに限るものではなく、新サーバＰＣ２０６の記憶装置内に確保するようにしてもよい。また、一時置き場２０５は、ネットワーク上の第３のＰＣ上の共有フォルダに確保してもよいし、ＵＳＢメモリやＣＤ、ＤＶＤ等のメディア上に設けても構わない。なお、一時置き場２０５に書き出された情報は、データエクスポータ２０４によって暗号化されたり、アクセス権設定されたりすることにより、一般のユーザからはアクセスできないようにし、機密を保持する。
【００１５】
新サーバＰＣ２０６では、新しい別の電子文書管理アプリケーション（以後、新文書管理アプリと称す）２０７が稼動しており、蓄積部２０８に、新文書管理アプリ２０７で管理しているフォルダや文書などの様々な情報を蓄積している。また、データインポータ２０９は、データエクスポータ２０４が一時置き場２０５へ書き出した情報を、新文書管理アプリ２０７が管理する蓄積部２０８へ登録（インポート）する。本実施形態において、新サーバＰＣ２０６のコンピュータ（ＣＰＵ）は、コンピュータプログラムを実行することにより、旧文書管理システムから書き出されたデータをインポートするデータインポータ２０９（データ読み込み装置）として機能することになる。
【００１６】
なお、データエクスポータ２０４のプログラムや、データインポータ２０９のプログラムや、文書管理システムのサーバ用プログラムなどは、コンピュータ読み取り可能な記憶媒体に記憶され、必要に応じてＣＰＵが読み込み実行する。また、これらのプログラムは、各種記憶媒体あるいはネットワークを介して、システム或いは装置に供給されるものとする。
【００１７】
なお、図２の例では、古い文書管理システムと新しい文書管理システムとを、別個のサーバ装置２０１，２０６上で稼動させる例について示しているが、これに限るものではなく、同じ装置上で論理的に別の文書管理サーバとして機能させる場合でも本発明を適用することが可能である。すなわち、図２では、旧文書管理アプリ２０２と新文書管理アプリ２０７とを別々のサーバ装置で実行させているが、同一ＰＣ上で動作させることも可能である。
【００１８】
また、図２の例では、旧文書管理アプリ２０２と蓄積部２０３が同一ＰＣ２０１上に存在する例を示したが、それぞれ別のＰＣ上で動作するように構成してもよい。すなわち、蓄積部２０３は、ネットワーク等を介して文書管理サーバ（旧サーバＰＣ２０１）に接続された別装置であってもよい。同様に、新文書管理アプリ２０７と蓄積部２０８の場合も、別のＰＣ上で動作するように構成してもよい。
【００１９】
また、図２の例では、データエクスポータ２０４と旧文書管理アプリ２０２が同一ＰＣ上に存在する例を示したが、別のＰＣ装置上で動作するように構成してもよい。また、データインポータ２０９と新文書管理アプリ２０７も同様に、別のＰＣ上で動作するように構成しても構わない。
【００２０】
図３（ａ）は、データエクスポータ２０４を構成する各処理部の構成図である。コンピュータは、コンピュータプログラムを実行することにより、図３（ａ）に示すデータエクスポータを構成する各処理部として機能することになる。ユーザインタフェース部３０１ａは、ディスプレイに情報を表示させたり、ユーザからの指示入力を受け付けたりする。ＤＢアクセス部３０２ａは、旧文書管理アプリ２０２で管理していた情報蓄積部２０３にアクセスし、蓄積されているフォルダ構成情報や文書ファイル情報や各種属性情報などを読み出す。
【００２１】
文書変換部３０３ａは、ＤＢアクセス部３０２ａにより取り出した文書ファイルのフォーマット変換を必要に応じて行なう。変換対象となるファイルフォーマットと変換後のファイルフォーマットとに関する情報は、文書形式変換定義情報３０４ａから読み出される。文書形式変換定義情報３０４ａは、予め定義されて、ＨＤＤまたはメモリ上に保存されている情報ファイルであるとする。なお、予め保存されている文書形式変換定義情報３０４ａは、後から管理者ユーザ等により編集・更新されたり、後から差替え用の定義情報ファイルが配布されて差替えられたりすることも可能である。文書変換部３０３ａは、例えば異なるフォーマット（例えばｂｉｔｍａｐ，ｊｐｅｇ，ｇｉｆ）の複数のイメージデータを、全てＰＤＦ形式に変換する。このような変換は、旧文書管理アプリ２０２と新文書管理アプリ２０７で扱えるフォーマット（文書形式）が異なる場合に、新文書管理アプリ２０７で扱えるフォーマットに予め変換するために行なわれる。なお、旧文書管理アプリ２０２と新文書管理アプリ２０７の両方で扱えるフォーマットの場合は、文書変換部３０３ａでの変換を行わないように、文書形式変換定義情報３０４ａを定義しておいてもよい。
【００２２】
データ書き出し部３０５ａは、ＤＢアクセス部３０２ａで読み込んだフォルダの構成に関する情報（構成情報ファイル）と、ＤＢアクセス部３０２ａで読み込んだ文書あるいは文書変換部３０３ａで変換した文書の実体ファイルと、各フォルダや文書の各種属性情報とを、一時置き場２０５に書き出す。なお、書き出される構成情報ファイルは、データ書き出し部３０５ａで作成されるファイルであって、旧文書管理アプリで管理していたフォルダ階層の構成に関する情報と、各フォルダ階層に格納されていた文書に関する実体ファイルへのリンク情報と、各フォルダや文書に関する属性情報へのリンク情報が含まれる。また、データ書き出し部３０５ａは、書き出し項目定義情報３０６ａを参照して、予め定義された形態で書き出す。書き出し項目定義情報３０６ａは、書き出し対象にする文書・フォルダ・属性に関する項目や、旧文書管理アプリで管理していたフォルダの構成情報を書き出す際のフォーマット（例えばＸＭＬ形式）に関する情報などが定義されている情報ファイルである。また、旧文書管理アプリの仕様（例えば、フォルダ階層の深さ制限に関する情報や、１つのフォルダ内に格納可能なファイル数など）に関する情報を書き出すことなども、書き出し項目定義情報３０６ａに定義されている。なお、書き出し項目定義情報３０６ａは、予め定義され登録されている情報であるが、後から管理者ユーザ等により編集・更新されたり、後から差替え用の定義ファイルが配布されて差替えられたりすることも可能である。
【００２３】
ログ書き出し部３０７ａは、データエクスポータ２０４の動作状況のログを記録するもので、ユーザは、当該ログを参照することで、後からデータの書き出しが正しく行なわれたかの確認や、エラー情報の確認などを行うことができる。
【００２４】
図３（ｂ）は、データインポータ２０９を構成する各処理部の構成図である。コンピュータは、コンピュータプログラムを実行することにより、図３（ｂ）に示すデータインポータ２０９を構成する各処理部として機能することになる。ユーザインタフェース部３０１ｂは、ディスプレイに情報を表示させたり、ユーザからの指示入力を受け付けたりする。
【００２５】
データ登録部３０５ｂは、一時置き場２０５に書き出されている構成情報ファイル、文書の実体ファイル、各種属性情報などを読み出す。そして、パス認識部３０３ｂと連携することによって新文書管理アプリ２０９の仕様に合ったフォルダ階層構成に修正しながら、ＤＢアクセス部３０２ｂを介して、フォルダや文書や各種属性情報を、新文書管理アプリ２０９で管理している情報蓄積部２０８へ登録する。その際、データ登録部３０５ｂは、登録データ定義情報３０６ｂを参照し、実際に登録すべき情報を判断する。登録データ定義情報３０６ｂは、例えばデータ書き出し部３０５ａが書き出した文書のうち、特定の拡張子を持つ文書は登録しないという規則や、新文書管理アプリ２０９では使用できない文字を、使用できる文字に置き換えるための変換規則などが定義されている。また、新文書管理アプリ２０９の仕様によっては、日付型属性情報を文字列に変換して登録するという規則も登録データ定義情報３０６ｂに定義するようにしてもよい。なお、登録データ定義情報３０６ｂは、移行先の新文書管理アプリの種類に応じて、後から管理者ユーザ等により編集更新されたり、差替え用の定義ファイルが配布されて差替えられたりすることが可能である。また、登録データ定義情報３０６ｂには、新文書管理アプリ２０９において１つのフォルダの下に配置できるサブフォルダ数の上限値などの情報も書かれており、旧文書管理アプリで管理していたサブフォルダの数が該上限値を超えていないかどうかを確認するために利用する。データ登録部３０５ｂは、上限値を超えている場合は、新たに別のフォルダを作成し、当該新たに作成したフォルダに上限値を超えている分のサブフォルダを格納するなどして、データを移行するのが望ましい。登録データ定義情報３０６ｂは、旧文書管理アプリ２０２と新文書アプリ２０７の仕様が異なることがあるために必要な情報である。データ登録部３０５ｂは、できるだけ旧文書管理アプリ２０２のデータを、新文書アプリ２０７のデータ形式に合わせてデータ移行することで、データの損失を低減する。
【００２６】
パス認識部３０３ｂは、移行対象の各フォルダが、新文書管理アプリ２０９におけるフォルダ階層の深さ制限を越えるかどうか判定する。なお、本実施形態においては、新文書管理アプリ２０９のフォルダパス長（フォルダのパス名の長さ）が上限値を超えるかどうかの判断を例にして説明するが、これに限るものではない。例えば、新文書管理アプリの仕様として、フォルダ階層数の上限値がある場合は、フォルダ階層数をフォルダ階層の深さ制限の判断基準にしてもよい。パス長制限情報３０４ｂには、新文書管理アプリ２０９におけるフォルダ階層の深さ制限の制限値（例えば、フォルダパス長の上限値や、フォルダ階層数の上限値）に関する情報が格納されている。パス認識部３０３ｂは、パス長制限情報３０４ｂからフォルダパス長の上限値を読み出し、移行処理対象のフォルダのパス長が当該上限値を超えるか否か判定する。そして、パス認識部３０３ｂは、制限値を超えるか否かの判定結果をデータ登録部３０５ｂに通知する。なお、パス長制限情報３０４ｂは、予め定義されている情報ファイルとするが、移行先の新文書管理アプリの種類に応じて、後から管理者ユーザ等により編集更新されたり、差替え用の定義ファイルが配布されて差替えられたりすることが可能である。
【００２７】
ＤＢアクセス部３０２ｂは、新文書管理アプリ２０９で管理する情報蓄積部２０８にアクセスし、データ登録部３０５ｂから登録対象として指示されたフォルダや文書や各種属性情報などを情報蓄積部２０８に登録する。ログ書き出し部３０７ａは、データインポータ２０９の動作状況のログを記録するもので、ユーザは、当該ログを参照することで、後からデータの登録が正しく行なわれたかの確認や、エラー情報の確認などを行うことができる。
【００２８】
次に、データエクスポータ２０４が、旧文書管理アプリ２０２で管理していたフォルダや文書や属性情報を書き出す処理の詳細を、図８のフローチャートを用いて説明する。
【００２９】
Ｓ８０１において、ＤＢアクセス部３０２ａは、移行元の旧文書管理アプリ２０２で管理していた蓄積部２０３から、移行対象の文書管理データベースのルートフォルダを読み出す。そして、データ書き出し部３０５ａは、新たな構成情報ファイルを作成し、当該読み出されたルートフォルダについての情報を該構成情報ファイルに追記して、一時置き場２０５へ書き出す。構成情報ファイルは例えばＸＭＬ形式のファイルであり、後述するステップでフォルダ構成情報を追記していくことが可能になっているものとする。このとき、当該文書管理データベースの属性情報（例えばアクセス権などに関する情報）も、属性情報ファイルに書き出す。
【００３０】
Ｓ８０２において、ＤＢアクセス部３０２ａは、下位に存在するサブフォルダを読み出す。最初は、ルートフォルダの直下に存在するサブフォルダを読み出すことになる。更に、Ｓ８０３において、ＤＢアクセス部３０２ａは、Ｓ８０２で読み出したサブフォルダの属性情報を読み出す。
【００３１】
Ｓ８０４において、データ書き出し部３０５ａは、当該読み出したサブフォルダのフォルダ階層の構成に関する情報を、前記書き出した構成情報ファイルに追記する。また、データ書き出し部３０５ａは、当該読み出したサブフォルダの属性情報を、属性情報ファイルに書き出す。
【００３２】
ＤＢアクセス部３０２ａは、Ｓ８０５において、Ｓ８０２で読み出したサブフォルダ内に格納されている１乃至複数の文書を読み出し、更に、Ｓ８０６において、当該読み出した各文書の属性情報も読み出す。
【００３３】
Ｓ８０７において、文書変換部３０３ａは、Ｓ８０５で読み出した文書それぞれについてフォーマット変換が必要か否か判定する。文書変換部３０３ａは、フォーマット変換が必要と判定した文書に関しては、Ｓ８０８においてフォーマット変換処理を行い、不要と判定した文書に関してはフォーマット変換を行わないものとする。
【００３４】
Ｓ８０９において、データ書き出し部３０５ａは、当該読み出した各文書の実体ファイル（読み出した文書ファイル、あるいはフォーマット変換された文書ファイル）を、一時置き場２０５に書き出す。更に、データ書き出し部３０５ａは、前記読み出した各文書の実体ファイルが、どのサブフォルダに格納されていたかに関する情報を前記構成情報ファイルに追記することで、構成情報ファイルと各文書の実体ファイルとを関連付ける。更に、データ書き出し部３０５ａは、Ｓ８０６で読み出した各文書の属性情報を、属性情報ファイルに書き出すとともに、対応する実体ファイルや構成情報ファイル内の対応する個所と関連付けておく。
【００３５】
Ｓ８１０では、未処理のサブフォルダがあるかどうか判定し、未処理のサブフォルダがあると判定した場合は、Ｓ８０２に戻って次のサブフォルダを抽出する。全てのサブフォルダ（および文書）のエクスポート処理が終わったと判定した場合は、処理を終了する。
【００３６】
続いて、データインポータ２０９が、新文書管理アプリ２０９にフォルダや文書や属性情報を登録する処理の詳細を、図４および図５のフローチャートを用いて説明する。
【００３７】
まずＳ４０１において、パス認識部３０３ｂは、パス長制限情報３０４ｂからフォルダ階層深さ制限値（例えばフォルダパスの長さの上限値）を読み込み、記憶領域に記憶する。制限値は、例えばフォルダパスをＵＲＬ表記にした時に、「１５００バイト」以下などの値となる。この値は、新文書管理アプリ２０９の仕様に応じてデータインポータ２０９の開発段階で初期設定されるが、図３（ｂ）で説明したように、データの移行時にユーザが新文書管理アプリ２０９の仕様を確認し、再設定することも可能である。
【００３８】
Ｓ４０２において、データ登録部３０５ｂは、データエクスポータ２０４が一時置き場２０５に書き出した構成情報ファイルを読み込み、当該構成情報ファイルの記述に基づき、旧文書管理アプリで管理していたフォルダ階層の構成を解析する。
【００３９】
Ｓ４０３では、当該解析した結果に基づいて、新文書管理アプリで管理している蓄積部に登録すべきフォルダが存在するかを判定する（すなわち、未登録のフォルダがあるかどうかを判定する）。最初はルートフォルダの直下にフォルダが存在するか判定することになるが、後述する各処理ステップを行った後、順次、その下のサブフォルダが判断対象となっていくことになる。そして、Ｓ４０３で登録すべきフォルダがなくなったと判断した場合には処理終了となる。登録すべきフォルダが存在すると判定した場合はＳ４０４へ進み、属性情報からそのフォルダの名称を取得して登録対象にするフォルダを生成する。
【００４０】
Ｓ４０５において、パス認識部３０３ｂは、Ｓ４０４で生成した登録対象のフォルダのフォルダパスが、深さ制限値以内か否かを判断する。制限値を超えていない場合にはＳ４０６へ進み、当該フォルダを、新文書管理アプリ２０７で管理している蓄積部２０８において、旧文書管理アプリで管理していたフォルダ階層の構成と同様の構成になるように、ＤＢアクセス部３０２ｂを介して登録する。一方、Ｓ４０５において、フォルダパスが深さ制限値を越えていると判断した場合にはＳ４０７に進み、フォルダ分割処理を行ない、当該登録対象フォルダのフォルダパスが短くなるように、当該登録対象フォルダを浅い階層へ移動させて登録する。フォルダ分割処理の詳細については図５を用いて後述する。
【００４１】
Ｓ４０８において、データ登録部３０５ｂは、Ｓ４０２で読み込んだ構成情報ファイルを元に、当該登録対象のフォルダの下に登録すべき文書が１つ以上存在するかを判断する。Ｓ４０８で文書が存在しないと判断した場合には、Ｓ４０３へ戻り、未登録のフォルダがあるか否かの判断を行う。また、データ登録部３０５ｂは、Ｓ４０８で文書が存在すると判断した場合、Ｓ４０９にて、その各文書の実体ファイルを一時置き場２０５から読み込み、Ｓ４０６またはＳ４０７で登録したフォルダの下に各文書を登録する。続いてＳ４１０において、同じくＳ４０２で読み込んだ構成情報ファイルを元に、前記登録した文書の属性情報を読み込み、新文書管理アプリで管理している蓄積部２０８に、文書それぞれの属性情報を登録する。その後、Ｓ４０３へ戻り、未登録のフォルダがあるか否かの判断処理を繰り返す。
【００４２】
次に、Ｓ４０７でデータ登録部３０５ｂが実行するフォルダ分割処理の詳細を、図５のフローチャートを用いて説明する。
【００４３】
まずＳ５０１にて、登録対象フォルダの親フォルダ（フォルダパス長が所定の深さ制限値を超える直前のフォルダ）内に、分割元情報ファイルが存在するか否か（分割元情報ファイルを作成済みか否か）を判断する。分割元情報ファイルとは、分割元となる親フォルダに格納される情報ファイルであって、分割された登録対象フォルダの新たな格納先情報などが記載されているものとする。分割元情報ファイルの詳細については図６および図７（ａ）を用いて後述する。分割元情報ファイルが存在しないと判断した場合にはＳ５０２に進んで、分割元情報ファイルを当該親フォルダに作成する。一方、Ｓ５０１で分割元情報ファイルが存在する（既に分割元情報ファイルが作成されている）と判断した場合には、Ｓ５０３に進む。
【００４４】
Ｓ５０３において、分割先フォルダが既に存在するか否か（分割先フォルダを既に作成済みか否か）を判定する。分割先フォルダとは、新文書管理アプリで管理するフォルダ階層の浅い階層（上位階層）に新たに作成するフォルダであり、フォルダ階層の深さ制限値を超えていると判断された登録対象フォルダの新たな登録先の親フォルダとして使用される。フォルダパス長が階層深さ制限値を超える各フォルダは、旧文書管理アプリの階層構造に対応するフォルダ階層の位置から浅い階層に移動するために、分割先フォルダのサブフォルダとして配置されることになる。分割先フォルダについても図６を用いて後述する。
【００４５】
Ｓ５０３で分割先フォルダがまだ存在しないと判定した場合、Ｓ５０４へ進み、新文書管理アプリで管理するフォルダ階層における浅い階層位置に、新しい分割先フォルダを作成する。また、このとき作成した新たな分割先フォルダ内に分割先情報ファイルを作成しておく。分割先情報ファイルには、当該分割先フォルダ内に新たに配置される登録対象フォルダについて、当該登録対象フォルダが元々あったフォルダ階層の情報（すなわち、元の親フォルダのアドレス情報）などが記述されることになる。一方、Ｓ５０３で分割先フォルダが存在すると判定した場合は、Ｓ５０５に進み、分割先フォルダに当該登録対象フォルダを追加配置可能か否かを判断する。これは、文書管理システムの仕様によって、１つの親フォルダの下に配置できるサブフォルダ数の上限値が異なるためである。Ｓ５０５で上限値を超える場合にはフォルダ追加配置不可能と判断して、Ｓ５０４へ進み、新しい分割先フォルダを作成する。この上限値は、登録データ定義情報３０６ｂで定義されている。一方、Ｓ５０５で追加配置可能と判断した場合はＳ５０６へ進む。
【００４６】
Ｓ５０６において、当該登録対象フォルダの配置先となる分割先フォルダのＵＲＬと、当該分割先フォルダ内に配置済みのフォルダ名とを取得する。分割先フォルダのＵＲＬおよび配置済みフォルダの名称は、ＤＢアクセス部３０２ｂを介して、新文書管理アプリ２０９の情報蓄積部２０８から読み出す。次に、Ｓ５０７において、登録対象フォルダと同名のフォルダが当該分割先フォルダに既に存在するか否かを判断する。Ｓ５０７で存在すると判定した場合、Ｓ５０８に進み、登録対象フォルダ名の後ろにランダムな数字を追加し、再度Ｓ５０７にて当該数字追加後の登録対象フォルダと同名のフォルダが存在するか判断する。すなわち、分割先フォルダで同名のフォルダが複数配置されないように、登録対象フォルダの名称を一部変更する。
【００４７】
Ｓ５０７で同名のフォルダが存在しないと判断した場合、Ｓ５０９に進み、ＤＢアクセス部３０２ｂを介して、当該登録対象フォルダを分割先フォルダのサブフォルダとして登録する。続いてＳ５１０において、当該登録対象フォルダの新たな格納先に関する情報（分割先フォルダのアドレスに関する情報）を、分割元情報ファイルに追記するように更新する。続いてＳ５１１において、当該登録対象フォルダの元の親フォルダに関するアドレス情報などを、分割先情報ファイルに追記するように更新する。分割先情報ファイルについても図６および図７（ｂ）を用いて後述する。
【００４８】
次に、分割元情報ファイルならびに分割先情報ファイル、分割先フォルダについて、図６および図７の具体例を用いて説明する。
【００４９】
図６（ａ）は、旧文書管理アプリ２０２で管理していたときのフォルダ階層の模式図である。最上位のルートフォルダＡ（６０１）のサブフォルダとして、フォルダＢとＣが存在し、更に、フォルダＣの下にサブフォルダが続いている。データエクスポータ２０４は、このフォルダ階層に含まれるフォルダや文書の位置に関する情報を構成情報ファイルに記述し、各種属性情報や文書の実体ファイルとともに、一時置き場２０５に書き出す。
【００５０】
図６（ｂ）は、前記一時置き場２０５に書き出された旧文書管理アプリ２０２のデータを、データインポータ２０９が読み込んで、新文書管理アプリ２０７に移行した結果のフォルダ階層の模式図である。図６（ｂ）では、最上位のルートフォルダＡ（６０５）があり、その下にサブフォルダＢとＣが旧文書管理アプリ２０２のフォルダ階層と同様の位置に配置されている。
【００５１】
ここで、フォルダＢ〜Ｆは、フォルダ階層の深さ制限値に達していないものとする。そして、フォルダＧ（６０２）のデータを新文書管理アプリに移行する際に、フォルダ階層の深さ制限値を超えてしまうと判断した場合、フォルダＧは新文書管理アプリのフォルダ構成においてフォルダＦの下に配置することが出来ない。例えば、新文書管理アプリのサーバ名が「ｓ３ｓｄ１−ｄｅ−０６４」で、新文書管理アプリで管理する各データベースを「ｔｅａｍｓｉｔｅ」フォルダの下に配置する場合、フォルダＧのＵＲＬは「ｈｔｔｐ：／／ｓ３ｓｄ１−ｄｅ−０６４／ｔｅａｍｓｉｔｅ／１２３４５／ａ／ｃ／ｄ／ｅ／ｆ／ｇ」となる。例えばフォルダ階層の深さ制限値がＵＲＬで４５バイトの場合、フォルダＧのＵＲＬの長さ（フォルダパス長）は４６バイトなので、深さ制限値を超えることが分かる。図５で説明した通り、制限値を超えると判断すると、データインポータ２０９は分割先フォルダＸ＿１（６０７）を新たに浅い階層に作成し、当該分割先フォルダ６０７の下にフォルダＧ（６０９）を配置登録する。図の例では分割先フォルダ６０７のフォルダ名は「Ｘ＿１」である。末尾の数字はランダムな数値であり、同名のフォルダ名が既に存在する場合には新しい数値を付ける。
【００５２】
分割元情報ファイル６０６はテキストファイルであり、図５で説明したように、当該フォルダＦの下から分割されて移動されたフォルダの格納先アドレスの情報などが記録される。例えば、図６（ａ）に示すように、旧文書管理アプリにおいて、フォルダＦの下にはフォルダＧ（６０２）だけでなく、フォルダＧＧ（６０３）、フォルダＧ￥（６０４）の３つが配置されていた。このとき、分割元の親フォルダＦの下に１つの分割元情報ファイル６０６が生成され、３つのフォルダ（Ｇ，ＧＧ，Ｇ￥）に関する新たな格納先のアドレス情報などを記録する。分割元のフォルダにおいて分割元情報ファイルは１つだけ存在するため、ユーザは該分割元情報ファイルを閲覧することによって、当該フォルダから分割された複数のフォルダの格納先を一覧することが可能となる。
【００５３】
分割元情報ファイル６０６の記述例を図７（ａ）に示す。分割元情報ファイルには、分割先フォルダのＵＲＬ（フォルダパス）が記述されるので、ユーザは、深さ制限値を超えたフォルダが、新しくどのフォルダに配置されたのかを知ることが出来る。また、その分割先フォルダに登録されたフォルダ（分割されたフォルダ）のフォルダ名が一覧表示される。ここで分割先フォルダに登録されたフォルダのフォルダ名は、旧文書管理アプリ２０２で使用されていた名前と、新文書管理アプリ２０９で使用されている名前とを対応付けて表示するのが望ましい。これは、旧文書管理アプリ２０２で使用されていた名前には、新文書管理アプリ２０７で使用できない文字種が含まれている場合がある為である。例えば、フォルダ６０４のフォルダ名「Ｇ￥」のうち、「￥」が新文書管理アプリ２０７で使用できない文字種であった場合、データインポータ２０９は使用可能な文字「＿」に置き換えることで、フォルダ「Ｇ＿」（６１１）として登録している。
【００５４】
分割先情報ファイル６０８もテキストファイルであり、図５で説明したように、当該分割先フォルダに登録された各フォルダについて、旧文書管理アプリにおけるフォルダ階層のどの位置にあったかを識別できるように、分割元の親フォルダのアドレス情報などが記録される。分割先情報ファイル６０８には、当該分割先フォルダに登録された複数のフォルダに関する情報を記録する。また、分割先情報ファイル６０８には、分割元の親フォルダのアドレス情報だけでなく、フォルダ名が変更された場合は、当該変更される前のフォルダ名の情報も記述されるものとする。例えば、旧文書管理アプリで管理していたフォルダ６０４のフォルダ名「Ｇ￥」のうち、「￥」が新文書管理アプリ２０７で使用できない文字種であった場合、データインポータ２０９は登録データ定義情報３０６ｂを参照し、使用可能な文字「＿」に置き換えることで、フォルダ「Ｇ＿」（６１１）として登録する。このとき、分割先情報ファイル６０８には、文字を置き換える前のフォルダ名「Ｇ￥」も対応付けて記述されるようにする。
【００５５】
図７（ｂ）は分割先情報ファイル６０８の記述例であり、当該分割先フォルダ６０７に格納された各フォルダの情報がまとめて記載される。分割先情報ファイルに記載される各フォルダの情報は、左から順に、新文書管理アプリの分割先フォルダに配置されたフォルダ名、旧文書管理アプリ２０２で管理していたフォルダ階層におけるフォルダパス（分割元フォルダのアドレス）、旧文書管理アプリ２０２で管理していたときのフォルダ名とが対応付けて記載されている。例えば、新文書管理アプリ２０７の分割先フォルダに格納されているフォルダ「Ｇ＿」は、旧文書管理アプリにおいて分割元フォルダＦの下に格納されていたことや、元の名称が「Ｇ￥」であったことなどがわかる。
【００５６】
なお、分割元情報ファイル６０６と分割先情報ファイル６０８は、必ずしもテキストファイルである必要はなく、ｘｍｌフォーマットや、独自のフォーマットであっても良い。また、必ずしもユーザからファイルとして見える必要はなく、新文書管理アプリ２０７が内部的に情報データとして保持し、そのデータを読み書きする形態でも良い。
【００５７】
データエクスポータ２０４は、旧文書管理アプリ２０２で管理していたデータ全てを書き出すことも可能であるが、これに限るものではない。例えば、ユーザインタフェース部３０１ａを介してユーザに特定のフォルダを選択指定させ、当該選択されたフォルダを含む下位フォルダのみを書き出すようにしてもよい。その場合、ユーザは同時に複数のフォルダを選択可能にし、データエクスポータ２０４は、指定された複数のフォルダそれぞれの下位フォルダを別々に一時置き場２０５に書き出せるようにするのが望ましい。
【００５８】
また、データインポータ２０７は、データエクスポータ２０４が書き出したデータ全てを新文書管理アプリ２０７へ登録することが可能であるが、これに限るものではない。例えば、書き出されたデータのうち、ユーザインタフェース部３０１ｂを介してユーザが所望するフォルダを選択指定させることにより、当該選択されたデータのみを新文書管理アプリに登録するように構成するとよい。その場合、ユーザが同時に複数のデータを選択できるようにし、データインポータ２０７は、指定された複数のデータのみをまとめて登録するように構成するのが望ましい。また、データインポータ２０７は、移行対象のデータについて、新文書管理アプリ２０７で管理しているフォルダ階層の位置に登録するかを、ユーザが指定できるように構成する。この場合、データインポータ２０７は、移行対象データのルートフォルダの名前と、同じフォルダ名を持つフォルダが、既に新文書管理アプリ２０７内の移行させたい位置に既に存在する場合には、その移行対象のフォルダ名の後ろにランダムな数字を付けて当該フォルダを登録する。一番上位のルートフォルダが登録されれば、その下のフォルダや文書について、同名のフォルダや文書の存在を気にすることなく、登録することが出来る。
【００５９】
また、データインポータ２０７は、あるデータベースのデータを新文書管理アプリに移行した後、同じフォルダ内に、別のデータを追加で移行させたい場合がある。そのような場合でも、１つのフォルダから同じ分割先に新たなフォルダを分割する場合は、既に作成済みの分割元情報ファイルおよび分割先情報ファイルに、情報を追記していくので、情報ファイルの数が増えていくことはない。また、分割先フォルダを作成済みであれば、そのフォルダの下にフォルダを配置していくため、データを追加移行するたびに分割フォルダが増えていくようなこともない。
【００６０】
（その他の実施例）
また、文書管理システムの仕様にもよるが、上述したフォルダ階層の深さ制限は、データを格納可能か否かだけに起因する制限ではない。例えば、文書の検索処理を行う際に、所定のフォルダパスより深いフォルダに格納されている文書は検索対象にしないという文書管理システムがあったとする。その場合、検索可能なフォルダより深いフォルダに移行されてしまった文書は検索されないことになってしまう可能性がある。そこで、検索可能なフォルダパス長に収まるように、データ移行時のフォルダ階層の深さ制限を設ければ、新文書管理アプリに移行した全ての文書を検索対象にすることが可能になる。
【００６１】
また、上述したデータエクスポータ２０４およびデータインポータ２０９は、コンピュータがプログラムを実行することにより実現するものとしたが、これに限るものではなく、その一部または全部をハードウェア（電子回路）で実現するようにしても構わない。
【図１】
2011095997.tif 000003
【図２】
2011095997.tif 000004
【図３】
2011095997.tif 000005
【図４】
2011095997.tif 000006
【図５】
2011095997.tif 000007
【図６】
2011095997.tif 000008
【図７】
2011095997.tif 000009
【図８】
2011095997.tif 000010