以下、本発明の好適な実施の形態(以下、「実施形態」という。)について、図面を用いて詳細に説明する。
[第1の実施形態]
<ハードウェア構成>
まず、本実施形態に係る文書管理装置100のハードウェア構成について、図2を用いて説明する。図2は、本発明の第1の実施形態に係る文書管理装置100のハードウェア構成の一例を示す図である。
本実施形態に係る文書管理装置100は、入力装置101と、表示装置102と、ドライブ装置103と、ROM(Read Only Memory)105と、RAM(Random Access Memory)106と、CPU(Central Processing Unit)107と、インタフェース装置108と、HDD(Hard Disk Drive)109とから構成され、それぞれバスで相互に接続されている。
入力装置101は、キーボード及びマウスなどで構成され、文書管理装置100に各操作信号を入力するのに用いられる。表示装置102は、ディスプレイなどで構成され、文書管理やデータ操作に関する情報など各種情報を表示する。インタフェース装置108は、文書管理装置100をネットワークなどのデータ伝送路に接続するインタフェースである。HDD109は、基本ソフトウェアであるOS(Operating System)や、本実施形態に係るデータ操作機能を含む各種機能を実現するアプリケーションソフトウェアなどに関するプログラムやデータを格納している。また、HDD109には、データ操作機能で用いる関連付けデータや文書管理機能で管理する文書データを含む各種電子データ(以下、「コンテンツ」という。)Cを管理するための情報管理DBが構築されている。
本実施形態に係るデータ操作機能を実現するためのデータ操作プログラムは、例えばCD−ROM(Compact Disk Read Only Memory)などの記録媒体104によって文書管理装置100に提供されるか、データ伝送路であるネットワークなどを通じてダウンロードされる。記録媒体104は、ドライブ装置103にセットされデータ操作プログラムが記録媒体104からドライブ装置103を介してHDD109にインストールされる。
ROM105は、文書管理装置100が起動されるときに実行されるBIOS(Basic Input/Output System)のプログラムや各種データを格納している。RAM106は、ROM105やHDD109から読み出された各種プログラムやデータを一時保持する。CPU107は、RAM106が一時保持しているプログラムを実行する。
このように、本実施形態に係る文書管理装置100では、RAM106に読み出されたデータ操作プログラムがCPU107で実行され、HDD109に格納された関連付けデータに基づいて、コンテンツCの操作領域(リージョン)に行うデータ操作を特定し、特定したデータ操作を実行することにより、以降に説明する「データ操作機能」を実現している。
<データ操作機能>
次に、本実施形態に係る文書管理装置100が有する「データ操作機能」を実現する各手段について、図3を用いて説明する。図3は、本発明の第1の実施形態に係る文書管理装置100が有するデータ操作機能を実現する手段の一例を示す図である。
[構成の概要]
本実施形態に係る文書管理装置100は、主に、関連付けデータを保持する保持手段41と、実行するデータ操作を特定する特定手段42と、特定したデータ操作を実行する実行手段43とから構成され、さらには、拡張性を支援するための関連付け切り替え手段44と、関連付け手段45とを有している。以下に、上記各手段について簡単に説明する。
保持手段41は、操作対象となるコンテンツCとデータ操作とを関連付ける関連付けデータを所定の記憶領域に保持する手段であり、特定手段42は、保持手段41に保持された関連付けデータを解釈し、解釈した結果からコンテンツCに対して行うデータ操作を特定する手段である。
実行手段43は、特定手段42による特定されたデータ操作を、操作対象のコンテンツCに対して実行する手段である。実行手段43は、図中に示すように、少なくとも1つ以上の実行手段431〜43n(データ操作機能のプラグインモジュール1〜n)で構成されている。
また、関連付け切り替え手段44は、ユーザによって、例えば、表示装置102に表示されたGUI(Graphical User Interface)機能を有する設定画面(データ操作設定手段)などのUI31を介して設定されたデータ操作設定に基づいて、操作対象となるコンテンツCに関連付けられたデータ操作を、設定されたデータ操作(別のデータ操作)に切り替える手段である。
同じように、関連付け手段45は、設定画面(属性情報設定手段)などのUI31を介して設定されたコンテンツCの操作領域(リージョン)の属性情報設定に基づいて、データ操作に操作領域(リージョン)を関連付ける手段である。
[動作の概要]
次に、上記で説明を行った各手段によって、本実施形態に係る文書管理装置100が有する「データ操作機能」をどのように動作させているかについて以下にその概要を説明する。
(動作手順1)関連付けデータの設定・更新
本実施形態に係る文書管理装置100は、まず、ユーザから、コンテンツCの「どの操作領域(リージョン)」に「どのようなデータ操作」を行うのかを、設定画面を介して受け付ける。その後、文書管理装置100は、受け付けた設定に基づいて、関連付け手段45により、ユーザが選択したデータ操作にユーザが指定した操作領域(リージョン)を関連付け、関連付け切り替え手段44により、データ操作が関連付けられた操作領域(リージョン)を、操作対象となるコンテンツCに関連付ける。このようにして、文書管理装置100は、保持手段41により保持されている操作対象となるコンテンツCとデータ操作とを関連付ける関連付けデータを設定・更新する。
(動作手順2)データ操作の特定
文書管理装置100は、特定手段42により、保持手段41により保持されている関連付けデータを解釈し、コンテンツCに対して行う少なくとも1つ以上のデータ操作を特定する。
(動作手順3)データ操作の実行
その結果、文書管理装置100は、実行手段43により、コンテンツCに対して、特定手段42により特定された少なくとも1つ以上のデータ操作を行う。
このようにして、本実施形態に係る文書管理装置100は、拡張性に優れ(カスタマイズが容易に行え)、操作対象となるコンテンツCに応じたデータ操作を行う。
<データ操作機能の詳細>
ここからは、本実施形態に係る文書管理装置100が有する「データ操作機能」について、図3に加えて、図4〜8を用いて詳細に説明する。
<<データ構成>>
まず、「データ操作機能」を実現するために用いる関連付けデータについて説明する。
本実施形態に係る保持手段41により保持している関連付けデータは、操作対象となるコンテンツCと操作領域(リージョン)とを関連付ける第1の関連付けデータと、操作領域(リージョン)と操作領域(リージョン)に対して行うデータ操作とを関連付ける第2の関連付けデータとから構成され、操作対象となるコンテンツCと、そのコンテンツCに対して行うデータ操作とを関連付けている。
本実施形態に係る保持手段41は、このように構成された関連付けデータを、例えば、HDD109などの所定の記憶領域に格納し保持する。
[第1の関連付けデータ]
図4は、本発明の第1の実施形態に係るコンテンツCとリージョンとの関連付けデータ(以下、「第1の関連付けデータ」という。)51のデータ構造の一例を示す図である。
まず、保持手段41は、図4に示すような第1の関連付けデータを保持している。第1の関連付けデータ51は、文書管理装置100が取り扱う文書データや画像データなどの電子データであるコンテンツCを識別する「コンテンツ識別情報」と、コンテンツCに対して所定のデータ操作を行う操作領域であるリージョンを識別する「リージョン識別情報」とから構成されている。ここで言う「リージョン」とは、コンテンツCの中で特定の領域(特定の場所)を意味する。但し、本実施形態では、点や線なども含まれる。
[第2の関連付けデータ]
図5は、本発明の第1の実施形態に係るリージョンとデータ操作との関連付けデータ(以下、「第2の関連付けデータ」という。)52のデータ構造の一例を示す図である。
また、保持手段41は、図5に示すような第2の関連付けデータ52を保持している。第2の関連付けデータ52は、XML(Extensible Markup Language)などのような構造化言語によって記述されたデータである。図5には、XMLによって記述された、主に、操作領域(リージョン)とデータ操作とを関連付ける定義データ52pと、文書管理装置100が有する各データ操作機能の定義データ51mとから構成される第2の関連付けデータの例が示されている。
以下に、図5を例に第2の関連付けデータに定義された内容について説明する。
(A)定義データ52pで定義されている内容について
・対応する定義タグ:<REGION ID = "R00X"> ・・・ </REGION>
・定義内容:
上記定義タグは、操作領域(リージョン)を識別する属性値(ID = "R00X")を持っており、例えば上記のような定義の場合には、操作領域(リージョン)が文字列"R00X"で特定されることを意味する。また、上記定義タグの間には、操作領域(リージョン)に対して行う文書管理装置100が有するデータ操作機能、すなわち操作情報が定義されている。操作情報の定義は、「<METHOD_LIST>ZZZZ</METHOD_LIST>」という形式で定義されており、例えば上記のような定義の場合には、機能名「ZZZZ」というデータ操作を行うことを意味する。
(B)定義データ52mで定義されている内容について
・対応する定義タグ:<REGION_METHOD Name = "ZZZZ"> ・・・ </REGION>
・定義内容:
上記定義タグは、文書管理装置100が有する各データ操作機能、すなわちデータ操作を行うプラグインモジュールを識別する属性値(Name = "ZZZZ")を持っており、例えば上記のような定義の場合には、データ操作を行うプラグインモジュールが文字列"ZZZZ"で特定されることを意味する。
このように、本実施形態に係る文書管理装置100は、第1の関連付けデータ51によりコンテンツCと操作領域(リージョン)とが関連付けられ、さらに、第2の関連付けデータ52により操作領域(リージョン)とデータ操作とが関連付けられている関連付けデータを保持手段41が保持していることによって、コンテンツCの「どこの操作領域(リージョン)」に対して「どのデータ操作」を行うかを特定することができる。
<<データ操作機能を実現する手段>>
以降に、文書管理装置100が有する「タイトル編集」のデータ操作の動作例を基に、本実施形態に係る「データ操作機能」を実現する各手段について説明する。
[関連付けデータの解釈]
図6は、本発明の第1の実施形態に係るコンテンツCとリージョンが関連付けられる仕組みの一例を示す図である。
本実施形態に係る特定手段42は、図3を用いて説明したように、保持手段41により保持されている関連付けデータを解釈し、解釈した結果からコンテンツCに対して行うデータ操作を特定する手段である。特定手段42は、以下に示す手順によりデータ操作を特定する。
(特定する手順1)リージョン識別情報を取得
文書管理装置100が取り扱っているコンテンツCのうち、ユーザがコンテンツ識別番号"C002"のコンテンツC2に対してデータ操作を行う場合に、特定手段42は、図6の破線枠Sに示すように、コンテンツC2のコンテンツ識別情報"C002"に基づいて、保持手段41により保持されている第1の関連付けデータ51を参照し、コンテンツC2に関連付けられたリージョン識別情報"R008"を取得する。
(特定する手順2)操作領域(リージョン)の定義内容を取得
特定手段42は、保持手段41に保持されている第2の関連付けデータ52を参照し、データが記述された言語を解釈可能なパーサ(例えばXMLパーサなど)によって、第2の関連付けデータ52に定義されている内容を解釈する。次に、特定手段42は、取得したリージョン識別情報"R008"と解釈した結果とに基づいて、操作領域(リージョン)を識別する属性値が"R008"である定義内容R8を取得する。
図7は、本発明の第1の実施形態に係るリージョンとデータ操作が関連付けられる仕組みの一例を示す図である。特定手段42は、例えば、図7に示すような第2の関連付けデータを解釈後、リージョン識別情報"R008"に該当する、操作領域(リージョン)を識別する属性値が"R008"である定義内容R8を取得する。
(特定する手順3)データ操作を特定
図7には、定義内容R8に操作領域(リージョン)の位置とその位置に行うデータ操作が定義されている例が示されている。このように、本実施形態に係る第2の関連付けデータ52には、"<METHOD_LIST>"タグによって定義される「操作領域(リージョン)に対して行うデータ操作の操作情報」のほか、"<POSITION>"タグによって定義される「コンテンツCの座標空間における操作領域(リージョン)の位置情報」などの操作領域(リージョン)の属性情報がある。
これにより、特定手段42は、取得した定義内容R8に基づいて、リージョン識別情報"R008"の操作領域(リージョン)の位置情報と、操作領域(リージョン)に関連付けられたデータ操作とを特定する。図7に示す第2の関連付けデータ52の例では、"<POSITION>10,500,100,700</POSITION>"から、コンテンツCの座標空間(本実施形態では二次元座標空間)における操作領域(リージョン)の位置「10,500,100,700」を特定し、さらに"<METHOD_LIST>タイトル編集</METHOD_LIST>"から、「10,500,100,700」に位置する操作領域(リージョン)に対して行うデータ操作「タイトル編集」を特定する。
[データ操作の実行]
本実施形態に係る実行手段43は、特定手段42により特定されたデータ操作をコンテンツCに対して行う。実行手段43は、特定手段42により特定された操作領域(リージョン)の位置情報に基づいて、図7に示すような、"<REGION_METHOD>"タグによる定義データM1の定義内容に従って、コンテンツCの操作領域(リージョン)にデータ操作を行うプラグインモジュールを実行する。
このように、本実施形態に係る文書管理装置100は、保持手段41により保持されている操作対象となるコンテンツCとデータ操作との関連付けデータに基づいて、特定手段42によりコンテンツCに対して行うデータ操作を特定し、実行手段43により、特定したデータ操作をコンテンツCの操作領域(リージョン)に対して行うことができる。上記に示したデータ操作特定・実行により、例えば、図8に示すような「コンテンツ編集」が可能となる。
図8は、本発明の第1の実施形態に係るデータ操作の表示画面61の一例を示す図である。図8には、図7に示した第2の関連付けデータ52に定義された操作領域(リージョン)の位置情報とデータ操作「タイトル編集」が、コンテンツ識別情報"C002"のコンテンツC2に対して行われた場合の表示画面例が示されている。
ユーザは、図8に示すような「コンテンツ編集」の表示画面61を介して、コンテンツCに対してデータ操作を行う。例えば、ユーザは、コンテンツ編集を行うときに、画面上のポインタ81をコンテンツC2の操作領域(リージョン)91へ移動する。このとき、表示画面61上には、テキスト入力可能な「タイトル編集用」のウィンドウ71が表示される。ユーザは、このウィンドウ71に新たなタイトルを入力すると、コンテンツC2上の「●●報告書」のタイトルが入力後のタイトルへ更新される。
[データ操作の設定・変更]
次に、本実施形態に係る文書管理装置100が提供する、コンテンツCに対して行うデータ操作の設定・変更機能について、図9〜11を用いて説明する。
図9は、本発明の第1の実施形態に係るデータ操作変更を設定する表示画面61の一例を示す図である。図9には、コンテンツ識別情報"C002"のコンテンツC2に対して行うデータ操作を変更する場合の表示画面例が示されている。
ユーザは、図9に示すような「コンテンツ編集」の表示画面61を介して、コンテンツCに対して行うデータ操作を変更する。例えば、ユーザは、データ操作を変更するときに、画面上のポインタ81をコンテンツC2の操作領域(リージョン)91へ移動し選択する(例えばマウスのボタンをクリックする)。このとき、表示画面61上には、「データ操作の設定・変更/データ操作削除」を指示するメニュー項目72が表示される。ユーザは、操作領域(リージョン)91からメニュー項目72へポインタ81を移動し、メニュー項目72に表示された項目の中から「データ操作の設定・変更」を選択する。その結果、次に説明する図10に示すようなデータ操作変更を設定するUI31である設定画面62へ遷移する。
図10は、本発明の第1の実施形態に係るデータ操作変更を設定する設定画面62の一例を示す図である。図10には、ユーザがUI31を介して、変更後のデータ操作を「電子署名スタンプ」に選択設定した例が示されている。このように選択された変更後のデータ操作設定は、画面上の確定ボタンBが押下された後に確定する。
本実施形態に係る文書管理装置100は、関連付け切り替え手段44により、確定ボタンBが押下されたときに、UI31である設定画面62(データ操作設定手段)を介して設定されたデータ操作設定に基づいて、操作対象となるコンテンツCに関連付けられたデータ操作を、設定されたデータ操作(別のデータ操作)に切り替える。関連付け切り替え手段44によりデータ操作が切り替えられる一例を図11に示す。
図11は、本発明の第1の実施形態に係るデータ操作変更後のコンテンツCとリージョン91との関連付けデータ51の遷移の一例を示す図である。図11には、コンテンツC2に対して行うデータ操作を「タイトル編集」から「電子署名スタンプ」へ変更した場合のデータ遷移例が示されている。
本実施形態に係る関連付け切り替え手段44は、保持手段41に保持されている第1の関連付けデータ51のリージョン識別情報を変更する。
例えば、図11に示すように、第2の関連付けデータ52には、操作領域(リージョン)91を識別する属性値"R008"の定義内容R8には、「タイトル編集」のデータ操作が定義されており、操作領域(リージョン)91を識別する属性値"R003"の定義内容R3には、「電子署名スタンプ」のデータ操作が定義されている。
このような場合に、関連付け切り替え手段44は、図11の破線枠Sに示すように、リージョン識別情報"R008"を"R003"へ変更する。
このように、本実施形態に係る文書管理装置100は、関連付けデータ切り替え手段44により、コンテンツCに対して行うデータ操作を設定・変更する「データ操作設定・変更機能」を提供している。これによって、ユーザは、コンテンツCに対して行うデータ操作を簡便に設定・変更することができる。
[操作領域(リージョン)の属性情報の設定・変更]
次に、本実施形態に係る文書管理装置100が提供する、コンテンツCの操作領域(リージョン)91の属性情報の設定・変更機能について、図12及び図13を用いて説明する。
図12は、本発明の第1の実施形態に係るリージョン91の属性情報を設定する設定画面63の一例を示す図である。図12には、コンテンツ識別情報"C002"のコンテンツC2に対して行うデータ操作の操作領域(リージョン)91を変更する場合の表示画面例が示されている。
ユーザは、図12に示すような「リージョン編集」の表示画面63を介して、コンテンツCに対して行うデータ操作の操作領域(リージョン)91を変更する。例えば、ユーザは、データ操作を変更するときに、画面上のポインタ81を用いて、操作領域(リージョン)91として設定したい範囲を選択する(マウスでドラッグ&ドロップする)。このとき、表示画面63上には、選択した操作領域(リージョン)91が表示される(図中の破線枠)。その結果、コンテンツCの操作領域(リージョン)91の属性情報が設定される。
本実施形態に係る文書管理装置100は、関連付け手段45により、UI31である設定画面63(属性情報設定手段)を介して設定された操作領域(リージョン)91の属性情報に基づいて、操作領域(リージョン)91をデータ操作に関連付ける。関連付け手段45により操作領域(リージョン)91が関連付けられる一例を図13に示す。
図13は、本発明の第1の実施形態に係る属性情報設定後のリージョン91とデータ操作との関連付けデータ52の遷移の一例を示す図である。図13には、コンテンツC2に対して行うデータ操作「電子署名スタンプ」の操作領域(リージョン)91を設定した場合のデータ遷移例が示されている。
本実施形態に係る関連付け手段45は、保持手段41に保持されている第2の関連付けデータ52の操作領域(リージョン)91の属性情報を付加・変更することで、データ操作と操作領域(リージョン)91とを関連付ける。
図13(a)には、操作領域(リージョン)91の属性情報が付加される前の第2の関連付けデータ52Tが示されている。また、図13(b)には、付加された後の第2の関連付けデータ52が示されている。
図13に示すように、関連付け切り替え手段44は、図13(b)の破線枠P1に示すように、UI31である設定画面63(データ操作設定手段)を介して設定された操作領域(リージョン)91の属性情報を、第2の関連付けデータ52の中で該当する操作領域(リージョン)91の定義内容に付加し、同じ定義内容に定義されているデータ操作と関連付ける。
このように、本実施形態に係る文書管理装置100は、関連付け手段45により、コンテンツCに対して行うデータ操作の操作領域(リージョン)91を設定・変更する「操作領域(リージョン)設定・変更機能」を提供している。これによって、ユーザは、コンテンツCに対して行うデータ操作の操作領域(リージョン)91を簡便に設定・変更することができる。
これまでに説明を行ってきたように、本実施形態に係る文書管理装置100は、操作対象となるコンテンツCと、コンテンツCの操作領域(リージョン)91と、操作領域(リージョン)91に対して行うデータ操作との関連付けをデータ化し、各データ操作機能のプラグインモジュールから切り離して関連付けデータ(第1の関連付けデータ51及び第2の関連付けデータ52)として保持し、この関連付けデータ51及び52に基づいて、コンテンツCの操作領域(リージョン)91に行うデータ操作を特定し、特定したデータ操作を実行する構成としたことにより、文書データを含むコンテンツCに所定のデータ操作を行うデータ操作機能において、拡張性に優れ(カスタマイズが容易に行え)、操作対象となるコンテンツCに応じたデータ操作機能を提供することができる。
[複数のデータ操作の設定・変更]
さらに、本実施形態に係る文書管理装置100は、1つのコンテンツCに対して複数のデータ操作を行うことができる。
ユーザがコンテンツCに対して行いたいデータ操作は、必ずしも1つとは限らない。このような場合、行いたいデータ操作ごとに設定・変更を行わなければならないため操作が煩雑となる。このような点に鑑み、本実施形態に係る文書管理装置100では、1つのコンテンツCに対して行うデータ操作を複数設定することができる。以下に、図14及び図15を用いて説明する。
図14は、本発明の第1の実施形態に係る1つのコンテンツCに対して複数のデータ操作を行う場合のデータ操作変更を設定する設定画面62の一例を示す図である。図14には、UI31である設定画面62(データ操作設定手段)を介して、データ操作「電子署名スタンプ」、「アクセス権設定」及び「電子メール送信」が設定された場合の例が示されている。
上記のように1つのコンテンツCに対して複数のデータ操作が設定された場合に、本実施形態に係る文書管理装置100では、保持手段41に保持されている第2の関連付けデータ52のデータ操作情報の定義内容を設定・更新する。
図15は、本発明の第1の実施形態に係る1つのコンテンツCに対して複数のデータ操作を行う場合のデータ操作変更後のコンテンツCとリージョン91との関連付けデータ51の遷移の一例を示す図である。図15では、図13(b)に示した「電子署名スタンプ」のデータ操作情報が定義された第2の関連付けデータ52に、さらに「アクセス権」と「電子メール送信」のデータ操作情報P2が設定された場合の例が示されている。
このように、本実施形態に係る文書管理装置100は、1つのコンテンツCに対して複数のデータ操作を実行することができる。そのため、文書管理装置100では、例えば、コンテンツCに対して所定の編集・加工を行った後に、編集・加工後のコンテンツCを所定の宛先にデータ送信することができ、一連の作業工程を自動化することも可能である。
[複数の操作領域(リージョン)の属性情報の設定・変更]
また、本実施形態に係る文書管理装置100は、1つのコンテンツCに対して複数の操作領域(リージョン)91にデータ操作を行うことができる。
ユーザがコンテンツCに対して行うデータ操作の操作領域(リージョン)91は、必ずしも1つとは限らない。このような場合、操作領域(リージョン)91ごとに設定・変更を行わなければならないため操作が煩雑となる。このような点に鑑み、本実施形態に係る文書管理装置100では、1つのコンテンツCに対して行うデータ操作の操作領域(リージョン)91を複数設定することができる。以下に、図16及び図17を用いて説明する。
図16は、本発明の第1の実施形態に係る1つのコンテンツCに対して複数のリージョン91にデータ操作を行う場合のデータ操作の表示画面61の一例を示す図である。図16には、UI31である設定画面6(属性情報設定手段)を介して、コンテンツC2に対して行う3つのデータ操作の操作領域(リージョン)91a〜cが設定された場合の例が示されている。
上記のように1つのコンテンツCに対して複数の操作領域(リージョン)91a〜cが設定された場合に、本実施形態に係る文書管理装置100では、保持手段41により、次の図17に示すような構成の関連付けデータを保持する。
図17は、本発明の第1の実施形態に係る1つのコンテンツCに対して複数のリージョン91にデータ操作を行う場合の関連付けデータ53及び54の一例を示す図である。図17(a)では、コンテンツCの部分操作対象と複数の操作領域(リージョン)91とが関連付けられた第3の関連付けデータ53の一例が示されている。また、図17(b)には、操作対象となるコンテンツCと第3の関連付けデータ53とが関連付けされた、複数の操作領域(リージョン)91a〜cに対応する第1の関連付けデータ54の一例が示されている。
本実施形態に係る第3の関連付けデータ53は、コンテンツCにおいてデータ操作の対象となる部分を識別する内部識別情報と、操作領域(リージョン)91を識別するリージョン識別情報と、これらの情報を1つにまとめたテンプレートを識別するテンプレート識別情報とから構成されており、内部識別情報とリージョン識別情報とが関連付けられている。
また、本実施形態に係る複数の操作領域(リージョン)91a〜cに対応する第1の関連付けデータ54は、操作対象となるコンテンツCを識別するコンテンツ識別情報とテンプレート識別情報とから構成されており、それぞれが関連付けられている。
このようなデータ構成とすることによって、本実施形態に係る文書管理装置100は、まず、コンテンツ識別情報を基に第3の関連付けデータ53を特定し、特定した第3の関連付けデータ53により、コンテンツCにおいて部分操作対象ごとに行うデータ操作を特定することができる。
このように、本実施形態に係る文書管理装置100は、1つのコンテンツCにおいて複数の操作領域(リージョン)91に対しデータ操作を実行することができる。そのため、文書管理装置100では、コンテンツCに対して複数の操作領域(リージョン)91に対して複数のデータ操作を行うなどの、複雑なデータ操作を容易に行うことが可能となる。
<処理手順>
これまでに説明を行った本実施形態に係る文書管理装置100が有する「データ操作機能」の具体的な処理手順について図18〜22を用いて説明する。
<<基本処理手順>>
図18は、本発明の第1の実施形態に係るデータ操作機能の基本処理手順を示すフローチャートである。
本実施形態に係る文書管理装置100は、操作対象となるコンテンツCのコンテンツ識別情報に基づいて、保持手段41が保持している第1の関連付けデータ51を参照する(ステップS101)。
文書管理装置100は、特定手段42により、操作領域(リージョン)91を識別するリージョン識別情報に基づいて、保持手段41が保持している第2の関連付けデータ52を解釈し、コンテンツCに対して行うデータ操作を特定する関連付けデータ解釈処理を行う(ステップS102)。
文書管理装置100は、特定手段42により特定されたデータ操作を、実行手段43によりコンテンツCの操作領域(リージョン)91に対してデータ操作実行処理を行う(ステップS103)。
図19は、本発明の第1の実施形態に係るリージョン91とデータ操作との関連付けデータ解釈処理の処理手順を示すフローチャートである。
本実施形態に係る文書管理装置100は、特定手段42により第2の関連付けデータ52を解釈し、リージョン識別情報を基に定義されている操作領域(リージョン)91の属性情報を取得し(ステップS201)、さらに、コンテンツCに対して行うデータ操作を特定し、そのデータ操作数と各データ操作に対応するデータ操作情報とを取得する(ステップS202)。
図20は、本発明の第1の実施形態に係るデータ操作実行処理の処理手順を示すフローチャートである。
本実施形態に係る文書管理装置100は、実行手段43により、特定手段42により特定されたデータ操作を、取得した操作領域(リージョン)91の属性情報に基づいて、コンテンツCの操作領域(リージョン)91に対して、取得したデータ操作情報に従ってデータ操作を行う(ステップS301)。
文書管理装置100は、特定手段42によって取得した定義内容に定義されたデータ操作の全てを実行したか否かを判定する(ステップS302)。
定義されたデータ操作が全て実行された場合には(ステップS302がYESの場合)、処理を終了する。また、定義されたデータ操作が全て実行されていない場合には(ステップS302がNOの場合)、上記ステップS301の処理手順を、取得した操作数分繰り返して行う。
このように、本実施形態に係る文書管理装置100は、拡張性に優れ(カスタマイズが容易に行え)、操作対象となるコンテンツに応じたデータ操作を行うと言う「データ操作処理」を実現している。
<<複数の操作領域(リージョン)に対してのデータ操作>>
図21は、本発明の第1の実施形態に係る1つのコンテンツCに対して複数のリージョン91にデータ操作を行うデータ操作機能の基本処理手順を示すフローチャートである。
本実施形態に係る文書管理装置100は、操作対象となるコンテンツCのコンテンツ識別情報に基づいて、保持手段41が保持している、複数の操作領域(リージョン)91a〜cに対応する第1の関連付けデータ54を参照する(ステップS401)。
文書管理装置100は、テンプレート識別情報に基づいて、保持手段41が保持している第3の関連付けデータ53を参照する(ステップS402)。
文書管理装置100は、第3の関連付けデータ53のリージョン識別情報から、コンテンツCにおいてデータ操作の対象となる部分に関連付けられた操作領域(リージョン)91の数を取得する(ステップS403)。
文書管理装置100は、特定手段42により、操作領域(リージョン)91を識別するリージョン識別情報に基づいて、保持手段41が保持している第2の関連付けデータ52を解釈し、コンテンツCに対して行うデータ操作を特定する関連付けデータ解釈処理を行う(ステップS404)。
文書管理装置100は、特定手段42により特定されたデータ操作を、実行手段43によりコンテンツCの操作領域(リージョン)91に対してデータ操作実行処理を行う(ステップS405)。
文書管理装置100は、ステップS403の処理手順において取得した操作領域(リージョン)91の数全て操作領域(リージョン)91に対してデータ操作を行ったか否かを判定する(ステップS406)。
操作領域(リージョン)91に対して全てのデータ操作が実行された場合には(ステップS406がYESの場合)、処理を終了する。また、全てのデータ操作が実行されていない場合には(ステップS406がNOの場合)、ステップS404の処理手順に戻り、以降の処理を繰り返す。
<<関連付けデータ設定・更新>>
図22は、本発明の第1の実施形態に係る関連付けデータ更新の基本処理手順を示すフローチャートである。
本実施形態に係る文書管理装置100は、関連付け切り替え手段44により、保持手段41が保持している第1の関連付けデータ51を参照し(ステップS501)、UI31である設定画面62を介して設定されたデータ操作情報を基に、リージョン識別情報を切り替え更新する(ステップS502)。
文書管理装置100は、関連付け手段45により、保持手段41が保持している第2の関連付けデータ52を参照する(ステップS503)。
文書管理装置100は、UI31である設定画面63を介して設定された属性情報を基に、操作領域(リージョン)91の属性情報を付加し(ステップS504)、第2の関連付けデータ52を更新する(ステップS505)。
このように、本実施形態に係る文書管理装置100は、コンテンツCに対して行うデータ操作及びその操作領域(リージョン)91について設定・変更する「データ操作及び操作領域(リージョン)設定・変更機能」を実現している。
<まとめ>
以上のように、本発明の第1の実施形態によれば、本実施形態に係る文書管理装置100は、「データ操作機能」を以下の手順により実現している。
(手順1)関連付けデータの設定・更新
本実施形態に係る文書管理装置100は、まず、ユーザから、コンテンツCの「どの操作領域(リージョン)」に「どのようなデータ操作」を行うのかを、UI31である設定画面62及び63を介して受け付ける。その後、文書管理装置100は、受け付けた設定に基づいて、関連付け手段45により、ユーザが選択したデータ操作にユーザが指定した操作領域(リージョン)91を関連付け、関連付け切り替え手段44により、データ操作が関連付けられた操作領域(リージョン)91を、操作対象となるコンテンツCに関連付ける。このようにして、文書管理装置100は、保持手段41により保持されている操作対象となるコンテンツCとデータ操作とを関連付ける関連付けデータを設定・更新する。
(手順2)リージョン識別情報を取得
文書管理装置100は、特定手段42により、コンテンツC2のコンテンツ識別情報に基づいて、保持手段41により保持されている第1の関連付けデータ51を参照し、該当するコンテンツCに関連付けられたリージョン識別情報を取得する。
(手順3)操作領域(リージョン)の定義内容を取得
文書管理装置100は、特定手段42により、保持手段41に保持されている第2の関連付けデータ52を参照し、データが記述された言語を解釈可能なパーサ(例えばXMLパーサなど)によって、第2の関連付けデータ52に定義されている内容を解釈する。次に、文書管理装置100は、特定手段42により、第2の関連付けデータ52を解釈後、リージョン識別情報に該当する操作領域(リージョン)91の定義内容を取得する。
(手順4)データ操作を特定
これにより、文書管理装置100は、特定手段42により、取得した定義内容に基づいて、リージョン識別情報の操作領域(リージョン)91の位置情報と操作領域(リージョン)91に関連付けられたデータ操作とを特定する。
(手順5)データ操作の実行
その結果、文書管理装置100は、実行手段43により、特定手段42により特定された操作領域(リージョン)91の位置情報に基づいて、データ操作の定義内容に従って、コンテンツCの操作領域(リージョン)91にデータ操作を行うプラグインモジュールを実行する。
このように、本実施形態に係る文書管理装置100は、上記(手順1)〜(手順5)によって、操作対象となるコンテンツCと、コンテンツCの操作領域(リージョン)91と、操作領域(リージョン)91に対して行うデータ操作との関連付けをデータ化して、各データ操作機能のプラグインモジュールから切り離して関連付けデータ(第1の関連付けデータ51と第2の関連付けデータ52)として保持し、この関連付けデータに基づいて、コンテンツCの操作領域(リージョン)91に行うデータ操作を特定し、特定したデータ操作を実行する。
よって、本実施形態に係る文書管理装置100は、文書データを含むコンテンツCに所定のデータ操作を行うデータ操作機能において、拡張性に優れ(カスタマイズが容易に行え)、操作対象となるコンテンツCに応じたデータ操作を行うことができる。
[第2の実施形態]
第1の実施形態では、「操作対象となるコンテンツと、コンテンツの操作領域(リージョン)と、操作領域(リージョン)に対して行うデータ操作との関連付けに基づいて、コンテンツの操作領域(リージョン)に行うデータ操作を特定し、特定したデータ操作機能のプラグインモジュールを実行する」データ操作機能の仕組みについて説明を行った。
従来、提供業務などで取り扱われるコンテンツは、記述様式が決まっており、例えば帳票データや伝票データなどのように、特に画像データの入力や編集操作では、入力や編集用のマクロを設計したり、専用の業務パッケージを購入したり、また極力業務に即した装置を用意したりして利用するのが一般的であった。
しかし、このような入力・編集環境を使用するユーザには、入力や編集を行うためにある程度のスキルが要求される。また、業務パッケージなどの導入に伴い、入力・編集環境の構築に多大な時間とコストがかかってしまう。
本来であれば、特別なシステムを導入することなく、ユーザが簡便でかつ自由にカスタマイズ可能な入力・編集環境を提供することが望ましい。
そこで、本実施形態では、拡張性に優れた(カスタマイズが容易に行える)データ操作機能、特に、ユーザの使用頻度が高い「データ入力操作」について説明する。
なお、以降に本実施形態について説明するが、本実施形態と第1の実施形態とで同一の技術的事項については、第1の実施形態と同一図面及び同一符号を参照し、ここでの説明を省略する。
<データ操作機能の詳細>
図23は、本発明の第2の実施形態に係る文書管理装置100が有するデータ操作機能を実現する手段の一例を示す図である。
本実施形態に係る文書管理装置100は、第1の実施形態において、図3を用いて前述したような各手段を有しており、これら各手段によりデータ操作機能を実現する。
その中で本実施形態は、データ入力操作を行うプラグインモジュール(実行手段43)に、テキストデータの入力操作を行うテキスト入力実行手段43aと、数値データの入力操作を行う数値入力実行手段43bと、日時データ(日付と時刻)の入力操作を行う日時入力実行手段43cとを有している。これら各実行手段43については、以降に詳しく説明する。
まず、本実施形態に係るデータ操作機能において、「操作対象となるコンテンツCと、コンテンツCの操作領域(リージョン)91と、操作領域(リージョン)91に対して行うデータ操作との関連付けに基づいて、コンテンツCの操作領域(リージョン)91に行うデータ入力操作を行う上記各実行手段43を決定するのか」について説明する。
<処理手順>
データ操作機能の基本処理手順については、第1の実施形態において、図18を用いて説明を行った通りである。その中で、上記に挙げる処理(関連付けを基にデータ操作を行う実行手段を決定する処理)は、図18のステップS102に示した「関連付けデータ解釈処理」からステップS103に示した「データ操作実行処理」までの処理手順の中で行われる。以下に、その処理手順について説明する。
<<基本処理手順>>
図24は、本発明の第2の実施形態に係るリージョン91に関するデータの解釈とデータ操作を行うプラグインモジュールを決定までの基本処理手順を示すフローチャートである。
文書管理装置100は、特定手段42により、第2の関連付けデータ52に定義されている操作領域(リージョン)91に関するデータを解釈し、操作領域(リージョン)91の属性情報を取得する(ステップS601)。
続いて、ステップS601の処理手順で取得した属性情報のうち、コンテンツCに対応する操作領域(リージョン)91の位置情報(コンテンツCの座標空間)に基づいて、データ入力操作を行う位置を決定する(ステップS602)。
文書管理装置100は、特定手段42により特定されたデータ入力操作から、ステップS602の処理手順で決定された位置に配置される操作領域(リージョン)91対して行うデータ入力操作のプラグインモジュール(実行手段43)を決定する(ステップS603)。
これにより、文書管理装置100では、コンテンツCの操作領域(リージョン)91に対して、所定のデータ入力操作が実行可能となる。
[リージョンに関するデータ]
図25は、本発明の第2の実施形態に係るリージョン91に関するデータの一例を示す図である。図25には、前述したステップ601の処理手順において解釈する操作領域(リージョン)91に関するデータの例が示されている。
操作領域(リージョン)91に関するデータは、第1の実施形態において図5を用いて説明を行った第2の関連付けデータ52内の操作領域(リージョン)とデータ操作とを関連付ける定義データ52pに定義されている。
操作領域(リージョン)91に関するデータには、"<REGION_ID>"タグにより定義可能なリージョン識別情報や"<REGION_POSITION>"タグにより定義可能な操作領域(リージョン)91の位置情報などが含まれ、これらの定義内容RPが、コンテンツCの操作領域(リージョン)91ごとの属性情報にあたる。
特定手段42は、上記のようなデータ構成の操作領域(リージョン)91に関するデータについても構文解析を行うことで、定義内容を解釈し、データ内に定義された操作領域(リージョン)91の属性情報の各属性値を取得する。
<<データ入力処理手順>>
前述した処理手順を踏まえ、以下に、コンテンツCに対する各種データ入力操作を行う処理手順について説明する。図26は、本発明の第2の実施形態に係るデータ入力操作の処理手順を示すフローチャートである。
文書管理装置100は、ユーザからの動作指示を受け付けると、ユーザが指定した操作対象のコンテンツCを、コンテンツCが格納されている所定の記憶領域から読み出し(ステップS701)、文書管理装置100が備える表示装置102の画面に表示する(ステップS702)。
続いて、文書管理装置100は、操作対象となるコンテンツCのコンテンツ識別情報に対応付けられたリージョン識別情報に基づいて、第2の関連付けデータ52を解釈し、コンテンツCに対して行うデータ入力操作を特定する(ステップS703)。このとき、操作領域(リージョン)91の属性情報が取得される。
文書管理装置100は、ステップS703の処理手順において、どのデータ入力操作に特定されたのかを判定する(ステップS704)。
文書管理装置100は、特定されたデータ入力操作が「テキスト入力」の場合(ステップS704が「テキスト入力」の場合)、テキスト入力プラグインモジュール(テキスト入力実行手段43a)を実行する(ステップS705)。
また、文書管理装置100は、特定されたデータ入力操作が「数値入力」の場合(ステップS704が「数値入力」の場合)、数値入力プラグインモジュール(数値入力実行手段43b)を実行(ステップS706)、また、特定されたデータ入力操作が「日時入力」の場合(ステップS704が「日時入力」の場合)、日時入力プラグインモジュール(日時入力実行手段43c)を実行する(ステップS707)。
また、文書管理装置100は、特定されたデータ入力操作が「テキスト入力」、「数値入力」、又は「日時入力」のどれにも該当しない場合、図に示す処理を終了する。
このようにして、文書管理装置100では、複数個用意されたデータ入力操作を行うプラグインモジュール(実行手段43)の中から、コンテンツCの操作領域(リージョン)91に対して行うデータ入力操作を特定し、その特定結果を基に、対応するデータ入力操作を行うプラグインモジュール(実行手段43)を実行する。
また、文書管理装置100では、操作対象であるコンテンツCの表示(ステップS702)と同一処理手順の中で、実行するデータ入力操作のプラグインモジュール(実行手段43)を起動する。
これにより、コンテンツCの表示とデータ入力操作とを連動して行え、誤った入力操作や、未入力防止(不完全なデータの生成を防止)することができる。
<各種データ入力機能>
ここからは、前述したステップS705〜S707それぞれにおいて行われる、各種データ入力操作について、「(1)テキスト入力操作機能」、「(2)数値入力操作機能」、及び「(3)日時入力操作機能」の順に詳しく説明する。
(1)テキスト入力操作機能
テキスト入力操作機能は、テキスト入力プラグインモジュール(テキスト入力実行手段43a)が、RAM106上に読み出され、CPU107により実行されることにより実現される機能であり、操作領域(リージョン)91に対してEdit BoxなどのようなUI31を生成し、生成したUI31を介して入力されたテキストデータを入力データDとして受け付ける。以下に、テキスト入力プラグインモジュール(テキスト入力実行手段43a)の機能構成について説明する。
[機能構成:その1]
図27は、本発明の第2の実施形態に係るテキスト入力プラグインモジュールの機能構成例(その1)を示す図である。
テキスト入力プラグインモジュール(テキスト入力実行手段43a)は、表示画面生成部431aと、描画部432aと、入力受付部433aと、属性情報取得部435aとから構成される。以下に、これら各機能部について簡単に説明する。
表示画面生成部431aは、Edit BoxなどのUI31を構成するグラフィック部品群を生成し、描画部432aは、表示画面生成部431bにより生成されたグラフィック部品群を、表示されるコンテンツCの操作領域(リージョン)91に隣接する位置に配置し、描画する。
入力受付部433aは、UI31を介してユーザからのデータ入力を受け付ける。また、属性情報取得部435aは、特定手段42により解釈され、所定の記憶領域に一時保持されている操作領域(リージョン)の属性情報43Raの各属性値を取得する。
また、表示画面生成部431aは、モジュールが起動され、実行要求を受け付けると、属性情報取得部435aにより取得された操作領域(リージョン)91の属性情報43Raに含まれるUI生成情報に基づいてグラフィック部品群を生成する。
例えば、表示画面生成部431aは、属性情報43RaのEdit Boxのウィンドウサイズを基にウィンドウ画像を生成し、生成した画像と、属性情報43RaのEdit Boxの表示位置(座標値)とを、描画部432aへ渡す。その結果、描画部432aは、ウィンドウ画像を表示位置(座標値)に配置し、コンテンツC上に描画する。
[機能動作]
以下に、上記各機能部により実現されるテキスト入力操作機能の動作について説明する。図28は、本発明の第2の実施形態に係るテキスト入力操作の処理手順(その1)を示すフローチャートである。
テキスト入力操作機能は、モジュールが起動されると、動作要求を受け付けた表示画面生成部431aが、属性情報取得部435aに対して、操作領域(リージョン)91の属性情報43Raに含まれるUI生成情報の取得を要求する。その結果、属性情報取得部435aは、取得要求に従って、一時保持されている属性情報43Raの各種属性値から、UI生成情報であるUI31(Edit Box)の表示位置(座標値)及びウィンドウサイズそれぞれの値を取得する(ステップS801)。
表示画面生成部431aは、属性情報取得部435aが取得したウィンドウサイズに基づき、UI31(Edit Box)のグラフィック部品群を生成し、生成したウィンドウ画像と、属性情報取得部435aが取得した表示位置(座標値)とを描画部432aへ渡す。これにより、描画部432aが、受け取った表示位置(座標値)を基に、操作領域(リージョン)91に隣接したコンテンツC上の所定の位置にUI31(Edit Box)を描画し、入力用UI画面が表示される(ステップS802)。
テキスト入力操作機能は、入力受付部433aにより、UI31(Edit Box)を介してテキスト入力を受け付ける入力制御処理を行う(ステップS803)。
このとき、テキスト入力操作機能は、入力されたテキストデータが確定するまで(ステップS804がNOの場合)、ステップS803の処理手順へ戻り、上記入力制御処理を継続して行い、一方、入力されたテキストデータが確定すると(ステップS804がYESの場合)、テキストデータを入力データDとして、図に示す処理を終了する。
このように、入力されたテキストデータが確定するまでは、何度でも入力操作が可能となっている。
なお、上記ステップS803の処理手順において、ユーザによって行われるUI31(Edit Box)へのテキスト入力は、例えば、文書管理装置100が備える入力装置101であるキーボードや、画面に表示されたソフトウェアキーボードなどから行われる。また、音声入力やOCR(Optical Character Reader)入力によるものであってもよい。
[機能構成:その2]
前述したテキスト入力プラグインモジュール(テキスト入力実行手段43a)では、UI31(Edit Box)を介して入力されるテキストデータを入力データDとして受け付けるテキスト入力操作の基本構成について説明を行った。
ここからは、所定の制御値に従って文字(キャラクタ)の入力制御を行う入力文字制御機能を含む構成について説明する。
図29は、本発明の第2の実施形態に係るテキスト入力プラグインモジュールの機能構成例(その2)を示す図である。
図29に示すように、テキスト入力プラグインモジュール(テキスト入力実行手段43a)は、前述した各機能部に加えて、入力制御部434aと、制御結果通知部436aとを有している。以下に、上記入力制御部434a及び制御結果通知部436aについて簡単に説明する。
入力制御部434aは、所定の制御値に従って、「入力文字数制御」、「入力文字種制御」、及び「入力可否制御」の各入力文字制御を行う。
入力制御部434aは、属性情報取得部435aにより取得された操作領域(リージョン)91の属性情報43Raに含まれる入力制御情報に基づいて制御を行う。つまり、上記所定の制御値が、属性情報43Raに含まれる入力制御情報の各値となる。
入力制御情報には、例えば、入力文字数を制御するための入力時の最大/最小文字数を示す値や、入力文字種を制御するための入力時の文字の種類を示す値、また、入力可否制御を行うための入力許可の有無を示す値などがある。
(入力文字数制御)
入力制御部434aは、入力文字数制御を行う場合に、入力制御情報の最大/最小文字数を基に、入力受付部433aにより受け付けた入力文字数が制限範囲内か否かを判定し、制限範囲内と判定された入力のみ許可する。
(入力文字種制御)
入力制御部434aは、入力文字種制御を行う場合に、入力制御情報の入力文字種を基に、入力受付部433aにより受け付けた入力文字種が入力可能な文字種が否かを判定し、入力可能と判定された入力のみ許可する。また、入力制御部434aは、入力文字種制御において制御対象を、例えば、英数半角入力、全角文字、又はパスワードと言った、特定の文字種類としている。
(入力可否制御)
入力制御部434aは、入力可否制御を行う場合に、入力制御情報の入力許可有無(入力可否)を基に、入力受付部433aによりテキスト入力を受け付けるか否かを判定し、入力許可あり(入力可)のときのみ入力を許可する。
制御結果通知部436aは、入力制御部434aによる入力文字制御の結果をユーザに通知する。
制御結果通知部436aは、入力文字制御の結果を知らせる所定のメッセージを画面上に表示するために、表示画面生成部431aに対して、メッセージ画面の生成を要求する。その結果、表示画面生成部431a及び描画部432aにより、要求されたメッセージ画面が描画され、画面に表示される。
[機能動作]
以下に、上記各機能部により実現されるテキスト入力操作機能の動作について、「入力文字数制御」、「入力文字種制御」、及び「入力可否制御」の順に説明する。
(A:入力文字数制御)
図30は、本発明の第2の実施形態に係るテキスト入力操作の処理手順(その2−1)を示すフローチャートである。
テキスト入力操作機能は、モジュールが起動されると、動作要求を受け付けた表示画面生成部431aが、属性情報取得部435aに対して、操作領域(リージョン)91の属性情報43Raに含まれるUI生成情報の取得を要求する。その結果、属性情報取得部435aが、取得要求に従って、一時保持されている属性情報43Raの各種属性値から、UI生成情報であるUI31(Edit Box)の表示位置(座標値)及びウィンドウサイズそれぞれの値を取得する(ステップS901)。
また、入力制御部434aは、表示画面生成部431aと同様に、属性情報取得部435aに対して、操作領域(リージョン)91の属性情報43Raに含まれる入力制御情報の取得を要求する。その結果、属性情報取得部435aが、取得要求に従って、一時保持されている属性情報43Raの各種属性値から、入力制御情報である最大/最小文字数の値を取得する(ステップS902)。
続いて、表示画面生成部431aは、属性情報取得部435aが取得したウィンドウサイズに基づき、UI31(Edit Box)のグラフィック部品群を生成し、生成したウィンドウ画像と、属性情報取得部435aが取得した表示位置(座標値)とを描画部432aへ渡す。これにより、描画部432aが、受け取った表示位置(座標値)を基に、操作領域(リージョン)91に隣接したコンテンツC上の所定の位置にUI31(Edit Box)を描画し、入力用UI画面が表示される(ステップS903)。
テキスト入力操作機能は、入力受付部433aにより、UI31(Edit Box)を介してテキスト入力を受け付ける入力制御処理を行う(ステップS904)。
このとき、テキスト入力操作機能は、入力制御部434aが、入力受付部433aにより受け付けたテキスト入力の文字数と、ステップS902の処理手順において取得した最大/最小文字数とを比較し、入力文字数が、最小文字数以上かつ最大文字数以下の制限範囲内であるか否かを判定する(ステップS905)。
テキスト入力操作機能は、入力文字数が制限範囲内である場合(ステップS905がYESの場合)、入力文字数が有効な文字数であると判断し、入力されたテキストデータが確定すると(ステップS906がYESの場合)、テキストデータを入力データDとして、図に示す処理を終了する。一方、入力されたテキストデータが確定するまで(ステップS906がNOの場合)、ステップS904の処理手順へ戻り、上記入力制御処理を継続して行う。
また、テキスト入力操作機能は、入力文字数が制限範囲外(入力文字数が「最小文字数より少ない」、又は「最大文字数より多い」のどちらか一方の判定結果)である場合(ステップS905がNOの場合)、入力制御部434aが、制御結果通知部436aに、入力文字制御の結果を渡す。その結果、制御結果通知部436aが、表示画面生成部431aに対して、入力文字数に誤りがある旨のエラーメッセージ画面(警告画面)の表示を要求する。表示画面生成部431aは、表示要求に従ってエラーメッセージ画面(警告画面)のメッセージ画像を生成し、生成したメッセージ画像を描画部432aに渡す。これにより、描画部432aが、コンテンツC上の所定の位置にメッセージ画像を描画し、エラーメッセージ画面(警告画面)が表示される(ステップS907)。
その後、テキスト入力操作機能は、ステップS904の処理手順へ戻り、上記入力制御処理を継続して行う。
このように、UI31(Edit Box)を介して入力される入力文字数を、予め決めておいた適正な文字数に従って制御することができる。これにより、入力データDを、所定数の文字数で構成される文字列とすることができ、データ仕様に準じていない入力(誤った入力)を防止することができる。
(B:入力文字種制御)
図31は、本発明の第2の実施形態に係るテキスト入力操作の処理手順(その2−2)を示すフローチャートである。
テキスト入力操作機能は、モジュールが起動されると、動作要求を受け付けた表示画面生成部431aが、属性情報取得部435aに対して、操作領域(リージョン)91の属性情報43Raに含まれるUI生成情報の取得を要求する。その結果、属性情報取得部435aが、取得要求に従って、一時保持されている属性情報43Raの各種属性値から、UI生成情報であるUI31(Edit Box)の表示位置(座標値)及びウィンドウサイズそれぞれの値を取得する(ステップS1001)。
また、入力制御部434aは、表示画面生成部431aと同様に、属性情報取得部435aに対して、操作領域(リージョン)91の属性情報43Raに含まれる入力制御情報の取得を要求する。その結果、属性情報取得部435aが、取得要求に従って、一時保持されている属性情報43Raの各種属性値から、入力制御情報である少なくとも1つ以上入力文字種の値を取得する(ステップS1002)。
続いて、表示画面生成部431aは、属性情報取得部435aが取得したウィンドウサイズに基づき、UI31(Edit Box)のグラフィック部品群を生成し、生成したウィンドウ画像と、属性情報取得部435aが取得した表示位置(座標値)とを描画部432aへ渡す。これにより、描画部432aが、受け取った表示位置(座標値)を基に、操作領域(リージョン)91に隣接したコンテンツC上の所定の位置にUI31(Edit Box)を描画し、入力用UI画面が表示される(ステップS1003)。
このとき、表示されたUI31(Edit Box)には、ステップS1002の処理手順で取得した少なくとも1つ以上の入力文字種(テキスト入力可能な1つ以上の文字種)の中から、初期値(デフォルト値)である入力文字種が設定される(ステップS1004)。
テキスト入力操作機能は、入力受付部433aにより、UI31(Edit Box)を介してテキスト入力を受け付ける入力制御処理を行う(ステップS1005)。
このとき、テキスト入力操作機能は、入力制御部434aが、UI31(Edit Box)を介して入力文字種の変更指示を受け付けたか否かを判定する(ステップS1006)。
テキスト入力操作機能は、入力文字種の変更指示を受け付けていない場合(ステップS1006がNOの場合)、現在設定されている入力文字種を有効な文字種として判断し、入力されたテキストデータが確定すると(ステップS1007がYESの場合)、テキストデータを入力データDとして、図に示す処理を終了する。一方、入力されたテキストデータが確定するまで(ステップS1007がNOの場合)、ステップS1005の処理手順へ戻り、上記入力制御処理を継続して行う。
また、テキスト入力操作機能は、入力文字種の変更指示を受け付けた場合(ステップS1006がYESの場合)、入力制御部434aが、変更時に指定された入力文字種と、ステップS1002の処理手順において取得した入力文字種とを比較し、指定された入力文字種が、取得した少なくとも1つ以上の入力文字種に該当するか否か(指定文字種が使用可能な文字種か否か)を判定する(ステップS1008)。
テキスト入力操作機能は、指定された入力文字種が取得した入力文字種に該当する(指定文字種が使用可能な文字種である)場合(ステップS1008がYESの場合)、ステップS1007の処理手順へ移行し、処理を継続する。
一方、指定された入力文字種が取得した入力文字種に該当しない(指定文字種が使用不可能な文字種である)場合(ステップS1008がNOの場合)、入力制御部434aが、制御結果通知部436aに、入力文字制御の結果を渡す。その結果、制御結果通知部436aが、表示画面生成部431aに対して、指定した入力文字種に誤りがある旨のエラーメッセージ画面(警告画面)の表示を要求する。表示画面生成部431aは、表示要求に従ってエラーメッセージ画面(警告画面)のメッセージ画像を生成し、生成したメッセージ画像を描画部432aに渡す。これにより、描画部432aが、コンテンツC上の所定の位置にメッセージ画像を描画し、エラーメッセージ画面(警告画面)が表示される(ステップS1009)。
その後、テキスト入力操作機能は、ステップS1005の処理手順へ戻り、上記入力制御処理を継続して行う。
このように、UI31(Edit Box)を介して入力される文字の種類を、予め決めておいた適正な種類(使用可能な種類)に従って制御することができる。これにより、入力データDを、所定の文字種で構成される文字列とすることができ、データ仕様に準じていない入力(誤った入力)を防止することができる。
(C:入力可否制御)
図32は、本発明の第2の実施形態に係るテキスト入力操作の処理手順(その2−3)を示すフローチャートである。
テキスト入力操作機能は、モジュールが起動されると、動作要求を受け付けた表示画面生成部431aが、属性情報取得部435aに対して、操作領域(リージョン)91の属性情報43Raに含まれるUI生成情報の取得を要求する。その結果、属性情報取得部435aが、取得要求に従って、一時保持されている属性情報43Raの各種属性値から、UI生成情報であるUI31(Edit Box)の表示位置(座標値)及びウィンドウサイズそれぞれの値を取得する(ステップS1101)。
また、入力制御部434aは、表示画面生成部431aと同様に、属性情報取得部435aに対して、操作領域(リージョン)91の属性情報43Raに含まれる入力制御情報の取得を要求する。その結果、属性情報取得部435aが、取得要求に従って、一時保持されている属性情報43Raの各種属性値から、入力制御情報である入力可否の値を取得する(ステップS1102)。
テキスト入力操作機能は、入力制御部434aが、ステップS1102の処理手順において取得した入力可否に基づいて、UI31(Edit Box)を介したテキスト入力が許可されているか否かを判定する(ステップS1103)。
テキスト入力操作機能は、UI31(Edit Box)からの入力が許可されている場合(ステップS1103がYESの場合)、表示画面生成部431aが、属性情報取得部435aが取得したウィンドウサイズに基づき、UI31(Edit Box)のグラフィック部品群を生成し、生成したウィンドウ画像と、属性情報取得部435aが取得した表示位置(座標値)とを描画部432aへ渡す。これにより、描画部432aが、受け取った表示位置(座標値)を基に、操作領域(リージョン)91に隣接したコンテンツC上の所定の位置にUI31(Edit Box)を描画し、入力用UI画面が表示される(ステップS1104)。
テキスト入力操作機能は、入力受付部433aにより、UI31(Edit Box)を介してテキスト入力を受け付ける入力制御処理を行う(ステップS1105)。
テキスト入力操作機能は、入力されたテキストデータが確定すると(ステップS1106がYESの場合)、テキストデータを入力データDとして、図に示す処理を終了する。一方、入力されたテキストデータが確定するまで(ステップS1106がNOの場合)、ステップS1103の処理手順へ戻り、上記入力制御処理を継続して行う。
また、テキスト入力操作機能は、UI31(Edit Box)からの入力が許可されていない場合(ステップS1103がNOの場合)、入力制御部434aが、制御結果通知部436aに、入力文字制御の結果を渡す。その結果、制御結果通知部436aが、表示画面生成部431aに対して、入力を禁止した入力用UI画面の表示を要求する。表示画面生成部431aは、表示要求に従って入力を禁止した入力用UI画面のウィンドウ画像を生成し、生成したウィンドウ画像を描画部432aに渡す。これにより、描画部432aが、コンテンツC上の所定の位置にウィンドウ画像を描画し、入力を禁止した入力用UI画面が表示される(ステップS1107)。
その後、テキスト入力操作機能は、ステップS1103の処理手順へ戻り、上記入力制御処理を継続して行う。
このように、UI31(Edit Box)を介したテキスト入力を、予め決めておいた入力許可の有無に従って制御することができる。これにより、データの改竄を防止することができる。
テキスト入力プラグインモジュール(テキスト入力実行手段43a)は、入力を受け付けるUI31を生成するための情報(UI生成情報)や、UI31を介した入力の制御を行うための情報(入力制御情報)を、操作領域(リージョン)91の属性情報43Raから取得し、同モジュール内に保持しない構成となっている。すなわち、データ入力操作を行うプラグインモジュール(実行手段43)と、カスタマイズ時に変更を行う(変更頻度の高い)データ群とが、切り離された構成となっている。
このような構成により、文書管理装置100では、カスタマイズが容易に行え、拡張性に優れたテキスト入力操作機能を提供することができる。
(2)数値入力操作機能
数値入力操作機能は、数値入力プラグインモジュール(数値入力実行手段43b)が、RAM106上に読み出され、CPU107により実行されることにより実現される機能であり、操作領域(リージョン)91からの入力データとして、所定の数値を自動的に設定する。また、選択ボタンなどのようなUI31を生成し、生成したUI31を介して選択入力された数値データを入力データDとして受け付ける。以下に、数値入力プラグインモジュール(数値入力実行手段43b)の機能構成について説明する。
[機能構成:その1]
図33は、本発明の第2の実施形態に係る数値入力プラグインモジュールの機能構成例(その1)を示す図である。
数値入力プラグインモジュール(数値入力実行手段43b)は、表示画面生成部431bと、描画部432bと、設定部433bと、数値情報保持部434bとから構成される。以下に、これら各機能部について簡単に説明する。
表示画面生成部431bは、操作領域(リージョン)91からの入力データDとして設定される数値を表示する表示画面(以下、「数値情報表示画面」と言う。)を生成し、描画部432bは、表示画面生成部431bにより生成された数値情報表示画面を、表示されるコンテンツCの操作領域(リージョン)91に隣接する位置に配置し、描画する。
設定部433bは、所定の数値を、操作領域(リージョン)91からの入力データDとして設定する。また、数値情報保持部434bは、設定部433bにより設定される数値データ群である数値情報43dbを保持する。数値情報保持部434bは、例えば、操作領域(リージョン)91の入力データDとして設定される複数の設定候補値を管理する管理テーブルにより数値情報43dbを保持する。
なお、管理テーブル43dbは、プログラムコードによりモジュールに含まれる形式であっても、あるいは、外部データとしてモジュールと独立した形式であってもよい。また、上記数値情報保持部434bでは、数値データの保持形式の一例としてテーブル形式を挙げたが、この保持形式に本発明が限定されるものではない。
また、設定部433bは、モジュールが起動され、実行要求を受け付けると、数値情報保持部434bが保持する数値情報43dbを参照し、操作領域(リージョン)91からの入力データDとして設定する数値データを取得する。このようにして取得された数値データは、設定部433bから表示画面生成部431bへ渡る。その結果、表示画面生成部431bは、受け取った数値データを基に、数値情報表示画面の表示画像を生成する。
[機能動作]
以下に、上記各機能部により実現される数値入力操作機能の動作について説明する。図34は、本発明の第2の実施形態に係る数値入力操作の処理手順(その1)を示すフローチャートである。
数値入力操作機能は、モジュールが起動されると、動作要求を受け付けた設定部433bが、数値情報保持部434bが保持する数値情報43dbを参照し、操作領域(リージョン)91からの入力データDとして設定する数値データを取得する(ステップS1201)。
設定部433bは、表示画面生成部431bに、取得した数値データを渡し、表示画面生成部431bが、受け取った数値データを基に数値情報表示画面の表示画像を生成する。表示画面生成部431bは、生成した表示画像を描画部432bへ渡す。これにより、描画部432bが、操作領域(リージョン)91に隣接したコンテンツC上の所定の位置にUI31(数値情報表示画面)を描画し、設定確認用UI画面が表示される(ステップS1202)。
また、数値入力操作機能は、設定部433bが、数値情報保持部434bから取得した数値データを、操作領域(リージョン)91からの入力データDとして設定し(ステップS1203)、図に示す処理が終了する。
このように、操作領域(リージョン)91からの入力データDとして、所定の数値を自動的に設定可能であることから、所定のデータ項目に対して自動採番などを容易に行うことができる。これにより、データ仕様に準じていない入力(誤った入力)や、入力漏れを防止することができる。
[機能構成:その2]
前述した数値入力プラグインモジュール(数値入力実行手段43b)では、操作領域(リージョン)91からの入力データDとして所定の数値を設定する数値入力操作の基本構成について説明を行った。
ここからは、選択ボタンなどのUI31を介して、複数の選択候補値の中から設定する数値を選択入力し、選択された数値データを入力データDとして受け付ける数値入力制御機能を含む構成について説明する。
図35は、本発明の第2の実施形態に係る数値入力プラグインモジュールの機能構成例(その2)を示す図である。
図35に示すように、数値入力プラグインモジュール(数値入力実行手段43b)は、前述した各機能部に加えて、操作検知部435bと、属性情報取得部436bとを有している。以下に、上記操作検知部435b及び属性情報取得部436bについて簡単に説明する。
操作検知部435bは、UI31(選択ボタン)がマウスなどのポインティングデバイスを介して操作(押下)されたことを検知する。
属性情報取得部436bは、特定手段42により解釈され、所定の記憶領域に一時保持されている操作領域(リージョン)の属性情報43Rbの各属性値を取得する。
また、表示画面生成部431bは、モジュールが起動され、実行要求を受け付けると、属性情報取得部436bにより取得された操作領域(リージョン)91の属性情報43Rbに含まれるUI生成情報に基づいてグラフィック部品群を生成する。
例えば、表示画面生成部431bは、属性情報43Rbの選択ボタンのボタンサイズと、数値情報保持部434bが保持する数値情報43dbとを基に、選択候補値の個数分のボタン画像を生成し、生成した画像と、属性情報43Rbの選択ボタンの表示位置(座標値)とを、描画部432bへ渡す。その結果、描画部432bは、ボタン画像を表示位置(座標値)に配置し、コンテンツC上に描画する。
また、設定部433bは、操作検知部435bからの検知結果を受け付けると、受け取った検知結果を基に、操作領域(リージョン)91の入力データDとして設定する数値データを、数値情報保持部434bから取得し、設定する。
例えば、設定部433bは、操作検知部435bから、検知結果として、選択ボタンの識別情報を取得する。数値情報保持部434bは、数値情報43dbとして、選択ボタンの識別情報と、操作領域(リージョン)91の入力データDとして設定される複数の設定候補値とが、対応付けられた管理テーブルを有しており、設定部433bは、検知結果として受け取った選択ボタンの識別情報を基に数値情報保持部434bの管理テーブルを参照し、対応する数値データを取得する。
なお、表示画面生成部431bが生成するUI31一例として選択ボタンを挙げたが、この種類に本発明が限定されるものではない。例えば、プルダウンメニューなどであってもよい。
さらに、管理テーブル43dbは、プログラムコードによりモジュールに含まれる形式であっても、あるいは、外部データとしてモジュールと独立した形式であってもよい。また、上記数値情報保持部434bでは、数値データの保持形式としてテーブルを一例として挙げたが、この保持形式に本発明が限定されるものではなく、選択ボタンの識別情報から1つの数値データが特定可能な形式であればよい。
[機能動作]
図36は、本発明の第2の実施形態に係る数値入力操作の処理手順(その2)を示すフローチャートである。
数値入力操作機能は、モジュールが起動されると、動作要求を受け付けた表示画面生成部431bが、属性情報取得部436bに対して、操作領域(リージョン)91の属性情報43Rbに含まれるUI生成情報の取得を要求する。その結果、属性情報取得部436bは、取得要求に従って、一時保持されている属性情報43Rbの各種属性値から、UI生成情報であるUI31(選択ボタン)の表示位置(座標値)及びボタンサイズそれぞれの値を取得する(ステップS1301)。
表示画面生成部431bは、数値情報保持部434bが保持する数値情報43dbと、属性情報取得部436bが取得したボタンサイズとに基づき、UI31(選択ボタン)のグラフィック部品群を生成し、生成したボタン画像と、属性情報取得部436bが取得した表示位置(座標値)とを描画部432bへ渡す。これにより、描画部432bが、受け取った表示位置(座標値)を基に、操作領域(リージョン)91に隣接したコンテンツC上の所定の位置にUI31(選択ボタン)を描画し、選択入力用UI画面が表示される(ステップS1302)。
数値入力操作機能は、操作検知部435bにより、UI31(選択ボタン)を介して数値選択入力を受け付ける入力制御処理を行う(ステップS1303)。
このとき、数値入力操作機能は、操作検知部435bにより選択ボタンが押下されたことを検知する(設定候補値が選択決定される)まで(ステップS1304がNOの場合)、ステップS1403の処理手順へ戻り、上記数値選択入力制御処理を継続して行い、一方、選択ボタンが押下されたことを検知すると(ステップS1304がYESの場合)、設定部433bが、操作検知部435bから検知結果として受け付けた選択ボタンの識別情報を基に、数値情報保持部434bが保持する数値情報43dbを参照し、対応付けられた数値データを取得する(ステップS1305)。
設定部433bは、表示画面生成部431bに、取得した数値データを渡し、表示画面生成部431bが、受け取った数値データを基に数値情報表示画面の表示画像を生成する。表示画面生成部431bは、生成した表示画像を描画部432bへ渡す。これにより、描画部432bが、操作領域(リージョン)91に隣接したコンテンツC上の所定の位置にUI31(数値情報表示画面)を描画し、設定確認用UI画面が表示される(ステップS1306)。
また、数値入力操作機能は、設定部433bが、数値情報保持部434bから取得した数値データを、操作領域(リージョン)91からの入力データDとして設定し(ステップS1307)、図に示す処理が終了する。
このように、UI31(選択ボタン)を介して選択入力される数値を、操作領域(リージョン)91からの入力データDとして設定できる。これにより、データ仕様に準じていない入力(誤った入力)を防止することができる。
(3)日時入力操作機能
日時入力操作機能は、日時入力プラグインモジュール(日時入力実行手段43c)が、RAM106上に読み出され、CPU107により実行されることにより実現される機能であり、操作領域(リージョン)91からの入力データとして、現在日時(操作された日付と時刻)を自動的に設定する。また、カレンダーや時計機能などのようなUI31を生成し、生成したUI31を介して選択入力された日時データを入力データDとして受け付ける。以下に、日時入力プラグインモジュール(日時入力実行手段43c)の機能構成について説明する。
[機能構成:その1]
図37は、本発明の第2の実施形態に係る日時入力プラグインモジュールの機能構成例(その1)を示す図である。
日時入力プラグインモジュール(日時入力実行手段43c)は、表示画面生成部431cと、描画部432cと、設定部433cと、日時情報保持部434cとから構成される。以下に、これら各機能部について簡単に説明する。
表示画面生成部431cは、操作領域(リージョン)91からの入力データDとして設定される日時を表示する表示画面(以下、「日時情報表示画面」と言う。)を生成し、描画部432cは、表示画面生成部431cにより生成された日時情報表示画面を、表示されるコンテンツCの操作領域(リージョン)91に隣接する位置に配置し、描画する。
設定部433cは、現在日時を、操作領域(リージョン)91からの入力データDとして設定する。また、日時情報保持部434cは、設定部433cにより設定される日時データの基となる日時情報43dcを保持する。日時情報保持部434cは、例えば、操作領域(リージョン)91の入力データDとして設定される日付と時刻それぞれの値を得ることができるカレンダー/時計により日時情報43dcを保持する。
また、設定部433cは、モジュールが起動され、実行要求を受け付けると、日時情報保持部434cが保持する日時情報43dcを参照し、操作領域(リージョン)91からの入力データDとして設定する日時データを取得する。このようにして取得された日時データは、設定部433cから表示画面生成部431cへ渡る。その結果、表示画面生成部431cは、受け取った日時データを基に、日時情報表示画面の表示画像を生成する。
[機能動作]
以下に、上記各機能部により実現される日時入力操作機能の動作について説明する。図38は、本発明の第2の実施形態に係る日時入力操作の処理手順(その1)を示すフローチャートである。
日時入力操作機能は、モジュールが起動されると、動作要求を受け付けた設定部433cが、日時情報保持部434cが保持する日時情報43dcを参照し、操作領域(リージョン)91からの入力データDとして設定する日時データを取得する(ステップS1401)。
設定部433cは、表示画面生成部431cに、取得した日時データを渡し、表示画面生成部431cが、受け取った日時データを基に日時情報表示画面の表示画像を生成する。表示画面生成部431cは、生成した表示画像を描画部432cへ渡す。これにより、描画部432cが、操作領域(リージョン)91に隣接したコンテンツC上の所定の位置にUI31(日時情報表示画面)を描画し、設定確認用UI画面が表示される(ステップS1402)。
また、日時入力操作機能は、設定部433cが、日時情報保持部434cから取得した数値データを、操作領域(リージョン)91からの入力データDとして設定し(ステップS1403)、図に示す処理が終了する。
このように、操作領域(リージョン)91からの入力データDとして、現在日時を設定できる。これにより、データ仕様に準じていない入力(誤った入力)や、入力漏れを防止することができる。
[機能構成:その2]
前述した日時入力プラグインモジュール(日時入力実行手段43c)では、操作領域(リージョン)91からの入力データDとして日時を設定する日時入力操作の基本構成について説明を行った。
ここからは、カレンダー/時計機能などのUI31を介して、複数の選択候補値の中から設定する日時を選択入力し、選択された日時データを入力データDとして受け付ける日時入力制御機能を含む構成について説明する。
図39は、本発明の第2の実施形態に係る日時入力プラグインモジュールの機能構成例(その2)を示す図である。
図39に示すように、日時入力プラグインモジュール(日時入力実行手段43c)は、前述した各機能部に加えて、操作検知部435cと、属性情報取得部436cとを有している。以下に、上記操作検知部435c及び属性情報取得部436cについて簡単に説明する。
操作検知部435cは、UI31(カレンダー/時計の選択エリア)がマウスなどのポインティングデバイスを介して操作(押下)されたことを検知する。
属性情報取得部436cは、特定手段42により解釈され、所定の記憶領域に一時保持されている操作領域(リージョン)の属性情報43Rcの各属性値を取得する。
また、表示画面生成部431cは、モジュールが起動され、実行要求を受け付けると、属性情報取得部436cにより取得された操作領域(リージョン)91の属性情報43Rcに含まれるUI生成情報に基づいてグラフィック部品群を生成する。
例えば、表示画面生成部431cは、日時情報保持部434cが保持する日時情報43dcと、属性情報43Rcのカレンダー/時計のウィンドウサイズとを基に、カレンダー/時計のウィンドウ画像を生成し、生成した画像と、属性情報43Rcのカレンダー/時計の表示位置(座標値)とを、描画部432cへ渡す。その結果、描画部432cは、ウィンドウ画像を表示位置(座標値)に配置し、コンテンツC上に描画する。
また、設定部433cは、操作検知部435cからの検知結果を受け付けると、受け取った検知結果を基に、操作領域(リージョン)91の入力データDとして設定する日時データを、日時情報保持部434cから取得し、設定する。
例えば、設定部433cは、操作検知部435cから、検知結果として、カレンダー/時計の選択エリアの識別情報を取得する。数値情報保持部434cは、日時情報43dcとして、選択エリアの識別情報に対応付けられたカレンダー/時計を有しており、設定部433cは、検知結果として受け取った選択エリアの識別情報を基に日時情報保持部434cのカレンダー/時計を参照し、対応する日時データを取得する。
[機能動作]
図40は、本発明の第2の実施形態に係る日時入力操作の処理手順(その2)を示すフローチャートである。
日時入力操作機能は、モジュールが起動されると、動作要求を受け付けた表示画面生成部431cが、属性情報取得部436cに対して、操作領域(リージョン)91の属性情報43Rcに含まれるUI生成情報の取得を要求する。その結果、属性情報取得部436cは、取得要求に従って、一時保持されている属性情報43Rcの各種属性値から、UI生成情報であるUI31(カレンダー/時計の選択エリア)の表示位置(座標値)及びウィンドウサイズそれぞれの値を取得する(ステップS1501)。
表示画面生成部431cは、日時情報保持部434cが保持する日時情報43dcと、属性情報取得部436cが取得したウィンドウサイズとに基づき、UI31(カレンダー/時計の選択エリア)のグラフィック部品群を生成し、生成したウィンドウ画像と、属性情報取得部436cが取得した表示位置(座標値)とを描画部432cへ渡す。これにより、描画部432cが、受け取った表示位置(座標値)を基に、操作領域(リージョン)91に隣接したコンテンツC上の所定の位置にUI31(カレンダー/時計の選択エリア)を描画し、選択入力用UI画面が表示される(ステップS1502)。
日時入力操作機能は、操作検知部435cにより、UI31(カレンダー/時計の選択エリア)を介して日時選択入力を受け付ける入力制御処理を行う(ステップS1503)。
このとき、日時入力操作機能は、操作検知部435cにより選択エリアが選択されたことを検知する(設定候補値が選択決定される)まで(ステップS1504がNOの場合)、ステップS1503の処理手順へ戻り、上記日時選択入力制御処理を継続して行い、一方、選択エリアが選択されたことを検知すると(ステップS1504がYESの場合)、設定部433cが、操作検知部435cから検知結果として受け付けた選択エリアの識別情報を基に、日時情報保持部434cが保持する日時情報43dcを参照し、対応付けられた日時データを取得する(ステップS1505)。
設定部433cは、表示画面生成部431cに、取得した日時データを渡し、表示画面生成部431cが、受け取った日時データを基に日時情報表示画面の表示画像を生成する。表示画面生成部431cは、生成した表示画像を描画部432cへ渡す。これにより、描画部432cが、操作領域(リージョン)91に隣接したコンテンツC上の所定の位置にUI31(日時情報表示画面)を描画し、設定確認用UI画面が表示される(ステップS1506)。
また、日時入力操作機能は、設定部433cが、日時情報保持部434cから取得した日時データを、操作領域(リージョン)91からの入力データDとして設定し(ステップS1507)、図に示す処理が終了する。
このように、UI31(カレンダー/時計の選択エリア)を介して選択入力される日時を、操作領域(リージョン)91からの入力データDとして設定できる。これにより、データ仕様に準じていない入力(誤った入力)を防止することができる。
<まとめ>
以上のように、本発明の第2の実施形態によれば、本実施形態に係る文書管理装置100は、操作対象となるコンテンツCと、コンテンツCの操作領域(リージョン)91と、操作領域(リージョン)91に対して行うデータ操作との関連付けに基づいて、コンテンツCの操作領域(リージョン)91に行うデータ入力操作「テキスト入力」、「数値入力」、又は「日時入力」を特定し、特定したデータ入力操作を行うプラグインモジュール(実行手段43)を実行する。
また、上記プラグインモジュールは、入力を受け付けるUI31を生成するための情報(UI生成情報)や、UI31を介した入力の制御を行うための情報(入力制御情報)を、操作領域(リージョン)91の属性情報43Ra〜cから取得し、同モジュール内に保持しない構成となっている。すなわち、データ入力操作を行うプラグインモジュール(実行手段43)と、カスタマイズ時に変更を行う(変更頻度の高い)データ群とが、切り離された構成となっている。
よって、本実施形態に係る文書管理装置100は、文書データを含むコンテンツCに、テキスト入力、数値入力、日時入力の各種入力操作を行うデータ操作機能において、拡張性に優れ(カスタマイズが容易に行え)、操作対象となるコンテンツCに応じたデータ入力操作を行うことができる。
ところで、本発明の各実施形態に係る文書管理装置100が有する「データ操作機能」は、前述した説明の中で用いた各フローチャートに示した各処理手順を、それぞれの動作環境(プラットフォーム)にあったプログラミング言語でコード化したプログラムとしてコンピュータで実行することで実現することができる。よって、上記プログラムは、コンピュータが読み取り可能な記録媒体104に格納することができる。
よって、上記プログラムは、フロッピー(登録商標)ディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)などの記録媒体104に記憶させることによって、これらの記録媒体104を読み取り可能なドライブ装置103を介して、文書管理装置100にインストールすることができる。また、文書管理装置100は、インタフェース装置108を備えていることから、インターネットなどの電気通信回線を介して、所定の記憶領域に格納されている上記プログラムをダウンロードし、インストールすることもできる。
また、上記各実施形態では、第2の関連付けデータ52をXMLで記述したデータ例を示したが、本発明がこの内容に限定されるものではない。このデータ例は、コンテンツCに対して行うデータ操作及びその操作領域(リージョン)91を特定するためにデータを解釈するプログラムにXMLパーサを用いた場合の一例である。そのため、他の構造化言語であってもよい。また、第2の関連付けデータ52のデータ構成や定義タグなどについても、本発明がこの内容に限定されるものではない。データを記述する構造化言語の仕様に従って記述され、パーサによって解釈可能なデータ構成であればよい。
さらに、上記各実施形態では、第2の関連付けデータ52を、1つのデータ内に、操作領域(リージョン)91の候補となる内容を定義した構成(リージョン識別情報(ID)を属性値とする操作領域(リージョン)91の定義を複数もつ構成)としたが、本発明がこの内容に限定されるものではない。例えば、リージョン識別情報(ID)を属性値とする操作領域(リージョン)91の定義を1つとする構成とし、関連付け切り替え手段44により属性値(ID)の値を設定、また関連付け手段45により操作領域(リージョン)91の属性情報及びその操作領域(リージョン)91に対して行うデータ操作情報の設定し、第2の関連付けデータを更新する方法としてもよい。
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。