(57)【要約】【課題】指示データに従って動作を実行することによって利用可能なサービスを、簡単にカスタマイズ可能な画像処理装置を提供する。【解決手段】画像処理装置は、第１メモリ或いは第２メモリから指示データを取得し、画面指示データを取得したことに応じて（Ｓ３１：画面指示）、表示した指示画面を通じてユーザにパラメータを指定させ（Ｓ３５：パラメータ）、次の指示データを取得する。画像処理装置は、動作指示データを取得したことに応じて（Ｓ３１：動作指示）、指定されたパラメータに従って指示動作を実行する（Ｓ３９）。画像処理装置は、画面指示データの編集が指示されたことに応じて（Ｓ３５：編集）、第１メモリから取得した画面指示データで示される指示画面をユーザに編集させ、第１メモリから取得した指示データを、編集後の指示画面を示すように編集して第２メモリに記憶させる（Ｓ３７）。【選択図】図５
2018029260.tif 000002
【特許請求の範囲】
【請求項１】
画像データに対する画像処理動作を実行する画像処理部と、
ディスプレイと、
入力インタフェースと、
コントローラとを備える画像処理装置であって、
該画像処理装置は、
複数の指示データを記憶する第１メモリと、
前記第１メモリに記憶された複数の前記指示データの一部に対応する前記指示データを記憶する第２メモリとに接続されており、
前記コントローラは、
対応する前記指示データが前記第１メモリ及び前記第２メモリの両方に記憶されている場合に当該指示データを前記第２メモリから取得し、対応する前記指示データが前記第２メモリに記憶されていない場合に当該指示データを前記第１メモリから取得する取得処理と、
前記取得処理で取得した前記指示データが動作指示データ及び画面指示データのどちらかを判断する第１判断処理とを実行し、前記動作指示データは、前記画像処理動作を含む動作を示し、前記画面指示データは、前記動作指示データで示される前記動作の実行条件を示すパラメータを指定させる指示画面を示し、
前記コントローラは、
前記第１判断処理で前記画面指示データと判断したことに応じて、
当該画面指示データで示される複数の候補パラメータを含む前記指示画面を、前記ディスプレイに表示させる第１表示処理と、
前記指示画面に含まれる複数の前記候補パラメータの１つを前記パラメータに指定するユーザ操作を、前記入力インタフェースを通じて受け付ける第１受付処理と、
前記画面指示データで指示された次の前記指示データを取得する前記取得処理とを実行し、
前記コントローラは、前記第１判断処理で前記画面指示データと判断した後において、前記第１判断処理で前記動作指示データと判断したことに応じて、前記第１受付処理で受け付けた前記パラメータに従って、当該動作指示データで示される前記動作を実行する動作実行処理を実行し、
前記コントローラは、前記画面指示データの編集を指示するユーザ操作を前記入力インタフェースを通じて受け付けたことに応じて、
前記第１メモリから取得した前記画面指示データで示される前記指示画面を、前記ディスプレイに表示させる第２表示処理と、
前記第２表示処理で表示した前記指示画面の編集を指示するユーザ操作を、前記入力インタフェースを通じて受け付ける第２受付処理と、
前記第２受付処理で編集された前記指示画面を示すように、前記第１メモリから取得した前記指示データを編集する第１編集処理と、
前記第１編集処理で編集した前記画面指示データを、前記第２メモリに記憶させる第１記憶処理とを実行する画像処理装置。
【請求項２】
前記コントローラは、前記第１表示処理において、編集指示オブジェクトを含む前記指示画面を前記ディスプレイに表示させ、前記編集指示オブジェクトは、表示中の前記指示画面に対応する前記画面指示データを編集する指示に対応し、
前記コントローラは、前記編集指示オブジェクトを指定するユーザ操作を前記入力インタフェースを通じて受け付けたことに応じて、当該画面指示データに対する前記第２表示処理、前記第２受付処理、前記第１編集処理、及び前記第１記憶処理を実行するを実行する請求項１に記載の画像処理装置。
【請求項３】
前記コントローラは、
前記動作指示データで示される前記動作を、実際に実行する実行モード及び模擬的に実行する模擬実行モードの一方を選択するユーザ操作を、前記入力インタフェースを通じて受け付けるモード受付処理を実行し、
前記モード受付処理で前記実行モードが選択された場合の前記第１表示処理において、前記編集指示オブジェクトを含まない前記指示画面を前記ディスプレイに表示させ、
前記モード受付処理で前記模擬実行モードが選択された場合に、
前記第１表示処理において、前記編集指示オブジェクトを含む前記指示画面を前記ディスプレイに表示させ、
前記動作実行処理において、前記動作指示データで示される前記動作のうち、前記画像処理動作を実行しない請求項２に記載の画像処理装置。
【請求項４】
前記コントローラは、
前記第１メモリに記憶されている複数の前記指示データそれぞれに対応するデータオブジェクトを、前記ディスプレイに表示させる第３表示処理と、
複数の前記データオブジェクトの１つを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける第３受付処理とを実行し、
前記画面指示データに対応する前記データオブジェクトが前記第３受付処理で指定されたことに応じて、当該画面指示データに対する前記第２表示処理、前記第２受付処理、前記第１編集処理、及び前記第１記憶処理を実行する請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
前記コントローラは、前記動作指示データに対応する前記データオブジェクトが前記第３受付処理で指定されたことに応じて、
当該動作指示データに含まれる情報を、前記ディスプレイに表示させる第４表示処理と、
前記第４表示処理で表示された情報の編集を指示するユーザ操作を、前記入力インタフェースを通じて受け付ける第４受付処理と、
前記第４受付処理で編集された情報を含むように、前記第１メモリから取得した前記動作指示データを編集する第２編集処理と、
前記第２編集処理で編集した前記動作指示データを、前記第２メモリに記憶させる第２記憶処理とを実行する請求項４に記載の画像処理装置。
【請求項６】
前記動作指示データは、前記第１受付処理で指定された前記パラメータである入力パラメータを、出力パラメータに変換するスクリプトを含み、
前記コントローラは、
前記第４受付処理において、前記入力パラメータ及び前記出力パラメータの対応関係を変更するユーザ操作を、前記入力インタフェースを通じて受け付け、
前記動作実行処理において、前記動作指示データに含まれる前記出力パラメータに従って、前記動作指示データで示される前記動作を実行する請求項５に記載の画像処理装置。
【請求項７】
前記動作指示データは、予め指定された前記パラメータである固定パラメータを含み、
前記コントローラは、
前記第４受付処理において、前記動作指示データに含まれる前記固定パラメータを変更するユーザ操作を、前記入力インタフェースを通じて受け付け、
前記動作実行処理において、前記動作指示データに含まれる前記固定パラメータに従って、前記動作指示データで示される前記動作を実行する請求項５又は６に記載の画像処理装置。
【請求項８】
前記コントローラは、前記第２受付処理において、前記指示画面に含まれる複数の前記候補パラメータを追加、削除、或いは変更する指示に対応するユーザ操作を、前記入力インタフェースを通じて受け付ける請求項１から７のいずれかに記載の画像処理装置。
【請求項９】
前記コントローラは、前記第２受付処理において、
前記第２メモリから前記指示データを取得可能な全ての画像処理装置がサポートする前記候補パラメータに対応するパラメータオブジェクトを前記ディスプレイに表示させ、
前記パラメータオブジェクトを指定するユーザ操作を、当該パラメータオブジェクトに対応する前記候補パラメータを追加する指示として、前記入力インタフェースを通じて受け付ける請求項８に記載の画像処理装置。
【請求項１０】
前記コントローラは、
前記第２受付処理で前記指示画面の表示の省略が指示された場合の前記第１編集処理において、当該指示画面の非表示を示す非表示情報、及び当該指示画面に含まれる複数の前記候補パラメータの１つである固定パラメータを前記画面指示データに含め、
前記取得処理で前記第２メモリから取得した前記画面指示データが前記非表示情報を含むか否かを判断する第２判断処理と、
前記第２判断処理で前記非表示情報を含まないと判断したことに応じて、前記第１表示処理及び前記第１受付処理を実行し、
前記第２判断処理で前記非表示情報を含むと判断したことに応じて、
当該画面指示データに含まれる前記固定パラメータを抽出する抽出処理を、前記第１表示処理及び前記第１受付処理に代えて実行し、
前記動作実行処理において、前記抽出処理で抽出した前記固定パラメータに従って、前記動作指示データで示される前記動作を実行する請求項１から９のいずれかに記載の画像処理装置。
【請求項１１】
前記コントローラは、
前記第２表示処理中に前記画像処理部が前記画像処理動作を実行しているか否かを判断する第３判断処理と、
前記第３判断処理で前記画像処理動作を実行していると判断したことに応じて、当該画像処理動作が実行中であることを報知する報知画像を、前記第２表示処理で表示した前記指示画面に含める請求項１から１０のいずれかに記載の画像処理装置。
【請求項１２】
前記コントローラは、
前記第２受付処理において、前記第２表示処理の終了を指示する終了操作を前記入力インタフェースを通じて受け付け、
前記報知画像を含む前記指示画面の表示中に前記第２受付処理で前記終了操作を受け付けたことに応じて、前記第２表示処理を継続し、前記画像処理部に前記画像処理動作を終了させ、
前記報知画像を含まない前記指示画面の表示中に前記第２受付処理で前記終了操作を受け付けたことに応じて、前記第２表示処理を終了する請求項１１に記載の画像処理装置。
【請求項１３】
前記コントローラは、
前記第２表示処理において、前記画像処理動作に対応する動作オブジェクトを含む前記指示画面を前記ディスプレイに表示させ、
前記第２受付処理で前記動作オブジェクトが指定されたことに応じて、当該動作オブジェクトに対応する前記画像処理動作を前記画像処理部に実行させる請求項１から１２のいずれかに記載の画像処理装置。
【請求項１４】
前記指示データは、当該指示データのバージョンを示すバージョン情報を含み、
前記コントローラは、
前記取得処理で対応する前記指示データを前記第１メモリ及び前記第２メモリの両方から取得したことに応じて、２つの前記指示データの前記バージョン情報で示されるバージョンを比較する比較処理と、
前記比較処理でバージョンが異なると判断したことに応じて、前記第１メモリ及び前記第２メモリに記憶された対応する前記指示データのバージョンが異なることを報知する報知画面を、前記ディスプレイに表示させる報知処理を実行する請求項１から１３のいずれかに記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバの指示に従って複数の動作を順番に実行することによって、当該サーバからサービスの提供を受ける画像処理装置に関する。
【背景技術】
【０００２】
例えば特許文献１に記載のサーバは、指示データを画像処理装置に送信し、当該指示データに指示された動作の実行結果を画像処理装置から受信し、受信した実行結果に応じて次の指示データを画像処理装置に送信することによって、例えば、スキャンアップロード或いはダウンロードプリント等のサービスを、画像処理装置に提供する。上記の方法によれば、画像処理装置にインストールされたプログラムを更新しなくても、画像処理装置に新たなサービスを提供することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１１３７００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しなしながら、インターネット上に設置されたサーバは、不特定多数の画像処理装置からアクセスされるので、全ての画像処理装置に同一の指示データを送信することしかできない。すなわち、特許文献１に記載のシステムでは、画像処理装置毎にカスタマイズされたサービスを提供できないという課題がある。
【０００５】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、指示データに従って動作を実行することによって利用可能なサービスを、簡単にカスタマイズ可能な画像処理装置を提供することにある。
【課題を解決するための手段】
【０００６】
本明細書では様々な開示を行う。開示例の１つである画像処理装置は、画像データに対する画像処理動作を実行する画像処理部と、ディスプレイと、入力インタフェースと、コントローラとを備える。該画像処理装置は、複数の指示データを記憶する第１メモリと、前記第１メモリに記憶された複数の前記指示データの一部に対応する前記指示データを記憶する第２メモリとに接続されている。前記コントローラは、対応する前記指示データが前記第１メモリ及び前記第２メモリの両方に記憶されている場合に当該指示データを前記第２メモリから取得し、対応する前記指示データが前記第２メモリに記憶されていない場合に当該指示データを前記第１メモリから取得する取得処理と、前記取得処理で取得した前記指示データが動作指示データ及び画面指示データのどちらかを判断する第１判断処理とを実行する。前記動作指示データは、前記画像処理動作を含む動作を示す。前記画面指示データは、前記動作指示データで示される前記動作の実行条件を示すパラメータを指定させる指示画面を示す。前記コントローラは、前記第１判断処理で前記画面指示データと判断したことに応じて、当該画面指示データで示される複数の候補パラメータを含む前記指示画面を、前記ディスプレイに表示させる第１表示処理と、前記指示画面に含まれる複数の前記候補パラメータの１つを前記パラメータに指定するユーザ操作を、前記入力インタフェースを通じて受け付ける第１受付処理と、前記画面指示データで指示された次の前記指示データを取得する前記取得処理とを実行する。前記コントローラは、前記第１判断処理で前記画面指示データと判断した後において、前記第１判断処理で前記動作指示データと判断したことに応じて、前記第１受付処理で受け付けた前記パラメータに従って、当該動作指示データで示される前記動作を実行する動作実行処理を実行する。前記コントローラは、前記画面指示データの編集を指示するユーザ操作を前記入力インタフェースを通じて受け付けたことに応じて、前記第１メモリから取得した前記画面指示データで示される前記指示画面を、前記ディスプレイに表示させる第２表示処理と、前記第２表示処理で表示した前記指示画面の編集を指示するユーザ操作を、前記入力インタフェースを通じて受け付ける第２受付処理と、前記第２受付処理で編集された前記指示画面を示すように、前記第１メモリから取得した前記指示データを編集する第１編集処理と、前記第１編集処理で編集した前記画面指示データを、前記第２メモリに記憶させる第１記憶処理とを実行する。
【０００７】
上記構成によれば、指示画面に対するユーザ操作によって画面指示データが編集されるので、画面指示データをユーザが直接編集する場合と比較して、画面指示データを簡単にカスタマイズすることができる。そして、第１メモリに記憶されたカスタマイズ前の指定データと、第２メモリに記憶されたカスタマイズ後の指定データとを組み合わせることによって、カスタマイズされたサービスを利用することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係るシステム１００の概要を示す図である。
【図２】図２は、サーバ５０に記憶される標準ＸＭＬの例である。
【図３】図３は、サーバ６０に記憶されるカスタムＸＭＬの例である。
【図４】図４は、メイン処理のフローチャートである。
【図５】図５は、コマンド実行処理のフローチャートである。
【図６】図６は、画面編集処理のフローチャートである。
【図７】図７は、キャンセル制御処理のフローチャートである。
【図８】図８は、ＸＭＬ編集処理のフローチャートである。
【図９】図９は、ディスプレイ２３の表示例であって、（Ａ）はサービス選択画面を、（Ｂ）は種別選択画面を示す。
【図１０】図１０は、ディスプレイ２３の表示例であって、（Ａ）は報知画面を、（Ｂ）は実行モードのときの形式選択画面を示す。
【図１１】図１１は、ディスプレイ２３の表示例であって、（Ａ）は模擬実行モードのときの形式選択画面を、（Ｂ）はユーザに編集させるための形式選択画面を示す。
【図１２】図１２は、ディスプレイ２３の表示例であって、（Ａ）はパラメータ選択画面を、（Ｂ）はパラメータアイコン１２９が追加された形式選択画面を示す。
【図１３】図１３は、ディスプレイ２３の表示例であって、（Ａ）はコピー動作中の形式選択画面を、（Ｂ）は模擬実行画面を示す。
【図１４】図１４は、ディスプレイ２３の表示例であって、（Ａ）はＸＭＬ一覧画面を、（Ｂ）はパラメータ編集画面を示す。
【図１５】図１５は、ディスプレイ２３の表示例であって、（Ａ）は解像度選択画面を、（Ｂ）はスクリプト変更画面を示す。
【発明を実施するための形態】
【０００９】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
【００１０】
図１は、本実施形態に係るシステム１００の概略図である。図１に示されるシステム１００は、ＭＦＰ１０と、サーバ５０、６０、７０とで構成されている。また、システム１００は、ＭＦＰ１０に代えて、プリンタ単能機或いはスキャナ単能機等を含んでもよい。さらに、システム１００は、複数のＭＦＰ１０を含んでもよい。ＭＦＰ１０及びサーバ５０〜７０は、通信ネットワークを通じて通信可能に構成されている。通信ネットワークは、例えば、インターネット１０１、有線ＬＡＮ、無線ＬＡＮ１０２、或いはこれらの組み合わせであってもよい。
【００１１】
ＭＦＰ１０及びサーバ６０は、無線ＬＡＮ１０２に属している。すなわち、ＭＦＰ１０及びサーバ６０は、無線ＬＡＮ１０２の不図示のアクセスポイントを経由して、相互に通信することができる。また、無線ＬＡＮ１０２は、ルータ１０２Ａを通じてインターネット１０１に接続されている。さらに、サーバ５０、７０は、インターネット１０１に接続されている。すなわち、ＭＦＰ１０は、ルータ１０２Ａからインターネット１０１を経由して、サーバ５０、７０と通信することができる。但し、サーバ５０〜７０の接続先は前述の例に限定されず、ＭＦＰ１０と通信可能であればよい。
【００１２】
ＭＦＰ１０は、サーバ５０、６０から順番に受信した複数の指示データそれぞれで指示された動作を実行することによって、サーバ５０、６０からサービスの提供を受ける。以下、サーバ５０、６０が提供するサービスを実現するための複数の指示データのセットを、「拡張プログラム」と表記することがある。
【００１３】
サーバ５０、６０が提供するサービスとは、例えば、スキャナ１２に生成させた画像データをストレージサーバにアップロードするスキャンアップロードサービス、ストレージサーバからダウンロードした画像データに対するプリント動作をプリンタ１１に実行させるダウンロードプリントサービス等がある。なお、本実施形態に係る画像データとは、ＪＰＥＧ形式、ＴＩＦＦ形式、或いはビットマップ形式等に限定されず、ＰＤＦ形式、テキスト形式等であってもよい。
【００１４】
ＭＦＰ１０は、図１に示されるように、プリンタ１１と、スキャナ１２と、ディスプレイ２３と、入力Ｉ／Ｆ２４と、通信Ｉ／Ｆ２５と、ＣＰＵ３１と、メモリ３２と、通信バス３３とを主に備える。ＭＦＰ１０を構成する各構成要素は、通信バス３３を通じて相互に接続されている。ＭＦＰ１０は、画像処理装置の一例である。また、プリンタ１１及びスキャナ１２は、画像処理部の一例である。
【００１５】
プリンタ１１は、画像データで示される画像をシートに記録するプリント動作を実行する。プリンタ１１の記録方式としては、インクジェット方式や電子写真方式などの公知の方式を採用することができる。スキャナ１２は、原稿に記録されている画像を読み取ってスキャンデータを生成するスキャン動作を実行する。また、ＭＦＰ１０は、スキャナ１２にスキャン動作を実行させ、生成されたスキャンデータに対するプリント動作をプリンタ１１に実行させるコピー動作を実行することができる。プリント動作、スキャン動作、及びコピー動作は、画像データに対する画像処理動作の一例である。
【００１６】
ディスプレイ２３は、液晶ディスプレイ、有機ＥＬディスプレイ等であり、各種情報を表示する表示画面を備える。
【００１７】
入力Ｉ／Ｆ２４は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力Ｉ／Ｆ２４はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をＣＰＵ３１へ出力する。さらに、入力Ｉ／Ｆ２４は、ディスプレイ２３の表示画面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ２３の表示画面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、ユーザ操作の一例である。「オブジェクト」とは、例えば、ディスプレイ２３に表示された文字列、アイコン、ボタン、リンク、ラジオボタン、チェックボックス、プルダウンメニュー等である。
【００１８】
タッチセンサとして実現される入力Ｉ／Ｆ２４は、ユーザがタッチした表示画面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示画面に接触させる操作全般を含む。また、入力媒体が表示画面に触れていなくても、表示画面との間の距離がごく僅かな位置まで入力媒体を近接させる「ホバー」或いは「フローティングタッチ」を、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ２３に表示されたアイコンの位置のタップするユーザ操作は、当該アイコンを指定する指定操作の一例である。
【００１９】
通信Ｉ／Ｆ２５は、外部装置と通信可能な通信インタフェースの一例である。通信Ｉ／Ｆ２５は、例えば、Ｗｉ−Ｆｉ（Wi-Fi Allianceの登録商標）規格に準拠した無線通信を行う。ＭＦＰ１０は、通信Ｉ／Ｆ２５を通じてサーバ５０〜７０に各種情報を出力し、通信Ｉ／Ｆ２５を通じてサーバ５０〜７０から各種情報を受信する。
【００２０】
ＣＰＵ３１は、ＭＦＰ１０の全体動作を制御するものである。ＣＰＵ３１は、入力Ｉ／Ｆ２４から出力される各種信号、及び通信Ｉ／Ｆ２５を通じて外部装置から取得した各種情報等に基づいて、後述する各種プログラムをメモリ３２から取得して実行する。すなわち、ＣＰＵ３１及びメモリ３２は、コントローラの一例を構成する。
【００２１】
メモリ３２には、ＯＳ３４と、装置プログラム３５とが記憶される。なお、装置プログラム３５は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。また、メモリ３２には、装置プログラム３５の実行に必要なデータ或いは情報が記憶される。メモリ３２は、例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＨＤＤ、ＭＦＰ１０に着脱されるＵＳＢメモリ等の可搬記憶媒体、ＣＰＵ３１が備えるバッファ等、或いはそれらの組み合わせによって構成される。
【００２２】
メモリ３２は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット１０１上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００２３】
サーバ５０は、例えば、図２に示されるＸＭＬファイルをサーバメモリに記憶している。サーバ６０は、例えば、図３（Ａ）或いは図３（Ｂ）に示されるＸＭＬファイルをサーバメモリに記憶している。サーバ７０は、例えば、ＭＦＰ１０から要求された画像データをＭＦＰ１０に送信し、ＭＦＰ１０から送信されたスキャンデータをサーバメモリに記憶する。本実施形態において、サーバ５０はサーバ識別情報“www.server-a.com”で識別され、サーバ６０はサーバ識別情報“www.server-b.com”で識別され、サーバ７０はサーバ識別情報“www.server-c.com”で識別される。
【００２４】
サーバ５０、６０は、ＭＦＰ１０からＸＭＬファイルの送信を要求されたことに応じて、要求されたＸＭＬファイルをＭＦＰ１０に送信する。インターネット１０１上のサーバ５０は、例えば、ＨＴＴＰによってファイルを送信する所謂Ｗｅｂサーバである。一方、無線ＬＡＮ１０２に属するサーバ６０は、例えば、ＣＩＦＳ（Common Internet File Systemの略）によってファイルを送信する。さらに、インターネット１０１上のサーバ７０は、例えば、ＨＴＴＰによってファイルを送信し、ＦＴＰによってファイルを受信する。但し、ファイルを送受信するプロトコルは、これらに限定されない。サーバ５０は第１メモリの一例であり、サーバ６０は第２メモリの一例である。
【００２５】
図２及び図３に示されるＸＭＬファイルは、拡張プログラムを構成するテキスト形式の指示データの一例である。指示データは、図２（Ａ）、図２（Ｂ）、及び図３に示される画面指示ＸＭＬと、図２（Ｃ）に示される動作指示ＸＭＬと、不図示の終了指示ＸＭＬとに大別される。画面指示ＸＭＬは、指定画面をＭＦＰ１０のディスプレイ２３に表示させることを指示する画面指示データの一例である。動作指示ＸＭＬは、画像処理動作を含む動作を指示する動作指示データの一例である。終了指示ＸＭＬは、拡張プログラムの終了を指示する指示データである。但し、指示データは、バイナリデータ或いはバイナリ化されたテキストデータであってもよいし、ＣＳＶフォーマット或いは拡張プログラムのために設計された独自フォーマットであってもよい。
【００２６】
サーバ５０、６０は、同じファイル名のＸＭＬファイルを記憶している。より詳細には、サーバ６０は、ＭＦＰ１０がサーバ５０から受信し、ユーザの指示に従ってＭＦＰ１０が編集し、ＭＦＰ１０がサーバ６０に送信したＸＭＬファイルを記憶している。図３に示されるＸＭＬファイルは、図２（Ｂ）に示されるファイル名“scan-upload2.xml”のＸＭＬファイルが編集されたものである。以下、サーバ５０に記憶されているＸＭＬファイルを「標準ＸＭＬ」と表記し、サーバ６０に記憶されているＸＭＬファイルを「カスタムＸＭＬ」と表記することがある。
【００２７】
すなわち、サーバ５０、６０に記憶されている同一ファイル名のＸＭＬファイルで指示される処理は、一部が共通し且つ他の一部が相違する。例えば、図２（Ｂ）及び図３に示されるＸＭＬファイルは、スキャナ１２に生成させるスキャンデータのファイル形式をユーザに選択させる点において共通し、ファイル形式の選択肢の数が相違する。
【００２８】
図４〜図８を参照して、本実施形態に係るシステム１００の動作を説明する。
【００２９】
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったＣＰＵ３１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「制御」等の処理は、ＣＰＵ３１の処理を表している。ＣＰＵ３１による処理は、ＯＳ３４を介したハードウェア制御も含む。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
【００３０】
まず、ＭＦＰ１０の装置プログラム３５は、図９（Ａ）に示されるサービス選択画面をディスプレイ２３に表示させる（Ｓ１１）。サービス選択画面は、［実行］アイコン１１１、１１４と、［模擬実行］アイコン１１２、１１５と、［一覧］アイコン１１３、１１６とを含む。そして、装置プログラム３５は、サービス選択画面に対するユーザ操作を、入力インタフェースを通じて受け付ける（Ｓ１２）。Ｓ１２で［実行］アイコン１１１、１１４及び［模擬実行］アイコン１１２、１１５の１つの指定を受け付ける処理は、モード受付処理の一例である。
【００３１】
［実行］アイコン１１１は、スキャンアップロードサービスを実現する拡張プログラムを、後述する実行モードで実行する指示に対応する。［模擬実行］アイコン１１２は、スキャンアップロードサービスを実現する拡張プログラムを、後述する模擬実行モードで実行する指示に対応する。［一覧］アイコン１１３は、スキャンアップロードサービスを実現する複数の指示データの一覧を、ディスプレイ２３に表示させる指示に対応する。また、［実行］アイコン１１４、［模擬実行］アイコン１１５、［一覧］アイコン１１６は、ダウンロードプリントサービスを対象として、［実行］アイコン１１１、［模擬実行］アイコン１１２、［一覧］アイコン１１３と同様の指示に対応する。
【００３２】
また図示は省略するが、［実行］アイコン１１１、１１４、［模擬実行］アイコン１１２、１１５、［一覧］アイコン１１３、１１６には、タップされた際に最初に取得すべき標準ＸＭＬの所在を示す所在情報が対応付けられている。所在情報は、例えば、ＵＲＬ形式であって、サーバ識別情報と、ファイルパス情報とを含む。本実施形態では、［実行］アイコン１１１、［模擬実行］アイコン１１２、［一覧］アイコン１１３に所在情報“www.server-a.com/scan-upload1.xml”が対応付けられており、［実行］アイコン１１４、［模擬実行］アイコン１１５、［一覧］アイコン１１６に所在情報“www.server-a.com/downlod-print1.xml”が対応付けられているものとする。
【００３３】
実行モードは、対応するサービスを実際に利用する動作モードである。換言すれば、実行モードの装置プログラム３５は、対応するサービスの提供を受けるために、拡張プログラムを実際に実行する。一方、模擬実行モードは、対応するサービスを模擬的に利用する動作モードである。換言すれば、模擬実行モードの装置プログラム３５は、対応するサービスの提供を受けるための手順をユーザに確認させるために、拡張プログラムを模擬的に実行する。
【００３４】
より詳細には、実行モードの装置プログラム３５は、画面指示ＸＭＬで指示された指示画面をディスプレイ２３に実際に表示させ、動作指示ＸＭＬで指示された動作をＭＦＰ１０の各構成要素に実際に実行させる。一方、模擬実行モードの装置プログラム３５は、画面指示ＸＭＬで指示された指示画面をディスプレイ２３に実際に表示させ、動作指示ＸＭＬで指示された画像処理動作を画像処理部に実行させない。すなわち、実行モード及び模擬実行モードは、画面指示ＸＭＬの取り扱いが共通し、動作指示ＸＭＬの取り扱いが相違する。
【００３５】
［実行モードによる拡張プログラムの実行］
実行モードで拡張プログラムを実行する場合について説明する。装置プログラム３５は、例えば［実行］アイコン１１１の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ１２：実行）、スキャンアップロードサービスを実現する拡張プログラムを、実行モードで実行する。まず、装置プログラム３５は、［実行］アイコン１１１に対応付けられた所在情報“www.server-a.com/scan-upload1.xml”で示される標準ＸＭＬを取得する（Ｓ１３）。Ｓ１３の処理は、取得処理の一例である。
【００３６】
より詳細には、装置プログラム３５は、サーバ識別情報“www.server-a.com”で識別されるサーバ５０に、ファイルパス情報“scan-upload1.xml”で示される標準ＸＭＬの送信を要求するＸＭＬ要求情報を、通信Ｉ／Ｆ２５を通じて送信する。そして、装置プログラム３５は、図２（Ａ）に示される標準ＸＭＬを、ＸＭＬ要求情報の応答として、通信Ｉ／Ｆ２５を通じてサーバ５０から受信する。
【００３７】
次に、装置プログラム３５は、直前のＳ１３で受信した標準ＸＭＬ“scan-upload1.xml”が終了指示ＸＭＬか否かを判断する（Ｓ１４）。装置プログラム３５は、例えば、標準ＸＭＬの先頭に＜終了＞タグが記述されていることに応じて、当該標準ＸＭＬを終了指示ＸＭＬと判断する（Ｓ１４：Ｙｅｓ）。一方、装置プログラム３５は、例えば、標準ＸＭＬの先頭に＜終了＞タグが記述されていないことに応じて、当該標準ＸＭＬを終了指示ＸＭＬでないと判断する（Ｓ１４：Ｎｏ）。
【００３８】
次に、装置プログラム３５は、標準ＸＭＬ“scan-upload1.xml”が終了指示ＸＭＬでないと判断したことに応じて（Ｓ１４：Ｎｏ）、標準ＸＭＬ“scan-upload1.xml”に対応するカスタムＸＭＬがサーバ６０に記憶されているか否かを判断する（Ｓ１５）。標準ＸＭＬに対応するカスタムＸＭＬとは、例えば、標準ＸＭＬ“scan-upload1.xml”と同一ファイル名のカスタムＸＭＬを指す。
【００３９】
装置プログラム３５は、例えば、サーバ識別情報“www.server-b.com”で識別されるサーバ６０に、ファイルパス情報“scan-upload1.xml”で示されるカスタムＸＭＬの送信を要求するＸＭＬ要求情報を、通信Ｉ／Ｆ２５を通じて送信する。そして、装置プログラム３５は、通信Ｉ／Ｆ２５を通じてサーバ６０からカスタムＸＭＬを受信したことに応じて、標準ＸＭＬに対応するカスタムＸＭＬが存在すると判断する（Ｓ１５：Ｙｅｓ）。一方、装置プログラム３５は、ＸＭＬ要求情報を送信してから所定の時間が経過してもカスタムＸＭＬを受信しないことに応じて、標準ＸＭＬに対応するカスタムＸＭＬが存在しないと判断する（Ｓ１５：Ｎｏ）。なお、サーバ６０のサーバ識別情報は、メモリ３２に予め記憶されているものとする。
【００４０】
次に、装置プログラム３５は、標準ＸＭＬ“scan-upload1.xml”に対応するカスタムＸＭＬが存在しないと判断したことに応じて（Ｓ１５：Ｎｏ）、Ｓ１６〜Ｓ１８の処理をスキップして、標準ＸＭＬ“scan-upload1.xml”がスキップタグを含むか否かを判断する（Ｓ１９）。スキップタグは、標準ＸＭＬ“scan-upload1.xml”で指示された動作のスキップを指示するタグである。より詳細には、スキップタグは、スキップタグを含む画面指示データで指示される指示画面を、ディスプレイ２３に表示しないことを指示する非表示情報の一例である。Ｓ１９の処理は、第２判断処理の一例である。
【００４１】
次に、装置プログラム３５は、標準ＸＭＬ“scan-upload1.xml”がスキップタグを含まないと判断したことに応じて（Ｓ１９：Ｎｏ）、コマンド実行処理を実行する（Ｓ２１）。コマンド実行処理は、直前のＳ１３、Ｓ１５で受信したＸＭＬファイルで指示された動作を実行する処理である。図５を参照して、コマンド実行処理の詳細を説明する。
【００４２】
まず、装置プログラム３５は、Ｓ１３、Ｓ１５で受信したＸＭＬファイルが画面指示ＸＭＬ及び動作指示ＸＭＬのどちらかを判断する（Ｓ３１）。Ｓ３１の処理は、第１判断処理の一例である。装置プログラム３５は、例えば、ＸＭＬファイルの先頭に＜画面＞タグ及び＜コマンド＞タグのどちらが記述されているかを判断する。そして、装置プログラム３５は、標準ＸＭＬ“scan-upload1.xml”の先頭に＜画面＞タグが記述されていることに応じて、当該標準ＸＭＬが画面指示ＸＭＬであると判断する（Ｓ３１：画面指示）。
【００４３】
画面指示ＸＭＬは、例えば図２（Ａ）に示されるように、＜ＮｅｘｔＵＲＬ＞タグと、＜タイトル＞タグと、＜メッセージ＞タグと、＜リスト＞タグと、＜編集＞タグと、＜アプリＶｅｒ＞タグと、＜コマンドＶｅｒ＞タグとを含む。＜ＮｅｘｔＵＲＬ＞タグの要素には、当該画面指示ＸＭＬに指示された動作を実行した後に取得すべき指示データの所在情報が設定される。＜タイトル＞タグの要素には、指示画面の画面タイトルの文字列が設定される。＜メッセージ＞タグの要素には、指示画面に表示させる文字列が設定される。
【００４４】
＜リスト＞タグの属性“ｉｄ”には、指示画面を通じてユーザに指定させるパラメータの項目（例えば、“原稿種別”、“ファイル形式”）を識別する情報が設定される。＜リスト＞タグは、複数の＜選択肢＞タグを要素として含む。＜選択肢＞タグの要素には、ユーザに指定させるパラメータを示すテキスト（例えば、“見積書”、“契約書”）が設定される。＜選択肢＞タグの属性“ｖａｌ”には、ユーザに指定させるパラメータの値（例えば、“１”、“２”）が設定される。画面指示ＸＭＬに含まれる＜選択肢＞タグは、候補パラメータの一例である。
【００４５】
＜編集＞タグは、当該ＸＭＬファイルの編集を許可するか否かを示すタグである。より詳細には、要素“ｔｒｕｅ”は編集を許可することを示し、要素“ｆａｌｓｅ”は編集を許可しないことを示す。＜アプリＶｅｒ＞タグの要素には、当該ＸＭＬファイルを含む複数のＸＭＬファイルで実現される拡張プログラムのバージョンを示す値が設定される。すなわち、１つの拡張プログラムを実現する全てのＸＭＬファイルには、＜アプリＶｅｒ＞タグの要素に同一の値が設定される。＜コマンドＶｅｒ＞タグの要素には、当該ＸＭＬファイルのバージョンを示す値が設定される。＜コマンドｖｅｒ＞タグの要素は、ＸＭＬファイルのバージョンを示すバージョン情報の一例である。
【００４６】
次に、装置プログラム３５は、直前のＳ１３、Ｓ１５で受信した画面指示ＸＭＬの＜画面＞タグの要素に従って、指示画面をディスプレイ２３に表示させる（Ｓ３３、Ｓ３４）。なお、実行モードで動作する装置プログラム３５は、例えば図９（Ｂ）に示されるように、［編集］アイコン１２０を含まない指示画面をディスプレイに表示させる（Ｓ３２：Ｎｏ→Ｓ３３）。一方、模擬実行モードで動作する装置プログラム３５は、例えば図１１（Ａ）に示されるように、［編集］アイコン１２０を含む指示画面をディスプレイに表示させる（Ｓ３２：Ｙｅｓ→Ｓ３４）。
【００４７】
図９（Ｂ）に示される種別選択画面は、標準ＸＭＬ“scan-upload1.xml”で指示された指示画面の一例であって、項目“原稿種別”に対応するパラメータをユーザに指定させるための画面である。種別選択画面は、「原稿の種別を選択して下さい。」とのメッセージと、複数の＜選択肢＞タグそれぞれに対応するパラメータアイコン１１７、１１８とを含む。そして、装置プログラム３５は、種別選択画面に対するユーザ操作を、入力Ｉ／Ｆ２４を通じて受け付ける（Ｓ３５）。Ｓ３３の処理は第１表示処理の一例であり、Ｓ３５の処理は第１受付処理の一例である。
【００４８】
次に、装置プログラム３５は、例えばパラメータアイコン１１７の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ３５：パラメータ）、項目“原稿種別”の指定パラメータ“ｄｏｃ＿ｔｙｐｅ＝１”をメモリ３２に一時記憶させる（Ｓ３６）。また図示は省略するが、装置プログラム３５は、標準ＸＭＬ“scan-upload1.xml”に含まれる＜ＮｅｘｔＵＲＬ＞タグの要素“www.server-a.com/scan-upload2.xml”を、次に取得すべき標準ＸＭＬの所在情報として抽出する。
【００４９】
次に図４に戻って、装置プログラム３５は、抽出した所在情報のサーバ識別情報“www.server-a.com”で識別されるサーバ５０に、ファイルパス情報“scan-upload2.xml”で示される標準ＸＭＬの送信を要求するＸＭＬ要求情報を、通信Ｉ／Ｆ２５を通じて送信する。なお、装置プログラム３５は、Ｓ３５でパラメータが指定された後のＳ１３において、指定パラメータ“ｄｏｃ＿ｔｙｐｅ＝１”を含むＸＭＬ要求情報を、通信Ｉ／Ｆ２５を通じて送信する。
【００５０】
そして、装置プログラム３５は、図２（Ｂ）に示される標準ＸＭＬを、ＸＭＬ要求情報の応答として、通信Ｉ／Ｆ２５を通じてサーバ５０から受信する（Ｓ１３）。また、装置プログラム３５は、Ｓ１３で受信した標準ＸＭＬ“scan-upload2.xml”が終了指示ＸＭＬでないと判断する（Ｓ１４：Ｎｏ）。さらに、装置プログラム３５は、図３（Ａ）に示されるカスタムＸＭＬを、標準ＸＭＬ“scan-upload2.xml”に対応するカスタムＸＭＬとして、サーバ６０から受信する（Ｓ１５：Ｙｅｓ）。
【００５１】
次に、装置プログラム３５は、Ｓ１３で受信した標準ＸＭＬに対応するカスタムＸＭＬが存在すると判断したことに応じて（Ｓ１５：Ｙｅｓ）、対応する標準ＸＭＬ及びカスタムＸＭＬのバージョンを比較する（Ｓ１６）。すなわち、装置プログラム３５は、図２（Ｂ）に示される標準ＸＭＬの＜コマンドＶｅｒ＞タグの要素“２”と、図３（Ａ）に示されるカスタムＸＭＬの＜コマンドＶｅｒ＞タグの要素“１”とが一致するか否かを判断する。Ｓ１６の処理は、比較処理の一例である。
【００５２】
次に、装置プログラム３５は、対応する標準ＸＭＬ及びカスタムＸＭＬのバージョンが異なると判断したことに応じて（Ｓ１６：Ｎｏ）、図１０（Ａ）に示される報知画面をディスプレイ２３に表示させる（Ｓ１７）。報知画面は、対応する標準ＸＭＬ及びカスタムＸＭＬのバージョンが異なることを報知するための画面である。報知画面は、「標準ＸＭＬがバージョンアップされています。」とのメッセージと、対応する標準ＸＭＬ及びカスタムＸＭＬそれぞれのバージョン「標準ＸＭＬ：バージョン２」、「カスタムＸＭＬ：バージョン１」と、［ＯＫ］アイコン１１９とを含む。Ｓ１７の処理は、報知処理の一例である。
【００５３】
そして、装置プログラム３５は、［ＯＫ］アイコン１１９の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ１８：Ｙｅｓ）、Ｓ１５で受信したカスタムＸＭＬ“scan-upload2.xml”に対するＳ１９以降の処理を実行する。また、装置プログラム３５は、対応する標準ＸＭＬ及びカスタムＸＭＬのバージョンが一致すると判断したことに応じて（Ｓ１６：Ｙｅｓ）、Ｓ１７〜Ｓ１８をスキップして、Ｓ１５で受信したカスタムＸＭＬ“scan-upload2.xml”に対するＳ１９以降の処理を実行する。
【００５４】
すなわち、装置プログラム３５は、対応する標準ＸＭＬ及びカスタムＸＭＬの両方が存在する場合に（Ｓ１５：Ｙｅｓ）、サーバ６０から取得したカスタムＸＭＬに対するＳ１９以降の処理を実行する。一方、装置プログラム３５は、標準ＸＭＬに対応するカスタムＸＭＬが存在しない場合に（Ｓ１５：Ｎｏ）、サーバ５０から取得した標準ＸＭＬに対するＳ１９以降の処理を実行する。
【００５５】
次に、装置プログラム３５は、カスタムＸＭＬ“scan-upload2.xml”がスキップタグを含まないと判断したことに応じて（Ｓ１９：Ｎｏ）、コマンド実行処理を実行する（Ｓ２１）。次に、装置プログラム３５は、カスタムＸＭＬ“scan-upload2.xml”が画面指示ＸＭＬであり、且つ実行モードで動作していると判断したことに応じて（Ｓ３１：画面指示＆Ｓ３２：Ｎｏ）、図１０（Ｂ）に示される形式選択画面をディスプレイ２３に表示させる（Ｓ３３）。形式選択画面は、項目“ファイル形式”に対応するパラメータをユーザに指定させるための画面である。形式選択画面は、「ファイル形式を選択して下さい。」とのメッセージと、複数の＜選択肢＞タグそれぞれに対応するパラメータアイコン１２１、１２３とを含む。
【００５６】
次に、装置プログラム３５は、例えばパラメータアイコン１２１の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ３５：パラメータ）、項目“ファイル形式”の指定パラメータ“ｆｉｌｅ＿ｔｙｐｅ＝１”をメモリ３２に一時記憶させる（Ｓ３６）。また図示は省略するが、装置プログラム３５は、カスタムＸＭＬ“scan-upload2.xml”に含まれる＜ＮｅｘｔＵＲＬ＞タグの要素“www.server-a.com/scan-upload3.xml”を、次に取得すべき標準ＸＭＬの所在情報として抽出する。
【００５７】
一方図示は省略するが、装置プログラム３５は、カスタムＸＭＬ“scan-upload2.xml”がスキップタグ含むと判断したことに応じて（Ｓ１９：Ｙｅｓ）、コマンド実行処理に代えて、固定パラメータ及び＜ＮｅｘｔＵＲＬ＞タグの要素を当該カスタムＸＭＬから抽出する（Ｓ２０）。固定パラメータは、コマンド実行処理でユーザが選択可能な複数の候補パラメータのうち、スキップタグを含むカスタムＸＭＬで予め指示されたパラメータである。すなわち、装置プログラム３５は、カスタムＸＭＬがスキップタグを含む場合に、当該カスタムＸＭＬに従った指示画面の表示をスキップする。さらに、装置プログラム３５は、当該指示画面を通じてユーザにパラメータを指定させる代わりに、固定パラメータを抽出する。Ｓ２０の処理は、抽出処理の一例である。
【００５８】
次に図４に戻って、装置プログラム３５は、抽出した所在情報のサーバ識別情報“www.server-a.com”で識別されるサーバ５０に、ファイルパス情報“scan-upload3.xml”で示される標準ＸＭＬの送信を要求するＸＭＬ要求情報を、通信Ｉ／Ｆ２５を通じて送信する。なお、このＸＭＬ要求情報は、Ｓ３５で指定された指定パラメータ或いはＳ２０で抽出した固定パラメータを含む。
【００５９】
次に、装置プログラム３５は、図２（Ｃ）に示される標準ＸＭＬを、ＸＭＬ要求情報の応答として、通信Ｉ／Ｆ２５を通じてサーバ５０から受信する。また、装置プログラム３５は、Ｓ１３で受信した標準ＸＭＬ“scan-upload3.xml”が終了指示ＸＭＬでないと判断する（Ｓ１４：Ｎｏ）。さらに、装置プログラム３５は、標準ＸＭＬ“scan-upload3.xml”に対応するカスタムＸＭＬが存在しないと判断する（Ｓ１５：Ｎｏ）。そして、装置プログラム３５は、標準ＸＭＬ“scan-upload3.xml”がスキップタグを含まないことに応じて（Ｓ１９：Ｎｏ）、コマンド実行処理を実行する（Ｓ２１）。
【００６０】
次に、装置プログラム３５は、図２（Ｃ）に示されるＸＭＬファイルの先頭に＜コマンド＞タグが記述されていることに応じて、当該ＸＭＬファイルが動作指示ＸＭＬであると判断する（Ｓ３１：動作指示）。動作指示ＸＭＬは、例えば図２（Ｃ）に示されるように、＜ＮｅｘｔＵＲＬ＞タグと、＜スキャンアップロード＞タグと、＜編集＞タグと、＜アプリＶｅｒ＞タグと、＜コマンドＶｅｒ＞タグとを含む。＜ＮｅｘｔＵＲＬ＞タグ、＜編集＞タグ、＜アプリＶｅｒ＞タグ、＜コマンドＶｅｒ＞タグは、画面指示ＸＭＬの場合と同様である。
【００６１】
＜スキャンアップロード＞タグは、ＭＦＰ１０に実行させるスキャンアップロード動作を識別するための情報である。＜スキャンアップロード＞タグの要素である＜サーバ＞タグ、＜解像度＞タグ、＜形式＞タグ、及び＜ファイル名＞タグは、スキャンアップロード動作の実行条件を構成する複数の項目“サーバ”、“解像度”、“形式”、“ファイル名”の１つに対応する。
【００６２】
また、＜サーバ＞タグ、＜解像度＞タグ、及び＜形式＞タグの要素には、対応する項目のパラメータが設定されている。より詳細には、＜サーバ＞タグ及び＜解像度＞タグの要素には、サーバ７０の管理者によって固定的に設定された固定パラメータ“www.server-c.com”、“３００ｄｐｉ”が設定されている。一方、＜形式＞タグの要素には、図１０（Ｂ）に示される形式選択画面を通じてユーザに指定させた指定パラメータ“ｆｉｌｅ＿ｔｙｐｅ＝１”に対応するパラメータ“ＰＤＦ”が設定されている。
【００６３】
さらに、＜ファイル名＞タグの要素には、＜スクリプト＞タグが設定されている。＜スクリプト＞タグの要素には、画面指示ＸＭＬに従ってユーザに選択させた項目“原稿種別”パラメータを、項目“ファイル名”のパラメータに変換するためのスクリプトが設定される。すなわち、項目“ファイル名”のパラメータは、項目“原稿種別”のパラメータによって変更される動的パラメータである。項目“原稿種別”のパラメータは入力パラメータの一例であり、項目“ファイル名”のパラメータは出力パラメータの一例である。スクリプト言語の具体例は特に限定されないが、例えば、Ｌｕａ、Ｒｕｂｙ、ＪａｖａＳｃｒｉｐｔ（登録商標）等であってもよい。
【００６４】
図２（Ｃ）に示されるスクリプトは、項目“原稿種別”のパラメータ“１”を項目“ファイル名”のパラメータ“img_estimate”に変換し、項目“原稿種別”のパラメータ“２”を項目“ファイル名”のパラメータ“img_contract”に変換する。すなわち、装置プログラム３５は、パラメータ“ｄｏｃ＿ｔｙｐｅ＝１”がメモリ３２に一時記憶されていることに応じて、図２（Ｃ）に示される＜ファイル名＞タグの要素を、“img_estimate”に置換する。
【００６５】
次に、装置プログラム３５は、実行モードで動作していると判断したことに応じて（Ｓ３８：Ｎｏ）、動作指示ＸＭＬで指示された指示動作を実行条件に従って実行する（Ｓ３９）。すなわち、装置プログラム３５は、＜スキャンアップロード＞タグで示される指示動作“スキャンアップロード”を、＜サーバ＞タグ、＜解像度＞タグ、＜形式＞タグ、及び＜ファイル名＞タグの要素として設定されたパラメータに従って実行する。Ｓ３９の処理は、動作実行処理の一例である。
【００６６】
より詳細には、スキャナ１２は、原稿に記録された画像を読取解像度“３００ｄｐｉ”で読み取って、ファイル形式“ＰＤＦ”のスキャンデータを生成し、生成したスキャンデータをメモリ３２に一時記憶させる。そして、装置プログラム３５は、サーバ識別情報“www.server-c.com”で識別されるサーバ７０に通信Ｉ／Ｆ２５を通じてスキャンデータを送信し、ファイル名“img_estimate”で識別されるファイルとしてサーバメモリに記憶させる。すなわち、指示動作“スキャンアップロード”は、スキャナ１２に実行させるスキャン動作と、通信Ｉ／Ｆ２５に実行させるアップロード動作とを含む。
【００６７】
また、装置プログラム３５は、標準ＸＭＬ“scan-upload3.xml”に含まれる＜ＮｅｘｔＵＲＬ＞タグの要素“www.server-a.com/scan-upload4.xml”を、次に取得すべき標準ＸＭＬの所在情報として抽出する。次に図４に戻って、装置プログラム３５は、抽出した所在情報のサーバ識別情報“www.server-a.com”で識別されるサーバ５０から、ファイルパス情報“scan-upload4.xml”で示される標準ＸＭＬを受信する（Ｓ１３）。そして、装置プログラム３５は、標準ＸＭＬ“scan-upload4.xml”が終了指示ＸＭＬであると判断したことに応じて（Ｓ１４：Ｙｅｓ）、拡張プログラムを終了する。
【００６８】
［模擬実行モードによる拡張プログラムの実行］
次に、模擬実行モードで拡張プログラムを実行する場合について説明する。なお、実行モードとの共通点の詳細な説明は省略し、相違点を中心に説明する。また、図３に示されるカスタムＸＭＬがサーバ６０に記憶されていないことを前提として、以下の処理を説明する。
【００６９】
装置プログラム３５は、例えば［模擬実行］アイコン１１２の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ１２：実行）、スキャンアップロードサービスを実現する拡張プログラムを、模擬実行モードで実行する。まず、装置プログラム３５は、図２（Ａ）に示される標準ＸＭＬをサーバ５０から受信する（Ｓ１３）。そして、装置プログラム３５は、標準ＸＭＬ“scan-upload1.xml”に対するコマンド実行処理を実行する（Ｓ１４：Ｎｏ＆Ｓ１５：Ｎｏ＆Ｓ１９：Ｎｏ→Ｓ２１）。標準ＸＭＬ“scan-upload1.xml”に対するコマンド実行処理は、図９（Ｂ）に示される種別選択画面に［編集］アイコン１２０が表示される点を除いて前述の処理と共通するので、再度の説明は省略する。
【００７０】
次に、装置プログラム３５は、図２（Ｂ）に示される標準ＸＭＬをサーバ５０から受信する（Ｓ１３）。そして、装置プログラム３５は、標準ＸＭＬ“scan-upload2.xml”に対するコマンド実行処理を実行する（Ｓ１４：Ｎｏ＆Ｓ１５：Ｎｏ＆Ｓ１９：Ｎｏ→Ｓ２１）。次に、装置プログラム３５は、標準ＸＭＬ“scan-upload2.xml”が画面指示ＸＭＬであり、且つ模擬実行モードで動作していると判断したことに応じて（Ｓ３１：画面指示＆Ｓ３２：Ｙｅｓ）、標準ＸＭＬ“scan-upload2.xml”に従って、図１１（Ａ）に示される形式選択画面をディスプレイ２３に表示させる（Ｓ３４）。
【００７１】
図１１（Ａ）に示される形式選択画面は、画面タイトルに“（模擬）”の文字列が付加されている点、［編集］アイコン１２０及びパラメータアイコン１２２をさらに含む点において図１０（Ｂ）に示される形式選択画面と相違し、その他の点において図１０（Ｂ）に示される形式選択画面と共通する。［編集］アイコン１２０は、表示中の指示画面に対応する画面指示ＸＭＬを編集する指示に対応する編集指示オブジェクトの一例である。パラメータアイコン１２２は、標準ＸＭＬ“scan-upload2.xml”に含まれる２つ目の＜選択肢＞タグに対応する。
【００７２】
次に、装置プログラム３５は、［編集］アイコン１２０の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ３５：編集）、画面編集処理を実行する（Ｓ３７）。画面編集処理は、ディスプレイ２３に表示された指示画面に対するユーザ操作に従って、当該指示画面に対応する画面指示ＸＭＬを編集する処理である。図６を参照して、画面編集処理の詳細を説明する。
【００７３】
まず、装置プログラム３５は、標準ＸＭＬ“scan-upload2.xml”に従って、図１１（Ｂ）に示される形式選択画面をディスプレイ２３に表示させる（Ｓ５１）。図１１（Ｂ）に示される形式選択画面は、画面タイトルに“（編集中）”の文字列が付加されている点、各種アイコン１２４、１２５、１２６、１２７、１２８を含む点、［編集］アイコン１２０を含まない点において図１１（Ａ）に示される形式選択画面と相違し、その他の点において図１１（Ａ）に示される形式選択画面と共通する。そして、装置プログラム３５は、形式選択画面に対するユーザ操作を受け付ける（Ｓ５２〜Ｓ５５）。Ｓ５１の処理は第２表示処理の一例であり、Ｓ５２〜Ｓ５５の処理は第２受付処理の一例である。
【００７４】
追加指示アイコン１２４は、表示中の指示画面に対応する画面指示ＸＭＬに候補パラメータを追加する指示に対応する。［コピー］アイコン１２５は、プリンタ１１及びスキャナ１２にコピー動作を実行させる指示に対応する動作オブジェクトの一例である。［スキャン］アイコン１２６は、スキャナ１２にスキャン動作を実行させる指示に対応する動作オブジェクトの一例である。［スキップ］アイコン１２７は、表示中の指示画面に対応する画面指示ＸＭＬにスキップタグを含める指示に対応する。［保存］アイコン１２８は、画面編集処理で生成したカスタムＸＭＬをサーバ６０に記憶させる指示に対応する。
【００７５】
装置プログラム３５は、追加指示アイコン１２４の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ５２：Ｙｅｓ）、図１２（Ａ）に示されるパラメータ選択画面をディスプレイ２３に表示させる（Ｓ５６）。パラメータ選択画面は、「追加するパラメータを選択して下さい。」とのメッセージと、候補アイコン１３１、１３２、１３３とを含む。そして、装置プログラム３５は、パラメータ選択画面に対するユーザ操作を、入力Ｉ／Ｆ２４を通じて受け付ける（Ｓ５７）。
【００７６】
候補アイコン１３１〜１３３は、編集中の画面指示ＸＭＬに追加可能な候補パラメータに対応するパラメータオブジェクトの一例である。候補アイコン１３１〜１３３は、項目“ファイル形式”の候補パラメータ“高圧縮ＰＤＦ”、“サーチャブルＰＤＦ”、“ＸＰＳ”に対応する。また、パラメータ選択画面に表示される候補アイコン１３１〜１３３は、対応する画像処理部がサポートする候補パラメータに対応する。すなわち、図１２（Ａ）に示される候補アイコン１３１〜１３３は、スキャナ１２が生成可能なスキャンデータのファイル形式に対応する。
【００７７】
さらに、図１２（Ａ）に示される候補アイコン１３１〜１３３は、無線ＬＡＮ１０２に接続された全てのＭＦＰ１０のスキャナ１２がサポートするファイル形式に対応してもよい。換言すれば、候補アイコン１３１〜１３３は、サーバ５０からＸＭＬファイルを受信可能な全てのＭＦＰ１０のスキャナ１２がサポートするファイル形式に対応してもよい。
【００７８】
装置プログラム３５は、例えば、スキャナ１２がサポートするファイル形式を問い合わせる問合せ情報を、無線ＬＡＮ１０２に接続された各ＭＦＰ１０に通信Ｉ／Ｆ２５を通じて送信する。次に、装置プログラム３５は、スキャナ１２がサポートするファイル形式を示す形式通知情報を、無線ＬＡＮ１０２に接続された各ＭＦＰ１０から通信Ｉ／Ｆ２５を通じて受信する。そして、装置プログラム３５は、自装置のスキャナ１２がサポートするファイル形式のうち、受信した全ての形式通知情報に共通して示されるファイル形式に対応する候補アイコンのみを、パラメータ選択画面に表示させる。
【００７９】
次に、装置プログラム３５は、例えば候補アイコン１３３の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ５７：Ｙｅｓ）、候補アイコン１３３に対応する候補パラメータ“ＸＰＳ”を標準ＸＭＬに追加してカスタムＸＭＬを生成し、生成したカスタムＸＭＬをメモリ３２に一時記憶させる（Ｓ５８）。より詳細には、装置プログラム３５は、図２（Ｂ）に示される標準ＸＭＬの＜リスト＞タグの要素に“<選択肢 val="4">ＸＰＳ</選択肢>”を追加することによって、図３（Ｂ）に示されるカスタムＸＭＬを生成する。Ｓ５６〜Ｓ５８の処理は、第１編集処理の一例である。
【００８０】
次に、装置プログラム３５は、一時記憶させたカスタムＸＭＬ“scan-upload2.xml”に従って、図１２（Ｂ）に示される形式選択画面をディスプレイ２３に表示させる（Ｓ５１）。図１２（Ｂ）に示される形式選択画面は、追加指示アイコン１２４に代えてパラメータアイコン１２９を含む点において図１１（Ｂ）に示される形式選択画面と相違し、その他の点において図１１（Ｂ）に示される形式選択画面と共通する。パラメータアイコン１２９は、Ｓ５８で追加した候補パラメータ“ＸＰＳ”に対応する。
【００８１】
また、装置プログラム３５は、［スキップ］アイコン１２７の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ５３：Ｙｅｓ）、標準ＸＭＬに含まれる複数の候補パラメータの１つを、固定パラメータに決定する（Ｓ５９）。装置プログラム３５は、例えば、複数の候補パラメータのうちの１つを入力Ｉ／Ｆ２４を通じてユーザに指定させ、指定された候補パラメータを固定パラメータに決定すればよい。そして、装置プログラム３５は、スキップタグ及び固定パラメータを標準ＸＭＬ“scan-upload2.xml”に追加してカスタムＸＭＬを生成し、生成したカスタムＸＭＬをメモリ３２に一時記憶させる（Ｓ６０）。Ｓ６０の処理は、第１編集処理の一例である。
【００８２】
なお、装置プログラム３５は、同一のＸＭＬファイルを編集するユーザ操作を、入力Ｉ／Ｆ２４を通じて繰り返し受け付けてもよい。追加指示アイコン１２４のタップは、画面指示ＸＭＬへの候補パラメータの追加を指示するユーザ操作の一例である。また、［スキップ］アイコン１２７のタップは、対応する指示画面の表示の省略を指示するユーザ操作の一例である。但し、指示画面を通じた画面指示ＸＭＬの編集の具体例は、これらに限定されない。
【００８３】
画面指示ＸＭＬの編集の他の例として、装置プログラム３５は、パラメータアイコン１２２の位置のロングタッチを入力Ｉ／Ｆ２４を通じて受け付けたことに応じて、パラメータアイコン１２２に対応する候補パラメータ“ＴＩＦＦ”を標準ＸＭＬから削除して、図３（Ａ）に示されるカスタムＸＭＬを生成してもよい。さらに他の例として、装置プログラム３５は、メッセージの位置のタップを入力Ｉ／Ｆ２４を通じて受け付けたことに応じて、不図示のソフトウェアキーボードを通じて変更されたメッセージで＜メッセージ＞タグの要素を上書きしてもよい。
【００８４】
また、装置プログラム３５は、［コピー］アイコン１２５の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ５４：Ｙｅｓ）、プリンタ１１及びスキャナ１２にコピー動作を実行させる（Ｓ６１）。同様に、装置プログラム３５は、［スキャン］アイコン１２６の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ５４：Ｙｅｓ）、スキャナ１２にスキャン動作を実行させる（Ｓ６１）。また、装置プログラム３５は、コピー動作が開始或いは終了されたことに応じて、［コピー］アイコン１２５がタップされる際に表示していた指示画面を、ディスプレイ２３に再び表示させる（Ｓ５１）。
【００８５】
また、装置プログラム３５は、［保存］アイコン１２８の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ５５：Ｙｅｓ）、Ｓ５８、Ｓ６０でメモリ３２に一時記憶させたカスタムＸＭＬを、サーバ６０に記憶させる（Ｓ６２）。より詳細には、装置プログラム３５は、カスタムＸＭＬを含む記憶指示情報を、通信Ｉ／Ｆ２５を通じてサーバ６０に送信する。記憶指示情報は、対応する標準ＸＭＬと同じファイル名を設定して、カスタムＸＭＬをサーバメモリに記憶させるための情報である。Ｓ６２の処理は、第１記憶処理の一例である。
【００８６】
また、装置プログラム３５は、図７に示されるキャンセル制御処理を、画面編集処理と並行して実行する。装置プログラム３５は、例えば図１２（Ｂ）に示される形式選択画面の表示中において、画像処理部が画像処理動作を実行しているか否かを、所定の時間間隔で繰り返し判断する（Ｓ７１）。また、装置プログラム３５は、入力Ｉ／Ｆ２４が備える不図示のキャンセルボタンが押下されるのを監視する（Ｓ７２／Ｓ７５）。Ｓ７１の処理は第３判断処理の一例であり、Ｓ７２、Ｓ７５の処理は第２受付処理の一例である。また、キャンセルボタンを押下するユーザ操作は、終了操作の一例である。
【００８７】
そして、装置プログラム３５は、例えばプリンタ１１及びスキャナ１２がコピー動作を実行中と判断したことに応じて（Ｓ７１：Ｙｅｓ）、図１３（Ａ）に示されるように、コピー動作が実行中であることを示す報知画像“［コピー動作中］”を、形式選択画面に含める（Ｓ７４）。また、装置プログラム３５は、コピー動作が終了したと判断したことに応じて、形式選択画面に含めた報知画像を非表示にする。すなわち、報知画像“［コピー動作中］”は、［コピー］アイコン１２５のタップによってコピー動作が開始されてから、当該コピー動作が終了するまでの間、形式選択画面に継続して表示される。
【００８８】
また、装置プログラム３５は、報知画像“［コピー動作中］”を含まない形式選択画面の表示中に、キャンセルボタンの押下を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ７１：Ｎｏ＆Ｓ７２：Ｙｅｓ）、メモリ３２に一時記憶させたカスタムＸＭＬを破棄して、画面編集処理を終了する（Ｓ７３）。一方、装置プログラム３５は、報知画像“［コピー動作中］”を含む形式選択画面の表示中に、キャンセルボタンの押下を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ７１：Ｙｅｓ＆Ｓ７５：Ｙｅｓ）、画面編集処理を継続したまま、実行中のコピー動作を終了させる（Ｓ７６）。すなわち、装置プログラム３５は、報知画像“［コピー動作中］”が非表示にされた形式選択画面をディスプレイ２３に表示させ、当該画面に対するユーザ操作を入力Ｉ／Ｆ２４を通じて受け付ける。
【００８９】
次に図５に戻って、装置プログラム３５は、画像編集処理（Ｓ３７）で編集された形式選択画面（例えば、図１２（Ｂ）の画面タイトルが“形式選択画面（模擬）”の形式選択画面）を、ディスプレイ２３に表示させる（Ｓ３４）。そして、装置プログラム３５は、例えばパラメータアイコン１２１の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ３５：パラメータ）、前述したＳ３６以降の処理を実行する。
【００９０】
さらに図４に戻って、装置プログラム３５は、図２（Ｃ）に示される標準ＸＭＬ“scan-upload3xml”をサーバ５０から受信して（Ｓ１３）、受信した標準ＸＭＬ“scan-upload3.xml”に対するコマンド実行処理を実行する（Ｓ１５：Ｎｏ＆Ｓ１９：Ｎｏ→Ｓ２１）。次に、装置プログラム３５は、標準ＸＭＬ“scan-upload3.xml”が動作指示ＸＭＬであり、且つ模擬実行モードで動作していると判断したことに応じて（Ｓ３１：動作指示＆Ｓ３８：Ｙｅｓ）、当該動作指示ＸＭＬで指示された指示動作を、模擬的に実行する（Ｓ４０）。
【００９１】
より詳細には、装置プログラム３５は、図１３（Ｂ）に示される模擬実行画面を、ディスプレイ２３に表示させる。模擬実行画面は、「下記のパラメータに従ってスキャンアップロードが実行されます。」とのメッセージと、動作指示ＸＭＬで指示されたパラメータ“サーバ：www.server-c.com”、“形式：ＰＤＦ”、“解像度：３００ｄｐｉ”、“ファイル名：img_estimate”と、［ＯＫ］アイコン１４０とを含む。そして、装置プログラム３５は、［ＯＫ］アイコン１４０の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて、図４に戻ってＳ１３以降の処理を実行する。
【００９２】
なお、装置プログラム３５は、Ｓ４０において、動作指示ＸＭＬで指示された指示動作のうち、少なくとも画像処理動作を実行しない。本実施形態に係る装置プログラム３５は、スキャナ１２にスキャン動作を実行させず、通信Ｉ／Ｆ２５にスキャンデータをアップロードさせない。一方、装置プログラム３５は、Ｓ４０において、動作指示ＸＭＬで指示された画像処理動作以外の動作、或いは指示動作を実行するための準備動作（例えば、通信確認など）を実行してもよい。
【００９３】
準備動作の一例として、装置プログラム３５は、項目“サーバ”のパラメータ“www.server-c.com”で識別されるサーバ７０と通信可能か否かを確認してもよい。より詳細には、装置プログラム３５は、通信Ｉ／Ｆ２５を通じてサーバ７０にエコーリクエストを送信し、通信Ｉ／Ｆ２５を通じてサーバ７０からエコーリプライを受信できるか否かを判断してもよい。準備動作の他の例として、装置プログラム３５は、スキャンデータのアップロード権限をＭＦＰ１０が有しているか否かを確認してもよい。より詳細には、装置プログラム３５は、通信Ｉ／Ｆ２５を通じてサーバ７０にアカウント情報を送信し、通信Ｉ／Ｆ２５を通じてサーバ７０から認証結果を示す情報を受信してもよい。
【００９４】
［ＸＭＬ一覧画面を通じて選択されたＸＭＬファイルの編集］
次に、サーバ５０に記憶された標準ＸＭＬからカスタムＸＭＬを生成する他の例を説明する。まず、装置プログラム３５は、図９（Ａ）に示される［一覧］アイコン１１３の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ１２：一覧）、ＸＭＬ編集処理を実行する（Ｓ２２）。ＸＭＬ編集処理は、拡張プログラムを構成する複数のＸＭＬファイルのうちの１つをユーザに選択させ、選択されたＸＭＬファイルをユーザに選択させる処理である。図８を参照して、ＸＭＬ編集処理の詳細を説明する。
【００９５】
まず、装置プログラム３５は、図１４（Ａ）に示されるＸＭＬ一覧画面をディスプレイ２３に表示させる（Ｓ８１）。ＸＭＬ一覧画面は、編集対象となるＸＭＬファイルをユーザに選択させるための画面である。ＸＭＬ一覧画面は、「編集するＸＭＬファイルを選択して下さい。」とのメッセージと、ＸＭＬアイコン１４１、１４２、１４３とを含む。ＸＭＬアイコン１４１〜１４３は、スキャンアップロードを実現する拡張プログラムを構成する複数のＸＭＬファイルの１つに対応するデータオブジェクトの一例である。そして、装置プログラム３５は、ＸＭＬ一覧画面に対するユーザ操作を、入力Ｉ／Ｆ２４を通じて受け付ける（Ｓ８２）。Ｓ８１の処理は第３表示処理の一例であり、Ｓ８２の処理は第３受付処理の一例である。
【００９６】
より詳細には、装置プログラム３５は、［一覧］アイコン１１３に対応付けられた所在情報で示される標準ＸＭＬ“scan-upload1.xml”をサーバ５０から受信する。また、装置プログラム３５は、受信した標準ＸＭＬ“scan-upload1.xml”の＜ＮｅｘｔＵＲＬ＞タグの要素で示される標準ＸＭＬ“scan-upload2.xml”をサーバ５０から受信する。さらに、装置プログラム３５は、受信した標準ＸＭＬ“scan-upload2.xml”の＜ＮｅｘｔＵＲＬ＞タグの要素で示される標準ＸＭＬ“scan-upload3.xml”をサーバ５０から受信する。
【００９７】
そして、装置プログラム３５は、受信した複数の標準ＸＭＬそれぞれに対応するＸＭＬアイコン１４１〜１４３を、ＸＭＬ一覧画面に表示させる。一方、標準ＸＭＬ“scan-upload2.xml”の＜ＮｅｘｔＵＲＬ＞タグの要素で示される標準ＸＭＬ“scan-upload4.xml”は、終了指示ＸＭＬなので、対応するＸＭＬアイコンをＸＭＬ一覧画面に含める必要はない。
【００９８】
次に、装置プログラム３５は、例えばＸＭＬアイコン１４２の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ８２：画面指示）、画面編集処理を実行する（Ｓ８９）。ＸＭＬアイコン１４２に対応する標準ＸＭＬ“scan-upload2.xml”を編集する処理は、図６、図７、及び図１１（Ｂ）〜図１３（Ａ）を参照して既に説明したので、再度の説明は省略する。
【００９９】
一方、装置プログラム３５は、例えばＸＭＬアイコン１４３の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ８２：動作指示）、図１４（Ｂ）に示されるパラメータ編集画面をディスプレイ２３に表示させる（Ｓ８３）。そして、装置プログラム３５は、パラメータ編集画面に対するユーザ操作を、入力Ｉ／Ｆ２４を通じて受け付ける（Ｓ８４、Ｓ８５）。Ｓ８３の処理は第４表示処理の一例であり、Ｓ８４、Ｓ８５の処理は第４受付処理の一例である。
【０１００】
パラメータ編集画面は、編集対象のパラメータをユーザに指定させるための画面である。パラメータ編集画面は、パラメータアイコン１４４、１４５、１４６と、［保存］アイコン１４７とを含む。パラメータアイコン１４４は、項目“サーバ”の固定パラメータ“www.server-c.com”を変更する指示に対応する。パラメータアイコン１４５は、項目“解像度”の固定パラメータ“３００ｄｐｉ”を変更する指示に対応する。パラメータアイコン１４６は、項目“ファイル名”の動的パラメータを決定するスクリプトを変更する指示に対応する。
【０１０１】
次に、装置プログラム３５は、例えばパラメータアイコン１４５の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ８４：Ｙｅｓ）、図１５（Ａ）に示される解像度選択画面をディスプレイ２３に表示させる。解像度選択画面は、スキャナ１２がサポートする読取解像度のうちの１つを、ユーザに指定させるための画面である。解像度選択画面は、解像度“３００ｄｐｉ”、“６００ｄｐｉ”、“９００ｄｐｉ”に対応する解像度アイコン１５１、１５２、１５３を含む。そして、装置プログラム３５は、解像度選択画面に対するユーザ操作を、入力Ｉ／Ｆ２４を通じて受け付ける。解像度選択画面に対するユーザ操作を受け付ける処理は、第４受付処理の一例である。
【０１０２】
次に、装置プログラム３５は、例えば解像度アイコン１５２の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて、標準ＸＭＬ“scan-upload3.xml”の＜解像度＞タグの要素“３００ｄｐｉ”を、解像度アイコン１５２に対応するパラメータ“６００ｄｐｉ”で上書きしてカスタムＸＭＬを生成し、生成したカスタムＸＭＬをメモリ６２に一時記憶させる（Ｓ８６）。Ｓ８６の処理は、第２編集処理の一例である。
【０１０３】
また、装置プログラム３５は、パラメータアイコン１４６の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ８５：Ｙｅｓ）、図１５（Ｂ）に示されるスクリプト変更画面をディスプレイ２３に表示させる。スクリプト変更画面は、動作指示ＸＭＬに含まれるスクリプトにおいて、入力パラメータと出力パラメータとの対応関係を、ユーザに変更させるための画面である。そして、装置プログラム３５は、スクリプト変更画面に対するユーザ操作を、入力Ｉ／Ｆ２４を通じて受け付ける。スクリプト変更画面に対するユーザ操作を受け付ける処理は、第４受付処理の一例である。
【０１０４】
スクリプト変更画面は、入力パラメータである項目“原稿種別”のパラメータ“１”、“２”と、出力パラメータである項目“ファイル名”のパラメータ“img_estimate”、“img_contract”との対応関係を、ユーザに変更させるための画面である。スクリプト変更画面は、スクリプトに含まれる各パラメータに対応するテキストボックス１６１、１６２、１６３、１６４と、［追加］アイコン１６５と、［保存］アイコン１６６とを含む。［追加］アイコン１６５は、入力パラメータと出力パラメータとの対応関係を追加する指示に対応する。［保存］アイコン１６６は、スクリプト変更画面を通じたスクリプトの変更を、動作指示ＸＭＬに反映させる指示に対応する。
【０１０５】
装置プログラム３５は、例えば、テキストボックス１６１の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて、不図示のソフトウェアキーボードを通じてパラメータ“doc_type="1"”の変更を受け付け、変更後のパラメータをテキストボックス１６１に表示させる。また、装置プログラム３５は、［追加］アイコン１６５の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて、新たな入力パラメータ及び新たな出力パラメータに対応する一対のテキストボックスをスクリプト変更画面に追加し、当該テキストボックスへのパラメータの入力を入力Ｉ／Ｆ２４を通じて受け付ける。
【０１０６】
さらに、装置プログラム３５は、［保存］アイコン１６６の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて、標準ＸＭＬ“scan-upload3.xml”に含まれるスクリプトを、テキストボックス１６１〜１６４に表示された対応関係で上書きしてカスタムＸＭＬを生成し、生成したカスタムＸＭＬをメモリ３２に一時記憶させる（Ｓ８７）。Ｓ８７の処理は、第２編集処理の一例である。
【０１０７】
また、装置プログラム３５は、パラメータ編集画面の［保存］アイコン１４７の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ８５：Ｎｏ）、Ｓ８６、Ｓ８７でメモリ３２に一時記憶させたカスタムＸＭＬを、サーバ６０に記憶させる（Ｓ８８）。Ｓ８８の処理は、第２記憶処理の一例であって、具体的な処理内容はＳ６２と同様であってもよい。
【０１０８】
［本実施形態の作用効果］
上記の実施形態によれば、例えば図１１（Ｂ）等を参照して説明したように、指示画面に対するユーザ操作によって画面指示ＸＭＬが編集されるので、画面指示ＸＭＬをユーザが直接編集する場合と比較して、画面指示ＸＭＬを簡単にカスタマイズすることができる。そして、サーバ５０に記憶されたカスタマイズ前の標準ＸＭＬと、サーバ６０に記憶されたカスタマイズ後のカスタムＸＭＬとを組み合わせることによって、カスタマイズされたサービスを利用することができる。
【０１０９】
また、上記の実施形態によれば、複数のＸＭＬファイルを含む拡張プログラムを模擬的に実行しながら、カスタマイズが必要な指示画面を特定することができる。より詳細には、Ｓ３４で表示される指示画面を確認し、カスタマイズが必要な指示画面の［編集］アイコン１２０をタップすることによって、当該指示画面に対応する画面指示ＸＭＬを編集することができる。さらに、模擬実行モードでは画像処理動作が実行されないので、画像処理動作の実行に必要な消耗品が消費されるのを抑制できる。なお、上記の実施形態では、模擬実行モードのときの指示画面にのみ［編集］アイコン１２０を含める例を説明したが、実行モードのときの指示画面に［編集］アイコン１２０を含めてもよい。
【０１１０】
また、上記の実施形態によれば、ＸＭＬ一覧画面を通じてカスタマイズが必要なＸＭＬファイルを特定することができる。これにより、ＸＭＬファイルをカスタマイズするために、拡張プログラムを模擬実行する必要が必ずしもなくなる。その結果、熟練したユーザにとっては、カスタマイズの手間が軽減される。また、ＸＭＬ一覧画面を通じて動作指示ＸＭＬもカスタマイズ可能となる。これにより、拡張プログラムによって実現されるサービスを、さらに柔軟にカスタマイズすることができる。
【０１１１】
また、上記の実施形態によれば、例えば図１２（Ａ）を参照して説明したように、サーバ６０からＸＭＬファイルを受信可能な全てのＭＦＰ１０がサポートするパラメータのうちから、画面指示ＸＭＬに追加する候補パラメータを選択させることができる。これにより、拡張プログラムによって実現されるサービスを、ユーザの利用態様に合わせて好適にカスタマイズすることができる。
【０１１２】
また、上記の実施形態によれば、指示画面を通じて指定可能なパラメータを固定する場合に、当該指示画面に対応するカスタムＸＭＬにスキップタグ及び固定パラメータが追加される。これにより、当該カスタムＸＭＬに従った指示画面の表示及パラメータの指定操作が省略されるので、拡張プログラムによって実現されるサービスを利用するためのステップを簡素化することができる。
【０１１３】
また、上記の実施形態によれば、例えば図１２（Ｂ）を参照して説明したように、指示画面の編集を受け付ける画面上において、画像処理動作の実行を指示することができる。そして、編集中の指示画面に報知画像“［コピー動作中］”を表示することによって、バックグラウンドで画像処理動作が実行されていることを、画面指示ＸＭＬを編集中のユーザに認識させることができる。
【０１１４】
また、上記の実施形態によれば、指示画面の編集中にキャンセルボタンが押下された場合において、バックグラウンドで画像処理動作が実行されていれば当該画像処理動作が終了され、バックグラウンドで画像処理動作が実行されていなければ画面編集処理が終了される。このように、キャンセルボタン押下時の状態に応じて、ユーザが意図する処理を終了させることができる。
【０１１５】
また、上記の実施形態によれば、対応する標準ＸＭＬ及びカスタムＸＭＬのバージョンが異なることが、報知画面を通じてユーザに報知される。これにより、ＸＭＬファイルをカスタマイズした後に、サーバ５０に記憶された標準ＸＭＬがバージョンアップされたことを、ユーザに認識させることができる。但し、対応する標準ＸＭＬ及びカスタムＸＭＬのバージョンが異なる場合の処理は、Ｓ１７〜Ｓ１８の例に限定されない。
【０１１６】
他の例として、装置プログラム３５は、対応する標準ＸＭＬ及びカスタムＸＭＬのバージョンが異なることに応じて（Ｓ１６：Ｎｏ）、最新バージョンの標準ＸＭＬに対するコマンド実行処理（Ｓ２１）を実行してもよい。さらに他の例として、装置プログラム３５は、対応する標準ＸＭＬ及びカスタムＸＭＬのバージョンが異なることに応じて（Ｓ１６：Ｎｏ）、標準ＸＭＬ及びカスタムＸＭＬのどちらを用いるかを、入力Ｉ／Ｆ２４を通じてユーザに指定させてもよい。
【０１１７】
また、上記の実施形態では、標準ＸＭＬに対応するカスタムＸＭＬの有無をサーバ６０に問い合わせる例を説明したが、Ｓ１５の処理はこれに限定されない。例えば、装置プログラム３５は、Ｓ６２、Ｓ８８でサーバ６０に記憶させたカスタムＸＭＬのファイル名をメモリ３２に記憶させておいてもよい。次に、装置プログラム３５は、Ｓ１３の直前において、ＸＭＬファイルから抽出した所在情報に含まれるファイル名がメモリ３２に記憶されているか否かを判断してもよい。
【０１１８】
そして、装置プログラム３５は、所在情報に含まれるファイル名がメモリ３２に記憶されていると判断したことに応じて、当該ファイル名のカスタムＸＭＬをサーバ６０から受信すればよい。一方、装置プログラム３５は、所在情報に含まれるファイル名がメモリ３２に記憶されていないと判断したことに応じて、当該ファイル名の標準ＸＭＬをサーバ５０から受信すればよい。これにより、標準ＸＭＬ及びカスタムＸＭＬの両方を受信する必要がなくなるので、通信量が削減される。
【０１１９】
また、上記の実施形態では、ＸＭＬファイルをサーバ５０、６０から受信する例を説明したが、ＸＭＬファイルの取得先はサーバ５０、６０に限定されない。一例として、ＭＦＰ１０は、ＵＳＢメモリ等の可搬記憶媒体が着脱される装着部を備えてもよい。そして、装置プログラム３５は、装着部に装着されたＵＳＢメモリからＸＭＬファイルを読み出してもよい。他の例として、ＸＭＬファイルはメモリ３２に記憶されていてもよい。そして、装置プログラム３５は、ＸＭＬファイルをメモリ３２から読み出してもよい。すなわち、ＵＳＢメモリ及びメモリ３２は、第１メモリ或いは第２メモリの一例である。
【０１２０】
また、上記の実施形態のＭＦＰ１０において、メモリ３２に記憶された各種プログラムがＣＰＵ３１によって実行されることによって、本発明のコントローラが実行する各処理が実現される例を説明した。しかしながら、コントローラの構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
【０１２１】
さらに、本発明は、ＭＦＰ１０として実現できるだけでなく、ＭＦＰ１０に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体に記録されて提供されてもよい。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の他、通信ネットワークを通じてＭＦＰ１０に接続可能なサーバに搭載されたメモリを含んでもよい。そして、サーバのメモリに記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット１０１等の通信ネットワークを通じて配信されてもよい。
【符号の説明】
【０１２２】
１０・・・ＭＦＰ
１１・・・プリンタ
１２・・・スキャナ
２３・・・ディスプレイ
２４・・・入力Ｉ／Ｆ
２５・・・通信Ｉ／Ｆ
３１・・・ＣＰＵ
３２・・・メモリ
３５・・・装置プログラム
５０，６０，７０・・・サーバ
【図１】
2018029260.tif 000003
【図２】
2018029260.tif 000004
【図３】
2018029260.tif 000005
【図４】
2018029260.tif 000006
【図５】
2018029260.tif 000007
【図６】
2018029260.tif 000008
【図７】
2018029260.tif 000009
【図８】
2018029260.tif 000010
【図９】
2018029260.tif 000011
【図１０】
2018029260.tif 000012
【図１１】
2018029260.tif 000013
【図１２】
2018029260.tif 000014
【図１３】
2018029260.tif 000015
【図１４】
2018029260.tif 000016
【図１５】
2018029260.tif 000017