以下、図面を用いて実施形態を説明する。
図1は、本実施形態のシステム構成図である。本システムは、その中心に情報処理装置1を配置する。そして、この装置1に、LAN(Local Area Network)2を介して複数台の複合機(MFP)3と少なくとも1台の管理用パソコン(PC)4とを接続し、インターネット等の通信ネットワーク5を介して外部システム6、例えばファイルサーバシステムやドキュメント管理システム等を接続する。
管理用パソコンは、Webブラウザを実装する。
複合機3は、スキャン機能を有する画像形成装置として機能する。複合機3は、スキャン画像ファイルを外部システム6に転送するための方式として、メタスキャン方式とWSDスキャン方式とを搭載する。すなわち複合機3は、図2に示すように、組み込み式のWebブラウザ(Embedded Web Browser:以下、EWBと称する)31と、スキャン画像生成部32と、WSDスキャン実行部33と、メタスキャン実行部34と、メタスキャンファイル送信部35とを備える。
EWB31は、外部のWebサイトを閲覧する際に利用する。スキャン画像生成部32は、複合機3の原稿読取台にセットされた原稿をスキャンしてスキャン画像ファイルを生成する。
WSDスキャン実行部33は、情報処理装置1から送信されるWSDスキャン指示のコマンドを受信すると、その指示に基づきスキャン画像生成部32を動作させてスキャンを実行する。また、情報処理装置1から送信されるスキャン結果取得指示のコマンドを受信すると、その指示に基づきスキャン画像ファイルをスキャン画像生成部32から取得し、情報処理装置1に返信する。
メタスキャン実行部34は、複合機3のメタデータ設定画面から設定されたメタデータ(パラメータ)に基づきスキャン画像生成部32を動作させてスキャンを実行する。そして、スキャンの実行により生成されたスキャン画像ファイルをメタデータファイルとともにメタスキャンファイル送信部35に転送する。
メタスキャンファイル送信部35は、メタスキャン実行部34から受け取ったスキャン画像ファイル及びメタデータファイルを一対にして、指定の場所、本実施形態では情報処理装置1のメタスキャンファイル記憶部123に送信する。
情報処理装置1は、各複合機3と外部システム6とを連携する中間サーバとして機能する。情報処理装置1は、図3に示すように、アプリケーション部11と、記憶部12と、管理ツール部13とを備える。
アプリケーション部11は、WSDスキャン方式に対応するためのWebアプリケーション部(WSDスキャン制御手段)111と、メタスキャン方式に対応するためのアプリケーション部(メタスキャン制御手段)112と、WSDスキャン方式及びメタスキャン方式に共通して対応するためのドキュメント情報生成部(ドキュメント情報生成手段)113、後段ワークフロー取得部(ワークフロー選択手段)114、後段ワークフロー実行部(ワークフロー実行手段)115及び外部システム連携部116(外部連携手段)を備える。
Webアプリケーション部111は、複合機3のWebブラウザであるEWB31との間で入出力を処理するMFP入出力処理部71と、ユーザが指定したスキャンプロセスに従って複合機3にWSDスキャン指示のコマンドを送信するWSDスキャン指示部72と、複合機3から送信されるスキャン画像ファイルを受信する画像ファイル取得部73と、前記スキャン画像ファイルに対するメタデータファイルを、前記スキャンプロセスと複合機のステータス情報等を基に生成するメタデータ生成部74とを備える。
メタスキャン方式に対応したアプリケーション部112は、メタスキャンファイル記憶部123から一対のスキャン画像ファイルとメタデータファイルとを検出するファイル検出部81と、ファイル検出部81が検出したメタデータファイルを解析するメタデータ解析部82と、メタデータファイルの解析結果に基づいて前記スキャン画像ファイルに対するワークフロー情報を選択するワークフロー選択部83とを備える。
ワークフロー情報は、複合機3のスキャナ機能を利用して原稿をスキャンし、そのスキャン画像のデータを外部システム6に転送するまでの情報処理装置1の作業工程、いわゆるワークフローを定義する。ワークフローは、入力(Input)、処理(Process)、出力(Output)のカテゴリで区分される。ワークフロー情報は、カテゴリ毎に処理内容、いわゆるアクティビティを定義する。アクティビティは、属性、つまりはプロパティと、このプロパティに基づく実行処理とを定義する。
WSDスキャン方式に対応したアクティビティは、プロパティとして、WSDスキャンのリクエスト先や保管先を指定する情報を含む。メタスキャンに対応したアクティビティは、プロパティとして、フォルダパス、フォルダタイプ、フォルダ監視ユーザ名、フォルダ監視パスワード、監視間隔などの情報を含む。
ドキュメント情報生成部113は、前記Webアプリケーション部111及びメタスキャン用アプリケーション部112が生成したスキャン画像ファイルとメタデータとを関連付け、ドキュメント情報として生成する。その後、ドキュメント情報生成部113は、ワークフローIDを後段ワークフロー取得部114に送信する。後段ワークフロー取得部114は、ドキュメント情報生成部113から送信されるワークフローIDから、ワークフローの後段である処理(Process)及び出力(Output)のカテゴリで定義されるサブワークフローを、サブワークフロー内アクティビティ情報記憶領域124bから取得する。後段ワークフロー実行部115は、前記ドキュメント情報生成部113が生成したドキュメント情報に対して、後段ワークフロー取得部114で取得したサブワークフローを実行する。外部システム連携部116は、外部システム6と連携する。
記憶部12は、ユーザ情報記憶部121、設定ファイル記憶部122、メタスキャンファイル記憶部123、ワークフロー情報記憶部124及びアクティビティ情報記憶部125を備える。
ユーザ情報記憶部121は、図4に示すように、ユーザを一意に識別するID(ユーザID)に関連付けて、表示名、パスワード、更新日などの項目データを記憶する。
設定ファイル記憶部122は、図5に示すように、メタスキャン用アプリケーションの設定ファイル(メタスキャン設定ファイル)を一意に識別するID(監視ID)に関連付けて、フォルダパス、ファイルタイプ、フォルダ監視ユーザ名、フォルダ監視ユーザパスワード、監視間隔(秒)、ワークフローIDなどの項目データを記憶する。フォルダパスは、監視対象フォルダの所在を示す。ファイルタイプは、監視対象ファイルの種類(拡張子)を示す。フォルダ監視ユーザ名及びパスワードは、監視対象フォルダにログインする際の情報である。監視間隔は、監視対象フォルダを監視する時間間隔である。
メタスキャンファイル記憶部123は、複合機3から送られてくる一対のスキャン画像ファイルとメタデータファイルとを記憶する。
ワークフロー情報記憶部124は、ワークフロー情報記憶領域124aとサブワークフロー情報記憶領域124bとを有する。ワークフローは、カテゴリ「入力(Input)」、「処理(Process)」及び「出力(Output)」の一連の作業工程を指し、サブワークフローは、1つのカテゴリ内の作業工程を指す。
ワークフロー情報記憶領域124aは、図6に示すように、ワークフローを一意に識別するID(ワークフローID)に関連付けて、ワークフロー名、更新者ID、更新日、説明文などの項目データを記憶する。ワークフロー名は、当該ワークフローに付された任意の名称である。更新者IDは、当該ワークフローを更新したユーザのユーザIDである。更新日は、当該ワークフローが更新された最新の日付である。説明文は、当該ワークフローの処理内容を説明するテキストデータである。
サブワークフロー情報記憶領域124bは、図7に示すように、サブワークフローを一意に識別するID(サブワークフローID)に関連付けて、そのサブワークフローを実行するワークフローのID(ワークフローID)と、そのサブワークフローが属するカテゴリ(サブワークフローカテゴリ)と、そのサブワークフローに対して先行するサブワークフローのID(先行サブワークフローID)の各項目データを記憶する。
アクティビティ情報記憶部125は、アクティビティ情報記憶領域125aとサブワークフロー内アクティビティ情報記憶領域125bとを有する。
アクティビティ情報記憶領域125aは、図8に示すように、アクティビティを一意に識別するID(アクティビティID)に関連付けて、表示名、実行ライブラリのパス、カテゴリ等の項目データを記憶する。表示名は、当該アクティビティに付された任意の名称である。実行ライブラリのパスは、当該アクティビティを実行させるプログラムの格納領域を示す。カテゴリは、当該アクティビティを実行する作業工程を示す。
なお、WSDスキャン方式に対応したアクティビティ(WSDスキャンアクティビティ)に対しては、「WSD」を含むアクティビティIDが設定され、メタスキャン方式に対応したアクティビティ(メタスキャンアクティビティ)に対しては、「META」を含むアクティビティIDが設定される。
例えば、カテゴリが「Input」のアクティビティIDで特定されるアクティビティは、カテゴリ「入力(Input)」のサブワークフローで実行可能である。カテゴリが「Input」及び「Process」のアクティビティIDで特定されるアクティビティは、カテゴリ「入力(Input)」と「処理(Process)」のサブワークフローで実行可能である。
サブワークフロー内アクティビティ情報記憶領域125bは、図9に示すように、サブワークフロー内アクティビティを一意に識別するID(サブワークフロー内アクティビティID)に関連付けて、そのアクティビティが設定されたサブワークフローのID(サブワークフローID)と、そのアクティビティを識別するID(アクティビティID)と、そのアクティビティに対してサブワークフロー内で先行するアクティビティのID(サブワークフロー内先行アクティビティID)の項目データを記憶する。
管理ツール部13は、ユーザ入出力処理部131、ワークフロー情報作成部(ワークフロー情報生成手段)132、アプリケーション判定部(判定手段)133及び設定ファイル作成部(設定ファイル作成手段)134を備える。
ユーザ入出力処理部131は、Webブラウザで閲覧可能な画面情報を管理用パソコン4に出力し、このパソコン4から入力された情報を処理する。ワークフロー情報作成部132は、管理用パソコン4から入力されたワークフローの定義内容に従いワークフロー情報を作成して、ワークフロー情報記憶部124に登録する。アプリケーション判定部133は、作成されたワークフロー情報がメタスキャン用アプリケーションに対応するかWSDスキャン用アプリケーションに対応するかを判定する。設定ファイル作成部134は、作成されたワークフロー情報がメタスキャン用アプリケーションに対応するとき、そのワークフローの定義内容に従いメタスキャン用アプリケーションの設定ファイルを作成して、設定ファイル記憶部122に登録する。
次に、情報処理装置1の機能について説明する。はじめに、管理ツール部13の機能について、図10〜図13の流れ図及び図14〜図17の画面レイアウト図を用いて説明する。この機能は、情報処理装置1の内部に予め記録されたプログラムにより実現される。
ユーザが、管理用パソコン4のWebブラウザを起動し、情報処理装置1の管理ツール部13を指定するURL(Uniform Resource Locator)を入力してアクセスすると、このアクセスを受け付けた情報処理装置1は、管理ツール部13を動作させて、図10の流れ図で示す手順の処理を開始する。
先ず、管理ツール部13のユーザ入出力処理部131が、Webブラウザで閲覧が可能なログイン画面のデータを管理用パソコン4に送信する(ST1)。ログイン画面は、ユーザIDとパスワードとからなるログイン情報の入力欄を有する。管理ツール部13は、管理用パソコン4からログイン情報が入力されるのを待機する(ST2)。
管理用パソコン4からログイン情報が入力されると(ST2のYES)、ユーザ入出力処理部131がユーザ情報記憶部121を検索して、ログイン可否を判定する(ST3)。すなわち、ユーザ情報記憶部121にログイン情報のユーザIDが設定されたレコードが記憶されているかチェックし、記憶されている場合にはそのレコードのパスワードがログイン情報のパスワードと一致するか照合する。照合の結果、一致する場合にはログイン可と判定し、それ以外はログイン不可と判定する。ログイン不可の場合(ST4のNO)、ユーザ入出力処理部131が、ログイン画面のデータを管理用パソコン4に再度送信する(ST1)。
ログイン可の場合(ST4のYES)、ユーザ入出力処理部131が、ワークフロー情報記憶部124のワークフロー情報記憶領域124aに登録されている全てのワークフロー情報を読み込む(ST5)。そして、読み込んだワークフロー情報を基に、Webブラウザで閲覧が可能なワークフロー一覧画面G1を編集し、この画面G1のデータを、管理用パソコン4に送信する(ST6)。
図14は、ワークフロー一覧画面G1の一レイアウト例である。画面G1には、各ワークフロー情報のワークフローID、ワークフロー名及び更新日と、同ワークフロー情報の更新者IDに関連付けてユーザ情報記憶部121に記憶されているユーザ表示名(更新者)とをリスト化したワークフローリストL1と、新規作成ボタンB1、編集ボタンB2、詳細ボタンB3及びキャンセルボタンB4の各ファンクションボタンとが表示される。
各ボタンB1〜B4は、ユーザが管理用パソコン4を操作することにより入力できる。新規のワークフローを登録する場合、ユーザは、新規作成ボタンB1を入力する。登録済のワークフローを修正する場合、ユーザは、編集ボタンB2を入力する。登録済ワークフロー情報の詳細を確認する場合、ユーザは、詳細ボタンB3を入力する。業務を終了する場合、ユーザは、キャンセルボタンB4を入力する。
管理ツール部13は、画面G1のいずれかのボタンB1〜B4が入力されるのを待機する(ST7〜ST10)。ここで、キャンセルボタンB4が入力されたならば(ST10のYES)、管理ツール部13は動作を停止して、今回の処理を終了する。
新規作成ボタンB1が入力された場合には(ST7のYES)、管理ツール部13は、図11の流れ図で示す手順の新規ワークフローの作成処理に移行する(ST11)。
先ず、ユーザ入出力処理部131が、アクティビティ情報記憶部125のアクティビティ情報記憶領域125aに登録されている全てのアクティビティ情報を読み込む(ST21)。そして、読み込んだアクティビティ情報を基に、Webブラウザで閲覧が可能なワークフロー新規作成画面G2を編集し、この画面G2のデータを、管理用パソコン4に送信する(ST22:新規作成画面送信手段)。
図15は、ワークフロー新規作成画面G2の一レイアウト例である。画面G2には、新規ワークフローの名称入力欄A1、説明文入力欄A2及び定義入力欄A3と、OKボタンB5及びキャンセルボタンB6が表示される。定義入力欄A3は、ワークフローの入力(Input)、処理(Process)、出力(Output)のカテゴリ別に、アクティビティ選択ボックスA31,A32,A33と、選択済アクティビティ表示欄A34,A35、A36とを形成する。
カテゴリ「入力(Input)」のアクティビティ選択ボックスA31には、アクティビティ情報記憶領域125aから読み込まれたアクティビティ情報のうち、カテゴリが“Input”に設定されたアクティビティ情報の表示名がプルダウン表示される。同様に、カテゴリ「処理(Process)」のアクティビティ選択ボックスA32には、カテゴリが“Process”に設定されたアクティビティ情報の表示名がプルダウン表示され、カテゴリ「出力(Output)」のアクティビティ選択ボックスA33には、カテゴリが“Output”に設定されたアクティビティの表示名がプルダウン表示される。
画面G2の各入力欄A1〜A3は、ユーザが管理用パソコン4を操作することにより情報を入力できる。新規のワークフローを登録するユーザは、入力欄A1にそのワークフローの固有名称を入力する。また、入力欄A2にそのワークフローの説明文を入力する。さらに、入力(Input)、処理(Process)、出力(Output)のカテゴリ毎に、サブワークフローを構成するアクティビティを順次選択して定義する。
因みに、カテゴリ「入力(Input)」に対しては、例えばスキャン画像ファイルのパスとメタデータとからドキュメント情報を生成するためのアクティビティを定義する。カテゴリ「処理(Process)」に対しては、例えば生成されたドキュメント情報に対して実行する処理を指定するためのアクティビティを定義する。カテゴリ「出力(Output)」に対しては、例えば処理されたドキュメント情報を最終的に保存する保存先を指定するためのアクティビティを定義する。
アクティビティ選択ボックスA31〜A33からアクティビティが選択される毎に、ユーザ入出力処理部131は、Webブラウザで閲覧が可能なプロパティ編集画面G3を編集し、この画面G3のデータを管理用パソコン4に送信する。
図16は、メタスキャン方式に対応したアクティビティを選択したときに表示されるプロパティ編集画面G3の一レイアウト例である。画面G3には、選択されたアクティビティのアクティビティIDに対応してアクティビティ情報記憶領域125aに記憶されている表示名が表示される。また、このアクティビティのプロパティ(フォルダパス、フォルダタイプ、ユーザ名、パスワード、監視時間など)が編集可能な状態で表示される。さらに、OKボタンB7と削除ボタンB8とが表示される。
プロパティは、ユーザが管理用パソコン4を操作することにより編集できる。ユーザは、必要に応じてプロパティを編集した後、OKボタンB7を入力する。そうすると、編集した内容が当該アクティビティのプロパティとして反映される。
ユーザは、ワークフロー新規作成画面G2から新規ワークフローの名前と説明文を入力し、また、カテゴリ毎に必要なアクティビティを定義したならば、OKボタンB5を入力する。なお、作業の途中で作成を取り止める場合には、キャンセルボタンB6を入力する。
管理ツール部13は、画面G2のいずれかのボタンB5,B6が入力されるのを待機する(ST23,ST24)。ここで、キャンセルボタンB6が入力されたならば(ST24のYES)、新規ワークフロー作成処理が終了する。
OKボタンB5が入力された場合には(ST23のYES)、ユーザ入出力処理部131が、画面G2の各入力欄A1〜A3に入力された情報を取得する(ST25)。そして、新規ワークフローの作成に必須の情報が入力されているか否かを判断する(ST26)。情報が不足している場合(ST26のNO)、管理ツール部13は、再度、ボタンB5,B6が入力されるのを待機する(ST23,ST24)。
ワークフローの作成には、カテゴリ毎に少なくとも1種類のアクティビティが定義されることが必須である。また、ワークフロー名の入力も必須である。説明文は任意である。必須情報が入力されている場合(ST26のYES)、管理ツール部13は、ワークフロー情報作成部132を動作させて、図12に具体的に示すワークフロー情報作成処理を実行する(ST27)。
先ず、ワークフロー情報作成部132が、新規のワークフローIDを作成する(ST41)。そして、ワークフロー情報記憶部124のワークフロー情報記憶領域124aに、このワークフローIDと関連付けて、画面G2から入力されたワークフロー名及び説明文と、ログインが成功したユーザのユーザID(更新者ID)と、現時点の日付(更新日)とを記述する(ST42)。
次に、ワークフロー情報作成部132が、入力(Input)、処理(Process)、出力(Output)のカテゴリ毎に、新規のサブワークフローIDを生成する。そして、ワークフロー情報記憶部124のサブワークフロー情報記憶領域124bに、各サブワークフローIDとそれぞれ関連付けて、ステップST41の処理で生成したワークフローIDと、そのサブワークフローのカテゴリ(サブワークフローカテゴリ)と、そのサブワークフローに対して先行するサブワークフローに割り当てられたサブワークフローID(先行サブワークフローID)とを記述する(ST43)。
次に、ワークフロー情報作成部132が、カテゴリ「入力(Input)」のアクティビティ選択ボックスA31から選択された全てのアクティビティを、カテゴリ「入力(Input)」のサブワークフローの処理として保存する(ST44)。具体的には、カテゴリ「入力(Input)」のアクティビティ選択ボックスA31から選択された全てのアクティビティに対してそれぞれ新規のサブワークフロー内アクティビティIDを生成する。そして、アクティビティ情報記憶部125のサブワークフロー内アクティビティ情報記憶領域125bに、各サブワークフロー内アクティビティIDとそれぞれ関連付けて、カテゴリ「入力(Input)」のサブワークフローに割り当てられたサブワークフローIDと、選択された各アクティビティにそれぞれ割り当てられたアクティビティIDと、当該サブワークフロー内にてそのアクティビティに対して先行するアクティビティのID(サブワークフロー内先行アクティビティID)とを記述する。さらに、アクティビティ情報記憶部125のアクティビティ情報記憶領域125aに、選択されたアクティビティ毎に、そのアクティビティIDと関連付けて、実行ライブラリのパス等を含むプロパティの情報を、表示名、カテゴリとともに記述する。
その後、ワークフロー情報作成部132は、カテゴリ「処理(Process)」のアクティビティ選択ボックスA31から選択された全てのアクティビティについても同様に、カテゴリ「処理(Process)」のサブワークフローの処理として保存する(ST45)。また、カテゴリ「出力(Output)」のアクティビティ選択ボックスA31から選択された全てのアクティビティについても同様に、カテゴリ「出力(Output)」のサブワークフローの処理として保存する(ST46)。
ワークフロー情報作成処理が終了すると、ワークフロー情報作成部132は、アプリケーション判定部133に、ステップST41の処理にて生成した新規のワークフローIDを送信する。管理ツール部13は、アプリケーション判定部133を動作させて、その新規のワークフローIDで識別されるワークフロー(新規ワークフロー)が、WSDスキャンに対応したものかメタスキャンに対応したものかを判定する。
先ず、アプリケーション判定部133が、ワークフロー情報記憶部124のサブワークフロー情報記憶領域124bを検索して、新規のワークフローIDがセットされたデータの中で、サブワークフローカテゴリとして「入力(Input)」がセットされたデータのサブワークフローIDを取得する。
次に、アプリケーション判定部133が、サブワークフロー内アクティビティ情報記憶領域125bを検索し、当該サブワークフローIDがセットされたデータからアクティビティIDを取得する(ST28)。そして、このアクティビティIDのなかに、メタスキャン方式に対応したアクティビティのID、すなわち「META」を含むIDが含まれているか否かを判定する(ST29)。
含まれていない場合(ST29のNO)、新規ワークフローはWSDスキャン方式に対応する。この場合、新規ワークフロー作成処理が終了する。
「META」を含むアクティビティID(メタスキャンアクティビティID)が含まれている場合(ST29のYES)、新規ワークフローはメタスキャン方式に対応する。この場合、アプリケーション判定部133は、設定ファイル作成部134にメタスキャンアクティビティIDを送信する。管理ツール部13は、設定ファイル作成部134を動作させて、メタスキャン用設定ファイルを作成する。
具体的には、設定ファイル作成部134が、メタスキャン用設定ファイルを一意に識別するための監視IDを生成する。また、アクティビティ情報記憶領域125aを検索し、当該メタスキャンアクティビティIDに該当するアクティビティのプロパティ、すなわちフォルダパス、ファイルタイプ、ユーザ名、パスワード、監視時間等を取得する(ST30)。設定ファイル作成部134は、設定ファイル記憶部122に、当該監視IDと関連付けて、上記プロパティの情報を新規のワークフローIDとともに記述する。以上で、新規ワークフロー作成処理は終了する。
ワークフロー一覧画面G1の編集ボタンB2が入力された場合(ST8のYES)、管理ツール部13は、ワークフローリストL1のいずれかの行がマウス等によって選択されていることを確認する(ST12)。選択されていない場合(ST12のNO)、次のボタン入力を待機する。
行が選択されている場合(ST12のYES)、管理ツール部13は、図13の流れ図で示す手順の選択ワークフローの編集処理を実行する(ST13)。
先ず、ユーザ入出力処理部131がアクティビティ情報記憶部125のアクティビティ情報記憶領域125aに登録されている全てのアクティビティ情報を読み込む(ST51)。また、ワークフローリストL1の選択行に表示されているワークフローIDに関連付けてワークフロー情報記憶領域124aに記憶されているワークフロー名、説明文などのワークフロー情報を取得する(ST52)。そして、このアクティビティ情報及びワークフロー情報を基に、Webブラウザで閲覧が可能なワークフロー編集画面G4を編集し、この画面G4のデータを管理用パソコン4に送信する(ST53)。
図17は、ワークフロー編集画面G4の一レイアウト例である。画面G4には、ワークフロー新規作成画面G2と同様のワークフロー名入力欄A1、説明文入力欄A2及びワークフロー定義入力欄A3と、OKボタンB9、削除ボタンB10及びキャンセルボタンB11が表示される。そして、入力欄A1には、選択されたワークフローのワークフロー名が表示される。同じく、入力欄A2には、選択されたワークフローの説明文が表示される。また、入力(Input)、処理(Process)、出力(Output)のカテゴリ別の選択済アクティビティ表示欄A34,A35、A36には、選択されたワークフローに対してカテゴリ別に定義されているアクティビティの表示名が表示される。
選択したワークフローを削除する場合、ユーザは削除ボタンB10を入力する。保存する場合には、OKボタンB9を入力する。なお、作業の途中で作成を取り止める場合には、キャンセルボタンB11を入力する。
管理ツール部13は、画面G4のいずれかのボタンB9〜B11が入力されるのを待機する(ST54,ST55,ST56)。ここで、キャンセルボタンB11が入力されたならば(ST56のYES)、選択ワークフロー編集処理が終了する。
削除ボタンB10が入力された場合には(ST55のYES)、選択されたワークフローとそれに関連するサブワークフローの各情報を、ワークフロー情報記憶部124から削除する(ST57)。以上で、選択ワークフロー編集処理は終了する。
OKボタンが入力された場合には(ST54のYES)、ユーザ入出力処理部131が、画面G2の各入力欄A1〜A3に入力されている情報を取得する(ST58)。そして、選択されたワークフロー情報の内容を、編集後の情報に更新する(ST59)。以上で、選択ワークフロー編集処理は終了する。
ワークフロー一覧画面G1の詳細ボタンB3が入力された場合(ST9のYES)、管理ツール部13は、ワークフローリストL1のいずれかの行がマウス等によって選択されていることを確認する(ST14)。選択されていない場合(ST14のNO)、次のボタン入力を待機する。
行が選択されている場合(ST14のYES)、その行に表示されているワークフローIDに関連付けてワークフロー情報記憶領域124aに記憶されている各項目データから、ユーザ入出力処理部131が、Webブラウザで閲覧が可能な選択ワークフローの詳細画面を編集し、この画面のデータを管理用パソコン4に送信する(ST15)。
詳細画面は、前記ワークフロー編集画面G4と同じ項目を、編集不可の状態で表示する。また、確認終了を宣言する戻りボタンが表示される。
管理ツール部13は、戻りボタンが入力されるのを待機する(ST16)。戻りボタンが入力されると(ST16のYES)、ユーザ入出力処理部131が、ワークフロー一覧画面G1のデータを管理用パソコン4に再度送信する(ST6)。
次に、アプリケーション部11の機能について、図18〜図22の流れ図を参照して説明する。始めに、WSDスキャン用Webアプリケーション部111、ドキュメント情報生成部113、後段ワークフロー取得部114及び後段ワークフロー実行部115の処理の流れを図18〜図19を用いて説明する。この機能は、情報処理装置1の内部に予め記録されたプログラムにより実現される。
複合機3のユーザがEWB31を起動し、情報処理装置1にアクセスすると、このアクセスを受け付けた情報処理装置1は、WSDスキャン用Webアプリケーション部111を動作させて、図18の流れ図で示す手順の処理を開始する。
先ず、Webアプリケーション部111のMFP入出力処理部71が、EWB31で閲覧が可能なログイン画面のデータを複合機3に送信する(ST61)。そしてWebアプリケーション部111は、複合機3においてログイン情報が入力されるのを待機する(ST62)。ログイン画面は、管理ツール部13が管理用パソコン4に提供するログイン画面と同様である。
複合機3からログイン情報が入力されると(ST62のYES)、MFP入出力処理部71がユーザ情報記憶部121を検索して、ログイン可否を判定する(ST63)。ログイン不可の場合(ST64のNO)、MFP入出力処理部71が、ログイン画面のデータを管理用パソコン4に再度送信する(ST61)。
ログイン可の場合(ST64のYES)、MFP入出力処理部71が、ワークフロー情報記憶部124に登録されているワークフロー情報の中で、カテゴリ「入力(Input)」にWSDスキャンアクティビティを含むワークフロー情報を読み込む(ST65)。
具体的には、サブワークフロー内アクティビティ情報記憶領域125bを検索して、WSDスキャンアクティビティを含むサブワークフローIDを取得する。次いで、取得したサブワークフローIDで、サブワークフロー情報記憶領域124bを検索して、サブワークフローカテゴリが入力(Input)の場合、ワークフローIDを取得する。次いで、取得したワークフローIDで、ワークフロー情報記憶領域124aからワークフロー情報を読み込む。
MFP入出力処理部71は、読み込んだワークフロー情報を基に、EWB31で閲覧が可能なワークフロー一覧画面を編集し、この画面のデータを複合機3に送信する(ST66)。ワークフロー一覧画面は、管理ツール部13が管理用パソコン4に提供するワークフロー一覧画面G1と同様に、ワークフローリストL1を表示する。ただし、新規作成ボタンB1、編集ボタンB2及び詳細ボタンB3はなく、その代わりに実行ボタンを表示する。
Webアプリケーション部111は、ワークフロー一覧画面のキャンセルボタンB4か実行ボタンが入力されるのを待機する(ST67,ST68)。ここで、キャンセルボタンB4が入力されたならば(ST67のYES)、Webアプリケーション部111は動作を停止して、今回の処理を終了する。
実行ボタンが入力された場合には(ST68のYES)、Webアプリケーション部111は、ワークフローリストL1のいずれかの行がマウス等によって選択されていることを確認する(ST69)。選択されていない場合(ST69のNO)、次のボタン入力を待機する(ST67,ST68)。
行が選択されている場合(ST69のYES)、Webアプリケーション部111は、ワークフローリストL1の選択行に表示されているワークフローIDを取得する(ST70)。そして、この選択ワークフローIDをドキュメント情報生成部113に送信する。
ドキュメント情報生成部113は、Webアプリケーション部111から受信した選択ワークフローIDでサブワークフロー情報記憶領域124bを検索して、当該ワークフローIDを含むデータでサブワークフローカテゴリが「入力(Input)」のデータからサブワークフローIDを取得する(ST71)。しかる後、ドキュメント情報生成部113は、図19に具体的に示すサブワークフロー実行処理を開始する。
先ず、ドキュメント情報生成部113は、サブワークフロー内アクティビティ情報記憶領域125bを検索して、取得したサブワークフローIDに関連付けられたアクティビティIDとサブワークフロー内先行アクティビティIDを全て取得する(ST81)。そして、サブワークフロー内先行アクティビティIDが存在しないアクティビティIDを実行IDとして設定する(ST82)。
次に、ドキュメント情報生成部113は、アクティビティ情報記憶領域125aから実行ID(アクティビティID)に対応して記憶されているプロパティを取得する(ST83)。そして、このプロパティの値に従って実行IDのアクティビティを実行する(ST84)。
アクティビティが終了すると、ドキュメント情報生成部113は、実行IDであるアクティビティIDを先行アクティビティIDとして有するアクティビティIDの有無を判別する(ST85)。該当するアクティビティIDが有る場合(ST86のYES)、そのアクティビティIDを実行IDと設定する(ST87)。そして、この実行IDに対して、前記ステップST83〜ST85の処理を実行する。該当するアクティビティIDが無い場合(ST86のNO)、サブワークフロー実行処理が終了する。
カテゴリが「入力(Input)」のサブワークフローにWSDスキャンアクティビティとメタデータ取得アクティビティを含むワークフローの場合、「入力(Input)」のサブワークフロー実行処理が終了すると、ドキュメント情報生成部113は、サブワークフロー内で実行されたWSDスキャンアクティビティで取得した画像ファイルのパスと、メタデータ取得アクティビティで取得したメタデータの関連付けを、ドキュメント情報として生成する。その後、ドキュメント情報生成部113は、前記ドキュメント情報を後段ワークフロー実行部115に送信する。また、選択ワークフローのIDを後段ワークフロー取得部114に送信する(ST73)。
後段ワークフロー取得部114は、ドキュメント情報生成部113から受信した選択ワークフローIDでサブワークフロー情報記憶領域124bを検索して、当該ワークフローIDを含むデータでサブワークフローカテゴリが「処理(Process)」のデータからサブワークフローIDを取得する。そして、このサブワークフローIDを後段ワークフロー実行部115に送信する(ST74)。
後段ワークフロー実行部115は、後段ワークフロー取得部114から受信したサブワークフローIDを基に、図19と同様の手順により、カテゴリ「処理(Process)」のサブワークフローを実行する(ST75)。
カテゴリ「処理(Process)」のサブワークフロー実行処理が終了すると、後段ワークフロー取得部114は、ドキュメント情報生成部113から受信した選択ワークフローIDでサブワークフロー情報記憶領域124bを検索して、当該ワークフローIDを含むデータでサブワークフローカテゴリが「出力(Output)」のデータからサブワークフローIDを取得する。そして、このサブワークフローIDを後段ワークフロー実行部115に送信する(ST76)。
後段ワークフロー実行部115は、後段ワークフロー取得部114から受信したサブワークフローIDを基に、図19と同様の手順により、カテゴリ「出力(Output)」のサブワークフローを実行する(ST77)。
ここで、ドキュメント情報生成部113において、外部システム6のデータをリアルタイムで取得してメタデータに反映させる場合には、外部システム連携部116に外部システムの通信アドレス等の必要なデータを送信する。そうすると、外部システム連携部116は、ドキュメント情報生成部113から受信したデータに基づき、外部システム6にデータを要求する。そして、外部システム6からデータを受信すると、外部システム連携部116は、そのデータをドキュメント情報生成部113に送信する。
また、カテゴリ「出力(Output)」に割り当てられたアクティビティにより、スキャン画像ファイルの登録先が外部システム6に指定されていた場合、後段ワークフロー実行部115は、外部システム連携部116に登録先となる外部システム6の通信アドレスや画像ファイルなどの必要なデータを送信する。外部システム連携部116は、後段ワークフロー実行部115から受信したデータに基づき、外部システム6に画像ファイルなどのデータを登録するように要求する。
次に、メタスキャン用アプリケーション部112、ドキュメント情報生成部113、後段ワークフロー取得部114及び後段ワークフロー実行部115の処理の流れを図20〜図22を用いて説明する。
複合機3のユーザが情報処理装置1にアクセスしてメタスキャン用アプリケーション部112を起動させると、先ず、ファイル検出部81が、監視設定情報を一意に識別するID(監視ID)に関連付けて監視時間と監視間隔とを保持する監視リストテーブルの監視時間を初期化する(ST91)。次に、ファイル検出部81が、設定ファイル記憶部122からメタスキャン設定ファイルの監視IDと監視間隔を読み込む(ST92)。
ファイル検出部81は、設定ファイル記憶部122から読み込んだ監視IDが、監視リストテーブルに存在するか否かを判別する(ST93)。存在しない場合(ST93のYES)、その監視IDと監視間隔を監視リストテーブルに追加する(ST94)。存在する場合には(ST93のNO)、ステップST94の処理を実行しない。
次に、ファイル検出部81は、メタスキャン設定ファイルの読込みを終了したか否かを判断する(ST95)。他の設定ファイルが登録されており、読込みを終了していない場合(ST95のNO)、そのファイルから監視IDと監視間隔とを読み込む(ST92〜ST94)。
設定ファイル記憶部122に登録されている全てのメタスキャン設定ファイルから監視IDと監視間隔とを読み込んだ場合(ST95のYES)、ファイル検出部81は、監視リストテーブルに存在する監視IDの中で、設定ファイル記憶部122から読み込まなかった監視IDが存在するか否かを判別する(ST96)。存在する場合(ST96のYES)、ファイル検出部81はその監視IDを含むデータを監視リストテーブルから削除する(ST97)。存在しない場合は(ST96のNO)、ステップST97の処理を実行しない。
しかる後、ファイル検出部81は、現在時刻を取得する(ST98)。そして、この時刻を、監視リストテーブルに設定された各監視IDに対する監視時間としてセットする(ST99)。
次に、ファイル検出部81は、テーブル番号カウンタnを“0”にリセットする(ST100)。続いて、ファイル検出部81は、テーブル番号カウンタnを“1”だけカウントアップする(ST101)。そして、テーブル番号カウンタnが、監視リストテーブルに設定されている監視IDの総数Nを超えたか否かを判断する(ST102)。
超えていない場合(ST102のNO)、ファイル検出部81は、監視リストテーブルからテーブル番号nに記憶されている監視IDnを取得する(ST103)。そして、この取得した監視IDnを基に、図21に具体的に示す監視リスト更新処理を実行する(ST104)。
先ず、監視リストテーブルから監視IDnに対応して記憶されている監視時間と監視間隔を取得する(ST111)。次に、現在時刻を取得し、監視時間から現在時刻までの時間差Δを算出する(ST112)。そして、この時間差Δが監視間隔以上になったか否かを判断する(ST113)。時間差Δが監視間隔に満たない場合(ST113のNO)、監視リスト更新処理は終了する。
時間差Δが監視間隔になると(ST113のYES)、ファイル検出部81は、設定ファイル記憶部122から当該監視IDnに対応するフォルダパス、ファイルタイプ、フォルダ監視ユーザ名、フォルダ監視パスワードを取得する。そして、フォルダ監視ユーザ名とフォルダ監視パスワードとで、フォルダパスによって特定される監視フォルダにログインする(ST114)。
監視フォルダにログインしたならば、ファイル検出部81は、このフォルダに記述されているファイルを取得する(ST115)。そして、このファイルが新規ファイルであるか否かを判断する(ST116)。新規ファイルの場合(ST116のYES)、さらにこのファイルの拡張子がファイルタイプと一致するか否かを判断する(ST117)。拡張子が一致する場合(ST117のYES)、ファイル検出部81は、監視IDnと検出した新規ファイルのパスをワークフロー選択部83に送信する。新規ファイルでない場合(ST116のNO)、または拡張子が一致しない場合は(ST117のNO)、ワークフロー選択部83に送信しない。
ファイル検出部81から監視IDnと新規ファイルパスを受信すると、ワークフロー選択部83は、設定ファイル記憶部122から当該監視IDnに該当するワークフローIDを取得する(ST118)。そして、ワークフロー選択部83は、ドキュメント情報生成部113に前記ワークフローIDを送信する。
ドキュメント情報生成部113は、受信したワークフローIDで、かつサブワークフローカテゴリが入力(Input)のサブワークフローIDを、サブワークフロー情報記憶領域124bから取得する。そして、ドキュメント情報生成部113は、前記サブワークフローIDに該当し、かつ、メタスキャンアクティビティであるアクティビティを、サブワークフロー内アクティビティ情報記憶領域125bから検索し、サブワークフロー内アクティビティIDを取得する。ここで、サブワークフロー内アクティビティにメタスキャンアクティビティを含む場合、ドキュメント情報生成部113は、サブワークフロー内アクティビティ情報(図23を参照)から、サブワークフロー内アクティビティIDに該当するアクティビティ情報を取得し、メタスキャンアクティビティのプロパティである新規ファイルパスに、ファイル検出部81から送信された新規ファイルパスを設定する。
図23(a)は、WSDスキャンアクティビティに対応するサブワークフロー内アクティビティ情報の一例を示す。当該アクティビティ情報には、プロパティの項目としてリクエスト先と保管先とがある。
図23(b)は、メタスキャンアクティビティに対応するサブワークフロー内アクティビティ情報の一例を示す。当該アクティビティ情報には、プロパティの項目としてフォルダパス、ファイルタイプ、フォルダ監視ユーザ名、フォルダ監視ユーザパスワード、監視間隔、新規ファイルパスがある。
その後、ドキュメント情報生成部113は、前段のサブワークフローを実行する(ST119)。次いで、ドキュメント情報生成部113は、サブワークフロー内で実行されたメタスキャンアクティビティで取得した画像ファイルのパスと、メタデータ解析アクティビティで取得したメタデータの関連付けを、ドキュメント情報として生成する。(ST120)。
次いで、後段ワークフロー取得部114及び後段ワークフロー実行部115が、図19に示す手順で後段のワークフローを実行する(ST121)。ワークフローの処理実行が完了すると、ファイル検出部81は、管理リストテーブルの監視IDnに対応する監視時間を現在時刻に更新する(ST122)。
次に、ファイル検出部81は、テーブル番号カウンタnをさらに“1”だけカウントアップする(ST101)。そして、監視IDの総数Nを超えるまで、ステップST103,ST104の処理を繰り返す。監視IDの総数Nを超えたならば(ST102のYES)、今回の処理が終了する。
次に、メタスキャン用アプリケーション部112で実行されるメタデータファイルの検出と解析について、図22及び図24を用いて説明する。図22は、メタデータ解析部82の処理の流れを示し、図24は、マッピング設定ファイル90のデータ構造を示す。
メタスキャン方式では、前述の通り設定したメタデータがメタデータファイルとしてスキャン画像ファイルとともに記憶される。メタデータファイルのファイル名は、スキャン画像ファイルと同じ名前でファイルタイプがxml形式で記憶されるため、メタデータ解析部82は、スキャン画像ファイルを新規検出した際に、同じファイル名でxml形式のファイルをメタデータファイルとして検出する(ST131)。メタデータファイルには、デバイス情報、スキャンパラメータ情報、ユーザ情報、ユーザ拡張フィールド情報がxml形式で記述されている。
メタデータファイルを検出したならば(ST132のYES)、メタデータ解析部82は、そのファイルからデバイス情報、スキャンパラメータ情報、ユーザ情報、ユーザ拡張フィールド情報を取得する(ST133)。
ここで、ワークフローの処理内容の変更によって、メタスキャンの設定に変更が必要になる場合がある。また、メタスキャンの設定は、複合機1台毎に設定する必要がある。そのため、複合機を複数台管理している場合に、ワークフローの変更によりメタスキャンの設定変更が必要になった場合、全ての複合機に設定の変更を反映することは、管理者にとって非常にコストがかかってしまう。そこで、メタスキャンの設定に変更が生じた場合の管理者のコストを減らすために、情報処理装置1内で、メタデータファイルに記述されている情報をワークフローで利用する情報にマッピングする処理を実行する。
すなわち、情報処理装置1はマッピング情報を記述したマッピング設定ファイル90を具備する。マッピング設定ファイル90は、デフォルトマッピング要素91、データマッピング要素92、フィールドマッピング要素93及びアトリビュートマッピング要素94を記述する。
デフォルトマッピング要素91は、ワークフロー内で利用するプロパティ(プロパティ名とプロパティ値)のデフォルトを設定する。データマッピング要素92は、メタデータファイルに記述される各プロパティからワークフロー内のプロパティに割り当てるメタデータを決定するための条件とメタデータとを設定する。フィールドマッピング要素93は、メタデータファイルに記述される各プロパティをワークフロー内のプロパティとして利用できるように、メタデータファイルのプロパティ名とワークフロー内のプロパティ名との関係を示す条件とデータとを設定する。アトリビュートマッピング要素94は、メタデータファイルに記述される各プロパティをワークフロー内のドキュメント情報におけるメタデータとして利用できるように、メタデータファイルのプロパティ名とドキュメント情報におけるメタデータのプロパティ名との関係を示す条件とデータとを設定する。
メタデータ解析部82は、上記マッピング設定ファイル90を読み込む(ST134)。そしてメタデータ解析部82は、先ず、デフォルトマッピング要素91により、ワークフロー内で利用するプロパティ(プロパティ名とプロパティ値)のデフォルトを割り当てる(ST135)。
次に、メタデータ解析部82は、メタデータファイルに記述される各プロパティとデータマッピング要素92に含まれる各条件とを比較する(ST136)。そして、メタデータファイルに記述される各プロパティと一致する条件がデータマッピング要素92に含まれているか否かを判断する(ST137)。一致する条件が1つも含まれていない場合(ST137のNO)、メタデータ解析部82は、ワークフロー内で利用するプロパティのデフォルトを維持する。
これに対し、一致する条件が含まれている場合(ST137のYES)、メタデータ解析部82は、その条件と関連付けてデータマッピング要素92に記述されているメタデータを、ワークフロー内で利用するプロパティとして割り当てる(ST138)。
次に、メタデータ解析部82は、メタデータファイルに記述される各プロパティとフィールドマッピング要素93に記述される条件とを比較する(ST139)。そして、メタデータファイルに記述される各プロパティと一致する条件がフィールドマッピング要素93に含まれているか否かを判断する(ST140)。一致する条件が1つも含まれていない場合(ST140のNO)、メタデータ解析部82は、ワークフロー内で利用するプロパティのデフォルトを維持する。
これに対し、一致する条件が含まれている場合(ST140のYES)、メタデータ解析部82は、その条件に関連付けてフィールドマッピング要素93に記述されているデータを、ワークフロー内のプロパティに割り当てる(ST141)
最後に、メタデータ解析部82は、メタデータファイルに記述される各プロパティとアトリビュートマッピング要素94に記述される条件とを比較する(ST142)。そして、メタデータファイルに記述される各プロパティと一致する条件がアトリビュートマッピング要素94に含まれているか否かを判断する(ST143)。一致する条件が1つも含まれていない場合(ST143のNO)、メタデータ解析部82は、ワークフロー内で利用するドキュメント情報のデフォルトを維持する。
これに対し、一致する条件が含まれている場合(ST143のYES)、メタデータ解析部82は、その条件と関連付けてアトリビュートマッピング要素94に記述されているデータを、ワークフロー内で利用されるドキュメント情報のメタデータに割り当てる(ST144)。
このように本実施形態の情報処理装置1によれば、メタスキャン方式とWebスキャン方式のいずれの方式においても、統一的に管理して、複合機3が有するスキャン機能によりスキャンされた原稿の画像データを外部システム6に転送することができる。したがって、情報処理装置のアプリケーション開発及びその管理が簡易であり、コストを低減できる。
なお、この発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
例えば、前記実施形態では装置内部に発明を実施する機能が予め記録されている場合で説明をしたが、これに限らず同様の機能をネットワークから装置にダウンロードしても良いし、同様の機能を記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、CD−ROM等プログラムを記憶でき、かつ装置が読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。またこのように予めインストールやダウンロードにより得る機能は装置内部のOS(オペレーティング・システム)等と協働してその機能を実現させるものであってもよい。
この他、前記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を組合わせてもよい。