(57)【要約】【課題】対象アプリの設定画面の提供形態に対応する画面を表示し、画像形成装置の設置作業の効率化を可能とする画像形成装置を提供すること。【解決手段】画像形成装置１０１は、ＵＳＢストレージから、画像形成装置１０１の設定を行うためのスクリプトを参照し、スクリプトの設定処理に係る記述に従い、該画像形成装置のアプリの設定を行うための設定画面として、アプレット及びサーブレットの少なくともいずれかの表示を制御し、設定画面を介して設定なされた内容をＵＳＢストレージ１０２に保存し、ＵＳＢストレージ１０２におけるスクリプトの設定処理に係る記述を、保存された内容をインポートするための記述に書き換える。【選択図】  図１３
2015125656.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）接続のストレージから、画像形成装置の設定を行うためのスクリプトを参照する参照手段と、
前記スクリプトの設定処理に係る記述に従い、該画像形成装置のアプリの設定を行うための設定画面として、アプレット及びサーブレットの少なくともいずれかの表示を制御する表示制御手段と、
前記設定画面を介して設定なされた内容を前記ストレージに保存する保存手段と、
前記ストレージにおけるスクリプトの前記設定処理に係る記述を、前記保存された内容をインポートするための記述に書き換える編集手段と、を有する
ことを特徴とする画像形成装置。
【請求項２】
前記表示制御手段は、前記スクリプトに前記アプレット及び前記サーブレットの少なくともいずれかを表示させる記述がなされているかを判断し、前記表示を制御する
ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記表示制御手段は、前記スクリプトに前記アプレット及び前記サーブレットの少なくともいずれかを表示させる記述がなされていない場合に、前記アプリのマニフェストに前記アプレット及びサーブレットの少なくともいずれかを表示させる情報が記述されているかを判断し、前記表示を制御する
ことを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記表示制御手段は、前記マニフェストに前記アプレットの名前、及び前記サーブレットを呼び出すＵＲＬの少なくともいずれかが記述されているかを判断し、前記表示を制御する
ことを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記表示制御手段は、前記サーブレットの表示を制御する際は、前記画像形成装置のブラウザを起動して前記サーブレットの表示を制御する
ことを特徴とする請求項１乃至４のいずれか一項に記載の画像形成装置。
【請求項６】
前記表示制御手段は、前記マニフェストに前記アプレットの名前、及び前記サーブレットを呼び出すＵＲＬの少なくともいずれかが記述されている場合に、前記アプレットまたは前記サーブレットの初期画面を表示するように制御し、前記アプリのマニフェストに前記アプレットの設定画面の起動パラメータ、および前記サーブレットの設定ＵＲＬの少なくともいずれかが記述されている場合に、前記初期画面を表示することなく前記アプレットまたは前記サーブレットの設定画面を直接表示するように制御する
ことを特徴とする請求項４または５に記載の画像形成装置。
【請求項７】
前記編集手段は、前記サーブレットが表示される際に自装置に前記ブラウザが搭載されているか否かを判断し、前記ブラウザが搭載されていれば当該ブラウザを有効化した上で前記スクリプトの前記設定処理に係る記述を書き換え、
前記表示制御手段は、前記ブラウザが搭載されていなければ前記ブラウザが使用できないことを示す通知画面を表示するように制御する
ことを特徴とする請求項５または６に記載の画像形成装置。
【請求項８】
ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）接続のストレージから、画像形成装置の設定を行うためのスクリプトを参照する参照工程と、
前記スクリプトの設定処理に係る記述に従い、該画像形成装置のアプリの設定を行うための設定画面として、アプレット及びサーブレットの少なくともいずれかの表示を制御する表示制御工程と、
前記設定画面を介して設定なされた内容を前記ストレージに保存する保存工程と、
前記ストレージにおけるスクリプトの前記設定処理に係る記述を、前記保存された内容をインポートするための記述に書き換える編集工程と、を有する
ことを特徴とする画像形成装置の制御方法。
【請求項９】
請求項１乃至７のいずれか一項に記載の手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可搬記憶媒体を用いて初期設置作業に必要なデータを効率的に画像形成装置に設定する技術に関する。
【背景技術】
【０００２】
画像形成装置を新規に設置する際、設置担当者は顧客先の使用環境に応じた初期設置作業を行う。初期設置作業には、ハードウェアオプションの取り付けや画像形成装置へのアプリケーション（以下、単にアプリと記載する場合もある）のインストール、アプリの設定、画像形成装置の設定値の変更作業などが挙げられる。同じユーザ環境に複数の画像形成装置が設置される場合、画像形成装置へのアプリのインストールやプログラムの設定作業は同じ構成で設定することが多いため、一台目（以降、リファレンス機）の設定を二台目以降に適用することで設定作業を効率化できる。特許文献１は、予め設定ファイルを用意し、アプリに同梱された自動個別設定ツールを利用することで自動的にアプリを初期設定する方法を開示している。また、この個別設定ツールを用いた方法では、予め用意した設定ファイルにユーザインタフェース（以降、ＵＩ）を表示する旨を記載することにより、ユーザが手動で初期設定を行うこともできる。
【０００３】
ここで、画像形成装置にアプリケーションをインストールすることを考えると、インストール対象のアプリを設定する方法は、アプリが提供する設定画面によって異なることがある。例えば、設定画面の提供方法として、クライアント型とサーバ型が挙げられる。クライアント型アプリは、アプリが画像形成装置内で動作し、画像形成装置の操作部で設定画面を提供することでユーザに各種項目を設定させる。サーバ型アプリは、画像形成装置内でウェブサービスとして動作し、例えばブラウザを介して設定画面を提供することでユーザに各種項目を設定させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−８５５４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、初期設置作業を自動化し、手作業を減らすことによって作業コストを減らそうという傾向がある。自動化を進める方法の一つとして、作業手順を示す指示書（以降、スクリプトとする）を定義し、スクリプトに従ってプログラムに初期設置作業を実施させる方法がある。スクリプトで使用するデータはリファレンス機にて作成する必要があるが、画像形成装置におけるアプリの初期設定は、上述したようにアプリによって提供される設定画面が異なるため、初期設置担当者にとって非常に手間の掛かる作業であった。例えば、クライアント型アプリとサーバ型アプリを交互に設定する場合、設定画面を繰り返し切り替える必要がある。また、特許文献１が開示する自動個別設定ツールのＵＩ表示機能を用いてアプリの初期設定を促す場合、アプリごとに専用ツール、及びアプリ専用の設定用ＵＩを用意する必要がある。従って、１つ１つのＵＩに対応するには多くの手間が掛かってしまうという課題がある。
【０００６】
本発明は、対象アプリの設定画面の提供形態に対応する画面を表示し、画像形成装置の設置作業の効率化を可能とする画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施形態の画像形成装置は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）接続のストレージから、画像形成装置の設定を行うためのスクリプトを参照する参照手段と、前記スクリプトの設定処理に係る記述に従い、該画像形成装置のアプリの設定を行うための設定画面として、アプレット及びサーブレットの少なくともいずれかの表示を制御する表示制御手段と、前記設定画面を介して設定なされた内容を前記ストレージに保存する保存手段と、前記ストレージにおけるスクリプトの前記設定処理に係る記述を、前記保存された内容をインポートするための記述に書き換える編集手段と、を有する。
【発明の効果】
【０００８】
本発明の画像形成装置によれば、対象アプリの設定画面の提供形態に対応する画面を表示し、画像形成装置の設置作業の効率化が可能となる。従って、複数の画像形成装置が設置される際に利用されるリファレンスデータの作成において、更なる効率化を図ることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態のシステムの機器構成を示す図である。
【図２】画像形成装置の主要部の構成を示すブロック図である。
【図３】画像形成装置のソフトウェア構成例を示す図である。
【図４】拡張プログラムの設定情報を示す図である。
【図５】拡張プログラムのマニフェストファイルを示す図である。
【図６】画像形成装置のメインメニュー画面を示す図である。
【図７】拡張プログラムの設定画面の例を示す図である。
【図８】初期設置作業サポートプログラムの機能構成を示す図である。
【図９】図８のプログラムが使用するＵＳＢストレージ内の構成を示す図である。
【図１０】画像形成装置の設置手順を記述したスクリプトの一例を示す図である。
【図１１】画像形成装置の設置手順を記述したスクリプトの一例を示す図である。
【図１２】スクリプト処理の流れを示すフローチャートである。
【図１３】拡張プログラム設定処理の詳細を示すフローチャートである。
【図１４】拡張プログラムの設定画面表示処理を示すフローチャートである。
【図１５】第二実施形態における拡張プログラムのマニフェストを示す図である。
【図１６】第二実施形態におけるスクリプトの一例を示す図である。
【図１７】第三実施形態における設定画面表示処理を示すフローチャートである。
【図１８】第三実施形態における使用不可通知の例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を用いて説明する。尚、以降の説明において前述のクライアント型アプリケーションをアプレット、サーバ型アプリケーションをサーブレットと記載することがある。
【００１１】
＜第一実施形態＞
図１は、一実施形態のシステムの機器構成の例を示す図である。本実施形態のシステムは、画像形成装置１０１、可搬記憶媒体１０２、クライアントコンピュータ１０３を備える。
【００１２】
画像形成装置１０１は、スキャナ、プリンタ、ファクシミリ、ファイル送信機能等の複数の機能を統合した複合機である。図１では、２台の画像形成装置１０１（ａ）、１０１（ｂ）が示されており、一方が初期設定を事前に作成するためのリファレンス機として機能する。また、他方がリファレンス機を用いて事前に作成された初期設定の適用対象となる画像形成装置として機能する。なお、画像形成装置そのものは同じ構成を有する。
【００１３】
画像形成装置１０１は、可搬記憶媒体１０２を接続するインタフェースを有している。可搬記憶媒体を接続するインタフェースの種別は問わないが、本実施形態ではＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インタフェースを用いることとする。本インタフェースに可搬記憶媒体１０２を接続することで、可搬記憶媒体１０２に対してデータの読み書きを行うことができる。また、画像形成装置１０１は、クライアントコンピュータ１０３などの外部装置とネットワークを介して接続するためのネットワークインタフェースを有している。画像形成装置１０１は、外部装置と接続することで画像形成装置１０１の各種設定を行うためのウェブサービスを外部装置に提供することができる。
【００１４】
可搬記憶媒体１０２は、ホストとなる機器から容易に取り外せる記憶装置であれば種別を問わない。本実施形態ではＵＳＢマスストレージクラスを実装するＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）接続のストレージ（以下、ＵＳＢストレージ）２０４を用いるものとする。
【００１５】
クライアントコンピュータ１０３は、所謂パーソナルコンピュータであり、可搬記憶媒体１０２を接続するためのインタフェースを有している。可搬記憶媒体１０２を接続するインタフェースの種別は問わないが、本実施形態ではＵＳＢインタフェースを用いる。本インタフェースに可搬記憶媒体１０２を接続することで、可搬記憶媒体１０２に対してデータの読み書きを行うことができる。また、クライアントコンピュータ１０３は、ウェブブラウザプログラムを有し、画像形成装置１０１が公開するウェブサイトにアクセスすることで、画像形成装置１０１の各種設定を行うこともできる。
【００１６】
図２は、画像形成装置１０１の主要部の構成の例を示すブロック図である。画像形成装置１０１は、制御ユニット２００、操作部２０１、スキャナ２０２、プリンタ２０３を備える。また、データを格納する外部記憶装置として、ＵＳＢストレージ２０４が必要に応じてＵＳＢホストＩ／Ｆ２１４を介して着脱可能に接続される。
【００１７】
制御ユニット２００の操作部関連の構成は、ＣＰＵ２１０、ＲＡＭ２１１、操作部Ｉ／Ｆ２１２、ネットワークＩ／Ｆ２１３、ＵＳＢホストＩ／Ｆ２１４、ＲＯＭ２１５、ＨＤＤ２１６、画像バスＩ／Ｆ２１７、システムバス２１８を備える。
【００１８】
制御ユニット２００の印刷およびスキャン関連の構成は、画像バス２１９、デバイスＩ／Ｆ２２０、スキャナ画像処理部２２１、プリンタ画像処理部２２２を備える。尚、上記構成のうちスキャナ２０２、及びスキャナ画像処理部２２１は必要に応じて備える構成であればよい。
【００１９】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１０は、制御ユニット２００全体を制御するためのコントローラである。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２１１は、画像データやソフトウェアの動作に必要な処理を一時記憶するためのメモリである。
【００２０】
操作部Ｉ／Ｆ２１２は、操作部２０１とのインタフェースであり、操作部２０１で表示する画像データを操作部２０１に対して出力する。また、ユーザが操作部２０１により入力した情報をＣＰＵ２１０へ伝達する役割を有する。ネットワークＩ／Ｆ２１３は、ネットワークと接続しており、ネットワーク介して、外部の装置と情報のやり取りをするインタフェースである。外部の装置とは、例えばクライアントコンピュータ１０３のことを指す。
【００２１】
ＵＳＢホストＩ／Ｆ２１４は、ＣＰＵ２１０の指示により、例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２１６に格納されているデータをＵＳＢストレージ２０４に出力する。またＵＳＢホストＩ／Ｆ２１４は、ＵＳＢストレージ２０４に格納されているデータを読み取りし、ＣＰＵ２１０にＵＳＢストレージ２０４に格納されていたデータを伝える。尚、ＵＳＢホストＩ／Ｆ２１４には、ＵＳＢストレージ２０４を含む複数のＵＳＢデバイスが接続可能である。
【００２２】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２１５はブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ２１６は外部記憶装置でもよく、システムソフトウェア、画像データ、設定情報などを格納する。ＣＰＵ２１０は、ＲＯＭ２１５に格納されているブートプログラムによりオペレーションシステム（ＯＳ）を立ち上げる。ＣＰＵ２１０は、このＯＳ上で、ＨＤＤ２１６に格納されているプログラムを実行し、本発明に係る各種処理を実現する。
【００２３】
画像バスＩ／Ｆ２１７は、システムバス２１８と画像バス２１９とを接続し、データ変換を行うバスブリッジである。システムバス２１８は、制御ユニット２００を構成する各コンポーネント同士の共通データ交換経路である。画像バス２１９は、ＰＣＩバス、またはＩＥＥＥ１３９４で構成されており、画像データを高速に転送する経路である。
【００２４】
デバイスＩ／Ｆ２２０は、画像入出力デバイスであるプリンタ２０３及びスキャナ２０２と制御ユニット２００とを接続し、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部２２１は、入力画像に対し、補正や加工、編集を行う。プリンタ画像処理部２２２は、プリント出力画像データに対して、プリンタの性能に応じた補正、解像度の変換などを行う。
【００２５】
図３は、画像形成装置１０１の初期設置作業を実施するためのソフトウェア構成例を示す図である。ＯＳ３００上には、プリンタ、ＦＡＸ、スキャナなど、元々備わっている制御用プログラムのネイティブプログラム３０１、拡張プログラム実行プラットフォームである拡張プログラム実行プラットフォーム３０２が動作している。更に、ネイティブプログラム３０１上には、ファームウェア更新サービス３０３、オプション有効化サービス３０４、設定管理サービス３０５が動作している。また拡張プログラム実行プラットフォーム３０２上には、拡張プログラムシステムサービス３０６と拡張プログラム３０７が動作している。
【００２６】
ファームウェア更新サービス３０３は、ファームウェアを更新するための各種機能を提供するサービスである。例えば、ファームウェア更新サービス３０３は、ユーザから指定されたファームウェアを参照し、該ファームウェアの更新が必要か否かを判断する。また、ファームウェア更新サービス３０３は、ネイティブプログラム３０１に対し、またはネイティブプログラム３０１を介し、ファームウェアを更新する。
【００２７】
オプション有効化サービス３０４は、ネイティブプログラム３０１に予め組み込まれているオプション機能（以下、組み込みオプションプログラムとも表記する）を有効化するためのサービスである。オプション有効化サービス３０４は、ユーザから指定されたオプションライセンスファイルにより特定されるオプション機能を識別し、有効化する。組み込みオプションプログラムの一例としてウェブブラウザが挙げられる。通常は無効化されており、有効化処理によりユーザは画像形成装置１０１が有するウェブブラウザを使用することができる。
【００２８】
設定管理サービス３０５は、プリンタやＦＡＸなどの各種設定情報を管理するためのサービスである。設定管理サービス３０５は、例えばユーザから１つまたは複数の設定、または複数の設定情報を含むファイルを指定されると、ネイティブプログラム３０１の設定情報を書き換える機能を提供する。尚、設定管理サービス３０５は、ユーザインタフェース（以下、ＵＩ）を備えており、ユーザは画像形成装置１０１の操作部２０１に表示される設定メニュー画面（図７にて後述）を介して設定変更の指示ができる。
【００２９】
拡張プログラムシステムサービス３０６は、拡張プログラムに共通に有用なユーティリティライブラリで、システムから提供される。拡張プログラム３０７から拡張プログラムシステムサービス３０６の機能を呼び出すことにより、拡張プログラムを開発する手間を省くことができる。
【００３０】
拡張プログラム３０７は、前述のクライアント型アプリケーション（アプレット）、および／またはサーバ型アプリケーション（サーブレット）を指す。拡張プログラム３０７は、拡張プログラム実行プラットフォーム３０２または各サービス（３０３乃至３０６）を介してのみ、他の拡張プログラム３０７などの画像形成装置１０１の各モジュールへアクセスすることができる。
【００３１】
また、拡張プログラム３０７がアプレットの場合は、画像形成装置１０１の操作部２０１に表示されるメインメニュー画面にアイコンを表示することができる（図７（Ａ）を用いて後述）。このアイコンをユーザが選択したことを、操作部２０１を通じて操作部Ｉ／Ｆ２１２が検知すると、操作部Ｉ／Ｆ２１２はその旨をＣＰＵ２１０に送信する。その旨を受け取ったＣＰＵ２１０はユーザに選択された拡張プログラムのＵＩを操作部２０１に表示する。
【００３２】
ウェブサービスとして動作する拡張プログラム３０７、つまりサーブレットの場合は、画像形成装置１０１の操作部２０１にウェブページを提供することができる（図７（Ｂ）を用いて後述）。尚、本ソフトウェア構成は基本的な部分のみ記載したものであり、実施環境によっては他のサービス等が含まれていても良い。また設定を制限するなどの理由により、不要なサービスが無くても良い。
【００３３】
図４は、拡張プログラム３０７の設定情報の例を示す図である。拡張プログラム３０７の設定情報はＨＤＤ２１６に格納され、拡張プログラム３０７が独自に管理するものである。ｄａｔａフォルダ４００は、拡張プログラム３０７の設定情報を格納するフォルダである。ｄａｔａフォルダ４００は、拡張プログラム３０７がインストールされたときに拡張プログラム実行プラットフォーム３０２が作成する。
【００３４】
ｄａｔａフォルダ４００の中には、Ｃｏｎｆｉｇフォルダ４０１、Ｌｏｇフォルダ４０３、Ｄａｔａフォルダ４０５が存在する。Ｃｏｎｆｉｇフォルダ４０１の中には、Ｃｏｎｆｉｇ．ｔｘｔファイル４０２が格納されている。Ｃｏｎｆｉｇ．ｔｘｔファイル４０２は、拡張プログラム３０７が動作するために必要な情報（例えば、接続先サーバのＩＰアドレス）を永続化したファイルである。Ｌｏｇフォルダ４０３の中には、Ｌｏｇ．ｔｘｔファイル４０４が格納されている。Ｌｏｇ．ｔｘｔファイル４０４は、拡張プログラム３０７が実行した処理の記録を永続化したファイルである。Ｄａｔａフォルダ４０５の中には、Ｄａｔａ１．ｄａｔファイル４０６、Ｄａｔａ２．ｄａｔファイル４０７が格納されている。Ｄａｔａ．ｄａｔファイル４０６及びＤａｔａ２．ｄａｔファイル４０７は、拡張プログラム３０７が処理する情報（例えば、印刷データ）である。
【００３５】
図５は、拡張プログラム３０７が動作するために必要な情報を記載したマニフェストファイルを示す図である。本図で示すマニフェストファイルはＣｏｎｆｉｇ．ｔｘｔ４０２に記載されていても良いし、Ｃｏｎｆｉｇ．ｔｘｔ４０２とは別に用意され、拡張プログラム３０７のｄａｔａフォルダ４００内に保存されていても良い。
【００３６】
マニフェストファイル５００は、プログラム情報記載部５０１とリソース情報記載部５０２で構成されている。プログラム情報記載部５０１には、拡張プログラム３０７に関する情報が記載されている。プログラム情報記載部５０１は、拡張プログラム３０７を唯一に識別するＡｐｐ−ｉｄ、拡張プログラム３０７の名称を指すＡｐｐ−ｎａｍｅ、及びバージョン情報を示すＡｐｐ−ｖｅｒｓｉｏｎで構成されている。また、拡張プログラム３０７がサーブレットとして動作する場合、ウェブページを提供するＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を示すＳｅｒｖｌｅｔ−ＵＲＬが記載される。
【００３７】
リソース情報記載部５０２には、拡張プログラムが使用するリソース使用量が記載されている。拡張プログラムは、リソース情報記載部５０２が宣言した使用値を超えることはない。本図では、リソース情報記載部５０２には、拡張プログラムの最大メモリ使用量を指すＭａｘｉｍｕｍＭｅｍｏｒｙＵｓａｇｅが記載されている。また、リソース情報記載部５０２には、最大スレッド使用量を指すＭａｘｉｍｕｍＴｈｒｅａｄＵｓａｇｅ、及び最大ファイルスペース使用量を指すＭａｘｉｍｕｍＦｉｌｅｓｐａｃｅＵｓａｇｅが記載されている。
【００３８】
尚、本図で記載されている情報は一例であり、記載された情報に制限されない。例えばリソース情報記載部５０２に最小メモリ使用量を記載したい場合は該項目を追加しても良いし、記載の項目で不要な項目がある場合は削除しても良い。
【００３９】
図６は、画像形成装置１０１の操作部２０１に表示されるメインメニュー画面の例を示す図である。メインメニュー画面６００は、プログラムアイコン表示エリア６０１、標準プログラムアイコン６０２、拡張プログラムアイコン６０３を有する。プログラムアイコン表示エリア６０１は、画像形成装置１０１が現在操作可能なプログラムのアイコンを表示するエリアである。標準プログラムアイコン６０２は、画像形成装置１０１の制御プログラムが持つ機能を操作するためのＵＩを表示させるためのアイコンである。拡張プログラムアイコン６０３は、画像形成装置１０１の拡張プログラム３０７のアプレットを操作するためのＵＩを表示させるためのアイコンである。
【００４０】
図７（Ａ）は、画像形成装置１０１の操作部２０１に表示されるアプレットの設定メニュー画面の例を示す図である。設定メニュー画面７００は、設定項目表示部７０１を有し、アプレットの設定項目が表示される。図７（Ａ）に示す例では、アプレットの設定項目として、ログを自動エクスポートするためのＯＮ／ＯＦＦ設定、ログのエクスポート先の共有フォルダ、共有フォルダへのログインユーザ及びログインパスワードが表示されている。ユーザは、設定項目表示部７０１にて設定変更したい項目を選択し値を入力することで、アプレットの設定を変更することができる。
【００４１】
図７（Ｂ）は、画像形成装置１０１のウェブブラウザによって操作部２０１に表示されるサーブレットの設定画面の例を示す図である。言い換えると、本図は画像形成装置１０１内で動作するサーブレットがウェブページを生成し操作部２０１に表示する設定画面である。設定画面７０２は、設定項目表示部７０３を有しており、サーブレットの各種設定項目が表示される。図７（Ｂ）は、図７（Ａ）の例と同様、サーブレットの設定項目としてログを自動エクスポートするため各種設定項目が表示されている。ユーザは設定項目表示部７０３にて設定変更したい項目を選択、及び値の入力し画像形成装置１０１に対してコミットすることで、サーブレットの設定を変更することができる。
【００４２】
図８は、初期設置作業を実施するための拡張プログラムである、初期設置作業サポートプログラムの機能構成の例を示す図である。尚、本実施例では拡張プログラム３０７として説明するが、ネイティブプログラム３０１として実装されていても良い。初期設置作業サポートプログラム８００は、画像形成装置１０１のＨＤＤ２１６に格納されており、ＣＰＵ２１０によって実行されることで初期設置作業サポート機能を実現する。
【００４３】
初期設置作業サポートプログラム８００は、ＵＩ制御部８０１、ストレージ管理部８０２、処理実行部８０３、スクリプト解析部８０４を備える。ＵＩ制御部８０１は、初期設置作業サポートプログラムを操作するためのＵＩを、操作部２０１を通じてユーザに提供し、ユーザの操作を受け付ける。ストレージ管理部８０２は、ＵＳＢストレージ２０４に格納されたデータの読み書きを行う。また、ＵＳＢストレージ２０４の挿入及び抜去の状態変化を検知する。
【００４４】
処理実行部８０３は、ＵＩ制御部８０１、ストレージ管理部８０２、及びスクリプト解析部８０４の指示に従い、各種初期設置作業の処理を行う。スクリプト解析部８０４は、ＵＳＢストレージ２０４に格納されているスクリプトを解析し、処理実行部８０３が実行すべき初期設置作業とその順序を決定する。
【００４５】
図９は本実施形態に係る、初期設置作業サポートプログラム８００が使用するＵＳＢストレージ２０４内のフォルダ及びファイル構成の例を示す図である。ルートフォルダ９００の中には、Ｆｉｒｍｗａｒｅフォルダ９０１、ＥｍｂｅｄｄｅｄＦｕｎｃフォルダ９０３、Ａｐｐフォルダ９０５、ＤｅｖＣｏｎｆｉｇフォルダ９０８が存在する。また、ルートフォルダ９００の中には、ＡｐｐＳｅｔｔｉｎｇｓフォルダ９１０、Ｌｏｇフォルダ９１２、Ｓｃｒｉｐｔ．ｘｍｌファイル９１４が存在する。
【００４６】
Ｆｉｒｍｗａｒｅフォルダ９０１は、画像形成装置１０１に対して更新したいファームウェアを格納するフォルダである。本図では、Ｆｉｒｍｗａｒｅフォルダ９０１の中にファームウェア群をｚｉｐ形式でアーカイブしたＦｉｒｍｗａｒｅ＿ｖ１．０．１．ｚｉｐファイル９０２が存在している。
【００４７】
ＥｍｂｅｄｄｅｄＦｕｎｃフォルダ９０３は、画像形成装置１０１にプリインストールされている機能をアクティベートするためのライセンスファイルを格納するフォルダである。本図では、ＥｍｂｅｄｄｅｄＦｕｎｃフォルダ９０３の中にライセンスファイルＥｍｂｅｄｄｅｄＦｕｎｃ−Ｌｉｃｅｎｓｅ．ｌｉｃ９０４が存在している。
【００４８】
Ａｐｐフォルダ９０５は、初期設置作業にて画像形成装置１０１に対してインストールすべき拡張プログラム、及び拡張プログラムのインストールに必要なライセンスファイルを格納するフォルダである。本図では、Ａｐｐフォルダ９０５に拡張プログラムＡｐｐｌｉｃａｔｉｏｎ００１．ｊａｒ９０６、及びライセンスファイルＡｐｐ００１−Ｌｉｃｅｎｓｅ．ｌｉｃ９０７が存在している。
【００４９】
ＤｅｖＣｏｎｆｉｇフォルダ９０８は、リファレンス機にて事前に設定し、ＵＳＢストレージ２０４内にエクスポートしたリファレンス機の設定情報を格納するフォルダである。本図では、ＤｅｖＣｏｎｆｉｇフォルダ９０８に、ｚｉｐ形式でアーカイブしたファイルｄｅｖｉｃｅＣｏｎｆｉｇｕｒａｔｉｏｎＦｉｌｅ．ｚｉｐ９０９が存在している。このｄｅｖｉｃｅＣｏｎｆｉｇｕｒａｔｉｏｎＦｉｌｅ．ｚｉｐ９０９は、リファレンス機の設定時には存在せず、設定完了後に該フォルダへエクスポートされる。
【００５０】
ＡｐｐＳｅｔｔｉｎｇｓフォルダ９１０は、リファレンス機にて事前に設定し、ＵＳＢストレージ２０４内にエクスポートした拡張プログラム３０７の設定情報を格納するフォルダである。本図では、ＡｐｐＳｅｔｔｉｎｇｓフォルダ９１０に、ｚｉｐ形式でアーカイブしたファイルＡｐｐ００１−Ｓｅｔｔｉｎｇ．ｚｉｐ９１１が存在している。このＡｐｐ００１−Ｓｅｔｔｉｎｇ．ｚｉｐ９１１は、リファレンス機の設定時には存在せず、設定完了後に該フォルダへエクスポートされるものである。
【００５１】
Ｌｏｇフォルダ９１２は、初期設置作業サポートプログラムが実行した結果のファイル（以降、ログと呼ぶ）を格納するためのフォルダである。本図では、Ｌｏｇ．ｔｘｔ９１３が格納されているが、初期設置作業サポートプログラムを実行する前は、Ｌｏｇフォルダ９１２、及びＬｏｇ．ｔｘｔ９１３は存在しない。これらのフォルダ及びファイルは、実行中、または実行後に初期設置作業サポートプログラムが、図４に示すＬｏｇフォルダ４０３、及びＬｏｇ．ｔｘｔ４０４に一度作成し、それをコピーすることによって作成される。
【００５２】
Ｓｃｒｉｐｔ．ｘｍｌ９１４は、初期設置作業を自動的に処理するための作業手順を示す指示書（スクリプト）である。スクリプトの詳細については、図１０および図１１を用いて後述する。尚、本スクリプトは初期設置作業手順を定義するファイルであるが、スクリプトファイル９１４の存在有無によって初期設置作業サポートプログラムの実行可否を決定しても良い。つまり使用中のＵＳＢストレージ２０４が、本実施形態に係る初期設置作業サポートプログラム用のＵＳＢストレージ２０４であることを示す識別子として使用しても良い。尚、本図における構成は一例であり、これに限らず任意のフォルダ構成が適用されてよい。
【００５３】
図１０は、リファレンス機である画像形成装置１０１の初期設置作業を自動実施するための作業手順を示す指示書であるスクリプトの例を示す。スクリプト１０００は、初期設置作業サポートプログラム８００のストレージ管理部８０２によって読み込まれ、処理実行部８０３を介しスクリプト解析部８０４によって解析される。その後、スクリプト１０００に記載された初期設置作業が、処理実行部８０３によって実行される。また本図におけるスクリプト１０００は、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ Ｍａｒｋｕｐ Ｌａｎｇｕａｇｅ）で記載されており、画像形成装置識別部１００１と処理記載部１００２で構成されている。尚、本図ではＸＭＬによりスクリプトを表現しているが、ＸＭＬに限定されず、シェルスクリプトなどで書かれていても良い。
【００５４】
画像形成装置識別部１００１には、初期設置作業の対象である画像形成装置１０１を識別するための情報が記載されている。画像形成装置識別部１００１は、画像形成装置１０１の識別子である＜ｄｅｖｉｃｅＩｄ＞と、本スクリプトの内容を任意の文字列で示す＜ｃｏｍｍｅｎｔ＞を備える。＜ｃｏｍｍｅｎｔ＞は、本スクリプトの内容説明だけでなく、＜ｄｅｖｉｃｅＩｄ＞だけで識別不可能な場合の識別子として利用しても良い。例えば、１つの画像形成装置１０１に対し複数の設定を用意する必要がある場合に識別子としての利用が有効である。
【００５５】
処理記載部１００２には、初期設置作業を実施するために必要な処理群が記載される。本図では、処理記載部１００２は、ファームウェア更新処理１００３、組み込みオプションプログラムアクティベート処理１００４、拡張プログラムインストール処理１００５、拡張プログラム開始処理１００６を備える。また、処理記載部１００２は、拡張プログラム設定処理１００７、設定情報インポート処理１００８を備える。各初期設置作業の処理を示すタグの中にはＯｒｄｅｒ属性が含まれており、本図ではＯｒｄｅｒの値に応じて初期設置作業の順番が決定する。尚、処理の順番を特に指定しない場合は、Ｏｒｄｅｒの値を同じにすることもできる。Ｏｒｄｅｒの値が同じ場合は、処理記載部１００２に書かれている順番で実行しても良いし、スクリプト解析部８０４が読み取った順番でも良い。また各処理で使用するデータの容量などで判断しても良い。
【００５６】
ファームウェア更新処理１００３は、ファームウェア更新サービス３０３を介してファームウェアを更新する処理である。ファームウェア更新処理１００３は、＜ｕｐｄａｔｅＦｉｒｍｗａｒｅＣｏｍｍａｎｄ＞タグを記載することで処理を定義し、＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグと＜ｆｉｒｍｗａｒｅＮａｍｅ＞により使用するファイルを指定している。＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグには、ルートフォルダ９００から更新したいファームウェアまでの相対パスが記載されている。＜ｆｉｒｍｗａｒｅＮａｍｅ＞タグでは、更新したいファームウェアが指定されている。本図においてはＺｉｐ形式でアーカイブされたファームウェアが指定されている。
【００５７】
組み込みオプションプログラムアクティベート処理１００４は、＜ａｃｔｉｖａｔｅＥｍｂｅｄｄｅｄＦｕｎｃｔｉｏｎＣｏｍｍａｎｄ＞タグの記載により処理を定義している。組み込みオプションプログラムアクティベート処理１００４では、＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグ、及び＜ｌｉｃｅｎｓｅＦｉｌｅＮａｍｅ＞タグによりアクティベートする組み込みオプションプログラムが指定されている。＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグには、ルートフォルダ９００からアクティベートする組み込みオプションプログラムのライセンスファイルまでの相対パスが記載されている。＜ｌｉｃｅｎｓｅＦｉｌｅＮａｍｅ＞タグでは、組み込みオプションプログラムを有効化するためのライセンスの実体が指定されている。本図においてはｌｉｃ形式のライセンスファイルが指定されているが、ライセンスのファイル形式についてはこれに限定されない。尚、画像形成装置１０１にプリインストールされた組み込みオプションプログラムが存在しない場合、または有効化しない場合には、この初期設置作業処理の記載は不要である。
【００５８】
拡張プログラムインストール処理１００５は、＜ｉｎｓｔａｌｌＡｐｐｌｉｃａｔｉｏｎＣｏｍｍａｎｄ＞タグの記載により処理を定義している。拡張プログラムインストール処理１００５では、＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグ、及び＜ＡｐｐＦｉｌｅＮａｍｅ＞タグによりインストール対象の拡張プログラムが指定されている。＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグには、ルートフォルダ９００からインストール対象の拡張プログラムの実体までの相対パスが記載されている。＜ＡｐｐＦｉｌｅＮａｍｅ＞タグでは、インストール対象の拡張プログラムの実体が指定されている。本図においてはＪａｒファイル形式の拡張プログラムが指定されている。尚、本拡張プログラムの形式はＪａｒファイル形式に限定されない。
【００５９】
また、インストール対象の拡張プログラムに対するライセンスを＜ｌｉｃｅｎｓｅＲｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグ、及び＜ｌｉｃｅｎｓｅＦｉｌｅＮａｍｅ＞タグにより指定している。＜ｌｉｃｅｎｓｅＲｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグには、ルートフォルダ９００から拡張プログラムのライセンスファイルまでの相対パスが記載されている。＜ｌｉｃｅｎｓｅＦｉｌｅＮａｍｅ＞タグでは、拡張プログラムのライセンスの実体が指定されている。本図においては．ｌｉｃファイル形式のライセンスファイルが指定されており、ライセンスのファイル形式についてはこれに限定されない。
【００６０】
拡張プログラム開始処理１００６は、＜ｓｔａｒｔＡｐｐｌｉｃａｔｉｏｎＣｏｍｍａｎｄ＞タグの記載により処理を定義しており、＜ａｐｐＩｄ＞タグにより開始対象の拡張プログラムを指定している。＜ａｐｐＩｄ＞タグでは、開始対象の拡張プログラムを唯一に識別するＩＤが指定されており、マニフェスト５００のプログラム情報記載部５０１に記載されているＡｐｐ−ｉｄに該当する。
【００６１】
拡張プログラム設定処理１００７は、＜ｓｅｔｔｉｎｇＡｐｐｌｉｃａｔｉｏｎＣｏｍｍａｎｄ＞タグの記載により処理を定義しており、＜ａｐｐＩｄ＞タグにより設定対象の拡張プログラムを指定する。尚、＜ａｐｐＩｄ＞は拡張プログラム設定処理を行うための必須項目である。＜ｓｅｔｔｉｎｇＡｐｐｌｅｔ＞タグは設定対象がアプレットであることを示している。本タグで指定された情報は、初期設置作業サポートプログラム８００により初期設置処理の中で起動される拡張プログラムの情報であり、ユーザによる設定を促すためにＵＩが表示される。
【００６２】
一方＜ｓｅｔｔｉｎｇＳｅｒｖｌｅｔ＞は、拡張プログラム３０７がサーブレットである場合に指定されるタグである。本タグで指定されると、初期設置作業サポートプログラム８００が初期設置処理の中で画像形成装置１０１が有するウェブブラウザを使用して指定のＵＲＬを表示する。
【００６３】
デバイス項目設定処理１００８は、＜ｓｅｔｔｉｎｇＤｅｖｉｃｅＣｏｎｆｉｇＣｏｍｍａｎｄ＞タグの記載により処理を定義しており、本タグで指定されると初期設置作業サポートプログラム８００が初期設置処理の中でデバイスの設定画面を表示する。本処理は、図１２で後述する拡張プログラム設定処理と同様の処理を行うため、詳細な処理フローの説明は省略する。尚、デバイスの設定画面はネイティブプログラム３０１で用意される画面であり、表示する際も固定で良いため、特に表示する画面を指定しない。
【００６４】
尚、本図で示すスクリプトの初期設置作業の処理は、記載された処理に限定されず、例えば画像形成装置１０１の再起動処理などを加えても良い。また必要に応じて処理の重複、増減があっても良い。
【００６５】
図１２（Ａ）は、初期設置作業サポートプログラム８００がスクリプト１０００に従って実行する処理の流れを示す。Ｓ１１００で、処理実行部８０３は、スクリプト解析部８０４により解析されたスクリプト１０００のファームウェア更新処理１００３を実行する。Ｓ１１０１で、処理実行部８０３は、スクリプト解析部８０４により解析されたスクリプト１０００の組み込みオプションプログラムアクティベート処理１００４を実行する。
【００６６】
Ｓ１１０２で、処理実行部８０３は、スクリプト解析部８０４により解析されたスクリプト１０００の拡張プログラムインストール処理１００５を実行する。Ｓ１１０３で、処理実行部８０３は、スクリプト解析部８０４により解析されたスクリプト１０００の拡張プログラム開始処理１００６を実行する。
【００６７】
Ｓ１１０４で、処理実行部８０３は、スクリプト解析部８０４により解析されたスクリプト１０００の拡張プログラム設定処理１００７を実行する。Ｓ１１０５で、処理実行部８０３は、スクリプト解析部８０４により解析されたスクリプト１０００のデバイス項目設定処理１００８を実行する。
【００６８】
Ｓ１１００からＳ１１０３までの処理は、リファレンス機の設置においても自動化が可能である。すなわち、ＵＳＢストレージ２０４に予め、ファームウェア、組み込みオプションプログラムのライセンスファイル、拡張プログラム、拡張プログラムのライセンスファイルを用意しておけば、設置を自動化できる。一方、Ｓ１１０４の拡張プログラム設定処理とＳ１１０５のデバイス項目設定については、まずそれらの設定情報をリファレンス機で設置者が手動登録し、インポート用のファイルを作成する作業が必要となる。つまり、Ｓ１１０４の拡張プログラム設定処理１００７、及びＳ１１０５のデバイス項目設定処理１００８は、リファレンス機の設置時にのみ指定される。
【００６９】
図１３は、図１２（Ａ）のフローチャートにおけるＳ１１０４のアプリ設定処理、つまり拡張プログラム設定処理の詳細を説明するフローチャートである。Ｓ１２００で、処理実行部８０３は、スクリプト解析部８０４によって読み出された拡張プログラム設定処理１００７から、アプレット表示指示またはサーブレット表示指示（説明は後述）が存在するかを確認する。アプレット表示指示は＜ｓｅｔｔｉｎｇＡｐｐｌｅｔ＞タグ、サーブレット表示指示は＜ｓｅｔｔｉｎｇＳｅｒｖｌｅｔ＞タグを指す。アプレット表示指示及びサーブレット表示指示のいずれか、または両方が存在する場合はＳ１２０１に処理は移行する。表示指示が存在しない場合はＳ１２０７へ処理は移行する。
【００７０】
Ｓ１２０１で、処理実行部８０３は、拡張プログラム設定処理１００７に記載された表示指示がアプレットか、サーブレットかを判断する。アプレット表示指示の場合はＳ１２０２へ処理は移行し、サーブレット表示指示の場合はＳ１２０３へ処理は移行する。尚、拡張プログラム設定処理１００７のようにアプレット表示指示とサーブレット表示指示が複数記載されている場合、最初に記載された表示指示を優先する。再度処理実行部８０３がＳ１２０１の処理を実行する際は、次に記載された表示指示から順に処理を実施する。
【００７１】
Ｓ１２０２で、処理実行部８０３は、指定されたアプレットの設定処理を行う。本処理の詳細は図１４（Ａ）を用いて後述する。Ｓ１２０３で、処理実行部８０３は、指定されたサーブレットの設定処理を行う。本処理の詳細は図１４（Ｂ）を用いて後述する。
【００７２】
Ｓ１２０４で、処理実行部８０３は、Ｓ１２０２、またはＳ１２０３で設定された拡張プログラムの設定情報をＵＳＢストレージ２０４にエクスポートする。本処理では、ｄａｔａフォルダ４００をＺｉｐ形式で圧縮、及び圧縮ファイルの名前を変更し、ＡｐｐＳｅｔｔｉｎｇｓフォルダ９１０へコピーする。この時、処理実行部８０３は、ＡｐｐＳｅｔｔｉｎｇｓフォルダ９１０が存在しない場合は該フォルダの作成も行う。尚、本説明ではＺｉｐ形式による圧縮方法を記述しているが、Ｚｉｐ形式に限定されない。
【００７３】
Ｓ１２０５で、処理実行部８０３は、Ｓ１２０４でエクスポートした拡張プログラムの設定情報と、ＵＳＢストレージ２０４上のエクスポート先をＲＡＭ２１１に記憶する。本処理により記憶される情報は、後述のスクリプト書き換え処理（Ｓ１２１６）で使用される。Ｓ１２０６で、処理実行部８０３は、拡張プログラム設定処理１００７に記載された表示指示が全て完了したかを判断する。表示指示が複数指定されていて、かつまだ実行していない表示指示がある場合はＳ１２０１に処理は移行する。表示指示が１つであった場合、または複数指定された表示処理が全て終えている場合は拡張プログラム設定処理が完了し、処理はＳ１２１６に移行する。
【００７４】
Ｓ１２０７の処理は、拡張プログラム設定処理１００７の実行タグが存在しており、かつアプレット表示処理またはサーブレット表示処理がスクリプトに記載されていない場合に実行される。Ｓ１２０７で、処理実行部８０３は、＜ａｐｐＩｄ＞で指定された拡張プログラムが保有するマニフェストファイル５００を読み取る。
【００７５】
Ｓ１２０８で、処理実行部８０３は、アプレットを表示するために必要な情報（アプレット表示情報）がマニフェスト５００に記載されているかを判断する。アプレットを表示するために必要な情報とは、例えばＡｐｐ−ｎａｍｅを指す。本処理にてアプレット表示情報があると判断された場合はＳ１２０９に処理は移行し、アプレット表示情報がないと判断された場合はＳ１２１２に処理は移行する。
【００７６】
Ｓ１２０９で、処理実行部８０３は、指定されたアプレットの設定処理を行う。本処理の詳細は図１４（Ａ）を用いて後述する。Ｓ１２１０で、処理実行部８０３は、Ｓ１２０９で設定された拡張プログラムの設定情報をＵＳＢストレージ２０４にエクスポートする。Ｓ１２１１で、処理実行部８０３は、Ｓ１２１０でエクスポートした拡張プログラムの設定情報と、ＵＳＢストレージ２０４上のエクスポート先をＲＡＭ２１１で記憶しておく処理である。Ｓ１２１０とＳ１２１１の処理は、Ｓ１２０４とＳ１２０５の処理と同様である。
【００７７】
Ｓ１２１２で、処理実行部８０３は、サーブレットを表示するために必要な情報（サーブレット表示情報）がマニフェスト５００に記載されているかを判断する。サーブレットを表示するために必要な情報とは、例えばＳｅｒｖｌｅｔ−ＵＲＬを指す。本処理にてサーブレット表示情報があると判断された場合はＳ１２１３へ処理は移行し、サーブレット表示情報がないと判断された場合はＳ１２１６に処理は移行する。
【００７８】
Ｓ１２１３で、処理実行部８０３は、指定されたサーブレットの設定処理を行う。本処理の詳細は図１４（Ｂ）にて後述する。Ｓ１２１４で、処理実行部８０３は、Ｓ１２１３で設定された拡張プログラムの設定情報をＵＳＢストレージ２０４にエクスポートする。Ｓ１２１５で、処理実行部８０３は、Ｓ１２１４でエクスポートした拡張プログラムの設定情報と、ＵＳＢストレージ２０４上のエクスポート先をＲＡＭ２１１に記憶する。Ｓ１２１４とＳ１２１５の処理はＳ１２０４とＳ１２０５の処理と同様である。Ｓ１２１６で、処理実行部８０３は、Ｓ１２０５、Ｓ１２１１、Ｓ１２１５のいずれか、または複数により保存されたエクスポート情報を元にスクリプト１０００の拡張プログラム設定処理１００７を書き換える。
【００７９】
尚、拡張プログラム設定処理にて、処理実行部８０３が複数回にわたり設定情報をエクスポートした場合は全て同じ拡張プログラムに対する設定変更となるため、最後にエクスポートしたファイルを有効とする。
【００８０】
以下、図１１を用いてＳ１２１６の処理で書き換えられたスクリプトファイルを説明する。尚、画像形成装置識別部１００１から処理１００６までは図１０で説明した処理と同様のため説明を省略する。
【００８１】
拡張プログラム設定インポート処理１００９は、拡張プログラム設定処理１００７により設定が完了した後に書き換えられた拡張プログラムをインポートする処理である。拡張プログラム設定インポート処理は、＜ｉｍｐｏｒｔＡｐｐｌｉｃａｔｉｏｎＣｏｍｍａｎｄ＞タグの記載により処理を定義している。また拡張プログラム設定インポート処理は、＜ａｐｐＩｄ＞タグ、＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグ、及び＜ｓｅｔｔｉｎｇＦｉｌｅＮａｍｅ＞タグより構成される。＜ａｐｐＩｄ＞では、拡張プログラム設定をインポートする対象の拡張プログラムのＩｄが指定される。＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞には、ルートフォルダ９００からインポート対象の拡張プログラムファイルまでの相対パスが記載されている。
【００８２】
＜ｓｅｔｔｉｎｇＦｉｌｅＮａｍｅ＞では、インポート対象の拡張プログラム設定ファイルが指定されている。本図においてはＺｉｐ形式にアーカイブされた拡張プログラム設定情報ファイルが指定されているが、Ｚｉｐ形式に限定されない。
【００８３】
設定情報インポート処理１０１０はデバイス項目設定処理１００８により設定が完了した後に書き換えられた設定情報をインポートする処理である。＜ｉｍｐｏｒｔＤｅｖｉｃｅＣｏｎｆｉｇＣｏｍｍａｎｄ＞タグの記載により処理が定義されている。設定情報インポート処理１０１０は、＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグ、及び＜ｃｏｎｆｉｇＦｉｌｅＮａｍｅ＞タグ、によりインポートする設定情報ファイルを指定している。＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグには、ルートフォルダ９００からインポート対象の設定情報ファイルまでの相対パスが記載されている。＜ｃｏｎｆｉｇＦｉｌｅＮａｍｅ＞タグでは、インポート対象の設定情報ファイルが指定されている。本図においてはＺｉｐ形式にアーカイブされた設定情報ファイルが指定されている。尚、本設定情報ファイルの形式はＺｉｐファイル形式に限定されない。
【００８４】
図１２（Ｂ）は、初期設置作業サポートプログラム８００が図１１に示すスクリプトに従って実行する処理フローである。尚、Ｓ１１００からＳ１１０３までは図１２（Ａ）と同様のため、説明を省略する。
【００８５】
Ｓ１１０６で、処理実行部８０３は、スクリプト解析部８０４により解析されたスクリプト１０００の拡張プログラム設定インポート処理１００９を処理実行部８０３が実行する。Ｓ１１０７で、処理実行部８０３は、スクリプト解析部８０４により解析されたスクリプト１０００の設定情報インポート処理１０１０を実行する。Ｓ１１０６、Ｓ１１０７の処理は、いずれの場合もＵＳＢストレージ２０４に対応するデータが存在していることが前提である。そのため二台目以降の画像形成装置１０１に対して実行されるべき処理である。
【００８６】
図１４は、アプレットまたはサーブレットの表示制御を行いユーザに拡張アプリケーションの設定を促すための処理フローを示す。図１４（Ａ）は、アプレットを設定するための処理フローを示す。本処理は、Ｓ１２０２またはＳ１２０９において呼び出される。Ｓ１３００で、処理実行部８０３は、拡張プログラム設定処理１００７に記載されたアプレット表示指示、またはマニフェスト５００に記載されたアプレット表示情報を元に対象のアプレットを表示する。Ｓ１３００でアプレットが表示されると、処理実行部８０３はユーザによる拡張プログラムの設定が完了するのを待つ。
【００８７】
Ｓ１３０１で、処理実行部８０３は、ユーザからの設定完了が指示されたかどうかを判断する。設定完了が指示された場合は、処理実行部８０３はアプレット設定処理を終了する。設定完了が指示されない場合は、処理実行部８０３はユーザから設定完了が指示されるまでＳ１３０１で設定完了指示を待つ。尚、設定完了指示は、拡張プログラムごとに用意された完了ボタン（非図示）の押下により行われてよく、画像形成装置１０１の操作部２０１に用意されたハードキー（非図示）により行われてよい。設定完了指示は上述の方法に限定されず任意の方法が用いられてよい。
【００８８】
図１４（Ｂ）は、サーブレットを設定するための処理フローである。本処理は、Ｓ１２０３またはＳ１２１３において呼び出される。Ｓ１３０２で、処理実行部８０３は、拡張プログラム設定処理１００７に記載されたサーブレット表示指示、またはマニフェスト５００に記載されたサーブレット表示情報を、画像形成装置１０１の操作部２０１に表示するためにブラウザを起動する。本処理により起動されるブラウザは、前述の組み込みオプションプログラムとしてネイティブプログラム３０１に予め組み込まれている。
【００８９】
Ｓ１３０３で、処理実行部８０３は、前述のサーブレット表示指示、またはサーブレット表示情報をブラウザにより操作部２０１に表示する。サーブレットが表示されると、処理実行部８０３はユーザによる拡張プログラムの設定が完了するのを待つ。
【００９０】
Ｓ１３０４で、処理実行部８０３は、ユーザからの設定完了が指示されたかどうかを判断する。設定完了が指示された場合は、処理実行部８０３はサーブレット設定処理を終了する。設定完了が指示されない場合は、処理実行部８０３はユーザから設定完了指示がくるまでＳ１３０４で設定完了指示を待つ。尚、設定完了指示は、組み込みオプションプログラムであるブラウザの閉じることにより行われてよく、画像形成装置１０１の操作部２０１に用意されたハードキー（非図示）により行われてよい。設定完了指示は上述の方法に限定されず任意の方法が用いられてよい。
【００９１】
以上、本発明の画像形成装置によれば、対象アプリの設定画面の提供形態に対応する画面を表示し、画像形成装置の設置作業の効率化が可能となる。初期設置者が拡張プログラムの設定画面を開く操作をしなくても、初期設置作業サポートプログラムが自動で画像形成装置の操作部に設定画面を表示することができるため、リファレンスデータの作成の効率化を図ることができる。
【００９２】
＜第二実施形態＞
第一実施形態では、拡張プログラムの設定処理を実行する時に自動で設定対象の拡張プログラムを画像形成装置の操作部に表示することで、効率的に拡張プログラムの設定をさせる方法について述べた。しかし、第一実施形態では、拡張プログラムを設定させるだけのため、拡張プログラムの設定画面を表示するためにはユーザの手動操作が必要であった。そこで第二実施形態では、拡張プログラムの起動時にパラメータや設定用のＵＲＬを記載することで設定画面を直接表示するについて述べる。尚、第一実施形態における図５、図１０を除く各図は、本実施形態においても同じであるため、本実施形態における説明は省略する。
【００９３】
図１５は、本実施例における拡張プログラム３０７のマニフェストファイルの例を示す。尚、図１５におけるマニフェストファイル１４００、及びリソース情報記載部１４０２は、それぞれ図５のマニフェストファイル５００、及びリソース情報記載部５０２と同様のため、説明を省略する。
【００９４】
プログラム情報記載部１４０１は、拡張プログラム３０７に関する情報が記載されており、図５のプログラム情報記載部５０１に加え、Ｓｅｔｔｉｎｇ−Ａｐｐｌｅｔ、及びＳｅｔｔｉｎｇ−Ｓｅｒｖｌｅｔが存在している。Ｓｅｔｔｉｎｇ−Ａｐｐｌｅｔは、拡張プログラムがアプレットである場合に起動パラメータとして使用され、起動するときに表示する画面を設定することができる。
【００９５】
図１５ではｓｅｔｔｉｎｇｐａｎｅｌを指定しているため、拡張プログラム“Ａｐｐ００１”の設定用画面であるｓｅｔｔｉｎｇｐａｎｅｌ、例えば図７（Ａ）の画面を起動時に表示することになる。またＳｅｔｔｉｎｇ−Ｓｅｒｖｌｅｔは、拡張プログラムがサーブレットである場合に設定画面を呼び出す際に使用されるＵＲＬが記載される。
【００９６】
本項目を記載しておくことで、初期設置作業サポートプログラム８００は設定画面表示時に本項目に指定されたＵＲＬを呼び出し、例えば図７（Ｂ）で示す設定画面を画像形成装置１０１の操作部２０１に表示する。尚、Ｓｅｒｖｌｅｔ−ＵＲＬとｓｅｔｔｉｎｇ−Ｓｅｒｖｌｅｔの違いは、前者がサーブレットの初期画面に遷移するためのＵＲＬであるのに対し、後者がサーブレットの設定画面に直接遷移できる設定ＵＲＬというだけである。
【００９７】
図１６は、本実施例におけるスクリプトの例を示す。尚、図１５におけるスクリプト１５００から拡張プログラム開始処理１５０６、及び設定情報インポート処理１５０８は、それぞれ図１０のスクリプト１０００から処理１００６、及び処理１００８と同様のため、説明を省略する。
【００９８】
拡張プログラム設定処理１５０７は、初期設置作業サポートプログラム８００が提供する画面を、画像形成装置１０１の操作部２０１で表示するための各種情報が記載されており、＜ｓｅｔｔｉｎｇＡｐｐｌｅｔＰａｒａｍ＞タグが追加されている。
【００９９】
＜ｓｅｔｔｉｎｇＡｐｐｌｅｔＰａｒａｍ＞は、拡張プログラムがアプレットである場合に起動パラメータとして使用され、起動するときに表示する画面を設定することができる。図１６ではｓｅｔｔｉｎｇｐａｎｅｌが指定されているため、拡張プログラムの設定用画面であるｓｅｔｔｉｎｇｐａｎｅｌ、例えば図７（Ａ）の画面を起動時に表示される。本タグで示される値は任意の項目であり、記載がなくても良い。記載がない場合は、処理実行部８０３は図１０のスクリプトと同様の処理を実行し、対象アプレットの初期画面を起動する。
【０１００】
図１５、及び図１６で説明した方法により、図１４を用いて説明したアプレット画面表示処理、サーブレット画面表示処理の各画面表示処理において設定画面を直接表示することが可能となる。
【０１０１】
本実施形態によれば、拡張プログラムの起動時にパラメータや設定用のＵＲＬを記載することで設定画面を直接表示することができるため、第一実施形態から更なる効率化を図ることができる。
【０１０２】
＜第三実施形態＞
第一、第二実施形態では、サーブレットの設定画面を表示する際、画像形成装置のネイティブプログラムに予め組み込まれたブラウザを使用することで、設定画面を表示させる方法について述べた。しかし画像形成装置のブラウザを使用するためにはライセンスが必要な場合や、そもそも画像形成装置の組み込みオプション機能としてブラウザが搭載されていない可能性もある。そこで第三実施形態では、画像形成装置のブラウザ機能の使用可否を判断してユーザに設定画面を提供する方法について述べる。尚、第一、第二実施形態における図１４（Ｂ）を除く各図は、本実施形態においても同じであるため、本実施形態における説明は省略する。
【０１０３】
図１７は、本実施形態におけるサーブレットを設定するための処理フローを示す。本処理は、Ｓ１２０３またはＳ１２１３の処理において呼び出される。尚、図１６のＳ１６０７からＳ１６０９の処理は、図１４（Ｂ）のＳ１３０２からＳ１３０４の処理と同様であるため説明を省略する。
【０１０４】
サーブレットの設定処理が呼び出されると、まずＳ１６００において、処理実行部８０３は、ブラウザが画像形成装置１０１の組み込みオプション機能として組み込まれているかを確認する。画像形成装置１０１の組み込みオプション機能としてブラウザが存在している場合はＳ１６０１に処理は以降し、存在しない場合はＳ１６１３に処理は移行する。
【０１０５】
Ｓ１６０１で、処理実行部８０３は、サーブレットを表示するためのブラウザを使用できるか判断する。ブラウザが既に有効化されており使用できると判断された場合はＳ１６０７に処理は移行し、有効化されていない場合はＳ１６０２に処理は移行する。
【０１０６】
Ｓ１６０２で、処理実行部８０３は、拡張プログラム設定処理（１００７、１５０７）の後処理として、スクリプト１０００にブラウザを有効化するための組み込みオプションプログラムアクティベート処理１００４が予定されているかを判断する。ブラウザの有効化処理が予定されている場合はＳ１６０３に処理は移行し、予定されていない場合はＳ１６０５に処理は移行する。
【０１０７】
Ｓ１６０３で、処理実行部８０３は、スクリプト実行予定のブラウザの有効化処理を先行して実行する。本処理によりブラウザが使用できるようになる。Ｓ１６０４で、処理実行部８０３は、Ｓ１６０３で先行して実行された処理を重複実行しないようにスクリプトを書き換える。書き換えられる内容は特に規定しないが、スクリプト１０００に記載されたＯｒｄｅｒを書き換えるなどすれば良い。
【０１０８】
Ｓ１６０５で、処理実行部８０３は、ブラウザが有効化されておらず、後のスクリプト実行予定にもブラウザの有効化処理が存在しない場合に、一時的にブラウザを使用するための前処理を行う。Ｓ１６０６で、処理実行部８０３は一時的にブラウザを有効化する。本処理によりブラウザが使用できるようになる。
【０１０９】
Ｓ１６１０で、処理実行部８０３は、Ｓ１６０５で一時的にブラウザを使用するフラグをＯＮにしたか否かを判断する。フラグがＯＮの場合はＳ１６１１に処理は移行し、フラグがＯＦＦの場合は、サーブレットの設定処理は終了する。
【０１１０】
Ｓ１６１１で、処理実行部８０３は、一時的に使用していたブラウザを無効化する。本処理によりユーザは他の処理でブラウザを使用できなくなる。Ｓ１６１２で、処理実行部８０３は、Ｓ１６０５でＯＮにした一時使用フラグをＯＦＦにする。
【０１１１】
Ｓ１６１３で、処理実行部８０３は、サーブレットを設定するために使用したいブラウザ機能が画像形成装置１０１の組み込みオプション機能として搭載されていない旨をユーザに通知する。通知方法は、例えば図１８に示す通知画面を画像形成装置１０１の操作部２０１に表示する方法が挙げられる。
【０１１２】
以上の処理を行うことでサーブレットの設定処理を完了する。尚、図１７ではブラウザは組み込みオプション機能の一つとして説明しているが、これに限定されず、初期設置作業サポートプログラム８００として機能を提供しても良い。またブラウザを一時的使用する場合に、ブラウザの機能を制限して起動するといった処理を加えても良い。
【０１１３】
更にＳ１６１０からの一時的に使用するブラウザを無効化する一連の処理の前に、スクリプト１０００に他の拡張プログラム設定処理１００７、及び１５０７が記載されているかを確認し、存在する場合は無効化しない方法を実施しても良い。更に使用ライセンスが無いときは一時的にでもブラウザを使用してはいけないという場合は、使用不可通知を出し処理を完了するという方法を用いても良く、本例に限定されない。
【０１１４】
本実施形態によれば、画像形成装置のブラウザ機能の使用可否を判断することで、画像形成装置のブラウザの使用にライセンスが必要であった場合や画像形成装置の組み込みオプション機能として搭載されていない場合でも設定処理を継続することができる。
【０１１５】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そしてそのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
2015125656.tif 000003
【図２】
2015125656.tif 000004
【図３】
2015125656.tif 000005
【図４】
2015125656.tif 000006
【図５】
2015125656.tif 000007
【図６】
2015125656.tif 000008
【図７】
2015125656.tif 000009
【図８】
2015125656.tif 000010
【図９】
2015125656.tif 000011
【図１０】
2015125656.tif 000012
【図１１】
2015125656.tif 000013
【図１２】
2015125656.tif 000014
【図１３】
2015125656.tif 000015
【図１４】
2015125656.tif 000016
【図１５】
2015125656.tif 000017
【図１６】
2015125656.tif 000018
【図１７】
2015125656.tif 000019
【図１８】
2015125656.tif 000020