情報処理装置及びその制御方法、並びにプログラム
【課題】サーバ装置から提供される画面データに基づく操作画面を表示可能な情報処理装置において、機能の選択を受け付けるためのメニュー画面をカスタマイズ可能にする技術を提供する。
【解決手段】本発明の情報処理装置(MFP)は、情報処理装置に予め組み込まれた画面データ、又はそれに代えて、操作画面の画面データを提供する外部のサーバ装置(Webサーバ)の画面データの指定を受け付ける(S601)。Webサーバから提供される画面データが指定された場合には、MFPは、当該画面データをWebサーバから取得して(S604)、取得した画面データに基づく操作画面をメニュー画面として操作部に表示可能か否かを判定する(S605)。MFPは、Webサーバから提供される画面データに基づく操作画面をメニュー画面として表示できないと判定すると、当該画面データの使用を禁止して、新たな画面データの指定を受け付ける(S606)。
【解決手段】本発明の情報処理装置(MFP)は、情報処理装置に予め組み込まれた画面データ、又はそれに代えて、操作画面の画面データを提供する外部のサーバ装置(Webサーバ)の画面データの指定を受け付ける(S601)。Webサーバから提供される画面データが指定された場合には、MFPは、当該画面データをWebサーバから取得して(S604)、取得した画面データに基づく操作画面をメニュー画面として操作部に表示可能か否かを判定する(S605)。MFPは、Webサーバから提供される画面データに基づく操作画面をメニュー画面として表示できないと判定すると、当該画面データの使用を禁止して、新たな画面データの指定を受け付ける(S606)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、MFP等の情報処理装置及びその制御方法、並びにプログラムに関するものである。
【背景技術】
【0002】
PC等の情報処理装置では、ネットワーク上のWebサーバ等のサーバ装置から提供されるデータに基づいて、当該情報処理装置の表示部に操作画面を表示する技術が一般に知られている。例えば、情報処理装置のWebブラウザが、表示部に操作画面を表示するために必要なコンテンツの要求(リクエスト)を、ネットワーク上のWebサーバに送信する。当該要求を受信したWebサーバ上のWebアプリケーションは、Webブラウザによって操作画面を表示させるためのコンテンツを情報処理装置に送信する。当該コンテンツには、例えば、HTMLデータ、画像ファイル、スクリプトファイルが含まれる。情報処理装置のWebブラウザは、受信したコンテンツを解析し、解析したコンテンツの記述に基づく操作画面を、当該情報処理装置の表示部に表示する。さらに、Webブラウザは、表示した操作画面を介した入力によりユーザの指示を受け付けると、入力された当該指示をWebサーバに通知する。この通知を受けたWebサーバ上のWebアプリケーションは、通知された指示に従って処理を実行する。
【0003】
近年では、後述するように、スキャナ、プリンタ等を備えた複合機(MFP:Multi Function Peripheral)の中にも、上述のようなWebブラウザを備えているものが存在する。このようなMFPは、上述した手順でWebサーバから提供されるコンテンツに基づく操作画面を、当該MFPのWebブラウザによって表示部に表示する。さらに、MFPは、表示した操作画面を介して、ユーザからの各種指示を受け付ける。
【0004】
例えば、特許文献1では、MFPが備える各機能をユーザに利用させるための操作画面のデータ(メニューデータ)を、WebサーバがMFPに提供する技術が提案されている。MFPのユーザは、WebブラウザによってUIパネル上に表示された操作画面を介して、MFPに対する指示を入力する。入力された指示は、MFPのWebブラウザによってWebサーバに通知される。当該通知を受けたWebサーバは、通知された指示の内容に従った処理をMFPに実行させるために、MFPを制御するためのデータ(デバイス制御データ)を、処理の実行要求として、SOAP(Simple Object Access Protocol)等の通信プロトコルでMFPに送信する。当該実行要求を受けたMFPは、要求された処理を実行する。特許文献1によれば、WebサーバとMFPとの間でこのような処理を行うことによって、MFPを操作するための全メニューデータをMFP内で保持しておく必要がなくなる。また、メニューデータを変更する場合には、MFPではなくWebサーバ上で容易に行うことが可能になる。
【0005】
また、最近のMFPは、使用すべき機能をユーザが選択するためのアイコン等の一覧をメニュー画面(機能選択画面)として表示して、表示したアイコンの中からユーザが所望の機能を選択できるようにしている場合がある。この場合、MFPは、通常、当該MFPが備える機能をユーザに選択させるメニュー画面を表示するための「メニュー機能」を、通常、当該MFP上のアプリケーションにより実現する。(以下では、「メニュー機能」をMFP上で実現するためのアプリケーションを「メニューアプリケーション」とも称する。)一般に、MFPは、ユーザが簡易な操作でメニューアプリケーションを呼び出して、メニュー画面を利用できるよう、メニューアプリケーションを呼び出すための専用のキー(ボタン)を「メニューキー」として操作部に備えている。このメニューキーは、MFPの表示部にメニュー画面を表示するためのメニュー機能に関連付けられている。MFPは、メニューキーがユーザによって押下された場合、又は電源オフ状態から起動した場合等に、メニューアプリケーションによって提供されるメニュー画面を表示部に表示する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−127503号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
最近のMFPは、多くの機能を有し、MFPが使用される組織等に依存して様々な方法でそれらの機能が使用される傾向にある。このため、MFPでは、ユーザのニーズに応じて、操作画面の変更(カスタマイズ)を行えることが望ましい。特に、上述のメニュー画面は、MFPの起動時等にも利用され、最も利用頻度が高くなるため、カスタマイズ可能であることがユーザにとって非常に望ましいであろう。
【0008】
しかし、上述のように外部のWebサーバから提供されるコンテンツに基づく操作画面を表示可能なMFPにおいては、Webサーバから提供されるコンテンツをユーザが指定して、メニュー画面を自由にカスタマイズする機能は提供されていなかった。これは、例えば、メニュー画面を提供するアプリケーションとして、WebサーバのWebアプリケーションをユーザが設定する場合、実際にはメニュー画面のコンテンツを提供しえないWebアプリケーションを設定してしまう可能性があるためである。このようにメニュー画面を提供しえないWebアプリケーションをユーザが設定してしまうと、MFPに設けられたメニューキーの押下時又はMFPの起動時等に、メニュー画面ではなくそれ以外の画面がユーザの意図に反して表示されてしまうおそれがある。その結果、ユーザは、MFPの表示部に表示された画面を介して、使用する機能を選択することができず、また、他の画面に画面表示を遷移させることすらできなくなるおそれがある。
【0009】
本発明は、上述の問題に鑑みてなされたものであり、サーバ装置から提供される画面データに基づく操作画面を表示可能な情報処理装置において、機能の選択を受け付けるためのメニュー画面をカスタマイズ可能にする技術を提供することを目的としている。
【課題を解決するための手段】
【0010】
本発明は、例えば、情報処理装置として実現できる。情報処理装置は、操作画面の画面データを提供するサーバ装置とネットワークを介して通信可能な情報処理装置であって、情報処理装置が備える機能のうちで使用する機能の選択を受け付けるためのメニュー画面の画面データとして、サーバ装置によって提供される画面データの指定を受け付ける受付手段と、指定された画面データをサーバ装置から取得する取得手段と、情報処理装置が備える表示部に、取得手段によって取得された画面データに基づく操作画面をメニュー画面として表示できるか否かを判定する判定手段と、判定手段によって、取得された画面データに基づく操作画面を表示部にメニュー画面として表示できないと判定されると、指定された画面データをメニュー画面の画面データとして使用することを禁止する禁止手段とを備えることを特徴とする。
【0011】
本発明は、例えば、情報処理装置として実現できる。情報処理装置は、操作画面の画面データを提供するサーバ装置とネットワークを介して通信可能な情報処理装置であって、サーバ装置から提供される操作画面の画面データを一意に特定するための特定情報の登録を受け付ける受付手段と、登録された特定情報によって特定される画面データをサーバ装置から取得する取得手段と、情報処理装置が備える表示部に、取得手段によって取得された画面データに基づく操作画面を、情報処理装置が備える機能のうちで使用する機能の選択を受け付けるためのメニュー画面として表示できるか否かを判定する判定手段と、情報処理装置に予め組み込まれた画面データと、登録された特定情報によって特定される画面データのうちで、取得された画面データに基づく操作画面を表示部にメニュー画面として表示できると判定手段によって判定された画面データとから、メニュー画面を表示するために使用する画面データを選択する選択手段とを備えることを特徴とする。
【発明の効果】
【0012】
本発明によれば、サーバ装置から提供される画面データに基づく操作画面を表示可能な情報処理装置において、機能の選択を受け付けるためのメニュー画面をカスタマイズ可能にする技術を提供できる。また、メニュー画面を提供するアプリケーションとして、メニュー画面を提供しえないアプリケーションをユーザが設定することを防ぐことが可能になる。
【図面の簡単な説明】
【0013】
【図1】本発明の第1の実施形態に係る情報処理システム100の構成の全体図である。
【図2】本発明の第1の実施形態に係るMFP101の構成を示すブロック図である。
【図3】本発明の第1の実施形態に係るMFP101の操作部219の外観を示す図である。
【図4】本発明の第1の実施形態に係るWebサーバ102の構成を示すブロック図である。
【図5】本発明の第1の実施形態に係る情報処理システム100のソフトウェア構成を示す図である。
【図6】本発明の第1の実施形態に係るMFP101における、メニュー機能の設定手順を示すフローチャートである。
【図7】本発明の第1の実施形態におけるメニュー機能の設定画面の一例を示す図である。
【図8】本発明の第1の実施形態におけるメニュー画面の画面データ(HTMLファイル)の一例を示す図である。
【図9】本発明の第1の実施形態に係るMFP101における、メニュー画面の表示手順を示すフローチャートである。
【図10】本発明の第1の実施形態におけるWebアプリケーション510が提供するメニュー画面の一例を示す図である。
【図11】本発明の第1の実施形態における組み込みメニュー機能部536が提供するメニュー画面の一例を示す図である。
【図12】本発明の第2の実施形態における、お気に入り管理部544が管理する管理テーブルの一例を示す図である。
【図13】本発明の第2の実施形態に係るMFP101における、メニュー機能の設定処理の手順を示すフローチャートである。
【図14】本発明の第2の実施形態におけるメニュー機能の設定画面の一例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【0015】
[第1の実施形態]
<情報処理システム100のハードウェア構成>
まず、本発明に係る第1の実施形態について説明する。図1は、第1の実施形態における情報処理システム100全体の概略図である。LAN110には、MFP101及びWebサーバ102が相互に通信可能に接続されている。図1には、それぞれ1台のMFP101及びWebサーバ102が、ネットワークの一例であるLAN110に接続された例を示しているが、何台のMFP101及びWebサーバ102がLAN110に接続されていてもよい。また、MFP101とWebサーバ102は、インターネットを介して相互に通信可能に接続されていてもよい。なお、本実施形態において、Webサーバ102は、操作画面の画面データを提供するサーバ装置の一例であり、MFP101は、当該サーバ装置とネットワークを介して通信可能な情報処理装置の一例である。
【0016】
(MFP101の構成)
図2は、MFP101の構成を示すブロック図である。MFP101は、MFP101全体の動作を制御する制御部210と、操作部219と、プリンタ220と、スキャナ221といったデバイスを備える。MFP101はCPU211を備え、CPU211は、ROM212に記憶された制御プログラムをRAM213に読み出して、印刷制御、読取制御、送信制御等の各種制御を行う。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD214には、画像データや各種プログラム、或いは各種情報テーブルが格納される。
【0017】
操作部I/F215は、操作部219と制御部210とを接続するインタフェースである。操作部219は、図3を用いて後述するように、タッチパネル機能を有する液晶表示部やキーボード等を備える。液晶表示部は、各種の情報を表示する表示部として機能する。また、操作部219は、ユーザがMFP101に各種の情報及び指示を入力するためのユーザインタフェース(UI)として機能する。
【0018】
MFP101は、後述するように、制御プログラムの実行によって実現される機能の1つとして、Webブラウザを備えている。MFP101のWebブラウザは、Webサーバ102から受信されるHTMLデータ等のコンテンツ(画面データ)を解析し、解析したコンテンツの記述に基づく操作画面を操作部219の液晶表示部に表示する。
【0019】
プリンタI/F216は、プリンタ220と制御部210とを接続するインタフェースである。プリンタ220で印刷すべき画像データは、プリンタI/F216を介して制御部210から転送される。プリンタ220は、転送された画像データに基づいて、記録媒体上に画像を印刷する。スキャナI/F217は、スキャナ221と制御部210とを接続するインタフェースである。スキャナ221は、原稿の画像を読み取って画像データを生成し、生成した画像データを、スキャナI/F217を介して制御部210に入力する。
【0020】
ネットワークI/F218は、制御部210(MFP101)をLAN110に接続するインタフェースである。ネットワークI/F218は、LAN110上の外部装置(例えば、Webサーバ102)に画像データや各種情報を送信したり、LAN110上の外部装置から各種情報を受信したりする。
【0021】
(操作部219の構成)
図3は、MFP101に設けられた操作部219の外観を示す図である。操作部219は、LCD及び当該LCD上に貼り付けられたタッチパネルシート302から成る液晶表示部301と、各種のハードキー303〜308とを備える。液晶表示部301には、後述するネイティブ機能モジュール及びWebブラウザによって、操作画面(メニュー画面を含む)及びソフトキーが表示される。液晶表示部301にソフトキーが表示されている間に、ユーザがタッチパネルシート302を介して何れかのキーを押下すると、液晶表示部301は、タッチパネルシート302上で押下された位置を示す位置情報を、CPU211に伝える。
【0022】
操作部219は、各種のハードキー303〜308として、スタートキー303、ストップキー304、リセットキー305、ガイドキー306、メニューキー307、及び数値キー308を備える。スタートキー303は、MFP101における処理の開始を指示するためのキーである。スタートキー303の中央部には、緑と赤の2色のLEDを有する2色LED表示部309が設けられている。2色LED表示部309は、スタートキー303が使用可能な状態にあるか否かを、点灯するLEDの色によって表す。ストップキー304は、実行中の動作を停止するためのキーである。リセットキー305は設定を初期化する場合に用いられるキーである。ガイドキー306は、MFP101の使用方法を液晶表示部301に表示させるためのキーである。
【0023】
メニューキー307は、MFP101が備える機能のうちで使用すべき機能を選択するためのメニュー画面(機能選択画面)を、液晶表示部301に表示するためのキーである。このメニュー画面は、MFP101が電源オフ状態から起動した際にも表示され、トップメニュー画面に相当する。なお、メニューキー307が押下された場合のMFP101の動作については後述する。数値キー308は、数値を入力するためのキーである。
【0024】
(Webサーバ102の構成)
図4は、Webサーバ102の構成を示すブロック図である。CPU411を含む制御部410は、サーバ102全体の動作を制御する。CPU411は、ROM412に記憶された制御プログラムをRAM413に読み出して、各種の制御を実行する。RAM413は、CPU411の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD414には、画像データや各種プログラムが格納される。ネットワークI/F415は、制御部410(Webサーバ102)をLAN110に接続するインタフェースである。ネットワークI/F415は、LAN110上の他の装置との間で各種情報を送受信する。
【0025】
<情報処理システム100のソフトウェア構成>
図5は、情報処理システム100全体のソフトウェア構成を示す図である。図5に示す各機能部は、MFP101のCPU211、及びWebサーバ102のCPU411が制御プログラムをそれぞれ実行することによって、MFP101及びWebサーバ102上で実現される。MFP101は、CPU211による制御プログラムの実行によって実現される機能部として、ネイティブ機能モジュール530と、Webブラウザ540と、サービスプロバイダ550とを含む。一方、Webサーバ102は、CPU411による制御プログラムの実行によって実現される機能部として、Webアプリケーション510を含む。なお、本実施形態において、Webブラウザ540及びメニュー画面表示部535は、表示制御手段として機能する。
【0026】
(MFP101のソフトウェア構成)
Webブラウザ540は、通信部541、解析部542、画面表示部543、及びお気に入り管理部544を含む。通信部541は、Webサーバ102のWebアプリケーション510に含まれるプレゼンテーション部511と、HTTPプロトコルに従って通信する。具体的には、通信部541は、Webブラウザ540によって操作部219(液晶表示部301)に表示すべき操作画面のコンテンツの要求(リクエスト)を、Webアプリケーション510に送信する。通信部541は、当該要求をHTTPリクエストとしてWebアプリケーション510に送信し、そのレスポンスとして、操作画面のコンテンツをWebアプリケーション510から受信する。また、Webアプリケーション510から受信されたコンテンツに基づいてWebブラウザ540が表示した操作画面を介して、ユーザが指示(情報)を入力すると、通信部541は、入力された当該指示を、Webアプリケーション510に通知する。
【0027】
解析部542は、Webアプリケーション510から受信した操作画面のコンテンツを解析する。当該コンテンツには、HTMLファイル、画像ファイル、スクリプトファイル等が含まれる。これらのファイルには、操作部219に表示すべき操作画面の内容を示す記述が含まれる。画面表示部543は、解析部542によるコンテンツの解析結果に基づいて、操作部219の液晶表示部301に操作画面を表示する。
【0028】
お気に入り管理部544は、Webサーバ102、Webアプリケーション510、操作画面のコンテンツ等を特定するためのURLを、ユーザの指示に従って、「お気に入り」として登録する。「お気に入り」には、任意の名称をURLに対応付けて登録することが可能である。一般に、「お気に入り」は、「ブックマーク」又は「インターネットショートカット」とも称される。お気に入り管理部544は、URL及び任意の名称を含むお気に入り情報を、管理テーブルとしてRAM213又はHDD214に保持する。また、お気に入り管理部544は、他の機能部の要求に応じて、当該管理テーブルに含まれる情報を提供する。
【0029】
サービスプロバイダ550は、通信部551、ジョブ生成部552、及びアプリケーション切替サービス部553を含む。通信部551は、Webサーバ102のWebアプリケーション510に含まれるロジック部512と通信する。具体的には、通信部551は、処理の実行要求、又は、アプリケーションの切替要求を、LAN110を介してWebアプリケーション510(ロジック部512)から受け付ける。
【0030】
通信部551は、Webアプリケーション510から処理の実行要求を受け付けた場合、当該実行要求をジョブ生成部552に渡す。ジョブ生成部552は、Webアプリケーション510からの実行要求に従った処理を実行するためのジョブを生成する。ジョブ生成部552は、生成したジョブを、ネイティブ機能モジュール530に含まれるジョブ実行部533に渡す。また、通信部551は、アプリケーションの切替要求を受け付けた場合には、当該切替要求をアプリケーション切替サービス部553に渡す。アプリケーション切替サービス部553は、Webアプリケーション510からの切替要求に従って、実行中のアプリケーションの切り替えを行うべきことを、アプリケーション切替管理部532に要求する。
【0031】
ネイティブ機能モジュール530は、ネイティブアプリケーション531、アプリケーション切替管理部532、ジョブ実行部533、メニュー画面設定部534、メニュー画面表示部535、及び組み込みメニュー機能部536を含む。ネイティブアプリケーション531は、Webサーバ102によって提供されるアプリケーションではなく、MFP101が内部に保持しているプログラムに基づいて提供される各種アプリケーションである。ネイティブアプリケーション531には、例えば、MFP101のプリンタ220による印刷処理、スキャナ221による読取処理、及び、ネットワークI/F218を介した送信処理をそれぞれ実行するアプリケーションが含まれる。ジョブ実行部533は、ネイティブアプリケーション531、又はサービスプロバイダ550のジョブ生成部552が生成したジョブを実行する。
【0032】
アプリケーション切替管理部532は、ネイティブアプリケーション531、組み込みメニュー機能部536、又はアプリケーション切替サービス部553からの要求に応じて、アプリケーションの切替処理を実行する。ここで、アプリケーションの切替処理とは、操作部219(液晶表示部301)に表示する画面のデータを提供するアプリケーションを切り替える処理に相当する。アプリケーション切替管理部532による切替処理によって、操作部219においてユーザに対して可視状態にある最前面に表示中のウィンドウが、異なるアプリケーションに関連するウィンドウに切り替わる。アプリケーション切替管理部532は、ネイティブアプリケーション531、組み込みメニュー機能部536、又はアプリケーション切替サービス部553からの要求において、切り替え先として指定されたアプリケーションに対して、その旨を示す情報を通知する。さらに、アプリケーション切替管理部532は、当該指定したアプリケーションによって生成されたウィンドウを、操作部219において最前面に表示する。
【0033】
メニュー画面設定部534は、操作部219に対するメニュー画面の表示に関連する設定を受け付けて、当該受け付けた設定をRAM213又はHDD214に保持する。本実施形態で、ユーザは、当該設定により、操作部219に表示されるメニュー画面のカスタマイズが可能である。具体的には、メニュー画面設定部534は、メニュー画面を操作部219に表示するためのアプリケーションとして、何れのアプリケーション(組み込みメニュー機能、又はWebアプリケーション)を使用するかに関する設定を受け付ける。メニュー画面表示部535は、メニューキー307がユーザ押下された場合、オートクリアを指示された場合、MFP101が電源オフ状態から起動した場合等に、メニュー画面設定部534が保持する設定に従って、メニュー画面を操作部219に表示する。なお、メニュー画面設定部534及びメニュー画面表示部535による具体的な処理については後述する。
【0034】
組み込みメニュー画面表示部535は、メニュー画面表示部535によって呼び出されるソフトウェアモジュールであり、予めMFP101に組み込まれたメニュー画面を操作部219に表示する。また、組み込みメニュー画面表示部535は、操作部219を介して入力されたユーザの指示に応じて、何れかのアプリケーションへのアプリケーション切替処理を、アプリケーション切替管理部532に要求する。なお、組み込みメニュー画面表示部535が表示する組み込みメニュー画面については後述する。
【0035】
(Webサーバ102のソフトウェア構成)
Webサーバ102は、Webアプリケーション510を含み、Webアプリケーション510は、プレゼンテーション部511及びロジック部512を含む。Webアプリケーション510は、プレゼンテーション部511及びロジック部512を使用して、MFP101のWebブラウザ540及びサービスプロバイダ550のそれぞれと、LAN110を介して通信可能である。プレゼンテーション部511は、Webブラウザ540の通信部541と通信し、MFP101からの要求に応じて、Webブラウザ540が操作部219に表示すべき操作画面のコンテンツを、MFP101に送信する。また、Webアプリケーション510(プレゼンテーション部511)は、Webブラウザ540によって操作部219に表示された操作画面を介して入力されたユーザの指示を、Webブラウザ540から受信する。
【0036】
Webアプリケーション510は、Webブラウザ540からユーザの指示を受信すると、当該指示の内容に従った処理をMFP101に実行させるための要求を生成し、生成した要求をMFP101に対して送信する。例えば、Webアプリケーション510は、MFP101のプリンタ220による印刷処理の実行、スキャナ221による読取処理の実行、ネットワークI/F218を介した送信処理の実行を、MFP101に対して要求する。
【0037】
Webアプリケーション510では、このようにMFP101に対して処理の実行を要求する場合、ロジック部512が、MFP101のサービスプロバイダ550に含まれる通信部551に、当該実行要求を送信する。これにより、ロジック部512は、通信部551を介して、ジョブ生成部552に対して、当該実行要求に従った処理を実行するためのジョブを生成するように要求する。また、Webアプリケーション510は、ジョブの生成に基づく処理の実行要求の他に、Webブラウザ540からの指示の内容に依存して、アプリケーションの切り替えをMFP101に対して要求する場合もある。
【0038】
図5には、1つのWebアプリケーション510のみを示しているものの、Webアプリケーション510は、それぞれ異なる画面のデータを提供する複数のWebアプリケーションを含みうる。本実施形態では、Webブラウザ540は、各Webアプリケーション、又は各Webアプリケーションにより提供される画面データを一意に特定するための特定情報として、後述するようにURLを使用する。
【0039】
<MFP101におけるメニュー機能の設定処理>
図6は、本実施形態に係るMFP101において実行される、MFP101が備える機能をユーザに選択させるメニュー画面を操作部219に表示するためのメニュー機能の設定処理の手順を示すフローチャートである。図6のフローチャートに示す各動作は、MFP101のCPU211が、制御プログラム(図5に示す各ソフトウェアモジュール)を実行することによって、MFP101上で実現される。具体的には、図6の各動作は、メニュー画面設定部534の機能によって実現される。まず、MFP101のユーザが、操作部219に対して特定の操作を行って、メニュー画面設定部534の機能を呼び出すことによって、図6の処理が開始される。
【0040】
S601で、CPU211は、メニュー画面の表示に関連する設定を行うための「メニュー機能設定画面」を操作部219に表示して、設定情報の入力を受け付ける。ここで、図7を参照して、S601において操作部219に表示される画面の一例(画面700)について詳しく説明する。
【0041】
画面700において、ボタン701は、メニュー画面として組み込みメニュー画面を使用すべきことを設定するためのボタンである。一方、ボタン702は、メニュー画面として、ネットワーク(LAN110)上の何れかのWebサーバ(例えば、Webサーバ102)で動作している何れかのWebアプリケーションによって提供される画面を使用すべきことを設定するためのボタンである。CPU211は、ボタン701、702の何れかのみが選択された状態となるように、操作部219の表示を制御する。なお、CPU211は、例えばボタン701が予め選択された状態として表示とし、即ち、組み込みメニュー画面を使用することがデフォルトで選択された状態とする。
【0042】
テキスト入力欄703は、メニュー画面として、Webアプリケーションによって提供される画面を使用する場合に、当該Webアプリケーションに対応するURLが入力される。なお、テキスト入力欄703は、ボタン702が選択されている状態で入力が有効化され、ボタン701が選択されている状態では入力が無効化される。ユーザは、テキスト入力欄703に入力するURLによって、メニュー画面の画面データをMFP101に提供するWebアプリケーションを指定する。
【0043】
CPU211は、テキスト入力欄703の領域がユーザによって選択されると、ソフトキーボード画面(図示せず)を表示して、ユーザが当該入力欄にURLを入力できるようにする。ユーザが当該ソフトキーボードを用いてURLの文字列を入力すると、CPU211は、入力された文字列をテキスト入力欄703に表示する。OKボタン704は、設定を有効化して、メニュー画面設定部534で保持するためのボタンである。キャンセルボタン705は、画面700を用いた設定を有効化することなく、元の画面に操作部219の表示を戻すためのボタンである。
【0044】
このように、S601で、CPU211は、ボタン701を介して、メニュー画面の画面データとして、MFP101に予め組み込まれた画面データの指定を受け付ける。あるいは、CPU211は、ボタン702及びテキスト入力欄703を介して、メニュー画面の画面データとして、MFP101に予め組み込まれた画面データに代えて、Webサーバ(Webアプリケーション)によって提供される画面データの指定を受け付ける。従って、S601でCPU211は受付手段として機能する。
【0045】
次に、S602で、CPU211は、OKボタン704の押下を検知したか否かを判定する。CPU211は、OKボタン704の押下を検知していないと判定する限り、S601の判定処理を繰り返すことによって、OKボタン704が押下されるまで待機する。一方で、OKボタン704の押下を検知したと判定した場合には、CPU211は、処理をS603に進める。
【0046】
S603で、CPU211は、画面700を介してWebアプリケーションを使用すべきことが指定されているか否かを判定する。Webアプリケーションを使用すべきことが指定されていないと判定した場合(即ち、ボタン701が選択されている場合)、処理をS607に進める。一方で、Webアプリケーションを使用すべきことが指定されていると判定した場合(即ち、ボタン702が選択されている場合)、処理をS604に進める。
【0047】
S604で、CPU211は、テキスト入力欄703で指定されているURLによって特定されるコンテンツを、当該URLによって特定されるWebサーバ(ここでは、Webサーバ102とする。)から、LAN110を介して取得する。さらに、CPU211は、取得したコンテンツの内容を解析する。具体的には、CPU211は、Webサーバ102とHTTPプロトコルによって通信して、GETメソッドを使用して、当該URLが示すコンテンツ(画面データに相当するHTMLファイル)を取得する。さらに、CPU211は、取得したHTMLファイルの記述を解析する。
【0048】
その後、S605で、CPU211は、S604で取得したHTMLファイルの解析結果に基づいて、URLの指定に基づいて指定されたWebアプリケーションがメニュー機能を有するか否かを判定する。即ち、取得したHTMLファイルに基づく操作画面をメニュー画面として操作部219に表示できるか否かを判定する。
【0049】
ここで、図8は、S604においてWebサーバから取得されるHTMLファイルの一例(800)である。HTMLファイル800に含まれるヘッダ810は、当該HTMLファイルを生成したWebアプリケーションがメニュー機能を有すること(即ち、当該Webアプリケーションによってメニュー画面の画面データが提供されたこと)を表している。WebサーバのWebアプリケーションは、メニュー機能を有する場合には、ヘッダ810を含むHTMLファイルを生成及び送信する一方で、メニュー機能を有さない場合には、ヘッダ810を含まないHTMLファイルを生成及び送信する。
【0050】
S605で、CPU211は、S604において取得されたHTMLファイルに、当該HTMLファイルがメニュー画面の画面データであることを示す情報であるヘッダ810が含まれるか否かによって、S605の判定処理を実行する。CPU211は、指定されたWebアプリケーションがメニュー機能を有さないと判定した場合、処理をS606へ進める。
【0051】
S606で、CPU211は、S601で指定されたWebアプリケーションを、メニュー機能を提供するアプリケーションとして設定することを禁止する。即ち、CPU211は、指定されたWebアプリケーションの画面データをメニュー画面の画面データとして使用することを禁止する。ここで、CPU211は、指定されたWebアプリケーションはメニュー機能を有さないために、メニュー画面を提供するためのアプリケーションとして設定することが不可能であることをユーザに通知するための画面(不図示)を、操作部219に表示する。その後、CPU211は、処理をS602に戻す。これにより、CPU211は、S602で、Webアプリケーション(の画面データ)について、別のURLを用いた新たな指定を受け付けて、上記の処理を再び実行する。
【0052】
一方で、S605で、CPU211は、指定されたWebアプリケーションがメニュー機能を有するアプリケーションであると判定した場合、処理をS607に進める。S607で、CPU211は、S601において画面700を用いて設定された内容を、メニュー画面設定部534が保持する設定情報として確定して、操作部219に表示している「メニュー機能設定画面」(画面700)を閉じる。S607では、組み込みメニュー画面及びWebアプリケーションによるメニュー画面の何れを使用するかに関する設定情報が、メニュー画面設定部534によって保持される設定情報として確定される。また、Webアプリケーションによるメニュー画面を使用することが設定された場合には、さらに、当該Webアプリケーションを特定するURLに関する情報が、メニュー画面設定部534によって保持される設定情報として確定される。なお、この設定情報は、メニュー画面設定部534が保持する情報としてRAM213又はHDD214に格納される。
【0053】
<MFP101におけるメニュー画面の表示処理>
次に、操作部219に設けられたメニューキー307が押下された場合に、操作部219にメニュー画面を表示するための表示処理について説明する。図9は、本実施形態に係るMFP101において、メニューキー307が押下された場合に実行される、メニュー画面の表示処理の手順を示すフローチャートである。図9のフローチャートに示す各動作は、MFP101のCPU211が、制御プログラム(図5に示す各ソフトウェアモジュール)を実行することによって、MFP101上で実現される。具体的には、図6の各動作は、メニュー画面表示部535の機能によって実現される。
【0054】
S901で、CPU211は、操作部219から操作部I/F215を介して出力される情報に基づいて、メニューキー307の押下を検知したか否かを判定する。CPU211は、メニューキー307の押下を検知していないと判定する限り、S901の判定処理を繰り返す。一方、S901で、CPU211は、メニューキー307の押下を検知した場合に、処理をS902に進める。S902で、CPU211は、S607において確定され、メニュー画面設定部534がRAM213に保持している設定情報を参照し、処理をS903に進める。
【0055】
S903で、CPU211は、S902で参照した設定情報に基づいて、Webアプリケーションを使用すべきこと(即ち、Webアプリケーションによって提供される画面データをメニュー画面の表示に使用すべきこと)が設定されているか否かを判定する。CPU211は、Webアプリケーションを使用すべきことが設定されていないと判定した場合(即ち、組み込みメニュー画面を使用すべきことが設定されている場合)、処理をS907に進める。一方で、CPU211は、Webアプリケーションを使用すべきことが設定されていると判定した場合、処理をS904に進める。
【0056】
S904で、CPU211は、S902で参照した設定情報において指定されているURLによって特定されるWebアプリケーションのコンテンツを、当該URLによって特定されるWebサーバ(ここではWebサーバ102とする。)から取得する。さらに、S905で、CPU211は、Webサーバ102からコンテンツが正常に取得されたか否かを判定する。CPU211は、通信エラー等に起因して、コンテンツが正常に取得されていないと判定した場合、処理をS907に進める。一方で、CPU211は、Webサーバ102からコンテンツが正常に取得されたと判定した場合、処理をS906に進める。
【0057】
S906で、CPU211は、Webブラウザ540によって、取得されたコンテンツ(HTMLデータ)を解析する。CPU211は、解析したHTMLデータの記述に基づいて、必要に応じて、画像ファイル、スクリプトファイル等をさらにWebサーバ102から取得する。その後、CPU211は、Webブラウザ540によって、取得したHTMLデータの記述に従ってメニュー画面を操作部219に表示する。
【0058】
図10は、S906において操作部219に表示されるメニュー画面の一例(画面1000)を示している。画面1000は、S904で取得されたHTMLデータの記述に従って、Webブラウザ540によって操作部219に表示される。領域1000は、操作部219(液晶表示部301)の表示領域を示している。図10に示すように、画面1000は、領域1000内に、実行すべき機能を選択するための機能選択ボタン1001〜1004を含む。機能選択ボタン1001〜1004の何れかがユーザによってタッチパネルシート302を用いて選択されると、操作部219は、そのことを示す入力情報をCPU211に送信する。CPU211は、当該入力情報を、Webブラウザ540によって、Webアプリケーション510に送信する。
【0059】
Webアプリケーション510は、MFP101のサービスプロバイダ550に含まれるアプリケーション切替サービス部553に対して、アプリケーションの切替要求を発行する。ここで、Webアプリケーション510は、Webブラウザ540から受信した入力情報に対応するアプリケーションに、使用すべきアプリケーションを切り替えるための切替要求を、アプリケーション切替サービス部553に発行する。アプリケーション切替サービス部553は、Webアプリケーション510からLAN110を介して当該切替要求を受信すると、アプリケーション切替管理部532に対し、受信した当該切替要求に従って、アプリケーションの切り替えを行うべきことを要求する。アプリケーション切替管理部532は、当該要求に従って、アプリケーションの切替処理を実行する。このようにして、MFP101は、Webアプリケーション510によってメニュー機能が提供される。
【0060】
一方、S903又はS905からS907に処理を進めた場合、CPU211は、組み込みメニュー表示部535によって、MFP101に予め組み込まれている組み込みメニュー画面を操作部219に表示する。図11は、S907において操作部219に表示される組み込みメニュー画面の一例(画面1100)を示している。画面1100に含まれる機能選択ボタン1101〜1105は、使用すべき機能(アプリケーション)を選択するためのボタンである。機能選択ボタン1101〜1105の何れかが、ユーザによってタッチパネルシート302を用いて押下されると、操作部219は、そのことを示す入力情報をCPU211に通知する。CPU211は、アプリケーション切替管理部532によって、実行中のアプリケーションを、メニュー画面を表示するアプリケーションから、当該入力情報に対応するアプリケーションに切り替える。これにより、画面1100を介して選択された機能(アプリケーション)が、MFP101上で実行される。
【0061】
このように、CPU211は、組み込みメニュー表示部535又はWebブラウザ540の機能により、MFP101に予め組み込まれた画面データに基づく操作画面、又は、当該予め組み込まれた操作画面に代えて、指定されたWebアプリケーション510による操作画面を、メニュー画面として操作部219に表示する。ただし、CPU211は、Webアプリケーション510を使用する場合、S601で指定されるWebアプリケーション510のうち、メニュー画面を提供すると判定されたアプリケーションによる操作画面のみを、メニュー画面として表示する。
【0062】
なお、メニューキー307については、操作部219に設けられたハードキーとして実現する場合について説明してきたが、操作部219(液晶表示部301)に表示されるソフトキーとして実現してもよい。また、メニュー画面については、メニューキー307が押下されたタイミングで操作部219に表示される場合について説明してきたが、メニュー画面は、MFP101が電源オフ状態から起動したタイミング、ユーザによる操作部219に対する操作が一定時間行われてないことが検知されたタイミング等に、表示されてもよい。
【0063】
以上説明したように、本実施形態では、MFPは、MFPに予め組み込まれた画面データ、又はそれに代えて、操作画面の画面データを提供する外部のWebサーバの画面データを、メニュー画面の画面データとして使用する。具体的には、MFPは、メニュー画面の画面データとして、MFPに予め組み込まれた画面データ、又はそれに代えて、外部のWebサーバから提供される画面データの指定を受け付ける。Webサーバから提供される画面データが指定された場合には、当該画面データをWebサーバから取得して、取得した画面データに基づく操作画面をメニュー画面として操作部に表示可能か否かを判定する。MFPは、Webサーバから提供される画面データに基づく操作画面をメニュー画面として表示できないと判定すると、当該画面データの使用を禁止して、新たな画面データの指定を受け付ける。
【0064】
このようにして、メニュー機能を有さないWebアプリケーションを、メニュー画面を提供するアプリケーションとしてユーザが設定してしまうことを防ぐことができる。その結果、MFPにおいて、メニュー画面のカスタマイズ機能をユーザに提供することが可能となる。
【0065】
[第2の実施形態]
第1の実施形態では、メニュー機能の設定の際に、メニュー画面を提供するアプリケーションとしてWebアプリケーションを指定する場合、図7に示すように、当該Webアプリケーションを特定するための特定情報(URL)をユーザが直接的に入力していた。これに対して、第2の実施形態では、Webブラウザ540における「お気に入り」としてMFP101に登録したURLから、Webアプリケーションを特定するためのURLを選択可能にする。これにより、Webアプリケーションを特定するためのURLをユーザが入力する手間を軽減する。以下では、説明の簡略化のため、第1の実施形態と共通する部分については可能な限り説明を省略する。
【0066】
本実施形態において、CPU211は、Webサーバ102のWebアプリケーション510からコンテンツを提供された場合に、ユーザの指示に応じて、当該Webアプリケーションを特定するURLを「お気に入り」として登録することができる。登録された情報は、お気に入り管理部544によって、管理テーブルとしてRAM213又はHDD214に保持される。ユーザによるURLの登録を受け付けると、CPU211は、当該URLによって特定されるWebアプリケーション510(のコンテンツ)を、Webサーバ102から取得する。CPU211は、取得したコンテンツに基づく操作画面を、操作部219にメニュー画面として表示できるか否かを、第1の実施形態と同様に判定する。CPU211は、当該判定結果を示す情報を、お気に入り管理部544が保持する管理テーブルに、URLに対応付けて含める。
【0067】
ここで、図12は、お気に入り管理部544が管理する管理テーブルの一例を示す図である。図12の各行は、それぞれ1件分のお気に入り情報に相当する。列1201は、お気に入り情報の名称であり、例えば、登録されたURLに対応するコンテンツに含まれるヘッダ(TITLE情報)が登録されている。列1202は、お気に入りとして登録されたURLである。列1203は、対応するURLによって特定されるWebアプリケーションがメニュー機能を有するか否かを示すフラグ情報であり、上述の、取得したコンテンツに基づく判定結果を示す情報に相当する。図12においては、「TRUE」は、対応するWebアプリケーションがメニュー機能を有すること、「FALSE」は、対応するWebアプリケーションがメニュー機能を有さないことを示している。
【0068】
<MFP101におけるメニュー機能の設定処理>
図13は、本実施形態に係るMFP101において実行される、MFP101が備える機能をユーザに選択させるメニュー画面を操作部219に表示するためのメニュー機能の設定処理の手順を示すフローチャートである。第1の実施形態の図6と同様、図13のフローチャートに示す各動作は、MFP101のCPU211が、制御プログラム(図5に示す各ソフトウェアモジュール)を実行することによって、MFP101上で実現される。具体的には、図6の各動作は、メニュー画面設定部534の機能によって実現される。まず、MFP101のユーザが、操作部219に対して特定の操作を行って、メニュー画面設定部534の機能を呼び出すことによって、図6の処理が開始される。
【0069】
S1301で、CPU211は、お気に入り管理部544が管理する管理テーブルから、1件分のお気に入り情報を読み出す。次に、S1302で、CPU211は、読み出したお気に入り情報に含まれるURLによって特定されるWebアプリケーションが、メニュー機能を有するか否かを判定する。ここでは、図12に示す管理テーブルの列1203のフラグ情報が「TRUE」であるか否かを判定する。CPU211は、列1203のフラグ情報が「TRUE」である場合、対応するWebアプリケーションがメニュー機能を有すると判定し、処理をS1303に進める。一方で、CPU211は、列1203のフラグ情報が「TRUE」ではない場合、対応するWebアプリケーションがメニュー機能を有さないと判定し、処理をS1304に進める。
【0070】
S1303で、CPU211は、S1301で読み出したお気に入り情報を、メニュー画面設定部534が保持するメニュー候補リストに追加して、処理をS1304に進める。S1304で、CPU211は、お気に入り管理部544が管理する管理テーブルに含まれる全てのお気に入り情報の読み出しが完了したか否かを判定する。CPU211は、全てのお気に入り情報の読み出しが完了していないと判定した場合、処理をS1301に戻し、次のお気に入り情報についてS1301〜S1303の処理を実行する。一方で、CPU211は、全てのお気に入り情報の読み出しが完了したと判定した場合、処理をS1305に進める。
【0071】
S1305で、CPU211は、メニュー候補リストに基づくメニュー機能の設定画面を操作部219に表示する。図14は、S1305において操作部219に表示される設定画面の一例(画面1400)である。図14に示すように、画面1400には、選択肢1401〜1403が提示されている。選択肢1401は、組み込みメニュー画面に対応し、選択肢1402、1403は、メニュー画面設定部534が保持するメニュー候補リストに含まれるお気に入り情報に対応する。このようにして、CPU211は、MFP101に予め組み込まれた画面データと、お気に入り情報として登録されたURLによって特定される画面データのうちで、メニュー画面を操作部219に表示可能な画面データとを選択肢としてユーザに提示する。画面1400を介したユーザの選択、及びOKボタン1404の押下に応じて、CPU211は、メニュー機能として使用するアプリケーションを設定、即ち、メニュー画面を表示するために使用する画面データを選択する。
【0072】
以上説明したように、本実施形態では、MFPは、お気に入り情報としてMFPに登録されたURLによって特定されるWebアプリケーションのうち、メニュー機能を有するアプリケーションを自動的に候補として抽出して、ユーザに提示する。これにより、ユーザは、提示された候補の中からメニュー画面を表示するために使用するアプリケーションを選択することができるため、第1の実施形態よりも、メニュー画面のカスタマイズを容易に行うことができる。また、第1の実施形態と同様、メニュー機能を有さないWebアプリケーションを、メニュー画面を提供するアプリケーションとしてユーザが設定してしまうことを防ぐことができる。
【0073】
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、MFP等の情報処理装置及びその制御方法、並びにプログラムに関するものである。
【背景技術】
【0002】
PC等の情報処理装置では、ネットワーク上のWebサーバ等のサーバ装置から提供されるデータに基づいて、当該情報処理装置の表示部に操作画面を表示する技術が一般に知られている。例えば、情報処理装置のWebブラウザが、表示部に操作画面を表示するために必要なコンテンツの要求(リクエスト)を、ネットワーク上のWebサーバに送信する。当該要求を受信したWebサーバ上のWebアプリケーションは、Webブラウザによって操作画面を表示させるためのコンテンツを情報処理装置に送信する。当該コンテンツには、例えば、HTMLデータ、画像ファイル、スクリプトファイルが含まれる。情報処理装置のWebブラウザは、受信したコンテンツを解析し、解析したコンテンツの記述に基づく操作画面を、当該情報処理装置の表示部に表示する。さらに、Webブラウザは、表示した操作画面を介した入力によりユーザの指示を受け付けると、入力された当該指示をWebサーバに通知する。この通知を受けたWebサーバ上のWebアプリケーションは、通知された指示に従って処理を実行する。
【0003】
近年では、後述するように、スキャナ、プリンタ等を備えた複合機(MFP:Multi Function Peripheral)の中にも、上述のようなWebブラウザを備えているものが存在する。このようなMFPは、上述した手順でWebサーバから提供されるコンテンツに基づく操作画面を、当該MFPのWebブラウザによって表示部に表示する。さらに、MFPは、表示した操作画面を介して、ユーザからの各種指示を受け付ける。
【0004】
例えば、特許文献1では、MFPが備える各機能をユーザに利用させるための操作画面のデータ(メニューデータ)を、WebサーバがMFPに提供する技術が提案されている。MFPのユーザは、WebブラウザによってUIパネル上に表示された操作画面を介して、MFPに対する指示を入力する。入力された指示は、MFPのWebブラウザによってWebサーバに通知される。当該通知を受けたWebサーバは、通知された指示の内容に従った処理をMFPに実行させるために、MFPを制御するためのデータ(デバイス制御データ)を、処理の実行要求として、SOAP(Simple Object Access Protocol)等の通信プロトコルでMFPに送信する。当該実行要求を受けたMFPは、要求された処理を実行する。特許文献1によれば、WebサーバとMFPとの間でこのような処理を行うことによって、MFPを操作するための全メニューデータをMFP内で保持しておく必要がなくなる。また、メニューデータを変更する場合には、MFPではなくWebサーバ上で容易に行うことが可能になる。
【0005】
また、最近のMFPは、使用すべき機能をユーザが選択するためのアイコン等の一覧をメニュー画面(機能選択画面)として表示して、表示したアイコンの中からユーザが所望の機能を選択できるようにしている場合がある。この場合、MFPは、通常、当該MFPが備える機能をユーザに選択させるメニュー画面を表示するための「メニュー機能」を、通常、当該MFP上のアプリケーションにより実現する。(以下では、「メニュー機能」をMFP上で実現するためのアプリケーションを「メニューアプリケーション」とも称する。)一般に、MFPは、ユーザが簡易な操作でメニューアプリケーションを呼び出して、メニュー画面を利用できるよう、メニューアプリケーションを呼び出すための専用のキー(ボタン)を「メニューキー」として操作部に備えている。このメニューキーは、MFPの表示部にメニュー画面を表示するためのメニュー機能に関連付けられている。MFPは、メニューキーがユーザによって押下された場合、又は電源オフ状態から起動した場合等に、メニューアプリケーションによって提供されるメニュー画面を表示部に表示する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−127503号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
最近のMFPは、多くの機能を有し、MFPが使用される組織等に依存して様々な方法でそれらの機能が使用される傾向にある。このため、MFPでは、ユーザのニーズに応じて、操作画面の変更(カスタマイズ)を行えることが望ましい。特に、上述のメニュー画面は、MFPの起動時等にも利用され、最も利用頻度が高くなるため、カスタマイズ可能であることがユーザにとって非常に望ましいであろう。
【0008】
しかし、上述のように外部のWebサーバから提供されるコンテンツに基づく操作画面を表示可能なMFPにおいては、Webサーバから提供されるコンテンツをユーザが指定して、メニュー画面を自由にカスタマイズする機能は提供されていなかった。これは、例えば、メニュー画面を提供するアプリケーションとして、WebサーバのWebアプリケーションをユーザが設定する場合、実際にはメニュー画面のコンテンツを提供しえないWebアプリケーションを設定してしまう可能性があるためである。このようにメニュー画面を提供しえないWebアプリケーションをユーザが設定してしまうと、MFPに設けられたメニューキーの押下時又はMFPの起動時等に、メニュー画面ではなくそれ以外の画面がユーザの意図に反して表示されてしまうおそれがある。その結果、ユーザは、MFPの表示部に表示された画面を介して、使用する機能を選択することができず、また、他の画面に画面表示を遷移させることすらできなくなるおそれがある。
【0009】
本発明は、上述の問題に鑑みてなされたものであり、サーバ装置から提供される画面データに基づく操作画面を表示可能な情報処理装置において、機能の選択を受け付けるためのメニュー画面をカスタマイズ可能にする技術を提供することを目的としている。
【課題を解決するための手段】
【0010】
本発明は、例えば、情報処理装置として実現できる。情報処理装置は、操作画面の画面データを提供するサーバ装置とネットワークを介して通信可能な情報処理装置であって、情報処理装置が備える機能のうちで使用する機能の選択を受け付けるためのメニュー画面の画面データとして、サーバ装置によって提供される画面データの指定を受け付ける受付手段と、指定された画面データをサーバ装置から取得する取得手段と、情報処理装置が備える表示部に、取得手段によって取得された画面データに基づく操作画面をメニュー画面として表示できるか否かを判定する判定手段と、判定手段によって、取得された画面データに基づく操作画面を表示部にメニュー画面として表示できないと判定されると、指定された画面データをメニュー画面の画面データとして使用することを禁止する禁止手段とを備えることを特徴とする。
【0011】
本発明は、例えば、情報処理装置として実現できる。情報処理装置は、操作画面の画面データを提供するサーバ装置とネットワークを介して通信可能な情報処理装置であって、サーバ装置から提供される操作画面の画面データを一意に特定するための特定情報の登録を受け付ける受付手段と、登録された特定情報によって特定される画面データをサーバ装置から取得する取得手段と、情報処理装置が備える表示部に、取得手段によって取得された画面データに基づく操作画面を、情報処理装置が備える機能のうちで使用する機能の選択を受け付けるためのメニュー画面として表示できるか否かを判定する判定手段と、情報処理装置に予め組み込まれた画面データと、登録された特定情報によって特定される画面データのうちで、取得された画面データに基づく操作画面を表示部にメニュー画面として表示できると判定手段によって判定された画面データとから、メニュー画面を表示するために使用する画面データを選択する選択手段とを備えることを特徴とする。
【発明の効果】
【0012】
本発明によれば、サーバ装置から提供される画面データに基づく操作画面を表示可能な情報処理装置において、機能の選択を受け付けるためのメニュー画面をカスタマイズ可能にする技術を提供できる。また、メニュー画面を提供するアプリケーションとして、メニュー画面を提供しえないアプリケーションをユーザが設定することを防ぐことが可能になる。
【図面の簡単な説明】
【0013】
【図1】本発明の第1の実施形態に係る情報処理システム100の構成の全体図である。
【図2】本発明の第1の実施形態に係るMFP101の構成を示すブロック図である。
【図3】本発明の第1の実施形態に係るMFP101の操作部219の外観を示す図である。
【図4】本発明の第1の実施形態に係るWebサーバ102の構成を示すブロック図である。
【図5】本発明の第1の実施形態に係る情報処理システム100のソフトウェア構成を示す図である。
【図6】本発明の第1の実施形態に係るMFP101における、メニュー機能の設定手順を示すフローチャートである。
【図7】本発明の第1の実施形態におけるメニュー機能の設定画面の一例を示す図である。
【図8】本発明の第1の実施形態におけるメニュー画面の画面データ(HTMLファイル)の一例を示す図である。
【図9】本発明の第1の実施形態に係るMFP101における、メニュー画面の表示手順を示すフローチャートである。
【図10】本発明の第1の実施形態におけるWebアプリケーション510が提供するメニュー画面の一例を示す図である。
【図11】本発明の第1の実施形態における組み込みメニュー機能部536が提供するメニュー画面の一例を示す図である。
【図12】本発明の第2の実施形態における、お気に入り管理部544が管理する管理テーブルの一例を示す図である。
【図13】本発明の第2の実施形態に係るMFP101における、メニュー機能の設定処理の手順を示すフローチャートである。
【図14】本発明の第2の実施形態におけるメニュー機能の設定画面の一例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【0015】
[第1の実施形態]
<情報処理システム100のハードウェア構成>
まず、本発明に係る第1の実施形態について説明する。図1は、第1の実施形態における情報処理システム100全体の概略図である。LAN110には、MFP101及びWebサーバ102が相互に通信可能に接続されている。図1には、それぞれ1台のMFP101及びWebサーバ102が、ネットワークの一例であるLAN110に接続された例を示しているが、何台のMFP101及びWebサーバ102がLAN110に接続されていてもよい。また、MFP101とWebサーバ102は、インターネットを介して相互に通信可能に接続されていてもよい。なお、本実施形態において、Webサーバ102は、操作画面の画面データを提供するサーバ装置の一例であり、MFP101は、当該サーバ装置とネットワークを介して通信可能な情報処理装置の一例である。
【0016】
(MFP101の構成)
図2は、MFP101の構成を示すブロック図である。MFP101は、MFP101全体の動作を制御する制御部210と、操作部219と、プリンタ220と、スキャナ221といったデバイスを備える。MFP101はCPU211を備え、CPU211は、ROM212に記憶された制御プログラムをRAM213に読み出して、印刷制御、読取制御、送信制御等の各種制御を行う。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD214には、画像データや各種プログラム、或いは各種情報テーブルが格納される。
【0017】
操作部I/F215は、操作部219と制御部210とを接続するインタフェースである。操作部219は、図3を用いて後述するように、タッチパネル機能を有する液晶表示部やキーボード等を備える。液晶表示部は、各種の情報を表示する表示部として機能する。また、操作部219は、ユーザがMFP101に各種の情報及び指示を入力するためのユーザインタフェース(UI)として機能する。
【0018】
MFP101は、後述するように、制御プログラムの実行によって実現される機能の1つとして、Webブラウザを備えている。MFP101のWebブラウザは、Webサーバ102から受信されるHTMLデータ等のコンテンツ(画面データ)を解析し、解析したコンテンツの記述に基づく操作画面を操作部219の液晶表示部に表示する。
【0019】
プリンタI/F216は、プリンタ220と制御部210とを接続するインタフェースである。プリンタ220で印刷すべき画像データは、プリンタI/F216を介して制御部210から転送される。プリンタ220は、転送された画像データに基づいて、記録媒体上に画像を印刷する。スキャナI/F217は、スキャナ221と制御部210とを接続するインタフェースである。スキャナ221は、原稿の画像を読み取って画像データを生成し、生成した画像データを、スキャナI/F217を介して制御部210に入力する。
【0020】
ネットワークI/F218は、制御部210(MFP101)をLAN110に接続するインタフェースである。ネットワークI/F218は、LAN110上の外部装置(例えば、Webサーバ102)に画像データや各種情報を送信したり、LAN110上の外部装置から各種情報を受信したりする。
【0021】
(操作部219の構成)
図3は、MFP101に設けられた操作部219の外観を示す図である。操作部219は、LCD及び当該LCD上に貼り付けられたタッチパネルシート302から成る液晶表示部301と、各種のハードキー303〜308とを備える。液晶表示部301には、後述するネイティブ機能モジュール及びWebブラウザによって、操作画面(メニュー画面を含む)及びソフトキーが表示される。液晶表示部301にソフトキーが表示されている間に、ユーザがタッチパネルシート302を介して何れかのキーを押下すると、液晶表示部301は、タッチパネルシート302上で押下された位置を示す位置情報を、CPU211に伝える。
【0022】
操作部219は、各種のハードキー303〜308として、スタートキー303、ストップキー304、リセットキー305、ガイドキー306、メニューキー307、及び数値キー308を備える。スタートキー303は、MFP101における処理の開始を指示するためのキーである。スタートキー303の中央部には、緑と赤の2色のLEDを有する2色LED表示部309が設けられている。2色LED表示部309は、スタートキー303が使用可能な状態にあるか否かを、点灯するLEDの色によって表す。ストップキー304は、実行中の動作を停止するためのキーである。リセットキー305は設定を初期化する場合に用いられるキーである。ガイドキー306は、MFP101の使用方法を液晶表示部301に表示させるためのキーである。
【0023】
メニューキー307は、MFP101が備える機能のうちで使用すべき機能を選択するためのメニュー画面(機能選択画面)を、液晶表示部301に表示するためのキーである。このメニュー画面は、MFP101が電源オフ状態から起動した際にも表示され、トップメニュー画面に相当する。なお、メニューキー307が押下された場合のMFP101の動作については後述する。数値キー308は、数値を入力するためのキーである。
【0024】
(Webサーバ102の構成)
図4は、Webサーバ102の構成を示すブロック図である。CPU411を含む制御部410は、サーバ102全体の動作を制御する。CPU411は、ROM412に記憶された制御プログラムをRAM413に読み出して、各種の制御を実行する。RAM413は、CPU411の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD414には、画像データや各種プログラムが格納される。ネットワークI/F415は、制御部410(Webサーバ102)をLAN110に接続するインタフェースである。ネットワークI/F415は、LAN110上の他の装置との間で各種情報を送受信する。
【0025】
<情報処理システム100のソフトウェア構成>
図5は、情報処理システム100全体のソフトウェア構成を示す図である。図5に示す各機能部は、MFP101のCPU211、及びWebサーバ102のCPU411が制御プログラムをそれぞれ実行することによって、MFP101及びWebサーバ102上で実現される。MFP101は、CPU211による制御プログラムの実行によって実現される機能部として、ネイティブ機能モジュール530と、Webブラウザ540と、サービスプロバイダ550とを含む。一方、Webサーバ102は、CPU411による制御プログラムの実行によって実現される機能部として、Webアプリケーション510を含む。なお、本実施形態において、Webブラウザ540及びメニュー画面表示部535は、表示制御手段として機能する。
【0026】
(MFP101のソフトウェア構成)
Webブラウザ540は、通信部541、解析部542、画面表示部543、及びお気に入り管理部544を含む。通信部541は、Webサーバ102のWebアプリケーション510に含まれるプレゼンテーション部511と、HTTPプロトコルに従って通信する。具体的には、通信部541は、Webブラウザ540によって操作部219(液晶表示部301)に表示すべき操作画面のコンテンツの要求(リクエスト)を、Webアプリケーション510に送信する。通信部541は、当該要求をHTTPリクエストとしてWebアプリケーション510に送信し、そのレスポンスとして、操作画面のコンテンツをWebアプリケーション510から受信する。また、Webアプリケーション510から受信されたコンテンツに基づいてWebブラウザ540が表示した操作画面を介して、ユーザが指示(情報)を入力すると、通信部541は、入力された当該指示を、Webアプリケーション510に通知する。
【0027】
解析部542は、Webアプリケーション510から受信した操作画面のコンテンツを解析する。当該コンテンツには、HTMLファイル、画像ファイル、スクリプトファイル等が含まれる。これらのファイルには、操作部219に表示すべき操作画面の内容を示す記述が含まれる。画面表示部543は、解析部542によるコンテンツの解析結果に基づいて、操作部219の液晶表示部301に操作画面を表示する。
【0028】
お気に入り管理部544は、Webサーバ102、Webアプリケーション510、操作画面のコンテンツ等を特定するためのURLを、ユーザの指示に従って、「お気に入り」として登録する。「お気に入り」には、任意の名称をURLに対応付けて登録することが可能である。一般に、「お気に入り」は、「ブックマーク」又は「インターネットショートカット」とも称される。お気に入り管理部544は、URL及び任意の名称を含むお気に入り情報を、管理テーブルとしてRAM213又はHDD214に保持する。また、お気に入り管理部544は、他の機能部の要求に応じて、当該管理テーブルに含まれる情報を提供する。
【0029】
サービスプロバイダ550は、通信部551、ジョブ生成部552、及びアプリケーション切替サービス部553を含む。通信部551は、Webサーバ102のWebアプリケーション510に含まれるロジック部512と通信する。具体的には、通信部551は、処理の実行要求、又は、アプリケーションの切替要求を、LAN110を介してWebアプリケーション510(ロジック部512)から受け付ける。
【0030】
通信部551は、Webアプリケーション510から処理の実行要求を受け付けた場合、当該実行要求をジョブ生成部552に渡す。ジョブ生成部552は、Webアプリケーション510からの実行要求に従った処理を実行するためのジョブを生成する。ジョブ生成部552は、生成したジョブを、ネイティブ機能モジュール530に含まれるジョブ実行部533に渡す。また、通信部551は、アプリケーションの切替要求を受け付けた場合には、当該切替要求をアプリケーション切替サービス部553に渡す。アプリケーション切替サービス部553は、Webアプリケーション510からの切替要求に従って、実行中のアプリケーションの切り替えを行うべきことを、アプリケーション切替管理部532に要求する。
【0031】
ネイティブ機能モジュール530は、ネイティブアプリケーション531、アプリケーション切替管理部532、ジョブ実行部533、メニュー画面設定部534、メニュー画面表示部535、及び組み込みメニュー機能部536を含む。ネイティブアプリケーション531は、Webサーバ102によって提供されるアプリケーションではなく、MFP101が内部に保持しているプログラムに基づいて提供される各種アプリケーションである。ネイティブアプリケーション531には、例えば、MFP101のプリンタ220による印刷処理、スキャナ221による読取処理、及び、ネットワークI/F218を介した送信処理をそれぞれ実行するアプリケーションが含まれる。ジョブ実行部533は、ネイティブアプリケーション531、又はサービスプロバイダ550のジョブ生成部552が生成したジョブを実行する。
【0032】
アプリケーション切替管理部532は、ネイティブアプリケーション531、組み込みメニュー機能部536、又はアプリケーション切替サービス部553からの要求に応じて、アプリケーションの切替処理を実行する。ここで、アプリケーションの切替処理とは、操作部219(液晶表示部301)に表示する画面のデータを提供するアプリケーションを切り替える処理に相当する。アプリケーション切替管理部532による切替処理によって、操作部219においてユーザに対して可視状態にある最前面に表示中のウィンドウが、異なるアプリケーションに関連するウィンドウに切り替わる。アプリケーション切替管理部532は、ネイティブアプリケーション531、組み込みメニュー機能部536、又はアプリケーション切替サービス部553からの要求において、切り替え先として指定されたアプリケーションに対して、その旨を示す情報を通知する。さらに、アプリケーション切替管理部532は、当該指定したアプリケーションによって生成されたウィンドウを、操作部219において最前面に表示する。
【0033】
メニュー画面設定部534は、操作部219に対するメニュー画面の表示に関連する設定を受け付けて、当該受け付けた設定をRAM213又はHDD214に保持する。本実施形態で、ユーザは、当該設定により、操作部219に表示されるメニュー画面のカスタマイズが可能である。具体的には、メニュー画面設定部534は、メニュー画面を操作部219に表示するためのアプリケーションとして、何れのアプリケーション(組み込みメニュー機能、又はWebアプリケーション)を使用するかに関する設定を受け付ける。メニュー画面表示部535は、メニューキー307がユーザ押下された場合、オートクリアを指示された場合、MFP101が電源オフ状態から起動した場合等に、メニュー画面設定部534が保持する設定に従って、メニュー画面を操作部219に表示する。なお、メニュー画面設定部534及びメニュー画面表示部535による具体的な処理については後述する。
【0034】
組み込みメニュー画面表示部535は、メニュー画面表示部535によって呼び出されるソフトウェアモジュールであり、予めMFP101に組み込まれたメニュー画面を操作部219に表示する。また、組み込みメニュー画面表示部535は、操作部219を介して入力されたユーザの指示に応じて、何れかのアプリケーションへのアプリケーション切替処理を、アプリケーション切替管理部532に要求する。なお、組み込みメニュー画面表示部535が表示する組み込みメニュー画面については後述する。
【0035】
(Webサーバ102のソフトウェア構成)
Webサーバ102は、Webアプリケーション510を含み、Webアプリケーション510は、プレゼンテーション部511及びロジック部512を含む。Webアプリケーション510は、プレゼンテーション部511及びロジック部512を使用して、MFP101のWebブラウザ540及びサービスプロバイダ550のそれぞれと、LAN110を介して通信可能である。プレゼンテーション部511は、Webブラウザ540の通信部541と通信し、MFP101からの要求に応じて、Webブラウザ540が操作部219に表示すべき操作画面のコンテンツを、MFP101に送信する。また、Webアプリケーション510(プレゼンテーション部511)は、Webブラウザ540によって操作部219に表示された操作画面を介して入力されたユーザの指示を、Webブラウザ540から受信する。
【0036】
Webアプリケーション510は、Webブラウザ540からユーザの指示を受信すると、当該指示の内容に従った処理をMFP101に実行させるための要求を生成し、生成した要求をMFP101に対して送信する。例えば、Webアプリケーション510は、MFP101のプリンタ220による印刷処理の実行、スキャナ221による読取処理の実行、ネットワークI/F218を介した送信処理の実行を、MFP101に対して要求する。
【0037】
Webアプリケーション510では、このようにMFP101に対して処理の実行を要求する場合、ロジック部512が、MFP101のサービスプロバイダ550に含まれる通信部551に、当該実行要求を送信する。これにより、ロジック部512は、通信部551を介して、ジョブ生成部552に対して、当該実行要求に従った処理を実行するためのジョブを生成するように要求する。また、Webアプリケーション510は、ジョブの生成に基づく処理の実行要求の他に、Webブラウザ540からの指示の内容に依存して、アプリケーションの切り替えをMFP101に対して要求する場合もある。
【0038】
図5には、1つのWebアプリケーション510のみを示しているものの、Webアプリケーション510は、それぞれ異なる画面のデータを提供する複数のWebアプリケーションを含みうる。本実施形態では、Webブラウザ540は、各Webアプリケーション、又は各Webアプリケーションにより提供される画面データを一意に特定するための特定情報として、後述するようにURLを使用する。
【0039】
<MFP101におけるメニュー機能の設定処理>
図6は、本実施形態に係るMFP101において実行される、MFP101が備える機能をユーザに選択させるメニュー画面を操作部219に表示するためのメニュー機能の設定処理の手順を示すフローチャートである。図6のフローチャートに示す各動作は、MFP101のCPU211が、制御プログラム(図5に示す各ソフトウェアモジュール)を実行することによって、MFP101上で実現される。具体的には、図6の各動作は、メニュー画面設定部534の機能によって実現される。まず、MFP101のユーザが、操作部219に対して特定の操作を行って、メニュー画面設定部534の機能を呼び出すことによって、図6の処理が開始される。
【0040】
S601で、CPU211は、メニュー画面の表示に関連する設定を行うための「メニュー機能設定画面」を操作部219に表示して、設定情報の入力を受け付ける。ここで、図7を参照して、S601において操作部219に表示される画面の一例(画面700)について詳しく説明する。
【0041】
画面700において、ボタン701は、メニュー画面として組み込みメニュー画面を使用すべきことを設定するためのボタンである。一方、ボタン702は、メニュー画面として、ネットワーク(LAN110)上の何れかのWebサーバ(例えば、Webサーバ102)で動作している何れかのWebアプリケーションによって提供される画面を使用すべきことを設定するためのボタンである。CPU211は、ボタン701、702の何れかのみが選択された状態となるように、操作部219の表示を制御する。なお、CPU211は、例えばボタン701が予め選択された状態として表示とし、即ち、組み込みメニュー画面を使用することがデフォルトで選択された状態とする。
【0042】
テキスト入力欄703は、メニュー画面として、Webアプリケーションによって提供される画面を使用する場合に、当該Webアプリケーションに対応するURLが入力される。なお、テキスト入力欄703は、ボタン702が選択されている状態で入力が有効化され、ボタン701が選択されている状態では入力が無効化される。ユーザは、テキスト入力欄703に入力するURLによって、メニュー画面の画面データをMFP101に提供するWebアプリケーションを指定する。
【0043】
CPU211は、テキスト入力欄703の領域がユーザによって選択されると、ソフトキーボード画面(図示せず)を表示して、ユーザが当該入力欄にURLを入力できるようにする。ユーザが当該ソフトキーボードを用いてURLの文字列を入力すると、CPU211は、入力された文字列をテキスト入力欄703に表示する。OKボタン704は、設定を有効化して、メニュー画面設定部534で保持するためのボタンである。キャンセルボタン705は、画面700を用いた設定を有効化することなく、元の画面に操作部219の表示を戻すためのボタンである。
【0044】
このように、S601で、CPU211は、ボタン701を介して、メニュー画面の画面データとして、MFP101に予め組み込まれた画面データの指定を受け付ける。あるいは、CPU211は、ボタン702及びテキスト入力欄703を介して、メニュー画面の画面データとして、MFP101に予め組み込まれた画面データに代えて、Webサーバ(Webアプリケーション)によって提供される画面データの指定を受け付ける。従って、S601でCPU211は受付手段として機能する。
【0045】
次に、S602で、CPU211は、OKボタン704の押下を検知したか否かを判定する。CPU211は、OKボタン704の押下を検知していないと判定する限り、S601の判定処理を繰り返すことによって、OKボタン704が押下されるまで待機する。一方で、OKボタン704の押下を検知したと判定した場合には、CPU211は、処理をS603に進める。
【0046】
S603で、CPU211は、画面700を介してWebアプリケーションを使用すべきことが指定されているか否かを判定する。Webアプリケーションを使用すべきことが指定されていないと判定した場合(即ち、ボタン701が選択されている場合)、処理をS607に進める。一方で、Webアプリケーションを使用すべきことが指定されていると判定した場合(即ち、ボタン702が選択されている場合)、処理をS604に進める。
【0047】
S604で、CPU211は、テキスト入力欄703で指定されているURLによって特定されるコンテンツを、当該URLによって特定されるWebサーバ(ここでは、Webサーバ102とする。)から、LAN110を介して取得する。さらに、CPU211は、取得したコンテンツの内容を解析する。具体的には、CPU211は、Webサーバ102とHTTPプロトコルによって通信して、GETメソッドを使用して、当該URLが示すコンテンツ(画面データに相当するHTMLファイル)を取得する。さらに、CPU211は、取得したHTMLファイルの記述を解析する。
【0048】
その後、S605で、CPU211は、S604で取得したHTMLファイルの解析結果に基づいて、URLの指定に基づいて指定されたWebアプリケーションがメニュー機能を有するか否かを判定する。即ち、取得したHTMLファイルに基づく操作画面をメニュー画面として操作部219に表示できるか否かを判定する。
【0049】
ここで、図8は、S604においてWebサーバから取得されるHTMLファイルの一例(800)である。HTMLファイル800に含まれるヘッダ810は、当該HTMLファイルを生成したWebアプリケーションがメニュー機能を有すること(即ち、当該Webアプリケーションによってメニュー画面の画面データが提供されたこと)を表している。WebサーバのWebアプリケーションは、メニュー機能を有する場合には、ヘッダ810を含むHTMLファイルを生成及び送信する一方で、メニュー機能を有さない場合には、ヘッダ810を含まないHTMLファイルを生成及び送信する。
【0050】
S605で、CPU211は、S604において取得されたHTMLファイルに、当該HTMLファイルがメニュー画面の画面データであることを示す情報であるヘッダ810が含まれるか否かによって、S605の判定処理を実行する。CPU211は、指定されたWebアプリケーションがメニュー機能を有さないと判定した場合、処理をS606へ進める。
【0051】
S606で、CPU211は、S601で指定されたWebアプリケーションを、メニュー機能を提供するアプリケーションとして設定することを禁止する。即ち、CPU211は、指定されたWebアプリケーションの画面データをメニュー画面の画面データとして使用することを禁止する。ここで、CPU211は、指定されたWebアプリケーションはメニュー機能を有さないために、メニュー画面を提供するためのアプリケーションとして設定することが不可能であることをユーザに通知するための画面(不図示)を、操作部219に表示する。その後、CPU211は、処理をS602に戻す。これにより、CPU211は、S602で、Webアプリケーション(の画面データ)について、別のURLを用いた新たな指定を受け付けて、上記の処理を再び実行する。
【0052】
一方で、S605で、CPU211は、指定されたWebアプリケーションがメニュー機能を有するアプリケーションであると判定した場合、処理をS607に進める。S607で、CPU211は、S601において画面700を用いて設定された内容を、メニュー画面設定部534が保持する設定情報として確定して、操作部219に表示している「メニュー機能設定画面」(画面700)を閉じる。S607では、組み込みメニュー画面及びWebアプリケーションによるメニュー画面の何れを使用するかに関する設定情報が、メニュー画面設定部534によって保持される設定情報として確定される。また、Webアプリケーションによるメニュー画面を使用することが設定された場合には、さらに、当該Webアプリケーションを特定するURLに関する情報が、メニュー画面設定部534によって保持される設定情報として確定される。なお、この設定情報は、メニュー画面設定部534が保持する情報としてRAM213又はHDD214に格納される。
【0053】
<MFP101におけるメニュー画面の表示処理>
次に、操作部219に設けられたメニューキー307が押下された場合に、操作部219にメニュー画面を表示するための表示処理について説明する。図9は、本実施形態に係るMFP101において、メニューキー307が押下された場合に実行される、メニュー画面の表示処理の手順を示すフローチャートである。図9のフローチャートに示す各動作は、MFP101のCPU211が、制御プログラム(図5に示す各ソフトウェアモジュール)を実行することによって、MFP101上で実現される。具体的には、図6の各動作は、メニュー画面表示部535の機能によって実現される。
【0054】
S901で、CPU211は、操作部219から操作部I/F215を介して出力される情報に基づいて、メニューキー307の押下を検知したか否かを判定する。CPU211は、メニューキー307の押下を検知していないと判定する限り、S901の判定処理を繰り返す。一方、S901で、CPU211は、メニューキー307の押下を検知した場合に、処理をS902に進める。S902で、CPU211は、S607において確定され、メニュー画面設定部534がRAM213に保持している設定情報を参照し、処理をS903に進める。
【0055】
S903で、CPU211は、S902で参照した設定情報に基づいて、Webアプリケーションを使用すべきこと(即ち、Webアプリケーションによって提供される画面データをメニュー画面の表示に使用すべきこと)が設定されているか否かを判定する。CPU211は、Webアプリケーションを使用すべきことが設定されていないと判定した場合(即ち、組み込みメニュー画面を使用すべきことが設定されている場合)、処理をS907に進める。一方で、CPU211は、Webアプリケーションを使用すべきことが設定されていると判定した場合、処理をS904に進める。
【0056】
S904で、CPU211は、S902で参照した設定情報において指定されているURLによって特定されるWebアプリケーションのコンテンツを、当該URLによって特定されるWebサーバ(ここではWebサーバ102とする。)から取得する。さらに、S905で、CPU211は、Webサーバ102からコンテンツが正常に取得されたか否かを判定する。CPU211は、通信エラー等に起因して、コンテンツが正常に取得されていないと判定した場合、処理をS907に進める。一方で、CPU211は、Webサーバ102からコンテンツが正常に取得されたと判定した場合、処理をS906に進める。
【0057】
S906で、CPU211は、Webブラウザ540によって、取得されたコンテンツ(HTMLデータ)を解析する。CPU211は、解析したHTMLデータの記述に基づいて、必要に応じて、画像ファイル、スクリプトファイル等をさらにWebサーバ102から取得する。その後、CPU211は、Webブラウザ540によって、取得したHTMLデータの記述に従ってメニュー画面を操作部219に表示する。
【0058】
図10は、S906において操作部219に表示されるメニュー画面の一例(画面1000)を示している。画面1000は、S904で取得されたHTMLデータの記述に従って、Webブラウザ540によって操作部219に表示される。領域1000は、操作部219(液晶表示部301)の表示領域を示している。図10に示すように、画面1000は、領域1000内に、実行すべき機能を選択するための機能選択ボタン1001〜1004を含む。機能選択ボタン1001〜1004の何れかがユーザによってタッチパネルシート302を用いて選択されると、操作部219は、そのことを示す入力情報をCPU211に送信する。CPU211は、当該入力情報を、Webブラウザ540によって、Webアプリケーション510に送信する。
【0059】
Webアプリケーション510は、MFP101のサービスプロバイダ550に含まれるアプリケーション切替サービス部553に対して、アプリケーションの切替要求を発行する。ここで、Webアプリケーション510は、Webブラウザ540から受信した入力情報に対応するアプリケーションに、使用すべきアプリケーションを切り替えるための切替要求を、アプリケーション切替サービス部553に発行する。アプリケーション切替サービス部553は、Webアプリケーション510からLAN110を介して当該切替要求を受信すると、アプリケーション切替管理部532に対し、受信した当該切替要求に従って、アプリケーションの切り替えを行うべきことを要求する。アプリケーション切替管理部532は、当該要求に従って、アプリケーションの切替処理を実行する。このようにして、MFP101は、Webアプリケーション510によってメニュー機能が提供される。
【0060】
一方、S903又はS905からS907に処理を進めた場合、CPU211は、組み込みメニュー表示部535によって、MFP101に予め組み込まれている組み込みメニュー画面を操作部219に表示する。図11は、S907において操作部219に表示される組み込みメニュー画面の一例(画面1100)を示している。画面1100に含まれる機能選択ボタン1101〜1105は、使用すべき機能(アプリケーション)を選択するためのボタンである。機能選択ボタン1101〜1105の何れかが、ユーザによってタッチパネルシート302を用いて押下されると、操作部219は、そのことを示す入力情報をCPU211に通知する。CPU211は、アプリケーション切替管理部532によって、実行中のアプリケーションを、メニュー画面を表示するアプリケーションから、当該入力情報に対応するアプリケーションに切り替える。これにより、画面1100を介して選択された機能(アプリケーション)が、MFP101上で実行される。
【0061】
このように、CPU211は、組み込みメニュー表示部535又はWebブラウザ540の機能により、MFP101に予め組み込まれた画面データに基づく操作画面、又は、当該予め組み込まれた操作画面に代えて、指定されたWebアプリケーション510による操作画面を、メニュー画面として操作部219に表示する。ただし、CPU211は、Webアプリケーション510を使用する場合、S601で指定されるWebアプリケーション510のうち、メニュー画面を提供すると判定されたアプリケーションによる操作画面のみを、メニュー画面として表示する。
【0062】
なお、メニューキー307については、操作部219に設けられたハードキーとして実現する場合について説明してきたが、操作部219(液晶表示部301)に表示されるソフトキーとして実現してもよい。また、メニュー画面については、メニューキー307が押下されたタイミングで操作部219に表示される場合について説明してきたが、メニュー画面は、MFP101が電源オフ状態から起動したタイミング、ユーザによる操作部219に対する操作が一定時間行われてないことが検知されたタイミング等に、表示されてもよい。
【0063】
以上説明したように、本実施形態では、MFPは、MFPに予め組み込まれた画面データ、又はそれに代えて、操作画面の画面データを提供する外部のWebサーバの画面データを、メニュー画面の画面データとして使用する。具体的には、MFPは、メニュー画面の画面データとして、MFPに予め組み込まれた画面データ、又はそれに代えて、外部のWebサーバから提供される画面データの指定を受け付ける。Webサーバから提供される画面データが指定された場合には、当該画面データをWebサーバから取得して、取得した画面データに基づく操作画面をメニュー画面として操作部に表示可能か否かを判定する。MFPは、Webサーバから提供される画面データに基づく操作画面をメニュー画面として表示できないと判定すると、当該画面データの使用を禁止して、新たな画面データの指定を受け付ける。
【0064】
このようにして、メニュー機能を有さないWebアプリケーションを、メニュー画面を提供するアプリケーションとしてユーザが設定してしまうことを防ぐことができる。その結果、MFPにおいて、メニュー画面のカスタマイズ機能をユーザに提供することが可能となる。
【0065】
[第2の実施形態]
第1の実施形態では、メニュー機能の設定の際に、メニュー画面を提供するアプリケーションとしてWebアプリケーションを指定する場合、図7に示すように、当該Webアプリケーションを特定するための特定情報(URL)をユーザが直接的に入力していた。これに対して、第2の実施形態では、Webブラウザ540における「お気に入り」としてMFP101に登録したURLから、Webアプリケーションを特定するためのURLを選択可能にする。これにより、Webアプリケーションを特定するためのURLをユーザが入力する手間を軽減する。以下では、説明の簡略化のため、第1の実施形態と共通する部分については可能な限り説明を省略する。
【0066】
本実施形態において、CPU211は、Webサーバ102のWebアプリケーション510からコンテンツを提供された場合に、ユーザの指示に応じて、当該Webアプリケーションを特定するURLを「お気に入り」として登録することができる。登録された情報は、お気に入り管理部544によって、管理テーブルとしてRAM213又はHDD214に保持される。ユーザによるURLの登録を受け付けると、CPU211は、当該URLによって特定されるWebアプリケーション510(のコンテンツ)を、Webサーバ102から取得する。CPU211は、取得したコンテンツに基づく操作画面を、操作部219にメニュー画面として表示できるか否かを、第1の実施形態と同様に判定する。CPU211は、当該判定結果を示す情報を、お気に入り管理部544が保持する管理テーブルに、URLに対応付けて含める。
【0067】
ここで、図12は、お気に入り管理部544が管理する管理テーブルの一例を示す図である。図12の各行は、それぞれ1件分のお気に入り情報に相当する。列1201は、お気に入り情報の名称であり、例えば、登録されたURLに対応するコンテンツに含まれるヘッダ(TITLE情報)が登録されている。列1202は、お気に入りとして登録されたURLである。列1203は、対応するURLによって特定されるWebアプリケーションがメニュー機能を有するか否かを示すフラグ情報であり、上述の、取得したコンテンツに基づく判定結果を示す情報に相当する。図12においては、「TRUE」は、対応するWebアプリケーションがメニュー機能を有すること、「FALSE」は、対応するWebアプリケーションがメニュー機能を有さないことを示している。
【0068】
<MFP101におけるメニュー機能の設定処理>
図13は、本実施形態に係るMFP101において実行される、MFP101が備える機能をユーザに選択させるメニュー画面を操作部219に表示するためのメニュー機能の設定処理の手順を示すフローチャートである。第1の実施形態の図6と同様、図13のフローチャートに示す各動作は、MFP101のCPU211が、制御プログラム(図5に示す各ソフトウェアモジュール)を実行することによって、MFP101上で実現される。具体的には、図6の各動作は、メニュー画面設定部534の機能によって実現される。まず、MFP101のユーザが、操作部219に対して特定の操作を行って、メニュー画面設定部534の機能を呼び出すことによって、図6の処理が開始される。
【0069】
S1301で、CPU211は、お気に入り管理部544が管理する管理テーブルから、1件分のお気に入り情報を読み出す。次に、S1302で、CPU211は、読み出したお気に入り情報に含まれるURLによって特定されるWebアプリケーションが、メニュー機能を有するか否かを判定する。ここでは、図12に示す管理テーブルの列1203のフラグ情報が「TRUE」であるか否かを判定する。CPU211は、列1203のフラグ情報が「TRUE」である場合、対応するWebアプリケーションがメニュー機能を有すると判定し、処理をS1303に進める。一方で、CPU211は、列1203のフラグ情報が「TRUE」ではない場合、対応するWebアプリケーションがメニュー機能を有さないと判定し、処理をS1304に進める。
【0070】
S1303で、CPU211は、S1301で読み出したお気に入り情報を、メニュー画面設定部534が保持するメニュー候補リストに追加して、処理をS1304に進める。S1304で、CPU211は、お気に入り管理部544が管理する管理テーブルに含まれる全てのお気に入り情報の読み出しが完了したか否かを判定する。CPU211は、全てのお気に入り情報の読み出しが完了していないと判定した場合、処理をS1301に戻し、次のお気に入り情報についてS1301〜S1303の処理を実行する。一方で、CPU211は、全てのお気に入り情報の読み出しが完了したと判定した場合、処理をS1305に進める。
【0071】
S1305で、CPU211は、メニュー候補リストに基づくメニュー機能の設定画面を操作部219に表示する。図14は、S1305において操作部219に表示される設定画面の一例(画面1400)である。図14に示すように、画面1400には、選択肢1401〜1403が提示されている。選択肢1401は、組み込みメニュー画面に対応し、選択肢1402、1403は、メニュー画面設定部534が保持するメニュー候補リストに含まれるお気に入り情報に対応する。このようにして、CPU211は、MFP101に予め組み込まれた画面データと、お気に入り情報として登録されたURLによって特定される画面データのうちで、メニュー画面を操作部219に表示可能な画面データとを選択肢としてユーザに提示する。画面1400を介したユーザの選択、及びOKボタン1404の押下に応じて、CPU211は、メニュー機能として使用するアプリケーションを設定、即ち、メニュー画面を表示するために使用する画面データを選択する。
【0072】
以上説明したように、本実施形態では、MFPは、お気に入り情報としてMFPに登録されたURLによって特定されるWebアプリケーションのうち、メニュー機能を有するアプリケーションを自動的に候補として抽出して、ユーザに提示する。これにより、ユーザは、提示された候補の中からメニュー画面を表示するために使用するアプリケーションを選択することができるため、第1の実施形態よりも、メニュー画面のカスタマイズを容易に行うことができる。また、第1の実施形態と同様、メニュー機能を有さないWebアプリケーションを、メニュー画面を提供するアプリケーションとしてユーザが設定してしまうことを防ぐことができる。
【0073】
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
操作画面の画面データを提供するサーバ装置とネットワークを介して通信可能な情報処理装置であって、
前記情報処理装置が備える機能のうちで使用する機能の選択を受け付けるためのメニュー画面の画面データとして、前記サーバ装置によって提供される画面データの指定を受け付ける受付手段と、
前記指定された画面データを前記サーバ装置から取得する取得手段と、
前記情報処理装置が備える表示部に、前記取得手段によって取得された画面データに基づく操作画面を前記メニュー画面として表示できるか否かを判定する判定手段と、
前記判定手段によって、前記取得された画面データに基づく操作画面を前記表示部に前記メニュー画面として表示できないと判定されると、前記指定された画面データを前記メニュー画面の画面データとして使用することを禁止する禁止手段と
を備えることを特徴とする情報処理装置。
【請求項2】
前記判定手段は、
前記取得手段によって取得された画面データに、当該画面データが前記メニュー画面の画面データであることを示す情報が含まれている場合には、当該画面データに基づく操作画面を前記表示部に前記メニュー画面として表示できると判定し、
前記取得手段によって取得された画面データに、当該画面データが前記メニュー画面の画面データであることを示す情報が含まれていない場合には、当該画面データに基づく操作画面を前記表示部に前記メニュー画面として表示できないと判定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記受付手段は、
前記禁止手段によって、前記指定された画面データを前記メニュー画面の画面データとして使用することが禁止されると、前記サーバ装置によって提供される画面データについて新たな指定を受け付けることを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記情報処理装置に予め組み込まれた画面データに基づく操作画面、又は、前記情報処理装置に予め組み込まれた画面データに代えて、前記指定された画面データのうち、前記取得された画面データに基づく操作画面を前記表示部に前記メニュー画面として表示できると前記判定手段によって判定された画面データに基づく操作画面を、前記メニュー画面として前記表示部に表示する表示制御手段
をさらに備えることを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
【請求項5】
前記表示制御手段は、
前記情報処理装置の操作部に設けられたメニューキーが操作された際、又は前記情報処理装置が電源オフ状態から起動した際に、前記メニュー画面を前記表示部に表示することを特徴とする請求項4に記載の情報処理装置。
【請求項6】
操作画面の画面データを提供するサーバ装置とネットワークを介して通信可能な情報処理装置であって、
前記サーバ装置から提供される操作画面の画面データを一意に特定するための特定情報の登録を受け付ける受付手段と、
前記登録された特定情報によって特定される画面データを前記サーバ装置から取得する取得手段と、
前記情報処理装置が備える表示部に、前記取得手段によって取得された画面データに基づく操作画面を、前記情報処理装置が備える機能のうちで使用する機能の選択を受け付けるためのメニュー画面として表示できるか否かを判定する判定手段と、
前記情報処理装置に予め組み込まれた画面データと、前記登録された特定情報によって特定される画面データのうちで、前記取得された画面データに基づく操作画面を前記表示部に前記メニュー画面として表示できると前記判定手段によって判定された画面データとから、前記メニュー画面を表示するために使用する画面データを選択する選択手段と
を備えることを特徴とする情報処理装置。
【請求項7】
操作画面の画面データを提供するサーバ装置とネットワークを介して通信可能な情報処理装置の制御方法であって、
受付手段が、前記情報処理装置が備える機能のうちで使用する機能の選択を受け付けるためのメニュー画面の画面データとして、前記サーバ装置によって提供される画面データの指定を受け付ける受付工程と、
取得手段が、前記指定された画面データを前記サーバ装置から取得する取得工程と、
判定手段が、前記情報処理装置が備える表示部に、前記取得工程において取得された画面データに基づく操作画面を前記メニュー画面として表示できるか否かを判定する判定工程と、
禁止手段が、前記判定工程において、前記取得された画面データに基づく操作画面を前記表示部に前記メニュー画面として表示できないと判定されると、前記指定された画面データを前記メニュー画面の画面データとして使用することを禁止する禁止工程と
を含むことを特徴とする情報処理装置の制御方法。
【請求項8】
操作画面の画面データを提供するサーバ装置とネットワークを介して通信可能な情報処理装置の制御方法であって、
受付手段が、前記サーバ装置から提供される操作画面の画面データを一意に特定するための特定情報の登録を受け付ける受付工程と、
取得手段が、前記登録された特定情報によって特定される画面データを前記サーバ装置から取得する取得工程と、
判定手段が、前記情報処理装置が備える表示部に、前記取得工程において取得された画面データに基づく操作画面を、前記情報処理装置が備える機能のうちで使用する機能の選択を受け付けるためのメニュー画面として表示できるか否かを判定する判定工程と、
選択手段が、前記情報処理装置に予め組み込まれた画面データと、前記登録された特定情報によって特定される画面データのうちで、前記取得された画面データに基づく操作画面を前記表示部に前記メニュー画面として表示できると前記判定工程において判定された画面データとから、前記メニュー画面を表示するために使用する画面データを選択する選択工程と
を含むことを特徴とする情報処理装置の制御方法。
【請求項9】
請求項7又は8に記載の情報処理装置の制御方法における各工程をコンピュータに実行させるためのプログラム。
【請求項1】
操作画面の画面データを提供するサーバ装置とネットワークを介して通信可能な情報処理装置であって、
前記情報処理装置が備える機能のうちで使用する機能の選択を受け付けるためのメニュー画面の画面データとして、前記サーバ装置によって提供される画面データの指定を受け付ける受付手段と、
前記指定された画面データを前記サーバ装置から取得する取得手段と、
前記情報処理装置が備える表示部に、前記取得手段によって取得された画面データに基づく操作画面を前記メニュー画面として表示できるか否かを判定する判定手段と、
前記判定手段によって、前記取得された画面データに基づく操作画面を前記表示部に前記メニュー画面として表示できないと判定されると、前記指定された画面データを前記メニュー画面の画面データとして使用することを禁止する禁止手段と
を備えることを特徴とする情報処理装置。
【請求項2】
前記判定手段は、
前記取得手段によって取得された画面データに、当該画面データが前記メニュー画面の画面データであることを示す情報が含まれている場合には、当該画面データに基づく操作画面を前記表示部に前記メニュー画面として表示できると判定し、
前記取得手段によって取得された画面データに、当該画面データが前記メニュー画面の画面データであることを示す情報が含まれていない場合には、当該画面データに基づく操作画面を前記表示部に前記メニュー画面として表示できないと判定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記受付手段は、
前記禁止手段によって、前記指定された画面データを前記メニュー画面の画面データとして使用することが禁止されると、前記サーバ装置によって提供される画面データについて新たな指定を受け付けることを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記情報処理装置に予め組み込まれた画面データに基づく操作画面、又は、前記情報処理装置に予め組み込まれた画面データに代えて、前記指定された画面データのうち、前記取得された画面データに基づく操作画面を前記表示部に前記メニュー画面として表示できると前記判定手段によって判定された画面データに基づく操作画面を、前記メニュー画面として前記表示部に表示する表示制御手段
をさらに備えることを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
【請求項5】
前記表示制御手段は、
前記情報処理装置の操作部に設けられたメニューキーが操作された際、又は前記情報処理装置が電源オフ状態から起動した際に、前記メニュー画面を前記表示部に表示することを特徴とする請求項4に記載の情報処理装置。
【請求項6】
操作画面の画面データを提供するサーバ装置とネットワークを介して通信可能な情報処理装置であって、
前記サーバ装置から提供される操作画面の画面データを一意に特定するための特定情報の登録を受け付ける受付手段と、
前記登録された特定情報によって特定される画面データを前記サーバ装置から取得する取得手段と、
前記情報処理装置が備える表示部に、前記取得手段によって取得された画面データに基づく操作画面を、前記情報処理装置が備える機能のうちで使用する機能の選択を受け付けるためのメニュー画面として表示できるか否かを判定する判定手段と、
前記情報処理装置に予め組み込まれた画面データと、前記登録された特定情報によって特定される画面データのうちで、前記取得された画面データに基づく操作画面を前記表示部に前記メニュー画面として表示できると前記判定手段によって判定された画面データとから、前記メニュー画面を表示するために使用する画面データを選択する選択手段と
を備えることを特徴とする情報処理装置。
【請求項7】
操作画面の画面データを提供するサーバ装置とネットワークを介して通信可能な情報処理装置の制御方法であって、
受付手段が、前記情報処理装置が備える機能のうちで使用する機能の選択を受け付けるためのメニュー画面の画面データとして、前記サーバ装置によって提供される画面データの指定を受け付ける受付工程と、
取得手段が、前記指定された画面データを前記サーバ装置から取得する取得工程と、
判定手段が、前記情報処理装置が備える表示部に、前記取得工程において取得された画面データに基づく操作画面を前記メニュー画面として表示できるか否かを判定する判定工程と、
禁止手段が、前記判定工程において、前記取得された画面データに基づく操作画面を前記表示部に前記メニュー画面として表示できないと判定されると、前記指定された画面データを前記メニュー画面の画面データとして使用することを禁止する禁止工程と
を含むことを特徴とする情報処理装置の制御方法。
【請求項8】
操作画面の画面データを提供するサーバ装置とネットワークを介して通信可能な情報処理装置の制御方法であって、
受付手段が、前記サーバ装置から提供される操作画面の画面データを一意に特定するための特定情報の登録を受け付ける受付工程と、
取得手段が、前記登録された特定情報によって特定される画面データを前記サーバ装置から取得する取得工程と、
判定手段が、前記情報処理装置が備える表示部に、前記取得工程において取得された画面データに基づく操作画面を、前記情報処理装置が備える機能のうちで使用する機能の選択を受け付けるためのメニュー画面として表示できるか否かを判定する判定工程と、
選択手段が、前記情報処理装置に予め組み込まれた画面データと、前記登録された特定情報によって特定される画面データのうちで、前記取得された画面データに基づく操作画面を前記表示部に前記メニュー画面として表示できると前記判定工程において判定された画面データとから、前記メニュー画面を表示するために使用する画面データを選択する選択工程と
を含むことを特徴とする情報処理装置の制御方法。
【請求項9】
請求項7又は8に記載の情報処理装置の制御方法における各工程をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2013−14079(P2013−14079A)
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願番号】特願2011−148622(P2011−148622)
【出願日】平成23年7月4日(2011.7.4)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願日】平成23年7月4日(2011.7.4)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]