【課題】関連するテキストファイルのテキストデータに不整合が発生しないように、関連するテキストファイルを編集することが可能であるデータ管理装置、データ管理方法及びプログラムを提供する。
【解決手段】データ管理システム1において、データ管理装置2は、第1のテキストファイルと第2のテキストファイルとが作成され、第2のテキストファイルに第1メタ情報が対応付けられ、第1のテキストファイルを編集する。データ管理装置2は、第2の編集の内容を表す情報を生成するインタフェース22と、第1のテキストファイルの識別情報と第1の編集に関する情報とを含む第1メタ情報を取得し、第1のテキストファイルの識別情報に基づいて第1のテキストファイルを取得し、第1の編集に関する情報に基づいて第1の編集の内容に関する情報を取得し、第1の編集の内容と第2の編集の内容とに基づいて第1のテキストファイルを編集する管理部24と、を備える。
第1のテキストファイルに対して第1の編集が実行された結果として第2のテキストファイルが作成されており、前記第2のテキストファイルに第1メタ情報が対応付けられており、前記第1のテキストファイルを編集するデータ管理装置であって、
前記第2のテキストファイルに対して実行された第2の編集の内容を表す情報を生成するインタフェースと、
前記第1のテキストファイルの識別情報と前記第1の編集に関する情報とを含む前記第1メタ情報を取得し、前記第1のテキストファイルの識別情報に基づいて前記第1のテキストファイルを取得し、前記第1の編集に関する情報に基づいて前記第1の編集の内容に関する情報を取得し、前記第1の編集の内容と第2の編集の内容とに基づいて前記第1のテキストファイルを編集する管理部と
を備えるデータ管理装置。
前記第1のテキストファイルの元のテキストファイルに対して実行された編集に関する情報は、テキストデータの作成、削除、抽出及び加工のうちの少なくとも一つを表す制御情報と、前記第1のテキストファイルの著者情報と、前記第1のテキストファイルに関する時刻情報と、前記第1のテキストファイルの保存場所情報とのうちの少なくとも一つである、
請求項2に記載のデータ管理装置。
第1のテキストファイルに対して第1の編集が実行された結果として第2のテキストファイルが作成されており、前記第2のテキストファイルに第1メタ情報が対応付けられており、前記第1のテキストファイルを編集するデータ管理装置が実行するデータ管理方法であって、
前記第2のテキストファイルに対して実行された第2の編集の内容を表す情報を生成するステップと、
前記第1のテキストファイルの識別情報と前記第1の編集に関する情報とを含む前記第1メタ情報を取得し、前記第1のテキストファイルの識別情報に基づいて前記第1のテキストファイルを取得し、前記第1の編集に関する情報に基づいて前記第1の編集の内容に関する情報を取得し、前記第1の編集の内容と第2の編集の内容とに基づいて前記第1のテキストファイルを編集するステップと
を含むデータ管理方法。
【発明を実施するための形態】
【0014】
本発明の実施形態について、図面を参照して詳細に説明する。
図1は、データ管理システム1の構成例を示す図である。データ管理システム1は、関連するテキストファイルのテキストデータに対する編集を管理するシステムである。この「編集」には、テキストデータの作成、削除、抽出及び加工(例えば、追記、フォント変更)等の制御が含まれる。データ管理システム1は、関連するテキストファイルのテキストデータに不整合が発生しないように、関連するテキストファイルを編集することが可能である。
【0015】
データ管理システム1は、データ管理装置2と、通信回線3と、M(Mは1以上の整数)台のユーザ端末4(情報処理端末)とを備える。データ管理装置2は、通信部20と、第1記憶部21と、インタフェース22と、第2記憶部23と、管理部24とを備える。
【0016】
データ管理装置2の各機能部のうちの少なくとも一部は、サーバ等のコンピュータにおける、CPU(Central Processing Unit)等のプロセッサが、記憶部に記憶されたプログラムを実行することにより実現される。記憶部は、例えばフラッシュメモリ、HDD(Hard Disk Drive)などの不揮発性の記録媒体(非一時的な記録媒体)が好ましい。記憶部は、RAM(Random Access Memory)などの揮発性の記録媒体を備えてもよい。データ管理装置2の各機能部のうちの少なくとも一部は、例えば、LSI(Large Scale Integrated circuit)やASIC(Application Specific Integrated Circuit)等のハードウェア(電子回路)を用いて実現されてもよい。
【0017】
以下、編集に関するメタ情報を「編集メタ情報」という。以下、編集の内容を表す情報を「編集内容情報」という。編集の実行前のテキストデータを「編集前テキスト」という。以下では、編集の内容は、テキストファイルに対して実行される制御関数の定義として定められる。以下、編集の実行後のテキストデータを「編集後テキスト」という。
【0018】
以下では、ユーザ端末4−1からユーザ端末4−Mまでの各ユーザ端末に共通する事項については、符号の記載の一部を省略して、「ユーザ端末4」と表記する。ユーザ端末4は、通信部20を経由して、通信部20と通信する。ユーザ端末4は、ユーザによる操作に応じて、テキストファイルを通信部20に送信する。送信されたテキストファイルは、第1記憶部21に記憶される。
【0019】
ユーザ端末4は、ユーザによる操作に応じて通信部20及びインタフェース22を経由して、第1記憶部21にテキストファイルを記録する。ユーザ端末4は、ユーザによる操作に応じて通信部20及びインタフェース22を経由して、第1記憶部21に記憶されているテキストファイルを編集する。
【0020】
通信部20は、通信回線3を経由して、各ユーザ端末4と通信する。通信部20は、ユーザ端末4から受信されたテキストファイルを、インタフェース22に出力する。通信部20は、ユーザ端末4から受信された編集内容情報を、インタフェース22に出力する。
【0021】
第1記憶部21(テキスト・ストレージ)は、テキストファイルとテキストファイル管理情報とを記憶する。
【0022】
インタフェース22は、ユーザ端末4から受信されたテキストファイルを、通信部20から取得する。インタフェース22は、受信されたテキストファイルを、第1記憶部21に記録する。すなわち、通信部20によってユーザ端末4から受信されたテキストファイルは、インタフェース22によって第1記憶部21に記録される。インタフェース22は、第1記憶部21に記憶されているテキストファイルごとに、テキストファイル管理情報を生成する。インタフェース22は、受信されたテキストファイルに、テキストファイル管理情報を付与する。
【0023】
図2は、実施形態における、テキストファイルとテキストファイル管理情報との例を示す図である。
図2には、テキストファイル100(音声認識結果のオリジナルのテキストファイル)と、テキストファイル101と、テキストファイル102とが、第1記憶部21に記憶されているテキストファイルとして表されている。
【0024】
テキストファイル100は、例えば会議の音声認識結果として、ユーザ端末4によって作成されたテキストファイルである。音声認識結果として作成されたテキストファイル100には、「えーと、」及び「あー、」等の不要語が含まれている。テキストファイル101は、不要語及び不要文章(不要なテキストデータ)を削除する編集がテキストファイル100に対して実行された結果として、インタフェース22によって編集(作成)されたテキストファイルである。このため、テキストファイル101では、不要語が削除されている。テキストファイル102は、特定語を抽出する編集がテキストファイル101に対して実行された結果として、インタフェース22によって編集(作成)されたテキストファイルである。このため、テキストファイル101には、テキストファイル101から抽出された「開発方針を決定するため」及び「山田、白井」等の特定語が、所定のテンプレートに応じて含まれている。
【0025】
また
図2には、テキストファイル管理情報200と、テキストファイル管理情報201と、テキストファイル管理情報202とが、第1記憶部21に記憶されている各テキストファイル管理情報として表されている。テキストファイル管理情報200は、テキストファイル100の管理情報である。テキストファイル管理情報201は、テキストファイル101の管理情報である。テキストファイル管理情報202は、テキストファイル102の管理情報である。
【0026】
テキストファイル100のテキストファイル管理情報200には、テキストファイル100に割り当てられているテキストIDが「1」であることと、テキストファイル100の元となっているテキストファイル(前テキスト)に割り当てられているテキストID(前テキストID)が「0」であることと、テキストファイル100の保存場所が「storage/r1」であることとが登録されている。以下では、例えば前テキストID「0」が割り当てられたテキストファイルは、オリジナルのテキストファイルである。
【0027】
テキストファイル101のテキストファイル管理情報201には、テキストファイル101に割り当てられているテキストIDが「2」であることと、テキストファイル101の元となっているテキストファイル100に割り当てられているテキストID(前テキストID)が「1」であることと、テキストファイル101の保存場所が「storage/r2」であることとが登録されている。
【0028】
テキストファイル102のテキストファイル管理情報202には、テキストファイル102に割り当てられているテキストIDが「3」であることと、テキストファイル102の元となっているテキストファイル101に割り当てられているテキストID(前テキストID)が「2」であることと、テキストファイル102の保存場所が「storage/r3」であることとが登録されている。
【0029】
インタフェース22は、編集内容情報を作成する。編集内容情報は、第1記憶部21に記載されているテキストファイルのテキストID(テキスト識別情報)「textID」と、テキストファイル内での編集前テキストの行番号と、テキストファイル内での編集の開始位置と、テキストファイル内での編集の終了位置と、編集前テキストと、編集後テキストとを含む。インタフェース22は、編集内容情報を管理部24に出力する。
【0030】
図1に示された第2記憶部23(編集情報データベース)は、編集メタ情報と関数定義情報とを記憶する。
【0031】
図3は、実施形態における、編集メタ情報と関数定義情報とを示す図である。
図3には、編集メタ情報300と、編集メタ情報301と、編集メタ情報302と、関数定義情報401と、関数定義情報402とが表されている。編集メタ情報300は、テキストファイル100に対する編集に関するメタ情報である。編集メタ情報301は、テキストファイル101に対する編集に関するメタ情報である。編集メタ情報302は、テキストファイル102に対する編集に関するメタ情報である。
【0032】
編集メタ情報は、テキストファイルのテキストID(textID)と、編集される前のテキストファイルのテキストIDである前テキストID(prev_textID)と、テキストファイルの保存場所を表す空間情報(place)と、テキストファイルの著者情報と、テキストファイルの編集(作成)の時刻を表す時刻情報と、関数定義情報とを、編集に関する属性情報として含む。
【0033】
関数定義情報401は、テキストファイル101に対して実行された編集の内容を表す情報である。以下では、関数定義情報401は、テキストファイル101に対して実行された編集の内容を表す情報である。関数定義情報402は、テキストファイル102に対して実行された不要なテキストデータの削除の内容を表す情報である。関数定義情報「r
n」の「before」と、関数定義情報「r
n」の「after」とは、互いに対応付けられている。関数定義情報「r
n」の「before」と、関数定義情報「r
n−1」の「after」とは、互いに対応付けられている。
【0034】
図1に示された管理部24は、編集内容情報をインタフェース22から取得する。編集内容情報は、テキストIDと、行番号と、編集の開始位置と、編集の終了位置と、編集前テキストと、編集後テキストとを含んでいる。さらに編集内容情報は、反映条件を含んでもよい。
【0035】
管理部24は、第1のテキストファイル(例えば、テキストファイル101)の識別情報(例えば、prev_textID)と第1の編集「r3」(例えば、特定語抽出)に関する情報(例えば、関数定義情報402)とを含む第1メタ情報として、編集メタ情報302を取得する。管理部24は、第1のテキストファイルの識別情報に基づいて、第1のテキストファイルを取得する。管理部24は、第1の編集に関する情報に基づいて、第1の編集「r3」の内容に関する情報(例えば、関数定義情報402の「before」)を取得する。管理部24は、第1の編集の内容と第2の編集の内容(例えば、「山田」→「安田部長」)とに基づいて、第1のテキストファイルを編集する。
【0036】
管理部24は、第1のテキストファイルの元のテキストファイル(例えば、テキストファイル100)に対して実行された編集「r2」(例えば、不要語削除)に関する情報(例えば、著者情報)を含む第2メタ情報として、編集メタ情報301を取得する。管理部24は、第1のテキストファイルの元のテキストファイルに対して実行された編集に関する情報が反映条件に合致している場合、第2の編集の内容を第1のテキストファイルに反映させてもよい。第1のテキストファイルの元のテキストファイルに対して実行された編集に関する情報は、テキストデータの作成、削除、抽出及び加工のうちの少なくとも一つを表す制御情報(関数定義情報)と、第1のテキストファイルの著者情報と、第1のテキストファイルに関する時刻情報と、第1のテキストファイルの保存場所情報とのうちの少なくとも一つである。
【0037】
次に、データ管理装置2の動作を説明する。
図4は、実施形態における、データ管理装置2の動作例を示すフローチャートである。
図4では一例として、テキストID「3」のテキストファイルの第2行目(行番号「2」)における、6文字目から7文字目までの範囲で、テキストデータ「山田」がテキストデータ「安田部長」と編集されている。このため、編集内容情報は、テキストID「N=3」と、行番号「2」と、開始位置「6文字目」と、終了位置「7文字目」と、編集前テキスト「山田」と、編集後テキスト「安田部長」とを含んでいる。
【0038】
管理部24は、編集内容情報をインタフェース22から取得する。管理部24は、変数「n」に値「N=3」を代入する(ステップS101)。
【0039】
管理部24は、編集内容情報のテキストID「n」のテキストファイルに付与された編集メタ情報「M
n」を、第2記憶部23から取得する。例えば、管理部24は、編集内容情報のテキストID「3」のテキストファイルに付与された編集メタ情報「M
3」を、第2記憶部23から取得する(ステップS102)。
【0040】
管理部24は、編集メタ情報「M
n」の関数「func」が無効「null」であるか否かを判定する(ステップS103)。
【0041】
編集メタ情報「M
n」の関数「func」が無効「null」である場合(ステップS103:nullである)、編集メタ情報「M
n」が付与されたテキストファイルは、オリジナルのテキストファイルである。
図4では、オリジナルのテキストファイルに対してはテキストデータの変更を反映することが不要である。このため、管理部24は、
図4に示された処理を終了する。
【0042】
編集メタ情報「M
n」の関数「func」が無効「null」でない場合(ステップS103:nullでない)、管理部24は、編集メタ情報「M
n」の関数定義情報「r
n」を、第2記憶部23から取得する。例えば、管理部24は、編集メタ情報「M
2」の関数定義情報「r
2」を、第2記憶部23から取得する(ステップS104)。
【0043】
管理部24は、前テキストID「n−1」のテキストファイルを、第2記憶部23から取得する。例えば、管理部24は、前テキストID「2」のテキストファイル101を、第2記憶部23から取得する(ステップS105)。
【0044】
管理部24は、前テキストID「n−1」のテキストファイルにおいて、関数定義情報「r
n」の編集前内容「before」に一致する箇所の編集前テキスト「山田」を、編集後テキスト「安田部長」に変更する。例えば、管理部24は、テキストファイル101において、関数定義情報402「r
3」の編集前内容「before」に一致する箇所の編集前テキスト「山田」を、編集後テキスト「安田部長」に変更する(ステップS106)。
【0045】
管理部24は、関数定義情報「r
n」において、編集前内容「before」の編集前テキスト「山田」を、編集後テキスト「安田部長」に変更する。例えば、管理部24は、関数定義情報401「r
3」において、編集前内容「before」に記載されている編集前テキスト「山田」を、編集後テキスト「安田部長」に変更する(ステップS107)。
【0046】
管理部24は、次回実行されるステップS102において編集メタ情報「M
n−1」が取得されるように、添字「n」から1を減算する(ステップS108)。管理部24は、ステップS102に処理を戻す。
【0047】
図5は、実施形態における、変更が反映されたテキストファイルと、テキストファイル管理情報との例を示す図である。
図5には、テキストファイル100(オリジナルのテキストファイル)と、変更が反映されたテキストファイル101と、編集によってテキストデータが変更されたテキストファイル102とが、第1記憶部21に記憶されている各テキストファイルとして表されている。また
図5には、テキストファイル管理情報200と、テキストファイル管理情報201と、テキストファイル管理情報202とが、第1記憶部21に記憶されている各テキストファイル管理情報として表されている。
【0048】
図5では、テキストファイル102において、第2行目の編集前テキスト「山田」が編集後テキスト「安田部長」と変更されている。インタフェース22は、この編集の内容を表す編集内容情報を、管理部24に出力する。テキストファイル101において、関数定義情報「r3」の「before」に一致する第2行目の編集前テキスト「山田、参加しました。」が、編集後テキスト「安田部長、参加しました。」と変更されている。
【0049】
図6は、実施形態における、反映条件に応じたデータ管理装置の動作例を示すフローチャートである。
図6では一例として、テキストID「3」のテキストファイルの第2行目における、6文字目から7文字目までの範囲で、テキストデータ「山田」がテキストデータ「安田部長」と編集されている。このため、編集内容情報は、テキストID「N=3」と、行番号「2」と、開始位置「6文字目」と、終了位置「7文字目」と、編集前テキスト「山田」と、編集後テキスト「安田部長」とを含んでいる。さらに、編集内容情報は、反映条件を含んでいる。
【0050】
反映条件は、関連するテキストファイルに編集が反映されるために合致すべき条件である。例えば、反映条件は、テキストデータの著者の条件、テキストデータの編集(作成)の時刻の条件、又は、テキストファイルに対して実行された編集の内容(関数定義)の条件である。例えば、反映条件は、テキストに割り当てられたフォントに関する条件でもよい。編集の内容は、特定の編集の内容に限定されない。例えば、編集の内容は、音声認識結果という定義でもよいし、不要なテキストデータ(不要語、不要文章)の削除という定義でもよいし、特定のテキストデータ(特定語、特定文章)の抽出という定義でもよい。
【0051】
反映条件が著者に関する条件である場合、関連するテキストファイルについて、例えば、同一の著者によって編集されたテキストデータのみが、管理部24によって編集される。反映条件が時刻に関する条件である場合、関連するテキストファイルについて、例えば、その時刻を含む所定時間内に編集されたテキストデータのみが、管理部24によって編集される。反映条件が編集の内容に関する条件である場合、関連するテキストファイルについて、例えば、同一の関数定義に基づく編集(例えば、不要なテキストデータの削除)がなされたテキストデータのみが、管理部24によって編集される。
【0052】
管理部24は、編集内容情報をインタフェース22から取得する。管理部24は、変数「n」に値「N=3」を代入する(ステップS201)。
【0053】
管理部24は、編集内容情報のテキストID「n」のテキストファイルに付与された編集メタ情報「M
n」を、第2記憶部23から取得する(ステップS202)。
【0054】
管理部24は、編集メタ情報「M
n」の関数「func」が無効「null」であるか否かを判定する(ステップS203)。
【0055】
編集メタ情報「Mn」の関数「func」が無効「null」である場合(ステップS203:nullである)、編集メタ情報「M
n」が付与されたテキストファイルは、オリジナルのテキストファイルである。
図6では、オリジナルのテキストファイルに対してはテキストデータの変更を反映することが不要である。このため、管理部24は、
図6に示された処理を終了する。
【0056】
編集メタ情報「M
n」の関数「func」が無効「null」でない場合(ステップS203:nullでない)、管理部24は、編集メタ情報「M
n」の関数定義情報「r
n」を、第2記憶部23から取得する(ステップS204)。管理部24は、編集メタ情報「M
n−1」を、第2記憶部23から取得する(ステップS205)。
【0057】
管理部24は、編集メタ情報「M
n−1」の例えば著者情報等の情報が反映条件に合致しているか否かを判定する(ステップS206)。編集メタ情報「M
n−1」の著者情報等の情報が反映条件に合致していない場合(ステップS206:NO)、管理部24は、ステップS210に処理を進める。
【0058】
編集メタ情報「M
n−1」の著者情報等の情報が反映条件に合致している場合(ステップS206:YES)、管理部24は、前テキストID「n−1」のテキストファイルにおいて、関数定義情報「r
n」の編集前内容「before」に一致している箇所の編集前テキスト「山田」を、編集後テキスト「安田部長」に変更する(ステップS208)。管理部24は、関数定義情報「r
n」において、編集前内容「before」に記載されている編集前テキスト「山田」を、編集後テキスト「安田部長」に変更する(ステップS208)。管理部24は、次回実行されるステップS202において編集メタ情報「M
n−1」が取得されるように、添字「n」から1を減算する(ステップS209)。管理部24は、ステップS202に処理を戻す。
【0059】
図7は、実施形態における、反映条件に応じて変更が反映されたテキストファイルと、テキストファイル管理情報との例を示す図である。
図7には、テキストファイル100(オリジナルのテキストファイル)と、変更が反映されていないテキストファイル101と、編集によってテキストデータが変更されたテキストファイル102とが、第1記憶部21に記憶されている各テキストファイルとして表されている。また
図5には、テキストファイル管理情報200と、テキストファイル管理情報201と、テキストファイル管理情報202とが、第1記憶部21に記憶されている各テキストファイル管理情報として表されている。
【0060】
図7では、テキストファイル102において、第2行目の編集前テキスト「山田」が編集後テキスト「安田部長」と変更されている。インタフェース22は、この編集の内容を表す編集内容情報を、管理部24に出力する。
図3に示された編集メタ情報301「M
2」の著者情報が「satou」であり「katou」でないため、編集メタ情報「M
2」の著者情報が反映条件に合致していない。このため、テキストファイル101において、第2行目の編集前テキスト「山田、参加しました。」が編集後テキスト「安田部長、参加しました。」と変更されていない。
【0061】
以上のように、第1のテキストファイル(例えば、テキストファイル101)に対して第1の編集(例えば、特定語抽出)が実行された結果として、第2のテキストファイル(例えば、テキストファイル102)が作成されている。また、第2のテキストファイルに第1メタ情報(例えば、編集メタ情報302)が対応付けられている。インタフェース22は、第2のテキストファイルに対して実行された第2の編集の内容(例えば、「山田」→「安田部長」)を表す情報(編集内容情報)を生成する。管理部24は、第1のテキストファイルの識別情報(例えば、prev_textID)と第1の編集「r3」に関する情報(例えば、関数定義情報402)とを含む第1メタ情報を取得する。管理部24は、第1のテキストファイルの識別情報に基づいて、第1のテキストファイルを取得する。管理部24は、第1の編集に関する情報に基づいて、第1の編集「r3」の内容に関する情報(例えば、関数定義情報402の「before」)を取得する。管理部24は、第1の編集の内容と第2の編集の内容(例えば、「山田」→「安田部長」)とに基づいて、第1のテキストファイルを編集する。
【0062】
このように、管理部24は、第1の編集の内容と第2の編集の内容とに基づいて、第1のテキストファイルを編集する。これによって、関連するテキストファイルのテキストデータに不整合が発生しないように、関連するテキストファイルを編集することが可能である。
【0063】
インタフェース22は、第2の編集の内容を第1のテキストファイルに反映させるか否かを定めるための条件である反映条件を生成してもよい。管理部24は、第1のテキストファイルの元のテキストファイル(例えば、テキストファイル100)に対して実行された編集「r2」(例えば、不要語削除)に関する情報(例えば、著者情報)を含む第2メタ情報として、編集メタ情報301を取得する。管理部24は、第1のテキストファイルの元のテキストファイルに対して実行された編集に関する情報が反映条件に合致している場合、第2の編集の内容を第1のテキストファイルに反映させてもよい。第1のテキストファイルの元のテキストファイルに対して実行された編集に関する情報は、テキストデータの作成、削除、抽出及び加工のうちの少なくとも一つを表す制御情報(関数定義情報)と、第1のテキストファイルの著者情報と、第1のテキストファイルに関する時刻情報と、第1のテキストファイルの保存場所情報とのうちの少なくとも一つである。
【0064】
時刻情報と空間情報と実行された制御(関数)に関する情報と著者情報等を含む編集メタ情報がテキストファイルに付与されることによって、複数のテキストファイルの紐付けや、同一のテキスト(表記が同じである文字列等)の意味が考慮された編集が容易になる。時間的及び空間的に分散して保存されているテキストファイルを構造的に管理することが可能となる。
【0065】
編集メタ情報は、ユーザ端末4を操作した人の位置(空間情報)を含んでもよい。このような編集メタ情報を用いて、管理部24は、関連するテキストファイルにおいて編集を反映させる範囲を、ユーザ端末4を操作した人の位置に基づいて制御することが可能である。
【0066】
編集メタ情報は、テキストファイルが保存されているフォルダの位置情報(空間情報)を含んでもよい。このような編集メタ情報を用いて、管理部24は、関連するテキストファイルにおいて編集を反映させる範囲を、テキストファイルが保存されているフォルダの位置に基づいて制御することが可能である。
【0067】
ユーザ端末4による一度の編集作業によって、関連するテキストファイルを管理部24が一度に編集することが可能である。編集漏れ等の誤編集を回避することが可能である。テキストファイルの編集の効率を向上させることが可能である。テキストファイルの管理の構造化によって、編集処理の制御プログラムの効率的な実装が可能である。
【0068】
関連するテキストファイルのテキストデータを検索することが可能なだけでなく、関連するテキストファイルに変更を漏れなく反映することが可能である。また、編集の内容に関しても、ユーザによって定義した関数(制御)を用いてデータ管理装置2がテキストファイルを編集することが可能である。
【0069】
(変形例)
テキストファイルは、複数のテキストファイルに基づいて作成されてもよい。これらの複数のテキストファイルに対して、互いに異なる編集(関数の実行)が成されてもよい。
【0070】
図8は、実施形態の変形例において、複数のテキストファイルに基づいて作成されたテキストファイルの例を示す図である。
図8には、テキストファイル500と、テキストファイル501と、テキストファイル502と、テキストファイル503と、テキストファイル504とが、第1記憶部21に記憶されている各テキストファイルとして表されている。
【0071】
テキストファイル500は、製品「X」の開発案を表すテキストデータを含む。テキストファイル501は、製品「Y」の開発案を表すテキストデータを含む。テキストファイル502は、製品「X」の仕様と製品「Y」の仕様書を表すテキストデータを含む。テキストファイル503は、製品「X」の設計書を表すテキストデータを含む。テキストファイル504は、製品「Y」の設計書を表すテキストデータを含む。
【0072】
テキストファイル500とテキストファイル501という複数のテキストファイルに対して、仕様書テンプレートに書式を合わせるという編集が成される(関数が実行される)ことによって、テキストファイル502が作成される。テキストファイル502の製品「X」の記載に対して、設計書テンプレートに書式を合わせるという編集が成されることによって、テキストファイル503が作成される。テキストファイル502の製品「Y」の記載に対して、設計書テンプレートに書式を合わせるという編集が成されることによって、テキストファイル504が作成される。
【0073】
テキストファイル500に記載の「製品X」の「機能A」とテキストファイル500に記載の「機能A」とは、異なる機能を意味している。すなわち、テキストファイル500に記載の「機能A」とテキストファイル500に記載の「機能A」とは、異なる意味を持つテキストデータである。そこで、「製品X」の「機能A」と「製品Y」の「機能A」との混同が生じないように、「製品Y」についてのみ、「機能A」という記載が「機能D」という記載に変更される必要がある。
【0074】
このような場合、編集内容情報は、テキストファイル504を示すテキストIDと、行番号「5」と、開始位置「7文字目」と、終了位置「9文字目」と、編集前テキスト「機能A」と、編集後テキスト「機能D」と、反映条件「製品Yの機能A」とを含む。
【0075】
図9は、実施形態における、反映条件に応じて変更が反映されたテキストファイルと、テキストファイル管理情報との変形例を示す図である。
図9には、テキストファイル500(オリジナルのテキストファイル)と、テキストファイル501(オリジナルのテキストファイル)と、変更が反映されたテキストファイル502と、テキストファイル503と、編集によってテキストデータが変更されたテキストファイル504とが、第1記憶部21に記憶されている各テキストファイルとして表されている。
【0076】
図9に示されたテキストファイル504では、第5行目において「機能A」という記載が「機能D」と編集されている。このため、テキストファイル502では「製品Y」についてのみ、第6行目の編集前テキスト「機能A」が編集後テキスト「機能D」と変更されている。また、テキストファイル501では、第3行目において「機能A」という記載が「機能D」と編集されている。テキストファイル501は、オリジナルのテキストファイルであるが、
図6に示されたステップS203において「nullである」場合でもステップ204に処理を進めるようにすることで編集されてもよい。
【0077】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。