(57)【要約】【課題】ＵＩパーツを変更可能なＵＩであっても、レイアウト情報の更新時において、変更されたＵＩパーツのレイアウト情報を引継ぐ。【解決手段】プラグインのＵＩ画面に含まれる表示部品のレイアウトを示すレイアウト情報と、前記レイアウト情報及び前記表示部品の設定情報を含む描画データとを記憶する記憶手段と、表示対象のプラグインの前記描画データに含まれる既存のレイアウト情報の識別情報と、前記表示対象のプラグインの最新のレイアウト情報の識別情報とを前記記憶手段から取得して比較し、比較結果が異なる場合、継承情報に基づいて、既存のレイアウト情報を継承するか否かを決定する継承手段と、継承手段により既存のレイアウト情報が継承される場合、継承されたレイアウト情報に基づきＵＩ画面を作成するレイアウト処理手段と、作成された前記ＵＩ画面を表示する表示手段とを備える。【選択図】図４
2011186767.tif 000002
【特許請求の範囲】
【請求項１】
プラグインのＵＩ画面に含まれる表示部品のレイアウトを示すレイアウト情報と、前記レイアウト情報及び前記表示部品の設定情報を含む描画データとを記憶する記憶手段と、
表示対象のプラグインの前記描画データに含まれる既存のレイアウト情報の識別情報と、前記表示対象のプラグインの最新のレイアウト情報の識別情報とを前記記憶手段から取得して比較し、比較結果が異なる場合、前記既存のレイアウト情報を継承するか否かを定義する継承情報に基づいて、前記既存のレイアウト情報を継承するか否かを決定する継承手段と、
前記継承手段により前記既存のレイアウト情報が継承される場合、継承されたレイアウト情報に基づきＵＩ画面を作成するレイアウト処理手段と、
作成された前記ＵＩ画面を表示する表示手段と
を備える画像形成装置。
【請求項２】
前記継承情報は、前記既存のレイアウト情報を継承するか否かを前記プラグイン毎に定義する請求項１記載の画像形成装置。
【請求項３】
前記継承情報は、前記既存のレイアウト情報を継承するか否かを、前記既存のレイアウト情報に含まれる表示部品毎に定義する請求項１記載の画像形成装置。
【請求項４】
前記レイアウト処理手段は、
既存の位置情報が継承された表示部品が、他の表示部品と重なる場合、前記継承された表示部品と前記他の表示部品とが重ならない位置にレイアウト変更する調整手段を備える請求項３記載の画像形成装置。
【請求項５】
前記レイアウト処理手段は、
前記継承手段により決定されたレイアウト情報に基づき作成された前記ＵＩ画面をプレビューとして前記表示手段に表示させるプレビュー手段と、
前記プレビューの表示後に、前記継承情報の定義を変更可能にする変更手段とをさらに備える請求項１乃至４いずれか一項に記載の画像形成装置。
【請求項６】
プラグインのＵＩ画面に含まれる表示部品のレイアウトを示すレイアウト情報と、前記レイアウト情報及び前記表示部品の設定情報を含む描画データとを記憶する記憶手段と、
表示対象のプラグインの前記描画データに含まれる既存のレイアウト情報の識別情報と、前記表示対象のプラグインの最新のレイアウト情報の識別情報とを前記記憶手段から取得して比較し、比較結果が異なる場合、前記既存のレイアウト情報を継承するか否かを定義する継承情報に基づいて、前記既存のレイアウト情報を継承するか否かを決定する継承手段と、
前記継承手段により前記既存のレイアウト情報が継承される場合、継承されたレイアウト情報に基づきＵＩ画面を作成するレイアウト処理手段と、
を備える画像処理装置。
【請求項７】
前記継承情報は、前記既存のレイアウト情報を継承するか否かを前記プラグイン毎に定義する請求項６記載の画像処理装置。
【請求項８】
前記継承情報は、前記既存のレイアウト情報を継承するか否かを、前記既存のレイアウト情報に含まれる表示部品毎に定義する請求項６記載の画像処理装置。
【請求項９】
前記レイアウト処理手段は、
既存の位置情報が継承された表示部品が、他の表示部品と重なる場合、前記継承された表示部品と前記他の表示部品とが重ならない位置にレイアウト変更する調整手段を備える請求項８記載の画像処理装置。
【請求項１０】
前記レイアウト処理手段は、
前記継承手段により決定されたレイアウト情報に基づき作成された前記ＵＩ画面をプレビューとして表示手段に表示させるプレビュー手段と、
前記プレビューの表示後に、前記継承情報の定義を変更可能にする変更手段とをさらに備える請求項６乃至９いずれか一項に記載の画像処理装置。
【請求項１１】
ネットワークを介して接続された画像形成装置と画像処理装置とを備える画像処理システムであって、
前記画像処理装置は、
プラグインのＵＩ画面に含まれる表示部品のレイアウトを示すレイアウト情報と、前記レイアウト情報及び前記表示部品の設定情報を含む描画データとを記憶する記憶手段と、
表示対象のプラグインの前記描画データに含まれる既存のレイアウト情報の識別情報と、前記表示対象のプラグインの最新のレイアウト情報の識別情報とを前記記憶手段から取得して比較し、比較結果が異なる場合、前記既存のレイアウト情報を継承するか否かを定義する継承情報に基づいて、前記既存のレイアウト情報を継承するか否かを決定する継承手段と、
前記継承手段により前記既存のレイアウト情報が継承される場合、継承されたレイアウト情報に基づきＵＩ画面を作成するレイアウト処理手段と、を備え、
前記画像形成装置は、
前記レイアウト処理手段により作成されたＵＩ画面を表示する表示手段を備える画像処理システム。
【請求項１２】
プラグインのＵＩ画面に含まれる表示部品のレイアウトを示すレイアウト情報と、前記レイアウト情報及び前記表示部品の設定情報を含む描画データとを記憶する記憶手段を備え、画像データを配信する機能を有する画像形成装置における画像処理方法であって、
表示対象のプラグインの前記描画データに含まれる既存のレイアウト情報の識別情報と、前記表示対象のプラグインの最新のレイアウト情報の識別情報とを前記記憶手段から取得して比較し、比較結果が異なる場合、前記既存のレイアウト情報を継承するか否かを定義する継承情報に基づいて、前記既存のレイアウト情報を継承するか否かを決定する継承ステップと、
前記継承ステップにより前記既存のレイアウト情報が継承される場合、継承されたレイアウト情報に基づきＵＩ画面を作成するレイアウト処理ステップと、
作成された前記ＵＩ画面を表示する表示ステップと
を有する画像処理方法。
【請求項１３】
プラグインのＵＩ画面に含まれる表示部品のレイアウトを示すレイアウト情報と、前記レイアウト情報及び前記表示部品の設定情報を含む描画データとを記憶する記憶手段を備えるコンピュータにより実行されるプログラムであって、
表示対象のプラグインの前記描画データに含まれる既存のレイアウト情報の識別情報と、前記表示対象のプラグインの最新のレイアウト情報の識別情報とを前記記憶手段から取得して比較し、比較結果が異なる場合、前記既存のレイアウト情報を継承するか否かを定義する継承情報に基づいて、前記既存のレイアウト情報を継承するか否かを決定する継承ステップと、
前記継承手段により前記既存のレイアウト情報が継承される場合、継承されたレイアウト情報に基づきＵＩ画面を作成するレイアウト処理ステップを有するプログラム。
【請求項１４】
請求項１３記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの配信を行う画像形成装置、画像処理装置、画像処理システム、画像処理方法、プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
近年、複合機（以下、ＭＦＰともいう）といった画像形成装置は、複写機能、画像形成機能、通信機能などの複数の機能を提供することが可能となっている。また、画像データに対しては、複合機および遠隔的に接続されたサーバが提供する複数の機能を連携させた一連の業務も可能となっている。画像に対して一連の業務を実行させようとする場合、ユーザは、ＭＦＰやサーバといった機器で実行するべき機能を特定した後、実行させる機能のシーケンスを指定して、いわゆるワークフローを設定する。
【０００３】
ワークフローを実行させる技術はこれまで種々知られており、例えば、特開２００８−９７５８６号公報（特許文献１）には、フロー定義データを用意し、フロー定義データに基づいてスキャン画像データに対して処理を実行させる技術が開示されている。また、特開２００８−１７６５４１号公報（特許文献２）には、予め設定された電子文書のレイアウトを、電子文書に付加されたメタデータを使用して変更する技術が開示されている。さらに、特開２００８−３０５００４号公報（特許文献３）では、ソフトウェア部品を連携して実行させるアプリケーションの実行方法を開示する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のように、画像データに対して特定の業務をシーケンシャルに実行させることが比較的容易にされてきている。さらに、近年のＭＦＰは、高級言語、例えばＪａｖａ（登録商標）、ＪａｖａＳｃｒｉｐｔ（登録商標）などを実装し、ブラウザプログラムの実行により、各種処理を実行するためのユーザインタフェースが提供されている。また、ＭＦＰやサーバなどの機器に対してPlug-in（プラグイン）プログラムをインストールすることにより、画像データに対する処理機能を比較的容易に追加・修正することもできるようになっている。
【０００５】
さらに処理機能の高度化や、ユーザニーズの多様化に伴い、処理機能の追加・修正を行う場合もある。特定の情報処理機能が追加・修正される場合、当該処理機能へのインタフェースを提供するためのディスプレイ装置が表示するユーザインタフェース（以下、ＵＩともいう）も修正される場合が多い。
【０００６】
上述した実行環境下で、ＵＩ上に表示される表示部品（以下、ＵＩパーツともいう）のレイアウトをユーザが自由に変更できるようになり、ユーザの好みに応じた画面設計が可能となっている。このとき、デフォルトのレイアウトが変更された後、プラグインのバージョンアップなどにより同じＵＩのレイアウトが更新され、更新されたＵＩを表示しようとするとき、ユーザにより変更された既存のレイアウトを引継ぐことができないという問題があった。
【０００７】
そこで、本発明は上記問題点に鑑みてなされたものであり、ＵＩパーツを変更可能なＵＩであっても、レイアウト情報の更新時において、変更されたＵＩパーツのレイアウト情報を引継ぐことが可能な画像形成装置、画像処理装置、画像処理システム、画像処理方法、プログラム、及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明における一局面の画像形成装置は、プラグインのＵＩ画面に含まれる表示部品のレイアウトを示すレイアウト情報と、前記レイアウト情報及び前記表示部品の設定情報を含む描画データとを記憶する記憶手段と、表示対象のプラグインの前記描画データに含まれる既存のレイアウト情報の識別情報と、前記表示対象のプラグインの最新のレイアウト情報の識別情報とを前記記憶手段から取得して比較し、比較結果が異なる場合、前記既存のレイアウト情報を継承するか否かを定義する継承情報に基づいて、前記既存のレイアウト情報を継承するか否かを決定する継承手段と、前記継承手段により前記既存のレイアウト情報が継承される場合、継承されたレイアウト情報に基づきＵＩ画面を作成するレイアウト処理手段と、作成された前記ＵＩ画面を表示する表示手段とを備える。
【０００９】
また、本発明における他の局面の画像処理装置は、プラグインのＵＩ画面に含まれる表示部品のレイアウトを示すレイアウト情報と、前記レイアウト情報及び前記表示部品の設定情報を含む描画データとを記憶する記憶手段と、表示対象のプラグインの前記描画データに含まれる既存のレイアウト情報の識別情報と、前記表示対象のプラグインの最新のレイアウト情報の識別情報とを前記記憶手段から取得して比較し、比較結果が異なる場合、前記既存のレイアウト情報を継承するか否かを定義する継承情報に基づいて、前記既存のレイアウト情報を継承するか否かを決定する継承手段と、前記継承手段により前記既存のレイアウト情報が継承される場合、継承されたレイアウト情報に基づきＵＩ画面を作成するレイアウト処理手段と、を備える。
【００１０】
また、本発明における他の局面の画像処理システムは、ネットワークを介して接続された画像形成装置と画像処理装置とを備える画像処理システムであって、前記画像処理装置は、プラグインのＵＩ画面に含まれる表示部品のレイアウトを示すレイアウト情報と、前記レイアウト情報及び前記表示部品の設定情報を含む描画データとを記憶する記憶手段と、表示対象のプラグインの前記描画データに含まれる既存のレイアウト情報の識別情報と、前記表示対象のプラグインの最新のレイアウト情報の識別情報とを前記記憶手段から取得して比較し、比較結果が異なる場合、前記既存のレイアウト情報を継承するか否かを定義する継承情報に基づいて、前記既存のレイアウト情報を継承するか否かを決定する継承手段と、前記継承手段により前記既存のレイアウト情報が継承される場合、継承されたレイアウト情報に基づきＵＩ画面を作成するレイアウト処理手段と、を備え、前記画像形成装置は、前記レイアウト処理手段により作成されたＵＩ画面を表示する表示手段を備える。
【００１１】
また、本発明における他の局面の画像処理方法は、プラグインのＵＩ画面に含まれる表示部品のレイアウトを示すレイアウト情報と、前記レイアウト情報及び前記表示部品の設定情報を含む描画データとを記憶する記憶手段を備え、画像データを配信する機能を有する画像形成装置における画像処理方法であって、表示対象のプラグインの前記描画データに含まれる既存のレイアウト情報の識別情報と、前記表示対象のプラグインの最新のレイアウト情報の識別情報とを前記記憶手段から取得して比較し、比較結果が異なる場合、前記既存のレイアウト情報を継承するか否かを定義する継承情報に基づいて、前記既存のレイアウト情報を継承するか否かを決定する継承ステップと、前記継承ステップにより前記既存のレイアウト情報が継承される場合、継承されたレイアウト情報に基づきＵＩ画面を作成するレイアウト処理ステップと、作成された前記ＵＩ画面を表示する表示ステップとを有する。
【００１２】
また、本発明の画像処理システム、画像形成装置、画像処理装置、及び画像処理方法は、コンピュータにより実行可能なプログラムにより実現することができ、また、プログラムを記録した記録媒体をコンピュータに読み取らせて実現することも可能である。
【発明の効果】
【００１３】
本発明によれば、ＵＩパーツを変更可能なＵＩであっても、レイアウト情報の更新時において、変更されたＵＩパーツのレイアウト情報を引継ぐことができる。
【図面の簡単な説明】
【００１４】
【図１】実施例１における画像処理システムの一例を示す図。
【図２】実施例１におけるＭＦＰのハードウェア構成の一例を示すブロック図。
【図３】実施例１における画像処理サーバのハードウェア構成の一例を示すブロック図。
【図４】実施例１における画像処理システムの機能の一例を示すブロック図。
【図５】実施例１で使用するワークフローの一例を示す図。
【図６】Plug-inにおけるＵＩパーツの一例を示す図。
【図７】Plug-inのＵＩを形成するために使用する描画データのデータ構造の一例を示す図。
【図８】Plug-in「ＥＭＡＩＬ」の画面ＸＭＬの一例を示す図。
【図９】描画データに含まれるレイアウト情報のＵＩパーツの一例を示す図。
【図１０】Plug-inの画面ＸＭＬにおけるＵＩパーツの一例を示す図。
【図１１】実施例１で使用する条件設定データの一例を示す図。
【図１２】実施例１でインタフェースとして機能し、ＤＯＭ機能を含むデータ継承部の機能を提供するための疑似コードの一例を示す図。
【図１３】実施例１におけるPlug-inの画面表示の一例を示すフローチャート。
【図１４】実施例２における画像処理システムの機能の一例を示すブロック図。
【図１５】ＵＩパーツの位置の自動調整の一例を示す図。
【図１６】実施例３における画像処理システムの機能の一例を示すブロック図。
【図１７】変形例におけるＭＦＰの機能の一例を示すブロック図。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して、本発明にかかる画像処理システム、画像形成装置、画像処理装置（又は画像処理サーバ）、画像処理方法、プログラム及び記録媒体の実施例を詳細に説明する。
【００１６】
また、以下に示す実施例では、画像データを入力する画像入力装置として、プリンタ機能、スキャナ機能、コピー機能、ファクシミリ機能を一つの筐体に搭載した複合機を例にあげて説明しているが、これに限定されるものではなく、画像データを入力可能であれば、スキャナ装置、ファクシミリ装置、コピー装置などいずれにも適用することができる。
【００１７】
［実施例１］
＜システム構成とハードウェア構成＞
図１は、実施例１における画像処理システムの一例を示す図である。図１に示すように、画像処理システム１は、ネットワークを介してＭＦＰ（Multifunction Peripheral）１０、ＭＦＰ２０、画像処理サーバ３０、画像管理サーバ４０、情報処理端末（例えば、ＰＣ（Personal Computer）、ＰＤＡ（Personal Data Assistance）など）５０が接続されている。
【００１８】
ＭＦＰ１０は、スキャン機能、コピー機能、プリンタ機能、ファクシミリ機能などを一つの筐体に搭載したものである。ＭＦＰ１０は、スキャン機能により紙媒体等をスキャン処理して画像データを作成し、作成された画像データを画像処理サーバ３０に送信する。ＭＦＰの詳細については後述する。また、画像データは、文書の画像データを含む。
【００１９】
画像処理サーバ３０は、各ＭＦＰでスキャンされた画像データを受信して、指定されたワークフローに従って種々の処理や配信処理を実行するワークステーション等のコンピュータである。ワークフローには、メール送信、ＦＡＸ送信、フォルダ配信などがある。
【００２０】
また、画像処理サーバ３０は、入力された画像データに基づいてワークフローを実行するサーバであり、ユーザによって構築されたワークフローに従って文書の蓄積又は配信処理を実行する。即ち、画像を処理するという観点において、画像処理サーバ３０も画像処理装置として機能する。なお、画像処理サーバ３０は、ＭＦＰ１０、２０に組み込まれてもよい。
【００２１】
画像管理サーバ４０は、画像処理サーバ３０から配信された画像データを蓄積、管理するサーバである。また、画像管理サーバ４０は、蓄積した画像データに対して画像タイプを登録したり、検索を行ったりすることもできる。
【００２２】
情報処理端末５０は、管理者によりデータ配信に関する管理ツールが起動され、入力、画像変換、出力の各プラグインが順に選択されることでワークフローを作成する。なお、ネットワークを介して接続されるＭＦＰやサーバや情報処理端末の数は、それぞれ任意の数でもよい。
【００２３】
実施例１におけるＭＦＰ１０と画像処理サーバ３０とのハードウェア構成について説明する。図２は、実施例１におけるＭＦＰ１０のハードウェア構成の一例を示すブロック図である。ＭＦＰ２０のハードウェアは、ＭＦＰ１０と同様とする。
【００２４】
図２に示すように、ＭＦＰ１０は、制御部１１、主記憶部１２、補助記憶部１３、外部記憶装置Ｉ／Ｆ部１４、ネットワークＩ／Ｆ部１６、操作部１７、表示部１８、エンジン部１９を含む。
【００２５】
制御部１１は、コンピュータの中で、各装置の制御やデータの演算、加工を行うＣＰＵである。また、制御部１１は、主記憶部１２に記憶されたプログラムを実行する演算装置であり、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
【００２６】
主記憶部１２は、ＲＯＭ（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）として機能する表示及び／又は入力装置である。
【００３２】
エンジン部１９は、実際に画像形成に係る処理を行うプロッタ、スキャナ等の機構部分である。
【００３３】
図３は、実施例１における画像処理サーバ３０のハードウェア構成の一例を示すブロック図である。図３に示すように、画像処理サーバ３０は、制御部３１、主記憶部３２、補助記憶部３３、外部記憶装置Ｉ／Ｆ部３４、ネットワークＩ／Ｆ部３６を含む。
【００３４】
制御部３１は、コンピュータの中で、各装置の制御やデータの演算、加工を行うＣＰＵである。また、制御部３１は、主記憶部３２に記憶されたプログラムを実行する演算装置であり、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
【００３５】
主記憶部３２は、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などであり、制御部３１が実行する基本ソフトウェアであるＯＳやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【００３６】
補助記憶部３３は、ＨＤＤ（Hard Disk Drive）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
【００３７】
外部記憶装置I／F部３４は、ＵＳＢ（Universal Serial Bus）などのデータ伝送路を介して接続された記憶媒体１５（例えば、フラッシュメモリなど）と画像処理サーバ３０とのインタフェースである。
【００３８】
また、記憶媒体１５に、所定のプログラムを格納し、この記憶媒体１５に格納されたプログラムは外部記憶装置Ｉ／Ｆ部３４を介して画像処理サーバ３０にインストールされ、インストールされた所定のプログラムは画像処理サーバ３０により実行可能となる。
【００３９】
ネットワークＩ／Ｆ部３６は、有線及び／又は無線回線などのデータ伝送路により構築されたＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などのネットワークを介して接続された通信機能を有する周辺機器と画像処理サーバ３０とのインタフェースである。また、図３に示す例では、画像処理サーバ３０には、キーボードなどの入力部とＬＣＤなどを備える表示部とを図示していないが、これらを有する構成としてもよい。
【００４０】
＜機能＞
図４は、実施１における画像処理システムの機能の一例を示すブロック図である。なお、図４に示す例では、ＭＦＰ１０と画像処理サーバ３０とを別構成にしたが、画像処理サーバ３０はＭＦＰ１０に組み込まれてもよい。
【００４１】
図４に示した制御部３１内の機能ブロックは、制御部３１が、実施例１のプログラムを読み込んで、ＲＡＭに実行形式のファイルを展開し、実行形式のプログラムを実行することにより、画像処理サーバ３０の機能手段として提供されている。
【００４２】
図４に示す例では、ＭＦＰ１０は、ＵＩ表示部１０１を有し、画像処理サーバ３０は、レイアウト処理部３０１、描画データ取得部３１０、記憶装置３０７、ワークフロー管理部３０８、処理実行部３０９を有する。ＵＩ表示部１０１は、実施例１では、例えば操作パネルである。
【００４３】
レイアウト処理部３０１は、ブラウザプログラムの実行により画像処理サーバ３０上に実現される機能手段である。また、レイアウト処理部３０１は、より詳細には、パーザ３０２および表示制御部３０３を含む。パーザ３０２は、ＨＴＭＬ、ＸＨＴＭＬ、ＸＭＬなどの構造化文書を読み込んで、構造化文書のタグにより指定された処理を実行するためにインタフェースを提供し、実施の好適な態様では、ＤＯＭ(Document Object Model)機能やＳＡＸ(Simple API for XML)を含み、名前空間を使用してタグの解釈を行う、ＸＭＬパーザとして実装することができる。
【００４４】
また、表示制御部３０３は、実施例１では、使用する構造化文書に適合する表示制御機能を提供し、例えば、ＣＳＳ(Cascading Style Sheet)やＸＳＬＴ(eXtensible Stylesheet Language Transformation)などの機能を提供する。
【００４５】
描画データ取得部３１０は、ＵＩ構造定義取得部３０４、データ継承部３０５、レイアウト継承部３０６を有する。
【００４６】
ＵＩ構造定義取得部３０４は、ネットワークなどから配布されたＵＩ構造定義を受領して、記憶装置３０７などに格納する処理を実行する。また、他の実施例では、ＵＩ構造定義は、ＵＩ表示部１０１に表示されたＵＩ構造定義のためのＵＩ表示画面からインタラクティブに作成することもできる。いずれの場合にでも取得したＵＩ構造定義は、記憶装置３０７に格納され、以後、ＵＩ表示部１０１に対してＵＩ構造定義に従ってPlug-inプログラムを制御するための設定画面を表示させる。
【００４７】
データ継承部３０５は、ＨＴＭＬ、ＸＨＴＭＬ、ＸＭＬなどの構造化文書として受領したＵＩ構造定義およびPlug-inプログラムの実行を制御するための条件設定データなどを含むＵＩ表示画面を、ＵＩ表示部１０１に表示するため、表示制御を実行する。実施例１のデータ継承部３０５は、表示するべきＵＩが、直前に表示する際に使用したＵＩ構造定義のバージョンと、現在表示させるべきＵＩ構造定義のバージョンとが同一か否かを判断し、この判断に対応して条件設定データに対して異なる読み出し処理を実行する。
【００４８】
レイアウト継承部３０６は、Plug-inのＵＩ画面を描画する際、記憶装置３０７に記憶されている継承情報に基づいて、レイアウト情報を継承するか否かを決定する。「継承する」とは、新規に描画データを作成する際、元の描画データに含まれるレイアウト情報を引継ぐことをいう。継承情報については後述する。
【００４９】
具体的には、レイアウト継承部３０６は、表示対象のPlug-inの描画データを記憶装置３０７から取得する。次に、レイアウト継承部３０６は、記憶装置３０７に記憶されている表示対象のPlug-inの最新のレイアウトバージョンを取得する。このPlug-inのレイアウトバージョンは、Plug-inの画面データ（例えば後述する画面ＸＭＬ）から取得できる。レイアウト継承部３０６は、描画データに含まれるレイアウトバージョンと、Plug-inのレイアウトバージョンとが異なる場合、継承情報に基づいて、どちらのレイアウトを用いるかを決定する。このとき、レイアウト処理部３０１は、決定されたレイアウトバージョンが示すレイアウトに基づいて、新規に描画データを作成する。
【００５０】
記憶装置３０７は、ハードディスク装置、ＲＡＭ、バッファメモリ、ＥＥＰＲＯＭなどを含んで構成された画像処理サーバ３０の記憶空間であり、記憶装置３０７は、ワークフロー制御データの他、ＵＩを形成するためのＵＩ構造定義、Plug-inがその処理を実行するための条件設定データを格納する。また、記憶装置３０７は、デフォルトのレイアウト情報（最新のレイアウト情報）を優先するか、既存のレイアウト情報（描画データに含まれるレイアウト情報）を優先するかを定義する継承情報、ＵＩパーツ（表示部品）の位置情報を含むレイアウト情報及び条件設定データを含む描画データ、最新のレイアウト情報を含むPlug-inデータなどを格納する。レイアウト情報にはレイアウトを識別する識別情報（例えば、バージョン、ＩＤなど）が付与されている。
【００５１】
継承情報は、ＵＩパーツの位置情報を継承するか否かを定義する情報でもある。継承情報は、ＵＩパーツ毎に継承するか否かを定義してもよいし、Plug-in毎に継承するか否かを定義してもよい。継承情報は、予め記憶装置３０７に記憶されていてもよいし、ネットワークを介して制御部３１が取得し、取得した継承情報を制御部３１が記憶装置３０７に記憶するようにしてもよい。
【００５２】
制御部３１は、ワークフローのシーケンスを実行するに際し、ワークフローの設定条件および実行するPlug-inプログラムが使用する描画データを呼び出して、レイアウト処理部３０３を介して条件を設定し、またＵＩ表示部１０１へのＵＩ画面を表示させている。
【００５３】
ワークフロー管理部３０８は、ワークフロー制御データに記述された機能定義および当該機能を制御するための条件設定データを記憶装置３０７などの適切な記憶空間から取得し、画像データ取得、フォーマット変換、プリント出力、データ転送、ファイル格納などのワークフローに定義されたシーケンスの情報処理機能を呼び出し、当該処理を実行するように処理実行部３０９に通知する。
【００５４】
処理実行部３０９は、通知された情報処理機能を行うためのPlug-inプログラムを呼び出し、ワークフロー上で定義された処理を実行し、割り当てられた処理がなくなるまで、ワークフロー管理部３０８との間で通信を行い、画像処理サーバ３０が実行するべき処理を完了させる。処理実行部３０９は、自己に割り当てられた処理のうち、最終シーケンスの処理が完了した後、ワークフロー制御データに設定された処理を実行させるため、処理結果を、バスやネットワークを介して送出し、ワークフローの処理を終了する。
【００５５】
＜ワークフロー＞
図５は、実施例１で使用するワークフローの一例を示す図である。図５に示すように、階層構造および当該階層構造を定義するワークフロー制御データの例を示す。図５に示すワークフローは、ワークフローを定義するべき適切な装置、例えば、ＰＣ５０のデスクトップ画面やＭＦＰ１０のＵＩ表示装置などから、ユーザがインタラクティブに設定する。なお、ワークフローの設定のユーザインタフェースについては、特許文献１を参照するとよい。
【００５６】
図５には、ワークフローの階層構造の、２分木構造５１０も並列的に示されている。ワークフローは、階層構造としては、画像データの作成処理を実行するＭＦＰ１０をルートノードとして表現することができる。なお、画像データがすでに電子化され、データベースなどに登録されている実施例の場合には、ＭＦＰ１０に加え、ＰＣ５０などがルートノードとしての機能を提供することができる。
【００５７】
図５に示した例では、ルートノードは、子ノードとして例えば、出力機能が共通する毎に複数のワークフローグループが設定されている。例えば、ワークフローのグループＧｒ１は、「Scan to Mail」、Ｇｒ２は、「Scan to Folder」、Ｇｒ３は、「Scan to Print」などとして登録されており、ワークフローの実行依頼を容易にするために、ＭＦＰ１０のＵＩ表示部１０１に個別的にＵＩボタンなどとして表示させることができる。
【００５８】
さらに特定のグループは、複数の孫ノードとして、各グループでユーザカスタマイズされたプロジェクトＰｊ１、Ｐｊ２、Ｐｊ３、・・・から構成される。各プロジェクトＰｊ１〜Ｐｊ３は、例えば、ユーザ毎、宛先毎、機能設定が共通するジョブ毎の単位で独立して登録され、それぞれがユーザカスタマイズされた条件設定を伴っている。また、特定のプロジェクトは、例えば、Ｆｎ１＝６００ｄｐｉでの画像読み取り（５２２）→Ｆｎ２＝ＰＤＦ変換（５２４）→Ｆｎ３＝特定メールアドレスへのメール転送（５２６）といった、個別的な条件設定データを伴う個別ジョブとされている。
【００５９】
木構造５１０は、構造化文書、より詳細には、ＸＭＬ文書５２０で記述され、ワークフロー制御データとして使用される。ＸＭＬ文書５２０は、ワークフローのシーケンス毎に、処理を担当するプログラムであるPlug-inの指定、Plug-inが利用する設定条件５３０、５４０、５５０、５６０などが記述されている。実施例１のＸＭＬ文書５２０は、ワークフローを構成するプロジェクトの機能を実行する機器は、処理するべき機能に関係するＸＭＬ文書を参照して、Plug-inを設定し、その設定条件を読み出して処理を開始し、さらに後続する機能に処理を渡す。なお、上述した通り、機能は、単独の機器で完結させることもできるが、複数の機器間での分散処理で完結させてもよい。
【００６０】
また、図５に示すＸＭＬ文書５２０は、取得した画像データを、ＰＤＦフォーマットに変換した後、電子メールおよびフォルダに格納するシーケンスを構成する、フィルタ機能５２２、フォルダ格納機能５２４、メール送信機能５２６を設定するデータが記述されている。なお、単独の機器でワークフローを完結させる場合の他、分散処理を行う目的でワークフローを作成したＰＣ５０や、画像処理サーバ３０から、ワークフローを処理可能な他の危機に配布してもよい。
【００６１】
＜ＵＩ＞
図６は、Plug-inにおけるＵＩパーツの一例を示す図である。図６に示す例では、ディスプレイイメージ６１１とＸＭＬ６１２の例を示す。例えば、ＥｄｉｔＢｏｘ６１０に対し、ＸＭＬ文書６１２には、ＥｄｉｔＢｏｘの位置情報やタイトル名が記述され、このＸＭＬ文書６１２によりディスプレイイメージ６１１に示すＥｄｉｔＢｏｘが表示部に表示される。
【００６２】
例えば、ＣｏｍｂｏＢｏｘ６２０に対し、ＸＭＬ文書６２１には、ＣｏｍｂｏＢｏｘの位置情報やラベル名が記述され、このＸＭＬ文書６２２によりディスプレイイメージ６２１に示すＣｏｍｂｏＢｏｘが表示される。
【００６３】
図７は、Plug-inのＵＩを形成するために使用する描画データのデータ構造の一例を示す図である。実施例１では、ＵＩ表示部１０１に表示させるためのデータ構造体に対し、データ構造体を固有に識別するためのＵＩ識別値を割り当てる。ＵＩ識別値は、例えば、ＵＩが関連するメール、フォルダ格納、ファックス通信などの機能を特定する機能識別値と、ＵＩ構造定義のバージョンを指定するバージョン識別値とを含む構造とされている。このバージョン識別値は、レイアウトのバージョンを示す。より具体的には、電子メール用のＵＩを提供するためのバージョン「０１」のＵＩ識別値には、「SCREEN_mail_01」、バージョン「０Ｎ」のＵＩ識別値には、「SCREEN_mail_0N」といった固有の識別値が割り当てられる。
【００６４】
また、実施例１では、描画データ７１０は、ＵＩ構造定義７２０と、当該ＵＩ構造定義が利用する条件設定データ７３０とに分離されている。ＵＩ構造定義７２０は、実施例１では、ＵＩ表示を行うためのＵＩパーツの位置情報などを記述したファイルである。また、条件設定データ７３０は、ＵＩパーツを介してインタラクティブに設定された、または以後に設定されるべきデータ値を意味する。例えば、ＩＤ＝「SCREEN_mail_01」の描画データ７１０は、図７に示すようにＵＩ構造定義７２０と、条件設定データ７３０とから作成される。
【００６５】
ＵＩ構造定義７２０は、ＸＭＬ、ＨＴＭＬ、ＸＨＴＭＬまたはＨＴＭＬを含むＸＭＬおよび適宜ＣＳＳやＸＳＬＴなどを含ませた構造とされている。また、条件設定データ７３０は、ＸＭＬ、ＸＨＴＭＬなどの構造化文書で作成されていて、ＵＩ構造定義７２０とは別のデータ構造体として構成され、Plug-inプログラムを実行するべき機器に配布される。ＵＩ構造定義と、条件設定データとは、それぞれ表示するべきＵＩのカテゴリ毎に相互関連付けされている。たとえば、ＵＩ構造定義ＩＤ（ＵＩ識別値）＝「SCREEN_mail_01」は、条件設定データとして、同一に参照識別値「mail」を含む、「mail_setting_information」を参照するように関連付けられる。
【００６６】
（レイアウト継承）
Plug-inのバージョンアップなどに対応して記憶装置３０７に記憶されているPlug-inデータのＵＩ構造定義７２０が、ＵＩ構造定義７６０に修正されたものとする。修正とは、新規な機能の追加やレイアウト修正などであり、対応するＵＩパーツの配置や種類が修正されることをいう。
【００６７】
このとき、ＵＩ構造定義７６０のＵＩパーツのレイアウトが、ＵＩ構造定義７２０のレイアウトと異なる場合、ユーザによってはＵＩ構造定義７２０のレイアウトを優先したい場合がある。そこで、どちらのレイアウトを優先するかを継承情報に定義しておく。これにより、レイアウト情報の識別情報（例えば、バージョン識別値）が異なる場合、レイアウト継承部３０６は、継承情報を参照することで、どちらのレイアウトを用いるかを決めることができる。
【００６８】
ＵＩ構造定義７６０のバージョン識別値は、Plug-inの画面ＸＭＬのバージョン識別値などから特定される。図８は、Plug-in「ＥＭＡＩＬ」の画面ＸＭＬ８００の一例を示す図である。図８に示す例では、バージョン識別値は８１０部分によると「１．０」である。図８に示す８２０部分は、ＵＩパーツを示し、各ＵＩパーツの位置情報が含まれる。図８に示す８４０部分は、画面ＸＭＬ８００の画面イメージを示す図である。図８に示す画面ＸＭＬ８００を画面に描画すると、アドレスのＥｄｉｔＢｏｘ８４２や追加ボタン８４４、編集ボタン８４６、削除ボタン８４８が表示される。
【００６９】
図８に示す８５０部分は、画面ＸＭＬについての補足情報である。この８５０部分は画面に表示されない。画面ＸＭＬについて以下の定義をしておく。
＜Ｗｉｎｄｏｗ＞：画面の大枠を定義したもの
＜Ｐａｒｔ＞：画面を構成するパーツを定義してもの、さまざまな種類があり、ｔｙｐｅ属性にパーツの種類が定義される
ｔｙｐｅ属性：Ｌａｂｅｌ，Ｂｕｔｔｏｎ，ＥｄｉｔＢｏｘ等
図９は、描画データに含まれるレイアウト情報のＵＩパーツの一例を示す図である。例えば、図９に示す描画データのＵＩ識別値「SCREEN_mail_1.0」に含まれるバージョン識別値は、「１．０」である。図９に示す画面９１０は、ＸＭＬ文書９２０のＵＩパーツを表示したときの画面の例を示す。各ＵＩパーツには、ＵＩパーツのタイプ「ｐａｒｔｔｙｐｅ」、位置情報「ｘ、ｙ、ｗｉｄｔｈ、ｈｅｉｇｈｔ」、ＵＩパーツのラベル「ｌａｂｅｌ」が記載される。
【００７０】
図１０は、Plug-inの画面ＸＭＬにおけるＵＩパーツの一例を示す図である。例えば、図１０に示すPlug-in「ＭＡＩＬ」は、最新のPlug-inデータであり、画面ＸＭＬのバージョン識別値が「２．０」であるとする。図１０に示す画面１０１０は、ＸＭＬ文書１０２０のＵＩパーツを表示したときの画面の例を示す。各ＵＩパーツには、図９同様、ＵＩパーツのタイプ、位置情報、ラベルが記載される。
【００７１】
ここで、図９に示す描画データのレイアウト情報が記憶装置３０７に記憶され、図１０に示す画面ＸＭＬがPlug-in「ＭＡＩＬ」の最新のデータとして記憶装置３０７に記憶されているとする。このとき、ＵＩ表示部１０１からPlug-in「ＭＡＩＬ」のプロパティを開く指示をレイアウト処理部３０１が受けたとする。
【００７２】
レイアウト処理部３０１は、レイアウト継承部３０６にレイアウト情報の確認を指示する。レイアウト継承部３０６は、記憶装置３０７に記憶されるPlug-in「ＭＡＩＬ」の描画データのレイアウトのバージョン識別値を取得し、Plug-in「ＭＡＩＬ」に対応する画面ＸＭＬの最新のバージョン識別値を取得する。レイアウト継承部３０６は、取得したそれぞれのバージョン識別値が異なれば、記憶装置３０７に記憶される継承情報を参照し、どちらのレイアウトを優先するかを決定する。ここでは、継承情報には、既存のレイアウトを優先することが定義されているとする。このとき、継承情報がＵＩパーツ毎に設定されている場合は、ＵＩパーツ毎に最新のＵＩパーツの位置、又は既存のＵＩパーツの位置のどちらを優先するかを決定する。
【００７３】
レイアウト継承部３０６は、決定したレイアウト（ＵＩパーツの位置情報を含む）をレイアウト処理部３０１に出力する。これにより、レイアウト処理部３０１は、ＵＩパーツの位置情報が継承された画面ＸＭＬに基づいて描画データを作成することが可能になる。このとき、レイアウト処理部３０１は、後述するデータ継承部３０５により継承された条件設定データをマージする。レイアウト処理部３０１は、新規に作成した描画データにＵＩ識別値「SCREEN_mail_2.0」を付与して、記憶装置３０７に記憶するよう描画データ取得部３１０に指示する。描画データ取得部３１０は、レイアウト処理部３０１から指示された描画データを記憶装置３０７に記憶する。
【００７４】
なお、既存の描画データに含まれるレイアウト情報と、最新のPlug-inのレイアウト情報とが異なる場合、デフォルト設定によりレイアウトが異なる場合と、ユーザ変更によりレイアウトが異なる場合と２通り考えられる。レイアウト処理部３０１は、記憶装置３０７に描画データを指示する際、ユーザによりレイアウトが変更されていた場合には、その旨を示すフラグや情報を付与しておく。なお、ユーザによりレイアウトが変更された場合には、レイアウトのバージョン識別値は新規な値が設定される。これにより、継承情報は、ユーザがレイアウトを変更したことにより既存の描画データに含まれるレイアウト情報と、最新のPlug-inのレイアウト情報とが異なる場合は、既存のレイアウトを優先するよう定義することも可能になる。また、デフォルト設定により既存の描画データに含まれるレイアウト情報と、最新のPlug-inのレイアウト情報とが異なる場合は、最新のレイアウトを優先するよう定義することも可能になる。
【００７５】
（条件設定データ継承）
図７に戻り、例えば、ベンダは、バージョンアップしたＵＩ構造定義７６０を機器に配布し、このＵＩ構造定義７６０を機器に設定する必要がある。一方、機器では、ユーザにより処理条件がカスタマイズされた条件設定データが複数の個別的プロジェクトに対して設定されている。このため、ＵＩ構造定義の修正があった場合にでも、既設定の条件設定データの利用できるデータがあれば可能な限り利用して、最も好ましくは、追加修正された機能に関連するデータのみの設定入力だけでワークフローを利用させることが、ワークフローの有効利用およびメンテナンス性を向上させる観点では好ましいということができる。
【００７６】
このため、実施例１では、ＵＩ構造定義と、条件設定データとを分離し、適切なインタフェースを介して、既存の条件設定データ７８０を、異なる描画データ７５０のＵＩ構造定義７６０が利用する条件設定データ７７０として利用させる。条件設定データ７７０は、条件設定データ７３０と比較し、表示するＵＩ項目が共通する限り条件設定データ７８０内での記述順にかかわらず、データが共有される。
【００７７】
データの共有を可能とするため、データ継承部３０５をインタフェースとして提供する。データ継承部３０５は、登録された条件設定データ７８０が含む共用可能データを、構造化文書中での記述順に関わらず、条件設定データ７７０に設定する。データ継承部３０５は、構造化文書を使用する点では、ＤＯＭ(Document Object Model)を使用し、条件設定データ７８０から、ＤＯＭを使用してデータを読み出し、描画データ７５０が使用する条件設定データ７７０として設定させるインタフェースとする形式を採用することが、ソフトウェア／ハードウェア資源の追加を最小化させる目的で好ましい。
【００７８】
上記の目的から、データ継承部３０５は、レイアウト処理部３０１が解釈して実行できるスクリプト言語で記述することができ、例示的なスクリプト言語としては、ＪａｖａＳｃｒｉｐｔ（登録商標）、ＶＢＳｃｒｉｐｔ（登録商標）、その他行単位で解釈実行し、処理を実行可能なスクリプトを挙げることができ、特に限定されることはない。なお、ソフトウェア資源に充分な余裕がある場合には、Ｊａｖａ（登録商標）の実行コードでインタフェースを提供してもよい。
【００７９】
図１１は、実施例１で使用する条件設定データ１１００の一例を示す図である。先頭行から、ＸＭＬのバージョンとエンコーディングが指定され、第２行目には、参照されるべき、ＵＩのＵＩ機能を識別するための識別値を含むファイル名が記述されている。その後、＜ｓｍｔｐ＞、＜server_name＞、＜port＞、＜user＞、＜address＞などの設定条件タグにより、設定データが規定された構造とされている。これらのデータのうちのいくつかはベンダ側で予め設定するものもあるし、他のデータはユーザ設定により機器固有の値が設定される。
【００８０】
図１１で示した条件設定データは、電子メール送信を制御するためのデータであるが、実施例１では、さらに、フォルダ送信、プリント、画像読み取りなどの各種機能の条件を設定するための構造化文書ファイルを実装させることができる。
【００８１】
図１２は、実施例１でインタフェースとして機能し、ＤＯＭ機能を含むデータ継承部３０５の機能を提供するための疑似コードの一例を示す図である。図１２に示す疑似コード１２００は、まず、前回読み込んだ描画データの前回バージョン識別値（prior_ver）と、現在表示するべきＵＩ構造定義（最新の画面ＸＭＬ）の現在バージョン識別値(current_ver)とを比較し、一致する場合には、前回利用した条件設定データを順に読み取る関数"read_cache"を起動する。また、前回バージョン識別値（prior_ver）と、現在表示するべきＵＩ構造定義の現在バージョン識別値(current_ver)とが不一致の場合には、ＤＯＭを使用してＸＭＬで記述された条件設定データを読み出す関数である"inheritance()"を呼び出してデータ読み取りを実行する。図１２には、関数inheritance()の読み取り処理コードも示す。図１１に示した条件設定データを記述した構造化文書から、設定するべきデータ値を、設定条件タグの順に、該当するデータを登録するアドレス領域にバッファリング処理を実行する。
【００８２】
図１２に示した疑似コード１２００の関数"inheritance()"は、行番号１５〜３８で規定されており、ＤＳＯ(Data Source Object)を呼び出し、以下ｗｈｉｌｅ構文が終了するまで、既存の条件設定データから、指定した行に定義された条件設定データを読み込んで、読み込んだ値をバッファリンする。なお、疑似コードにおいて設定する変数、Document.DocumentElement.childnodes.lengthは、条件設定データに記述されたタグで設定されている条件設定データの種類数を指定する値であり、ＤＯＭを使用して、予め取得しておくことができる。また他の実施例で、条件設定データ数が予め規定されている場合には、設定定数として、機能毎に設定してもよい。
【００８３】
図１１および図１２を使用して、より具体的にデータ継承部３０５の処理を説明すると、例えば、疑似コードの２２行目では、smtp_data=Document.DocumentElement.childnodes(i)で、図１２の条件設定データの値「SMTPS」を読み取り、変数smtp.innerText=SMTPSとして設定する。以下、順次、server_nameから最終の設定条件データまでの読み取りを実行する。一方、ＵＩ構造定義は、ＨＴＭＬ、ＸＭＬ、ＸＳＬＴおよび適宜ＣＳＳを使用して実装されていて、例えば＜smtp id＝"SMTPS"＞として、読み出した値を、ノード＜smtp＞の値として渡すことができる。以下、同様のコーディングにより、新たなＵＩ定義構造に使用するための条件設定データを設定して行くことができる。設定されたデータは、制御部３１の管理する適切な記憶領域に格納され、以後、制御部３１がＵＩインスタンスを作成する期間、保持される。
【００８４】
＜動作＞
図１３は、実施例１におけるPlug-inの画面表示の一例を示すフローチャートである。ステップＳ１３０１で、レイアウト処理部３０１は、ＵＩ表示部１０１からPlug-inの画面表示指示を受けると、描画データ取得部３１０に、指示されたPlug-inの描画データの取得を指示する。描画データ取得部３１０は、記憶装置３０７から描画データを取得する。このとき、レイアウト継承部３０６は、描画データに含まれるレイアウト情報の識別情報（バージョン識別値）を取得しておく。
【００８５】
ステップＳ１３０２で、レイアウト継承部３０６は、表示対象のPlug-inの最新の画面ＸＭＬに含まれるバージョン識別値を取得する。ステップＳ１３０３で、レイアウト継承部３０６は、描画データに含まれるバージョン識別値と、画面ＸＭＬに含まれるバージョン識別値とを比較する。バージョン識別値が異なる場合は、ステップＳ１３０４に進み、バージョン識別値が同じ場合はステップＳ１３０７に進む。
【００８６】
ステップＳ１３０４で、レイアウト継承部３０６は、記憶装置３０７に記憶されている継承情報を参照して、どちらのレイアウト情報、又はＵＩパーツに対してどちらの位置情報を用いるかを決定する。なお、継承情報は、Plug-in毎、又はＵＩパーツ毎に定義されていてもよい。Plug-in毎に継承情報が設定される場合は、継承情報は、Plug-in毎に、既存のレイアウト優先、最新のレイアウト優先が定義される。ＵＩパーツ毎に継承情報が設定されている場合は、継承情報は、ＵＩパーツ毎に、既存のＵＩパーツの位置情報優先、最新のＵＩパーツの位置情報優先が定義される。レイアウト継承部３０６は、決定されたレイアウト情報又はＵＩパーツの位置情報をレイアウト処理部３０１に出力する。レイアウト処理部３０６は、レイアウト継承部３０６から取得したレイアウト情報、又はＵＩパーツの位置情報に基づいて新描画データを作成する。
【００８７】
ステップＳ１３０５で、データ継承部３０５は、図１１や図１２で説明したように、既存の描画データに設定された条件設定データを新描画データに引継いで、レイアウト処理部３０１に通知する。
【００８８】
ステップＳ１３０６で、レイアウト処理部３０１は、レイアウト継承部３０６が決定してレイアウト情報、及び、データ継承部３０５が継承した条件設定データに基づいて新描画データを作成する。
【００８９】
ステップＳ１３０７で、レイアウト処理部３０１は、作成した新描画データをＵＩ表示部１０１に出力する。ＵＩ表示部１０１は、レイアウト処理部３０１により作成された描画データを画面に表示する。
【００９０】
これにより、実施例１では、Plug-inの画面レイアウトを更新する際に、ユーザの予期せぬレイアウトに変更されることを防止することができる。また、実施例１では、継承情報をPlug-in毎、又はＵＩパーツ毎に定義することで、ユーザのニーズに合わせたレイアウトの更新を行なうことができる。
【００９１】
なお、レイアウト継承部３０６は、既存のレイアウトと、最新のレイアウトとの違いをバージョン識別値を用いて判定したが、次の方法を用いてこの判定を行ってもよい。レイアウト継承部３０６は、同じＵＩパーツに対し、描画データに含まれるＵＩパーツの位置情報と、Plug-inデータに含まれるＵＩパーツの位置情報とを一つずつ比較し、異なるＵＩパーツがあれば、既存のレイアウトと最新のレイアウトとは異なると判定してもよい。
【００９２】
［実施例２］
次に、実施例２に係る画像処理システムについて説明する。実施例２では、継承情報がＵＩパーツ毎に定義されている場合、デフォルト位置（最新の位置）優先のＵＩパーツと、既存位置優先のＵＩパーツとが重なる場合があるため、この重なりを検知して重ならないように自動調整する機能を提供する。
【００９３】
＜機能＞
図１４は、実施例２における画像処理システム１４００の機能の一例を示すブロック図である。図１４に示す機能において、図４に示す機能と同様の機能のものは同じ符号を付し、その説明を省略する。
【００９４】
図１４に示すレイアウト処理部１４１０は、ＸＭＬパーザ３０２、表示制御部３０３、調整部１４１２を含む。レイアウト処理部１４１０は、継承情報により決定されたＵＩパーツの位置にＵＩパーツを配置してPlug-inのレイアウトを作成する。このとき、継承情報がＵＩパーツ毎に定義されている場合、デフォルト位置（最新の位置）優先のＵＩパーツと、既存位置優先のＵＩパーツとが重なる場合がある。
【００９５】
調整部１４１２は、Plug-in画面のレイアウトが作成されたときに、ＵＩパーツ同士が重なるかを検知する。ＵＩ重なるか重ならないかは、ＵＩパーツの位置情報を参照すれば、判定可能である。調整部１４１２は、ＵＩパーツ同士が重なることを検知した場合、ＵＩパーツが重ならないようＵＩパーツの位置を自動調整する。
【００９６】
具体的には、調整部１４１２は、重なっているＵＩパーツ周辺のＵＩパーツの位置情報を参照して、重なっているＵＩパーツが重ならないような位置に、それぞれのＵＩパーツを配置する。このとき、調整部１４１２は、重なっているＵＩパーツ全ての位置を移動させてもよいし、重なっているＵＩパーツのうち、少なくとも１つのＵＩパーツの位置を移動させてもよい。
【００９７】
図１５は、ＵＩパーツの位置の自動調整の一例を示す図である。図１５（Ａ）は、既存の描画データに含まれるレイアウト情報の例を示す図である。図１５（Ａ）に示すように、ユーザによりレイアウトが変更され、「追加」ボタンは非表示、「編集」ボタン１５１２、「削除」ボタン１５１４がそれぞれ、ｘ方向に−２移動した位置に変更されているとする。
【００９８】
このとき、例えば継承情報には、ＵＩパーツ「追加」ボタンは、デフォルトの位置情報を優先、ＵＩパーツ「編集」ボタンは、既存の位置情報を優先、ＵＩパーツ「削除」ボタンは、デフォルトの位置情報を優先が定義されていたとする。
【００９９】
図１５（Ｂ）は、レイアウト更新時にレイアウト継承部３０６によりＵＩパーツの位置を継承した画面例を示す図である。継承情報によれば、ＵＩパーツ「編集」ボタンのみが、既存の位置情報を優先するため、レイアウト更新後の画面は、図１５に示す画面となる。つまり、「追加」ボタン１５２２と「編集」ボタン１５２４とが重なってしまう。なお、「削除」ボタン１５２６は、デフォルトの位置に配置される。
【０１００】
図１５（Ｃ）は、ＵＩパーツの位置を自動調整した後の画面例を示す図である。調整部１４１２は、図１５（Ｂ）の状態を検知すると、それぞれのＵＩパーツの位置、大きさを考慮して、「追加」ボタンと「編集」ボタンとが重ならない位置に自動調整する。例えば、調整部１４１２は、「編集」ボタンをｘ方向に＋２移動させる。このときの画面が、図１５（Ｃ）に示す画面である。
【０１０１】
図１５（Ｃ）に示すように、調整部１４１２がＵＩパーツの位置を自動調整することで、「追加」ボタン１５３２、「編集」ボタン１５３４、「削除」ボタン１５３６が重ならない位置に配置される。なお、継承情報において、ＵＩパーツ「追加」ボタンが、既存の位置情報を優先すると定義されていた場合、「追加」ボタン１５３２は表示されないため、「編集」ボタン１５３４の位置の自動調整は行われない。
【０１０２】
以上、実施例２によれば、継承情報がＵＩパーツ毎に定義されている場合、デフォルト位置（最新の位置）優先のＵＩパーツと、既存位置優先のＵＩパーツとが重なることを防止することができる。
【０１０３】
［実施例３］
次に、実施例３に係る画像処理システムについて説明する。実施例３では、継承情報に基づいてレイアウトを作成した画面をプレビューとしてユーザに提示し、ユーザがこの画面を気に入らなければ、継承情報の変更を行うことができる機能を提供する。
【０１０４】
＜機能＞
図１６は、実施例３における画像処理システム１６００の機能の一例を示すブロック図である。図１６に示す機能において、図４に示す機能と同様の機能のものは同じ符号を付し、その説明を省略する。
【０１０５】
図１６に示すレイアウト処理部１６１０は、ＸＭＬパーザ３０２、表示制御部３０３、プレビュー部１６１２、変更部１６１４を含む。プレビュー部１６１２は、継承情報により決定されたレイアウト情報、又はＵＩパーツの位置に基づいて作成したPlug-in画面のレイアウトをプレビューとして、ＵＩ表示部１０１に表示するよう指示する。ＵＩ表示部１０１は、プレビュー画面を表示する。このとき、プレビュー部１６１２は、プレビュー画面に、継承情報を変更する変更ボタンを表示させる。
【０１０６】
「継承情報を変更する」とは、例えば、既存のレイアウトを優先するか、最新のレイアウトを優先するかを切り替えること、また、ＵＩパーツ毎の継承情報をPlug-in毎の継承情報に切り替えることをいう。
【０１０７】
変更部１６１４は、プレビュー画面に表示された変更ボタンが押下されたことを、ＵＩ表示部１０１から通知されると、レイアウト継承部１６２０にその旨通知する。レイアウト継承部１６２０は、変更された継承情報に基づいて、レイアウト情報、又はＵＩパーツの位置情報を再決定し、レイアウト処理部１６１０に通知する。
【０１０８】
レイアウト処理部１６１０は、変更された継承情報に従って決定されたレイアウト情報、又はＵＩパーツの位置情報に基づいてＵＩ画面を作成できる。
【０１０９】
以上、実施例３によれば、継承情報に基づいてレイアウトを作成した画面をプレビューとしてユーザに提示し、ユーザがこの画面を気に入らなければ、継承情報の変更を行うことでユーザ所望のレイアウトに変更することができる。
【０１１０】
［変形例］
次に、変形例における画像形成装置について説明する。実施例５では、前述した画像処理サーバがＭＦＰに組み込まれている。図１７は、変形例におけるＭＦＰ１７００の機能の一例を示すブロック図である。図１７に示すように、画像処理サーバが組み込まれたＭＦＰの各機能は、基本的には図４に示すＭＦＰ１０の機能及び画像処理サーバ３０の機能と同様である。これにより、変形例に係るＭＦＰ１７００によれば、ＭＦＰ単体で、各実施例に示した処理を行なうことができる。
【０１１１】
各実施例の画像処理サーバや変形例のＭＦＰで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１１２】
また、各実施例の画像処理サーバや変形例のＭＦＰで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。
【０１１３】
また、各実施例の画像処理サーバや変形例のＭＦＰで実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１１４】
各実施例の画像処理サーバや変形例のＭＦＰで実行されるプログラムは、前述した各手段を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記憶媒体からプログラムを読み出して実行することにより上記各手段が主記憶装置上にロードされ、上記各手段が主記憶装置上に作成されるようになっている。
【０１１５】
なお、本発明は、上記実施例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施例に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施例に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施例にわたる構成要素を適宜組み合わせても良い。
【符号の説明】
【０１１６】
１０、２０、１７００  ＭＦＰ
３０  画像処理サーバ
４０  画像管理サーバ
５０  情報処理端末
１０１  ＵＩ表示部
３０１、１４１０、１６１０  レイアウト処理部
３０２  ＸＭＬパーザ
３０３  表示制御部
３０４  ＵＩ構造定義取得部
３０５  データ継承部
３０６  レイアウト継承部
３０７  記憶装置
３０８  ワークフロー管理部
３０９  処理実行部
３０１、１６１６  描画データ取得部
１４１２  調整部
１６１２  プレビュー部
１６１４  変更部
【先行技術文献】
【特許文献】
【０１１７】
【特許文献１】特開２００８−０９７５８６号公報
【特許文献２】特開２００８−１７６５４１号公報
【特許文献３】特開２００８−３０５００４号公報
【図１】
2011186767.tif 000003
【図２】
2011186767.tif 000004
【図３】
2011186767.tif 000005
【図４】
2011186767.tif 000006
【図５】
2011186767.tif 000007
【図６】
2011186767.tif 000008
【図７】
2011186767.tif 000009
【図８】
2011186767.tif 000010
【図９】
2011186767.tif 000011
【図１０】
2011186767.tif 000012
【図１１】
2011186767.tif 000013
【図１２】
2011186767.tif 000014
【図１３】
2011186767.tif 000015
【図１４】
2011186767.tif 000016
【図１５】
2011186767.tif 000017
【図１６】
2011186767.tif 000018
【図１７】
2011186767.tif 000019