(57)【要約】【課題】ＷＥＢアプリケーションにおける既存のメニューページの構造を維持しつつ、ＷＥＢアプリケーションの機能を拡張する技術を提供する。【解決手段】画像処理装置１００は、ＷＥＢアプリケーションの機能の階層構造を表すメニューページを定義したメニュー定義情報を記憶部１１３に予め記憶している。画像処理装置１００は、ＷＥＢアプリケーションの拡張機能を定義した拡張ページ情報を取得した場合には、設定コマンドに従って記憶部１１３の予め定められた記憶領域に拡張ページ情報を設定し、設定コマンドとメニュー定義情報に基づいて、設定された拡張ページ情報の拡張機能を挿入する挿入位置を特定し、ＷＥＢアプリケーションの階層構造を示すＷＥＢページを生成する要求を受付けたときに、特定された挿入位置とメニュー定義情報に基づいて、拡張機能が挿入された拡張メニューページを生成する。【選択図】図３
2011002923.tif 000002
【特許請求の範囲】
【請求項１】
ＷＥＢアプリケーションの機能を記述したプログラムと、当該ＷＥＢアプリケーションにおいて予め定義されている前記機能の階層構造を示す構成情報を記憶する記憶手段と、
前記階層構造における機能を拡張する拡張機能の内容が記述された拡張ページ情報を取得する取得手段と、
前記取得手段により取得された前記拡張ページ情報を、予め定められた設定コマンドに従って前記記憶手段に設定する設定手段と、
前記設定手段により設定された前記拡張ページ情報の拡張機能を前記階層構造に挿入する挿入位置を、前記設定コマンドと前記構成情報に基づいて特定する特定手段と、
前記ＷＥＢアプリケーションの前記階層構造を示すＷＥＢページの生成要求を受付ける要求受付手段と、
前記要求受付手段により前記生成要求を受付けた場合に、前記記憶手段に記憶されている前記構成情報と、前記特定手段により特定された前記挿入位置に基づいて、前記構成情報に基づくＷＥＢページに対して前記拡張機能を示す拡張機能情報が挿入された拡張ＷＥＢページを生成するページ生成手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記構成情報には、前記階層構造における各機能の機能名と、前記各機能の分類を示す分類名とが定義されており、
前記拡張ページ情報は、前記拡張機能の内容が記述されたＣＧＩ(Common  Gateway  Interface)プログラムであり、
前記設定コマンドは、前記拡張機能が含まれる前記分類名と、前記ＣＧＩプログラムを設定する前記記憶手段における記憶領域が指定されており、
前記設定手段は、前記設定コマンドで指定された前記記憶領域に前記ＣＧＩプログラムを設定し、
前記特定手段は、前記設定コマンドで指定された前記分類名を前記拡張機能の前記挿入位置を示す挿入位置情報として抽出し、
前記ページ生成手段は、前記構成情報に基づくＷＥＢページにおける、前記特定手段により抽出された前記挿入位置情報が示す前記分類名に対応する部分に、前記ＣＧＩプログラムの前記拡張機能情報を挿入して前記拡張ＷＥＢページを生成する
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記構成情報には、前記階層構造における各機能の機能名と、前記各機能の分類を示す分類名とが定義されており、
前記記憶手段は、前記各機能に対応するディレクトリが設定されており、
前記拡張ページ情報は、前記拡張機能のＷＥＢページをメタ言語で記述した定義ファイルであり、
前記設定手段は、前記記憶手段のディレクトリのうち、前記設定コマンドによって予め定められた前記ディレクトリに前記定義ファイルを設定し、
前記特定手段は、前記設定手段により前記定義ファイルが設定された前記ディレクトリと前記構成情報に基づいて、当該定義ファイルの前記拡張機能が含まれる前記分類名を前記挿入位置情報として特定し、
前記ページ生成手段は、前記構成情報に基づくＷＥＢページにおける、前記特定手段により特定された前記挿入位置情報が示す前記分類名に対応する部分に、前記定義ファイルの前記拡張機能情報を挿入して前記拡張ＷＥＢページを生成する
ことを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記階層構造における各機能の機能名と、前記各機能の分類を示す分類名とが定義されており、
前記拡張ページ情報は、前記拡張機能の内容が記述されたＣＧＩプログラムと、前記拡張機能のＷＥＢページをメタ言語で記述した定義ファイルであり、
前記設定手段は、前記取得手段により取得された前記ＣＧＩプログラム及び前記定義ファイルを、各々に対応する前記設定コマンドに従って前記記憶領域に設定し、
前記特定手段は、前記設定手段により設定された前記ＣＧＩプログラム及び前記定義ファイルの各々の前記設定コマンドと前記構成情報に基づいて、前記ＣＧＩプログラム及び前記定義ファイルの各拡張機能が含まれる前記分類名を挿入位置情報として各々特定し、
前記ページ生成手段は、前記構成情報に基づくＷＥＢページにおける前記各分類名に対応する部分に、前記特定手段により当該分類名が前記ＣＧＩプログラムの挿入位置情報として特定されている場合には、当該ＣＧＩプログラムの前記拡張機能を挿入し、当該分類名が前記ＣＧＩプログラムの挿入位置情報として特定されていない場合において、前記定義ファイルの挿入位置情報として当該分類名が前記特定手段により特定されているときには、当該定義ファイルの拡張機能を挿入して前記拡張ＷＥＢページを生成することを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記ページ生成手段により生成された前記拡張ＷＥＢページの情報を前記生成要求の要求元に対して出力する出力手段を備えることを特徴とする請求項１〜４のいずれか一項に記載の情報処理装置。
【請求項６】
ＷＥＢアプリケーションの機能を記述したプログラムと、当該ＷＥＢアプリケーションにおいて予め定義されている前記機能の階層構造を示す構成情報を記憶する記憶手段を備えるコンピュータに、
前記階層構造における機能を拡張する拡張機能の内容が記述された拡張ページ情報を取得する取得ステップと、
前記取得ステップにより取得された前記拡張ページ情報を、予め定められた設定コマンドに従って前記記憶手段に設定する設定ステップと、
前記設定ステップにより設定された前記拡張ページ情報の拡張機能を前記階層構造に挿入する挿入位置を、前記設定コマンドと前記構成情報に基づいて特定する特定ステップと、
前記ＷＥＢアプリケーションの前記階層構造を示すＷＥＢページの生成要求を受付ける要求受付ステップと、
前記要求受付ステップにより前記生成要求を受付けた場合に、前記記憶手段に記憶されている前記構成情報と、前記特定手段により特定された前記挿入位置に基づいて、前記構成情報に基づくＷＥＢページに対して前記拡張機能を示す拡張機能情報が挿入された拡張ＷＥＢページを生成するページ生成ステップと
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＷＥＢアプリケーションの機能を拡張する情報処理装置、及びプログラムに関する。
【背景技術】
【０００２】
従来、アプリケーションの機能を拡張してアプリケーションのメニューページを生成する種々の技術が提案されている。例えば、特許文献１には、携帯端末装置のメインメニューのアイコンや項目などの表示を行うコントロール部をプラグイン化し、新たにメニュー項目等を追加する場合には、ＷＥＢ(World Wide Web)サイトからユーザが所望するメニュープラグインをダウンロードして追加する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１４１０６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ＷＥＢアプリケーションの機能を拡張した場合、ＷＥＢアプリケーションの既存のメニューページに、拡張した機能のメニュー項目を追加した新たなメニューページを生成する方法として、既存のメニューページを修正して新たなメニューページを生成したり、ブログ等の場合にはＧＵＩ(Graphical User Interface)を用いてデータベースを編集しメニューページを動的に生成するなどの方法がとられている。なお、複数のクライアントに共通のメニューページを提供するような場合には、既存のメニューページの構造を変えずに機能を拡張した新たなメニューページを提供することが望まれる。
本発明は、ＷＥＢアプリケーションにおける既存のメニューページの構造を維持しつつ、ＷＥＢアプリケーションの機能を拡張する技術を提案することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の請求項１に係る情報処理装置は、ＷＥＢアプリケーションの機能を記述したプログラムと、当該ＷＥＢアプリケーションにおいて予め定義されている前記機能の階層構造を示す構成情報を記憶する記憶手段と、前記階層構造における機能を拡張する拡張機能の内容が記述された拡張ページ情報を取得する取得手段と、前記取得手段により取得された前記拡張ページ情報を、予め定められた設定コマンドに従って前記記憶手段に設定する設定手段と、前記設定手段により設定された前記拡張ページ情報の拡張機能を前記階層構造に挿入する挿入位置を、前記設定コマンドと前記構成情報に基づいて特定する特定手段と、前記ＷＥＢアプリケーションの前記階層構造を示すＷＥＢページの生成要求を受付ける要求受付手段と、前記要求受付手段により前記生成要求を受付けた場合に、前記記憶手段に記憶されている前記構成情報と、前記特定手段により特定された前記挿入位置に基づいて、前記構成情報に基づくＷＥＢページに対して前記拡張機能を示す拡張機能情報が挿入された拡張ＷＥＢページを生成するページ生成手段とを備える。
【０００６】
また、本発明の請求項２に係る情報処理装置は、請求項１に係る構成において、前記構成情報には、前記階層構造における各機能の機能名と、前記各機能の分類を示す分類名とが定義されており、前記拡張ページ情報は、前記拡張機能の内容が記述されたＣＧＩ(Common  Gateway  Interface)プログラムであり、前記設定コマンドは、前記拡張機能が含まれる前記分類名と、前記ＣＧＩプログラムを設定する前記記憶手段における記憶領域が指定されており、前記設定手段は、前記設定コマンドで指定された前記記憶領域に前記ＣＧＩプログラムを設定し、前記特定手段は、前記設定コマンドで指定された前記分類名を前記拡張機能の前記挿入位置を示す挿入位置情報として抽出し、前記ページ生成手段は、前記構成情報に基づくＷＥＢページにおける、前記特定手段により抽出された前記挿入位置情報が示す前記分類名に対応する部分に、前記ＣＧＩプログラムの前記拡張機能情報を挿入して前記拡張ＷＥＢページを生成する。
【０００７】
本発明の請求項３に係る情報処理装置は、請求項１に係る構成において、前記構成情報には、前記階層構造における各機能の機能名と、前記各機能の分類を示す分類名とが定義されており、前記記憶手段は、前記各機能に対応するディレクトリが設定されており、前記拡張ページ情報は、前記拡張機能のＷＥＢページをメタ言語で記述した定義ファイルであり、前記設定手段は、前記記憶手段のディレクトリのうち、前記設定コマンドによって予め定められた前記ディレクトリに前記定義ファイルを設定し、前記特定手段は、前記設定手段により前記定義ファイルが設定された前記ディレクトリと前記構成情報に基づいて、当該定義ファイルの前記拡張機能が含まれる前記分類名を前記挿入位置情報として特定し、前記ページ生成手段は、前記構成情報に基づくＷＥＢページにおける、前記特定手段により特定された前記挿入位置情報が示す前記分類名に対応する部分に、前記定義ファイルの前記拡張機能情報を挿入して前記拡張ＷＥＢページを生成する。
【０００８】
本発明の請求項４に係る情報処理装置は、請求項１に係る構成において、前記階層構造における各機能の機能名と、前記各機能の分類を示す分類名とが定義されており、前記拡張ページ情報は、前記拡張機能の内容が記述されたＣＧＩプログラムと、前記拡張機能のＷＥＢページをメタ言語で記述した定義ファイルであり、前記設定手段は、前記取得手段により取得された前記ＣＧＩプログラム及び前記定義ファイルを、各々に対応する前記設定コマンドに従って前記記憶領域に設定し、前記特定手段は、前記設定手段により設定された前記ＣＧＩプログラム及び前記定義ファイルの各々の前記設定コマンドと前記構成情報に基づいて、前記ＣＧＩプログラム及び前記定義ファイルの各拡張機能が含まれる前記分類名を挿入位置情報として各々特定し、前記ページ生成手段は、前記構成情報に基づくＷＥＢページにおける前記各分類名に対応する部分に、前記特定手段により当該分類名が前記ＣＧＩプログラムの挿入位置情報として特定されている場合には、当該ＣＧＩプログラムの前記拡張機能を挿入し、当該分類名が前記ＣＧＩプログラムの挿入位置情報として特定されていない場合において、前記定義ファイルの挿入位置情報として当該分類名が前記特定手段により特定されているときには、当該定義ファイルの拡張機能を挿入して前記拡張ＷＥＢページを生成する。
【０００９】
本発明の請求項５に係る情報処理装置は、請求項１〜４のいずれか一項に係る構成において、前記ページ生成手段により生成された前記拡張ＷＥＢページの情報を前記生成要求の要求元に対して出力する出力手段を備えることを特徴とする。
【００１０】
本発明の請求項６に係るプログラムは、  ＷＥＢアプリケーションの機能を記述したプログラムと、当該ＷＥＢアプリケーションにおいて予め定義されている前記機能の階層構造を示す構成情報を記憶する記憶手段を備えるコンピュータに、前記階層構造における機能を拡張する拡張機能の内容が記述された拡張ページ情報を取得する取得ステップと、前記取得ステップにより取得された前記拡張ページ情報を、予め定められた設定コマンドに従って前記記憶手段に設定する設定ステップと、前記設定ステップにより設定された前記拡張ページ情報の拡張機能を前記階層構造に挿入する挿入位置を、前記設定コマンドと前記構成情報に基づいて特定する特定ステップと、前記ＷＥＢアプリケーションの前記階層構造を示すＷＥＢページの生成要求を受付ける要求受付ステップと、前記要求受付ステップにより前記生成要求を受付けた場合に、前記記憶手段に記憶されている前記構成情報と、前記特定手段により特定された前記挿入位置に基づいて、前記構成情報に基づくＷＥＢページに対して前記拡張機能を示す拡張機能情報が挿入された拡張ＷＥＢページを生成するページ生成ステップとを実行させる。
【発明の効果】
【００１１】
請求項１に係る発明によれば、ＷＥＢアプリケーションにおいて予め定義されている各機能の階層構造を維持しつつ、ＷＥＢアプリケーションの機能が拡張され、拡張された各機能の階層構造を示すＷＥＢページが生成される。
【００１２】
請求項２に係る発明によれば、ＣＧＩ(Common  Gateway  Interface)プログラムで記述された拡張機能がＷＥＢアプリケーションに挿入され、拡張されたＷＥＢアプリケーションの各機能の階層構造を示すＷＥＢページが生成される。
【００１３】
請求項３に係る発明によれば、ＣＧＩプログラムに対して比較的容易にＷＥＢページを生成しうるメタ言語で記述された拡張機能がＷＥＢアプリケーションに挿入され、拡張されたＷＥＢアプリケーションの各機能の階層構造を示すＷＥＢページが生成される。
【００１４】
請求項４に係る発明によれば、ＷＥＢアプリケーションにおいて予め定義されている各機能の階層構造を維持しつつ、メタ言語に比して高機能なＷＥＢページを生成しうるＣＧＩプログラムによる拡張機能がメタ言語で記述された拡張機能より優先してＷＥＢアプリケーションに挿入され、拡張されたＷＥＢアプリケーションの階層構造を示すＷＥＢページが生成される。
【００１５】
請求項５に係る発明によれば、ＷＥＢアプリケーションの階層構造を示すＷＥＢページの生成要求元に対し、拡張機能が挿入されたＷＥＢアプリケーションの階層構造を示す拡張ＷＥＢページが出力される。
【００１６】
請求項６に係る発明によれば、ＷＥＢアプリケーションにおいて予め定義されている各機能の階層構造を維持しつつ、ＷＥＢアプリケーションの機能が拡張され、拡張された各機能の階層構造を示すＷＥＢページが生成される。
【図面の簡単な説明】
【００１７】
【図１】実施形態のシステム構成例を示す図である。
【図２】(ａ)は、実施形態におけるＷＥＢアプリケーション１０の既存ページ構成を例示した図である。(ｂ)は、実施形態におけるＷＥＢアプリケーション１０のＷＥＢページの分類を説明する図である。（ｃ）は、実施形態におけるＷＥＢアプリケーション１０のメニュー定義情報例を示す図である。(ｄ)は、実施形態におけるＷＥＢアプリケーション１０の基本メニューページの表示例を示す図である。
【図３】実施形態における画像処理装置１００のブロック図である。
【図４】実施形態におけるＷＥＢアプリケーション１０のディレクトリ構成例を示す図である。
【図５】実施形態における拡張ページ定義ファイルの内容を例示した図である。
【図６】実施形態におけるＷＥＢアプリケーション１０の機能拡張後のページ構成を示す図である。
【図７】実施形態における画像処理装置１００の初期設定処理を示す動作フローである。
【図８】実施形態におけるＣＧＩ情報８０を例示した図である。
【図９】実施形態におけるディレクトリ情報９０を例示した図である。
【図１０】実施形態における画像処理装置１００のメニューページ生成処理を示す動作フロー図である。
【図１１】実施形態における拡張メニューページの表示例を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明の実施形態に係る情報処理装置について説明する。
＜実施形態＞
【００１９】
図１は、本実施形態におけるシステム構成例を示している。本発明の実施形態に係る情報処理装置は、コピー機能、プリンタ機能、ＦＡＸ送受信機能などの各種機能を備えた画像処理装置１００で構成されており、ＰＣ等のクライアント装置２００ａ〜２００ｎ(以下、クライアント装置を区別しない場合にはクライアント装置２００と言う)とイントラネットを介して接続されている。
また、画像処理装置１００は、ＨＴＴＰ(Hyper  Text  Transfer  Protocol)の通信プロトコルに従って、クライアント装置２００とＨＴＭＬ(Hyper  Text  Markup  language)などのデータを送受信するＷＥＢサーバとしての機能を備え、また、上記した各種機能の動作状況をクライアント装置２００に提供したり、クライアント装置２００からの指示に応じて各機能設定を行うなどのＷＥＢアプリケーションを備える。
【００２０】
ここで、本実施形態におけるＷＥＢアプリケーションについて説明する。
＜ＷＥＢアプリケーション＞
ＷＥＢアプリケーションは、ＷＥＢアプリケーションが有する各機能をクライアント装置２００に提供するためのＷＥＢページをＸＭＬ言語で記述したＸＭＬファイルや、ＷＥＢページを生成するためのＣＧＩプログラムで構成されている。また、ＷＥＢアプリケーションにおける各ＷＥＢページは、機能毎に分類されて他のＷＥＢページとリンクするよう構成されている。
クライアント装置２００にＷＥＢアプリケーションの機能が提供される際には、各ＷＥＢページの分類とリンク関係が階層構造で表されたメニューページがクライアント装置２００に送られ、クライアント装置２００のブラウザによりメニューページが表示される。
【００２１】
図２(ａ)は、本実施形態におけるＷＥＢアプリケーションのＷＥＢページの構成を例示した図である。同図に示すように、ＷＥＢアプリケーション１０は、機能Ａ１〜Ｃ１の各ＷＥＢページと、各々のＷＥＢページとリンク関係を有する機能ａ１〜ｃ１の各ＷＥＢページで構成されている。また、図２(ｂ)は、図２(ａ)の各ＷＥＢページに設定されている分類を示す分類情報である。
図２(ｂ)の分類情報２０に示すように、図２(ａ)の各ＷＥＢページは、大分類又は中分類に設定されている。この例では、機能名“機能Ａ１”と“機能ａ１”のＷＥＢページは大分類“Ａ”に分類され、更に、機能ａ１のＷＥＢページについては、中分類“ａ”に分類されている。
なお、本実施形態においては、これらの分類は、各機能の内容や種類に応じて定められた分類である。即ち、例えば、画像処理装置１００がＷＥＢアプリケーション１０によりクライアント装置２００に提供可能な機能として、画像処理装置１００のネットワーク設定を行う機能を有し、更に、ネットワーク設定に関する機能としてプロトコル設定を行う機能を有している場合、ネットワーク設定が大分類に相当し、プロトコル設定が中分類に相当する。
【００２２】
画像処理装置１００は、図２(ａ)(ｂ)で示したＷＥＢページの構成に基づくメニューページ(以下、基本メニューページと言う)を予め定義したメニュー定義ファイルを記憶している。図２(ｃ)は、ＸＭＬ言語で記述されたメニュー定義ファイルの例を示している。同図に示すように、メニュー定義ファイル３０において、＜ｃａｔｅｇｏｒｙ＞タグ３１により上述の分類“Ａ”が定義され、基本メニューページの見出しとして、各分類を英語表示する際の分類名“ＦｕｎｃｔｉｏｎＡ”、日本語表示する際の分類名“機能Ａ”がタグ３３及びタグ３４により設定されている。
【００２３】
また、＜ｓｅｒｖｉｃｅｎａｍｅ＞タグ３４により、分類“Ａ”に属するＷＥＢページの機能名“機能Ａ１”がメニュー項目として定義され、＜ａｃｔｉｏｎｎａｍｅ＞タグ３５により機能Ａ１のＷＥＢページを生成する際に用いるＣＧＩのパスと引数とが定義されている。なお、他の分類については図示を省略するが、他の分類についても同様に、メニュー定義ファイルにこれらの情報が定義されている。このように、メニュー定義情報３０には、ＷＥＢアプリケーション１０におけるＷＥＢページの階層構造の各階層を示す分類名が定義され、この階層構造に従って分類名に対応する見出しやメニュー項目のＷＥＢページ上の配置等が定義されている。なお、この図で用いたタグは一例であり、各ＷＥＢページの機能名や分類等が定義されていればこれに限らない。
【００２４】
このメニュー定義ファイル３０に基づく基本メニューページの例を図２(ｄ)に示す。同図に示すように、基本メニューページ４０には、メニュー定義ファイル３０で定義された各分類に対応する見出し４１と、各分類に属するＷＥＢページの機能名４２がメニュー項目として階層構造で表示される。
【００２５】
本実施形態のＷＥＢアプリケーション１０における既存のＷＥＢページ群の構成(以下、既存ページ構成と言う)、及び基本メニューページのメニュー定義ファイルは以上の通りである。画像処理装置１００は、拡張機能のＷＥＢページ(以下、拡張ページと言う)を既存ページ構成に挿入し、メニュー定義情報３０の構成を変更することなく、拡張機能が挿入された拡張メニューページを生成する。以下、画像処理装置１００の構成について説明する。
【００２６】
＜画像処理装置１００の構成＞
図３は、画像処理装置１００のブロック図を示している。図３に示すように、画像処理装置１００は、ＣＰＵ１１０、ＲＯＭ１１１、ＲＡＭ１１２、記憶部１１３、操作パネル１１４、通信部１１５、コピー・プリンタ部１１６、及びＦＡＸ送受信部１１７を含んで構成されている。
【００２７】
ＣＰＵ１１０は、ＲＯＭ１１１に記憶されている制御プログラムを、ＲＡＭ１１２をワーキングエリアとして実行することにより、取得手段１１０ａ、設定手段１１０ｂ、特定手段１１０ｃ、ページ生成手段１１０ｄとしての各機能を実現し、ＣＰＵ１１０と接続されている各部を制御する。
具体的には、取得手段１１０ａは、拡張ページ情報、即ち、拡張ページをＸＭＬ言語で定義したファイル(以下、拡張ページ定義ファイルと言う)と、拡張ページを生成するためのＣＧＩプログラムを取得する機能を有する。
【００２８】
この拡張ページ情報は、クライアント装置２００から送信されたものであることとして説明を行うが、ＵＳＢ(Universal  Serial  Bus)等のインタフェース(不図示)を介してユーザ操作により取得してもよいし、記憶部１１３に予め記憶されていてもよい。
【００２９】
設定手段１１０ｂは、取得手段１１０ａにより取得された拡張ページ情報(ＣＧＩプログラム、拡張ページ定義ファイル)を、各拡張ページ情報に対する設定コマンドに従って記憶部１１３内の予め定められたディレクトリにインストールする機能を有する。拡張ページ情報がＣＧＩプログラムの場合には、ＣＧＩプログラムをインストールする設定コマンドにおいて、インストール先のディレクトリ名、ＣＧＩプログラムの実行により実現される拡張機能を示す拡張機能名、拡張機能が属する分類名、及び、ＣＧＩプログラムの拡張ページを生成するためのＣＧＩのパス(以下、ＣＧＩ名と言う)及び引数が指定される。
また、拡張ページ定義ファイルの場合には、ユーザ操作又は予め記憶部１１３に記憶された設定コマンドにより、拡張ページ定義ファイルのインストール先ディレクトリ名が指定され、指定されたディレクトリ名のディレクトリに拡張ページ定義ファイルが記憶される。
【００３０】
特定手段１１０ｃは、設定手段１１０ｂによりＣＧＩプログラムが設定される際に用いた設定コマンドから挿入位置情報として、ＣＧＩプログラムの拡張機能の分類名、拡張機能名、ＣＧＩ名及び引数を抽出し、ＣＧＩプログラムによる拡張機能のＷＥＢアプリケーションへの挿入位置を特定する。また、特定手段１１０ｃは、設定手段１１０ｂにより拡張ページ定義ファイルが設定された場合には、当該拡張ページ定義ファイルが設定されたディレクトリのディレクトリ名から挿入位置を特定する。
【００３１】
ページ生成手段１１０ｄは、クライアント装置２００からＷＥＢアプリケーション１０のメニューページが要求されたときに、メニュー定義情報３０と、特定手段１１０ｃにより特定された挿入位置とに基づいて拡張メニューページを生成する機能を有する。
【００３２】
次に、記憶部１１３について説明する。記憶部１１３は、ハードディスク等の記憶媒体で構成されており、ＷＥＢアプリケーション１０などの各種プログラムと、メニュー定義情報３０などの各種データを記憶する。
【００３３】
ここで、機能を拡張する前の記憶部１１３にインストールされているＷＥＢアプリケーション１０のディレクトリの構成について説明する。図４は、記憶部１１３において設定されたＷＥＢアプリケーションのディレクトリ構成を概念的に示した図である。図４において、ＷＥＢアプリケーション１０は、ディレクトリ“ＸＸＸ／ＡＢＣ”下に設定されており、ディレクトリ“ＸＸＸ／ＡＢＣ”下にはＷＥＢアプリケーション１０の分類単位にディレクトリ５１が設定されている。この例では、ディレクトリＡ、Ｂ、Ｃが上位階層であり、これらの各階層直下にディレクトリａ、ｂ、ｃのディレクトリが設定されている。これら各ディレクトリ５１のディレクトリ名は、ＷＥＢアプリケーション１０の機能名と共通する名称が付与されている。また、各ディレクトリ５１内には、そのディレクトリと対応する機能の各ＷＥＢページに関するファイル(ＣＧＩプログラム、ＸＭＬファイル等)が記憶されている。
【００３４】
上記のように構成されている記憶部１１３において、ＸＭＬ言語で記述されているメニュー定義情報３０は、例えば、図４のディレクトリ“ＸＸＸ／ＡＢＣ”に予め記憶されており、メニュー定義情報３０のファイルは拡張子ｃｏｎｆが設定されている。
【００３５】
次に、記憶部１１３内にインストールされるＣＧＩプログラムと拡張ページ定義ファイルについて説明する。なお、以下では、ＣＧＩプログラムと拡張ページ定義ファイルにより、図２(ａ)で示した既存ページ構成を拡張する場合について説明する。
まず、拡張ページ定義ファイルについて図５を用いて説明する。図５は、ＸＭＬ言語で記述された拡張ページ定義ファイルの内容例を示しており、拡張ページ定義ファイル６０には、拡張ページの構成等が記述されている。また、本実施形態では、拡張ページ定義ファイルには拡張子としてｃｏｎｆが設定されている。
【００３６】
例えば、図５の拡張ページ定義ファイル６０において、タグ６１により“ｓｅｒｖｉｃｅｎａｍｅ”として“機能ａ２”が定義され、タグ６２により“ｃａｔｅｇｏｒｙ”として“ａ”が定義されている。これは、機能ａ２の拡張ページを中分類“ａ”に挿入し、この拡張ページの拡張機能名、即ちメニュー項目名として“機能ａ２”を用いることを示している。なお、図示を省略するが、機能ａ２の拡張ページのフォームに関する情報についても拡張ページ定義ファイル６０には定義されている。
図２(ａ)に示す既存ページ構成にこの拡張ページが挿入されると、図６に示すように、機能Ａ１のＷＥＢページ７０の下に機能ａ２の拡張ページ７１が追加され、機能Ａ１の機能が拡張される。同様に、機能ａ３の拡張ページ７２についても拡張ページ定義ファイル６０において定義することにより、機能Ａ１の機能が拡張される。このように、拡張ページ定義ファイルには、拡張機能を示す拡張機能名と、拡張ページを挿入する挿入位置情報、即ち、メニュー定義情報３０で定義されている分類名が含まれている。
【００３７】
次に、ＣＧＩプログラムについて説明する。ＣＧＩプログラムの実態については図示を省略するが、ＣＧＩプログラムには、拡張機能を実現するための処理内容が記述されており、ＣＧＩプログラムのファイルには拡張子としてｃｇｉが設定されている。
【００３８】
図２に戻り、画像処理装置１００の構成の説明を続ける。
操作パネル１１４は、画像処理装置１００を操作するためのテンキーや矢印キー等を含んで構成されており、ユーザによって操作された情報をＣＰＵ１１０へ送出する。通信部１１５は、ＣＰＵ１１０の制御の下、ＨＴＴＰプロトコルに則って、クライアント装置２００へＷＥＢページのデータを出力する出力手段１１５ａと、クライアント装置２００からＷＥＢページの要求を受付ける要求受付手段１１５ｂの各機能を実現し、クライアント装置２００とデータを送受信する。なお、通信部１１５は、クライアント装置２００からＷＥＢページの要求を受付ける以外に、各種データとデータの送信先を示す送信先情報をクライアント装置２００から受付け、受付けた送信先情報に基づいて各種データを送信先に送出する。
【００３９】
また、コピー・プリンタ部１１６は、ユーザ操作に応じて文書等をコピーする機能と、ページ記述言語で記述された印刷データをクライアント装置２００から受付け、印刷データを展開し、展開した印刷データの画像を紙等の媒体に印刷するプリンタ機能とを有する。ＦＡＸ送受信部１１７は、公衆回線網と接続されており、クライアント装置２００から送信されたＦＡＸ送信先が設定されたデータや、操作パネル１１４を用いてユーザがＦＡＸ送信先を設定した文書のデータを送信したり、公衆回線網を介して外部から文書データを受信して紙媒体に出力する機能を有する。
【００４０】
画像処理装置１００の構成は以上の通りである。なお、本実施形態におけるクライアント装置２００は、上述したように、画像処理装置１００とイントラネットを介して接続されたＰＣ等で構成されている。クライアント装置２００は、ＨＴＴＰプロトコルに従い、ユーザ操作に応じて、ＷＥＢアプリケーション１０のＷＥＢページをブラウザを介して画像処理装置１００に要求する機能と、画像処理装置１００から送信されたＷＥＢページのデータをブラウザが受信し、クライアント装置２００に設けられているディスプレイにＷＥＢページを表示する機能等を有する。
【００４１】
＜動作＞
（初期設定処理）
次に、本実施形態に係る画像処理装置１００の動作について説明する。図７は、画像処理装置１００の初期設定処理を示す動作フロー図である。
図７のステップＳ１０において、ユーザ操作により、ＷＥＢアプリケーション１０の拡張ページ情報がクライアント装置２００から送信されると、画像処理装置１００のＣＰＵ１１０は、通信部１１５を介してその拡張ページ情報を取得する。そして、ＣＰＵ１１０は、取得した拡張ページ情報がＣＧＩプログラムである場合、即ち、拡張ページ情報の拡張子がｃｇｉである場合には(ステップＳ１０：ＹＥＳ)、ＣＧＩプログラムをインストールするためのｓｅｔｕｐコマンド、即ち、上述の設定コマンドを実行し、ｓｅｔｕｐコマンドにおいて指定されたインストール先のディレクトリにＣＧＩプログラムをインストールする(ステップＳ１１)。
【００４２】
なお、このｓｅｔｕｐコマンドは、ユーザによって設定されたコマンドであり、クライアント装置２００からＣＧＩプログラムのファイルと共にｓｅｔｕｐコマンドが送信されるようにしてもよいし、クライアント装置２００を用いたユーザ操作により、記憶部１１３の予め定められた領域にコマンドが記憶されていてもよい。また、このｓｅｔｕｐコマンドは、上述したように、ＣＧＩプログラムのインストール先ディレクトリ名、ＣＧＩプログラムの拡張機能の分類名、拡張機能名、ＣＧＩ名及び引数が指定されている。
【００４３】
次に、ＣＰＵ１１０は、ステップＳ１１においてＣＧＩプログラムのインストールに用いたｓｅｔｕｐコマンドで指定された拡張機能名、分類名、ＣＧＩ名及び引数を抽出し、図８に例示するＣＧＩ情報８０、即ち、挿入位置情報を記憶部１１３に記憶する（ステップＳ１２）。図８に示すように、ＣＧＩ情報８０は、抽出された各拡張機能の拡張機能名８１と、各拡張機能に対応する分類名８２と、各拡張機能名に対応するＣＧＩ名及び引数が対応づけられている。この例では、機能ａ２及び機能ａ３の拡張ページが中分類“ａ”に挿入されることを示している。
【００４４】
図７に戻り、ステップＳ１０において、ＣＰＵ１１０は、取得した拡張ページ情報がＣＧＩプログラムではなく、拡張ページ定義ファイルであった場合、即ち、拡張ページ情報の拡張子がｃｏｎｆであった場合には(ステップＳ１０：ＮＯ，ステップＳ１３：ＹＥＳ)、拡張ページ定義ファイルのインストール先が指定された設定コマンドを記憶部１１３から読み出し(ステップＳ１４)、設定コマンドで指定された記憶部１１３内のディレクトリに拡張ページ定義ファイルをインストールする(ステップＳ１５)。本実施形態では、拡張ページ定義ファイルは、図４に示すディレクトリ(ＸＸＸ／ＡＢＣ／Ａ)下のディレクトリ“ａ”にインストールされたものとして以下説明する。
【００４５】
そして、ＣＰＵ１１０は、拡張ページ定義ファイルがインストールされたディレクトリ名“ａ”を図９に示すディレクトリ情報９０、即ち、挿入位置情報として記憶部１１３に記憶する(ステップＳ１６)。
図７に戻り、ステップＳ１３において、ＣＰＵ１１０が通信部１１５を介して取得したデータが拡張ページ定義ファイルでない場合には(ステップＳ１３：ＮＯ)、初期設定処理を終了する。
【００４６】
（メニューページ生成処理）
次に、クライアント装置２００からＷＥＢアプリケーション１０のＷＥＢページが要求された場合のメニューページ生成処理の動作について説明する。図１０は、画像処理装置１００のメニューページ生成処理を示す動作フロー図である。
クライアント装置２００において、ユーザによりＷＥＢアプリケーション１０のメニューページを示すＵＲＬ(Uniform Resource Locator)又はＵＲＩ(Uniform Resource Identifier)を指定する操作がなされた場合、クライアント装置２００のブラウザはメニューページを要求するコマンドを画像処理装置１００に送信する。
【００４７】
画像処理装置１００のＣＰＵ１１０は、クライアント装置２００からメニューページ要求のコマンドを受付けると(ステップＳ２０：ＹＥＳ)、記憶部１１３からメニュー定義情報３０を読み出し、メニュー定義情報３０に基づくメニューページを生成し、メニュー定義情報３０において定義されている分類名を順次読み出す(ステップＳ２１)。尚、ステップＳ２０において、メニューページ要求のコマンドを受付けなかった場合には、メニューページ生成処理を終了する（ステップＳ２０：ＮＯ）。
【００４８】
ＣＰＵ１１０は、記憶部１１３からＣＧＩ情報８０を読み出し(ステップＳ２２)、ステップＳ２１において読み出した分類名に属する拡張機能名がＣＧＩ情報８０に含まれているか否かを判断する(ステップＳ２３)。ＣＰＵ１１０は、ＣＧＩ情報８０にその分類名に属する拡張機能名が含まれている場合には(ステップＳ２３：ＹＥＳ)、メニューページ内のその分類名に対応する部分に、ＣＧＩ情報８０内の当該分類名と対応づけられている拡張機能名を挿入する。また、ＣＰＵ１１０は、ＣＧＩ情報８０においてその分類名及び拡張機能名と対応づけられているＣＧＩ名及び引数を、そのメニューページにおいて挿入した拡張機能名に対応付ける(ステップＳ２４)。
【００４９】
また、ステップＳ２３において、ＣＰＵ１１０は、ＣＧＩ情報８０に読み出された分類名に属する拡張機能名が含まれていない場合には(ステップＳ２３：ＮＯ)、記憶部１１３からディレクトリ情報９０を読み出し(ステップＳ２５)、ディレクトリ情報９０に記憶されているディレクトリ名が、ステップＳ２１において読み出された分類名に属する機能名と対応するか否か判断する(ステップＳ２６)。そして、ＣＰＵ１１０は、ステップＳ２６において、ディレクトリ情報９０のディレクトリ名が、読み出した分類名に属する機能名と対応すると判断した場合には(ステップＳ２６：ＹＥＳ)、記憶部１１３におけるそのディレクトリ名のディレクトリから拡張ページ定義ファイルを読み出す。そして、ＣＰＵ１１０は、その拡張ページ定義ファイルにおいて定義されている拡張機能名、即ちメニュー項目名を抽出し、メニューページにおける読み出した分類名に対応する部分に、抽出した拡張機能名を挿入する(ステップＳ２７)。
【００５０】
即ち、例えば、ステップＳ２１で読み出された分類が中分類“ａ”であり、分類“ａ”に属する拡張機能名がＣＧＩ情報８０(図８)に含まれている場合には、メニュー定義情報３０に基づくメニューページ(図２(ｄ))において、分類“ａ”に対応する見出し“機能ａ”に属する機能名“機能ａ１”の下に、ＣＧＩ情報８０に含まれている拡張機能名“機能ａ２”及び“機能ａ３”がメニュー項目として挿入される。そして、挿入された拡張機能名“機能ａ２”及び“機能ａ３”の拡張ページを生成するためのＣＧＩ名及び引数がこれらの拡張機能名と対応づけられる。
【００５１】
また、ディレクトリ情報９０(図９)に記憶されているディレクトリ名、即ち、そのディレクトリ名と対応する機能名が分類“ａ”に属する場合には、記憶部１１３のディレクトリ“ａ”に記憶されている拡張ページ定義ファイル６０において、“ｓｅｒｖｉｃｅｎａｍｅ”として定義されている機能名“機能ａ２”及び“機能ａ３”が抽出される。そして、上記と同様、メニュー定義情報３０に基づくメニューページ(図２(ｄ))において、分類名“ａ”に対応する見出し“機能ａ”に属する機能名“機能ａ１”の下に、メニュー項目として、抽出された拡張機能名“機能ａ２”及び“機能ａ３”が挿入される。
【００５２】
図１０に戻り、ステップＳ２６において、ディレクトリ情報９０のディレクトリ名が、ステップＳ２１で読み出した分類名に属する機能名と対応しない場合には(ステップＳ２６：ＮＯ)、ＣＰＵ１１０は、メニュー定義情報３０における全ての分類名について上記ステップＳ２３〜２７の拡張機能挿入処理が終了したか否か判断し(ステップＳ２８)、全ての分類名について拡張機能挿入処理が終了したと判断した場合には(ステップＳ２８：ＹＥＳ)、拡張ページ挿入処理によって拡張機能が挿入された拡張メニューページをクライアント装置２００へ出力する(ステップＳ２９)。なお、画像処理装置１００において生成される拡張メニューページや拡張ページは、ＨＴＭＬ形式のＷＥＢページであり、クライアント装置２００は、画像処理装置１００から送信されるＨＴＭＬ形式の拡張メニューページ及び拡張ページをブラウザにより表示する。
【００５３】
また、ＣＰＵ１１０は、全ての分類名について拡張機能挿入処理が終了していないと判断した場合には(ステップＳ２８：ＮＯ)、ステップＳ２３〜Ｓ２７の処理を繰り返し行う。図１１は、拡張機能である機能ａ２及び機能ａ３がＷＥＢアプリケーション１０に挿入された拡張メニューページの表示例を示している。この拡張メニューページ４０１において、４０２で示す機能ａ２及び機能ａ３がＣＧＩプログラムによる拡張機能である場合、ユーザ操作により、クライアント装置２００からこれらの機能のＷＥＢページが要求されたときには、ＣＰＵ１１０は、各拡張機能名に対応づけられているＣＧＩ名及び引数に基づいてＣＧＩプログラムを実行し、各拡張機能の拡張ページを生成し、生成した拡張ページをクライアント装置２００に出力する。また、機能ａ２及び機能ａ３が拡張ページ定義ファイルで定義されている場合には、ＣＰＵ１１０は、各機能の拡張ページ定義ファイルに基づく拡張ページを生成してクライアント装置２００に出力する。
本実施形態では、拡張ページをＣＧＩプログラムとＸＭＬ言語のいずれで作成した場合においても、ＷＥＢアプリケーションの既存ページ構成に拡張ページが挿入され、基本メニューページのメニュー構造を維持しつつ、拡張機能が挿入された拡張メニューページが生成される。
【００５４】
＜変形例＞
以下、本発明の変形例について説明する。
（１）上述した実施形態では、拡張ページを挿入する分類に既に他の機能のＷＥＢページが含まれている場合には、メニュー定義情報３０に基づくメニューページにおいて、メニュー項目として、当該他の機能名の下に拡張機能名を挿入し、拡張メニューページを生成する例について説明したが、以下のように拡張メニューページを生成してもよい。例えば、各分類に属するＷＥＢページの機能名及び拡張ページの拡張機能名の昇順で並び替えて拡張メニューページを生成してもよいし、予めＷＥＢページ及び拡張ページの重要度が設定されている場合には、その重要度の順に並び替えて拡張メニューページを生成するようにしてもよい。また、画像処理装置１００において、クライアント装置２００から各ＷＥＢページ及び各拡張ページが要求された頻度をカウントし、各分類において要求頻度の高い順に既存の機能名及び拡張機能名を並び替えて拡張メニューページを生成するようにしてもよい。本変形例においては、予め定めた規則に従って、分類毎に当該分類に属するＷＥＢページ及び拡張ページの機能名及び拡張機能名が並び替えられた拡張メニューページが生成される。これにより、基本メニューページの基本的な構造を維持しつつ、ＷＥＢアプリケーション１０を利用するユーザの利便性を向上させうる。
【００５５】
（２）上述した実施形態では、拡張機能のＣＧＩプログラムをインストールした場合に、ＣＧＩ情報８０を生成する例を説明したが、ＣＧＩプログラムをアンインストールした場合には、アンインストールしたＣＧＩプログラムの情報を抽出してアンインストール情報を生成するようにしてもよい。この場合には、ＣＰＵ１１０は、アンインストール先のディレクトリ名を抽出し、そのディレクトリ名に対応する機能名と当該機能名が属する分類名をメニュー定義ファイル３０から抽出する。そして、抽出した機能名と分類名とを対応づけてアンインストール情報として記憶部１１３に記憶する。ＣＰＵ１１０は、メニューページの要求をクライアント装置２００から受付けた場合に、メニュー定義情報３０、ＣＧＩ情報８０、及びアンインストール情報を参照して、アンインストールされたＣＧＩプログラムの拡張ページの拡張機能名を含まないように、拡張メニューページを生成する。これにより、メニュー定義情報３０やＣＧＩ情報８０を修正することなく、ＣＧＩプログラムのインストール及びアンインストールのいずれの場合にも対応した拡張メニューページが生成される。
【００５６】
（３）上述した実施形態では、一つの分類に拡張機能の拡張ページを挿入する例について説明したが、複数の分類に拡張ページを挿入するようにしてもよい。この場合には、拡張ページがＣＧＩプログラムで定義されていれば、ＣＧＩプログラム毎にＣＧＩ情報８０を対応づけて生成し、拡張ページ定義ファイルで定義されていれば、拡張ページ定義ファイル毎にディレクトリ情報を対応づけて生成して記憶するように構成する。
【００５７】
（４）また、上述した実施形態では、ＷＥＢアプリケーションのディレクトリ名と機能名が共通する関係である例について説明したが、ディレクトリ名と機能名が共通しない場合には、各分類名に属するＷＥＢページ及び拡張ページのファイルが記憶されているディレクトリ名の対応表を予め記憶しておくように構成してもよい。この場合には、ＣＰＵ１１０は、メニュー定義情報３０において定義されている分類名を順次読み出し(図１０のステップＳ２１)、この対応表を参照して、読み出した分類名に対応するディレクトリ名を特定し、特定したディレクトリ名がディレクトリ情報に含まれていれば、その特定したディレクトリ名のディレクトリから拡張ページ定義ファイルを読み出すようにする。
【００５８】
（５）上述した実施形態では、コピー機能やプリンタ機能等を備える画像処理装置を例にして説明したが、ＷＥＢアプリケーションを備えるサーバ装置であってもよい。
【００５９】
（６）上述した実施形態では、拡張ページ定義ファイルはＸＭＬ言語で記述されている例について説明したが、ＳＧＭＬ(Standard Generalized Markup Language)等のメタ言語を用いて記述されてもよい。
【００６０】
（７）上述した実施形態では、ＣＧＩプログラム及び拡張ページ定義ファイルをいずれも取得する場合について説明したが、ＣＧＩプログラム及び拡張ページ定義ファイルのいずれか一方のみを取得し、取得したＣＧＩプログラム又は拡張ページ定義ファイルについて、実施形態と同様の処理を行うようにしてもよい。
【００６１】
（８）上述した実施形態では、画像処理装置１００はクライアント装置２００とイントラネットを介して接続されている例について説明したが、画像処理装置１００にＷＥＢサーバ等の中継装置を接続し、中継装置を介してクライアント装置２００と接続されるように構成してもよい。この場合には、中継装置は、クライアント装置２００からのＷＥＢページの要求を受付けて画像処理装置１００へ要求を引き渡したり、画像処理装置１００において生成した拡張メニューページや各機能のＷＥＢページを画像処理装置１００から受付けてクライアント装置２００に出力する機能を有する。
【００６２】
（９）上述した実施形態で用いた分類名は、ＷＥＢアプリケーション１０の機能の分類を意味する例として説明したが、メニューページの位置(例えば、タブメニューや左メニューなど)の分類を表すものとして用いてもよい。また、ＷＥＢページのコンテンツ内容(メインコンテンツ、サブコンテンツ、広告などの付加コンテンツなど)の分類を表すものとして用いてもよい。即ち、拡張機能のメニュー項目をメニューページに配置する位置を表すものとして、メニュー定義情報３０に定義されていればよい。
【００６３】
（１０）実施形態におけるＣＰＵ１１０によって実行されるプログラムは、磁気記録媒体（磁気テープ、磁気ディスクなど）、光記録媒体（光ディスクなど）、光磁気記録媒体、半導体メモリなどのコンピュータが読取可能な記録媒体に記憶した状態で提供し得る。また、インターネットなどの通信手段を用いて画像処理装置１００にダウンロードさせることも可能である。
【符号の説明】
【００６４】
１００・・・画像処理装置、１１０・・・ＣＰＵ、１１１・・・ＲＯＭ、１１２・・・ＲＡＭ、１１３・・・記憶部、１１４・・・操作パネル、１１５・・・通信部、１１７・・・ＦＡＸ送受信部、２００・・・クライアント装置
【図１】
2011002923.tif 000003
【図２】
2011002923.tif 000004
【図３】
2011002923.tif 000005
【図４】
2011002923.tif 000006
【図５】
2011002923.tif 000007
【図６】
2011002923.tif 000008
【図７】
2011002923.tif 000009
【図８】
2011002923.tif 000010
【図９】
2011002923.tif 000011
【図１０】
2011002923.tif 000012
【図１１】
2011002923.tif 000013