(57)【特許請求の範囲】
【請求項１】
カスタマイズされた画面の各画面要素及び該画面要素の各属性値を有する複数のＵＩファイルのうち、組み合わせ対象となる所定数のＵＩファイルの指示を受け付ける受付手段と、
前記ＵＩファイルの各属性値において、デフォルト属性値とカスタマイズ属性値との差分情報をＵＩファイル毎に取得する差分取得手段と、
各ＵＩファイルの同一属性間での前記差分情報をマージする第１整合手段と、
マージされた差分情報に基づく属性値を有する画面要素間で不整合を検知し、検知された画面要素の属性値を調整する第２整合手段と、
前記第２整合手段により調整された属性値を有する画面要素を配置する画面のＵＩファイルを生成する生成手段と、
を備える情報処理装置。
【請求項２】
前記第２整合手段は、
画面要素間の制約条件を取得する条件取得手段と、
複数の画面要素が重なる場合、前記複数の画面要素を前記制約条件に基づき配置する配置手段を備える請求項１記載の情報処理装置。
【請求項３】
前記第２整合手段は、
前記配置手段により前記複数の画面要素を配置した場合でも重なる場合、前記複数の画面要素の位置及びサイズを示す属性値を調整する調整手段をさらに備える請求項２記載の情報処理装置。
【請求項４】
前記第１整合手段は、
前記画面要素に対応する機能を取得し、機能とユーザの利用制限とを関連付けた利用制限情報から該機能に対する利用制限を受ける画面要素を検知する検知手段と、
前記検知手段により検知された画面要素の差分情報はマージせず、検知されなかった画面要素の差分情報をマージするマージ手段と、
を備える請求項１乃至３いずれか一項に記載の情報処理装置。
【請求項５】
前記第１整合手段は、
前記差分情報が各ＵＩファイルで異なる場合、該差分情報の属性値をカスタマイズしたユーザの優先度に基づいて該差分情報をマージする請求項１乃至４いずれか一項に記載の情報処理装置。
【請求項６】
前記第１整合手段は、
前記差分情報が各ＵＩファイルで異なる場合、いずれの差分情報を優先させるかをユーザに選択させる請求項１乃至４いずれか一項に記載の情報処理装置。
【請求項７】
前記第１整合手段は、
前記差分情報が各ＵＩファイルで異なる場合、異なる前記差分情報の平均をとる請求項１乃至４いずれか一項に記載の情報処理装置。
【請求項８】
カスタマイズされた画面の各画面要素及び該画面要素の各属性値を有する複数のＵＩファイルのうち、組み合わせ対象となる所定数のＵＩファイルの指示を受け付ける受付ステップと、
前記ＵＩファイルの各属性値において、デフォルト属性値とカスタマイズ属性値との差分情報をＵＩファイル毎に取得する差分取得ステップと、
各ＵＩファイルの同一属性間での前記差分情報をマージする第１整合ステップと、
マージされた差分情報に基づく属性値を有する画面要素間で不整合を検知し、検知された画面要素の属性値を調整する第２整合ステップと、
前記第２整合ステップにより調整された属性値を有する画面要素を配置する画面のＵＩファイルを生成する生成ステップと、
をコンピュータに実行させるためのカスタマイズ制御プログラム。
【請求項９】
請求項８記載のカスタマイズ制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＩのカスタマイズを行う情報処理装置、カスタマイズ制御プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
機器のＵＩ（ユーザインタフェース）に含まれる画面要素の大きさや位置や色などの属性を利用者の特性に合わせて変更するＵＩカスタマイズという技術が世に知られている。近年は、機器の操作パネルの解像度が大きくなるにつれて画面に配置する画面要素の個数が増えてきた。画面要素の増加に伴い、ＵＩカスタマイズの対象が増え、ＵＩカスタマイズを行う際の工数も大きくなってきた。そのため、カスタマイズを効率化するための技術の重要性が増している。
【０００３】
例えば、複数のユーザ各々に対応する設定情報を取得する取得手段と、前記取得手段により取得した設定情報をマージするマージ手段と、前記マージ手段によりマージされた設定情報に基づいて前記ユーザインタフェース情報を生成する生成手段とを具備する構成が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術によれば、画面要素間で不整合が生じるようなマージを行うことは想定されていない。よって、画面要素同士が、例えば重なってしまうなどの不整合が生じた場合、手動で調整を行う必要があった。また、複数のユーザのカスタマイズされた画面を組み合わせたい場合にも、同様の問題が発生する。
【０００５】
図１は、複数のユーザのカスタマイズされたＵＩ画面を組み合わせる場合のイメージを示す図である。図１に示す例では、オリジナルのＵＩを基に、例えばユーザＡが、カスタマイズされたＵＩ（１）、ユーザＢが、カスタマイズされたＵＩ（２）、ユーザＣが、カスタマイズされたＵＩ（３）を生成したとする。
【０００６】
ユーザＡは、ユーザＢとユーザＣのＵＩ画面を自身のＵＩ画面と組み合わせたい場合、まずは、カスタマイズされたＵＩ（１）とカスタマイズされたＵＩ（２）とを組み合わせる。このとき、カスタマイズされたＵＩ（１）＋（２）で不整合が生じないように、ユーザＡは、手動で調整する必要がある。例えば、ユーザＡは、画面要素の位置を変更したり、サイズを変更したりする。
【０００７】
次に、ユーザＡは、カスタマイズされたＵＩ（３）をカスタマイズされたＵ（１）＋（２）に手動で取り込み、不整合が生じないように調整する必要があった。
【０００８】
そこで、本発明は上記問題に鑑みてなされたものであり、ＵＩに対し、カスタマイズされた内容を複数組み合わせる場合に、不整合が生じないようにすることができる情報処理装置、カスタマイズ制御プログラム、及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様の情報処理装置は、カスタマイズされた画面の各画面要素及び該画面要素の各属性値を有する複数のＵＩファイルのうち、組み合わせ対象となる所定数のＵＩファイルの指示を受け付ける受付手段と、前記ＵＩファイルの各属性値において、デフォルト属性値とカスタマイズ属性値との差分情報をＵＩファイル毎に取得する差分取得手段と、各ＵＩファイルの同一属性間での前記差分情報をマージする第１整合手段と、マージされた差分情報に基づく属性値を有する画面要素間で不整合を検知し、検知された画面要素の属性値を調整する第２整合手段と、前記第２整合手段により調整された属性値を有する画面要素を配置する画面のＵＩファイルを生成する生成手段と、を備える。
【００１０】
また、本発明の他の態様のカスタマイズ制御プログラムは、カスタマイズされた画面の各画面要素及び該画面要素の各属性値を有する複数のＵＩファイルのうち、組み合わせ対象となる所定数のＵＩファイルの指示を受け付ける受付ステップと、前記ＵＩファイルの各属性値において、デフォルト属性値とカスタマイズ属性値との差分情報をＵＩファイル毎に取得する差分取得ステップと、各ＵＩファイルの同一属性間での前記差分情報をマージする第１整合ステップと、マージされた差分情報に基づく属性値を有する画面要素間で不整合を検知し、検知された画面要素の属性値を調整する第２整合ステップと、前記第２整合ステップにより調整された属性値を有する画面要素を配置する画面のＵＩファイルを生成する生成ステップと、をコンピュータに実行させる。
【００１１】
また、本発明は、本発明のプログラムを記録した記録媒体をコンピュータに読み取らせて実現することも可能である。
【発明の効果】
【００１２】
本発明によれば、ＵＩに対し、カスタマイズされた内容を複数組み合わせる場合に、不整合が生じないようにすることができる。
【図面の簡単な説明】
【００１３】
【図１】複数のユーザのカスタマイズされたＵＩ画面を組み合わせる場合のイメージを示す図。
【図２】本実施例におけるカスタマイズシステムの一例を示す図。
【図３】実施例における情報処理装置のハードウェアの一例を示すブロック図。
【図４】実施例におけるＭＦＰのハードウェアの一例を示すブロック図。
【図５】実施例における情報処理装置の構成の一例を示すブロック図。
【図６】アカウント管理手段が管理する情報の一例を示す図。
【図７】ＵＩファイルのデータ構造の一例を示す図。
【図８】画面生成手段の構成の一例を示すブロック図。
【図９】第１整合手段の構成の一例を示すブロック図。
【図１０】第２整合手段の構成の一例を示すブロック図。
【図１１】配置する際の制約条件の一例を示す図。
【図１２】複数のＵＩファイルを組み合わせる場合の具体例を示す図。
【図１３】実施例におけるカスタマイズ処理の一例を示すフローチャート。
【図１４】実施例における画面生成処理の一例を示すフローチャート。
【図１５】実施例における整合処理（その１）の一例を示すフローチャート。
【図１６】実施例における整合処理（その２）の一例を示すフローチャート。
【図１７】１つのＵＩファイルで複数のカスタマイズを組み合わせる場合の具体例を示す図。
【図１８】変形例における情報処理装置の構成の一例を示すブロック図。
【発明を実施するための形態】
【００１４】
以下、本発明の実施例を図面に基づいて説明する。実施例では、画像形成装置の一例として、複合機（ＭＦＰ：Multifunction Peripheral）を用いて説明する。
［実施例］
＜システム＞
図２は、本実施例におけるカスタマイズシステム（編集システム）１０の一例を示す図である。図２に示すように、カスタマイズシステム１０は、ネットワークを介してＭＦＰ５、６、７、情報処理装置１、２などが接続されている。情報処理装置１は、カスタマイズされたＵＩファイルなどを管理する管理サーバとして機能する。
【００１５】
情報処理装置１は、カスタマイズされたＵＩファイルを一元管理することで、複数のＭＦＰからアクセスされ、各ＭＦＰでこのＵＩファイルを用いることができる。なお、情報処理装置１は、ＭＦＰと別で設けたが、情報処理装置１のサーバ機能をＭＦＰが有するようにしてもよい。
【００１６】
接続される機器の数は図２に示す例に限られない。図２に示すカスタマイズシステム１０では、情報処理装置１が、各ＭＦＰのＵＩ画面のカスタマイズを行うことができる。また、各ＭＦＰ５でも、自身のＵＩ画面をカスタマイズすることができる。
【００１７】
＜ハードウェア＞
次に、実施例における情報処理装置１のハードウェアについて説明する。図３は、実施例における情報処理装置１のハードウェアの一例を示すブロック図である。図３に示すように、情報処理装置１は、制御部１１、主記憶部１２、補助記憶部１３、外部記録装置Ｉ／Ｆ部１４、ネットワークＩ／Ｆ部１５を含む。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。
【００１８】
制御部１１は、コンピュータの中で、各装置の制御やデータの演算、加工を行うＣＰＵである。また、制御部１１は、主記憶部１２に記憶されたプログラムを実行する演算装置であり、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
【００１９】
主記憶部１２は、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などであり、制御部１１が実行する基本ソフトウェアであるＯＳやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【００２０】
補助記憶部１３は、ＨＤＤ（Hard Disk Drive）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
【００２１】
外部記録装置I／F部１４は、ＵＳＢ（Universal Serial Bus）などのデータ伝送路を介して接続された記録媒体１８（例えば、フラッシュメモリなど）と情報処理装置１とのインタフェースである。
【００２２】
また、記録媒体１８に、所定のプログラムを格納するこの記録媒体１８に格納されたプログラムは、外部記録装置Ｉ／Ｆ部１４を介して情報処理装置１にインストールされる。インストールされた所定のプログラムは、情報処理装置１により実行可能となる。
【００２３】
ネットワークＩ／Ｆ部１５は、有線及び／又は無線回線などのデータ伝送路により構築されたＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などのネットワークを介して接続された通信機能を有する周辺機器と情報処理装置１とのインタフェースである。
【００２４】
なお、情報処理装置１は、入力部や表示部を備えてもよい。入力部は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部の表示画面上でキーの選択等を行うためのマウスやスライスパット等を有する。また、入力部は、ユーザが制御部１１に操作指示を与えたり、データを入力したりするためのユーザインタフェースである。
【００２５】
表示部は、ＣＲＴやＬＣＤ等により構成され、制御部１１から入力される表示データに応じた表示が行われる。なお、表示部は、情報処理装置１とは別体であってもよく、その場合の情報処理装置１は、表示部に表示するための表示制御機能を有する。
【００２６】
次に、実施例におけるＭＦＰ５のハードウェアについて説明する。図４は、実施例におけるＭＦＰ５のハードウェアの一例を示すブロック図である。図４に示すように、ＭＦＰ５は、制御部５１、主記憶部５２、補助記憶部５３、外部記録装置Ｉ／Ｆ部５４、ネットワークＩ／Ｆ部５５、操作部５６、エンジン部５７を含む。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。
【００２７】
制御部５１は、コンピュータの中で、各装置の制御やデータの演算、加工を行うＣＰＵである。また、制御部５１は、主記憶部５２や補助記憶部５３に記憶されたプログラムを実行する演算装置であり、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
【００２８】
主記憶部５２は、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などであり、制御部５１が実行する基本ソフトウェアであるＯＳやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【００２９】
補助記憶部５３は、ＨＤＤ（Hard Disk Drive）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
【００３０】
外部記録装置I／F部５４は、ＵＳＢ（Universal Serial Bus）などのデータ伝送路を介して接続された記録媒体５９（例えば、フラッシュメモリ、ＳＤカードなど）とＭＦＰ５とのインタフェースである。
【００３１】
また、記録媒体５９に、所定のプログラムを格納する。この記録媒体５９に格納されたプログラムは、外部記録装置Ｉ／Ｆ部５４を介してＭＦＰ５にインストールされる。インストールされた所定のプログラムは、ＭＦＰ５により実行可能となる。
【００３２】
ネットワークＩ／Ｆ部５５は、有線及び／又は無線回線などのデータ伝送路により構築されたＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などのネットワークを介して接続された通信機能を有する周辺機器とＭＦＰ５とのインタフェースである。
【００３３】
操作部５６は、キースイッチ（ハードキー）とタッチパネル機能（ＧＵＩのソフトウェアキーを含む：Graphical User Interface）を備えたＬＣＤ（Liquid Crystal Display）とから構成され、ＭＦＰ５が有する機能を利用する際のＵＩ（User Interface）として機能する表示及び／又は入力装置である。
【００３４】
エンジン部５７は、画像データの入出力ユニットとして、紙原稿の読み取り転写紙への印刷を行う。エンジン部５７は、スキャナエンジンなどをさらに備えてもよい。なお、ＭＦＰ６も、ＭＦＰ５と同様のハードウェア構成を有する。なお、以下に示すＭＦＰは、ＵＩ情報を処理するという意味で情報処理装置でもある。
【００３５】
＜構成＞
次に、実施例におけるＭＦＰ５と情報処理装置１の機能について説明する。まず、情報処理装置１の機能について説明する。図５は、実施例における情報処理装置１の構成の一例を示すブロック図である。
【００３６】
図５に示す情報処理装置１は、通信手段１０１、アカウント管理手段１０２、ＵＩファイル管理手段１０３を備える。通信手段１０１は、各ＭＦＰとデータ通信を行い、ユーザのログイン情報を受信したり、カスタマイズされたＵＩ画面のＵＩファイル情報などを各ＭＦＰに送信したりする。
【００３７】
アカウント管理手段１０２は、ユーザリスト（ユーザ情報）、グループリスト（グループ情報）、利用制限リスト（利用制限情報）を管理する。図６は、アカウント管理手段１０２が管理する情報の一例を示す図である。
【００３８】
図６（Ａ）は、ユーザリストの一例を示す。ユーザリストは、ユーザの氏名、パスワード、ＵＩ参照制限を含む。ユーザの氏名、パスワードは、ユーザ認証に用いられる情報である。ＵＩ参照制限は、各ユーザがカスタマイズしたＵＩに対する参照権限の情報である。参照権限は、参照を許可するユーザを列挙する、あるいは参照を拒否するユーザを列挙することができる。
【００３９】
図６（Ｂ）は、グループリストの一例を示す。グループリストは、グループ名、目的、対象者を含む。グループリストは、ユーザリストや利用制限リストから参照される。
【００４０】
図６（Ｃ）は、利用制限リストの一例を示す。利用制限リストは、ＵＩの画面要素に割り当てられた機能名と、利用制限の情報を含む。機能は、例えばＭＦＰのアプリケーションを示す。利用制限は、機能の実施を許可する、又は拒否するユーザ名やグループ名が列挙される。
【００４１】
図５に戻り、ＵＩファイル管理手段１０３は、ユーザ毎にＵＩファイルを管理する。ＵＩファイルは、ＵＩ画面の各画面要素及び画面要素の各属性値を有するファイルである。
【００４２】
図７は、ＵＩファイルのデータ構造の一例を示す図である。図７に示すＵＩファイルは、ＵＩ画面内の各画面要素のデータを保持する。画面要素は、例えばアイコンなどである。各画面要素は、対応する機能、デフォルト属性の各属性値、カスタマイズ属性の各属性値を含む。属性は、例えば、座標、サイズ、色などがある。デフォルト属性は、デフォルト属性値が設定されている。カスタマイズ属性は、ユーザによりデフォルト属性値がカスタマイズされた場合、カスタマイズ属性値が設定されている。
【００４３】
情報処理装置１は、各ＭＦＰからのユーザ認証要求に対してユーザ認証を行なったり、ＭＦＰに１又は複数のＵＩファイルを送信したりする。なお、通信手段１０１は、例えばネットワークＩ／Ｆ部１５により実現され、アカウント管理手段１０２、ＵＩファイル管理手段１０３は、例えば補助記憶装置１３などにより実現されうる。
【００４４】
次に、ＭＦＰ５の機能について説明する。図５に示すＭＦＰ５は、表示手段２０１、受付手段２０２、ユーザ認証手段２０３、通信手段２０４、画面記憶手段２０５、画面生成手段２０６を備える。
【００４５】
表示手段２０１は、ＵＩファイルから生成されたＵＩ画面を表示したり、ＵＩファイルの選択画面を表示したり、ユーザ認証画面を表示したりする。
【００４６】
受付手段２０２は、表示された画面から、ユーザの操作を受け付ける。受付手段２０２は、例えば、ユーザの認証に必要なアカウント情報や、組み合わせ対象となる複数のＵＩファイルの指示を受け付ける。受付手段２０２は、例えば、複数のＵＩファイルの指示を受け付けた場合、ＵＩファイルのＩＤなどを、通信手段２０４を介して情報処理装置１に送信する。
【００４７】
ユーザ認証手段２０３は、ユーザの認証やユーザに対応するカスタマイズされたＵＩ画面の特定を行う。
【００４８】
通信手段２０４は、情報処理装置１と各種データのやり取りを行う。例えば、通信手段２０４は、受付手段２０２から取得したＵＩファイルのＩＤを情報処理装置１に送信し、このＵＩファイルＩＤに対応するＵＩファイルを受信する。また、通信手段２０４は、機能とユーザの利用制限とを関連付けた利用制限情報などを情報処理装置１から受信する。
【００４９】
画面記憶手段２０５は、情報処理装置１から取得したＵＩファイルを記憶したり、カスタマイズされた複数のＵＩファイルを組み合わせたＵＩファイルを記憶したりする。
【００５０】
画面生成手段２０６は、カスタマイズされたＵＩファイルを組み合わせ、表示手段２０１で表示可能な形式に変換する。以下、画面生成手段２０６について詳しく説明する。画面生成手段２０６は、画面記憶手段２０５を含むように構成されてもよい。
【００５１】
なお、表示手段２０１、受付手段２０２は、例えば操作部５６により実現され、画面記憶手段２０５は、例えば主記憶部５２により実現され、通信手段２０４は、例えばネットワークＩ／Ｆ部５５により実現されうる。また、ユーザ認証手段２０３、画面生成手段２０６は、例えば制御部５１及びワークメモリとしての主記憶部５２により実現されうる。
【００５２】
図８は、画面生成手段２０６の構成の一例を示すブロック図である。図８に示す画面生成手段２０６は、画面解釈手段３０１、画面描画手段３０２、差分取得手段３０３、第１整合手段３０４、第２整合手段３０５を備える。
【００５３】
画面解釈手段３０１は、通信手段２０４により取得された複数のＵＩファイルを読み込み、それぞれ画面要素の属性として解釈する。解釈された画面要素は、画面描画手段３０２に出力される。
【００５４】
画面描画手段３０２は、ＵＩファイルの画面要素に応じて、テキストやボタンやアイコンなどを画面要素の属性に従って描画する。
【００５５】
差分取得手段３０３は、複数のＵＩファイルのそれぞれの画面要素に対して、デフォルト属性値と、カスタマイズされた属性値（カスタマイズ属性値）との差分情報を取得する。取得した差分情報は、第１整合手段３０４に出力する。
【００５６】
第１整合手段３０４は、複数のＵＩファイルの属性の差分情報をマージする。同一の属性において複数の差分情報がある場合（競合が発生した場合）は、カスタマイズしたユーザの優先度に従う、あるいはユーザにどのカスタマイズ（又は差分情報）を優先させるかを指示させる、あるいは属性の差分情報を平均化するなどする。
【００５７】
第１整合手段３０４は、差分情報をマージすることで、各属性に対し、１つの属性値を取得することができる。第１整合手段３０４は、マージされた差分情報に基づく属性値を有する画面要素を含むＵＩファイルの情報を第２整合手段３０５に出力する。第１整合手段３０４は、図９を用いて後述する。
【００５８】
第２整合手段３０５は、マージされた差分情報に基づく属性値を有する複数の画面要素間で不整合を検知し、検知された画面要素の属性値を調整する。不整合とは、例えば、画面要素が重なる、画面要素の一部が表示領域を超えるなどである。第２整合手段３０５は、図１０を用いて後述する。
【００５９】
次に、第１整合手段３０４について詳しく説明する。図９は、第１整合手段３０４の構成の一例を示すブロック図である。図９に示す第１整合手段３０４は、利用制限取得手段４０１、利用制限検知手段４０２、マージ手段４０３を備える。
【００６０】
利用制限取得手段４０１は、通信手段２０４が情報処理装置１から取得した、カスタマイズを行うユーザが利用制限を受ける機能を取得する。通信手段２０４は、認証時のユーザ情報を情報処理装置１に送信し、情報処理装置１は、アカウント管理手段１０２の利用制限リストからこのユーザ情報に対応する利用制限の情報（利用制限を受ける機能名）を特定する。情報処理装置１は、特定した利用制限の情報を、通信手段１０１を介してＭＦＰ５に送信する。
【００６１】
利用制限取得手段４０１は、カスタマイズを行うユーザに対する利用制限を受ける機能を、利用制限検知手段４０２に出力する。
【００６２】
利用制限検知手段４０２は、ＵＩファイルの画面要素に対応する機能を取得し（図７参照）、利用制限取得手段４０１から取得した利用制限を受ける機能と同じ機能があれば、この機能の画面要素を検知する。利用制限検知手段４０２は、検知した画面要素をマージ手段４０３に出力する。
【００６３】
利用制限を受ける機能について、例えば、管理者のみが使用する機能の画面要素を、一般ユーザが取り込もうとした場合、この画面要素は、一般ユーザにとって、利用制限を受ける機能の画面要素となる。
【００６４】
マージ手段４０３は、検知された画面要素については差分情報をマージせず、利用制限を受けない機能の画面要素については差分情報をマージする。差分情報をマージする際に、同一属性において複数の差分情報がある場合は、どの差分情報を優先するかを決める必要がある。これは、前述したように、カスタマイズしたユーザの優先度に応じて決めてもよいし、ＵＩファイルを組み合わせるユーザに決めさせてもよいし、差分情報の平均値をとってもよい。
【００６５】
これにより、画面要素をカスタマイズする場合に、その画面要素の利用の権限があるか否かを判断して、権限に応じたカスタマイズを行うことができる。
【００６６】
次に、第２整合手段３０５について詳しく説明する。図１０は、第２整合手段３０５の構成の一例を示すブロック図である。図１０に示す第２整合手段３０５は、整合設定取得手段５０１、重なり検知手段５０２、配置手段５０３、位置、サイズ調整手段５０４を備える。
【００６７】
整合設定取得手段５０１は、画面要素の属性間整合において、ユーザ毎に設定された重なりと判定する条件（重なり判定条件ともいう）や、画面要素を配置する際の画面要素間の制約条件や、位置やサイズを調整する際の調整条件を取得する。整合設定取得手段５０１が取得する各条件は、情報処理装置１から取得するようにすればよい。情報処理装置１は、これらの条件を保持しておく。
【００６８】
重なり検知手段５０２は、整合設定取得手段５０１により取得された重なり判定条件に従って、画面要素間のバウンディングボックスを比較することで、重なりを検知する。この条件は、ユーザがカスタマイズすることができる。重なり判定条件は、例えば、画面要素のバウンディングボックス同士が１０ピクセル以内であれば重なりと判定するという条件である。
【００６９】
重なり検知手段５０２は、重なりがあると判定された場合、その旨を配置手段５０３に通知する。重なり検知手段５０２によって重なりがないと判定された場合、画面生成手段２０６は、マージされた差分情報に基づく属性値に従って画面要素を配置し、組み合わされたＵＩ画面を生成する。
【００７０】
配置手段５０３は、重なりがあると判定された画面要素を、配置する際の制約条件に従って配置する。
【００７１】
図１１は、配置する際の制約条件の一例を示す図である。図１１に示す制約条件は、最も右にある画面要素の右境界線は整列させるという条件、画面要素間は等間隔で配置されるという条件、画面要素間の縦方向は最小間隔以上離すという条件、及び／又は画面要素間の横方向は最小間隔以上離すという条件が設定されている。これらの各条件は、全て適用する必要はなく、必要な条件を適用すればよい。また、制約条件は、ユーザ毎に設定することができる。
【００７２】
図１０に戻り、配置手段５０３は、制約条件に従って画面要素を配置した場合、制約条件と、各属性値との間で矛盾が生じているか否かを判定する。矛盾が生じるとは、制約条件に従って配置すると、他の画面要素と重なってしまう場合や、画面要素が画面外の領域に配置されてしまうなどをいう。
【００７３】
配置手段５０３は、矛盾が生じた場合は、位置・サイズ調整手段５０４にその旨を通知する。配置手段５０３によって矛盾が生じなかった場合、画面生成手段２０６は、この配置に基づくＵＩ画面を生成する。
【００７４】
位置・サイズ調整手段５０４は、配置する際の制約条件に従って画面要素を配置しても矛盾が生じる場合、整合設定取得手段５０１により取得された位置やサイズを調整する際の調整条件に従って、位置やサイズの属性値を調整する。例えば、この調整条件には、サイズを１０％小さくする、画面要素同士の位置を１０ピクセルずらす、などが設定されている。これらの調整条件の設定値は、各ユーザがカスタマイズすることができる。
【００７５】
位置・サイズ調整手段５０４は、この調整を繰り返し、画面要素間で矛盾が生じなければ、調整を終了する。また、位置・サイズ調整手段５０４は、この調整を繰り返し、矛盾が生じたまま繰り返し回数が閾値以上になった場合、調整条件又は属性値をユーザに調整してもらうようにする。
【００７６】
位置・サイズ調整手段５０４により属性値の調整が終わると、画面生成手段２０６は、この配置に基づくＵＩ画面を生成する。なお、配置手段５０３と位置・サイズ調整手段５０４とをまとめて構成し、画面要素同士が重ならないように属性値を調整してもよい。
【００７７】
＜具体例＞
図１２は、複数のＵＩファイルを組み合わせる場合の具体例を示す図である。図１２に示すＵＩ画面６０１は、オリジナルのＵＩ画面を示す。ＵＩ画面６０２は、ユーザＡによりｃｏｐｙの画面要素が拡大されたＵＩ画面を示す。ＵＩ画面６０３は、ユーザＢにより各画面要素の色が変更されたＵＩ画面を示す。ＵＩ画面６０４は、ユーザＣによりｌｏｇの画面要素が追加され、その他の画面要素が移動されたＵＩ画面を示す。ＵＩ画面６０５は、管理者によりａｄｍｉｎの画面要素が追加され、その他の画面要素が移動されたＵＩ画面を示す。なお、ａｄｍｉｎの画面要素は、管理者のみが利用できる機能の画面要素である。
【００７８】
ここで、ユーザＡが、例えば表示手段２０１に表示されたＵＩ画面の一覧から、ＵＩ画面６０２〜６０５を選択し、組み合わせる指示をしたとする。このとき、受付手段２０２は、組み合わせが指示された各ＵＩ画面のＵＩファイルを特定するためのＵＩファイルＩＤを取得し、通信手段２０４を介して情報処理装置１に送信する。
【００７９】
情報処理装置１は、このＵＩファイルＩＤに対応するＵＩファイルを取得し、ＭＦＰ５に送信する。また、情報処理装置１は、利用制限情報をＭＦＰ５に送信してもよい。
【００８０】
ＭＦＰ５は、複数のＵＩファイルを取得した場合、まず、第１整合手段３０４で、差分情報のマージを行う。このとき、ＭＦＰ５は、利用制限情報を参照すると、ａｄｍｉｎの画面要素は、管理者のみが許可されていることを知ることができ、ａｄｍｉｎの画面要素をマージしない。その他の差分情報は、マージされる。
【００８１】
この結果のＵＩ画面が、ＵＩ画面６０６である。ＵＩ画面６０６は、ａｄｍｉｎの画面要素はマージされておらず、ＵＩ画面６０２のＵＩファイルに基づきｃｏｐｙの画面要素のサイズが変更される。また、ＵＩ画面６０６は、ＵＩ画面６０３のＵＩファイルに基づき各画面要素の色が変更され、ＵＩ画面６０４のＵＩファイルに基づきｌｏｇの画面要素が追加され、各画面要素の位置が変更されている。
【００８２】
次に、ＭＦＰ５は、第２整合手段３０５で、画面要素間で重なりが発生していないかを検知し、重なりが発生しないよう、また、配置する際の制約条件を満たすように画面要素の属性値を調整する。
【００８３】
ＵＩ画面６０６では、ｃｏｐｙの画面要素と、ｓｃａｎの画面要素とが重なっているので、位置・サイズ調整手段５０４により、これらの画面要素の位置が移動される。画面生成手段２０６は、これらの画面要素の配置に基づくＵＩ画面を生成する。
【００８４】
すなわち、ＭＦＰ５は、カスタマイズされた複数のＵＩファイルを組み合わせる際、カスタマイズ前の属性値からの差分のうち、画面要素毎に画面要素の追加、画面要素の削除、画面要素のサイズ変更量（幅、高さ）、画面要素の位置変更量（Ｘ，Ｙ）を抽出する。ＭＦＰ５は、その差分をマージして画面要素に適用し、画面要素のバウンディングボックスを他のバウンディングボックスと比較して重なりを検知する。ＭＦＰ５は、重なりがある場合には、画面要素間の制約条件（アスペクト比固定、等間隔、整列など）に基づいて画面要素のサイズと画面要素の位置を調整する。
【００８５】
＜動作＞
次に、ＭＦＰ５の動作について説明する。図１３は、実施例におけるカスタマイズ処理の一例を示すフローチャートである。図１３に示すステップＳ１０１で、受付手段２０２は、操作部５６を用いて入力された認証情報を取得する。ユーザ認証手段２０３は、取得された認証情報を用いてユーザ認証を行う。
【００８６】
ステップＳ１０２で、ユーザ認証手段２０３は、認証されたユーザに対して、そのユーザの権限に応じて利用可能なカスタマイズされたＵＩ画面を、表示手段２０１を通じて表示する。表示されるＵＩ画面は、例えば、ユーザ自身のＵＩ画面および他のユーザのＵＩ画面である。また、表示手段２０１は、そのＵＩ画面に対し、いつ、誰がカスタマイズしたかなど表示するようにしてもよい。受付手段２０２は、ユーザにより指示された組み合わせの対象となる複数のＵＩ画面のＵＩファイルを受け付ける。
【００８７】
ステップＳ１０３で、通信手段２０４は、組み合わせ対象の複数のＵＩファイルを情報処理装置１から取得する。通信手段２０４は、取得した複数のＵＩファイルを画面生成手段２０６に出力する。
【００８８】
ステップＳ１０４で、画面生成手段２０６は、取得した複数のＵＩファイルを組み合わせたＵＩ画面を生成する。
【００８９】
ステップＳ１０５で、画面記憶手段２０５は、画面生成手段２０６により組み合わされたＵＩ画面を記憶する。
【００９０】
ステップＳ１０６で、表示手段２０１は、組み合わされたＵＩ画面を表示する。
【００９１】
（画面生成処理）
次に、画面生成手段２０６による画面生成処理について説明する。図１４は、実施例における画面生成処理の一例を示すフローチャートである。図１４に示すステップＳ２０１で、画面解釈手段３０１は、指定された複数のＵＩファイルを読み込み、それぞれに含まれる画面要素の属性情報を解釈する。
【００９２】
ステップＳ２０２で、差分取得手段３０３は、それぞれのＵＩファイルに対して、カスタマイズによる画面要素の属性値とデフォルトの属性値との差分情報を取得する。
【００９３】
ステップＳ２０３で、第１整合手段３０４は、複数のＵＩファイルの属性の差分情報をマージする。第１整合手段３０４は、同一属性において複数の差分情報がある場合は、カスタマイズしたユーザの優先度に従う、あるいはユーザにどの差分情報を優先させるかを指示させる、あるいは属性の差分情報を平均化するなどする。
【００９４】
ステップＳ２０４で、第２整合手段３０５は、複数の画面要素間で、画面要素同士が重なるなどの不整合を検知し、この画面要素の属性値を調整する。
【００９５】
（第１整合処理）
次に、第１整合手段３０４による整合処理について説明する。図１５は、実施例における整合処理（その１）の一例を示すフローチャートである。図１５に示すステップＳ３０１で、利用制限取得手段４０１は、複数のＵＩファイル間で、不整合があるが、まだ未処理の画面要素があるか否かをチェックする。未処理の画面要素がある場合（ステップＳ３０１−ＹＥＳ）ステップＳ３０２に進み、未処理の画面要素がない場合（ステップＳ３０１−ＮＯ）この処理を終了する。
【００９６】
ステップＳ３０２で、利用制限取得手段４０１は、未処理の画面要素に対して、情報処理装置１からユーザが利用制限を受ける機能を取得する。
【００９７】
ステップＳ３０３で、利用制限検知手段４０２は、ＵＩファイルの画面要素から対応機能を取得し、利用制限を受ける機能に対応する画面要素があるか否かを判定する。利用制限がある場合ステップＳ３０１に戻り、利用制限がない場合ステップＳ３０４に進む。
【００９８】
ステップＳ３０４で、マージ手段４０３は、利用制限を受けない画面要素の差分情報をマージする。
【００９９】
（第２整合処理）
次に、第２整合手段３０５による整合処理について説明する。図１６は、実施例における整合処理（その２）の一例を示すフローチャートである。図１６に示すステップＳ４０１で、整合設定取得手段５０１は、画面要素の属性間整合において、ユーザ毎に設定された重なりと判定する重なり判定条件や、画面要素を配置する際の画面要素間の制約条件や、位置やサイズを調整する際の調整条件を取得する。
【０１００】
ステップＳ４０２で、重なり検知手段５０２は、整合設定取得手段５０１により取得された重なり判定条件に従って画面要素間のバウンディングボックスを比較することで、重なりを検知する。重なりがある場合はステップＳ４０３に進み、重なりがない場合は、この処理を終了し、ＵＩ画面が生成される。
【０１０１】
ステップＳ４０３で、配置手段５０３は、整合設定取得手段５０１により取得された制約条件に従って画面用素を配置する。
【０１０２】
ステップＳ４０４で、位置・サイズ調整手段５０４は、配置の制約条件とＵＩファイルの属性値間で整合するか否かをチェックする。これらに矛盾があれば（両立しない）ステップＳ４０５に進み、これらに矛盾がなければ（両立する）この処理を終了し、ＵＩ画面が生成される。
【０１０３】
ステップＳ４０５で、位置・サイズ調整手段５０４は、整合チェックを繰り返した回数が閾値以上か否かを判定する。繰り返し回数が閾値以上であればステップＳ４０７に進み、繰り返し回数が閾値未満であればステップＳ４０６に進む。繰り返し回数の閾値は、例えば５回とする。
【０１０４】
ステップＳ４０６で、位置・サイズ調整手段５０４は、整合設定取得手段５０１により取得された調整条件（１０％ずつサイズを小さくする、１０ｐｘずつ位置をずらすなど）に従い、サイズと位置を調整する。ステップＳ４０６の処理後は、ステップＳ４０４に進む。
【０１０５】
ステップＳ４０７で、整合設定取得手段５０１は、矛盾を調整するために、ステップＳ４０１で取得されたユーザ毎に設定された条件を変更するためのユーザの指示を受ける。また、画面生成手段２０６は、現状のＵＩ画面を表示し、ユーザに画面要素を直接調整させてもよい。ステップＳ４０７の処理後、ステップＳ４０２に戻る。
【０１０６】
以上、実施例によれば、ＵＩに対し、カスタマイズされた内容を複数組み合わせる場合に、不整合が生じないようにすることができる。また、実施例によれば、画面要素の利用制限も考慮して複数のＵＩファイルを組み合わせることができる。また、実施例によれば、画面の重なり等を自動で解消することができる。
【０１０７】
また、ＭＦＰでのカスタマイズを考えた場合、表示部が小さく、ＭＦＰの操作画面の性質上画面遷移を行いながらカスタマイズを行うため、ユーザビリティがよくなかったが、本発明では、組み合わせ対象の複数のＵＩファイルを選択するだけでよいので、ユーザビリティが向上する。
【０１０８】
［変形例］
次に、本発明の変形例について説明する。実施例では、複数のＵＩファイルを組み合わせる際の処理について説明したが、一人のユーザが、１つのＵＩファイルに対し、複数のカスタマイズを行いたい場合にも適用可能である。
【０１０９】
図１７は、１つのＵＩファイルで複数のカスタマイズを組み合わせる場合の具体例を示す図である。図１７に示すＵＩ画面７０１は、オリジナル（デフォルト）のＵＩ画面を示す。ＵＩ画面７０２は、ｃｏｐｙの画面要素が拡大されたＵＩ画面を示す。ＵＩ画面７０３は、各画面要素の色が変更されたＵＩ画面を示す。ＵＩ画面７０４は、ｌｏｇの画面要素が追加され、その他の画面要素が移動されたＵＩ画面を示す。
【０１１０】
ここで、ユーザが、カスタマイズを終了し、ＯＫボタンを押下したとする。このとき、受付手段２０２は、カスタマイズされた属性値を画面生成手段２０７に出力する。
【０１１１】
ＭＦＰ５は、まず、第１整合手段３０４で、差分情報のマージを行う。この結果のＵＩ画面が、ＵＩ画面７０５である。ＵＩ画面７０５は、ＵＩ画面７０２のＵＩファイルに基づきｃｏｐｙの画面要素のサイズが変更される。また、ＵＩ画面７０５は、ＵＩ画面７０３のＵＩファイルに基づき各画面要素の色が変更され、ＵＩ画面７０４のＵＩファイルに基づきｌｏｇの画面要素が追加され、各画面要素の位置が変更されている。
【０１１２】
次に、ＭＦＰ５は、第２整合手段３０５で、画面要素間で重なりが発生していないかを検知し、重なりが発生しないよう、また、配置する際の制約条件を満たすように画面要素の属性値を調整する。
【０１１３】
ＵＩ画面７０５では、ｃｏｐｙの画面要素と、ｓｃａｎの画面要素とが重なっているので、位置・サイズ調整手段５０４により、これらの画面要素の位置が移動される。画面生成手段２０６は、これらの画面要素の配置に基づくＵＩ画面を生成する。
【０１１４】
よって、カスタマイズの目的が複数あった場合に、それぞれを一度に行ってしまうのではなく、別々にカスタマイズすることで作業の簡便化を図ることができ、最終的に複数のカスタマイズを組み合わせることができる。
【０１１５】
また、上記実施例では、ＭＦＰ５が、ＵＩファイルを組み合わせる処理を行ったが、情報処理装置１で上記処理を行うようにしてもよい。図１８は、変形例における情報処理装置１の構成の一例を示すブロック図である。
【０１１６】
図１８に示す情報処理装置１は、通信手段８０１、アカウント管理手段１０２、ＵＩファイル管理手段１０３、ユーザ認証手段２０３、画面記憶手段２０５、画面生成手段２０６を備える。図１８に示す構成で、図５に示す構成と同様のものは同じ符号を付し、その説明を省略する。
【０１１７】
通信手段８０１は、各ＭＦＰや情報処理装置２とデータ通信を行う。通信手段８０１は、情報処理装置１などから指示された複数のＵＩファイルの組み合わせる要求がきたら、その要求を画面生成手段２０６に出力する。通信手段８０１は、組み合わせる対象となる複数のＵＩファイルを受け付けることから、受付手段としても機能する。
【０１１８】
画面生成手段２０６は、指示された複数のＵＩファイルをＵＩファイル管理手段１０３から特定し、実施例で説明したように、第１整合処理、第２整合処理を行ってＵＩファイルを組み合わせる。これにより、情報処理装置１でも、複数のＵＩファイルを組み合わせることができる。
【０１１９】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせて情報処理装置を構成することも可能である。
【０１２０】
なお、実施例において説明した処理内容をプログラムとし、このプログラムをコンピュータに実行させて前述した処理を情報処理装置に実行させることも可能である。また、このプログラムを記録媒体に記録し、このプログラムが記録された記録媒体をコンピュータに読み取らせて、前述した処理を情報処理装置に実行させることも可能である。
【符号の説明】
【０１２１】
１  情報処理装置
５、６  ＭＦＰ
１１、５１  制御部
１２、５２  主記憶部
１３、５３  補助記憶部
１４、５４  外部記憶装置Ｉ／Ｆ部
１５、５５  ネットワークＩ／Ｆ部
１６  入力部
１７、５７  表示部
５６  操作部
５８  エンジン部
１０１  受付手段
１０３  送信手段
１０５  受信手段
１０７  表示制御手段
５０１  記憶手段
５０３  受信手段
５０５  判断手段
５０７  生成手段
５０９  送信手段
５１１  マージ手段
【先行技術文献】
【特許文献】
【０１２２】
【特許文献１】特開２００９−２５８９１４号公報
【図１】
0005644576.tif 000002
【図２】
0005644576.tif 000003
【図３】
0005644576.tif 000004
【図４】
0005644576.tif 000005
【図５】
0005644576.tif 000006
【図６】
0005644576.tif 000007
【図７】
0005644576.tif 000008
【図８】
0005644576.tif 000009
【図９】
0005644576.tif 000010
【図１０】
0005644576.tif 000011
【図１１】
0005644576.tif 000012
【図１２】
0005644576.tif 000013
【図１３】
0005644576.tif 000014
【図１４】
0005644576.tif 000015
【図１５】
0005644576.tif 000016
【図１６】
0005644576.tif 000017
【図１７】
0005644576.tif 000018
【図１８】
0005644576.tif 000019