文書管理システム及び制御方法、プログラム。
【課題】フォルダ毎に異なるアクセス権限を簡単な方法により一括で登録し、更に既に登録されたフォルダ毎に異なるアクセス権限に関して、視覚的に分かりやすいファイル形式で出力する仕組みを提供する事を目的とする。
【解決手段】CSVファイル形式で作成されたCSVファイルに、カンマ記号区切りの数を利用してフォルダ名やグループ名やアクセス権やフォルダ階層数を行列に対応付けて配置しカンマ区切り間に記載し、該CSVファイルを受け付けることで文書管理システムの中で管理される文書を格納するフォルダのグループ毎に分けたアクセス権を一括で設定する。設定し記憶されたフォルダ別のグループ毎のアクセス権情報はフォルダ階層情報と共に書き込まれたCSVファイル形式のCSVファイルを作成する。これにより現在のアクセス権管理データが出力できる。
【解決手段】CSVファイル形式で作成されたCSVファイルに、カンマ記号区切りの数を利用してフォルダ名やグループ名やアクセス権やフォルダ階層数を行列に対応付けて配置しカンマ区切り間に記載し、該CSVファイルを受け付けることで文書管理システムの中で管理される文書を格納するフォルダのグループ毎に分けたアクセス権を一括で設定する。設定し記憶されたフォルダ別のグループ毎のアクセス権情報はフォルダ階層情報と共に書き込まれたCSVファイル形式のCSVファイルを作成する。これにより現在のアクセス権管理データが出力できる。
【発明の詳細な説明】
【技術分野】
【0001】
文書管理システム及び制御方法とプログラムに関する。
【背景技術】
【0002】
文書管理システムにおいて登録された文書ファイルをフォルダ毎に振り分け、登録されたフォルダにはアクセス権を設定して登録された文書を管理する事が一般的である。
【0003】
文書管理システムを企業で運用する際のフォルダ階層やアクセス権限は、運用する部門において検討した階層を、通常はシステムの画面上から一件ずつサーバに登録している。
【0004】
その後、登録した個々のフォルダに対して、操作するユーザ(グループ)のアクセス権限レベル(文書の閲覧権限、登録権限、削除権限等)を設定し、文書管理システムを構築している。
【0005】
また、システム導入時においては、実際のフォルダ階層登録作業やアクセス権限設定作業などが正しく設定出来ていることを残す(エビデンス取得)作業が必要となる。
【0006】
さらに社内の監査では、フォルダ構造毎に適切な管理者が設定されているかを定期的に証明する業務があるが、画面で確認や、ハードコピーを取得する方法がある。 先行文献1ではアクセス権限を変更したいフォルダを選択し変更処理する事で、その下位の階層に存在するフォルダのアクセス権限も同時に変更している。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2003−223363
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら先行文献1においては、下位の階層に上位の階層と同じアクセス権が反映されてしまうという問題がある。
【0009】
登録したフォルダ階層を確認するには、システムの画面でのみで判断するしかなく、1フォルダにつきアクセス権限含めて1画面単位で画面ショットを取得しなければならず、時間とコストが発生する。
【0010】
システムのユーザは社内で監査があり、定期的にフォルダ階層やアクセス権限が正しく設定されているかをレポートするために、画面から1つひとつ確認している為労力がかかる。
【0011】
本発明はフォルダ毎に異なるアクセス権限を簡単な方法により一括で登録し、更に既に登録されたフォルダ毎に異なるアクセス権限に関して、視覚的に分かりやすいファイル形式で出力する仕組みを提供する事を目的とする。
【課題を解決するための手段】
【0012】
本願発明は、文書管理サーバと情報処理端末とが通信可能に接続された文書管理システムであって、前記情報処理端末は、前記文書管理サーバに、グループ名が記載された第1の行データと、フォルダ名とアクセス権情報が記載された第2の行データを含むファイルを送信する送信手段を備え、前記文書管理サーバは、前記送信手段が送信した前記ファイルを受け付ける受付手段と、前記受け付けた前記ファイルの前記第1の行データのグループ名をグループ情報として読み取る第1の読取手段と、前記受け付けた前記ファイルの前記第2の行データの前記アクセス権情報と、前記第2の行データのフォルダ名をフォルダ情報として読み取る第2の読取手段と、前記第1の読取手段が読み取ったグループ情報を前記第2の読取手段が読み取った前記アクセス権情報と対応付けて記憶する第1の記憶手段と、前記第1の記憶手段が記憶した前記アクセス権情報を前記第2の読取手段が読み取った前記グループ情報と対応付けて記憶する第2の記憶手段と、前記第2の記憶手段が記憶した前記アクセス権情報に対応付けた前記グループ情報と前記フォルダ情報に基づいて、前記フォルダ名のフォルダのアクセス権を前記グループ名のグループに設定する設定手段と、を備えることを特徴とする。
【0013】
また、前記ファイルの第1行データと第2の行データは、データが記載された列数を判別可能な記号を含み、前記文書管理サーバは、前記第1の読取手段が読み取った前記第1の行データの前記グループ名が記載された列数を、前記判別可能な記号を用いて計数する第1の計数手段と、前記第2の読取手段が読み取った前記第2の行データの前記アクセス権情報が記載された列数を、前記判別可能な記号を用いて計数する第2の計数手段と、を更に含み、前記第2の記憶手段は、前記第1の計数手段が計数した前記グループ名が記載された列数と前記第2の計数手段が計数した前記アクセス権情報が記載された列数に基づいて、前記第1の記憶手段が記憶したフォルダ情報に対して、複数のグループ情報のアクセス権情報を個別に対応付けて記憶することを特徴とする。
【0014】
また、前記文書管理サーバは、前記第1の読取手段が読み取った前記第1の行データの前記フォルダ名が記載された列数を、前記判別可能な記号を用いて計数する第3の計数手段と、前記第3の計数手段が計数した前記フォルダ名が記載された列数に基づいて、フォルダ階層順にフォルダ情報を記憶する第3の記憶手段と、を更に備えることを特徴とする。
【0015】
また、前記文書管理サーバは、グループ名をデータが記載される列数が判別可能な記号と共に表記する第3の行データと、フォルダ名とアクセス権情報をデータが記載される列数が判別可能な記号と共に表記する第4の行データを含むファイルを作成する作成手段と、第3の行データに前記グループ名と前記判別可能な記号を書き込む第1の書込手段と、第4の行データに前記フォルダ名と前記アクセス権と前記判別可能な記号を書き込む第2の書込手段と、を更に備え、前記第1の書き込み手段は、前記第1の記憶手段が記憶したグループ情報に基づいて、前記グループ名を第3の行データに書き込み、前記第2の書き込み手段は、前記第3の記憶手段がフォルダ階層順に記憶したフォルダ情報に基づいて、前記フォルダ名を第4の行データのフォルダ階層数が判別可能な列に書き込み、前記第2の記憶手段が記憶した前記アクセス権情報に基づいて、前記アクセス権情報を第4の行データに前記第1の書込手段が書き込んだ前記グループ名との対応付けが判別可能な列に書き込むことを特徴とする。
また、前記判別可能な記号はカンマ記号であることを特徴とする。
【発明の効果】
【0016】
本発明はフォルダ毎に異なるアクセス権限を簡単な方法により一括で登録し、更に既に登録されたフォルダ毎に異なるアクセス権限に関して、視覚的に分かりやすいファイル形式で出力する仕組みを提供する事が可能となる。
【図面の簡単な説明】
【0017】
【図1】文書管理システムのシステム構成を示す図。
【図2】文書管理サーバとクライアント端末のハードウエア構成を示す図
【図3】を示す図
【図4】文書管理サーバのフローチャートを示す図
【図5】文書管理サーバのフローチャートを示す図
【図6】文書管理サーバのフローチャートを示す図
【図7】文書管理サーバのフローチャートを示す図
【図8】文書管理サーバのフローチャートを示す図
【図9】文書管理サーバのフローチャートを示す図
【図10】文書管理サーバのフローチャートを示す図
【図11】文書管理サーバのフローチャートを示す図
【図12】文書管理サーバのフローチャートを示す図
【図13】文書管理サーバのフローチャートを示す図
【図14】文書管理サーバのフローチャートを示す図
【図15】文書管理サーバのフローチャートを示す図
【図16】文書管理サーバのフローチャートを示す図
【図17】文書管理サーバのフローチャートを示す図
【図18】CSVファイルを示す図
【図19】CSVファイルを示す図
【図20】文書管理サーバのデータを示す図
【図21】文書管理サーバのデータを示す図
【図22】文書管理サーバのデータを示す図
【図23】文書管理サーバのデータを示す図
【発明を実施するための形態】
【0018】
図1は、クライアント端末200、201、文書管理サーバ100が通信回線(LAN)300を介して通信可能に接続された本発明のシステム構成図である。 図2は、図1に示したクライアント端末200、201、文書管理サーバ100、に適用可能な情報処理装置のハードウエア構成を示すブロック図である。
【0019】
図2において、401はCPUで、システムバス404に接続される各デバイスやコントローラを統括的に制御する。また、ROM402あるいは外部メモリ411には、CPU401の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。403はRAMで、CPU401の主メモリ、ワークエリア等として機能する。CPU401は、処理の実行に際して必要なプログラム等をROM402あるいは外部メモリ411からRAM403にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【0020】
また、405は入力コントローラで、キーボード(KB)409や不図示のマウス等のポインティングデバイス等からの入力を制御する。406はビデオコントローラで、CRTディスプレイ(CRT)410等の表示器への表示を制御する。なお、図2では、CRT410と記載しているが、表示器はCRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
【0021】
407はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ411へのアクセスを制御する。
【0022】
408は通信I/Fコントローラで、ネットワーク(例えば、図1に示したLAN300)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0023】
なお、CPU401は、例えばRAM403内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT410上での表示を可能としている。また、CPU401は、CRT410上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0024】
本発明を実現するための後述する各種プログラムは、外部メモリ411に記録されており、必要に応じてRAM403にロードされることによりCPU401によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ411に格納されており、これらについての詳細な説明も後述する。
【0025】
図3の3001は登録用CSVファイルを受け付ける画面(CSVファイル登録画面)であり、クライアント端末で表示される。S401で文書管理サーバが表示指示をする。 図3の3002は選択フォルダを受け付ける画面(出力実行画面)であり、クライアント端末で表示される。S1301で文書管理サーバが表示指示をする。 本発明の文書管理システムで処理される各フローチャートについて説明する。(CSVファイル登録処理)
【0026】
図4は文書管理システムにおいてフォルダアクセス権登録の処理フローを示す図である。フォルダアクセス権(アクセス権限)は図22の2006に示すように異なる権限レベルを文書管理システムで管理されるファイルを保存するフォルダ毎のアクセス権限を指定する値である。図4は図18に示すようなCSV(Comma Separated Values)ファイル形式で予め作成済みの登録用CSVファイルからフォルダ毎のアクセス権限を設定する。 図4のステップ401〜ステップ407は、文書管理サーバ100のCPU401の制御の元で実行する処理である。
【0027】
ステップ401では、クライアント端末200から文書管理サーバ100にユーザログイン認証をした後、クライアント端末に表示された図3の3001のようなCSVファイル登録画面より、図18に示すようなCSVファイル形式で予め作成済みの登録用CSVファイルを選択し、文書管理サーバ100に登録用CSVファイルを送信することで、文書管理サーバ100は登録用CSVファイルを受け付ける。 またステップ401では、文書管理サーバ100の表示部410にCSVファイル登録画面を表示させ登録用CSVファイルを受け付けてもよい。
【0028】
ステップ402では、CSVファイル登録画面で登録用CSVファイルのファイルパスが指定されていて、ファイルが存在しているかをチェックし、存在しない場合にはエラーとする。 ステップ403では、図5に進み、図5の処理を実行する。 ステップ404では、図5のファイルチェックの結果、エラーがない場合にS405に進む。 ステップ405では、図9に進み、図9の処理を実行する。 ステップ406では、ステップ405の結果でエラーがある場合に、ステップ407でログファイルにエラー内容を渡す。 ステップ407では、ステップ406でエラーとなった内容を、文書管理サーバ上のログファイルに書き込む。 ステップ408では、処理した件数、エラー件数、実施日付を、処理結果画面に表示指示する。 ステップ409では、ステップ402でエラーとなった内容を、エラー画面に表示指示する。 以上で図4の説明を終わる。 図5は文書管理システムにおいて登録用CSVファイルチェックの処理フローを示す図である。 図5のステップ501〜ステップ507は、文書管理サーバ100のCPU401の制御の元で実行する処理である。 ステップ501では、図6に進み、図6の処理を実行する。 ステップ502では、図6の処理結果でエラーがない場合にはS503に進む。
【0029】
ステップ503では、ステップ501の登録用CSVファイルの見出し行以降の行を1行ずつ読み込む。(ステップ503〜ステップ506までを、登録用CSVファイルの読み込みが終わるまで繰り返す) ステップ504では、登録用CSVファイルの行が存在する場合、ステップ505に進む。 ステップ505では、図7に進み、図7の処理を実行する。 ステップ506では、図8に進み、図8の処理を実行する。 ステップ507では、登録用CSVファイルを閉じる。 以上で図5の説明を終わる。 図6は文書管理システムにおいて見出し初期処理の処理フローを示す図である。 図6のステップ601〜ステップ612は、文書管理サーバ100のCPU401の制御の元で実行する処理である。 ステップ601では、登録用CSVファイルの先頭から2行分を読み飛ばし、3行目を1行分取得してRAMに保持(記憶)する。
【0030】
ステップ602では、ステップ601で保持した1行分の値を、カンマの区切りで列を分割し、「パブリックアクセス」である列まで、カンマ区切りの数を用いて、列数をカウントアップ(計数)し、「パブリックアクセス」が存在したらその列数[P]をRAMに保持(記憶)する。以降CSVファイルを読み込む行は、カンマ区切りを1列としてみなすこととする。パブリックアクセスはアクセス権限であるが、パブリックアクセスとは、グループを限定しないで制御されるものである。パフリックアクセスが設定された場合、グループ毎に設定されたアクセス権限よりも優先される上位の権限である。本実施例ではカンマ区切りの数を用いて、列数のカウントアップ(計数)を行うが、本実施例の各処理フローを実施可能な変形例として、列数を判別可能な記号であればカンマ記号以外の記号を用いて行ってもよい。すなわち、ドット記号やコロン記号等をカンマ記号の代わりに使用したアクセス権登録用や出力用ファイルを作成した場合でも、本発明の処理は実行可能である。
【0031】
ステップ603では、上記ステップ602で「パブリックアクセス」が存在しなかった場合、ステップ604のエラー退避に移り、「パブリックアクセス」が存在した場合は、ステップ605に進む。 ステップ604では、エラー用のメッセージリストに行番号と「パブリックアクセス欄が存在しません」のメッセージを書き込む、図6の処理を終了する。
【0032】
ステップ605では、1からステップ602で保持した列数[P]−2までの一時格納配列[A]を作成し、外部メモリ411に記憶する。(図20の2001を参照) ステップ606では、登録用CSVファイル4行目のグループ名を取得するため、4行目を1行分読み込む。 ステップ607では、[P]までの列を読み飛ばす。
【0033】
ステップ608では、[P] 列の次列以降の値を(グループ名)を順次読み取り、読み取った値(グループ名)に対応する外部メモリ411に記憶されているグループ管理テーブル(図22の2005)を参照し、グループIDを取得し、RAMに記憶する。(空白の場合を除く)
【0034】
ステップ609では、読み取ったグループ名がステップ608のグループ管理テーブルに存在するか否かを判断し、存在した場合はステップ611に進み、存在しなかった場合には、ステップ610に進む。
【0035】
ステップ610では、エラー用の図示しないメッセージリストに行番号、グループ名と「指定されたグループが存在しません」のメッセージを書き込み、ステップ611に進む。
【0036】
ステップ611では、グループ名が空白(値が無い)かにより、全ての列の値(グループ名)を読み取ったかを判断し、まだ値がある場合にはステップ608より繰り返す。 ステップ612では、ステップ611で空白となった列数[E]を、RAMに保持(記憶)する。 以上で図6の説明を終わる。 図7は文書管理システムにおいてフォルダの階層チェックの処理フローを示す図である。 図7のステップ701〜ステップ707は、文書管理サーバ100のCPU401の制御の元で実行する処理である。 ステップ701では、1列目の値(処理フラグ)を読み取り、RAMに保持(記憶)する。
【0037】
ステップ702では、ステップ701の処理フラグが1もしくはNull(空白)か否かを確認(判断)し、1もしくはNullでない場合には異常値である為、ステップ703に進み、それ以外の値を読み取った場合は、ステップ704に進む。
【0038】
ステップ703では、図示しないエラー用のメッセージリストに、処理行番号と「処理フラグが適切な値ではありません」のメッセージを書き込みし、図7の処理を終了する。
【0039】
ステップ704では、2列目から [P]−1列まで順に値を確認し、値(フォルダ名)が存在した場合に、配列[A]のフォルダ階層数[F](存在列数−1番目)に1を格納し、その列より大きい配列[A]の値を全てNullにする。(図20の2002を参照)ここで配列
【0040】
[A]には行の読み取り処理が繰り返される毎に、フォルダ階層数に該当する配列[A]の列に1が随時書き込まれる。さらに図20の2002に示すように、現在読み取っているフォルダ階層数が1行前のフォルダ階層数よりも少ない場合には、配列[A]に書き込まれた1が全て消去され、少ない列数から順次S704の処理をする。
【0041】
ステップ705では、[F]が2以上の場合、配列[A] の[F]−1番目の列にが1があることを確認する。(=親フォルダの記載がある)これにより1行前のフォルダ階層数が現在読み取っているフォルダ階層数より1つ少ないかを判断する。すなわち1行前に読み取ったフォルダの階層数が1つ少ない場合は現在読み取っているフォルダの親フォルダとなるフォルダがCSVファイルに存在している事になる。 ステップ706では、ステップ705の確認で、[F]−1番目が1でない場合は、ステップ707のエラー退避に移る。
【0042】
ステップ707では、ステップ706の判断が1
でない場合は異常値である為、図示しないエラー用のメッセージリストに行番号と「フォルダ階層が正しくありません」のメッセージを書き込む。 以上で図7の説明を終わる。 図8は文書管理システムにおいてアクセス権限レベルの数値チェックの処理フローを示す図である。 図8のステップ801〜ステップ804は、文書管理サーバ100のCPU401の制御の元で実行する処理である。 ステップ801では、パブリックアクセス[P]列より大きい(本発明のCSVファイルでは右方向)列の値(アクセス権限の数値)を順次読み取る。 ステップ802では、アクセス権限を読み取る列数がS611で記憶した[E]列以上になった場合(グループ列が終了した場合)、図8の処理を終了する。
【0043】
ステップ803では、読み取った列のアクセス権限の値が0〜9またはNullのいずれかを確認し、いずれかであればステップ801から処理を繰り返す。また、0〜9またはNull以外であった場合には、ステップ804のエラー退避に移る。
【0044】
ステップ804では、ステップ803の値が、0〜9またはNullのいずれか以外であった場合は異常値であるため、エラー用のメッセージリストに処理行番号と「権限レベルは0〜9の範囲で指定してください」のメッセージを書き込む。 以上で図8の説明を終わる。 図9は文書管理システムにおいてフォルダ階層登録・権限設定処理の処理フローを示す図である。 図9のステップ901〜ステップ906は、文書管理サーバ100のCPU401の制御の元で実行する処理である。 ステップ901では、登録用CSVファイルの見出し行を処理するため、図10に進み、図10の処理を実行する。
【0045】
ステップ902では、登録用CSVファイルの次行(5行目)以降(第2の行データ)を順次読み込み、行ごとにデータをRAMに記憶する。(ステップ902〜ステップ905までを、CSVファイルの読み込みが終わるまで繰り返す)
【0046】
ステップ903では、登録用CSVファイルで行データが読み込めるか判断し、読み込めない(行データが無い)場合はS906に進む。行データが読み込める場合は、S904に進む。 ステップ904では、登録用CSVのフォルダ階層情報を元に、図11に進み、図11の処理を実行する。 ステップ905では、CSVのグループ権限情報を元に、図12に進み、図12の処理を実行する。 ステップ906では、登録用CSVファイルを閉じる。図9の処理を終了し、S406に進む。 以上で図9の説明を終わる。 図10は文書管理システムにおいて見出し初期処理の処理フローを示す図である。 図10のステップ1001〜ステップ1005は、文書管理サーバ100のCPU401の制御の元で実行する処理である。 ステップ1001では、登録用CSVファイルの先頭から2行分を読み飛ばし、3行目を全てRAMに記憶する。
【0047】
ステップ1002では、1001で保持した1行分の値を、「パブリックアクセス」と書かれた列数が1列目から数えて何番目かを、カンマ区切りの数を用いてカウントし、そのカウントした列数[P]をRAMに記憶する。
【0048】
ステップ1003では、[フォルダ名][フォルダID][権限有無情報]の3項目を持つ、1列目から[P]−2列目まで登録可能な一時格納配列 [F]の表(各データは後で読み取り登録される)作成し、外部メモリ411に記憶する。(図21の2003を参照)
【0049】
ステップ1004では、登録用CSVファイル4行目(第1の行データ)のグループ名を取得するため、登録用CSVファイルの4行目を全てRAMに記憶する。
【0050】
ステップ1005では、 [P]+1列番目以降の列にあるグループ名を全て読み取り、RAMに記憶する。読み取ったグループ名の数をカウントし、カウントした列数[E]をRAMに記憶する。更に「グループ名」「グループID」の2項目をもつ配列[G]を作成し、外部メモリ411に記憶する。列毎に読み取ったグループ名と、グループ管理テーブルからグループ名に対応づけられたグループIDを順次取得し、図21の2004に示すように、作成した配列[G]に読み取った全てのグループ名とグループIDを対応させて登録する。 以上で図10の説明を終わる。 図11は文書管理システムにおいて親フォルダの下にフォルダ登録の処理フローを示す図である。 図11のステップ1101〜ステップ1108は、文書管理サーバ100のCPU401の制御の元で実行する処理である。 ステップ1101では、2列目から順にフォルダ名を読み取り、フォルダ名が存在した列数の−1(階層数)を[H]としてRAMに記憶する。 ステップ1102で、[H]が1より大きい場合、ステップ1103に進み、[H]がそれ以外の場合、ステップ1104に進む。
【0051】
ステップ1103では、フォルダ名と配列[F]の[H]−1に記憶されている親フォルダIDを元に、図示しないDBより親フォルダのフォルダIDと権限有無情報を取得する。
【0052】
ステップ1104では、フォルダ名と最上位階層の条件を元に、図示しない外部メモリに登録済みのDB(データベース)上からフォルダIDと権限有無情報を取得する。ここでは最上位階層のルートフォルダが存在しているかを確認する。
【0053】
ステップ1105では、フォルダIDが取得できたかを判断し、取得できている(=フォルダが既に図示しないDB上に存在する)場合にはステップ1106に進み、取得できなかった(=同じ名前のフォルダが、親フォルダの下に存在しない)場合には、ステップ1107に進む。
【0054】
ステップ1106では、取得したフォルダIDを数値[I]としてRAMに記憶する。記憶したフォルダIDは図22の2006のフォルダ権限テーブルに登録される。
【0055】
ステップ1107では、[H]が1より大きい場合、ステップ1108に進み、[H]がそれ以外の場合、基準となるルートフォルダ名が図示しないDB上に存在しないと判断し、ステップ1109に進みエラーとする。
【0056】
ステップ1108では、S701で読み取った処理フラグ=1でかつ配列[F]の[H]−1(親フォルダ)の権限有無情報が1か2の(登録権限有り)場合、ステップ1110に進み、それ以外の場合には、ステップ1111に進む。 ステップ1109では、エラー用の図示しないメッセージリストに処理行番号と「ルートフォルダが存在しません」のメッセージを書き込む。
【0057】
ステップ1110では、親フォルダの下にフォルダ名でフォルダを新規登録(作成)し、登録したフォルダIDを数値[I]に記憶し、そのフォルダの権限有無情報を図示しないDB上から取得する。
【0058】
ステップ1111では、ステップ1108の判断で、処理フラグが1で親フォルダに登録権限が許されていない場合、エラー用のメッセージリストに処理行番号と「親フォルダにフォルダ登録権限がありません」のメッセージを書き込む。
【0059】
ステップ1112では、配列[F]の[H]番目のフォルダ名項目、フォルダID項目、権限有無項目を登録する。権限有無については、アクセス権限変更権限を有する場合には2を、フォルダ登録(作成)権限を有する場合には1を、それ以外の場合には0を記憶する。フォルダ登録(作成)の際に必要な情報は、「登録するフォルダの親フォルダにフォルダ登録権限があるか」と、「フォルダに権限を変更する権限があるか」の2つのみ必要なため、0、1、2の3つが設定可能である。更に[H]番目以降の値をすべてNullクリアする。ここで配列[F]は図21 2003のように[フォルダ名][フォルダID][権限有無情報]の3項目のデータが登録される。 以上で図11の説明を終わる。 図12は文書管理システムにおいてグループ割り当て・権限レベル設定の処理フローを示す図である。 図12のステップ1201〜ステップ1210は、文書管理サーバ100のCPU401の制御の元で実行する処理である。
【0060】
ステップ1201では、ステップ701で保持した処理フラグを判断し、処理フラグが1で、かつ図11で処理した配列[F]の[H]番目に記憶した権限有無情報が2(権限変更の権限が許されている)の場合、ステップ1202に進む。また、この条件に該当しない場合には、ステップ1203進む。
【0061】
ステップ1202では、[P]列にあるパブリックアクセス権限の権限レベルを読み取り、RAMに記憶する。配列[F]の[H]番目に記憶されたフォルダIDを元に、DB上のフォルダのパブリックアクセス権限を設定する。
【0062】
ステップ1203では、ステップ1201の判断で、処理フラグが1の場合、ステップ1205に進み、それ以外の場合は権限更新が必要ない行と判断し、図12の処理を終了する。 ステップ1204では、配列[F]の[H]番目のフォルダIDを元に、DB上のそのフォルダに設定されているグループ権限情報を削除する。 ステップ1205では、エラー用の図示しないメッセージリストに行番号と「権限変更の権限が与えられていません」のメッセージを書き込む。
【0063】
ステップ1206では、[P]+1列以降のアクセス権限レベル値と、配列[G]のグループIDを順に1列ずつ双方読み込みながらフォルダIDに関係するグループIDをRAMに記憶する。記憶したフォルダIDに対するグループIDは図22の2006のフォルダ権限テーブルに登録される。更にグループIDに対するアクセス権限レベル値をRAMに記憶する。記憶したグループIDに対するアクセス権限レベルは図22の2006のフォルダ権限テーブルに登録される。その際、カンマ区切りで読み込みカウント[J]を記憶する。この処理をステップ1204からステップ1210まで、配列[G]の処理する列が無くなるまで(配列の終わりまで)繰り返す。
【0064】
ステップ1207では、[G]の列数を超えたかを判断する。[G]の列数を超えていない場合、ステップ1208に進む。また、列数を超えた場合は図12を終了する。
【0065】
ステップ1208では、S1206で読み取ったアクセス権限レベル値が0〜9であるかを判断する。0〜9である場合はS1209に進む。0〜9でない場合はS1206に進み次の列の処理をする。
【0066】
ステップ1209では、図22の2006のフォルダ権限テーブルを参照し、フォルダID毎に設定されたグループIDのアクセス権限を設定し、ステップ1206に戻る。 以上で図12の説明を終わる。(CSVファイル出力処理)
【0067】
図13は文書管理システムにおいてフォルダ階層・グループ権限エクスポート処理の処理フローを示す図である。図13は図18に示すようなCSV(Comma Separated Values)ファイル形式で出力用CSVファイルを作成する。 図13のステップ1301〜ステップ1309は、文書管理サーバ100のCPU401の制御の元で実行する処理である。
【0068】
ステップ1301では、クライアント端末から文書管理サーバにユーザログイン認証をした後、クライアント端末に表示された図3の3002のような出力実行画面より、エクスポート処理開始を受け付ける。出力実行画面では図22の2007に示すようにフォルダを選択する。 ステップ1302では、選択されたフォルダに対して権限変更の権限を有するかを確認し、権限が許されていない場合は、ステップ1309に移る。 ステップ1303では、選択したフォルダ情報を元に、図14に進み、図14の処理を実行する。 ステップ1304では、図15に進み、図15の処理を実行する。 ステップ1305では、図16に進み、図16の処理を実行する。
【0069】
ステップ1306では、ステップ1303、ステップ1304、ステップ1305の結果でエラーが記憶されているかを判断し、記憶されている場合はS1307に進む。 ステップ1307では、ステップ1306でエラーとなった内容を、文書管理サーバ上のエラーログファイルに書き込む。 ステップ1308では、処理したフォルダの件数、エラーとなったフォルダの件数、実施日付を、処理結果
画面に表示指示する。 ステップ1309では、ステップ1302でエラーとなった内容「フォルダに実行権限がありません」を、エラー画面に表示指示する。 以上で図13の説明を終わる。 図14は文書管理システムにおいて選択フォルダ階層数確認の処理フローを示す図である。 図14のステップ1401〜ステップ1404は、文書管理サーバ100のCPU401の制御の元で実行する処理である。 ステップ1401では、図示しないDBより対象のフォルダの上位のフォルダ階層を、最上位まで取得する。(図22の2007を参照) またその際に、最上位までの階層数[T]をRAMに記憶する。
【0070】
ステップ1402では、DBより対象のフォルダ配下の全ての階層を確認し、その最大階層数と、ステップ1401で保持した階層数を [T]に加算し階層総数を決定する。
【0071】
ステップ1403では、文書管理サーバ上にデータが空である出力用CSVファイルに名前を付けて新規に作成し、外部メモリ411に記憶する。以降のステップにて該出力用CSVファイルのデータ領域に順次書き込み処理を行う。
【0072】
ステップ1404では、外部メモリ411に予め登録されている1、2行目の見出し内容を読み出し、出力用CSVファイルに1、2行目の見出し内容を書き込む。(図18、図19を参照) 以上で図14の説明を終わる。 図15は文書管理システムにおいてグループ名出力の処理フローを示す図である。 図15のステップ1501〜ステップ1506は、文書管理サーバ100のCPU401の制御の元で実行する処理である。
【0073】
ステップ1501では、CSV出力用のRAM上の空の文字列領域[L]に、カンマ区切りで順番に、1列目に“処理フラグ”、2列目に“フォルダ階層”、総階層数[T]+1列目に“パブリックアクセス”、総階層数[T]+2列目に“グループ権限マトリックス”を記憶する。(図18、図19を参照) ステップ1502では、ステップ1501で記憶された文字列[L]を、出力用CSVファイルの3行目として書き込む。出力後[L]は空にする。
【0074】
ステップ1503では、CSV出力用のRAM上の空の文字列領域[L]に、カンマ区切りで2列目からフォルダ総階層数[T]+1列目まで順番に、“第n階層”を記憶する。(nは1から順に階層数[T]までの連番) ステップ1504では、DBより、登録されているグループ名とグループIDをグループ名の昇順に全件取得し、配列[K]にそれぞれ保持(記憶)する。 ステップ1505では、ステップ1503で記憶した列に続けて、カンマ区切りで1列空白、それ以降の列に、取得したグループ名を順に記憶する。
【0075】
ステップ1506では、ステップ1503〜ステップ1505で記憶した文字列を、出力用CSVファイルの4行目(第3の行データ)として書き込む。出力後[L]は空にする。 以上で図15の説明を終わる。 図16は文書管理システムにおいてフォルダ階層・権限レベル出力の処理フローを示す図である。 図16のステップ1601〜ステップ1609は、文書管理サーバ100のCPU401の制御の元で実行する処理である。 ステップ1601では、S1301で選択したフォルダの階層よりも上位の階層を出力用CSVファイルに出力するため、図17に進み、図17の処理を行う。
【0076】
ステップ1602では、図示しないDBよりS1301で選択したフォルダから下位階層の全てのフォルダ名を取得しRAMに記憶する。S1602〜S1608を繰り返す事で、上位フォルダから1件ずつ処理をする。すなわち上位フォルダのデータから出力用CSVファイルに順に行データの書き込みを繰り返す。 ステップ1603では、ステップ1602で取得するフォルダが存在しなかった場合、ステップ1609に進む。 ステップ1604では、カンマ区切りの文字列の、1列目にNull(処理フラグなし)をセットする。 ステップ1605では、ステップ1602で取得したフォルダ名を、カンマ区切りで最上位階層から数えた階層数分の列をフォルダの階層数として記憶する。
【0077】
ステップ1606では、フォルダに設定されている、グループ権限(グループIDと権限レベル)及びパブリックアクセス権限レベルを図示しないDBより全て取得する。(図22の2006を参照)
【0078】
ステップ1607では、取得したグループIDを図23の2008に示す配列[K]のフォルダID項目から列を探し、その同列のアクセス権限項目値に取得したアクセス権限を記憶する。
【0079】
ステップ1608では、出力用CSVファイルのステップ1707で記憶したフォルダの階層が反映された列数に、フォルダ名を書き込む。出力後[L]及び配列[K]の全アクセス権限項目値は空にする。
【0080】
ステップ1608では、S1605で記憶したフォルダの階層数に該当する出力用CSVファイルの列数にフォルダ名を書き込む。更にS1607で記憶したグループ名に該当する出力用CSVファイルの列数にアクセス権限(0〜9)を書き込む。出力後配列[K]の全アクセス権限項目値は空にする。S1606で記憶したパブリックアクセスをP列に書き込む。 ステップ1609では、エクスポートしたCSVファイルを閉じる。 以上で図16の説明を終わる。 図17は文書管理システムにおいて最上位階層から選択フォルダまでの階層出力処理の処理フローを示す図である。 図17のステップ1701〜ステップ1707は、文書管理サーバ100のCPU401の制御の元で実行する処理である。
【0081】
ステップ1701では、図示しないDBよりS1301で選択したフォルダより上位階層の全てのフォルダ名を取得しRAMに記憶する。S1701〜S1707を繰り返す事で、最上位フォルダから1件ずつ処理をする。すなわち最上位フォルダのデータから出力用CSVファイルに順に行データの書き込みを繰り返す。 ステップ1702では、ステップ1701で処理フォルダが無くなった場合、図17の処理を終了する。
【0082】
ステップ1703では、出力用CSVファイルの5行目以降(第4の行データ)に、カンマ区切りの文字列の、1列目にNull(処理フラグなし)をセットする。 ステップ1704では、ステップ1701で取得したフォルダ名を、カンマ区切りで最上位階層から数えた階層数分の列をフォルダの階層数として記憶する。
【0083】
ステップ1705では、図22の2006に示すフォルダ権限テーブルからフォルダ毎に設定されたグループ権限(グループIDと権限レベル)を取得する。更にパブリックアクセス権限レベルを図示しないDBより全て取得する。
【0084】
ステップ1706では、取得したグループIDを図23の2008に示す配列[K]のフォルダID項目から列を探し、その同列のアクセス権限項目値に取得したアクセス権限を記憶する。
【0085】
ステップ1707では、S1704で記憶したフォルダの階層数に該当する出力用CSVファイルの列数にフォルダ名を書き込む。更にS1706で記憶したグループ名に該当する出力用CSVファイルの列数にアクセス権限(0〜9)を書き込む。出力後配列[K]の全アクセス権限項目値は空にする。S1705で記憶したパブリックアクセスをP列に書き込む。 以上で図17の説明を終わる。 ここで本発明の文書管理システムで使用されるデータについて説明する。 図18は文書管理システムで使用されるCSVファイルフォーマットを示す図である。
【0086】
図19は文書管理システムで使用される登録用CSVファイルを論理座標(行列)で表した図である。本実施例の登録用CSVファイルは第1の行データが第2の行データの上に書かれているが、変形例として第2の行データが第1の行データの上に書かれた登録用CSVファイルを用いて実施した場合であっても実行可能である。すなわち第1の行データと第2の行データに関して、各々を読み取る順番が入れ替わっても本発明の効果は同じである。 以下文書管理システムで管理されるデータベースを示す図である。
【0087】
図20 2001は、配列[A]は、登録用CSVファイルからデータを読み取り外部メモリ411に随時登録される表であり、CSVのフォルダ階層チェック(上位フォルダが指定されているか)において使用する。 図20 2002は、配列[A]の使用例である
【0088】
図21 2003は、配列[F] は、登録用CSVファイルからデータを読み取り外部メモリ411に随時登録される表であり、フォルダ名とフォルダID、フォルダへの権限有無情報の制御で使用する。
【0089】
図21 2004は、配列[G] は、登録用CSVファイルからデータを読み取り外部メモリ411に随時登録される表であり、グループ名とグループIDの制御で使用する。 図22 2005は、「グループ管理テーブル」のテーブルレイアウトである。外部メモリ411に記憶されている。 図22 2006は、「フォルダ権限テーブル」のテーブルレイアウトである。外部メモリ411に記憶されている。 図22 2007は、DB上のフォルダ階層である 図23 2008は、配列[K] であり、グループ名とグループID、アクセス権限の制御で使用する。
【0090】
また、本発明におけるプログラムは、図4〜図17に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図4〜図17の処理方法をコンピュータが実行可能なプログラムが記憶されている。
【0091】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0092】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【0093】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
【0094】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0095】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0096】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0097】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0098】
100 文書管理サーバ
200 クライアント端末(情報処理端末)
401 CPU
403 RAM
411 外部メモリ
【技術分野】
【0001】
文書管理システム及び制御方法とプログラムに関する。
【背景技術】
【0002】
文書管理システムにおいて登録された文書ファイルをフォルダ毎に振り分け、登録されたフォルダにはアクセス権を設定して登録された文書を管理する事が一般的である。
【0003】
文書管理システムを企業で運用する際のフォルダ階層やアクセス権限は、運用する部門において検討した階層を、通常はシステムの画面上から一件ずつサーバに登録している。
【0004】
その後、登録した個々のフォルダに対して、操作するユーザ(グループ)のアクセス権限レベル(文書の閲覧権限、登録権限、削除権限等)を設定し、文書管理システムを構築している。
【0005】
また、システム導入時においては、実際のフォルダ階層登録作業やアクセス権限設定作業などが正しく設定出来ていることを残す(エビデンス取得)作業が必要となる。
【0006】
さらに社内の監査では、フォルダ構造毎に適切な管理者が設定されているかを定期的に証明する業務があるが、画面で確認や、ハードコピーを取得する方法がある。 先行文献1ではアクセス権限を変更したいフォルダを選択し変更処理する事で、その下位の階層に存在するフォルダのアクセス権限も同時に変更している。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2003−223363
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら先行文献1においては、下位の階層に上位の階層と同じアクセス権が反映されてしまうという問題がある。
【0009】
登録したフォルダ階層を確認するには、システムの画面でのみで判断するしかなく、1フォルダにつきアクセス権限含めて1画面単位で画面ショットを取得しなければならず、時間とコストが発生する。
【0010】
システムのユーザは社内で監査があり、定期的にフォルダ階層やアクセス権限が正しく設定されているかをレポートするために、画面から1つひとつ確認している為労力がかかる。
【0011】
本発明はフォルダ毎に異なるアクセス権限を簡単な方法により一括で登録し、更に既に登録されたフォルダ毎に異なるアクセス権限に関して、視覚的に分かりやすいファイル形式で出力する仕組みを提供する事を目的とする。
【課題を解決するための手段】
【0012】
本願発明は、文書管理サーバと情報処理端末とが通信可能に接続された文書管理システムであって、前記情報処理端末は、前記文書管理サーバに、グループ名が記載された第1の行データと、フォルダ名とアクセス権情報が記載された第2の行データを含むファイルを送信する送信手段を備え、前記文書管理サーバは、前記送信手段が送信した前記ファイルを受け付ける受付手段と、前記受け付けた前記ファイルの前記第1の行データのグループ名をグループ情報として読み取る第1の読取手段と、前記受け付けた前記ファイルの前記第2の行データの前記アクセス権情報と、前記第2の行データのフォルダ名をフォルダ情報として読み取る第2の読取手段と、前記第1の読取手段が読み取ったグループ情報を前記第2の読取手段が読み取った前記アクセス権情報と対応付けて記憶する第1の記憶手段と、前記第1の記憶手段が記憶した前記アクセス権情報を前記第2の読取手段が読み取った前記グループ情報と対応付けて記憶する第2の記憶手段と、前記第2の記憶手段が記憶した前記アクセス権情報に対応付けた前記グループ情報と前記フォルダ情報に基づいて、前記フォルダ名のフォルダのアクセス権を前記グループ名のグループに設定する設定手段と、を備えることを特徴とする。
【0013】
また、前記ファイルの第1行データと第2の行データは、データが記載された列数を判別可能な記号を含み、前記文書管理サーバは、前記第1の読取手段が読み取った前記第1の行データの前記グループ名が記載された列数を、前記判別可能な記号を用いて計数する第1の計数手段と、前記第2の読取手段が読み取った前記第2の行データの前記アクセス権情報が記載された列数を、前記判別可能な記号を用いて計数する第2の計数手段と、を更に含み、前記第2の記憶手段は、前記第1の計数手段が計数した前記グループ名が記載された列数と前記第2の計数手段が計数した前記アクセス権情報が記載された列数に基づいて、前記第1の記憶手段が記憶したフォルダ情報に対して、複数のグループ情報のアクセス権情報を個別に対応付けて記憶することを特徴とする。
【0014】
また、前記文書管理サーバは、前記第1の読取手段が読み取った前記第1の行データの前記フォルダ名が記載された列数を、前記判別可能な記号を用いて計数する第3の計数手段と、前記第3の計数手段が計数した前記フォルダ名が記載された列数に基づいて、フォルダ階層順にフォルダ情報を記憶する第3の記憶手段と、を更に備えることを特徴とする。
【0015】
また、前記文書管理サーバは、グループ名をデータが記載される列数が判別可能な記号と共に表記する第3の行データと、フォルダ名とアクセス権情報をデータが記載される列数が判別可能な記号と共に表記する第4の行データを含むファイルを作成する作成手段と、第3の行データに前記グループ名と前記判別可能な記号を書き込む第1の書込手段と、第4の行データに前記フォルダ名と前記アクセス権と前記判別可能な記号を書き込む第2の書込手段と、を更に備え、前記第1の書き込み手段は、前記第1の記憶手段が記憶したグループ情報に基づいて、前記グループ名を第3の行データに書き込み、前記第2の書き込み手段は、前記第3の記憶手段がフォルダ階層順に記憶したフォルダ情報に基づいて、前記フォルダ名を第4の行データのフォルダ階層数が判別可能な列に書き込み、前記第2の記憶手段が記憶した前記アクセス権情報に基づいて、前記アクセス権情報を第4の行データに前記第1の書込手段が書き込んだ前記グループ名との対応付けが判別可能な列に書き込むことを特徴とする。
また、前記判別可能な記号はカンマ記号であることを特徴とする。
【発明の効果】
【0016】
本発明はフォルダ毎に異なるアクセス権限を簡単な方法により一括で登録し、更に既に登録されたフォルダ毎に異なるアクセス権限に関して、視覚的に分かりやすいファイル形式で出力する仕組みを提供する事が可能となる。
【図面の簡単な説明】
【0017】
【図1】文書管理システムのシステム構成を示す図。
【図2】文書管理サーバとクライアント端末のハードウエア構成を示す図
【図3】を示す図
【図4】文書管理サーバのフローチャートを示す図
【図5】文書管理サーバのフローチャートを示す図
【図6】文書管理サーバのフローチャートを示す図
【図7】文書管理サーバのフローチャートを示す図
【図8】文書管理サーバのフローチャートを示す図
【図9】文書管理サーバのフローチャートを示す図
【図10】文書管理サーバのフローチャートを示す図
【図11】文書管理サーバのフローチャートを示す図
【図12】文書管理サーバのフローチャートを示す図
【図13】文書管理サーバのフローチャートを示す図
【図14】文書管理サーバのフローチャートを示す図
【図15】文書管理サーバのフローチャートを示す図
【図16】文書管理サーバのフローチャートを示す図
【図17】文書管理サーバのフローチャートを示す図
【図18】CSVファイルを示す図
【図19】CSVファイルを示す図
【図20】文書管理サーバのデータを示す図
【図21】文書管理サーバのデータを示す図
【図22】文書管理サーバのデータを示す図
【図23】文書管理サーバのデータを示す図
【発明を実施するための形態】
【0018】
図1は、クライアント端末200、201、文書管理サーバ100が通信回線(LAN)300を介して通信可能に接続された本発明のシステム構成図である。 図2は、図1に示したクライアント端末200、201、文書管理サーバ100、に適用可能な情報処理装置のハードウエア構成を示すブロック図である。
【0019】
図2において、401はCPUで、システムバス404に接続される各デバイスやコントローラを統括的に制御する。また、ROM402あるいは外部メモリ411には、CPU401の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。403はRAMで、CPU401の主メモリ、ワークエリア等として機能する。CPU401は、処理の実行に際して必要なプログラム等をROM402あるいは外部メモリ411からRAM403にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【0020】
また、405は入力コントローラで、キーボード(KB)409や不図示のマウス等のポインティングデバイス等からの入力を制御する。406はビデオコントローラで、CRTディスプレイ(CRT)410等の表示器への表示を制御する。なお、図2では、CRT410と記載しているが、表示器はCRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
【0021】
407はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ411へのアクセスを制御する。
【0022】
408は通信I/Fコントローラで、ネットワーク(例えば、図1に示したLAN300)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0023】
なお、CPU401は、例えばRAM403内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT410上での表示を可能としている。また、CPU401は、CRT410上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0024】
本発明を実現するための後述する各種プログラムは、外部メモリ411に記録されており、必要に応じてRAM403にロードされることによりCPU401によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ411に格納されており、これらについての詳細な説明も後述する。
【0025】
図3の3001は登録用CSVファイルを受け付ける画面(CSVファイル登録画面)であり、クライアント端末で表示される。S401で文書管理サーバが表示指示をする。 図3の3002は選択フォルダを受け付ける画面(出力実行画面)であり、クライアント端末で表示される。S1301で文書管理サーバが表示指示をする。 本発明の文書管理システムで処理される各フローチャートについて説明する。(CSVファイル登録処理)
【0026】
図4は文書管理システムにおいてフォルダアクセス権登録の処理フローを示す図である。フォルダアクセス権(アクセス権限)は図22の2006に示すように異なる権限レベルを文書管理システムで管理されるファイルを保存するフォルダ毎のアクセス権限を指定する値である。図4は図18に示すようなCSV(Comma Separated Values)ファイル形式で予め作成済みの登録用CSVファイルからフォルダ毎のアクセス権限を設定する。 図4のステップ401〜ステップ407は、文書管理サーバ100のCPU401の制御の元で実行する処理である。
【0027】
ステップ401では、クライアント端末200から文書管理サーバ100にユーザログイン認証をした後、クライアント端末に表示された図3の3001のようなCSVファイル登録画面より、図18に示すようなCSVファイル形式で予め作成済みの登録用CSVファイルを選択し、文書管理サーバ100に登録用CSVファイルを送信することで、文書管理サーバ100は登録用CSVファイルを受け付ける。 またステップ401では、文書管理サーバ100の表示部410にCSVファイル登録画面を表示させ登録用CSVファイルを受け付けてもよい。
【0028】
ステップ402では、CSVファイル登録画面で登録用CSVファイルのファイルパスが指定されていて、ファイルが存在しているかをチェックし、存在しない場合にはエラーとする。 ステップ403では、図5に進み、図5の処理を実行する。 ステップ404では、図5のファイルチェックの結果、エラーがない場合にS405に進む。 ステップ405では、図9に進み、図9の処理を実行する。 ステップ406では、ステップ405の結果でエラーがある場合に、ステップ407でログファイルにエラー内容を渡す。 ステップ407では、ステップ406でエラーとなった内容を、文書管理サーバ上のログファイルに書き込む。 ステップ408では、処理した件数、エラー件数、実施日付を、処理結果画面に表示指示する。 ステップ409では、ステップ402でエラーとなった内容を、エラー画面に表示指示する。 以上で図4の説明を終わる。 図5は文書管理システムにおいて登録用CSVファイルチェックの処理フローを示す図である。 図5のステップ501〜ステップ507は、文書管理サーバ100のCPU401の制御の元で実行する処理である。 ステップ501では、図6に進み、図6の処理を実行する。 ステップ502では、図6の処理結果でエラーがない場合にはS503に進む。
【0029】
ステップ503では、ステップ501の登録用CSVファイルの見出し行以降の行を1行ずつ読み込む。(ステップ503〜ステップ506までを、登録用CSVファイルの読み込みが終わるまで繰り返す) ステップ504では、登録用CSVファイルの行が存在する場合、ステップ505に進む。 ステップ505では、図7に進み、図7の処理を実行する。 ステップ506では、図8に進み、図8の処理を実行する。 ステップ507では、登録用CSVファイルを閉じる。 以上で図5の説明を終わる。 図6は文書管理システムにおいて見出し初期処理の処理フローを示す図である。 図6のステップ601〜ステップ612は、文書管理サーバ100のCPU401の制御の元で実行する処理である。 ステップ601では、登録用CSVファイルの先頭から2行分を読み飛ばし、3行目を1行分取得してRAMに保持(記憶)する。
【0030】
ステップ602では、ステップ601で保持した1行分の値を、カンマの区切りで列を分割し、「パブリックアクセス」である列まで、カンマ区切りの数を用いて、列数をカウントアップ(計数)し、「パブリックアクセス」が存在したらその列数[P]をRAMに保持(記憶)する。以降CSVファイルを読み込む行は、カンマ区切りを1列としてみなすこととする。パブリックアクセスはアクセス権限であるが、パブリックアクセスとは、グループを限定しないで制御されるものである。パフリックアクセスが設定された場合、グループ毎に設定されたアクセス権限よりも優先される上位の権限である。本実施例ではカンマ区切りの数を用いて、列数のカウントアップ(計数)を行うが、本実施例の各処理フローを実施可能な変形例として、列数を判別可能な記号であればカンマ記号以外の記号を用いて行ってもよい。すなわち、ドット記号やコロン記号等をカンマ記号の代わりに使用したアクセス権登録用や出力用ファイルを作成した場合でも、本発明の処理は実行可能である。
【0031】
ステップ603では、上記ステップ602で「パブリックアクセス」が存在しなかった場合、ステップ604のエラー退避に移り、「パブリックアクセス」が存在した場合は、ステップ605に進む。 ステップ604では、エラー用のメッセージリストに行番号と「パブリックアクセス欄が存在しません」のメッセージを書き込む、図6の処理を終了する。
【0032】
ステップ605では、1からステップ602で保持した列数[P]−2までの一時格納配列[A]を作成し、外部メモリ411に記憶する。(図20の2001を参照) ステップ606では、登録用CSVファイル4行目のグループ名を取得するため、4行目を1行分読み込む。 ステップ607では、[P]までの列を読み飛ばす。
【0033】
ステップ608では、[P] 列の次列以降の値を(グループ名)を順次読み取り、読み取った値(グループ名)に対応する外部メモリ411に記憶されているグループ管理テーブル(図22の2005)を参照し、グループIDを取得し、RAMに記憶する。(空白の場合を除く)
【0034】
ステップ609では、読み取ったグループ名がステップ608のグループ管理テーブルに存在するか否かを判断し、存在した場合はステップ611に進み、存在しなかった場合には、ステップ610に進む。
【0035】
ステップ610では、エラー用の図示しないメッセージリストに行番号、グループ名と「指定されたグループが存在しません」のメッセージを書き込み、ステップ611に進む。
【0036】
ステップ611では、グループ名が空白(値が無い)かにより、全ての列の値(グループ名)を読み取ったかを判断し、まだ値がある場合にはステップ608より繰り返す。 ステップ612では、ステップ611で空白となった列数[E]を、RAMに保持(記憶)する。 以上で図6の説明を終わる。 図7は文書管理システムにおいてフォルダの階層チェックの処理フローを示す図である。 図7のステップ701〜ステップ707は、文書管理サーバ100のCPU401の制御の元で実行する処理である。 ステップ701では、1列目の値(処理フラグ)を読み取り、RAMに保持(記憶)する。
【0037】
ステップ702では、ステップ701の処理フラグが1もしくはNull(空白)か否かを確認(判断)し、1もしくはNullでない場合には異常値である為、ステップ703に進み、それ以外の値を読み取った場合は、ステップ704に進む。
【0038】
ステップ703では、図示しないエラー用のメッセージリストに、処理行番号と「処理フラグが適切な値ではありません」のメッセージを書き込みし、図7の処理を終了する。
【0039】
ステップ704では、2列目から [P]−1列まで順に値を確認し、値(フォルダ名)が存在した場合に、配列[A]のフォルダ階層数[F](存在列数−1番目)に1を格納し、その列より大きい配列[A]の値を全てNullにする。(図20の2002を参照)ここで配列
【0040】
[A]には行の読み取り処理が繰り返される毎に、フォルダ階層数に該当する配列[A]の列に1が随時書き込まれる。さらに図20の2002に示すように、現在読み取っているフォルダ階層数が1行前のフォルダ階層数よりも少ない場合には、配列[A]に書き込まれた1が全て消去され、少ない列数から順次S704の処理をする。
【0041】
ステップ705では、[F]が2以上の場合、配列[A] の[F]−1番目の列にが1があることを確認する。(=親フォルダの記載がある)これにより1行前のフォルダ階層数が現在読み取っているフォルダ階層数より1つ少ないかを判断する。すなわち1行前に読み取ったフォルダの階層数が1つ少ない場合は現在読み取っているフォルダの親フォルダとなるフォルダがCSVファイルに存在している事になる。 ステップ706では、ステップ705の確認で、[F]−1番目が1でない場合は、ステップ707のエラー退避に移る。
【0042】
ステップ707では、ステップ706の判断が1
でない場合は異常値である為、図示しないエラー用のメッセージリストに行番号と「フォルダ階層が正しくありません」のメッセージを書き込む。 以上で図7の説明を終わる。 図8は文書管理システムにおいてアクセス権限レベルの数値チェックの処理フローを示す図である。 図8のステップ801〜ステップ804は、文書管理サーバ100のCPU401の制御の元で実行する処理である。 ステップ801では、パブリックアクセス[P]列より大きい(本発明のCSVファイルでは右方向)列の値(アクセス権限の数値)を順次読み取る。 ステップ802では、アクセス権限を読み取る列数がS611で記憶した[E]列以上になった場合(グループ列が終了した場合)、図8の処理を終了する。
【0043】
ステップ803では、読み取った列のアクセス権限の値が0〜9またはNullのいずれかを確認し、いずれかであればステップ801から処理を繰り返す。また、0〜9またはNull以外であった場合には、ステップ804のエラー退避に移る。
【0044】
ステップ804では、ステップ803の値が、0〜9またはNullのいずれか以外であった場合は異常値であるため、エラー用のメッセージリストに処理行番号と「権限レベルは0〜9の範囲で指定してください」のメッセージを書き込む。 以上で図8の説明を終わる。 図9は文書管理システムにおいてフォルダ階層登録・権限設定処理の処理フローを示す図である。 図9のステップ901〜ステップ906は、文書管理サーバ100のCPU401の制御の元で実行する処理である。 ステップ901では、登録用CSVファイルの見出し行を処理するため、図10に進み、図10の処理を実行する。
【0045】
ステップ902では、登録用CSVファイルの次行(5行目)以降(第2の行データ)を順次読み込み、行ごとにデータをRAMに記憶する。(ステップ902〜ステップ905までを、CSVファイルの読み込みが終わるまで繰り返す)
【0046】
ステップ903では、登録用CSVファイルで行データが読み込めるか判断し、読み込めない(行データが無い)場合はS906に進む。行データが読み込める場合は、S904に進む。 ステップ904では、登録用CSVのフォルダ階層情報を元に、図11に進み、図11の処理を実行する。 ステップ905では、CSVのグループ権限情報を元に、図12に進み、図12の処理を実行する。 ステップ906では、登録用CSVファイルを閉じる。図9の処理を終了し、S406に進む。 以上で図9の説明を終わる。 図10は文書管理システムにおいて見出し初期処理の処理フローを示す図である。 図10のステップ1001〜ステップ1005は、文書管理サーバ100のCPU401の制御の元で実行する処理である。 ステップ1001では、登録用CSVファイルの先頭から2行分を読み飛ばし、3行目を全てRAMに記憶する。
【0047】
ステップ1002では、1001で保持した1行分の値を、「パブリックアクセス」と書かれた列数が1列目から数えて何番目かを、カンマ区切りの数を用いてカウントし、そのカウントした列数[P]をRAMに記憶する。
【0048】
ステップ1003では、[フォルダ名][フォルダID][権限有無情報]の3項目を持つ、1列目から[P]−2列目まで登録可能な一時格納配列 [F]の表(各データは後で読み取り登録される)作成し、外部メモリ411に記憶する。(図21の2003を参照)
【0049】
ステップ1004では、登録用CSVファイル4行目(第1の行データ)のグループ名を取得するため、登録用CSVファイルの4行目を全てRAMに記憶する。
【0050】
ステップ1005では、 [P]+1列番目以降の列にあるグループ名を全て読み取り、RAMに記憶する。読み取ったグループ名の数をカウントし、カウントした列数[E]をRAMに記憶する。更に「グループ名」「グループID」の2項目をもつ配列[G]を作成し、外部メモリ411に記憶する。列毎に読み取ったグループ名と、グループ管理テーブルからグループ名に対応づけられたグループIDを順次取得し、図21の2004に示すように、作成した配列[G]に読み取った全てのグループ名とグループIDを対応させて登録する。 以上で図10の説明を終わる。 図11は文書管理システムにおいて親フォルダの下にフォルダ登録の処理フローを示す図である。 図11のステップ1101〜ステップ1108は、文書管理サーバ100のCPU401の制御の元で実行する処理である。 ステップ1101では、2列目から順にフォルダ名を読み取り、フォルダ名が存在した列数の−1(階層数)を[H]としてRAMに記憶する。 ステップ1102で、[H]が1より大きい場合、ステップ1103に進み、[H]がそれ以外の場合、ステップ1104に進む。
【0051】
ステップ1103では、フォルダ名と配列[F]の[H]−1に記憶されている親フォルダIDを元に、図示しないDBより親フォルダのフォルダIDと権限有無情報を取得する。
【0052】
ステップ1104では、フォルダ名と最上位階層の条件を元に、図示しない外部メモリに登録済みのDB(データベース)上からフォルダIDと権限有無情報を取得する。ここでは最上位階層のルートフォルダが存在しているかを確認する。
【0053】
ステップ1105では、フォルダIDが取得できたかを判断し、取得できている(=フォルダが既に図示しないDB上に存在する)場合にはステップ1106に進み、取得できなかった(=同じ名前のフォルダが、親フォルダの下に存在しない)場合には、ステップ1107に進む。
【0054】
ステップ1106では、取得したフォルダIDを数値[I]としてRAMに記憶する。記憶したフォルダIDは図22の2006のフォルダ権限テーブルに登録される。
【0055】
ステップ1107では、[H]が1より大きい場合、ステップ1108に進み、[H]がそれ以外の場合、基準となるルートフォルダ名が図示しないDB上に存在しないと判断し、ステップ1109に進みエラーとする。
【0056】
ステップ1108では、S701で読み取った処理フラグ=1でかつ配列[F]の[H]−1(親フォルダ)の権限有無情報が1か2の(登録権限有り)場合、ステップ1110に進み、それ以外の場合には、ステップ1111に進む。 ステップ1109では、エラー用の図示しないメッセージリストに処理行番号と「ルートフォルダが存在しません」のメッセージを書き込む。
【0057】
ステップ1110では、親フォルダの下にフォルダ名でフォルダを新規登録(作成)し、登録したフォルダIDを数値[I]に記憶し、そのフォルダの権限有無情報を図示しないDB上から取得する。
【0058】
ステップ1111では、ステップ1108の判断で、処理フラグが1で親フォルダに登録権限が許されていない場合、エラー用のメッセージリストに処理行番号と「親フォルダにフォルダ登録権限がありません」のメッセージを書き込む。
【0059】
ステップ1112では、配列[F]の[H]番目のフォルダ名項目、フォルダID項目、権限有無項目を登録する。権限有無については、アクセス権限変更権限を有する場合には2を、フォルダ登録(作成)権限を有する場合には1を、それ以外の場合には0を記憶する。フォルダ登録(作成)の際に必要な情報は、「登録するフォルダの親フォルダにフォルダ登録権限があるか」と、「フォルダに権限を変更する権限があるか」の2つのみ必要なため、0、1、2の3つが設定可能である。更に[H]番目以降の値をすべてNullクリアする。ここで配列[F]は図21 2003のように[フォルダ名][フォルダID][権限有無情報]の3項目のデータが登録される。 以上で図11の説明を終わる。 図12は文書管理システムにおいてグループ割り当て・権限レベル設定の処理フローを示す図である。 図12のステップ1201〜ステップ1210は、文書管理サーバ100のCPU401の制御の元で実行する処理である。
【0060】
ステップ1201では、ステップ701で保持した処理フラグを判断し、処理フラグが1で、かつ図11で処理した配列[F]の[H]番目に記憶した権限有無情報が2(権限変更の権限が許されている)の場合、ステップ1202に進む。また、この条件に該当しない場合には、ステップ1203進む。
【0061】
ステップ1202では、[P]列にあるパブリックアクセス権限の権限レベルを読み取り、RAMに記憶する。配列[F]の[H]番目に記憶されたフォルダIDを元に、DB上のフォルダのパブリックアクセス権限を設定する。
【0062】
ステップ1203では、ステップ1201の判断で、処理フラグが1の場合、ステップ1205に進み、それ以外の場合は権限更新が必要ない行と判断し、図12の処理を終了する。 ステップ1204では、配列[F]の[H]番目のフォルダIDを元に、DB上のそのフォルダに設定されているグループ権限情報を削除する。 ステップ1205では、エラー用の図示しないメッセージリストに行番号と「権限変更の権限が与えられていません」のメッセージを書き込む。
【0063】
ステップ1206では、[P]+1列以降のアクセス権限レベル値と、配列[G]のグループIDを順に1列ずつ双方読み込みながらフォルダIDに関係するグループIDをRAMに記憶する。記憶したフォルダIDに対するグループIDは図22の2006のフォルダ権限テーブルに登録される。更にグループIDに対するアクセス権限レベル値をRAMに記憶する。記憶したグループIDに対するアクセス権限レベルは図22の2006のフォルダ権限テーブルに登録される。その際、カンマ区切りで読み込みカウント[J]を記憶する。この処理をステップ1204からステップ1210まで、配列[G]の処理する列が無くなるまで(配列の終わりまで)繰り返す。
【0064】
ステップ1207では、[G]の列数を超えたかを判断する。[G]の列数を超えていない場合、ステップ1208に進む。また、列数を超えた場合は図12を終了する。
【0065】
ステップ1208では、S1206で読み取ったアクセス権限レベル値が0〜9であるかを判断する。0〜9である場合はS1209に進む。0〜9でない場合はS1206に進み次の列の処理をする。
【0066】
ステップ1209では、図22の2006のフォルダ権限テーブルを参照し、フォルダID毎に設定されたグループIDのアクセス権限を設定し、ステップ1206に戻る。 以上で図12の説明を終わる。(CSVファイル出力処理)
【0067】
図13は文書管理システムにおいてフォルダ階層・グループ権限エクスポート処理の処理フローを示す図である。図13は図18に示すようなCSV(Comma Separated Values)ファイル形式で出力用CSVファイルを作成する。 図13のステップ1301〜ステップ1309は、文書管理サーバ100のCPU401の制御の元で実行する処理である。
【0068】
ステップ1301では、クライアント端末から文書管理サーバにユーザログイン認証をした後、クライアント端末に表示された図3の3002のような出力実行画面より、エクスポート処理開始を受け付ける。出力実行画面では図22の2007に示すようにフォルダを選択する。 ステップ1302では、選択されたフォルダに対して権限変更の権限を有するかを確認し、権限が許されていない場合は、ステップ1309に移る。 ステップ1303では、選択したフォルダ情報を元に、図14に進み、図14の処理を実行する。 ステップ1304では、図15に進み、図15の処理を実行する。 ステップ1305では、図16に進み、図16の処理を実行する。
【0069】
ステップ1306では、ステップ1303、ステップ1304、ステップ1305の結果でエラーが記憶されているかを判断し、記憶されている場合はS1307に進む。 ステップ1307では、ステップ1306でエラーとなった内容を、文書管理サーバ上のエラーログファイルに書き込む。 ステップ1308では、処理したフォルダの件数、エラーとなったフォルダの件数、実施日付を、処理結果
画面に表示指示する。 ステップ1309では、ステップ1302でエラーとなった内容「フォルダに実行権限がありません」を、エラー画面に表示指示する。 以上で図13の説明を終わる。 図14は文書管理システムにおいて選択フォルダ階層数確認の処理フローを示す図である。 図14のステップ1401〜ステップ1404は、文書管理サーバ100のCPU401の制御の元で実行する処理である。 ステップ1401では、図示しないDBより対象のフォルダの上位のフォルダ階層を、最上位まで取得する。(図22の2007を参照) またその際に、最上位までの階層数[T]をRAMに記憶する。
【0070】
ステップ1402では、DBより対象のフォルダ配下の全ての階層を確認し、その最大階層数と、ステップ1401で保持した階層数を [T]に加算し階層総数を決定する。
【0071】
ステップ1403では、文書管理サーバ上にデータが空である出力用CSVファイルに名前を付けて新規に作成し、外部メモリ411に記憶する。以降のステップにて該出力用CSVファイルのデータ領域に順次書き込み処理を行う。
【0072】
ステップ1404では、外部メモリ411に予め登録されている1、2行目の見出し内容を読み出し、出力用CSVファイルに1、2行目の見出し内容を書き込む。(図18、図19を参照) 以上で図14の説明を終わる。 図15は文書管理システムにおいてグループ名出力の処理フローを示す図である。 図15のステップ1501〜ステップ1506は、文書管理サーバ100のCPU401の制御の元で実行する処理である。
【0073】
ステップ1501では、CSV出力用のRAM上の空の文字列領域[L]に、カンマ区切りで順番に、1列目に“処理フラグ”、2列目に“フォルダ階層”、総階層数[T]+1列目に“パブリックアクセス”、総階層数[T]+2列目に“グループ権限マトリックス”を記憶する。(図18、図19を参照) ステップ1502では、ステップ1501で記憶された文字列[L]を、出力用CSVファイルの3行目として書き込む。出力後[L]は空にする。
【0074】
ステップ1503では、CSV出力用のRAM上の空の文字列領域[L]に、カンマ区切りで2列目からフォルダ総階層数[T]+1列目まで順番に、“第n階層”を記憶する。(nは1から順に階層数[T]までの連番) ステップ1504では、DBより、登録されているグループ名とグループIDをグループ名の昇順に全件取得し、配列[K]にそれぞれ保持(記憶)する。 ステップ1505では、ステップ1503で記憶した列に続けて、カンマ区切りで1列空白、それ以降の列に、取得したグループ名を順に記憶する。
【0075】
ステップ1506では、ステップ1503〜ステップ1505で記憶した文字列を、出力用CSVファイルの4行目(第3の行データ)として書き込む。出力後[L]は空にする。 以上で図15の説明を終わる。 図16は文書管理システムにおいてフォルダ階層・権限レベル出力の処理フローを示す図である。 図16のステップ1601〜ステップ1609は、文書管理サーバ100のCPU401の制御の元で実行する処理である。 ステップ1601では、S1301で選択したフォルダの階層よりも上位の階層を出力用CSVファイルに出力するため、図17に進み、図17の処理を行う。
【0076】
ステップ1602では、図示しないDBよりS1301で選択したフォルダから下位階層の全てのフォルダ名を取得しRAMに記憶する。S1602〜S1608を繰り返す事で、上位フォルダから1件ずつ処理をする。すなわち上位フォルダのデータから出力用CSVファイルに順に行データの書き込みを繰り返す。 ステップ1603では、ステップ1602で取得するフォルダが存在しなかった場合、ステップ1609に進む。 ステップ1604では、カンマ区切りの文字列の、1列目にNull(処理フラグなし)をセットする。 ステップ1605では、ステップ1602で取得したフォルダ名を、カンマ区切りで最上位階層から数えた階層数分の列をフォルダの階層数として記憶する。
【0077】
ステップ1606では、フォルダに設定されている、グループ権限(グループIDと権限レベル)及びパブリックアクセス権限レベルを図示しないDBより全て取得する。(図22の2006を参照)
【0078】
ステップ1607では、取得したグループIDを図23の2008に示す配列[K]のフォルダID項目から列を探し、その同列のアクセス権限項目値に取得したアクセス権限を記憶する。
【0079】
ステップ1608では、出力用CSVファイルのステップ1707で記憶したフォルダの階層が反映された列数に、フォルダ名を書き込む。出力後[L]及び配列[K]の全アクセス権限項目値は空にする。
【0080】
ステップ1608では、S1605で記憶したフォルダの階層数に該当する出力用CSVファイルの列数にフォルダ名を書き込む。更にS1607で記憶したグループ名に該当する出力用CSVファイルの列数にアクセス権限(0〜9)を書き込む。出力後配列[K]の全アクセス権限項目値は空にする。S1606で記憶したパブリックアクセスをP列に書き込む。 ステップ1609では、エクスポートしたCSVファイルを閉じる。 以上で図16の説明を終わる。 図17は文書管理システムにおいて最上位階層から選択フォルダまでの階層出力処理の処理フローを示す図である。 図17のステップ1701〜ステップ1707は、文書管理サーバ100のCPU401の制御の元で実行する処理である。
【0081】
ステップ1701では、図示しないDBよりS1301で選択したフォルダより上位階層の全てのフォルダ名を取得しRAMに記憶する。S1701〜S1707を繰り返す事で、最上位フォルダから1件ずつ処理をする。すなわち最上位フォルダのデータから出力用CSVファイルに順に行データの書き込みを繰り返す。 ステップ1702では、ステップ1701で処理フォルダが無くなった場合、図17の処理を終了する。
【0082】
ステップ1703では、出力用CSVファイルの5行目以降(第4の行データ)に、カンマ区切りの文字列の、1列目にNull(処理フラグなし)をセットする。 ステップ1704では、ステップ1701で取得したフォルダ名を、カンマ区切りで最上位階層から数えた階層数分の列をフォルダの階層数として記憶する。
【0083】
ステップ1705では、図22の2006に示すフォルダ権限テーブルからフォルダ毎に設定されたグループ権限(グループIDと権限レベル)を取得する。更にパブリックアクセス権限レベルを図示しないDBより全て取得する。
【0084】
ステップ1706では、取得したグループIDを図23の2008に示す配列[K]のフォルダID項目から列を探し、その同列のアクセス権限項目値に取得したアクセス権限を記憶する。
【0085】
ステップ1707では、S1704で記憶したフォルダの階層数に該当する出力用CSVファイルの列数にフォルダ名を書き込む。更にS1706で記憶したグループ名に該当する出力用CSVファイルの列数にアクセス権限(0〜9)を書き込む。出力後配列[K]の全アクセス権限項目値は空にする。S1705で記憶したパブリックアクセスをP列に書き込む。 以上で図17の説明を終わる。 ここで本発明の文書管理システムで使用されるデータについて説明する。 図18は文書管理システムで使用されるCSVファイルフォーマットを示す図である。
【0086】
図19は文書管理システムで使用される登録用CSVファイルを論理座標(行列)で表した図である。本実施例の登録用CSVファイルは第1の行データが第2の行データの上に書かれているが、変形例として第2の行データが第1の行データの上に書かれた登録用CSVファイルを用いて実施した場合であっても実行可能である。すなわち第1の行データと第2の行データに関して、各々を読み取る順番が入れ替わっても本発明の効果は同じである。 以下文書管理システムで管理されるデータベースを示す図である。
【0087】
図20 2001は、配列[A]は、登録用CSVファイルからデータを読み取り外部メモリ411に随時登録される表であり、CSVのフォルダ階層チェック(上位フォルダが指定されているか)において使用する。 図20 2002は、配列[A]の使用例である
【0088】
図21 2003は、配列[F] は、登録用CSVファイルからデータを読み取り外部メモリ411に随時登録される表であり、フォルダ名とフォルダID、フォルダへの権限有無情報の制御で使用する。
【0089】
図21 2004は、配列[G] は、登録用CSVファイルからデータを読み取り外部メモリ411に随時登録される表であり、グループ名とグループIDの制御で使用する。 図22 2005は、「グループ管理テーブル」のテーブルレイアウトである。外部メモリ411に記憶されている。 図22 2006は、「フォルダ権限テーブル」のテーブルレイアウトである。外部メモリ411に記憶されている。 図22 2007は、DB上のフォルダ階層である 図23 2008は、配列[K] であり、グループ名とグループID、アクセス権限の制御で使用する。
【0090】
また、本発明におけるプログラムは、図4〜図17に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図4〜図17の処理方法をコンピュータが実行可能なプログラムが記憶されている。
【0091】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0092】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【0093】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
【0094】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0095】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0096】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0097】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0098】
100 文書管理サーバ
200 クライアント端末(情報処理端末)
401 CPU
403 RAM
411 外部メモリ
【特許請求の範囲】
【請求項1】
文書管理サーバと情報処理端末とが通信可能に接続された文書管理システムであって、
前記情報処理端末は、
前記文書管理サーバに、グループ名が記載された第1の行データと、フォルダ名とアクセス権情報が記載された第2の行データを含むファイルを送信する送信手段を備え、
前記文書管理サーバは、
前記送信手段が送信した前記ファイルを受け付ける受付手段と、
前記受け付けた前記ファイルの前記第1の行データのグループ名をグループ情報として読み取る第1の読取手段と、
前記受け付けた前記ファイルの前記第2の行データの前記アクセス権情報と、前記第2の行データのフォルダ名をフォルダ情報として読み取る第2の読取手段と、
前記第1の読取手段が読み取ったグループ情報を前記第2の読取手段が読み取った前記アクセス権情報と対応付けて記憶する第1の記憶手段と、
前記第1の記憶手段が記憶した前記アクセス権情報を前記第2の読取手段が読み取った前記グループ情報と対応付けて記憶する第2の記憶手段と、
前記第2の記憶手段が記憶した前記アクセス権情報に対応付けた前記グループ情報と前記フォルダ情報に基づいて、前記フォルダ名のフォルダのアクセス権を前記グループ名のグループに設定する設定手段と、
を備えることを特徴とする文書管理システム。
【請求項2】
前記ファイルの第1行データと第2の行データは、データが記載された列数を判別可能な記号を含み、
前記文書管理サーバは、
前記第1の読取手段が読み取った前記第1の行データの前記グループ名が記載された列数を、前記判別可能な記号を用いて計数する第1の計数手段と、
前記第2の読取手段が読み取った前記第2の行データの前記アクセス権情報が記載された列数を、前記判別可能な記号を用いて計数する第2の計数手段と、
を更に含み、
前記第2の記憶手段は、前記第1の計数手段が計数した前記グループ名が記載された列数と前記第2の計数手段が計数した前記アクセス権情報が記載された列数に基づいて、前記第1の記憶手段が記憶したフォルダ情報に対して、複数のグループ情報のアクセス権情報を個別に対応付けて記憶することを特徴とする請求項1に記載の文書管理システム。
【請求項3】
前記文書管理サーバは、
前記第1の読取手段が読み取った前記第1の行データの前記フォルダ名が記載された列数を、前記判別可能な記号を用いて計数する第3の計数手段と、
前記第3の計数手段が計数した前記フォルダ名が記載された列数に基づいて、フォルダ階層順にフォルダ情報を記憶する第3の記憶手段と、
を更に備えることを特徴とする請求項1又は2に記載の文書管理システム。
【請求項4】
前記文書管理サーバは、
グループ名をデータが記載される列数が判別可能な記号と共に表記する第3の行データと、フォルダ名とアクセス権情報をデータが記載される列数が判別可能な記号と共に表記する第4の行データを含むファイルを作成する作成手段と、
第3の行データに前記グループ名と前記判別可能な記号を書き込む第1の書込手段と、
第4の行データに前記フォルダ名と前記アクセス権と前記判別可能な記号を書き込む第2の書込手段と、
を更に備え、
前記第1の書き込み手段は、前記第1の記憶手段が記憶したグループ情報に基づいて、前記グループ名を第3の行データに書き込み、
前記第2の書き込み手段は、前記第3の記憶手段がフォルダ階層順に記憶したフォルダ情報に基づいて、前記フォルダ名を第4の行データのフォルダ階層数が判別可能な列に書き込み、前記第2の記憶手段が記憶した前記アクセス権情報に基づいて、前記アクセス権情報を第4の行データに前記第1の書込手段が書き込んだ前記グループ名との対応付けが判別可能な列に書き込むことを特徴とする請求項1乃至3のいずれか1項に記載の文書管理システム。
【請求項5】
前記判別可能な記号はカンマ記号であることを特徴とする請求項1乃至4のいずれか1項に記載の文書管理システム。
【請求項6】
文書管理サーバと情報処理端末とが通信可能に接続された文書管理システムの制御方法であって、
前記情報処理端末の送信手段が、前記文書管理サーバに、グループ名が記載された第1の行データと、フォルダ名とアクセス権情報が記載された第2の行データを含むファイルを送信する送信工程を含み、
前記文書管理サーバの受付手段が、前記送信工程が送信した前記ファイルを受け付ける受付工程と、
前記文書管理サーバの第1の読取手段が、前記受け付けた前記ファイルの前記第1の行データのグループ名をグループ情報として読み取る第1の読取工程と、
前記文書管理サーバの第2の読取手段が、前記受け付けた前記ファイルの前記第2の行データの前記アクセス権情報と、前記第2の行データのフォルダ名をフォルダ情報として読み取る第2の読取工程と、
前記文書管理サーバの第1の記憶手段が、前記第1の読取工程で読み取ったグループ情報を前記第2の読取工程で読み取った前記アクセス権情報と対応付けて記憶する第1の記憶工程と、
前記文書管理サーバの第2の記憶手段が、前記第1の記憶工程で記憶した前記アクセス権情報を前記第2の読取工程で読み取った前記グループ情報と対応付けて記憶する第2の記憶工程と、
前記文書管理サーバの設定手段が、前記第2の記憶工程で記憶した前記アクセス権情報に対応付けた前記グループ情報と前記フォルダ情報に基づいて、前記フォルダ名のフォルダのアクセス権を前記グループ名のグループに設定する設定工程と、
を含むことを特徴とする制御方法。
【請求項7】
文書管理サーバと情報処理端末とが通信可能に接続された文書管理システムで読み取り実行可能なプログラムあって、
前記情報処理端末を、
前記文書管理サーバに、グループ名が記載された第1の行データと、フォルダ名とアクセス権情報が記載された第2の行データを含むファイルを送信する送信手段として機能させ、
前記文書管理サーバを、
前記送信手段が送信した前記ファイルを受け付ける受付手段と、
前記受け付けた前記ファイルの前記第1の行データのグループ名をグループ情報として読み取る第1の読取手段と、
前記受け付けた前記ファイルの前記第2の行データの前記アクセス権情報と、前記第2の行データのフォルダ名をフォルダ情報として読み取る第2の読取手段と、
前記第1の読取手段が読み取ったグループ情報を前記第2の読取手段が読み取った前記アクセス権情報と対応付けて記憶する第1の記憶手段と、
前記第1の記憶手段が記憶した前記アクセス権情報を前記第2の読取手段が読み取った前記グループ情報と対応付けて記憶する第2の記憶手段と、
前記第2の記憶手段が記憶した前記アクセス権情報に対応付けた前記グループ情報と前記フォルダ情報に基づいて、前記フォルダ名のフォルダのアクセス権を前記グループ名のグループに設定する設定手段と、
して機能させることを特徴とするプログラム。
【請求項1】
文書管理サーバと情報処理端末とが通信可能に接続された文書管理システムであって、
前記情報処理端末は、
前記文書管理サーバに、グループ名が記載された第1の行データと、フォルダ名とアクセス権情報が記載された第2の行データを含むファイルを送信する送信手段を備え、
前記文書管理サーバは、
前記送信手段が送信した前記ファイルを受け付ける受付手段と、
前記受け付けた前記ファイルの前記第1の行データのグループ名をグループ情報として読み取る第1の読取手段と、
前記受け付けた前記ファイルの前記第2の行データの前記アクセス権情報と、前記第2の行データのフォルダ名をフォルダ情報として読み取る第2の読取手段と、
前記第1の読取手段が読み取ったグループ情報を前記第2の読取手段が読み取った前記アクセス権情報と対応付けて記憶する第1の記憶手段と、
前記第1の記憶手段が記憶した前記アクセス権情報を前記第2の読取手段が読み取った前記グループ情報と対応付けて記憶する第2の記憶手段と、
前記第2の記憶手段が記憶した前記アクセス権情報に対応付けた前記グループ情報と前記フォルダ情報に基づいて、前記フォルダ名のフォルダのアクセス権を前記グループ名のグループに設定する設定手段と、
を備えることを特徴とする文書管理システム。
【請求項2】
前記ファイルの第1行データと第2の行データは、データが記載された列数を判別可能な記号を含み、
前記文書管理サーバは、
前記第1の読取手段が読み取った前記第1の行データの前記グループ名が記載された列数を、前記判別可能な記号を用いて計数する第1の計数手段と、
前記第2の読取手段が読み取った前記第2の行データの前記アクセス権情報が記載された列数を、前記判別可能な記号を用いて計数する第2の計数手段と、
を更に含み、
前記第2の記憶手段は、前記第1の計数手段が計数した前記グループ名が記載された列数と前記第2の計数手段が計数した前記アクセス権情報が記載された列数に基づいて、前記第1の記憶手段が記憶したフォルダ情報に対して、複数のグループ情報のアクセス権情報を個別に対応付けて記憶することを特徴とする請求項1に記載の文書管理システム。
【請求項3】
前記文書管理サーバは、
前記第1の読取手段が読み取った前記第1の行データの前記フォルダ名が記載された列数を、前記判別可能な記号を用いて計数する第3の計数手段と、
前記第3の計数手段が計数した前記フォルダ名が記載された列数に基づいて、フォルダ階層順にフォルダ情報を記憶する第3の記憶手段と、
を更に備えることを特徴とする請求項1又は2に記載の文書管理システム。
【請求項4】
前記文書管理サーバは、
グループ名をデータが記載される列数が判別可能な記号と共に表記する第3の行データと、フォルダ名とアクセス権情報をデータが記載される列数が判別可能な記号と共に表記する第4の行データを含むファイルを作成する作成手段と、
第3の行データに前記グループ名と前記判別可能な記号を書き込む第1の書込手段と、
第4の行データに前記フォルダ名と前記アクセス権と前記判別可能な記号を書き込む第2の書込手段と、
を更に備え、
前記第1の書き込み手段は、前記第1の記憶手段が記憶したグループ情報に基づいて、前記グループ名を第3の行データに書き込み、
前記第2の書き込み手段は、前記第3の記憶手段がフォルダ階層順に記憶したフォルダ情報に基づいて、前記フォルダ名を第4の行データのフォルダ階層数が判別可能な列に書き込み、前記第2の記憶手段が記憶した前記アクセス権情報に基づいて、前記アクセス権情報を第4の行データに前記第1の書込手段が書き込んだ前記グループ名との対応付けが判別可能な列に書き込むことを特徴とする請求項1乃至3のいずれか1項に記載の文書管理システム。
【請求項5】
前記判別可能な記号はカンマ記号であることを特徴とする請求項1乃至4のいずれか1項に記載の文書管理システム。
【請求項6】
文書管理サーバと情報処理端末とが通信可能に接続された文書管理システムの制御方法であって、
前記情報処理端末の送信手段が、前記文書管理サーバに、グループ名が記載された第1の行データと、フォルダ名とアクセス権情報が記載された第2の行データを含むファイルを送信する送信工程を含み、
前記文書管理サーバの受付手段が、前記送信工程が送信した前記ファイルを受け付ける受付工程と、
前記文書管理サーバの第1の読取手段が、前記受け付けた前記ファイルの前記第1の行データのグループ名をグループ情報として読み取る第1の読取工程と、
前記文書管理サーバの第2の読取手段が、前記受け付けた前記ファイルの前記第2の行データの前記アクセス権情報と、前記第2の行データのフォルダ名をフォルダ情報として読み取る第2の読取工程と、
前記文書管理サーバの第1の記憶手段が、前記第1の読取工程で読み取ったグループ情報を前記第2の読取工程で読み取った前記アクセス権情報と対応付けて記憶する第1の記憶工程と、
前記文書管理サーバの第2の記憶手段が、前記第1の記憶工程で記憶した前記アクセス権情報を前記第2の読取工程で読み取った前記グループ情報と対応付けて記憶する第2の記憶工程と、
前記文書管理サーバの設定手段が、前記第2の記憶工程で記憶した前記アクセス権情報に対応付けた前記グループ情報と前記フォルダ情報に基づいて、前記フォルダ名のフォルダのアクセス権を前記グループ名のグループに設定する設定工程と、
を含むことを特徴とする制御方法。
【請求項7】
文書管理サーバと情報処理端末とが通信可能に接続された文書管理システムで読み取り実行可能なプログラムあって、
前記情報処理端末を、
前記文書管理サーバに、グループ名が記載された第1の行データと、フォルダ名とアクセス権情報が記載された第2の行データを含むファイルを送信する送信手段として機能させ、
前記文書管理サーバを、
前記送信手段が送信した前記ファイルを受け付ける受付手段と、
前記受け付けた前記ファイルの前記第1の行データのグループ名をグループ情報として読み取る第1の読取手段と、
前記受け付けた前記ファイルの前記第2の行データの前記アクセス権情報と、前記第2の行データのフォルダ名をフォルダ情報として読み取る第2の読取手段と、
前記第1の読取手段が読み取ったグループ情報を前記第2の読取手段が読み取った前記アクセス権情報と対応付けて記憶する第1の記憶手段と、
前記第1の記憶手段が記憶した前記アクセス権情報を前記第2の読取手段が読み取った前記グループ情報と対応付けて記憶する第2の記憶手段と、
前記第2の記憶手段が記憶した前記アクセス権情報に対応付けた前記グループ情報と前記フォルダ情報に基づいて、前記フォルダ名のフォルダのアクセス権を前記グループ名のグループに設定する設定手段と、
して機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【公開番号】特開2012−14232(P2012−14232A)
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願番号】特願2010−147273(P2010−147273)
【出願日】平成22年6月29日(2010.6.29)
【出願人】(301015956)キヤノンソフトウェア株式会社 (364)
【Fターム(参考)】
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願日】平成22年6月29日(2010.6.29)
【出願人】(301015956)キヤノンソフトウェア株式会社 (364)
【Fターム(参考)】
[ Back to top ]