説明

情報処理装置、表示画面カスタマイズ方法、及び表示画面カスタマイズプログラム

【課題】プログラムごとの表示画面について効率的なカスタマイズを実現することのできる情報処理装置、表示画面カスタマイズ方法、及び表示画面カスタマイズプログラムの提供を目的とする。
【解決手段】それぞれに対応する表示画面を介して利用される複数のプログラムを有する情報処理装置であって、前記表示画面の画面構成情報を管理する画面構成情報管理手段と、前記表示画面に対するカスタマイズ内容が記録されるカスタマイズ情報を管理するカスタマイズ情報管理手段と、複数のプログラムに対応する各表示画面を、当該表示画面に係る前記画面構成情報及び前記カスタマイズ情報に基づいて生成する画面生成手段とを有することにより上記課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、表示画面カスタマイズ方法、及び表示画面カスタマイズプログラムに関し、特に表示画面を介して利用される複数のプログラムを有する情報処理装置、表示画面カスタマイズ方法、及び表示画面カスタマイズプログラムに関する。
【背景技術】
【0002】
近年、コピー、スキャナ、FAX、プリンタ等の画像形成装置は、利用方法の多様化に対応するため、多機能化が進んでいる。多機能化に伴い、操作パネルから設定される動作モードの数も多くなり、所望のアウトプットを得るための設定操作が煩雑化する傾向にある。しかし、利用者によっては、必ずしも全ての機能を使用せず、特定の一部の機能のみを使用する者も多い。それにも拘わらず、多数の機能を搭載するために、開発・部品・製造などのコストが嵩んで画像形成装置が高価になってしまうと、利用者とって不利益となる。一部の機能しか利用しない利用者にとっては、当該一部の機能に関する動作モードの入力手段だけが分かり易い態様で操作パネルに表示されることが操作性の向上につながる。
【0003】
但し、利用者の装置使用の習熟度によって、使い易いユーザインタフェースは異なってくる。利用頻度の低い利用者にとっては、複雑なユーザインタフェースでは操作ミスが起こりやすく、また時間効率も悪い。したがって、機能を絞ったシンプルなユーザインタフェースが歓迎される。
【0004】
一方、利用頻度の高い利用者にとっては、多少煩雑な操作であっても使いこなすことは可能であり、多くの機能を利用する場合には全ての機能を設定することが可能なユーザインタフェースが必要である。
【0005】
これらの問題を解決するために、利用者の好みに合わせて画面を構成する要素(ボタン等)の表示/非表示の切替えや並び替え等のカスタマイズを行う技術(例えば、特許文献1)や、認証によって特定された利用者毎に表示内容を切替える技術(例えば、特許文献2)が開示されている。
【0006】
他方において、機能のインストール/アンインストールや、機能に対する拡張を追加でインストール/アンインストールすることにより、ファームウェアの更新が可能とされた画像形成装置が開示されている(例えば、特許文献3、特許文献4)。
【特許文献1】特開2005−45370号公報
【特許文献2】特開2003−150971号公報
【特許文献3】特開2003−256216号公報
【特許文献4】特開2004−21576号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、機能ごとにインストール等を可能とした場合、機能ごとに操作画面が実装される必要がある。従来、機能ごとに実装される操作画面のカスタマイズを可能とするため、その操作画面のカスタマイズのためのロジックは機能ごとに実装されていた。この場合、厳格なガイドラインに沿って当該ロジックが実装されないと、操作画面のカスタマイズ方法に統一性を欠き、操作性の良いカスタマイズ手段を提供できないという問題がある。
【0008】
また、カスタマイズロジックには共通部分が多いにも拘わらず、機能ごとにそのロジックが実装されるのは、非常に非効率であるという問題もある。
【0009】
本発明は、上記の点に鑑みてなされたものであって、プログラムごとの表示画面について効率的なカスタマイズを実現することのできる情報処理装置、表示画面カスタマイズ方法、及び表示画面カスタマイズプログラムの提供を目的とする。
【課題を解決するための手段】
【0010】
そこで上記課題を解決するため、本発明は、それぞれに対応する表示画面を介して利用される複数のプログラムを有する情報処理装置であって、前記表示画面の画面構成情報を管理する画面構成情報管理手段と、前記表示画面に対するカスタマイズ内容が記録されるカスタマイズ情報を管理するカスタマイズ情報管理手段と、複数のプログラムに対応する各表示画面を、当該表示画面に係る前記画面構成情報及び前記カスタマイズ情報に基づいて生成する画面生成手段とを有することを特徴とする。
【0011】
このような情報処理装置では、プログラムごとの表示画面について効率的なカスタマイズを実現することができる。
【発明の効果】
【0012】
本発明によれば、プログラムごとの表示画面について効率的なカスタマイズを実現することのできる情報処理装置、表示画面カスタマイズ方法、及び表示画面カスタマイズプログラムを提供することができる。
【発明を実施するための最良の形態】
【0013】
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、画像形成装置を情報処理装置の一例として説明する。図1は、本発明の実施の形態における画像形成装置のハードウェア構成の一例を示す図である。図1では、画像形成装置の具体例として、プリンタ、コピー、スキャナ、又は、ファクス等の複数の機能を一台の筐体において実現する複合機1のハードウェア構成が示されている。
【0014】
複合機1のハードウェアとしては、コントローラ601と、オペレーションパネル602と、ファクシミリコントロールユニット(FCU)603と、撮像部604と、印刷部605が存在する。
【0015】
コントローラ601は、CPU611、ASIC612、NB621、SB622、MEM−P631、MEM−C632、HDD(ハードディスクドライブ)633、メモリカードスロット634、NIC(ネットワークインタフェースコントローラ)641、USBデバイス642、IEEE1394デバイス643、セントロニクスデバイス644により構成される。
【0016】
CPU611は、種々の情報処理用のICである。ASIC612は、種々の画像処理用のICである。NB621は、コントローラ601のノースブリッジである。SB622は、コントローラ601のサウスブリッジである。MEM−P631は、複合機1のシステムメモリである。MEM−C632は、複合機1のローカルメモリである。HDD633は、複合機1のストレージである。メモリカードスロット634は、メモリカード235をセットするためのスロットである。NIC641は、MACアドレスによるネットワーク通信用のコントローラである。USBデバイス642は、USB規格の接続端子を提供するためのデバイスである。IEEE1394デバイス643は、IEEE1394規格の接続端子を提供するためのデバイスである。セントロニクスデバイス644は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル602は、オペレータが複合機1に入力を行うためのハードウェア(操作部)であると共に、オペレータが複合機1から出力を得るためのハードウェア(表示部)である。
【0017】
図2は、本発明の実施の形態の画像形成装置におけるソフトウェア構成例を示す図である。図2に示されるように、複合機1におけるソフトウェアは、ユーザインタフェース層10、コントロール層20、機能実現層30、デバイスサービス層40、及びデバイス制御層50等より構成される。なお、図2における各部の上下関係は、各部間の呼び出し関係に基づいている。すなわち、基本的に図中において上にある層が下の層を呼び出す。
【0018】
ユーザインタフェース層10は、ジョブ(例えば、コピー、印刷、スキャン、ファクス送信等)の実行要求を受け付けるための機能が実装されている部分であり、例えば、UI制御部110及び通信サーバ部120当該が含まれる。UI制御部110は、例えば、オペレーションパネル602を介して入力されるジョブの実行要求を受け付ける。通信サーバ部120は、例えば、図示しないクライアントPC等からネットワーク経由でジョブの実行要求を受け付ける。ユーザインタフェース層10において受け付けられたジョブの実行要求は、コントロール層20に伝えられる。
【0019】
コントロール層20は、要求されたジョブを実行するための処理を制御するための機能が実装されている部分である。コントロール層20は、例えば、プラグイン管理部210、リクエスト管理部220、及び認証管理部230等が含まれる。プラグイン管理部210は、複合機1に実装(又はインストール)された「プラグイン」の物理的なアドレス(位置情報)とプラグインの動作とを管理する。なお、本実施の形態において、「プラグイン」とは、複合機1が有する基本機能に対して新たに追加される機能に対応するプログラムモジュール、や複合機1が有する基本機能に対応するプログラムモジュールをいい、それぞれ個別に(独立して)インストール及びアンインストール可能であるものをいう。すなわち、プラグイン管理部210は、複合機1が有する基本機能及び追加機能に対応するプログラムの物理的なアドレス、及びそれらの動作を管理する。
【0020】
リクエスト管理部220は、要求されたジョブの実行を機能実現層30が有する各アプリケーションに要求する。また、複数のジョブが実行される場合は、それらの実行順のスケジューリングを行う。
【0021】
なお、本実施の形態において「ジョブ」とは、複合機1がユーザに対して提供する一つのまとまった単位(要求が入力されて最終的な出力が得られるまで)のサービスをいう。一つのジョブは、基本的に一つのアプリケーションによって実行されるが、複数のアプリケーションの連携によって実行されてもよい。
【0022】
認証管理部230は、利用者の認証要求を受け付け、アカウント名とパスワード等の利用者を特定する情報(認証情報)に基づいて認証を行う。
【0023】
機能実現層30は、それぞれが複合機1において提供されるジョブの一部を実行するソフトウェア部品群が実装されている部分である。すなわち、機能実現層30における部品を組み合わせることにより一つのジョブを実行するためのアプリケーションが構築される。本実施の形態では、機能実現層30におけるソフトウェア部品を「フィルタ」と呼ぶ。これは、複合機1のジョブを実行する手アプリケーションが、「パイプ&フィルタ」と呼ばれるソフトウェアアーキテクチャを採用していることに基づく。
【0024】
図3は、パイプ&フィルタアーキテクチャの概念を説明するための図である。図3において、「F」はフィルタを示し、「P」はパイプを示す。図中に示されるように、各フィルタはパイプによって接続される。フィルタは、入力されたデータに対して変換を施し、その結果を出力する。パイプは、フィルタから出力されたデータを次のフィルタに伝達する。
【0025】
すなわち、本実施の形態における複合機1では、ジョブをドキュメント(データ)に対する「変換」の連続として捉える。複合機1のジョブは、ドキュメントの入力、加工、及び、出力によって構成されるものとして一般化することができる。そこで「入力」、「加工」、及び、「出力」を、それぞれ「変換」として捉え、一つの「変換」を実現するソフトウェア部品がフィルタとして構成される。入力を実現するフィルタを特に「入力フィルタ」という。また、加工を実現するフィルタを特に「加工フィルタ」という。更に、出力を実現するフィルタを特に「出力フィルタ」という。なお、各フィルタは独立しており、フィルタ間における依存関係(呼び出し関係)は基本的に存在しない。従って、フィルタ単位で追加(インストール)又は削除(アンインストール)が可能とされ、本実施の形態におけるプラグインの一つとして扱われる。
【0026】
図2において、機能実現層30には、入力フィルタとして、読取フィルタ311、保管文書読出フィルタ312、メール受信フィルタ313、及びファクス受信フィルタ314等が示されている。
【0027】
読取フィルタ311は、スキャナによる画像データの読み取りを制御し、読み取られた画像データを出力する。保管文書読出フィルタ312は、複合機1の記憶装置に保管されている文書データ(画像データ)を読み出し、読み出されたデータを出力する。メール受信フィルタ313は、電子メールを受信し、当該電子メールに含まれているデータを出力する。ファクス受信フィルタ314は、ファクス受信を制御し、受信された印刷データを出力する。
【0028】
また、加工フィルタとしては、文書加工フィルタ321及び文書変換フィルタ322等が示されている。文書加工フィルタ321は、入力されたデータに所定の画像変換処理(集約、拡大、又は、縮小等)を施し、出力する。文書変換フィルタ322は、画像データのデータ形式を変換する。文書変換フィルタ322は、例えば、レンダリング処理、すなわち、入力されたPostScriptデータをビットマップデータに変換して出力する。
【0029】
また、出力フィルタとしては、印刷フィルタ331、保管文書登録フィルタ332、メール送信フィルタ333、及びファクス送信フィルタ334等が示されている。
【0030】
印刷フィルタ331は、入力されたデータをプロッタに出力(印刷)させる。保管文書登録フィルタ332は、入力されたデータを複合機1内の記憶装置、例えば、ハードディスク装置に保存する。メール送信フィルタ333は、入力されたデータを電子メールに添付して送信する。ファクス送信フィルタ334は、入力されたデータをファクス送信する。
【0031】
機能実現層30には、また、複数のフィルタをどの順番で接続するかを管理し、その順番でフィルタを実行させることによりジョブを実行するアプリケーションとして、コピーアプリケーション301、送信アプリケーション302、及びファクスアプリケーション303等が含まれる。例えば、コピーアプリケーション301は、読取フィルタ311と、文書加工フィルタ321と、印刷フィルタ331との組み合わせにより、コピー機能(コピーアプリケーション)を実現するアプリケーションである。
【0032】
なお、機能実現層30におけるアプリケーションも独立してインストール及びアンインストール可能であり、本実施の形態におけるプラグインとして扱われる。
【0033】
機能実現層30には、更に、アプリケーション又はフィルタ等に対する設定情報等のデータの永続化、並びに永続化されたデータの参照、更新、削除、及び検索等を実現する手段として、ユーザ情報管理部341及びUIカスタマイズ情報管理部350が含まれる。
【0034】
ユーザ情報管理部341は、複合機1にログインするためのユーザの名やパスワード等の認証情報を、後述するデータ管理部410に登録(永続化)し、参照、更新、削除、検索を行う。UIカスタマイズ情報管理部350は、オペレーションパネル602に表示させる操作画面(表示画面)を生成するための情報(又は操作画面の構成を表現する情報)である画面構成情報に対する、カスタマイズ対象部分のデータ(カスタマイズによる差分情報)をデータ管理部410に登録(永続化)し、参照、更新、削除、及び検索を行う。
【0035】
デバイスサービス層40は、機能実現層30における各フィルタから共通に利用される下位機能が実装されている部分であり、データ管理部410を有する。データ管理部410は、後述する各種のデータベースを表現する。
【0036】
デバイス制御層50は、複合機1が有するデバイス毎に設けられたデバイスを制御する手段を有する。
【0037】
図2に示されるソフトウェア構成において、操作画面のカスタマイズに関する構成要素について更に詳しく説明する。図4は、操作画面のカスタマイズ機能を実現するためのソフトウェア構成例を示す図である。図4中、図2と同一部分には同一符号を付している。
【0038】
ユーザインタフェース層10において、UI制御部110は、動作オブジェクト取得部111及びユーザインタフェース部112を有する。ユーザインタフェース部112は、オペレーションパネル602等のへの操作画面等の生成、表示制御、及びオペレーションパネル602等のから入力される指示に応じた処理の制御等を行う。動作オブジェクト取得部111は、複合機1において動作中のプラグインの動作オブジェクトを取得する。ここで、動作オブジェクトとは、動作中のプラグインにアクセスするためにメモリ上に形成されるいわゆるオブジェクト(クラスのインスタンス)をいう。
【0039】
図4に示されるユーザインタフェース層10には、更に、機能UIプラグイン150が含まれている。機能UIプラグイン150は、後述する機能実現層30の機能プラグイン370の操作画面(ユーザインタフェース)を実現するプラグインである。なお、機能UIプラグイン150と機能プラグイン370とのペアが、図2における、一つのフィルタ又はアプリケーションに対応する。すなわち、各フィルタ又はアプリケーションは、それぞれに対応する機能UIプラグイン150及び機能プラグイン370を含む。したがって、複合機1にインストールされたフィルタ又はアプリケーションの数に応じて、機能UIプラグイン150及び機能プラグイン370が存在する。そのうち、機能UIプラグイン150は、操作画面(ユーザインタフェース)との関連が強いため、ユーザインタフェース層10に示されている。
【0040】
機能UIプラグイン150は、機能UIコンテンツ情報151、機能UI制御部152、及び動作オブジェクト取得部153を有する。機能UIコンテンツ情報151は、当該機能UIプラグイン150が対応する機能プラグイン370の操作画面を生成するための(又は操作画面の構成(レイアウト)を表現する)画面構成情報である。機能UI制御部152は、機能UIコンテンツ情報151に基づいて表示される操作画面の制御を行う。例えば、機能UI制御部152は、操作画面を介したユーザによる入力の検知や、当該入力に応じた機能プラグイン370の呼び出しや、機能プラグイン370等からの状態へ化通知に応じた操作画面の表示内容の更新等を行う。動作オブジェクト取得部153は、複合機1において動作中の他のプラグインの動作オブジェクトを取得する。
【0041】
なお、本実施の形態では、機能UIプラグイン150によって実現される操作画面は、複合機1に設けられたオペレーションパネル602等のローカルユーザインタフェースに表示される例について説明するが、通信サーバ部120を用いて複合機1とネットワークを介して接続されたクライアントPC等に対して操作画面を表示させるようにしてもよい。
【0042】
図4のコントロール層20において、プラグイン管理部210は、プラグインアドレス保持部211及びプラグイン管理テーブル保持部212を有する。プラグインアドレス保持部211は、複合機1に対してインストール(追加)されている各プラグインの実行プログラムが格納されたファイルのアドレス情報を保持して管理する。より詳しくは、プラグインアドレス保持部211は、プラグインの名称とプラグインが格納されているアドレスとを対応づけて保持する。プラグイン管理テーブル保持部212は、各プラグインの動作オブジェクトを管理する。すなわち、起動されたプラグインの動作オブジェクトは、プラグイン管理テーブル保持部212に登録される。
【0043】
各プラグインは、他のプラグインの持つ機能を利用したり、情報を参照したりするために、プラグイン管理テーブル保持部212に保持されている、動作オブジェクトを取得するための動作オブジェクト取得部を有する。図4では、UI制御部110及び機能UIプラグイン150についてのみ、動作オブジェクト取得部111又は152が図示されているが、他のプラグインも同様に動作オブジェクト取得部を有する。したがって、各プラグインは、プラグイン管理テーブル212を介して他のプラグインに対して機能の実行要求を行うことができる。例えば、機能UIプラグイン150が、対応する機能プラグイン370にアクセス(例えば、機能の状態の問い合わせ)を行うためには、その機能プラグイン370の動作オブジェクトを取得すればよい。
【0044】
図4において、認証管理部230は、認証部231を有する。認証部231は、認証情報を入力する画面を介して入力される、ユーザを特定するための情報(例えば、ユーザ名等)とユーザを証明するための情報(例えば、パスワード等)と、デバイスサービス層40における認証情報DB412の登録内容とを比較することにより、ユーザの正当性を判定する。認証情報DB412には、機器を利用可能なユーザを特定するための情報(例えばユーザ名)と、そのユーザであることを証明するための情報(例えばパスワード)との組み合わせが登録されている。なお、ユーザを証明する情報は、必ずしもパスワードに限られず、生体認証に用いられる情報(例えば、指紋情報)であってもよい。
【0045】
図4の機能実現層30において、機能プラグイン370は、機能を実行するための処理を行う機能実行部371を有する。機能プラグイン370は、当該機能に対応する操作画面を有してもよいが、図4では当該操作画面が別プラグイン(機能UIプラグイン150)に実装された例が示されている。
【0046】
UIカスタマイズ情報管理部350は、UIカスタマイズ情報の管理を行うプラグインである。UIカスタマイズ情報とは、機能UIプラグイン150の操作画面に対するカスタマイズ内容が記録される情報である。UIカスタマイズ情報は、デバイスサービス層40におけるカスタマイズ情報DB411に保存される。
【0047】
UIカスタマイズ管理部350は、登録部351、参照部352、更新部353、削除部354、検索部355、エクスポート部356、インポート部357、及びUIカスタマイズ部358等を有する。
【0048】
登録部351は、カスタマイズ情報DB411にUIカスタマイズ情報を登録する。参照部352は、指定されたUIカスタマイズ情報を参照させる。更新部353は、既存のUIカスタマイズ情報を更新する。削除部354は、指定されたUIカスタマイズ情報をカスタマイズ情報DB411より削除する。検索部355は、カスタマイズ情報DB411よりUIカスタマイズ情報を検索する。エクスポート部356は、カスタマイズ情報DB411内のUIカスタマイズ情報をCSV形式又はXML形式等に変換し、外部記憶装置(記録媒体)にファイルとして書き出す。インポート部357は、エクスポートにより、外部記憶装置に書き出されたUIカスタマイズ情報をカスタマイズ情報DB411の保存形式に変換して書き戻す。
【0049】
UIカスタマイズ部358は、UIカスタマイズ情報の編集や又は複製して新規登録を行うための処理を制御する。より詳しくは、UIカスタマイズ部358は、参照部352を利用して編集する対象のUIカスタマイズ情報を参照し、カスタマイズ(編集)を行い、更新部353を利用してカスタマイズ結果(編集結果)をカスタマイズ情報DB411に反映する。
【0050】
本実施の形態ではUIカスタマイズ部358をUIカスタマイズ情報管理部350内に配置しているが、独立したプラグインとして実装してもよい。また、PCなどの専用アプリケーションにUIカスタマイズ部358を持つようにしても良い。
UIカスタマイズ部358は、UIカスタマイズ情報管理部350の提供する、
なお、図4において、カスタマイズ情報DB411及び認証情報DB412は、図2におけるデータ管理部410の構成要素である。
【0051】
本実施の形態では、コピーアプリケーション301の操作画面をカスタマイズ対象として説明する。図5は、コピーアプリケーションの操作画面例を示す図である。すなわち、図5に示される操作画面は、コピーアプリケーション301の機能UIプラグイン150に含まれる機能UIコンテンツ情報151に基づいて表示される画面である。
【0052】
図5において、71はトップ画面(操作対象がコピーアプリケーション301に切り替えられたときに最初に表示される操作画面)を示す。トップ画面71には、ボタン71−1〜ボタン71−19の19個のボタンが配置されている。このうち、本実施の形態では、71−1〜71−3のカラーモードを設定するためのボタン、71−6のキー色を反転させるためのボタン、71−13〜71−16の原稿面、印刷面、又は集約の設定を行うためのボタンについてカスタマイズ(表示又は非表示の切り替え)が可能であるとする。
【0053】
また、72は、トップ画面71においてボタン71−8が選択されたときに表示される用紙選択画面を示す。用紙選択画面72には、ボタン72−1〜ボタン72−6の6個のボタンが配置されている。このうち、本実施の形態では、72−3〜72−6の給紙トレイを選択するためのボタンについてカスタマイズ(表示又は非表示の切り替え)が可能であるとする。
【0054】
図5に示されるトップ画面71及び用紙選択画面72に対応する機能UIコンテンツ情報151(画面構成情報)を示す。図6は、コピーアプリケーションの操作画面の機能UIコンテンツ情報の構成例を示す図である。
【0055】
図6においてコピーアプリケーション301の機能UIコンテンツ情報151aは、コピーアプリケーション301の全操作画面の情報を定義する画面定義情報6−100と、操作画面に配置されるボタンやアイコン等の画面構成要素(表示部品)のレイアウトを定義する画面レイアウト情報6−101と、各ボタン内に配置されるメッセージやアイコン等の画面構成要素を定義するボタンレイアウト情報6−102から構成される。画面レイアウト情報101は、画面ごとに存在する。ボタンレイアウト情報6−102は、メッセージやアイコン等が配置されるボタンごとに存在する。
【0056】
画面定義情報6−100は、操作画面ごとに、画面ID、始点X、始点Y、幅、高さ、形状、及びレイアウト等の情報を有する。画面IDは、コピーアプリケーション301の機能UIプラグイン150の機能UI制御部152が操作対象とされた操作画面を識別するために利用されるIDである。始点X及びYは、オペレーションパネル602におけるタッチパネルの左上を起点としときの、操作画面の配置位置を規定する座標値である。幅及び高は、操作画面の幅と高さを示す情報である。形状は、操作画面の背景として表示させる画像のファイル名である。図6ではビットマップ画像を利用する例が示されている。レイアウトは、操作画面のレイアウトが定義された画面レイアウト情報6−101の識別名である。すなわち、レイアウトの値によって、操作画面とその画面レイアウト情報6−101とが関連付けられる。
【0057】
例えば、画面定義情報6−100において、行6−1は、図5で示したトップ画面71に関するデータであり、行6−2は、図5で示した用紙選択画面に関するデータである。
【0058】
続いて、画面レイアウト情報6−101について説明する。図6における画面レイアウト情報6−101は、トップ画面71の画面レイアウト情報、すなわち、行6−1のレイアウトの値として指定されている「layout_copy_top」という識別名によって識別される画面レイアウト情報である。
【0059】
画面レイアウト情報6−101において、行6−4〜行6−6は、対応する操作画面(トップ画面71)に配置されるアイコンに関する定義情報(アイコン情報)である。アイコン情報は、アイコンごとに、画面構成要素ID、始点X、始点Y、幅、高さ、及び画像等の情報を有する。
【0060】
画面構成要素IDは、画面IDと同様、機能UI制御部152がアイコンを特定するために利用されるIDである。始点XとYの列は、操作画面上におけるアイコンの配置位置を示す情報であり、例えば、操作画面の始点を基点とした相対座標値によって示される。幅、高さは、アイコンの幅、高さを示す。画像は、アイコンの画像のファイル名である。図6ではビットマップ画像を利用する例が示されている。
【0061】
行6−7及び行6−8は、対応する操作画面(トップ画面71)に表示するメッセージに関する情報(メッセージ情報)である。メッセージ情報は、メッセージごとに、画面構成要素ID、始点X、始点Y、幅、高さ、フォントサイズ、及びフォントカラー等の情報を有する。画像構成要素IDから高さまでの情報に関しては、アイコン情報におけるものと同義である。フォントサイズは、メッセージの文字のサイズである。フォントカラーは、メッセージの文字の色である。
【0062】
行6−9〜行6−27は、対応する操作画面(トップ画面71)に配置されるボタンに関する定義情報(ボタン情報)である。ボタン情報は、ボタンごとに、画面構成要素ID、始点X、始点Y、幅、高さ、形状、レイアウト、及びカスタマイズフラグ等の情報を有する。画像構成要素IDから高さまでの情報に関しては、アイコン情報におけるものと同義である。形状は、ボタンの形状(背景)として利用される画像のファイル名である。レイアウトは、ボタン内のレイアウト(配置されるアイコンやメッセージ等の配置)が定義されたボタンレイアウト情報6−102の識別名である。すなわち、レイアウトの値によって、ボタンとそのボタンレイアウト情報6−102とが関連付けられる。カスタマイズフラグは、カスタマイズの可否(表示又は非表示の切り替えの可否)を示す情報である。「true」は、カスタマイズが可能であることを示し、「false」は、カスタマイズが不可能であることを示す。
【0063】
続いて、ボタンレイアウト情報6−102について説明する。なお、図6におけるボタンレイアウト情報6−102は、図5におけるボタン71−1のボタンレイアウト情報、すなわち、行6−9のレイアウトの値として指定されている「layout_auto_color」という識別名によって識別されるボタンレイアウト情報である。なお、ボタンレイアウト情報6−102の構成は、画面レイアウト情報6−101におけるアイコン情報又はメッセージ情報と同じ形式である。図中の例では、メッセージに関する行6−28のみが定義されているが、これは、ボタン71−1には、メッセージのみが表示されるからである。
【0064】
以下、複合機1の処理手順について説明する。図7は、プラグインのインストール時の処理手順を説明するためのシーケンス図である。図7では、コピーアプリケーション301のプラグインをインストールする場合について説明する。
【0065】
例えば、ユーザがオペレーションパネル602上に表示されたインストール画面において「コピーアプリケーション301」を選択して「インストール」ボタン押下すると、UI制御部110は、プラグイン管理部210に対し、コピーアプリケーション301のインストールを要求する(S101)。プラグイン管理部210は、インストールするコピーアプリケーション301に対応する機能プラグイン370(以下、「コピープラグイン370a」という。)及び機能UIプラグイン150(以下、「コピーUIプラグイン150a」という。)を取得し、インストールされるべき位置に保存する(S102)。プラグインの取得は、ネットワークを介して所定のコンピュータからのダウンロードによって行われてもよいし、複合機1に接続された記録媒体(例えば、メモリカードスロット234にセットされたメモリカード235)より行われてもよい。
【0066】
続いて、プラグイン管理部210は、コピーアプリケーション301のコピープラグイン370aの動作オブジェクトを生成し(S103)、コピープラグイン370aのアドレス情報をプラグインアドレス保持部211に登録する(S104)。
【0067】
コピープラグイン105aは、動作オブジェクトの生成に応じ、プラグイン管理部210に対し当該動作オブジェクトの登録を要求する(S105)。プラグイン管理部210は、コピープラグイン370aの名称とその動作オブジェクトとを対応付けてプラグイン管理テーブル保持部212に登録する(S106)。
【0068】
続いて、プラグイン管理部210は、コピーアプリケーション301のコピーUIプラグイン150aの動作オブジェクトを生成する(S107)。コピーUIプラグイン150aは、自らの機能UIコンテンツ情報151(以下、「コピーUIコンテンツ情報151a」という。)より、カスタマイズ対象となる画面構成要素情報(UIカスタマイズ情報)を抽出し、抽出されたUIカスタマイズ情報の登録をUIカスタマイズ情報管理部350に要求する(S108)。なお、カスタマイズ対象となる画面構成要素情報とは、図6の画面レイアウト情報6−101におけるボタン情報のうち、カスタマイズフラグの値が「true」の行に係る情報が相当する。
【0069】
UIカスタマイズ情報の登録要求に応じ、カスタマイズ情報管理部350は、カスタマイズ情報DB411にカスタマイズ情報を保存する(S109)。これによって、コピーアプリケーション301のUIカスタマイズ情報はカスタマイズ情報DB411に永続化される(S110)。なお、カスタマイズ情報は、アプリケーション(プラグイン)ごとに関連付けられて保存される。
【0070】
一方、プラグイン管理部210は、コピーUIプラグイン150aの動作オブジェクトの生成後、コピーUIプラグイン150aのアドレス情報をプラグインアドレス保持部211に登録する(S111)。
【0071】
続いて、コピープラグイン105aは、プラグイン管理部210に対し当該動作オブジェクトの登録を要求する(S112)。プラグイン管理部210は、コピーUIプラグイン150aの名称とその動作オブジェクトとを対応付けてプラグイン管理テーブル保持部212に登録する(S113)。
【0072】
以上のインストール処理により、コピーアプリケーション301のUIカスタマイズ情報がカスタマイズ情報DB411に登録されたことになる。
【0073】
図8は、コピーアプリケーションのUIカスタマイズ情報が登録されたカスタマイズ情報DBの例を示す図である。図中において、(A)は、コピーアプリケーション301のUIカスタマイズ情報が登録される前のカスタマイズ情報DB411の状態を示す。(A)では、送信アプリケーション302に関するUIカスタマイズ情報が登録されている。
【0074】
図中に示されるように、UIカスタマイズ情報は、画面構成要素(ボタン)ごとに、機能名、画面ID、画面構成要素ID、及び表示状態等の情報を有する。機能名は、カスタマイズ対象とされるボタンを含む操作画面を表示させるプラグイン(アプリケーション)の機能を示す。画面IDは、カスタマイズ対象とされるボタンを含む操作画面の画面IDである。画面構成要素IDは、カスタマイズ対象とされるボタンの画面構成要素IDである。表示状態は、当該操作画面が表示される際に当該画面構成要素(ボタン)を表示するか否かを示す情報である。「true」は表示を示し、「false」は非表示を示す。
【0075】
一方、(B)は、コピーアプリケーション301のUIカスタマイズ情報が登録された後のカスタマイズ情報DB411の状態を示す。図示されるように、図6においてカスタマイズフラグの値が「true」であって、画面構成要素に関するレコードが新たに追加される。ここで、新たに追加されるレコードを構成する情報は、図7のステップS108において、コピーUIプラグイン150aによって出力されるものである。なお、機能名は、コピーUIプラグイン150a自身が知っている(保持している)ため、コピーUIコンテンツ情報151aより抽出された情報に対して、コピーUIプラグイン150aが付加する。また、表示状態の値は、最初にUIカスタマイズ情報が登録される際は、「true」をデフォルト値としてもよいし、プラグインごとに予め定義されている値が登録されてもよい。また、図8では、カスタマイズ情報DB411を単純なテーブルによって表現しているが、正規化して複数のテーブルによって構成してもよい。
【0076】
次に、UIカスタマズ情報を用いて、コピーアプリケーション301の操作画面をカスタマイズする際の処理について説明する。図9は、操作画面のカスタマイズ処理を説明するためのシーケンス図である。図9において、UIカスタマイズ情報管理部350は、UIカスタマイズ部358を除く部分に相当する。なお、図9の処理の開始時において、UIカスタマイズ部358は、既に、カスタマイズ情報DB411よりコピーアプリケーション301のUIカスタマイズ情報を取得し、保持(キャッシュ)していることとする。
【0077】
UIカスタマイズ部358は、カスタマイズ画面を例えばオペレーションパネル602に表示させ、カスタマイズ画面上においてコピーアプリケーション301の操作画面のカスタマイズをユーザに行わせる(S301)。
【0078】
カスタマイズ画面は、図8に示されるUIカスタマイズ情報に基づいて、カスタマイズ可能な画面構成要素ごとに表示又は非表示を選択(チェック)させる一覧表のようなものであってもよいし、実際の操作画面を表示させ、操作画面上において非表示とするボタン又は表示させるボタンを選択させるようなものであってもよい。いずれにしても、ユーザによるカスタマイズによって、表示又は非表示されるボタンが選択され、それに応じて、UIカスタマイズ部358は、キャッシュしているUIカスタマイズ情報を編集(更新)する。具体的には、表示対象とされたボタンの表示状態は「true」とし、非表示対象とされたボタンの表示状態は「false」とする。
【0079】
続いて、ユーザによってカスタマズ結果の保存要求が入力される(S302)。保存要求に応じ、UIカスタマイズ部358は、編集されたUIカスタマイズ情報をUIカスタマイズ情報管理部350に出力することにより、カスタマイズ情報DB411の更新を要求する(S303)。編集されたUIカスタマイズ情報と更新要求とを受信したUIカスタマイズ情報管理部350は、カスタマイズ情報DB411の内容を、受信したUIカスタマイズ情報で更新する(S304〜S307)。
【0080】
このように、本実施の形態では、操作画面(機能UIコンテンツ情報131)の差分情報であるUIカスタマイズ情報を編集することにより、操作画面のカスタマイズが行われる。なお、UIカスタマイズ情報は、変更があった画面構成要素(ボタン)に関するものだけをUIカスタマイズ部358が送信して更新を行ってもよいし、カスタマイズを行った画面に属する全ての画面構成要素に関するUIカスタマイズ情報をUIカスタマイズ部358が送信して、変更が無いものに関しても更新を行ってもよい。
【0081】
次に、UIカスタマイズ情報に基づいて、コピーアプリケーション301の操作画面(例えば、トップ画面71)が表示される際の処理手順について説明する。図10は、操作画面の表示処理の処理手順を説明するためのシーケンス図である。図10の処理は、コピーアプリケーション301以外のアプリケーション(例えば、ファクスアプリケーション303)の操作画面がオペレーションパネル602に表示されている状態において、ボタンの押下などのユーザによる入力により、コピーアプリケーション301の操作画面への遷移が生じることによって開始される。
【0082】
まず、UI制御部110は、コピーUIプラグイン150aの動作オブジェクト(以下、「コピーUIオブジェクト」という。)の取得をプラグイン管理部210に要求する(S201)。プラグイン管理部210は、プラグイン管理テーブル保持部212に保持されている動作オブジェクトの中から、コピーUIプラグイン150aの名称をキーとしてコピーUIオブジェクトを検索し(S202)、検索されたコピーUIオブジェクトをUI制御部110に送信する(S203)。
【0083】
続いて、UI制御部110は、コピーUIオブジェクトを介してコピーUIプラグイン150aに対し、コピーUIコンテンツ情報151aの取得を要求する(S204)。コピーUIプラグイン150aは、自身に属するコピーUIコンテンツ情報151aをUI制御部110に送信する(S205)。
【0084】
UI制御部110は、受信したコピーUIコンテンツ情報151aに基づき、コピーアプリケーション301の操作画面の生成を行う(S206)。UI制御部110は、操作画面の生成の過程において、コピーUIコンテンツ情報151a内にカスタマイズ対象となる画面構成要素(すなわち、カスタマイズフラグが「true」の画面構成要素)を発見すると、当該画面構成要素の画面構成要素IDを伴ってUIカスタマイズ情報の取得をUIカスタマイズ情報管理部350に要求する(S207)。
【0085】
UIカスタマイズ情報の取得要求を受信したUIカスタマイズ情報管理部350は、受信した画面構成要素IDに基づいて、要求されているUIカスタマイズ情報をカスタマイズ情報DB411より検索し、その検索結果(UIカスタマイズ情報)をUI制御部110に送信する(S208〜S211)。UI制御部110は、コピーUIコンテンツ情報151aに対し、取得されたUIカスタマイズ情報をマージして操作画面を生成する。すなわち、UIカスタマイズ情報において非表示とされている画面構成要素(ボタン)は表示されないように操作画面を生成する。
【0086】
操作画面の生成が完了すると、UI制御部110は、コピーUIプラグイン150aに画面生成完了通知を送信する(S212)。画面生成完了通知を受信したコピーUIプラグイン150aは、コピーアプリケーション301に対する設定情報(動作条件)を取得するため、当該設定情報を保持しているコピープラグイン370aの動作オブジェクト(以下、「コピーオブジェクト」という。)の取得をプラグイン管理に要求する(S213)。プラグイン管理部210は、プラグイン管理テーブル保持部212に保持されている動作オブジェクトの中から、コピープラグイン370aの名称に基づいてコピーオブジェクトを検索し(S214)、検索されたコピーオブジェクトをコピーUIプラグイン150aに送信する(S215)。
【0087】
コピーUIプラグイン150aは、取得したコピーオブジェクトを介して、コピーUIプラグイン150aに設定情報の取得を要求する(S216)。設定情報の取得要求を受信したコピーアプリケーション301は、その時点でのコピーアプリケーション301に対する設定情報をコピーUIプラグイン150aに送信する(S217)。なお、設定情報には、例えば、原稿のサイズや読み取り時のカラーモード、給紙するカセット段等に関する情報が含まれている。設定情報を受信したコピーUIプラグイン150aは、当該設定情報に基づき、画面の表示更新を行う(S218)。例えば、ボタンを反転表示させたり、メッセージを表示させたりする。
【0088】
このように、本実施の形態では、操作画面の生成は、各プラグインによってではなく、UI制御部110によって一元的に行われる。その際に、UIカスタマイズ情報に基づいて、カスタマイズされた操作画面が生成される。
【0089】
次に、コピーアプリケーション301のプラグインをアンインストールする際の処理手順について説明する。図11は、プラグインのアンインストール時の処理手順を説明するためのシーケンス図である。
【0090】
例えば、ユーザがオペレーションパネル602上に表示されたアンインストール画面において「コピーアプリケーション301」を選択して「アンインストール」ボタン押下すると、UI制御部110は、プラグイン管理部210に対し、コピーアプリケーション301のアンインストールを要求する(S401)。プラグイン管理部210は、コピープラグイン370a及びコピーUIプラグイン150aに対して停止要求を送信する(S402、S403)停止要求は、プログラムの削除であってもよく、また、プログラムを格納している記憶装置の管理テーブルからプログラムのアドレス情報の削除であってもよい。
【0091】
停止要求を受信したコピープラグイン370aは、停止前処理を行い、その完了後にプラグイン管理部210に応答を送信する(S403)。停止の応答を受信したプラグイン管理部210は、プラグイン管理テーブル保持部212が保持するプラグイン管理テーブルから、コピープラグイン370aの動作オブジェクト(コピーオブジェクト)を削除する(S404)。続いて、プラグイン管理部210は、プラグインアドレス保持部211が保持するコピープラグイン370aが格納されているアドレス等の情報を削除する(S405)。
【0092】
一方、停止要求を受信したコピーUIプラグイン150aは、停止前処理として、コピーアプリケーション301(コピーUIプラグイン150a)のUIカスタマイズ情報の削除をUIカスタマイズ情報管理部350に要求する(S407)。UIカスタマイズ情報の削除要求を受信したUIカスタマイズ情報管理部350は、カスタマイズ情報DB411に蓄積されているUIカスタマイズ情報からコピープラグイン370aに関連するUIカスタマイズ情報を削除する(S408、S409)。停止前処理としてのUIカスタマイズ情報の削除が完了すると、コピーUIプラグイン150aは、プラグイン管理部210に応答を送信する(S410)。
【0093】
停止の応答を受信したプラグイン管理部210は、プラグイン管理テーブル保持部212が保持するプラグイン管理部210テーブルから、コピーUIプラグイン150aの動作オブジェクト(コピーUIオブジェクト)を削除する(S404)。続いて、プラグイン管理部210は、プラグインアドレス保持部211が保持する、コピーUIプラグイン150aが格納されているアドレス等の情報を削除する(S405)。
【0094】
このように、コピーアプリケーション301(コピーUIプラグイン150a)のアンインストールに応じて、対応するUIカスタマイズ情報がカスタマイズ情報DB411から削除される。したがって、記憶領域の不要な消費が防止される。
【0095】
次に、UIカスタマイズ情報のエクスポート及びインボートについて説明する。上述したように、エクスポートとは、カスタマイズ情報DB411に永続化されているUIカスタマイズ情報を、CSV形式やXML形式などに変換し、外部記憶装置に書き出すことをいう。外部記憶装置に書き出された情報は、PCなどで読み込み、編集を行うことも可能である。
【0096】
また、インポートとは、エクスポートにより外部記憶装置に書き出された情報を、カスタマイズ情報DB411の保存形式に変換して書き戻すことをいう。インポートには、外部記憶装置の情報によってカスタマイズ情報DB411の全ての情報を上書きする完全インポートや、カスタマイズ情報DB411に存在しないデータのみを書き戻す差分インポート等があるが、いずれを用いても良い。
【0097】
エクスポート及びインボートは、UIカスタマイズ情報のバックアップや、他の機器でも同じUIカスタマイズ情報を利用したい場合等に便利である。
【0098】
図12は、UIカスタマイズ情報のエクスポート処理及びインポート処理を説明するためのシーケンス図である。
【0099】
例えば、操作パネル602に表示された、UIカスタマイズ情報のエクスポート要求を入力させる画面(エクスポート画面)を介して、エクスポート対象としてUIカスタマイズ情報が選択され、書き出し先の外部記憶装置が選択された後、エクスポートの開始を指示するボタンがユーザによって押下される(S501)。
【0100】
エクスポートの開始の指示を受けたUI制御部110は、エクスポート対象がUIカスタマイズ情報であるため、その情報を管理するUIカスタマイズ情報管理部350に対して書き出し先の外部記憶装置を識別する情報をパラメータとしてエクスポートを要求する(S502)。エクスポート要求を受けたUIカスタマイズ情報管理部350は、カスタマイズ情報DB411より全てのUIカスタマイズ情報を取得する(S503〜S505)。
【0101】
続いて、UIカスタマイズ情報管理部350は、取得したUIカスタマイズ情報をシリアライズ(CSV又はXML等の形式への変換)し(S506)、エクスポート要求において指定された外部記憶装置へ書き出す(S507)。この際、UIカスタマイズ情報管理部350は、書き出しの進捗状況をUI制御部110へ通知する(S508)。したがって、UI制御部110によって、進捗状況を示す画像(例えば、進捗バー)がオペレーションパネル602に表示される。全てのUIカスタマイズ情報の書き出しが終了すると、UIカスタマイズ情報管理部350は、UI制御部110へ終了通知を行い(S509)、エクスポート処理を終了させる。
【0102】
続いて、図12を用いてインポート処理について説明する。
【0103】
例えば、操作パネル602に表示された、UIカスタマイズ情報のインポート要求を入力させる画面(インポート画面)を介して、インポート対象としてUIカスタマイズ情報が選択され、書き出し先の外部記憶装置が選択された後、インポートの開始を指示するボタンがユーザによって押下される(S511)。
【0104】
インポートの開始の指示を受けたUI制御部110は、インポート対象がUIカスタマイズ情報であるため、その情報を管理するUIカスタマイズ情報管理部350に対して、読み込み対象の外部記憶装置を識別する情報をパラメータとして、UIカスタマイズ情報のインポートを要求する(S502)。インポート要求を受けたUIカスタマイズ情報管理部350は、インポート要求において指定された外部記憶装置からデータを読み込み(S513)、デシリアライズ(CSV又はXML等の形式への変換からカスタマイズ情報DB411における保存形式への変換)し(S514)、カスタマイズ情報DB411に書き戻す(S515、S516)。この際、UIカスタマイズ情報管理部350は、書き戻しの進捗状況をUI制御部110へ通知する(S517)。したがって、UI制御部110によって、進捗状況を示す画像(例えば、進捗バー)がオペレーションパネル602に表示される。全てのUIカスタマイズ情報の書き戻しが終了すると、カスタマイズ情報管理部350は、UI制御部110に終了通知を行い、インポート処理を終了させる(S518)。
【0105】
なお、図12では、カスタマイズ情報DB411に保存されている全てのUIカスタマイズ情報をエクスポート対象とする例について説明したが、アプリケーション(プラグイン)単位や画面単位等、所定の単位でエクスポートを行っても良い。
【0106】
ところで、上記では、ユーザごとのUIカスタマイズ情報の管理については特に言及されていない。しかし、ユーザに応じて使う機能が異なり、また、機器を利用する習熟度が異なることに鑑みれば、操作画面もユーザごとにパーソナライズされて表示されることが望ましい。そこで、以下では、ユーザに応じて操作画面の構成の変更を可能として例について説明する。
【0107】
ユーザに応じて操作画面の構成の変更を可能とするには、同一の操作画面に対して複数のUIカスタマイズ情報をユーザに応じて定義可能とすればよい。
【0108】
図13は、ユーザに応じて操作画面の構成の変更を可能とした場合のカスタマイズ情報DBの構成例を示す図である。
【0109】
図中において、13−100及び13−101は、同一の操作画面に対するUIカスタマイズ情報であり、それぞれを特定するためのIDが割り当てられている。すなわち、UIカスタマイズ情報13−100のIDは、「0」、UIカスタマイズ情報13−101のIDは、「1」である。なお、UIカスタマイズ情報の構成については、図8において説明した通りである。
【0110】
13−001は、複合機1に登録されている各ユーザと、当該ユーザが利用するUIカスタマイズ情報との関連付け情報である。例えば、理工太郎は複合機1の機能をもれなく利用したいということから、全ての機能を設定するためのボタンが表示されるIDが「1」のUIカスタマイズ情報13−101が利用対象とされている。また、山田花子と日本太郎は、カラー設定を行うボタンのうち、フルカラー及び自動カラー選択のボタンが非表示とされたIDが「0」のUIカスタマイズ情報13−100が利用対象とされている。
【0111】
なお、各ユーザが利用するUIカスタマイズ情報は、操作パネル602等を介して各ユーザに選択させてもよいし、管理者が、ユーザの役割等に応じて機能制限を行うために作成したUIカスタマイズ情報を、各ユーザに割り当ててもよい。
【0112】
また、図13では、複合機1を操作するための全操作画面に対するUIカスタマイズ情報を一つのまとまりとして扱っているが、それらを分割してアプリケーション(プラグイン)や機能の単位、又は操作画面の単位で扱い、分割された単位ごとに、各ユーザとの関連付けを行うようにしてもよい。
【0113】
更に、図13では、UIカスタマイズ情報を単純なテーブルで表現しているため、画面ID等、共通のデータを重複して保持するように構成されているが、正規化して一つのUIカスタマイズ情報を複数のテーブルによって管理するようにしてもよい。
【0114】
以下、UIカスタマイズ情報が図13に示されるように構成される場合の処理手順について説明する。図14は、ユーザに応じた操作画面の表示処理の処理手順を説明するためのシーケンス図である。
【0115】
例えば、オペレーションパネル602に表示されているログイン画面を介して、ユーザによってユーザ名及びパスワードが入力され、認証の開始を指示するボタンが押下される(S601)。認証の開始の指示を受けたUI制御部110は、ユーザ名とパスワードとをパラメータとして認証管理部230に認証を要求する(S602)。認証要求を受けた認証管理部230は、認証情報DB412からユーザ名が一致する情報(ユーザ名とパスワードとの組)を検索する(S603〜S605)。続いて、認証管理部230は、認証情報DB412より取得した情報に設定されているパスワードと、パラメータとして受け取ったパスワードとを比較し、一致しているかどうかの判定を行う(S606)。判定が終了すると、認証管理部230は、認証結果をUI制御部110に応答として通知する(S607)。
【0116】
ユーザの認証が成功した場合、UI制御部110は、ログインしたユーザに対応する操作画面を表示させるために、UIカスタマイズ情報管理部350に対して、ユーザ名を検索パラメータとして、当該ユーザに係る関連付け情報13−001(以下、「ユーザカスタマイズ情報」という。)の取得を要求する(S608)。
【0117】
ユーザカスタマイズ情報の取得要求を受け取ったUIカスタマイズ情報管理部350は、パラメータに指定されたユーザ名をキーとしてカスタマイズ情報DB411の関連付け情報13−001を検索し、指定されたユーザ名に関連付けられているIDに係るUIカスタマイズ情報を取得し、取得された情報を当該ユーザのユーザカスタマイズ情報をとしてUI制御部110に送信する(S612)。続いて、UI制御部110は、ログインしたユーザの利用するUIカスタマイズ情報のIDを、取得されたユーザカスタマイズ情報より取得し、保持する(S613)。
【0118】
続いて、ステップS614〜ステップS618において、図10のステップS201〜S205と同様の処理が実行される。
【0119】
続いて、UI制御部110は、コピーUIコンテンツ情報151aに基づき、コピーアプリケーション301の操作画面の生成を行う(S619)。UI制御部110は、操作画面の生成の過程において、コピーUIコンテンツ情報151a内にカスタマイズ対象となる画面構成要素(すなわち、カスタマイズフラグが「true」の画面構成要素)を発見すると、保持しているUIカスタマイズ情報のIDと当該画面構成要素の画面構成要素IDとをパラメータとしてUIカスタマイズ情報管理部350にUIカスタマイズ情報の取得を要求する(S620)。
【0120】
UIカスタマイズ情報取得要求を受信した、UIカスタマイズ情報管理部350はUIカスタマイズ情報のIDと画面構成要素IDとに基づき、カスタマイズ情報DB411の関連付け情報13−100等を検索し、その検索結果(ユーザカスタマイズ情報)をUI管理に送信する(S619〜S624)。
【0121】
以降の処理に関しては、図10におけるステップS212と同様であるため、ここでの説明は省略する。
【0122】
このように、本実施の形態では、ユーザに応じて異なる構成によって操作画面を表示させることができる。
【0123】
なお、UIカスタマイズ情報が図13のように構成される場合において、或るプラグイン(例えば、コピーアプリケーション301のプラグイン)がアンインストールされた場合、図11の処理において、アンインストール対象とされたプラグインに関して全ユーザ分のUIカスタマイズ情報をカスタマイズ情報DB412より削除すればよい。
【0124】
また、各UIカスタマイズ情報に、その内容をユーザが容易に識別可能な名称を設定可能としてもよい。また、アプリケーション(プラグイン)単位ではなく、ユーザ単位でUIカスタマイズ情報の削除を可能としてもよい。この場合、複数のプラグインを跨って、横断的にUIカスタマイズ情報が削除されうる。
【0125】
更に、ユーザ単位のエクスポート及びインポートを可能としてもよい。この場合、エクスポートを要求するユーザに関連付いているUIカスタマイズ情報がエクスポートされ、また、インポートを要求するユーザに関連付いているUIカスタマイズ情報が書き戻される。
【0126】
ところで、UIカスタマイズ情報管理部350は、プラグインの一つであるため、必要に応じて適宜インストール又はアンインストールが可能である。したがって、複合機1では、UIカスタマイズ情報管理部350が存在しない状況も発生しうる。以下、斯かる場合の処理手順について説明する。
【0127】
図15は、UIカスタマイズ情報管理部がインストールされていない場合の操作画面の表示処理の処理手順を説明するためのシーケンス図である。図15では、複合機1の起動時にコピーアプリケーション301の操作画面を表示する例について説明する。すなわち、図15では、複合機1の起動後に最初に表示される操作画面は、コピーアプリケーション301の操作画面であるとする。
【0128】
複合機1が起動されると、UI制御部110は、UIカスタマイズ情報管理部350の動作オブジェクト(以下、「UIカスタマイズ情報管理オブジェクト」という。)の取得をプラグイン管理部210に要求する(S701)。プラグイン管理部210は、プラグイン管理テーブル保持部212に保持されている動作オブジェクトの中からUIカスタマイズ情報管理オブジェクトを検索する(S702)。ここで、UIカスタマイズ情報管理部350のプラグインはインストールされていないため、その動作オブジェクトを見つけることはできない。したがって、プラグイン管理部210は、UIカスタマイズ情報管理オブジェクトは未登録であることをUI制御部110に通知する(S703)。プラグイン管理部210からの通知に応じ、UI制御部110は、UIカスタマイズ情報管理オブジェクトは未登録であることを記憶する。
【0129】
続いて、初期アプリケーションはコピーアプリケーション301であるという前提なので、UI制御部110は、コピーUIオブジェクトの取得をプラグイン管理部210に要求する(S704)。プラグイン管理部210は、プラグイン管理テーブル保持部212に保持されている動作オブジェクトの中から、コピーUIオブジェクトを検索し(S705)、検索されたコピーUIオブジェクトをUI制御部110に送信する(S706)。
【0130】
続いて、ステップS707及びS708では、図10のステップS204及びS205と同様の処理によって、UI制御部110は、コピーUIコンテンツ情報151aを取得する。続いて、UI制御部110は、受信したコピーUIコンテンツ情報151aに基づき、コピーアプリケーション301の操作画面(トップ画面71)の生成を行う(S709)。この際、図10の場合とは異なり、UI制御部110は、UIカスタマイズ情報管理オブジェクトを有していないため、コピーUIコンテンツ情報151a内におけるカスタマイズ対象となる画面構成要素の検索は行わない。したがって、コピーUIコンテンツ情報151aの情報のみで基本構成(デフォルト)の操作画面が生成される。
【0131】
画面の生成が完了した以降(S710以降)の処理手順は図10のステップS212以降と同様であるため、ここでの説明は省略する。
【0132】
上述したように、本実施の形態における複合機1によれば、UIカスタマイズ情報管理部350によって、インストールされたプラグインのそれぞれのUIカスタマイズ情報が一元管理される。また、UI制御部110によって、プラグインの操作画面の基本構成(既定の構成)としての画面構成情報(機能UIコンテンツ情報151)と、UIカスタマイズ情報とに基づいて、各プラグインの操作画面が一元的に生成される。したがって、各プラグインの開発者は、画面構成情報を定義しておけばよく、カスタマイズに関するロジックをプラグインに実装する必要はない。よって、開発作業が効率化されると共に、統一性のあるカスタマイズ手段を提供することができる。
【0133】
また、UIカスタマイズ情報管理部350によってUIカスタマイズ情報のエクスポート及びインポートが一元的に行われるため、プラグインごとに、UIカスタマイズ情報のエクスポート及びインポートに関するロジックを実装する必要はない。また、エクスポート及びインポートするデータのデータ形式が変更されても、その影響範囲は、UIカスタマイズ情報管理部350に限られ、各プラグインのソースコードを修正する必要はない。
【0134】
更に、ユーザに応じて異なるUIカスタマイズ情報を対応付けることが可能であるため、ユーザごとに最適な操作画面を提供することができ、アクセシビリティを向上させることができる。
【0135】
なお、本実施の形態では、カスタマイズの内容としてボタンの表示又は非表示を切り替える例について説明したが、カスタマイズ対象となる画面構成要素はボタンに限られない。また、カスタマイズの内容についても、配置場所の変更、サイズの変更、形状や色の変更等、各種の態様に対して本発明は適用可能である。但し、カスタマイズの内容に応じてUIカスタマイズ情報において管理する情報を変化させる必要がある。すなわち、本実施の形態のように、表示状態ではなく、配置場所の座標情報、サイズ、形状や色を示す情報等を管理すればよい。
【0136】
また、カスタマイズ情報DB411は、複合機1ごとに実装されていなくてもよい。例えば、ネットワークを介して接続されるコンピュータにおいて、複数の複合機1に対するUIカスタマイズ情報が一元管理されていてもよい。この場合、一元管理されているUIカスタマイズ情報を編集することによって、複数の複合機1の操作画面をカスタマイズすることができる。
【0137】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【0138】
【図1】本発明の実施の形態における画像形成装置のハードウェア構成の一例を示す図である。
【図2】本発明の実施の形態の画像形成装置におけるソフトウェア構成例を示す図である。
【図3】パイプ&フィルタアーキテクチャの概念を説明するための図である。
【図4】操作画面のカスタマイズ機能を実現するためのソフトウェア構成例を示す図である。
【図5】コピーアプリケーションの操作画面例を示す図である。
【図6】コピーアプリケーションの操作画面の機能UIコンテンツ情報の構成例を示す図である。
【図7】プラグインのインストール時の処理手順を説明するためのシーケンス図である。
【図8】コピーアプリケーションのUIカスタマイズ情報が登録されたカスタマイズ情報DBの例を示す図である。
【図9】操作画面のカスタマイズ処理を説明するためのシーケンス図である。
【図10】操作画面の表示処理の処理手順を説明するためのシーケンス図である。
【図11】プラグインのアンインストール時の処理手順を説明するためのシーケンス図である。
【図12】UIカスタマイズ情報のエクスポート処理及びインポート処理を説明するためのシーケンス図である。
【図13】ユーザに応じて操作画面の構成の変更を可能とした場合のカスタマイズ情報DBの構成例を示す図である。
【図14】ユーザに応じた操作画面の表示処理の処理手順を説明するためのシーケンス図である。
【図15】UIカスタマイズ情報管理部がインストールされていない場合の操作画面の表示処理の処理手順を説明するためのシーケンス図である。
【符号の説明】
【0139】
1 複合機
10 ユーザインタフェース層
20 コントロール層
30 機能実現層
40 デバイスサービス層
50 デバイス制御層
110 UI制御部
111 動作オブジェクト取得部
112 ユーザインタフェース部
120 通信サーバ1
150 機能UIプラグイン
151 機能UIコンテンツ情報
152 機能UI制御部
153 動作オブジェクト取得部
210 プラグイン管理部
211 プラグインアドレス保持部
212 プラグイン管理テーブル保持部
220 リクエスト管理部
230 認証管理部
231 認証部
311 読取フィルタ
312 保管文書読出フィルタ
313 メール受信フィルタ
314 ファクス受信フィルタ
321 文書加工フィルタ
322 文書変換フィルタ
331 印刷フィルタ
332 保管文書登録フィルタ
333 メール送信フィルタ
334 ファクス送信フィルタ
341 ユーザ情報管理部
350 UIカスタマイズ情報管理部
351 登録部
352 参照部
353 更新部
354 削除部
355 検索部
356 エクスポート部
357 インポート部
358 UIカスタマイズ部
370 機能プラグイン
371 機能実行部371
410 データ管理部
604 撮像部
605 印刷部
601 コントローラ
602 オペレーションパネル602
603 ファクシミリコントロールユニット
611 CPU
612 ASIC
621 NB
622 SB
631 MEM−P
632 MEM−C
633 HDD
634 メモリカードスロット
235 メモリカード
641 NIC
642 USBデバイス
643 IEEE1394デバイス
644 セントロニクスデバイス

【特許請求の範囲】
【請求項1】
それぞれに対応する表示画面を介して利用される複数のプログラムを有する情報処理装置であって、
前記表示画面の画面構成情報を管理する画面構成情報管理手段と、
前記表示画面に対するカスタマイズ内容が記録されるカスタマイズ情報を管理するカスタマイズ情報管理手段と、
複数のプログラムに対応する各表示画面を、当該表示画面に係る前記画面構成情報及び前記カスタマイズ情報に基づいて生成する画面生成手段とを有することを特徴とする情報処理装置。
【請求項2】
前記画面構成情報には表示画面の構成要素ごとにカスタマイズの可否を示すカスタマイズ可否情報が記録されており、
前記カスタマイズ可否情報に基づいてカスタマイズが可能な構成要素を前記画面構成情報より抽出し、抽出された構成要素に関してカスタマイズ内容が記録される前記カスタマイズ情報を生成し、前記カスタマイズ情報管理手段に登録するカスタマイズ情報生成手段を有することを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記表示画面のカスタマイズを行わせるカスタマイズ画面に対する入力に応じて前記カスタマイズ情報を更新するカスタマイズ情報更新手段を有することを特徴とする請求項1又は2記載の情報処理装置。
【請求項4】
前記プログラムのアンインストールに応じ、アンインストールの対象とされたプログラムに対応する前記カスタマイズ情報を前記カスタマイズ情報管理手段より削除するカスタマイズ情報削除手段を有することを特徴とする請求項1乃至3いずれか一項記載の情報処理装置。
【請求項5】
前記カスタマイズ情報管理手段に管理されているカスタマイズ情報を、所定の形式に変換して記録媒体に出力するカスタマイズ情報出力手段を有することを特徴とする請求項1乃至4いずれか一項記載の情報処理装置。
【請求項6】
前記所定の形式によって記録媒体に記録されているカスタマイズ情報を前記カスタマイズ情報管理手段における保存形式に変換して前記カスタマイズ情報管理手段に登録するカスタマイズ情報入力手段を有することを特徴とする請求項5記載の情報処理装置。
【請求項7】
前記カスタマイズ情報管理手段は、前記カスタマイズ情報をユーザに応じて管理し、
前記画面生成手段は、前記プログラムを利用するユーザに応じた前記カスタマイズ情報に基づいて表示画面を生成することを特徴とする請求項1乃至6いずれか一項記載の情報処理装置。
【請求項8】
前記カスタマイズ情報管理手段は削除可能であり、
前記画面生成手段は、前記カスタマイズ情報管理手段が存在しないときは、複数のプログラムに対応する各表示画面を、当該表示画面に係る前記画面構成情報に基づいて生成することを特徴とする請求項1乃至7いずれか一項記載の情報処理装置。
【請求項9】
それぞれに対応する表示画面を介して利用される複数のプログラムを有する情報処理装置が実行する画面カスタマイズ方法であって、
前記表示画面の画面構成情報を管理する画面構成情報管理手順と、
前記表示画面に対するカスタマイズ内容が記録されるカスタマイズ情報を管理するカスタマイズ情報管理手順と、
複数のプログラムに対応する各表示画面を、前記表示画面の画面構成情報を管理する画面構成情報管理手段に管理される画面構成情報と、前記表示画面に対するカスタマイズ内容が記録されるカスタマイズ情報を管理するカスタマイズ情報管理手段に管理されるカスタマイズ情報とに基づいて生成する画面生成手順とを有することを特徴とする画面カスタマイズ方法。
【請求項10】
前記画面構成情報には表示画面の構成要素ごとにカスタマイズの可否を示すカスタマイズ可否情報が記録されており、
前記カスタマイズ可否情報に基づいてカスタマイズが可能な構成要素を前記画面構成情報より抽出し、抽出された構成要素に関してカスタマイズ内容が記録される前記カスタマイズ情報を生成し、前記カスタマイズ情報管理手段に登録するカスタマイズ情報生成手順を有することを特徴とする請求項9記載の画面カスタマイズ方法。
【請求項11】
前記表示画面のカスタマイズを行わせるカスタマイズ画面に対する入力に応じて前記カスタマイズ情報を更新するカスタマイズ情報更新手順を有することを特徴とする請求項9又は10記載の画面カスタマイズ方法。
【請求項12】
前記プログラムのアンインストールに応じ、アンインストールの対象とされたプログラムに対応する前記カスタマイズ情報を前記カスタマイズ情報管理手段より削除するカスタマイズ情報削除手順を有することを特徴とする請求項9乃至11いずれか一項記載の画面カスタマイズ方法。
【請求項13】
前記カスタマイズ情報管理手段に管理されているカスタマイズ情報を、所定の形式に変換して記録媒体に出力するカスタマイズ情報出力手順を有することを特徴とする請求項9乃至12いずれか一項記載の画面カスタマイズ方法。
【請求項14】
前記所定の形式によって記録媒体に記録されているカスタマイズ情報を前記カスタマイズ情報管理手段における保存形式に変換して前記カスタマイズ情報管理手段に登録するカスタマイズ情報入力手順を有することを特徴とする請求項13記載の画面カスタマイズ方法。
【請求項15】
前記カスタマイズ情報管理手段は、前記カスタマイズ情報をユーザに応じて管理し、
前記画面生成手順は、前記プログラムを利用するユーザに応じた前記カスタマイズ情報に基づいて表示画面を生成することを特徴とする請求項9乃至14いずれか一項記載の画面カスタマイズ方法。
【請求項16】
前記カスタマイズ情報管理手段は削除可能であり、
前記画面生成手順は、前記カスタマイズ情報管理手段が存在しないときは、複数のプログラムに対応する各表示画面を、当該表示画面に係る前記画面構成情報に基づいて生成することを特徴とする請求項9乃至15いずれか一項記載の画面カスタマイズ方法。
【請求項17】
請求項9乃至16いずれか一項記載の画面カスタマイズ情報をコンピュータに実行させるための画面カスタマイズプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2009−54027(P2009−54027A)
【公開日】平成21年3月12日(2009.3.12)
【国際特許分類】
【出願番号】特願2007−221412(P2007−221412)
【出願日】平成19年8月28日(2007.8.28)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】