(57)【要約】【課題】ユーザーに割り当てられたワークフローのタスクを、ログインした画像処理装置で実行できない場合、素早くワークフロータスクを実行可能とすることを目的とする。【解決手段】操作表示部を有する画像処理装置であって、画像処理装置へのユーザーのログインに応じて、ユーザーに割り当てられているワークフローのタスクに関するジョブ実行ボタンを操作表示部に表示する第１の表示手段と、表示されたジョブ実行ボタンのうち選択されたジョブ実行ボタンに設定されているジョブ条件設定が、画像処理装置で実行可能なジョブ条件設定でない場合、操作表示部に警告情報を表示する第２の表示手段と、を有する。【選択図】図１０
2018098692.tif 000002
【特許請求の範囲】
【請求項１】
操作表示部を有する画像処理装置であって、
前記画像処理装置へのユーザーのログインに応じて、前記ユーザーに割り当てられているワークフローのタスクに関するジョブ実行ボタンを前記操作表示部に表示する第１の表示手段と、
前記表示されたジョブ実行ボタンのうち選択されたジョブ実行ボタンに設定されているジョブ条件設定が、前記画像処理装置で実行可能なジョブ条件設定でない場合、前記操作表示部に警告情報を表示する第２の表示手段と、
を有する画像処理装置。
【請求項２】
前記第１の表示手段は、前記画像処理装置へのユーザーのログインを検知し、ボタン作成依頼を受信した場合、前記ユーザーに割り当てられているワークフローのタスクに関するジョブ実行ボタンを前記操作表示部に表示する請求項１記載の画像処理装置。
【請求項３】
前記表示されたジョブ実行ボタンのうち選択されたジョブ実行ボタンに設定されているジョブ条件設定が、前記画像処理装置で実行可能なジョブ条件設定でない場合、前記選択されたジョブ実行ボタンに設定されているジョブ条件設定を実行可能なデバイスの一覧を前記操作表示部に表示する第３の表示手段を更に有する請求項１又は２記載の画像処理装置。
【請求項４】
前記選択されたジョブ実行ボタンに設定されているジョブ条件設定が、前記画像処理装置で実行可能なジョブ条件設定でない場合で、代替ジョブ条件を設定可能な場合、前記代替ジョブ条件を前記ジョブ実行ボタンに設定する設定手段を更に有する請求項１乃至３何れか１項記載の画像処理装置。
【請求項５】
前記選択されたジョブ実行ボタンに設定されているジョブ条件設定が、前記画像処理装置で実行可能なジョブ条件設定でない場合、前記代替ジョブ条件を設定可能か否か判定する判定手段を更に有し、
前記設定手段は、前記判定手段により前記代替ジョブ条件を設定可能であると判定された場合、前記代替ジョブ条件を前記ジョブ実行ボタンに設定する請求項４記載の画像処理装置。
【請求項６】
前記判定手段は、前記ログインしたユーザーに変更権限があるか否かに基づき、前記代替ジョブ条件を設定可能か否か判定する請求項５記載の画像処理装置。
【請求項７】
前記判定手段は、前記画像処理装置で実行可能でないジョブ条件設定が必須設定か否かに基づき、前記代替ジョブ条件を設定可能か否か判定する請求項５記載の画像処理装置。
【請求項８】
前記判定手段により前記代替ジョブ条件を設定可能であると判定された場合、前記代替ジョブ条件の変更通知をワークフローのサーバーに送信する送信手段を更に有する請求項５乃至７何れか１項記載の画像処理装置。
【請求項９】
前記設定手段は、設定画面を介したユーザーの操作に基づいて、前記代替ジョブ条件を前記ジョブ実行ボタンに設定する請求項４乃至８何れか１項記載の画像処理装置。
【請求項１０】
操作表示部を有する画像処理装置であって、
前記画像処理装置へのユーザーのログインに応じて、前記ユーザーに割り当てられているワークフローのタスクに関するジョブ実行ボタンを前記操作表示部に表示する表示手段と、
前記表示されたジョブ実行ボタンのうち選択されたジョブ実行ボタンに設定されているジョブ条件設定が、前記画像処理装置で実行可能なジョブ条件設定ではなく、かつ、前記ジョブ実行ボタンに関するワークフローのタスクを分割可能である場合、前記ジョブ実行ボタンを分割後のワークフローのタスクに関するジョブ実行ボタンに更新する更新手段と、
を有する画像処理装置。
【請求項１１】
前記表示されたジョブ実行ボタンのうち選択されたジョブ実行ボタンに設定されているジョブ条件設定が、前記画像処理装置で実行可能なジョブ条件設定ではない場合、前記ジョブ実行ボタンに関するワークフローのタスクを分割可能か否か判定する判定手段を更に有し、
前記更新手段は、前記判定手段により前記ジョブ実行ボタンに関するワークフローのタスクを分割可能であると判定された場合、前記ジョブ実行ボタンを分割後のワークフローのタスクに関するジョブ実行ボタンに更新する請求項１０記載の画像処理装置。
【請求項１２】
前記表示されたジョブ実行ボタンのうち選択されたジョブ実行ボタンに設定されているジョブ条件設定が、前記画像処理装置で実行可能なジョブ条件設定ではない場合、前記判定手段は、前記ジョブ実行ボタンに関するワークフローのタスクの分割をワークフローのサーバーに依頼し、前記サーバーより前記画像処理装置で実行可能となった分割後のワークフローのタスクの情報を受信したか否かに基づき、前記ジョブ実行ボタンに関するワークフローのタスクを分割可能か否か判定する請求項１１記載の画像処理装置。
【請求項１３】
操作表示部を有する画像処理装置が実行する情報処理方法であって、
前記画像処理装置へのユーザーのログインに応じて、前記ユーザーに割り当てられているワークフローのタスクに関するジョブ実行ボタンを前記操作表示部に表示する第１の表示工程と、
前記表示されたジョブ実行ボタンのうち選択されたジョブ実行ボタンに設定されているジョブ条件設定が、前記画像処理装置で実行可能なジョブ条件設定でない場合、前記操作表示部に警告情報を表示する第２の表示工程と、
を含む情報処理方法。
【請求項１４】
操作表示部を有する画像処理装置が実行する情報処理方法であって、
前記画像処理装置へのユーザーのログインに応じて、前記ユーザーに割り当てられているワークフローのタスクに関するジョブ実行ボタンを前記操作表示部に表示する表示工程と、
前記表示されたジョブ実行ボタンのうち選択されたジョブ実行ボタンに設定されているジョブ条件設定が、前記画像処理装置で実行可能なジョブ条件設定ではなく、かつ、前記ジョブ実行ボタンに関するワークフローのタスクを分割可能である場合、前記ジョブ実行ボタンを分割後のワークフローのタスクに関するジョブ実行ボタンに更新する更新工程と、
を含む情報処理方法。
【請求項１５】
コンピュータを、請求項１乃至１２何れか１項記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
ドキュメントを扱う定型的な業務の効率化のために、ワークフローエンジン（以下、ＷＦエンジンという）を使用したドキュメント業務フローの自動実行が注目されている。
ＷＦエンジンは、サーバー上で動作し、予め決められたワークフロー手順に従って、サーバー上のドキュメントファイルをプリンタでプリントする、作業者にメールを送信する等のタスクを実行していく。また、ＷＦエンジンは、サーバーとネットワークを介して接続されたＰＣ等の機器に対し、ドキュメントファイルの保存や移動、編集等の処理を実行させることができる。更に、ＷＦエンジンは、ワークフローにおけるタスクとして、サーバーとネットワークを介して接続されたＭＦＰ等の機器に対し、ドキュメントファイルのプリント、保存された電子データの送信といった処理を実行させることができる。
しかし、スキャンして電子データを送信するといった、紙文書のスキャンを行う処理は、物理的な紙文書をスキャナにセットする必要があるため、ＷＦエンジン単体で自動的に実行することができない。このため、特許文献１ではワークフロー手順で決められているスキャンを実行する操作指示ボタンをワークフロー実行システムがＭＦＰ上の操作部に表示させしておく技術が開示されている。そして、特許文献１の技術では、ユーザーが手作業で紙文書をスキャナにセットし、ＭＦＰ上の操作部の操作指示ボタンを選択することでスキャン処理の実行を指示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１６０７６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＭＦＰは自デバイスで実行できないジョブ条件設定のワークフロータスクをＷＦエンジンから受信する場合がある。ＭＦＰの使用ユーザーは、ワークフローサーバ上のプリントジョブやスキャンジョブを実行するワークフロータスクについて、どのデバイスで該当ワークフロータスクを実行可能か容易に判断することができない。
特許文献１では、ＷＦエンジンはワークフロータスクの実行指示をするデバイスが該当ワークフロータスクを実行可能かまでは考慮されていない。そのため、予めどのデバイスでワークフロータスクを実行するかを決定していないと、該当ワークフロータスクを実行できない可能性がある。
【課題を解決するための手段】
【０００５】
本発明は、操作表示部を有する画像処理装置であって、前記画像処理装置へのユーザーのログインに応じて、前記ユーザーに割り当てられているワークフローのタスクに関するジョブ実行ボタンを前記操作表示部に表示する第１の表示手段と、前記表示されたジョブ実行ボタンのうち選択されたジョブ実行ボタンに設定されているジョブ条件設定が、前記画像処理装置で実行可能なジョブ条件設定でない場合、前記操作表示部に警告情報を表示する第２の表示手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、ユーザーに割り当てられたワークフローのタスクを、ログインした画像処理装置で実行できない場合、素早くワークフロータスクを実行可能とすることができる。
【図面の簡単な説明】
【０００７】
【図１】ワークフローシステムのシステム構成の一例を示す図である。
【図２】ＭＦＰのハードウェア構成の一例を示す図である。
【図３】ＷＦサーバーのハードウェア構成の一例を示す図である。
【図４】ワークフローエディタの操作画面の一例を示す図である。
【図５】プリントのジョブ条件設定画面の簡略図である。
【図６】ワークフローの例を模式的に示した図である。
【図７】ワークフローシステムの情報処理の一例を示すシーケンス図である。
【図８】ＰＣのＷＥＢブラウザ上に表示される操作画面の一例を示す図である。
【図９】ＭＦＰの操作表示部に表示される操作画面の一例を示す図である。
【図１０】実施形態１のＭＦＰの情報処理の流れを示すフローチャートである。
【図１１】操作表示部上の警告表示の一例を示す図である。
【図１２】実行可能な別デバイス一覧を検索表示した一例を示す図である。
【図１３】プリントジョブ条件設定画面（その１）の一例を示す図である。
【図１４】プリントジョブ条件設定画面等の一例を示す図である。
【図１５】プリントジョブ条件設定画面（その２）の一例を示す図である。
【図１６】実施形態２のＭＦＰの情報処理の流れを示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
＜実施形態１＞
（システム構成）
図１は、ワークフローシステムのシステム構成の一例を示す図である。
ワークフローシステムは、ＭＦＰ１０１と、ワークフローエンジンが搭載されたサーバー（以下、ＷＦサーバーという）１０２及びＰＣ１０３がＬＡＮ１０４で構成されたネットワークによって接続されている。ＭＦＰ１０１は、画像処理装置の一例である。ＷＦサーバー１０２は、情報処理装置の一例である。
ＭＦＰ１０１は、紙媒体をスキャンし、そのスキャンデータを基に用紙に画像を形成して印刷するコピー機能や、スキャンデータを電子的なデータとしてＷＦサーバー１０２やＰＣ１０３にネットワーク経由で送信するスキャン送信等の機能を持つ。更に、ＭＦＰ１０１は、ＷＦサーバー１０２等のネットワーク接続された外部機器からの要求により、送信された画像データをプリントアウトしたり、スキャン送信したりする機能も持つ。このとき、プリントやコピー、スキャン送信機能における設定値は、処理実行の要求元であるＷＦサーバー１０２が実行要求時にＭＦＰ１０１に指定する。
ＷＦサーバー１０２は、予め指定された処理順に従って順番に処理を実行するワークフローエンジン（以下、ＷＦエンジンという）の機能を搭載している。ＷＦエンジンは、予め指示された処理順が記述されているワークフロー定義に従い、ＷＦサーバー１０２やＰＣ１０３におけるファイル操作、メールサーバーへのメール送信、ＭＦＰ１０１に対する処理実行要求等の処理を自動的に行う。
【００１０】
（ハードウェア構成）
図２は、ＭＦＰ１０１のハードウェア構成の一例を示す図である。
ＭＦＰ１０１は、スキャナ２１３及びプリンタ２１４を接続すると共に、操作表示部２１１、操作入力部２１２、及びＬＡＮ１０４を接続することが可能なコントローラユニット２００を備える。
コントローラユニット２００は、各種制御プログラムを実行するＣＰＵ２０１を有する。
ＣＰＵ２０１は、ＲＯＭ２０３に格納されているブートプログラムに基づきＭＦＰ１０１を起動する。また、このＣＰＵ２０１は、ＨＤＤ２０４に格納されている制御プログラムを読み出し、ＲＡＭ２０２をワークエリアとして所定の処理を実行する。
ＨＤＤ２０４には、コピーやスキャン送信の機能を含む各種制御プログラムが格納されており、スキャナ２１３から読み込んだスキャンデータが格納される。
操作部出力Ｉ／Ｆ２０５は、操作表示部２１１へのデータ出力通信制御を行う。
操作部入力Ｉ／Ｆ２０６は、操作入力部２１２からのデータ入力通信制御を行う。
ネットワークＩ／Ｆ２０７は、ＬＡＮ１０４に接続され、ＬＡＮ１０４を介した情報の入出力制御を行う。
スキャナＩ／Ｆ２０８は、スキャナ２１３から画像データを入力すると共に、スキャナ制御データの入出力を行う。
プリンタＩ／Ｆ２０９は、プリンタ２１４へ出力画像データを出力すると共に、プリンタ制御データの入出力を行う。
以上、２０１から２０９までのデバイスがシステムバス２１０上に配置される。
【００１１】
操作入力部２１２は、タッチパネルやハードキー等の入力装置を備えた、ユーザーからの指示入力インターフェースである。ハードキーには、紙文書のスキャン実行開始をユーザーが指示するためのスタートボタン等が存在する。
操作表示部２１１は、ＬＣＤやＬＥＤ等の表示装置を備えた、ユーザーへの表示インターフェースである。
スキャナ２１３は、ＣＣＤ等の光学的な読み取り装置を備え、紙媒体を光学的に走査して、電子的な画像データとして読み取る機能を持つ。
プリンタ２１４は、電子的な画像データを、用紙等の記録媒体上に画像として形成する機能を持つ。
また、ＭＦＰ１０１は、ネットワークＩ／Ｆ２０７を介して、装置外の機器からプリント処理やスキャン送信等の実行要求を受け付けることができる。処理の実行要求は、実行処理の種別や実行時の設定値情報等と共に、外部機器から依頼され、ＨＤＤ２０４やＲＡＭ２０２等に一時保存された後、ＣＰＵ２０１によって実行される。
更に、ＭＦＰ１０１は、実行要求処理がスキャン送信等のスキャンやプリントを伴う処理の場合、操作表示部２１１に処理実行を開始する指示ボタン等を表示することができる。例えば、スキャン処理実行を開始する指示ボタンの場合、ユーザーがスキャナ２１３に原稿をセットし、操作入力部２１２を介して開始指示ボタンを選択する。ＭＦＰ１０１は、開始指示ボタンの選択を検知すると、外部からの要求で指定されたジョブ条件設定値に従ってスキャン処理を実行する。
ＣＰＵ２０１が、ＲＯＭ２０３又はＨＤＤ２０４に記憶されたプログラムに基づき処理を実行することによって、ＭＦＰ１０１の機能及び後述する図７のＭＦＰ１０１の処理、後述する図１０、図１６のフローチャートの処理等が実現される。
【００１２】
図３は、ＷＦサーバー１０２のハードウェア構成の一例を示す図である。なお、ＰＣ１０３もＷＦサーバー１０２と同様のハードウェア構成を持つ。
ＷＦサーバー１０２は、ＬＡＮ１０４に接続可能な制御部３００を持つ。制御部３００は、各種制御プログラムを実行するＣＰＵ３０１を有し、ＷＦサーバー１０２の全体の動作を制御する。ＣＰＵ３０１は、ＲＯＭ３０３やＨＤＤ３０４に格納されている制御プログラムを読み出し、ＲＡＭ３０２をワークエリアとして所定の処理を実行する。ＨＤＤ３０４には、ＷＦエンジンやＷＥＢサーバー、及びＷＥＢアプリ等の機能を含む各種制御プログラムが格納されている。また、ＨＤＤ３０４には、ＷＦエンジンが実行するワークフロー定義も格納されている。
ネットワークＩ／Ｆ３０５は、ＬＡＮ１０４を介した情報の入出力制御を行う。
操作部出力Ｉ／Ｆ３０６は、操作表示部３０８へのデータ出力通信制御を行う。
操作部入力Ｉ／Ｆ３０７は、操作入力部３０９からのデータ入力通信制御を行う。
以上、３０１から３０７までのデバイスが、システムバス３１０上に配置される。
【００１３】
操作表示部３０８は、ＬＣＤやＬＥＤ等の表示装置を備えた、ユーザーへの表示インターフェースである。
操作入力部３０９は、キーボードやマウス等の入力装置を備えた、ユーザーからの指示入力インターフェースである。
また、ＷＦサーバー１０２では、ＷＥＢサーバーが動作している。ＷＦエンジンは、ＷＥＢサーバーを利用してＷＥＢアプリが生成するＨＴＭＬコンテンツを提供可能である。ＷＦエンジンは、ＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）等によって動的にコンテンツを作成することができ、ワークフロー実行のための操作画面を提供することができる。
ＣＰＵ３０１がＲＯＭ３０３又はＨＤＤ３０４に記憶されたプログラムに基づき処理を実行することによって、ＷＦサーバー１０２の機能及び後述する図７のＷＦエンジンの処理等が実現される。
【００１４】
（ワークフローの生成と構成）
図４は、ＷＦサーバー１０２の操作表示部３０８に表示されるワークフローエディタの操作画面の一例を示す図である。ワークフローエディタは、ＷＦサーバー１０２においてＷＦエンジンが実行するワークフローを定義するための編集ツールである。通常は、ＷＦサーバー１０２上のアプリケーションとして動作し、ワークフローの定義ファイル（ワークフロー定義ファイル）を生成し、ワークフロー定義ファイルをＷＦエンジンが読み込んでワークフローを実行する。
フロー編集部４０１に、現在編集しているワークフローが表示される。ワークフローエディタでは、ワークフローにおける各処理を図形として表示し、それらを方向性のある矢印等の記号で結ぶことで、視覚的にワークフローを編集することができる。ここでは、フローの各処理であるフロー処理４０４から４０７までが図形として表示され、それらを結ぶ矢印がフローの実行順番を示している。これら図形の種類や配置、矢印を結ぶ順番を変更し、ワークフローが実行する処理や順番を編集することができる。この図では、フロー処理４０４から４０５、４０６、４０７と順番に実行されることを示している。
エディタメニュー部４０２は、編集したワークフローの保存、保存したワークフローの読み込み、ワークフローにおける各処理の削除、といったワークフローに関する操作を行う指示ボタン又はメニューが配置されている。
フロー選択部４０３は、フロー編集部４０１で編集するワークフローの各処理がボタンとして配置されている。ここで、ユーザーは、ワークフローで実行させる所望の処理を選択した後、マウスを使用したドラッグドロップ等でフロー編集部４０１に配置することでワークフローを編集する。また、ユーザーは、フロー処理４０４から４０７までの何れかを選択して、エディタメニュー部４０２から編集に関するメニューを選択することで、選択したフロー処理における詳細なジョブ条件設定を設定することができる。例えば、フロー処理４０５はＭＦＰ１０１に対してプリントを指示する処理である。ユーザーが、フロー処理４０５を選択して、編集に関するメニューを選択すると、プリント部数や両面設定、印刷レイアウト設定、二次元コード等の設定する画面が操作表示部３０８に表示される。ユーザーは、その画面上でそれらの値を設定することができる。
【００１５】
図５は、フロー処理４０５を選択した際に表示される、プリントのジョブ条件設定画面の簡略図である。ユーザーは、ジョブ条件設定画面において、図５のようなプリントに関わる各ジョブ条件設定の設定値をプルダウンにて選択し、編集することができる。
フロー処理４０６を選択した場合、図５と同等のスキャン条件設定画面が表示され、ユーザーは、スキャン条件設定画面においてスキャンに関わる各ジョブ条件を設定することができる。
【００１６】
図６（Ａ）は、図４で示したワークフローエディタの編集画面で編集したワークフローの例を模式的に示した図である。
タスク６０１から６０４までは、ＷＦエンジンによって実行されるワークフローのそれぞれの処理であるワークフロータスクを表す。
タスク６０１から６０４までが示すワークフローは、ドキュメントを処理するワークフローである。ここでは、タスク６０１から６０４までが連続的に実行されることを示している。ＷＦエンジンは、ワークフローの開始時に指定された電子データのドキュメントについて、これらの処理を連続的に実行する。
タスク６０１は、承認処理である。ドキュメントを指定してワークフローの開始を指示したユーザーの上長に対して、ドキュメントに記載された内容について承認を貰うための処理である。より具体的には、ＷＦエンジンは、ディレクトリサービスやデータベースから、フローを開始したユーザーの上長のメールアドレスを取得し、承認の依頼とＷＦエンジンが提供するＷＥＢ画面での入力指示とをメールで送信する。ＷＥＢ画面において上長が許可する旨の承認結果を入力すると、ＷＦエンジンは、次のタスク６０２を実行する。ここで、上長が却下等、許可以外の入力をした場合については、説明の簡略化のため省略する。
【００１７】
タスク６０２は、ドキュメントをＭＦＰ１０１によってプリントする処理である。より具体的には、ＷＦエンジンは、ＭＦＰ１０１に対してプリントを実行する指示ボタンの作成依頼をする。ここで、ＷＦエンジンは、ボタンを選択した際に実行されるプリント処理のジョブ条件設定を、指示ボタンに関連付けて指定する。このとき、ＷＦエンジンは、プリント処理するドキュメントデータをＷＦサーバー内、又は任意のドキュメントサーバーに保存しているものとする。ドキュメントのプリントはプリントされた紙の取得を伴うため、ＷＦエンジンが自動的にプリントするのではなく、ユーザーにプリントの開始を指示させることでプリントを実行する。ＷＦエンジンは、タスク６０１に対応するフロー処理４０４の承認処理後に自動で、ＭＦＰ１０１に対して指示ボタンの作成依頼をしてもよいし、フロー処理４０５においてユーザーからの指示により作成依頼をしてもよい。このとき、プリント可能なＭＦＰが複数台存在する場合がある。この場合、ＷＦエンジンは、前述のＷＦサーバー１０２でのワークフローエディタ編集時に事前指定されたものを取得してもよい。また、ＷＦエンジンは、ＭＦＰ１０１からユーザーログイン通知を受信し、ユーザーログイン通知を送信してきたＭＦＰ１０１へ指示ボタンの作成依頼をしてもよい。
更に、ＷＦエンジンは、ＭＦＰ１０１に対してプリント実行指示ボタンを作成したことを、ワークフローを開始したユーザーに対してメールで送信する。ユーザーがＭＦＰ１０１においてプリント実行指示ボタンを選択し、プリント処理の実行を指示する。すると、ＭＦＰ１０１は、プリント処理を実行し、ＷＦエンジンへタスク６０２の実行完了通知を送信する。
タスク６０２の実行完了通知を受信すると、ＷＦエンジンは、次のタスク６０３を実行する。
【００１８】
タスク６０３は、ＭＦＰ１０１に対して紙文書をスキャンし、スキャンした電子データをＷＦサーバー１０２に送信させる処理である。より具体的には、まず、ＷＦエンジンは、ＭＦＰ１０１に対してスキャン送信を実行する指示ボタンの作成依頼をする。ここで、ＷＦエンジンは、ボタンを選択した際に実行されるスキャン送信のジョブ条件設定を、指示ボタンに関連付けて指定する。更に、ＷＦエンジンは、ＭＦＰ１０１に対してスキャン実行指示ボタンを作成したことを、ワークフローを開始したユーザーに対してメールで送信する。ユーザーが、ＭＦＰ１０１においてスキャン実行指示ボタンを指定し、スキャン送信を実行すると、ＷＦエンジンが指定した送信先設定にスキャンによって読み取った電子データが送信される。ＷＦエンジンは、この電子データの受信を監視し、電子データを受信したことを確認すると、次のタスク６０４を実行する。
タスク６０４は、電子データをＰＣやファイルサーバー等のファイルシステムに、ファイルとして保存する処理である。より具体的には、ＷＦエンジンは、受信した電子データを、所定のファイル形式に変換したり、ファイル名を変更したりした後、ファイルシステムの指定された場所にファイルを移動する。
タスク６０４における、ファイルの移動が完了すると、ＷＦエンジンは、ワークフローの処理をすべて実行した旨のメールをユーザーに送信し、ワークフローの実行を完了する。
このタスク６０１から６０４までのワークフローは、電子データとして作成した申請書に対して、上長による確認と承認、プリント、プリントした紙文書への捺印やサイン、捺印後の紙文書の電子データとしての保存と紙文書の提出、という処理を順番に行う。
これは、一般的なオフィスで処理されている申請書処理フローに基づく例である。
【００１９】
図６（Ａ）に示したワークフローは、以降の実施形態の説明において、ＷＦエンジンが実行するワークフローの例として使用する。また、ワークフローにおける６０１から６０４までのタスクは、上述したようにいくつかの細かい処理に細分することができる。
タスク６０１から６０４までのような、ある程度の詳細処理をまとめたフローの実行単位を、便宜上タスクと呼ぶ。また、各タスクにおける、メールの送信やファイル名の変更等の詳細な処理実行単位を、便宜上アクションと呼ぶ。したがって、タスク６０１とアクション６０１とは同義である。
【００２０】
図７は、図６（Ａ）に示したワークフローをＷＦエンジンが実行し、図１に示したシステム全体における各装置が行う情報処理の流れを示すシーケンス図である。
まず、ユーザーは電子データによる申請書等のドキュメントファイルを作成した後、ＰＣ１０３上のＷＥＢブラウザ等を使用して、ＷＦサーバー１０２におけるＷＦエンジン６００にアクセスする操作を行う。Ｓ７０１において、ＰＣ１０３上のＷＥＢブラウザは、ＷＦエンジン６００にアクセスする操作を受け付ける。
Ｓ７０２において、ＰＣ１０３上のＷＥＢブラウザは、ＷＦサーバー１０２におけるＷＥＢサーバーを介してＷＦエンジン６００に対して操作表示部の画面の取得要求を送信する。
Ｓ７０３において、ＷＦエンジン６００は、ＷＥＢサーバーからアクセス要求を受け取ると、ユーザー認証を行い、そのユーザーのワークフローに関する操作画面を生成した後、ＷＥＢサーバーを介してＰＣ１０３に応答を返す。より具体的に説明すると、ＷＦエンジン６００は、ＰＣ１０３からの要求がＷＦエンジン６００に対してログインしていないユーザーであると判定した場合に、ログイン画面を作成し、ＰＣ１０３に返答する。一方、ＷＦエンジン６００は、既にログインしているユーザーであると判定した場合は、Ｓ７０７の処理を実行する。
Ｓ７０３でＰＣ１０３にログイン画面が返答された後、ユーザーは、ＷＥＢブラウザに表示されたログイン画面に対してユーザーＩＤとパスワードとを入力し、ログインを指示する。Ｓ７０４において、ＰＣ１０３上のＷＥＢブラウザは、ユーザーＩＤとパスワードとの入力を受け付ける。
Ｓ７０５において、ＰＣ１０３上のＷＥＢブラウザは、ユーザーＩＤとパスワードとを、ＷＦサーバー１０２を介してＷＦエンジン６００に送信する。
Ｓ７０６において、ＷＦエンジン６００は、ログインユーザーがＷＦエンジン６００の管理対象であるユーザーかどうか認証処理を行う。ＷＦエンジン６００は、外部ディレクトリサービスを用いて認証処理を行ってもよいし、内部データベースに一致するユーザーＩＤとパスワードとが存在するか否かで認証処理を行ってもよい。
ログインユーザーが管理対象であると判定した場合、Ｓ７０７において、ＷＦエンジン６００は、そのユーザーのワークフローに関する操作画面を作成し、ＰＣ１０３に返答する。
【００２１】
図８は、Ｓ７０７の後にＰＣ１０３のＷＥＢブラウザ上に表示される操作画面の一例を示す図である。
操作画面は大きく２つの領域をもつ。フロー開始指示領域８０１には、ワークフローの開始を指示するための選択やボタンが表示される。実行中フロー表示領域８０２には、ログインしたユーザーによる何らかの指示が必要なフローが一覧として表示され、フローのタスク実行に必要なユーザーの指示を入力するボタン等が表示される。
また、ログインユーザー表示領域８０３には、現在ログイン中のユーザーのユーザー名が表示される。更に、ログアウトボタン８０４は、この表示や操作を終了するログアウトを指示するボタンである。
ワークフロー選択ボタン８１１は、ＷＦエンジン６００が実行するワークフローを選択するプルダウンボタンである。選択するワークフローは、例えば購買申請書や外出申請書等、ワークフローによって処理するドキュメントごとに存在するのが一般的である。
ファイル選択ボタン８１２は、選択したワークフローによって実際に処理するドキュメントファイルを指定するボタンである。このボタンを選択することによって、ＰＣ１０３のＨＤＤ３０４内のファイルを選択するためのダイアログが表示され、そこから所望するドキュメントファイルを選択することができる。
フロー開始ボタン８１３は、ファイル選択ボタン８１２で選択したドキュメントに対して、ワークフロー選択ボタン８１１で選択したワークフローの実行を開始するためのボタンである。
【００２２】
タスク表示領域８２１及び８２２は、ログインしているユーザーが現在実行しているそれぞれのタスク情報を表示する領域である。タスク表示領域８２１及び８２２には、実行しているワークフローの名前、ワークフローにおいて現在実行中のタスク名、タスク実行に必要なユーザー指示を入力するためのボタン等が表示される。
ドキュメントリンク８２３及び８２４は、それぞれのワークフローが処理しているドキュメント名を表示する。このドキュメントリンク８２３及び８２４は、ＷＦエンジン６００が管理している実際のドキュメントへのリンクとなっており、これを選択することで、ドキュメントの内容を表示することができる。
承認ボタン８２５は、承認結果を指示するボタンである。図６（Ａ）のタスク６０１において上長が承認するかどうかを選択するためのプルダウンボタンであり、承認や却下等を選択することができる。
コメント入力エリア８２６は、承認結果を送信する際の申請者に対するコメントを入力するテキスト入力フィールドである。ここで入力したコメントは、ＷＦエンジン６００が承認結果を申請者ユーザーにメール送付する際に、メール本文に付加される。
タスク実行ボタン８２７は、タスク表示領域８２１に表示されているタスク処理を設定された設定値によって実行指示するボタンである。
フロー削除ボタン８２８、８２９は、表示されているタスクを実行しているワークフローを中止するためのボタンである。
タスク表示領域８２１及び８２２に表示される内容は、ワークフローの処理進行度、つまりワークフローにおけるどのタスクを現在実行中であるかによって変わる。
ＷＦエンジン６００は、現在実行中のタスクの内容に合わせて動的に画面を生成し、ＰＣ１０３に画面を返答する。ＷＦエンジン６００がＳ７０７で、画面をＰＣ１０３に返答した後、ＰＣ１０３上のＷＥＢブラウザ等によって図８に示したような操作画面が表示される。ユーザーは、この画面において、ワークフローを開始するための、ワークフロー開始指示を行う。Ｓ７０８において、ＰＣ１０３上のＷＥＢブラウザ等は、ユーザーからのワークフロー開始指示を受け取る。
【００２３】
まず、ユーザーは、図６（Ａ）のワークフローに相当するワークフローをワークフロー選択ボタン８１１によって選択する。更に、ユーザーは、ワークフローを実施する申請書ファイルをファイル選択ボタン８１２によって選択し、フロー開始ボタン８１３を選択する。
Ｓ７０９において、フロー開始の指示により、ＰＣ１０３のＷＥＢブラウザは、ＷＦエンジン６００に対して、選択したファイルがアップロードし、開始指示されたフローを送信する。開始指示されたフローとファイルとを受け取ったＷＦエンジン６００は、開始指示されたワークフローの定義を読み込み、受け取ったドキュメントに対してワークフローを実行する。
図６（Ａ）に示すワークフローでは、まず承認タスクが実行される。承認タスクでは、まず承認を依頼するメールを送付するアクションが行われる。
Ｓ７１０において、ＷＦエンジン６００は、申請者のユーザーの上長に対して、承認を依頼されている旨のメールを送信する。なお、ユーザーに通知する手段は、メール送信以外にも社内ＳＮＳやメッセージ送信アプリ等、何れの手段でもよい。
Ｓ７１１において、ＷＦサーバー１０２は、メールを受けた申請者ユーザーの上長によるアクセス及び操作等に基づき、承認処理を行う。承認処理については、本実施形態の処理の本質から離れるため詳細な説明は省略する。
申請者ユーザーの上長による承認処理が終わると、Ｓ７１２において、ＷＦエンジン６００は、申請者に対して、承認の結果及び次にユーザーが実行するべき処理の内容と共に次の処理依頼をメールにて指示する。このとき、ＷＦエンジン６００は、図８のフロー表示領域８２２に示すようなメールの内容を生成する。
【００２４】
メールを受信したユーザーは、ＭＦＰ１０１にログインする。Ｓ７１３において、ＭＦＰ１０１は、ユーザーによるログインを受け付ける。
Ｓ７１４において、ＭＦＰ１０１は、ＷＦサーバー１０２へユーザーログインの通知を送信する。
ユーザーログインの通知を受信したＷＦエンジン６００は、Ｓ７１５において、予めワークフローの定義において決定されているプリント実行の設定値と共に、プリント実行を指示するボタンの作成をＭＦＰ１０１に対して指示する。この際、ＷＦエンジン６００は、プリント実行ボタン上に表示するテキストも同時に指示する。
ＷＦエンジン６００からプリント実行ボタン作成を指示されたＭＦＰ１０１は、Ｓ７１６において、プリント実行を指示するボタンを作成しＭＦＰ１０１の操作表示部２１１に画面表示をする。
【００２５】
図９は、Ｓ７１６において、ＭＦＰ１０１の操作表示部２１１に表示される操作画面の一例を示す図である。
画面９０１は、ユーザーが予め処理内容や設定値を設定しておき、その処理を実行するボタンを生成、表示する画面である。通常、ＭＦＰ１０１は、操作表示部の画面を介したユーザーによる設定操作に応じて、処理実行のボタンを生成する。しかし、ＭＦＰ１０１は、ＭＦＰ１０１の外部装置からボタン生成のための設定値データを受け取り、設定値データに基づき画面９０１上に処理実行のボタンを生成することもできる。
ボタン９０２は、Ｓ７２１におけるＷＦエンジン６００のプリント実行ボタン作成依頼によって、ＭＦＰ１０１が操作表示部２１１の画面上に生成したボタンである。また、ボタン９０２、９０３以外のボタンは、ＭＦＰ１０１の操作表示部の画面において作成した別の処理実行ボタンである。ボタン９０３については後述する。
また、ＷＦエンジン６００が生成依頼するボタン９０２上には、ワークフローの内容を表すテキストが表示される。これは、Ｓ７１５において、ＷＦエンジン６００がプリント実行ボタン作成依頼と共にＭＦＰ１０１に送信したものである。
ボタン９０２が選択されると、操作表示部２１１の画面は、プリントを実行するプリント実行画面に遷移される。遷移した先のプリント実行画面では、プリント部数や両面設定、印刷レイアウト設定、電子透かし設定等、プリントに必要な設定は全て設定されている状態になっている。
ユーザーは、ボタン９０２を選択したうえで、ＳＴＡＲＴボタン等を選択することでプリント実行の開始を指示する。Ｓ７１７において、ＭＦＰ１０１は、プリント実行の開始指示を受ける。
【００２６】
Ｓ７１８において、ＭＦＰ１０１は、ＷＦエンジン６００へプリントするファイルの取得依頼をする。
ファイル取得依頼を受信したＷＦエンジン６００は、Ｓ７１９において、プリントするファイルをＭＦＰ１０１へ送信する。
続いて、Ｓ７２０において、ＭＦＰ１０１は、ボタン９０２に関連付けられた設定値でプリント処理を行う。
そして、プリント処理を完了したＭＦＰ１０１は、Ｓ７２１において、ＷＦエンジン６００へプリント完了通知を送信する。
プリント完了通知の送信後、ＭＦＰ１０１は、Ｓ７２２において、プリント実行ボタンを削除する。
【００２７】
ＭＦＰ１０１からプリント完了通知を受信したＷＦエンジン６００は、Ｓ７２３において、申請者のユーザーに対し、ユーザーが実行するべき処理の内容と共に次の処理依頼をメールにて指示する。
メールを受信したユーザーは、ＭＦＰ１０１にログインする。Ｓ７２４において、ＭＦＰ１０１は、ユーザーによるログインを受け付ける。
Ｓ７２５において、ＭＦＰ１０１は、ＷＦサーバー１０２へユーザーログインの通知を送信する。
ユーザーログインの通知を受信したＷＦエンジン６００は、Ｓ７２６において、予めワークフローの定義において決定されているスキャン送信の設定値と共に、スキャン送信の実行を指示するボタンの作成をＭＦＰ１０１に対して指示する。この際、ＷＦエンジン６００は、スキャン実行ボタン上に表示するテキストも同時に指示する。
ＷＦエンジン６００からスキャン実行ボタン作成を指示されたＭＦＰ１０１は、Ｓ７２７において、スキャン送信実行を指示するボタンを作成しＭＦＰ１０１の操作表示部２１１に画面表示をする。
【００２８】
図９のボタン９０３は、Ｓ７２１におけるＷＦエンジン６００のスキャン実行ボタン作成依頼によって、ＭＦＰ１０１が操作表示部２１１の画面上に生成したボタンである。
また、ＷＦエンジン６００が生成依頼するボタン９０３上には、ワークフローの内容を表すテキストが表示される。これは、Ｓ７２６において、ＷＦエンジン６００がスキャン実行ボタン作成依頼と共にＭＦＰ１０１に送信したものである。
ボタン９０３が選択されると、操作表示部２１１の画面は、スキャン送信を実行する画面に遷移される。遷移した先のスキャン実行画面では、送信宛先や送信手段等スキャン送信に必要な設定は全て設定されている状態になっている。
ユーザーは、スキャナの原稿台にスキャン送信するドキュメントをセットし、ＳＴＡＲＴボタン等を選択することでスキャン送信を指示する。Ｓ７２８において、ＭＦＰ１０１は、スキャン送信の開始指示を受ける。
Ｓ７２９において、ＭＦＰ１０１は、ボタン９０２に関連付けられた設定値でスキャン送信処理を行う。
更に、Ｓ７３０において、ＭＦＰ１０１は、スキャンしたデータを設定された送信先であるＷＦエンジン６００に対して送信する。
ＷＦエンジン６００は、Ｓ７２６でスキャン実行ボタン作成を依頼した後、送信設定先として指定したＷＦサーバー１０２の受信フォルダを監視している。Ｓ７３１において、ＷＦエンジン６００は、そのフォルダにＳ６２６の送信設定で設定したファイルが受信されたかどうかを判定する。
予め設定したファイルが受信されたと判定した場合、Ｓ７３２において、ＷＦエンジン６００は、ＭＦＰ１０１に対してファイル受信完了通知を送信する。この完了通知には、ＭＦＰ１０１で作成されたスキャン実行ボタンを一意に特定可能なＩＤ等を含む。その他にも、Ｓ７２６におけるボタン作成依頼の戻り値として、ＷＦエンジン６００は、ＭＦＰ１０１からボタンを一意に特定するＩＤ等を取得し、Ｓ７３２の受信完了通知の送信時にそのＩＤを含める方法としてもよい。
Ｓ７３３において、ＭＦＰ１０１は、ファイル受信通知を受信後、通知に含まれるＩＤに対応するスキャン実行ボタンを削除する。
【００２９】
その後、ＷＦエンジン６００は、図６（Ａ）におけるタスク６０４の処理を行う。
Ｓ７３４において、ＷＦエンジン６００は、受信したファイルのファイル名を予め指定されたファイル名に変更し、ＷＦサーバー１０２又はＰＣ１０３上の予め指定されたフォルダにファイルを保存する（Ｓ７３４）。
更に、Ｓ７３５において、ＷＦエンジン６００は、図６（Ａ）におけるワークフローのタスクが全て完了した旨を記載したメールを申請者ユーザーに対して送信し、ワークフローを完了する。
本実施形態では、ＷＦエンジン６００によるワークフローの実行において、ユーザーが手作業でＭＦＰにて原稿を設置してスキャン実行するタスクを含む場合、そのスキャン処理を実行するためのボタンを、ＷＦエンジン６００がＭＦＰ上に動的に生成、削除する。  このとき、スキャン実行ボタンは、ワークフローにおいてスキャン送信が必要なタイミングで生成され、スキャン送信が実行された後に削除される。このため、必要なタイミングでのみＭＦＰ上にスキャン実行ボタンが生成されるため、ボタンの数が増えることによるボタンを探す手間や押し間違いの発生等を防ぐことができる。
また、ＷＦエンジン６００がＭＦＰ１０１に対してボタンを作成したタイミングで、スキャン送信を実行するユーザーに通知するため、ユーザーの認識漏れによってワークフローが長時間待機状態になることを防ぐことができる。
【００３０】
図１０は、実施形態１におけるＭＦＰ１０１の情報処理の流れを示すフローチャートである。図１０（Ａ）は実施形態１におけるＭＦＰ１０１の全体処理を示すフローチャートである。図１０（Ｂ）から図１０（Ｃ）までは、図１０（Ａ）中のＳ１０１７を詳細説明するフローチャートである。更に図１０（Ｄ）は、図１０（Ａ）中のＳ１０１９を詳細説明するフローチャートである。
Ｓ１００１において、ＭＦＰ１０１は、ユーザーログインを受け付け、ＷＦエンジン６００へユーザーがログインした旨の通知情報を送信する。この通知情報にはＷＦエンジン６００で識別可能なユーザーのＩＤが含まれる。
Ｓ１００２において、ＭＦＰ１０１は、ユーザーログインの通知情報を受信したＷＦエンジン６００からボタン作成依頼を受信したか否かを判定する。ＭＦＰ１０１は、ボタン作成依頼を受信したと判定すると（Ｓ１００２においてＹＥＳ）、Ｓ１００３へ進み、ボタン作成依頼を受信していないと判定すると（Ｓ１００２においてＮＯ）、Ｓ１００２の処理を繰り返す。
Ｓ１００３において、ＭＦＰ１０１は、受信したボタン作成依頼が「プリント実行ボタンの作成依頼」であるか否かを判定する。ＭＦＰ１０１は、受信したボタン作成依頼が「プリント実行ボタンの作成依頼」であると判定した場合（Ｓ１００３においてＹＥＳ）、Ｓ１００５に進む。ＭＦＰ１０１は、受信したボタン作成依頼が「プリント実行ボタンの作成依頼」でないと判定した場合（Ｓ１００３においてＮＯ）、Ｓ１００４に進む。
Ｓ１００５において、ＭＦＰ１０１は、操作表示部２１１上にプリント実行ボタンを生成する。
また、Ｓ１００４において、ＭＦＰ１０１は、「スキャン実行ボタンの作成依頼」であるか否かを判定する。ＭＦＰ１０１は、「スキャン実行ボタンの作成依頼」であると判定した場合（Ｓ１００４においてＹＥＳ）、Ｓ１００６へ進み、「スキャン実行ボタンの作成依頼」でないと判定した場合（Ｓ１００４においてＮＯ）、図１０（Ａ）に示す処理を終了する。
Ｓ１００６において、ＭＦＰ１０１は、操作表示部２１１上にスキャン実行ボタンを生成する。
【００３１】
Ｓ１００５又はＳ１００６の処理終了後、Ｓ１００７において、ＭＦＰ１０１は、操作表示部２１１上に生成された「プリント実行ボタン」又は「スキャン実行ボタン」（以下、ジョブ実行ボタンという）が選択されか否かを判定する。ＭＦＰ１０１は、ジョブ実行ボタンが選択されたと判定した場合（Ｓ１００７においてＹＥＳ）、Ｓ１００８に進み、ジョブ実行ボタンが選択されていないと判定した場合（Ｓ１００７においてＮＯ）、Ｓ１００７の処理を繰り返す。
Ｓ１００８において、ＭＦＰ１０１は、ジョブ実行ボタンに設定されているジョブ条件設定が自デバイス（ＭＦＰ１０１）で実行可能か否かを判定する。ここで、実行可能か否かの判定は、例えば、ＯＣＲスキャンをＭＦＰ１０１で実施するためには、ＭＦＰ１０１にてＯＣＲのライセンス登録がされている必要がある。説明簡略化のため、ＭＦＰ１０１へのライセンス登録処理については説明を省略する。このランセンス登録情報は、ＭＦＰ１０１内のＲＯＭ２０３又はＨＤＤ２０４等のメモリー上に記憶されている。ジョブ実行ボタンに設定されているジョブ条件設定にＯＣＲ設定を含むが、ＭＦＰ１０１にてＯＣＲのライセンスが登録されていない場合、ジョブ実行ボタンに係るジョブを実行することができない。同様に、二次元コードや電子署名が設定されているジョブ実行ボタンについてもライセンス登録が必要であり、更に、二次元コードは機能拡張キット、電子署名はユーザー証明証又は機器証明証の登録が必要となる。
Ｓ１００８における判定は、「Ｓ１００２で受信したボタン作成依頼に含まれるタスク情報」と「ＭＦＰ１０１が自デバイスに保持するライセンス情報、機器構成情報、証明書情報」とに基づいて行われる。ＭＦＰ１０１は、ライセンス情報、機器構成情報、証明書情報に基づき、現在自デバイスで実行可能なジョブ条件設定項目の有効項目一覧をＲＡＭ２０２のメモリー上に保持する。ＭＦＰ１０１は、有効項目一覧のメモリー上の情報の更新を、デバイス起動時、オプション機器着脱検知時、更に、ＭＦＰ１０１の操作表示部２１１上でユーザーが証明書登録を選択したタイミングで実施する。ＭＦＰ１０１は、Ｓ１００８で、「Ｓ１００２で受信したタスク情報のジョブ条件設定の各設定値（以下、取得設定値という）」と有効項目一覧とを比較する。そして、ＭＦＰ１０１は、全取得設定値が有効項目一覧に存在する場合、自デバイスで実行可能なジョブ条件設定であると判定する。ＭＦＰ１０１は、取得設定値のうち１つでも有効項目一覧に存在しないものがある場合は、自デバイスで実行可能なジョブ条件設定ではないと判定する。
ＭＦＰ１０１は、自デバイスで実行可能と判定した場合（Ｓ１００８においてＹＥＳ）、Ｓ１００９へ進み、自デバイスで実行可能でないと判定した場合（Ｓ１００８においてＮＯ）、Ｓ１０１６へ進む。
【００３２】
Ｓ１００９において、ＭＦＰ１０１は、ＳＴＡＲＴボタンが選択されたか否かを判定する。ＭＦＰ１０１は、ＳＴＡＲＴボタンが選択されたと判定した場合（Ｓ１００９においてＹＥＳ）、Ｓ１０１０へ進み、ＳＴＡＲＴボタンが選択されていないと判定した場合（Ｓ１００９においてＮＯ）、Ｓ１００９の処理を繰り返す。
Ｓ１０１０において、ＭＦＰ１０１は、ＳＴＡＲＴボタンが「プリント実行ボタン画面」で選択されたか否かを判定する。ＭＦＰ１０１は、「プリント実行ボタン画面」で選択されたと判定した場合（Ｓ１０１０においてＹＥＳ）、Ｓ１０１１に進み、「プリント実行ボタン画面」で選択されていないと判定した場合（Ｓ１０１０においてＮＯ）、Ｓ１０１３に進む。
Ｓ１０１１において、ＭＦＰ１０１は、ＷＦエンジン６００へファイル取得依頼を行い、プリントするファイルを取得する。
Ｓ１０１２において、ＭＦＰ１０１は、ファイル取得後、取得ファイルをジョブ条件設定に基づきプリント実行する。
Ｓ１０１３において、ＭＦＰ１０１は、ＳＴＡＲＴボタンが「スキャン実行画面」で選択されたか否かを判定する。ＭＦＰ１０１は、「スキャン実行画面」で選択されたと判定した場合（Ｓ１０１３においてＹＥＳ）、Ｓ１０１４に進み、「スキャン実行画面」で選択されていないと判定した場合（Ｓ１０１３においてＮＯ）、図１０（Ａ）に示す処理を終了する。
Ｓ１０１４において、ＭＦＰ１０１は、ユーザーが原稿台に置いた用紙をスキャンする。
Ｓ１０１５において、ＭＦＰ１０１は、スキャンした画像ファイルをＷＦエンジン６００へ送信する。
【００３３】
Ｓ１０１６において、ＭＦＰ１０１は、操作表示部２１１上に警告表示をする。
ここでＭＦＰ１０１は、図１１のように単に自デバイスでジョブ実行ボタンを実行できないことを表示してもよいし、実行できない要因や要因となるジョブ条件を提示して警告してもよい。また、ＭＦＰ１０１は、図１２のようにジョブ実行ボタンを実行可能な別デバイス一覧を検索表示する等、別デバイス（ＭＦＰ１０１）での実行を促すメッセージを表示してもよい。その場合、例えば、ＭＦＰ１０１は、図１１の警告表示の画面において図１２の画面に遷移するための一覧ボタン等を表示し、一覧ボタンが選択された場合に、図１２の画面を操作表示部２１１上に表示するようにしてもよい。その他、ＭＦＰ１０１は、ジョブ実行ボタンを自デバイスで実行可能とするために必要な手順、例えば、ＯＣＲランセンスの取得、二次元コードの機能拡張キット購入、電子証明ライセンスの取得、ユーザー証明証又は機器証明証の登録、等を表示してもよい。これらは、警告情報の一例である。
Ｓ１０１７において、ＭＦＰ１０１は、ジョブ実行ボタンに設定されているジョブ条件設定の代わりとなる代替ジョブ条件設定が可能か否かを判定する。ＭＦＰ１０１は、代替ジョブ条件設定が可能な場合（Ｓ１０１７においてＹＥＳ）、Ｓ１０１８へ進み、代替ジョブ条件設定が可能でない場合（Ｓ１０１７においてＮＯ）、図１０（Ａ）に示す処理を終了する。
Ｓ１０１８において、ＭＦＰ１０１は、代替ジョブ条件をＷＦエンジン６００へ送信する。
Ｓ１０１９において、ＭＦＰ１０１は、代替ジョブ条件をユーザーによって選択されたジョブ実行ボタンに設定する。そして、ＭＦＰ１０１は、Ｓ１０１９でジョブ条件設定後、Ｓ１００９の処理へ進む。
【００３４】
ここで、Ｓ１０１７の代替ジョブ条件設定が可能か否かの判定は、特に制約をせず常に可能と判定させてもよいが、その他の判定方法について以降で図１０（Ｂ）から図１０（Ｄ）までを用いて詳細を説明する。
前述のワークフローエディタにおいて、図４のフロー処理４０５で、ワークフローエディタを編集する管理ユーザーが図１３のようなプリントジョブ条件設定画面を開き、「条件設定の変更権限」１３０１を事前設定しておく場合がある。この「条件設定の変更権限」１３０１は、ワークフローが開始後、フロー処理４０５に対応するタスク６０２のプリント条件設定を変更可能なユーザー権限である。例えば、図１３の例のように「条件設定の変更権限」１３０１で「任意ユーザー」が選択された場合、誰でもプリント条件設定を変更することが可能であり、「管理者」が選択された場合、ワークフローエディタで編集した編集者のみが変更できる。管理ユーザーと異なるユーザー（以下、実行ユーザーという）がワークフローのタスク６０２を実行する場合があり、その場合、図１０（Ａ）のＳ１００７のプリント実行ボタン選択を実行ユーザーが行う。このとき、ＭＦＰ１０１は、Ｓ１０１７における代替ジョブ条件を設定可能か否かの判定を、実行ユーザーにプリント条件設定の変更権限があるか否かに基づいて行う。図１３の例の場合、変更権限が「任意ユーザー」である。この場合、ＭＦＰ１０１は、代替ジョブ条件を設定可能と判定する。実行ユーザーは操作表示部２１１、操作入力部２１２等を介して設定変更結果を代替ジョブ条件として設定することができる。Ｓ１０１９にて、ＭＦＰ１０１は、実行ユーザーによる設定操作等に基づき代替ジョブ条件を設定する。一方、変更権限が「管理ユーザー」である場合、ＭＦＰ１０１は、代替ジョブ条件を設定可能ではないと判定し処理を終了する。
【００３５】
図１０（Ｂ）は変更権限に基づき代替ジョブ条件を設定可能か否か判定する情報処理の一例を示すフローチャートである。
まず、Ｓ１０２０において、ＭＦＰ１０１は、図１０（Ａ）のＳ１００２で受信したボタン作成依頼に前述の変更権限情報を含むか否かを判定する。ＭＦＰ１０１は、変更権限情報を含むと判定した場合（Ｓ１０２０においてＹＥＳ）、Ｓ１０２２に進み、変更権限情報を含まないと判定した場合（Ｓ１０２０においてＮＯ）、Ｓ１０２１に進む。
Ｓ１０２１において、ＭＦＰ１０１は、代替ジョブ条件設定可能と判断する。
Ｓ１０２２において、ＭＦＰ１０１は、ログインユーザーに変更権限が有るか否かを判定する。そして、ＭＦＰ１０１は、ログインユーザーに変更権限が有ると判定した場合（Ｓ１０２２においてＹＥＳ）、Ｓ１０２１に進み、ログインユーザーに変更権限が無いと判定した場合（Ｓ１０２２においてＮＯ）、Ｓ１０２３に進む。
Ｓ１０２３において、ＭＦＰ１０１は、代替ジョブ条件設定不可と判断する。
【００３６】
また、前述のワークフローエディタにおいて、ワークフローエディタを編集する管理ユーザーが図１４（Ａ）のようなプリントジョブ条件設定画面を開き、「必須設定」１４０１を事前設定しておく場合がある。「必須設定」１４０１は、ワークフロー実行において、設定が必須であることを示す情報であり、チェックボックス等で必須である設定にチェックを入れている。例えば、図１４（Ａ）の例では、「出力用紙サイズ」「部数」「印刷の向き」「二次元コード」の設定値は、ワークフロー実行に必須の設定値であることを示している。この場合、ＭＦＰ１０１は、図１０（Ａ）のＳ１０１７における代替ジョブ条件を設定可能か否かの判定を、Ｓ１００８で、自デバイスで実行できないと判定したジョブ条件設定値が、ワークフロー実行に必須の設定値であるか否かに基づいて行う。例えば、ＭＦＰ１０１は、Ｓ１００８で自デバイスで実行できないジョブ条件設定が「二次元コード：ＯＮ」である場合、二次元コード設定は必須設定であるため、Ｓ１０１７で代替ジョブ条件を設定可能ではないと判定する。一方、ＭＦＰ１０１は、Ｓ１００８で自デバイスで実行できないジョブ条件設定が、「とじ方向：長辺と(左)」の場合、Ｓ１０１７で代替ジョブ条件を設定可能と判定し、Ｓ１０１９で代替ジョブ条件としてとじ方向を別の設定値へ変更する。
【００３７】
図１０（Ｃ）はワークフロー実行に必須の設定値であるか否かに基づき、代替ジョブ条件を設定可能か否か判定する情報処理の一例を示すフローチャートである。
まず、Ｓ１０２４において、ＭＦＰ１０１は、図１０（Ａ）のＳ１１０２で受信したボタン作成依頼に前述の必須設定情報を含むか否かを判定する。ＭＦＰ１０１は、ボタン作成依頼に必須設定情報を含まないと判定した場合（Ｓ１０２４においてＮＯ）、Ｓ１０２５に進み、ボタン作成依頼に必須設定情報を含むと判定した場合（Ｓ１０２４においてＹＥＳ）、Ｓ１０２６に進む。
Ｓ１０２５において、ＭＦＰ１０１は、代替ジョブ条件を設定可能と判断する。
また、Ｓ１０２６において、ＭＦＰ１０１は、Ｓ１００８にて自デバイスで実行不可と判定したジョブ条件設定値が、必須設定となっているか否かを判定する。ＭＦＰ１０１は、自デバイスで実行不可と判定したジョブ条件設定値が、必須設定となっていると判定した場合（Ｓ１０２６においてＹＥＳ）、Ｓ１０２７に進み、必須設定となっていないと判定した場合（Ｓ１０２６においてＮＯ）、Ｓ１０２５に進む。
Ｓ１０２７において、ＭＦＰ１０１は、代替ジョブ条件設定不可と判断する。
【００３８】
その他、前述のワークフローエディタにおいて、ワークフローエディタを編集する管理ユーザーが図１５のようなプリントジョブ条件設定画面を開き、「プリンタの選択」１５０１を事前に設定しておく場合がある。管理ユーザーは、「プリンタの選択」１５０１で、ＷＦエンジン６００とネットワークを介して接続されている複数のＭＦＰ１０１の中から１台を選択する。更に、管理ユーザーは、選択肢の１つとして"任意"を選択することもできる。例えば、図１５の例において管理ユーザーにより"Ｐｒｉｎｔｅｒ００１"とプリントジョブ条件設定が事前設定されており、図１０（Ａ）のフローチャートの処理がＰｒｉｎｔｅｒ００１で実行されるものとする。このとき、管理ユーザーは"Ｐｒｉｎｔｅｒ００１"かつ"自身が設定したプリントジョブ条件設定"にてジョブ実行することが必須であると意図しており、プリントジョブ条件設定を実行ユーザーが変更することは管理ユーザーの意図に反する。一方、プリンタの選択が"任意"の場合、管理ユーザーは全プリントジョブ条件設定が必須であることは意図していない。また、図１５ではプリントジョブ条件設定について説明しているが、スキャンジョブ条件設定でも同様に「スキャナの選択」を指定することが可能であり、スキャナ指定有りの場合は、全スキャンジョブ条件設定が必須であることを意図している。このような場合、図１０（Ａ）のＳ１０１７における代替ジョブ条件を設定可能か否かの判定は、Ｓ１００３又はＳ１００４にてＷＦエンジン６００から受信した作成依頼に、自デバイスを指定する情報が含まれているか否かに基づく。例えば、ＭＦＰ１０１は、Ｓ１００３にて、プリント実行ボタン作成依頼に含まれる情報に、自デバイスへのプリンタ指定が有る場合は、Ｓ１０１７において代替ジョブ条件を設定可能ではないと判定する。一方、ＭＦＰ１０１は、Ｓ１００３にて、プリント実行ボタン作成依頼に含まれる情報に、自デバイスへのプリンタ指定が無い場合は、Ｓ１０１７において代替ジョブ条件を設定可能と判定する。
【００３９】
図１０（Ｄ）は、自デバイスがデバイス指定されているか否かに基づき、代替ジョブ条件を設定可能か否か判定するフローチャートである。
Ｓ１０２８において、ＭＦＰ１０１は、図１０（Ａ）のＳ１１０２で受信したボタン作成依頼に前述のプリント指定やスキャナ指定等のデバイス指定情報を含むか否かを判定する。ＭＦＰ１０１は、ボタン作成依頼にデバイス指定情報を含まないと判定した場合（Ｓ１０２８においてＮＯ）、Ｓ１０２９に進み、ボタン作成依頼にデバイス指定情報を含むと判定した場合（Ｓ１０２８においてＹＥＳ）、Ｓ１０３０に進む。
Ｓ１０２９において、ＭＦＰ１０１は、代替ジョブ条件設定可能と判断する。
Ｓ１０３０において、ＭＦＰ１０１は、自デバイスがデバイス指定情報として指定されているか否かを判定する。ＭＦＰ１０１は、自デバイスがデバイス指定情報として指定されていると判定した場合（Ｓ１０３０においてＹＥＳ）、Ｓ１０３１に進み、自デバイスがデバイス指定情報として指定されていないと判定した場合（Ｓ１０３０においてＮＯ）、Ｓ１０２９に進む。
Ｓ１０３１において、ＭＦＰ１０１は、代替ジョブ条件設定不可と判断する。
ＭＦＰ１０１は、以上のような情報処理により、Ｓ１０１７の代替ジョブ条件設定が可能か否かの判定を行う。
【００４０】
ここで、上記におけるＳ１０１９の代替ジョブ条件設定は、実行ユーザーが代替ジョブ条件を手動設定する場合もあれば、管理ユーザーが事前設定した代替ジョブ条件を自動提示して設定する場合もある。例えば、前述のワークフローエディタにおいて、管理ユーザーが図１４（Ｂ）のようなプリントジョブ条件設定画面を開き、「必須設定」にチェックが無い各設定に対し「代替設定」ボタン１４０２を設ける。図１４（Ｃ）は、図１４（Ｂ）にて管理ユーザーが二次元コードの「代替設定」ボタンを選択したときに表示される代替条件設定画面の一例を示す図である。図１４（Ｂ）では二次元コードの設定値が"ＯＮ"となっている。図１４（Ｃ）は、Ｓ１００８にて二次元コードの設定値が実行できない場合に、Ｓ１０１９にて代替ジョブ条件として設定するための設定画面である。図１４（Ｃ）の例では、二次元コードの設定が"ＯＦＦ"となり、替わりにページ印字、部数印字、日付印字、スタンプの設定が"ＯＮ"となっている。以上、管理ユーザーが事前に代替ジョブ条件を設定する方法を説明したが、代替ジョブ条件の事前設定は、管理ユーザーに関わらず、ＷＦエンジン６００が既定の代替設定としてＨＤＤ３０４等のメモリーに保持していてもよい。
【００４１】
また、本実施形態において、前述の通り、ＭＦＰ１０１は、Ｓ１０１７で代替ジョブ条件を設定可能と判定した後、Ｓ１０１８で代替ジョブ条件変更通知をＷＦエンジン６００へ送信している。この代替ジョブ条件変更通知について図６（Ｂ）のワークフロー例を用いて説明する。図６（Ｂ）は、プリントのタスク６０５のプリントジョブ条件設定として、「出力用紙サイズ：Ａ４」「二次元コード付加」を含む。また、スキャンのタスク６０６のスキャンジョブ条件設定として、「読取り用紙サイズ：Ａ４」「二次元コード読取り」「ＯＣＲ」「電子署名」を含む。このワークフロー例において、Ｓ１０１８でＭＦＰ１０１からＷＦエンジン６００へ代替ジョブ条件変更通知を送信する場合を考える。ＭＦＰ１０１は、Ｓ１００８で「二次元コード付加」が自デバイスでジョブ実行できない要因と判定し、この「二次元コード付加」の設定を変更可能とＳ１０１７で判定したとする。このとき、ＭＦＰ１０１は、Ｓ１０１８の代替ジョブ変更通知に、「二次元コード付加」の設定を外す、という変更情報を含める。その場合、通知を受けたＷＦエンジン６００は、タスク６０５の情報を図６（Ｃ）のタスク６０７の情報へと更新し、タスク６０５のプリントジョブ条件設定から「二次元コード付加」を外す。しかし、この場合、図６（Ｃ）のタスク６０７の後続のタスク６０６には「二次元コード読取り」が付加されたままとなる。この状態において、例えばタスク６０６の「二次元コード読取り」で、二次元コードが無い場合はスキャン処理をさせない等の制限設定が詳細設定されている可能性がある。すると、ワークフロー処理はタスク６０６まで進むものの、タスク６０６が処理できない状態となってしまう。このようなケースを防ぐため、Ｓ１０１８で代替ジョブ条件変更の通知を受信したＷＦエンジン６００は、タスク６０５をタスク６０７へ変更する際に、タスク６０６も変更する。より具体的には、ＷＦエンジン６００は、図６（Ｄ）のようにタスク６０６から「二次元コード読取り」を外し、タスク６０８のように変更する。
【００４２】
図１０（Ｅ）は管理ユーザーが事前設定した代替ジョブ条件を自動提示して設定する際の、Ｓ１０１９を詳細化したフローチャートである。
Ｓ１０３２において、ＭＦＰ１０１は、ＷＦエンジン６００に対し代替ジョブ条件取得依頼をする。
そして、Ｓ１０３３において、ＭＦＰ１０１は、ＷＦエンジン６００から代替ジョブ条件を取得したか否かを判定する。ＭＦＰ１０１は、ＷＦエンジン６００から代替ジョブ条件を取得したと判定した場合（Ｓ１０３３においてＹＥＳ）、Ｓ１０３４に進む。一方、ＭＦＰ１０１は、ＷＦエンジン６００から代替ジョブ条件を取得していないと判定した場合（Ｓ１０３３においてＮＯ）、Ｓ１０３３の処理を繰り返す。
Ｓ１０３４において、ＭＦＰ１０１は、取得した代替ジョブ条件を自身のジョブ実行ボタンに設定反映する。
【００４３】
以上、本実施形態の情報処理によれば、ＭＦＰ１０１がＷＦエンジン６００から自デバイスで実行できないジョブ条件設定のジョブ実行ボタン生成依頼を受信した場合も、ユーザーがいち早く気が付くことができる。また、ＷＦエンジン６００へ設定された様々な情報に基づき、ジョブ実行するための代替手段や回避策を可能な限り提示することで、ユーザーは、ワークフローに必須な設定を落とすことなく、ログインしたＭＦＰにてワークフロー実行を継続することができる。
【００４４】
＜実施形態２＞
ＭＦＰ１０１がＷＦエンジン６００から自デバイスで実行できないジョブ条件設定を含む「ジョブ実行ボタンの作成依頼」を受信した際、自デバイスで一部の処理まで実行できる場合がある。実施形態２では、この場合に、ＭＦＰ１０１がＷＦエンジン６００へワークフロータスクの分割を依頼し、分割後に自デバイスで実行可能となったワークフロータスクを実行する。また、ＭＦＰ１０１は、分割後に自デバイスで実行できないワークフロータスクの処理については、別デバイスで実行するように警告表示する。
例えば、図６（Ｅ）に示したタスク６０９のようにジョブ条件設定に「ＯＣＲ」と「電子署名」とを含むスキャン実行ボタン作成依頼の場合、ＭＦＰ１０１は、自デバイスでは「ＯＣＲ」は実行可能だが「電子署名」は実行できない、ということがある。
このとき、ＭＦＰ１０１は、生成したスキャン実行ボタンに対応するタスク６０９を、「ＯＣＲスキャンタスク」と「電子署名付加タスク」との２つへ分割するようＷＦエンジン６００に依頼する。図６（Ｆ）で示すと、タスク６０９は「タスク６０９の更新後タスクであるタスク６１０」と「タスク分割により生成されたタスク６１１」との２つに分割される。その上で、ＭＦＰ１０１は、自デバイスでは「ＯＣＲスキャンタスク」のみ実施し、「電子署名付加タスク」は別デバイスで実施するよう制御する。
【００４５】
図１６は、実施形態２において、図６（Ａ）に示したワークフローをＷＦエンジン６００が実行し、図１に示したシステム全体における各装置が行う処理の流れを示すフローチャートである。ここで、ステップ１６０１からＳ１６１５までは、図１０（Ａ）におけるＳ１００１からＳ１０１５までと同等である。
Ｓ１６０８において、ＭＦＰ１０１は、自デバイスで実行可能なジョブ条件設定であるか否かを判定する。ＭＦＰ１０１は、自デバイスで実行可能なジョブ条件設定である場合（Ｓ１６０８においてＹＥＳ）、Ｓ１６０９に進み、自デバイスで実行可能なジョブ条件設定でない場合（Ｓ１６０８においてＮＯ）、Ｓ１６１６に進む。
Ｓ１６１６において、ＭＦＰ１０１は、該当するジョブ条件設定を処理分割可能か判定する。ＭＦＰ１０１は、処理分割可能であると判定した場合（Ｓ１６１６においてＹＥＳ）、Ｓ１６１７に進み、処理分割可能でないと判定した場合（Ｓ１６１６においてＮＯ）、図１６に示すフローチャートの処理を終了する。
Ｓ１６１７において、ＭＦＰ１０１は、ＷＦエンジン６００へワークフロータスクの分割依頼情報を送信し、分割を依頼する。その際、ＭＦＰ１０１は、分割依頼情報に、どのように処理分割できるかの情報を含める。例えば、「ＯＣＲ」と「電子署名」とが設定されたジョブ条件設定であり「電子署名」のみ自デバイスで実行できない場合、ＭＦＰ１０１は、「ＯＣＲスキャン」と「電子署名付加」とへ分割できることを示す情報を分割依頼情報に含める。
そして、ＷＦエンジン６００がワークフロータスク分割後、Ｓ１６１８において、ＭＦＰ１０１は、ＷＦエンジン６００から分割後の自デバイスで実行可能となったワークフロー・タスク（分割後タスク１と称す）の情報を受信したか否かを判定する。ＭＦＰ１０１は、タスク分割後の更新情報を受信したと判定した場合（Ｓ１６１８においてＹＥＳ）、Ｓ１６１９に進み、タスク分割後の更新情報を受信していないと判定した場合（Ｓ１６１８においてＮＯ）、Ｓ１６１８の処理を繰り返す。
Ｓ１６１９において、ＭＦＰ１０１は、プリント実行ボタンの情報を更新する。プリント実行ボタンの情報更新が完了した際、ＭＦＰ１０１は、操作表示部２１１へ情報更新したことを示すメッセージを表示する。ＭＦＰ１０１は、この表示に、ワークフロータスク分割後に生成された自デバイスで実行できない方のワークフロータスク（分割後タスク２と称す）情報を含んでいてもよい。その場合、ＭＦＰ１０１は、分割後タスク２の情報を、Ｓ１６１８で分割後タスク１の情報と共にＷＦエンジン６００から受信する。
【００４６】
本実施形態によれば、ＭＦＰ１０１がＷＦエンジン６００から自デバイスで実行できないジョブ条件設定のジョブ実行ボタン生成依頼を受信した場合も、ユーザーは一部の処理まで進めることができる。
【００４７】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００４８】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。例えば、ＭＦＰ１０１やＷＦサーバー１０２のハードウェア構成は一例であって、図２や図３に示した構成に代えて、又は構成に加えて他の構成であってもよい。例えば、ＭＦＰ１０１やＷＦサーバー１０２は、複数のＣＰＵや、有線及び無線の複数のネットワークＩ／Ｆ、表示部、入力部等を有していてもよい。
【００４９】
以上、上述した各実施形態の情報処理によれば、ユーザーに割り当てられたワークフローのタスクを、ログインした画像処理装置で実行できない場合、素早くワークフロータスクを実行可能とすることができる。
【符号の説明】
【００５０】
１０１  ＭＦＰ
１０２  ＷＦサーバー
１０３  ＰＣ
２０１  ＣＰＵ
２０３  ＲＯＭ
２０４  ＨＤＤ
【図１】
2018098692.tif 000003
【図２】
2018098692.tif 000004
【図３】
2018098692.tif 000005
【図４】
2018098692.tif 000006
【図５】
2018098692.tif 000007
【図６】
2018098692.tif 000008
【図７】
2018098692.tif 000009
【図８】
2018098692.tif 000010
【図９】
2018098692.tif 000011
【図１０】
2018098692.tif 000012
【図１１】
2018098692.tif 000013
【図１２】
2018098692.tif 000014
【図１３】
2018098692.tif 000015
【図１４】
2018098692.tif 000016
【図１５】
2018098692.tif 000017
【図１６】
2018098692.tif 000018