<システムの構成>
図1は本発明の情報管理方法を実施可能な情報管理システムAのブロック図である。情報管理システムAは、情報管理装置であるサーバ100と、複数のクライアントコンピュータ200(同図では1つのみ例示)と、を備え、サーバ100とクライアントコンピュータ200は通信回線(ここではLAN)を介して通信可能に接続されている。
本実施形態ではクライアントコンピュータ200のユーザから提供される記事(電子記事)と、記事に関連付けられるファイル(電子ファイル)とに関する情報をサーバ100により管理し、記事及びファイルを各ユーザに提供しようとするものであり、特に、本実施形態では記事及びファイルを企業内の技術資料として活用しようとするものである。記事に関連付けられるファイルは、例えば、各種のアプリケーションソフトや電子機器で生成した文書、画像、図形等のファイルが挙げられる。
なお、本実施形態ではこのようなサーバ−クライアント型のネットワークシステムに本発明を適用した場合を例示するが、本発明はユーザの個人的な情報管理ツールとして活用することができ、本発明はユーザ個人の端末(パーソナルコンピュータ)に適用できることは言うまでもない。この場合、ネットワークシステム上で要求される通信処理を除き、サーバ100が実行する処理をユーザ個人の端末に実行させる構成を採用できる。
サーバ100は、後述する情報管理プログラムを実行するCPU101と、CPU101が処理するデータやプログラムを一時的に記憶するRAM102と、CPU101が実行するデータやプログラムを記憶するROM103と、OS(オペレーションシステム)や後述する情報管理プログラム等のプログラムが格納されるハードディスク104と、を備える。なお、これらの記憶手段は他の種類の記憶手段を採用可能であることは言うまでもない。
ハードディスク104にはユーザ情報記憶部104a、レコード記憶部104b、及び、ファイル記憶部104cの各記憶部を構成する記憶領域が設定されている。ユーザ情報記憶部104aには後述する情報管理プログラムの実行により提供されるサービスを受けることができるユーザの情報が格納されている。レコード記憶部104bには記事及びファイルに関する情報が記録されたレコード群が格納されている。ファイル記憶部104cにはファイルの実体となるデータ群が格納されている。本実施形態ではこれらの記憶部を1つのハードディスク104上に構成しているが複数のハードディスクやその他の記憶装置に分けて構成するようにしてもよい。
入力インターフェース(以下、I/F)105は、マウス、キーボードといった入力デバイスが接続されるインターフェースである。通信インターフェース(以下、I/F)108はサーバ100がクライアントコンピュータ200との間でLANを介してデータの送受信を行なうためのインターフェースである。ディスプレイI/F106はディスプレイ107へ情報を表示するためのインタフェースである。サーバ100の入力デバイス、ディスプレイ107は例えばサーバ100のメンテナンス時に用いられ、後述する情報管理プログラムを実行する上では特段必要とされない。このようなサーバ100のハードウエア構成は、汎用的なサーバコンピュータと特に異なるところはない。
クライアントコンピュータ200は、各種の処理を実行するCPU201と、CPU201が処理するデータやプログラムを一時的に記憶するRAM202と、CPU201が実行するデータやプログラムを記憶するROM203と、OS(オペレーションシステム)やサーバ100の処理に応じた処理を実行するためのプログラム等が格納されるハードディスク204と、を備える。なお、これらの記憶手段は他の種類の記憶手段を採用可能であることは言うまでもない。
入力I/F205は、マウス、キーボードといった、クライアントコンピュータ200に対するユーザのデータ入力、処理の指示等を受け付けるための入力デバイスが接続されるインターフェースである。通信I/F208はクライアントコンピュータ200がサーバ100との間でLANを介してデータの送受信を行なうためのインターフェースである。ディスプレイI/F206はディスプレイ207へ情報を表示するためのインタフェースである。ディスプレイ207には記事のリストや内容、ファイルのリストや内容が表示されることになる。このようなクライアントコンピュータ200のハードウエア構成は、汎用的なパーソナルコンピュータと特に異なるところはない。
<レコードの構成>
図2(a)及び(b)はレコード記憶部104bに格納されるレコードの説明図である。1つのレコードは複数種類のフィールドから構成される。図2(a)に示すように、1つのレコードは概念的にファイルフィールド群と記事フィールド群とに分かれる。ファイルフィールド群と記事フィールド群との区分けは概念的なものであって、両者を区分けする情報自体はレコードには記録されておらず、各レコードは主従関係(階層構造)のない、同格のレコードである。記事フィールド群は記事に関する情報が記録されるフィールド群であり、ファイルフィールド群は記事に関連するファイルに関する情報が記録されるフィールド群である。
本実施形態の場合、ファイルフィールド群には以下のフィールドが含まれる。「レコードNo.」は各レコードの識別子が記録されるフィールドであり、本実施形態の場合はファイルの識別子(ファイル番号)を兼用する。レコードを区別することができればNo.(番号)以外の他の形態の識別子でもよい。「オリジナルファイル名」はクライアントコンピュータ200に格納されていた時のファイル名が記録されるフィールドである。「ファイル説明文」はファイルの説明文が記録されるフィールドである。ファイルの説明文はユーザが作成する。
「登録者」はファイルの登録者を特定する情報(ここでは名前)が記録されるフィールドである。「登録日」はファイルの登録日が記録されるフィールドである。「最新版」とはそのファイルが最新版か否かを示す最新版情報が記録されるフィールドであり、ユーザが指定する。「表示順序」は、ある記事に複数のファイルが関連付けられている場合であって、その複数のファイルに関する情報をリスト表示する際、その表示順序を規定する表示順序情報が記録されるフィールドである。本実施形態では表示順序をフィールドの記録事項として管理することができる。
記事フィールド群には以下のフィールドが含まれる。「記事No.」は共通の記事に対して共通に付される識別子が記録されるフィールドである。「記事No.」は記事を区別するための識別子がであり、記事を区別することができればNo.(番号)以外の他の形態の識別子でもよい。「タイトル」はその記事に付されるタイトルが記録されるフィールドである。「記事の内容」はその記事の内容(本文)が記録されるフィールドである。「タイトル」及び「記事の内容」はユーザが作成する。
「登録者」は記事の登録者を特定する情報(ここでは名前)が記録されるフィールドである。「登録日」は記事の登録日が記録されるフィールドである。「固定キーワード」は予め定められた検索用のキーワードが記録されるフィールドであり、記事の登録時に当該キーワードの中からユーザが選択したキーワードが記録される。
「変更権限ランク」は登録済みの記事及びファイルの変更権限に関する情報が記録されるフィールドである。後述するように、本実施形態では登録済みの記事に対してファイルの追加や内容の変更をすることができる。「変更権限ランク」は登録済みの記事に対するファイルの追加や内容の変更を許容する主体を規定するものであり、ユーザ(記事の登録者)が設定する。「変更権限ランク」の例としては例えば以下の通り定めることができる。
・Aランク:記事の登録者以外変更できない。
・Bランク:既登録の記事、ファイルの一部の情報(例えば、タイトル、記事の内容、ファイル説明文)の変更及びファイルの追加を誰でも行なうことができる。
「一時登録」は記事を登録しようとしているユーザが、正式な登録の前に一時的に記事等の内容の保存を選択していることを示す情報が記録されるフィールドである。本実施形態の場合、例えば、記事の登録準備中に急用が生じて作業を中止せざる得なくなった場合に、ユーザは一時登録を選択でき、これによりレコードが一旦生成される。但し、このレコードの情報は不完全なものであり、他のユーザが閲覧することができないようにすることが望ましい。そこで、この「一時登録」フィールドに一時登録中である旨が記録されている場合、そのレコードは他のユーザがアクセスできないようにされる。このような一時登録機能を付加することでユーザの利便性を向上すると共に、不完全な情報の他のユーザへの提供を防止することができる。
次に、このような構成からなるレコードは1つのファイルに対して1つ割当てられる。つまり、ファイルレコード群には1つのファイルの情報のみ記録される。例えば、図2(b)に示すように、ユーザが3つのファイル(添付ファイル1乃至3)が関連付けられる記事を登録した場合、各添付ファイル単位で3つのレコードが生成される。3つのレコードはファイルフィールド群の各フィールドに記録される情報については少なくとも一部が異なるものとなるが、記事フィールド群の各フィールドに記録される情報については共通の情報が記録される。本実施形態ではこのようなレコードの構成により記事とファイルとを対応させる。
本実施形態では、レコードが記事フィールド群とファイルフィールド群とを有する構成とし、記事とファイルとを対応させる。これにより、ファイルは記事毎のグループを形成し、記事はファイルの要約的な情報として位置付けられ、これらが有益な一群の資料となる。一方、一つのファイルに対してレコードが一つ割当てられるので無階層・無区分のファイル保管構造を実現することができる。
<ファイルの保管方式>
本実施形態ではファイル記憶部104cにはファイルが無階層・無区分の構造にて格納される。図3はファイル記憶部104cに格納されたファイルとレコードとの対応関係を示す説明図である。ファイル記憶部104cにおいてファイルはそのファイル名でのみ区別され、階層構造等は有しない。上記の通り、1つのファイルに1つのレコードを割当てることで無階層・無区分の構造にてファイルを格納することができる。
ファイル記憶部104cに格納されたファイルのファイル名は「ファイル番号」+「オリジナルファイル名」としている。つまり、ファイルフィールド群の「オリジナルファイル名」フィールドのファイル名に、「レコードNo.」フィールドのレコードNo.を付加したファイル名としている。こうすることで、「オリジナルファイル名」が共通する複数のファイルをファイル名が重複することなく格納でき、無階層・無区分の構造にて格納することができる。また、このようなファイル名とすることでユーザはファイル名の重複を気にすることなく(ファイル名を付け替えることなく)、ファイルの登録が行なえる。
なお、本実施形態ではファイルの添付の無い、記事のみの場合も許容される。この場合、その記事のレコードのファイルフィールド群は「レコードNo.」フィールドを除き、情報が記録されていないレコードとなる。記事のみの場合も許容したのは、記事自体がそもそも技術情報として有益となることと、記事の登録後にファイルが添付されていくことも想定したものである。
<サーバ100の処理>
次に、サーバ100のCPU101が実行する情報管理プログラムについて説明する。図4は情報管理プログラムのフローチャートである。クライアントコンピュータ200からアクセス要求があると、S1において認証処理を行なう。ここではクライアントコンピュータ200のユーザがアクセス権限を有しているか否かを判定する処理を行なう。詳細には、例えば、そのユーザのIDの送信を要求し、受信したIDとユーザ情報記憶部104aに記憶された情報とに基づき、そのユーザがアクセス権限を有しているか否かを判定する。
S2ではS1の認証処理の結果、認証に成功したか否かを判定する。認証に成功した場合、クライアントコンピュータ200のローカルアドレスとユーザのIDをRAM102に格納し、S3へ進み、ユーザはS6以下の処理によるサービスの提供を受けることになる。認証に失敗した場合はS4へ進み、クライアントコンピュータ200へアクセス不可である通知を行い、一単位の処理が終了する。
S3では初期画面表示処理を行なう。ここではクライアントコンピュータ200のディスプレイ207に表示させる初期画面のデータを生成し、クライアントコンピュータ200へ送信する。データを受信したクライアントコンピュータ200はディスプレイ207に初期画面を表示することになる。
図10はクライアントコンピュータ200のディスプレイ207に表示される初期画面の例を示す図である。同図の例において、リスト表示エリア10には記事の情報(記事情報)が記事単位でリストが表示されている。同図の例の場合、記事情報として、同図左から順に記事No.(図2の「記事No.」フィールドの内容)、タイトル(図2の「タイトル」フィールドの内容)、登録日と登録者(図2の記事フィールド群中の「登録日」フィールド及び「登録者」フィールドの内容)が表示されている。記事情報は記事No.順に最新のものから順番に表示されている。
サーバ100はリスト表示エリア10の表示データを生成するにあたり、例えば、予め定めた記事の数分だけレコード記憶部104bから記事フィールド群の情報を抽出する。なお、「一時登録」フィールドに一時登録であることを示す情報が記録されているレコードの記事フィールド群の情報については、その記事の登録者以外の者がアクセスした場合には抽出しない。そして、抽出された情報をクライアントコンピュータ200へ送信することになる。
登録ボタン11は新規の記事の登録を要求するためのボタンであり、このボタンが操作されるとクライアントコンピュータ200は登録処理の要求コマンドをサーバ100に送信する。検索ボタン12は記事及びファイルの検索を要求するためのボタンであり、このボタンが操作されるとクライアントコンピュータ200は検索処理の要求コマンドをサーバ100に送信する。また、記事情報のいずれかが選択されると(例えばマウスでダブルクリックされると)、クライアントコンピュータ200はその記事No.と共に詳細表示処理の要求コマンド(記事の選択要求コマンド)をサーバ100に送信する。
図4に戻り、クライアントコンピュータ200からコマンドを受信するとS5においてコマンドの種類を判定し、対応する処理(S6乃至S8)を実行することになる。S6は登録ボタン11が操作された場合にクライアントコンピュータ200から送信されるコマンドを受信した場合に実行される登録処理であり、S7は登録ボタン12が操作された場合にクライアントコンピュータ200から送信されるコマンドを受信した場合に実行される検索処理である。また、S8は記事情報のいずれかが選択された場合にクライアントコンピュータ200から送信されるコマンドを受信した場合に実行される詳細表示処理である。
<登録処理>
図5はS6の登録処理を示すフローチャートである。S11では登録事項をユーザが入力するための入力フォームをクライアントコンピュータ200へ送信する。入力フォームのデータは例えばハードディスク104に予め格納される。クライアントコンピュータ200は受信した入力フォームをディスプレイ207に表示し、ユーザからの入力を受け付ける。図11はクライアントコンピュータ200のディスプレイ207に表示される、入力フォームの表示例を示す図である。
同図の例において、タイトル入力欄21は記事のタイトル(図2の「タイトル」フィールドの内容)を入力する欄である。記事の内容入力欄22は記事の内容(図2の「記事の内容」フィールドの内容)を入力する欄である。固定キーワードの設定欄23は予め定められた固定キーワード(図2の「固定キーワード」フィールドの内容)を記事に付与するかを選択する欄である。同図の例では、「車種」、「仕向地」、「開発段階」、「部品名」が「固定キーワード」の種別として用意されている。これらはデフォルトでは「指定しない」となっており、プルダウンボタンをクリックすると選択肢が表れる。いずれかの選択肢を選択すると、固定キーワードとして選択されることになる。
変更権限選択欄24は記事及びファイルの変更権限(図2の「変更権限ランク」フィールドの内容)を入力する欄である。デフォルトでは「A」ランクとなっており、プルダウンボタンをクリックすると選択肢(Bランク)が表れる。これらの選択肢を選択すると、変更権限ランクとして選択されることになる。
ファイル入力欄25は記事に添付するファイル名(図2の「オリジナルファイル名」フィールドの内容)及びその格納先のアドレスを入力する欄である。参照ボタン25aをクリックすると、クライアントコンピュータ200のハードディスク204等に格納されたファイルのディレクトリが表示され、ユーザは所望のファイルを選択することもできる。
説明文入力欄26は添付するファイルに対するユーザのコメント(図2の「ファイル説明文」フィールドの内容)を入力する欄である。チェックボックス27は添付ファイルが最新版であること(図2の「最新版」フィールドの内容)をユーザが示したい場合にチェックする。
添付ファイルの追加ボタン28は登録しようとする記事に複数のファイルを添付する場合にユーザが操作するボタンであり、このボタンが操作されると、上述したファイル入力欄25、説明文入力欄26及びチェックボックス27の組が複数組表示され、ユーザは別の添付ファイルについて順次入力することができる。なお、追加の添付ファイルのための入力フォームは、S21で送信される入力フォームと共にクライアントコンピュータ200へ予め送信しておいてもよいし、追加ボタン28が操作された時にクライアントコンピュータ200へサーバ100が送信するようにしてもよい。
登録ボタン29はユーザが入力した事項の登録を要求するためのボタンであり、このボタンが操作されるとクライアントコンピュータ200は登録要求コマンドと共に、入力された記事の情報、及び、添付ファイルがある場合には添付ファイルの情報と実体とをサーバ100に送信する。一時登録ボタン30はユーザが入力した事項の一時登録を要求するためのボタンであり、このボタンが操作されるとクライアントコンピュータ200は一時登録要求コマンドと共に、入力された記事の情報、及び、添付ファイルがある場合には添付ファイルの情報と実体とをサーバ100に送信する。戻るボタン31は記事の登録を中止して前画面(図10の初期画面)に戻るためのボタンであり、このボタンが操作されるとクライアントコンピュータ200は戻るボタン31が操作された旨を示すコマンドをサーバ100に送信する。
図5に戻り、クライアントコンピュータ200からコマンドを受信するとS12でコマンドの種類を判別し、S13又はS19へ進む。受信したコマンドが登録要求コマンド又は一時登録要求コマンドである場合、S13へ進む。
S13では登録要求コマンド又は一時登録要求コマンドに付随する、記事の情報、及び、添付ファイルがある場合には添付ファイルの情報と実体とを受信する。S14では受信したデータに添付ファイルがあるか否かを判定する。該当する場合はS15へ進み、該当しない場合はS17へ進む。S15ではレコード生成処理を実行する。
S15のレコード生成処理では、まず、添付ファイルの数に応じたレコードNo.(図2の「レコードNo.」フィールドの内容)を発番する。添付ファイルが1つの場合は1つ発番し、4つの場合は4つ発番する。発番したレコードの格納領域をレコード記憶部104b上に設定する。設定した各レコードの格納領域のうち、記事フィールド群の全ての格納領域に、受信した記事の情報を共通に記録する。この際、「記事No.」フィールドについては既登録の記事及び一時登録の記事の記事No.のうち、最大のNo.に1を加算したNo.を発番して記録する。また、「登録者」フィールド及び「登録日」フィールドを自動的に記録する。更に、一時登録要求の場合は「一時登録」フィールドにその旨を自動的に記録する。
このように本実施形態では、一つのファイルに対してレコードを一つ割当て、関連付けられる記事が共通する複数のレコードについては、記事フィールド群に共通の情報が記録される。これにより、ファイルの検索性能を向上しながら、無階層・無区分のファイル保管構造を実現することができる。
次に、各添付ファイルの情報については、設定した各レコードの格納領域のうち、記事フィールド群の格納領域に個別に順次情報を記録する。「登録者」フィールド及び「登録日」フィールドは自動的に記録する。また、「表示順序」フィールドは、添付ファイルの情報の入力順にして自動的に記録する。以上により、S15のレコード生成処理が終了する。
S16ではファイル格納処理を実行する。ここでは、S15で生成した各レコードに対応するファイル(実体)のファイル名として、各レコードの「オリジナルファイル名」フィールドに記録された情報に「レコードNo.」フィールドに記録されたレコードNo.を付加したファイル名を付与し、ファイル記憶部104cにファイル(実体)を格納する。その後、S18へ進む。
S17ではS15と同様のレコード生成処理を行なう。但し、S17のレコード生成処理は、添付ファイルが無い、記事のみの登録であるので、レコードNo.の発番は1つ行なって、1つのレコードを生成し、また、ファイルフィールド群には情報が記録されない。S17のレコード生成処理が終了するとS18へ進む。
S18では処理終了の通知処理を行なう。ここでは、記事の登録又は一時登録が正常に行なわれたことを示す情報をクライアントコンピュータ200に送信する。クライアントコンピュータ200はディスプレイ207に受信した情報を表示し、ユーザに対して記事の登録又は一時登録が正常に行なわれたことを報知する。
ディスプレイ207に表示される情報としては、例えば、記事No.を含む、登録された記事、添付ファイルの情報の内容が挙げられる。ユーザが登録内容を確認したことを示す情報をクライアントコンピュータ200から受信すると、サーバ100は登録処理を終了する。
S19ではその他の処理を実行する。ここでは例えば戻るボタン31の操作コマンドを受信した場合にはS3の処理(初期画面表示処理)を実行する。
<検索処理>
まず、本実施形態におけるファイル検索について概説する。本実施形態ではまず、検索要求に該当するレコードが検索される。この検索はファイルの検索であると同時に記事の検索でもあることになる。レコードの検索結果は、まず、記事の情報を記事単位でディスプレイ207にリスト表示することにより提供される。これは、検索しようとする電子ファイルを絞り込む上での有益な指標となる。
そして、記事のユーザ選択に対して、後述する詳細表示処理により、ファイルの情報をファイル単位でディスプレイ207にリスト表示する。これによりユーザは所望の電子ファイルを探し出すことができる。こうして本実施形態では無階層・無区分のファイル保管構造を実現しつつ、ファイルの検索性能を向上することができる。また、記事に対応する全てのファイル、つまり、あるプロジェクト等に関連する全てのファイルを包括的に検索し易くなる。
図6はS7の検索処理を示すフローチャートである。S21では検索条件をユーザが入力するための入力フォームをクライアントコンピュータ200へ送信する。入力フォームのデータは例えばハードディスク104に予め格納される。クライアントコンピュータ200は受信した入力フォームをディスプレイ207に表示し、ユーザからの入力を受け付ける。図12はクライアントコンピュータ200のディスプレイ207に表示される、入力フォームの表示例を示す図である。
同図の例において、入力フォームには検索条件を入力する入力領域40と、検索結果が表示される結果表示領域50と、が含まれる。入力領域40には以下の欄が表示されている。フリーキーワード入力欄41はユーザが任意のフリーキーワードを入力する欄である。固定キーワードの設定欄42は記事の登録時の固定キーワードの設定欄23で設定可能な固定キーワードと同じキーワードをユーザが選択する欄である。登録者入力欄43は記事又はファイルの登録者を検索キーワードとして入力するための欄である。プルダウンボタンをクリックすると登録者の選択肢が表れ、ユーザはいずれかの選択肢(登録者)を選択することができる。
記事No.の入力欄44は記事No.を検索キーワードとして入力するための欄である。ユーザが検索したい記事自体或いはファイルが関連付けられている記事の記事No.を既に知っている場合の検索に用いられることを想定したものである。記事No.は範囲指定としてもよい。登録時期の入力欄45は記事又はファイルの登録時期を検索キーワードとして入力するための欄である。同図の例では登録年と登録月を指定して、その年月から任意の月の範囲を指定できる。登録時期の指定の仕方にはこの他にも、年と季節単位での指定も挙げられる。
実行ボタン46は入力領域40に入力された検索条件による検索をユーザが指示するためのボタンである。このボタンが操作されるとクライアントコンピュータ200は検索要求コマンドと共に、入力された検索条件をサーバ100に送信する。リセットボタン47は入力領域40に入力された検索条件のリセットをユーザが指示するためのボタンである。このボタンが操作されるとクライアントコンピュータ200は入力領域40の各欄への入力内容をクリアする。戻るボタン48は検索を中止して前画面(図10の初期画面)に戻るためのボタンであり、このボタンが操作されるとクライアントコンピュータ200は戻るボタン48が操作された旨を示すコマンドをサーバ100に送信する。
図6に戻り、クライアントコンピュータ200からコマンドを受信するとS22でコマンドの種類を判定し、S23又はS28へ進む。受信したコマンドが検索要求コマンドである場合、S23へ進む。
S23では検索要求コマンドに付随する検索条件を受信する。S24では受信した検索条件に該当するレコードを検索するレコード検索処理を実行する。以下、検索例について説明する。検索条件は入力領域40の各入力欄に入力されたキーワードは論理積(AND)を取るものとすることができる。
検索条件としてフリーキーワードが指定されている場合(フリーキーワード入力欄41にキーワードが入力されている場合)には、例えば、記事フィールド群の「タイトル」フィールド、「記事の内容」フィールド、「登録者」フィールド、「固定キーワード」フィールド、ファイルフィールド群の「オリジナルファイル名」フィールド、「ファイル説明文」フィールド、「登録者」フィールド、を参照し、これらのフィールドに記録された情報がフリーキーワードを含むレコードを抽出する。「タイトル」フィールド、「記事の内容」フィールド及び「ファイル説明文」を参照して検索することは、これらのを単なる情報としてだけではなく、検索にも活用するという利点がある。
検索条件として固定キーワードが指定されている場合(固定キーワードの設定欄42で固定キーワードが選択されている場合)には、例えば、記事フィールド群の「固定キーワード」フィールドのみを参照し、指定された固定キーワードが記録されているレコードを抽出する。「固定キーワード」フィールドのみを参照することで検索速度を向上でき、検索性能を向上できる。また、固定キーワードを設定しておくことは、内容が関連する記事、ファイルを統括的に検索可能にすることに寄与する。
検索条件として登録者が指定されている場合(登録者入力欄43で登録者が選択されている場合)には、例えば、記事フィールド群及びファイルフィールド群の「登録者」フィールドのみを参照し、選択された登録者が記録されているレコードを抽出する。
検索条件として記事No.が指定されている場合(記事No.の入力欄44で記事No.が入力されている場合)には、例えば、記事フィールド群の「記事No.」フィールドのみを参照し、入力された記事No.が記録されているレコードを抽出する。「記事No.」フィールドのみを参照することで検索速度を大幅に向上でき、検索性能を向上できる。
検索条件として登録時期が指定されている場合(登録時期の入力欄45で登録時期の範囲が入力されている場合)には、例えば、記事フィールド群及びファイルフィールド群の「登録日」フィールドのみを参照し、入力された登録時期の範囲に該当する登録日が記録されているレコードを抽出する。
なお、「一時登録」フィールドに一時登録の記事であることが記録されているレコードについては、その登録者からの検索要求に対しては抽出対象とするが、その登録者以外のユーザからの検索要求に対しては抽出対象としない。
次に、S25ではS24で検索したレコードについて記事リストの表示データを生成する記事リスト表示データ生成処理を実行する。ここでは、S24のレコード検索処理で検索されたレコードの記事フィールド群の中から選択されるフィールドに記録された情報を、記事情報として記事単位でディスプレイにリスト表示するためのデータを生成する。
記事情報は本実施形態では初期画面(図10)の場合と同様に、「記事No.」フィールドに記録された記事No.、「タイトル」フィールドに記録されたタイトル、記事フィールド群中の「登録日」フィールド及び「登録者」フィールドに記録された登録日及び登録者である。S24のレコード検索処理で検索されたレコードには、同じ記事であるが添付ファイルが異なるレコードが同時に抽出される場合がある。本実施形態では記事情報を記事単位で表示するため、同じ記事については検索されたレコードの数に関わらず1つの記事情報が生成される。
S26ではS25で生成した記事リスト表示データをクライアントコンピュータ200に送信する。記事リスト表示データを受信したクライアントコンピュータ200は、検索結果として受信した記事リスト表示データに基づく記事リストをディスプレイ207に表示する(S101)。
図13はクライアントコンピュータ200のディスプレイ207に表示される記事リストの表示例を示す図である。記事リストは検索条件の入力フォームの結果表示領域50に表示される。入力領域40には、表示されている記事リストを検索した検索条件が示されている。
記事リストは記事情報を記事単位でリスト表示したものであり、図10の初期画面の場合と同様に、記事情報は左から順に記事No.、タイトル、登録日と登録者から構成されている。記事情報は記事No.順に最新のものから順番に表示されている。
記事リストの中の記事情報のいずれかが選択されると(例えばマウスでダブルクリックされると)、クライアントコンピュータ200はその記事No.と共に詳細表示処理の要求コマンド(記事の選択要求コマンド)をサーバ100に送信する。また、ユーザが検索条件を変えて再度検索を行なう場合にはリセットボタン47を操作して、入力領域40に検索条件を入力することになる。
図6に戻り、図13の記事リストを表示しているクライアントコンピュータ200からコマンドを受信するとS27でコマンドの種類を判定し、コマンドの種類に応じてS23以下の処理、S8又はS28の処理を実行する。
コマンドが再検索要求コマンド(図13において実行ボタン46が操作された場合)である場合はS23以下の処理を再度実行する。コマンドが上記の詳細表示処理の要求コマンドである場合はS8の詳細表示処理を実行する。
S28ではその他の処理を実行する。ここでは例えば戻るボタン48の操作コマンドを受信した場合には前画面を表示する処理を実行する。
<詳細表示処理>
図7はS8の詳細表示処理を示すフローチャートである。S31では詳細表示要求コマンドに付随する記事No.を受信する。S32では受信した記事No.に該当するレコードを検索するレコード検索処理を実行する。ここでは、記事フィールド群の「記事No.」フィールドを参照し、受信した記事No.が記録されているレコードを抽出する。このレコード検索処理により、ユーザが選択した記事に関連する全てのファイルのファイル情報を提供でき、ファイルの検索性能を向上することができる。
S33ではS32で検索したレコードについて詳細リストの表示データを生成する詳細リスト表示データ生成処理を実行する。ここでは、検索したレコードのファイルフィールド群の中から選択されるフィールドに記録された情報を、ファイル情報としてファイル単位でディスプレイ207にリスト表示するためのデータを生成する。本実施形態ではファイル情報に加えて「記事の内容」フィールドに記録された情報を含む記事の詳細情報も表示するためのデータを生成する。
ファイル情報には、本実施形態の場合、ファイルフィールド群のうち、「レコードNo.」フィールド、「オリジナルファイル名」フィールド、「ファイル説明文」フィールド、「登録者」フィールド、「登録日」フィールドに記録された情報が含まれる。ファイル単位でその説明文を付与できるというユニークな構成を採用し、ファイル情報にファイル説明文が含まれることで、ファイルを開くことなくその概要が把握でき、また、検索性能(特にユーザ自身による絞り込み)を向上することができる。
「最新版」フィールドに最新版であることが記録されている場合にはこれもファイル情報に含まれる。ファイル情報の表示順序は「表示順序」フィールドに記録された情報に従い、設定される。
また、ファイルが画像ファイルである場合、そのサムネイル画像(原画像に対する縮小画像)も詳細リストの表示データに含まれる。ファイルが画像ファイルであるか否かは「オリジナルファイル名」フィールドに記録されたファイル名の拡張子を参照することにより判断する。サムネイル画像のデータは、そのレコードに対応するファイルをファイル記憶部104cから読み出し、生成する。
S34ではS33で生成した詳細リストの表示データをクライアントコンピュータ200に送信する。詳細リストの表示データを受信したクライアントコンピュータ200は、受信した表示データに基づく詳細リストをディスプレイ207に表示する(S102)。
図14はクライアントコンピュータ200のディスプレイ207に表示される詳細リストの表示例を示す図である。詳細リスト60は記事詳細情報61と、複数のファイル情報62a乃至62cと、がリスト表示されて構成されている。
記事詳細情報61は、記事No.、タイトル、登録日、登録者及び記事の内容(61a)から構成されている。ファイル情報62a乃至62cは、オリジナルファイル名、ファイル番号、登録日、登録者及びファイルの説明文から構成されている。ファイル情報61a及び62cは画像ファイルに関するものであるため、サムネイル画像62a”、62c”が併せて表示されている。サムネイル画像を表示することで、ユーザが画像ファイルの内容を容易に把握でき、所望の電子ファイルを探し出すための有益な情報を提供できる。また、詳細リストで示された一連の経過を把握することを容易化させる。
また、ファイル情報62cはファイル番号の隣に”最新版”と表示されている。これは「最新版」フィールドの記録内容が反映されたものである。車等の開発では試作段階から量産段階に至るまでに、同一部品を幾度に渡って改造する。従って、部品仕様書等には時系列的な管理と表示が必要となる。本実施形態では「最新版」フィールドを設けたことにより、例えば、段階的にバージョンアップされた多数の前記電子ファイルの中から最新の電子ファイルをユーザが探し出す際に、有益な情報を提供できる。
ユーザがオリジナルファイル名の部分をダブルクリックすると、クライアントコンピュータ200はそのオリジナルファイル名及びファイル番号と共にファイル表示要求コマンドをサーバ100に送信する。また、各ファイル情報62a乃至62cはDL(ダウンロード)ボタン62a’乃至62c’が表示されている。ユーザがDLボタン62a’乃至62c’のいずれかを操作すると、クライアントコンピュータ200はそのオリジナルファイル名及びファイル番号と共にファイルダウンロード要求コマンドをサーバ100に送信する。
並べ替えボタン63はファイル情報62a乃至62cの表示順序の変更をユーザが指示するためのボタンであり、このボタンが操作されるとクライアントコンピュータ200は表示順序の並べ替え要求コマンドをサーバ100へ送信する。変更ボタン64は既登録の記事、ファイルの情報(一時登録の記事、ファイルの情報を含む)の変更をユーザが指示するためのボタンである。このボタンが操作されるとクライアントコンピュータ200は登録内容の変更要求コマンドをサーバ100に送信する。
変換ボタン65はディスプレイ207に表示されている詳細リスト60を特定のアプリケーションソフトのファイルに変換することをユーザが指示するためのボタンである。このボタンが操作されるとクライアントコンピュータ200は予め定められたアプリケーションソフトを起動して詳細リスト60のデータを転送し、詳細リスト60のファイルを生成する。アプリケーションソフトは例えば表計算ソフトである。生成されたファイルは例えばハードディスク204に格納され、ユーザの個人的なファイルとして活用される。
戻るボタン66は前画面(図13)に戻ることをユーザが指示するためのボタンである。このボタンが操作されるとクライアントコンピュータ200は戻るボタン66が操作された旨を示すコマンドをサーバ100に送信する。
図7に戻り、図14の詳細リストを表示中のクライアントコンピュータ200からコマンドを受信すると、S35でコマンドの種類を判定し、S36乃至S37のいずれかの処理を実行する。受信したコマンドが並べ替え要求コマンドの場合、S36へ進み並べ替え処理を実行する。受信したコマンドが登録内容の変更要求コマンドの場合、S37へ進み変更処理を実行する。
S38ではその他の処理を実行する。ここでは例えば戻るボタン66の操作コマンドを受信した場合には前画面を表示する処理を行なう。その他、例えば、ファイル表示要求コマンドやファイルダウンロード要求コマンドを受信した場合は対応するファイルをファイル記憶部104cから読み出してクライアントコンピュータ200へ転送する。
<並べ替え処理>
図8はS36の並べ替え処理を示すフローチャートである。S41では表示順序の変更操作画面の表示データをクライアントコンピュータ200に送信する。クライアントコンピュータ200は受信した表示データに基づきディスプレイ207に表示順序の変更操作画面を表示する。図15はクライアントコンピュータ200のディスプレイ207に表示される表示順序の変更操作画面の表示例を示す図である。
ファイル情報リスト70は図14のファイル情報62a乃至62cを簡略化してリスト表示したものである。ユーザは表示順序を並べ替えたいファイル情報を選択する。ボタン71は選択されたファイル情報を上へ移動することをユーザが指示するためのボタンである。ボタン72は選択されたファイル情報を下へ移動することをユーザが指示するためのボタンである。ボタン71及び72に対する操作により、クライアントコンピュータ200はファイル情報リスト70の各ファイル情報の表示順序を並べ替える。
確定ボタン73は表示順序の並べ替えを確定したことをユーザが指示するボタンである。確定ボタン73が操作されると、クライアントコンピュータ200は各ファイル情報の表示順序の並べ替え結果を示す表示順序情報と共に表示順序の変更要求コマンドをサーバ100に送信する。戻るボタン74は前画面(図14)へ戻ることをユーザが指示するためのボタンである。
図8に戻り、図15の変更操作画面を表示中のクライアントコンピュータ200からコマンドを受信すると、S42でコマンドの種類を判定し、S43又はS46の処理を実行する。受信したコマンドが表示順序の変更要求コマンド(変更の確定)の場合はS43へ進む。
S43ではクライアントコンピュータ200から送信された表示順序情報を受信する。S44では受信した表示順序情報に基づき、S32で検索した各レコードの「表示順序」フィールドに記録された情報を更新する。以降、これらのレコードのファイル情報がリスト表示される場合は更新された表示順序が反映されることになる。
S45では処理終了の通知処理を行なう。ここでは、表示順序の並べ替えが正常に行なわれたことを示す情報をクライアントコンピュータ200に送信する。クライアントコンピュータ200はディスプレイ207に受信した情報を表示し、ユーザに対して表示順序の並べ替えが正常に行なわれたことを報知する。ユーザが確認したことを示す情報をクライアントコンピュータ200から受信すると、サーバ100は並べ替え処理を終了する。
S46ではその他の処理を実行する。ここでは例えば戻るボタン74の操作コマンドを受信した場合には前画面を表示する処理を行なう。
このような並べ替え機能はファイル情報の見易さを向上し、ひいて検索性能を向上することができる。つまり、全ファイル情報を無造作に一度に表示すると、ファイル情報の並び順によって読みづらさが生じる場合がある。これは各添付ファイルに説明文を付加できる本実施形態の構成からくるものでもあり、説明文を読む順番は書籍と同様に非常に重要な要素である。並べ替え機能を設けて序論−本論−結論などに該当する順にすると、それまで無機質な個々の存在にしか過ぎなかった各ファイル情報が、一つの記事詳細情報をもとにまとまった資料となり、詳細リストの資料としての有益性も高められる。
<変更処理>
図9はS37の変更処理を示すフローチャートである。S51では変更事項をユーザが入力するための入力フォームをクライアントコンピュータ200へ送信する。この入力フォームはS6の登録処理においてS11で送信される入力フォームと同様のフォームであるが、既登録の情報が各入力欄に入力済みのデータとして送信する。
クライアントコンピュータ200は受信した入力フォームをディスプレイ207に表示し、ユーザからの入力を受け付ける。図16はクライアントコンピュータ200のディスプレイ207に表示される、既登録の記事・ファイルの変更時の入力フォームの表示例を示す図である。既登録の記事・ファイルの情報の内容を変更したいユーザは、一時登録されている記事・ファイルの情報の内容を変更したユーザは、この画面から変更内容を入力することになる。
上述した通り、変更時の入力フォームは図11に示した当初の登録時の入力フォームと同様の構成であり、対応する構成については同じ符号を付して説明を省略する。異なるのは以下の通りである。
まず、タイトル入力欄21等には既登録の情報が既に入力されている。ユーザはこれを適宜変更することで登録内容を変更することになる。また、機能ボタンとして、既添付ファイルの変更ボタン81、添付ファイルの追加ボタン82及び実行ボタン83が用意されている。
既添付ファイルの変更ボタン81をユーザが操作するとクライアントコンピュータ200は登録済みのファイルの情報の入力フォームの送信要求をサーバ100に送信する。サーバ100は折り返し入力フォームをクライアントコンピュータ200に送信し、クライアントコンピュータ200は受信した入力フォームをディスプレイ207に表示する。この入力フォームは、既登録の情報が入力された、図11に示したファイル入力欄25、説明文入力欄26及びチェックボックス27の組が添付ファイルの数だけリスト形式で表示される。ユーザはこれを適宜変更することで登録内容を変更することになる。
添付ファイルの追加ボタン82はユーザが記事に添付ファイルを追加する場合に操作するボタンであり、これが操作されるとクライアントコンピュータ200はファイルの情報の入力フォームの送信要求をサーバ100に送信する。サーバ100は折り返し入力フォームをクライアントコンピュータ200に送信し、クライアントコンピュータ200は受信した入力フォームをディスプレイ207に表示する。この入力フォームは、図11に示したファイル入力欄25、説明文入力欄26及びチェックボックス27の組が複数組表示するもので、ユーザは追加の添付ファイルについて順次入力することができる。
なお、このような既登録の記事、ファイルに関する情報の変更は「変更権限ランク」フィールドに記録された変更権限ランクに応じて規制される。この規制は、例えば、入力欄の編集禁止、機能ボタンの操作を受け付けないことによって行われ、変更登録者が誰であるかによって規制されることになる。
実行ボタン83は変更内容を確定し、登録することをユーザが指示するためのボタンであり、このボタンが操作されるとクライアントコンピュータ200は変更要求コマンドと共に、入力フォームに入力されている記事の情報、及び、添付ファイルがある場合には添付ファイルの情報と実体とをサーバ100に送信する。
図9に戻り、図16の入力フォームを表示中のクライアントコンピュータ200からコマンドを受信すると、S52においてコマンドの種類を判定し、S53又はS59へ進む。受信したコマンドが変更要求コマンドであればS53へ進む。
S53では変更要求コマンドに付随する、記事の情報、及び、添付ファイルがある場合には添付ファイルの情報と実体とを受信する。S54では受信したデータに追加の添付ファイルがあるか否かを判定する。該当する場合はS55へ進み、該当しない場合はS57へ進む。
S55では追加された添付ファイルについて新たにレコードを生成すべく、レコード生成処理を実行する。処理の内容は図5のS15のレコード生成処理と同様である。このような処理により、無階層・無区分のファイル保管構造を維持しながらファイルの追加が実現され、また、記事及びファイルの一群の資料としての有益性を高められる。
S56ではファイル格納処理を実行する。処理の内容は図5のS16のファイル格納処理と同様である。S57ではS53で受信したデータに基づき、既登録のレコードに記録された情報、ファイル記憶部104cに格納されたファイルを更新する。更新の際、一時登録中のレコードについては「一時登録」フィールドの情報を更新して正規登録とする。つまり、本実施形態では一時登録は1回限りのものであるが、回数に制限を加えない方式でもよい。ファイルの実体が変更される場合には変更後のファイルに同じファイル名を付してファイル記憶部104cに上書きする。また、ファイルの削除がされる場合にはそのファイルをファイル記憶部104cから削除することになる。
S58では処理終了の通知処理を行なう。ここでは、記事等の変更が正常に行なわれたことを示す情報をクライアントコンピュータ200に送信する。クライアントコンピュータ200はディスプレイ207に受信した情報を表示し、ユーザに対して記事等の変更が正常に行なわれたことを報知する。ユーザが登録内容を確認したことを示す情報をクライアントコンピュータ200から受信すると、サーバ100は変更処理を終了する。
S59ではその他の処理を実行する。ここでは例えば戻るボタン31の操作コマンドを受信した場合には前画面を表示する処理を行なう。その他、受信したコマンドに応じて処理を実行する。例えば、既添付ファイルの変更ボタン81や添付ファイルの追加ボタン82が操作された時の処理である。