(57)【要約】【課題】ユーザーが過去の操作履歴等の操作内容を利用して情報処理装置を簡単に操作でき、かつ、アプリケーション開発者による情報処理装置の制御プログラムの修正等の煩雑な作業を必要としない、プログラム生成装置を提供する。【解決手段】ＭＦＰにおいて、ユーザーが、設定値を入力してアプリケーションの実行を指示すると、それ以降の当該ユーザーについての表示画面には、アイコン５１１が追加される。アイコン５１１は、上記設定値を含むアプリケーションプログラム（スクリプト）の起動を指示するためのアイコンである。当該スクリプトは、既存のスクリプトに対して、ユーザーが入力した情報に基づいた変更が加えられている。【選択図】図１６
2013142965.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションの実行の指示に基づいてプログラムを生成するためのプログラム生成装置であって、
前記アプリケーションを実行するためのプログラムを記憶するための記憶手段と、
前記アプリケーションの実行の指示、および、当該アプリケーションの実行における設定値を入力するための入力手段と、
前記入力手段に実行の指示を入力されたアプリケーションのプログラムを前記記憶手段から読み出して処理するためのプログラム処理手段とを備え、
前記プログラム処理手段は、
前記プログラムを、前記入力手段に入力された設定値に応じて必要な箇所を変更して処理し、
前記変更後のプログラムを前記記憶手段に記憶し、
前記変更後のプログラムに関連付けられたアイコンを表示装置に表示し、
前記アイコンに対して操作がなされたときは、前記記憶手段に記憶した前記変更後のプログラムを処理する、プログラム生成装置。
【請求項２】
前記記憶手段は、各前記プログラムを、当該プログラムが前記プログラム処理手段によって変更後のプログラムとして記憶されたものであるか否かを示す情報と関連付けて記憶し、
前記プログラム処理手段は、前記入力手段に実行の指示を入力されたアプリケーションのプログラムが変更後のプログラムとして前記記憶手段に記憶されたものではないことを条件として、前記変更後のプログラムを前記記憶手段に記憶する、請求項１に記載のプログラム生成装置。
【請求項３】
他の装置と通信するための通信手段をさらに備え、
前記プログラム処理手段は、前記入力手段に、前記他の装置への前記変更後のプログラムの送信の要求が入力された場合には、前記変更後のプログラムおよび前記アイコンを前記他の装置の表示部に表示するための指示を、前記他の装置に送信する、請求項１または請求項２に記載のプログラム生成装置。
【請求項４】
画像処理動作を実行するための画像処理エンジンをさらに備え、
前記プログラム処理手段は、前記画像処理エンジンによる画像処理動作やを駆動することによって、Ｗｅｂサービスとして画像処理についてのアプリケーションを実行する、請求項１〜請求項３のいずれかに記載のプログラム生成装置。
【請求項５】
記憶手段を備え、アプリケーションの実行の指示に基づいてプログラムを生成するためのプログラム生成装置のコンピューターによって実行される、当該プログラム生成装置の制御方法であって、
前記アプリケーションを実行するためのプログラムを前記記憶手段に記憶するステップと、
前記アプリケーションの実行の指示、および、当該アプリケーションの実行における設定値を入力するステップと、
実行の指示を入力されたアプリケーションのプログラムを、前記記憶手段から読み出し、前記入力された設定値に応じて必要な箇所を変更して処理するステップと、
前記変更後のプログラムを前記記憶手段に記憶するステップと、
前記変更後のプログラムに関連付けられたアイコンを表示装置に表示するステップと、
前記アイコンに対して操作がなされた場合に、前記記憶手段に記憶した前記変更後のプログラムを処理するステップとを備える、プログラム生成装置の制御方法。
【請求項６】
記憶手段を備え、アプリケーションの実行の指示に基づいてプログラムを生成するためのプログラム生成装置のコンピューターによって実行される、プログラム生成用プログラムであって、
前記コンピューターに、
前記アプリケーションを実行するためのプログラムを前記記憶手段に記憶するステップと、
前記アプリケーションの実行の指示、および、当該アプリケーションの実行における設定値を入力するステップと、
実行の指示を入力されたアプリケーションのプログラムを、前記記憶手段から読み出し、前記入力された設定値に応じて必要な箇所を変更して処理するステップと、
前記変更後のプログラムを前記記憶手段に記憶するステップと、
前記変更後のプログラムに関連付けられたアイコンを表示装置に表示するステップと、
前記アイコンに対して操作がなされた場合に、前記記憶手段に記憶した前記変更後のプログラムを処理するステップとを実行させる、プログラム生成用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム生成装置、その制御方法、および、プログラム生成用プログラムに関し、特に、ユーザーが情報処理装置に対して行なった操作内容に従って操作プログラムを生成するための、プログラム生成装置、その制御方法、および、プログラム生成用プログラムに関する。
【背景技術】
【０００２】
従来から、画像形成装置等の装置において、ユーザーの操作に従った処理を実行し、かつ、一度なされた操作に従った処理と内容が同じ処理を容易な操作で実行するための技術が種々開示されている。
【０００３】
たとえば、特許文献１（特開２００６−０４４１６７号公報）には、画像形成装置において、ユーザーの操作履歴を記録しておき、当該操作履歴を呼び出すことにより、当該操作履歴に従った画像形成動作を実行する技術が開示されている。また、当該画像形成装置では、上記のように呼び出された操作履歴の一部に変更させ、当該変更後の内容に従った画像形成動作も可能とされている。
【０００４】
また、特許文献２（特開２００６−１９００３３号公報）には、ＷＷＷ（World Wide Web）ブラウザがＨＴＭＬ（HyperText  Markup  Language）ドキュメントを取得するためにＷＷＷサーバーに接続する情報処理システムにおいて、これらの間に、中継装置、ＨＴＴＰ通信定義生成装置、および、ＨＴＴＰ通信再生装置を設ける技術が開示されている。当該中継装置は、ＷＷＷブラウザからの通信ログ記録開始リクエストから、通信ログ記録停止リクエストまでの間、ＷＷＷブラウザとＷＷＷサーバーとの通信メッセージを通信ログとして格納する。ＨＴＴＰ通信定義生成装置は、中継装置からの通信ログを解析し、ＷＷＷブラウザからＷＷＷサーバーに与えられたリクエストを再現するための通信定義情報を生成する。ＨＴＴＰ通信再生装置は、ＷＷＷブラウザーから再生開始リクエストを受け付けると、一連のリクエストをＨＴＴＰ通信定義情報に基づき生成し、ＷＷＷサーバーに順次送信する。そして、一連のリクエストのうちの最後のリクエストに対するＷＷＷサーバーのレスポンスをＷＷＷブラウザに返信する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−０４４１６７号公報
【特許文献２】特開２００６−１９００３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記したような過去の操作履歴や通信ログを利用して情報処理装置に処理を実行させようとした場合、当該情報処理装置においてアプリケーションが追加されたとき、当該追加されたアプリケーションについては操作履歴や通信ログが利用できないという事態が想定される。したがって、そのような場合、アプリケーション開発者が、操作履歴や通信ログを利用できるようにするために制御プログラムを修正する必要があり、当該開発者に煩雑な作業を強いることとなる。
【０００７】
本発明は、係る実情に鑑み考え出されたものであり、その目的は、ユーザーが過去の操作履歴等の操作内容を利用して情報処理装置を簡単に操作でき、かつ、アプリケーション開発者による情報処理装置の制御プログラムの修正等の煩雑な作業を必要としない、プログラム生成装置、その制御方法、および、プログラム生成用プログラムを提供することである。
【課題を解決するための手段】
【０００８】
本発明に従ったプログラム生成装置は、アプリケーションの実行の指示に基づいてプログラムを生成するためのプログラム生成装置であって、アプリケーションを実行するためのプログラムを記憶するための記憶手段と、アプリケーションの実行の指示、および、当該アプリケーションの実行における設定値を入力するための入力手段と、入力手段に実行の指示を入力されたアプリケーションのプログラムを記憶手段から読み出して処理するためのプログラム処理手段とを備え、プログラム処理手段は、プログラムを、入力手段に入力された設定値に応じて必要な箇所を変更して処理し、変更後のプログラムを記憶手段に記憶し、変更後のプログラムに関連付けられたアイコンを表示装置に表示し、アイコンに対して操作がなされたときは、記憶手段に記憶した変更後のプログラムを処理する。
【０００９】
好ましくは、記憶手段は、各プログラムを、当該プログラムがプログラム処理手段によって変更後のプログラムとして記憶されたものであるか否かを示す情報と関連付けて記憶し、プログラム処理手段は、入力手段に実行の指示を入力されたアプリケーションのプログラムが変更後のプログラムとして記憶手段に記憶されたものではないことを条件として、変更後のプログラムを記憶手段に記憶する。
【００１０】
好ましくは、他の装置と通信するための通信手段をさらに備え、プログラム処理手段は、入力手段に、他の装置への変更後のプログラムの送信の要求が入力された場合には、変更後のプログラムおよびアイコンを当該他の装置の表示部に表示するための指示を、他の装置に送信する。
【００１１】
好ましくは、画像処理動作を実行するための画像処理エンジンをさらに備え、プログラム処理手段は、画像処理エンジンによる画像処理動作やを駆動することによって、Ｗｅｂサービスとして画像処理についてのアプリケーションを実行する。
【００１２】
本発明に従ったプログラム生成装置の制御方法は、記憶手段を備え、アプリケーションの実行の指示に基づいてプログラムを生成するためのプログラム生成装置のコンピューターによって実行される、当該プログラム生成装置の制御方法であって、アプリケーションを実行するためのプログラムを記憶手段に記憶するステップと、アプリケーションの実行の指示、および、当該アプリケーションの実行における設定値を入力するステップと、実行の指示を入力されたアプリケーションのプログラムを、記憶手段から読み出し、入力された設定値に応じて必要な箇所を変更して処理するステップと、変更後のプログラムを記憶手段に記憶するステップと、変更後のプログラムに関連付けられたアイコンを表示装置に表示するステップと、アイコンに対して操作がなされた場合に、記憶手段に記憶した変更後のプログラムを処理するステップとを備える。
【００１３】
本発明に従ったプログラム生成用プログラムは、記憶手段を備え、アプリケーションの実行の指示に基づいてプログラムを生成するためのプログラム生成装置のコンピューターによって実行される、プログラム生成用プログラムであって、コンピューターに、アプリケーションを実行するためのプログラムを記憶手段に記憶するステップと、アプリケーションの実行の指示、および、当該アプリケーションの実行における設定値を入力するステップと、実行の指示を入力されたアプリケーションのプログラムを、記憶手段から読み出し、入力された設定値に応じて必要な箇所を変更して処理するステップと、変更後のプログラムを記憶手段に記憶するステップと、変更後のプログラムに関連付けられたアイコンを表示装置に表示するステップと、アイコンに対して操作がなされた場合に、記憶手段に記憶した変更後のプログラムを処理するステップとを実行させる。
【発明の効果】
【００１４】
本発明によれば、アプリケーション開発者による制御プログラムの修正等の煩雑な作業を必要とすることなく、ユーザーが、過去の操作履歴等の操作内容を利用して情報処理装置を簡単に操作できる。
【図面の簡単な説明】
【００１５】
【図１】本発明に係るプログラム生成装置の一実施の形態であるＭＦＰ（Multi-Functional  Peripheral）を含む画像処理システムの概略構成を示す図である。
【図２】図１のＭＦＰ１００のブロック図である。
【図３】図１の操作パネルの平面図である。
【図４】図１のＭＦＰ２００のブロック図である。
【図５】ＭＦＰ１００において実行される処理のシーケンス図である。
【図６】ＭＦＰ１００において表示される画面の一例を示す図である。
【図７】ユーザー管理テーブルの内容の一例を模式的に示す図である。
【図８】スクリプト管理テーブルの内容の一例を模式的に示す図である。
【図９】ＭＦＰ１００において表示される画面の一例を示す図である。
【図１０】ＭＦＰ１００において表示される画面の一例を示す図である。
【図１１】ＭＦＰ１００において表示される画面の一例を示す図である。
【図１２】ユーザー管理テーブルの内容の一例を模式的に示す図である。
【図１３】スクリプト管理テーブルの内容の一例を模式的に示す図である。
【図１４】図５のステップＳＡの処理内容を詳細に説明するためのシーケンス図である。
【図１５】図５においてステップＳＢ（１）またはステップＳＢ（２）で示された処理内容を詳細に説明するためのシーケンス図である。
【図１６】ＭＦＰ１００において表示される画面の一例を示す図である。
【図１７】ＭＦＰ１００において実行される処理のシーケンス図である。
【図１８】ＭＦＰ１００において表示される画面の一例を示す図である。
【図１９】ＭＦＰ１００において表示される画面の一例を示す図である。
【図２０】ＭＦＰ１００において実行される処理のシーケンス図である。
【図２１】ＭＦＰ２００において実行される処理のシーケンス図である。
【図２２】ＭＦＰ２００のタッチパネル２５０に表示される、更新前の初期画面の一例を示す図である。
【図２３】ＭＦＰ２００のタッチパネル２５０に表示される、更新後の初期画面の一例を示す図である。
【図２４】ＭＦＰ２００において表示される画面の一例を示す図である。
【図２５】ＭＦＰ２００において表示される画面の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明に係るプログラム作成装置の実施の形態について、図面を参照して説明する。なお、各図において、同様の作用および機能を奏する構成要素については、同じ符号を付し、その説明は繰返さない。
【００１７】
＜画像処理システムの構成＞
図１は、本発明に係るプログラム生成装置の一実施の形態であるＭＦＰ（Multi-Functional  Peripheral）を含む画像処理システムの概略構成を示す図である。
【００１８】
図１を参照して、画像処理システムは、ネットワーク５００を介して通信可能なＭＦＰ１００，２００およびパーソナルコンピューター（ＰＣ）３００を含む。
【００１９】
ＭＦＰ１００は、自機において受け付けた操作に従って、画像処理動作を含む種々の動作を実行する。また、ＭＦＰ１００は、ネットワーク５００を介してＰＣ３００等からの要求に応じても、種々の動作を実行する。ＭＦＰ１００は、Ｗｅｂサーバーとして機能することができ、また、上記した種々の動作を、Ｗｅｂサービスとして画像処理や電子メールを送受信するためのアプリケーションを実行することができる。
【００２０】
ＭＦＰ１００は、アプリケーションの実行を指示された場合、当該実行の指示の履歴を、指示の際に入力された設定値とともに、履歴として格納する。なお、ＭＦＰ１００では、当該履歴が、プログラムとして格納される。本明細書では、アプリケーションの実行のために処理されるプログラムは、１以上のスクリプトの集合体として表現される場合もある。
【００２１】
＜ＭＦＰのハードウェア構成＞
図２は、ＭＦＰ１００のブロック図である。
【００２２】
図２を参照して、ＭＦＰ１００は、当該ＭＦＰ１００の動作を全体的に制御するＣＰＵ（Central Processing Unit）１０に加え、ＲＡＭ（Random Access Memory）１１と、ＮＶ−ＲＡＭ（Non Volatile Random Access Memory）１２とを含む。ＣＰＵ１０は、適切なプログラムを処理することにより、ブラウザー１０Ａ、Ｗｅｂサーバー１０Ｂ、スクリプトエンジン１０Ｃ、新モジュール制御部１０Ｄ、および、ｃｏｍｍｏｎ処理部１０Ｅとして機能する。
【００２３】
Ｗｅｂサーバー１０Ｂは、後述するようなスキャンアプリケーションやコピーアプリケーション等のサービスを提供する。ブラウザー１０Ａは、Ｗｅｂサーバー１０Ｂによるサービス提供のためのホームページをタッチパネル５０に表示させる。スクリプトエンジン１０Ｃは、Ｗｅｂサーバー１０Ｂによって提供されるサービスを実現するために、スクリプトを実行（処理）する。新モジュール制御部１０Ｄは、ＭＦＰ１００において実行を指示されたアプリケーションについて、当該指示の際に入力された設定値を含めた処理を実行するためのプログラム（スクリプト）を作成する。ｃｏｍｍｏｎ処理部１０Ｅは、ＭＦＰ１００において、情報の入出力等の一般的な処理を実行する。
【００２４】
ＲＡＭ１１は、ＣＰＵ１０のワークエリアとして機能する。ＮＶ−ＲＡＭ１２は、ＭＦＰ１００の初期設定等のデータを記憶する。
【００２５】
ＭＦＰ１００は、さらに、ハードディスクドライブ（ＨＤＤ）２０を含む。ＨＤＤ２０は、ＣＰＵ１０が処理するプログラムを記憶するためのプログラム記憶部２１と、各種のデータを記憶するためのデータ記憶部２２とを含む。上記したスクリプトは、たとえばプログラム記憶部２１に格納される。
【００２６】
ＣＰＵ１０が処理するプログラムは、ＭＦＰ１００の出荷時等、予めＨＤＤ２０に格納されている場合もあれば、ネットワーク経由でダウンロードされてＨＤＤ２０に格納される場合もある。また、プログラムは、ＭＦＰ１００に対して着脱可能な記憶媒体４００に格納され、ＣＰＵ１０は、メディアドライブ４０を介して当該記憶媒体から読み出し、当該プログラムを処理する場合もある。記憶媒体４００としては、ＣＤ−ＲＯＭ（Compact  Disc  -  Read  Only  Memory）、ＤＶＤ−ＲＯＭ（Digital  Versatile  Disk  -  Read  Only  Memory）、ＵＳＢ（Universal  Serial  Bus）メモリー、メモリーカード、ＦＤ（Flexible  Disk）、ハードディスク、磁気テープ、カセットテープ、ＭＯ（Magnetic  Optical  Disc）、ＭＤ（Mini  Disc）、ＩＣ（Integrated  Circuit）カード（メモリーカードを除く）、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ（Electronically  Erasable  Programmable  Read-Only  Memory）などの、不揮発的にプログラムを格納する媒体が挙げられる。
【００２７】
また、ＭＦＰ１００は、操作パネル１５０と、エンジン１３とを含む。操作パネル１５０は、ＭＦＰ１００の本体に設けられたハードウェアキー（以下、「ハードキー」と略す）１５と、タッチセンサー５１と、液晶表示装置等からなるディスプレイ５２とを含む。操作パネル１５０の構成は、図３等を参照して後述する。エンジン１３は、スキャナーやプリンターなどの画像処理動作を実行する要素を含む。
【００２８】
図３は、操作パネル１５０の平面図である。
図３を参照して、本発明の実施の形態１に従う操作パネル１５０では、タッチセンサー５１がディスプレイ５２に重ねられるように一体的に配置されることにより、タッチパネル５０が構成されている。以下、本明細書では、タッチパネル５０という文言が、その機能から、タッチセンサー５１および／またはディスプレイ５２と同義で使用される場合がある。
【００２９】
また、操作パネル１５０には、複数のハードウェアボタンによって構成されるハードキー１５が設けられている。なお、ハードキー１５を構成するボタンの数や配列は、図３に示されたものに限定されない。
【００３０】
図４は、ＭＦＰ２００のブロック図である。
図４を参照して、ＭＦＰ２００は、基本的にはＭＦＰ１００と同様のハードウェア構成を備えている。具体的には、ＭＦＰ２００は、当該ＭＦＰ２００の動作を全体的に制御するＣＰＵ２１０に加え、ＲＡＭ２１１と、ＮＶ−ＲＡＭ２１２とを含む。ＣＰＵ２１０は、適切なプログラムを処理することにより、表示制御部２１０Ａ、Ｗｅｂサーバー２１０Ｂ、スクリプトエンジン２１０Ｃ、新モジュール制御部１０Ｄ、および、ｃｏｍｍｏｎ処理部２１０Ｅとして機能する。表示制御部２１０Ａは、後述するディスプレイ２７２の表示動作を制御する。なお、表示制御部２１０Ａは、ＭＦＰ１００のブラウザー１０Ａとは異なり、ブラウザー機能は有していない。
【００３１】
ＲＡＭ２１１は、ＣＰＵ２１０のワークエリアとして機能する。ＮＶ−ＲＡＭ２１２は、ＭＦＰ２００の初期設定等のデータを記憶する。
【００３２】
ＭＦＰ２００は、さらに、ＨＤＤ２２０を含む。ＨＤＤ２２０は、ＣＰＵ２１０が処理するプログラムを記憶するためのプログラム記憶部２２１と、各種のデータを記憶するためのデータ記憶部２２２とを含む。
【００３３】
ＣＰＵ２１０が処理するプログラムは、ＭＦＰ２００の出荷時等、予めＨＤＤ２２０に格納されている場合もあれば、ネットワーク経由でダウンロードされてＨＤＤ２２０に格納される場合もある。また、プログラムは、ＭＦＰ２００に対して着脱可能な記憶媒体４００に格納され、ＣＰＵ２１０は、メディアドライブ２４０を介して当該記憶媒体から読み出し、当該プログラムを処理する場合もある。
【００３４】
また、ＭＦＰ２００は、操作パネル２６０と、エンジン２１３とを含む。操作パネル２６０は、ＭＦＰ２００の本体に設けられたハードキー２１５と、タッチセンサー２７１と、液晶表示装置等からなるディスプレイ２７２とを含む。タッチセンサー２７１とディスプレイ２７２によって、タッチパネル２５０が構成される。
【００３５】
＜プログラム生成処理＞
図５は、ＭＦＰ１００においてアプリケーションの実行指示があった場合に、当該指示の入力の際に併せて入力された設定値を含めた処理内容の組合せに対応するプログラムを生成する処理のシーケンス図である。
【００３６】
本実施の形態では、まず、ユーザーは、ＭＦＰ１００にログインする。これにより、タッチパネル５０には図６に示されるような画面が表示される。
【００３７】
図６を参照して、タッチパネル５０には、アイコン５０１〜５０３が表示されている。アイコン５０１は、スキャンアプリケーションを実行させるために操作される。アイコン５０２は、コピーアプリケーションを実行させるために操作される。アイコン５０３は、ファイルのアップロードするアプリケーション（以下、「アップロードアプリケーション」ともいう）を実行させるために操作される。
【００３８】
ＭＦＰ１００では、上記したようなスキャンアプリケーション、コピーアプリケーション、および、アップロードアプリケーションは、Ｗｅｂサーバー１０ＢによってＷｅｂサービスとして提供される。本明細書では、このようにＷｅｂサーバー１０ＢによってＷｅｂサービスとして提供されるアプリケーションを、「ＩＷＳ（Internal Web Server）アプリ」ともいう。
【００３９】
ログイン時等にタッチパネル５０に表示されるアイコンの種類は、ユーザー管理テーブルにおいて、ログインユーザーに関連付けられているアプリケーションの種類に応じて決定される。データ記憶部２２には、ユーザー毎に、利用可能なアプリケーションを特定するためのユーザー管理テーブルが格納されている。図７は、ユーザー管理テーブルの内容の一例を模式的に示す図である。
【００４０】
図７を参照して、ユーザー管理テーブルには、ユーザー名と、アプリケーション毎のＩＤ（アプリＩＤ）と、アプリケーションのプログラムが格納されるアドレス（ＵＲＬ（Uniform  Resource  Locator））と、自動生成済フラグの状態（「済」または「未」）と、スクリプト管理テーブルＩＤとが、互いに関連付けられて登録されている。
【００４１】
図７に示されたユーザー管理テーブルでは、ユーザーＡ（表３中の「userA」）は、「IWS_Scan_ID」「IWS_Copy_ID」「IWS_Upload_ID」という３つのアプリケーションに関連付けられている。「IWS_Scan_ID」は、スキャナーで原稿の画像データを生成するスキャン処理のアプリケーションである。「IWS_Copy_ID」は、スキャナーで原稿の画像データを生成し、当該画像データの画像を形成するコピー処理のアプリケーションである。「IWS_Upload_ID」は、ＭＦＰ１００に格納されたデータをネットワーク上にアップロードするアップロード処理のアプリケーションである。
【００４２】
ブラウザー１０Ａは、タッチパネル５０に、ユーザー管理テーブルにおいてログインユーザーに関連付けられているアプリケーションを起動させるためのアイコンを表示させる。図６の画面は、ユーザーＡがログインしたときの画面に相当する。アイコン５０１，５０２，５０３は、それぞれ、図７のユーザー管理テーブルにおいてユーザーＡに関連付けられた「IWS_Scan_ID」，「IWS_Copy_ID」，「IWS_Upload_ID」に対応する。
【００４３】
自動生成済フラグについては、後述する。
スクリプト管理テーブルＩＤは、各アプリケーションのプログラムを構成するスクリプトの情報を管理するテーブルを特定する。
【００４４】
図８は、スクリプト管理テーブルＩＤが「１」であるスクリプト管理テーブルの内容の一例を模式的に示す図である。
【００４５】
図８を参照して、スクリプト管理テーブルでは、スクリプト名と、スクリプトＩＤと、設定値置き場と、自動生成処理置き場とが、互いに関連付けられて格納されている。スクリプト名は、アプリケーションのプログラムを構成する各スクリプトの名称である。スクリプトＩＤは、各スクリプトを特定する情報である。設定値置き場は、既に登録されているスクリプトを実行するための設定値の格納場所を特定する情報である。「なし」とされている場合には、そのような設定値の登録がないことを意味している。自動生成処理置き場は、各スクリプトの格納場所を特定する情報である。
【００４６】
図８には、「scan_screen1.py」「scan_screen2.py」「scan_screen3.py」の３つの名称のスクリプトの情報が登録されている。図８は、図７のスクリプト管理テーブルＩＤの「１」に対応するスクリプト管理テーブルが示されている。つまり、図７のアプリＩＤが「IWS_Scan_ID」のプログラムは、図８の「scan_screen1.py」「scan_screen2.py」「scan_screen3.py」の３つのスクリプトを含むことを意味する。
【００４７】
図５に戻って、図６のような画面が表示された状態で、ユーザーがＩＷＳアプリの起動を指示すると、ブラウザー１０Ａは、Ｗｅｂサーバー１０Ｂに対して、当該ＩＷＳアプリの実行に関するコンテンツを要求する。本明細書では、起動を指示されるＩＷＳアプリとして、スキャンアプリケーションを例示する。
【００４８】
Ｗｅｂサーバー１０Ｂは、ブラウザー１０Ａからのコンテンツの要求に応じて、当該要求を解析し、そして、起動を指示されたアプリケーションについて、スクリプトが登録済か否かをチェックする（図５中のステップＳＡ）。具体的には、Ｗｅｂサーバー１０Ｂは、起動を要求されたアプリケーションについて、自動生成済フラグの状態のチェックを、新モジュール制御部１０Ｄに対して要求する。
【００４９】
新モジュール制御部１０Ｄは、Ｗｅｂサーバー１０Ｂからの要求に応じて、ｃｏｍｍｏｎ処理部１０Ｅに対して、現在ＭＦＰ１００にログインしているユーザーを特定する情報を要求する。ｃｏｍｍｏｎ処理部１０Ｅは、当該要求に応じて、ログインユーザーを特定する情報（たとえば、ログインＩＤ）を新モジュール制御部１０Ｄに通知する。
【００５０】
新モジュール制御部１０Ｄは、ｃｏｍｍｏｎ処理部１０Ｅから通知されたユーザーについて、ユーザー管理テーブル（図７参照）における、Ｗｅｂサーバー１０Ｂから要求を受けたアプリケーションの自動生成済フラグの状態を参照する。
【００５１】
そして、新モジュール制御部１０Ｄは、自動生成済フラグの状態が「未」であれば、その旨をＷｅｂサーバー１０Ｂに返信するとともに、自動作成中フラグをＯＮして、それ以降の処理を進める。
【００５２】
一方、自動生成済フラグが「済」であった場合には、新モジュール制御部１０Ｄは、Ｗｅｂサーバー１０Ｂに対してその旨を通知する。これに応じて、Ｗｅｂサーバー１０Ｂは、スクリプトエンジン１０Ｃに、起動を指示されたアプリケーションのプログラムを構成するスクリプトの実行を指示して、処理を終了する。
【００５３】
なお、図５には、起動を指示されたアプリケーションについての自動生成済フラグが「未」であった場合の処理のみが記載されている。
【００５４】
新モジュール制御部１０Ｄから自動生成済フラグが「未」である旨の通知を受けると、Ｗｅｂサーバー１０Ｂは、スクリプトエンジン１０Ｃに対して、起動を指示されたアプリケーションのプログラムを構成するスクリプトの起動を指示する。これに応じて、スクリプトエンジン１０Ｃは、当該スクリプトの実行結果をＷｅｂサーバー１０Ｂに通知する。
【００５５】
また、スクリプトエンジン１０Ｃにおけるスクリプトの起動と並行して、新モジュール制御部１０Ｄは、スクリプト保存処理を実行する（ステップＳＢ（１））。
【００５６】
スクリプト保存処理では、スクリプトエンジン１０Ｃは、新モジュール制御部１０Ｄに対して、スクリプト／ＣＧＩ（Computer  Graphics  Interface）保存要求を出す。これに応じて、新モジュール制御部１０Ｄは、スクリプトエンジン１０Ｃが起動したＣＧＩスクリプトのコピーをＨＤＤ２０に保存するとともに、当該ＣＧＩにＦＯＲＭデータがあれば、それも併せてＨＤＤ２０に保存する。
【００５７】
また、新モジュール制御部１０Ｄは、保存したスクリプトを解析し、当該スクリプトに変更を加えるべき箇所を特定し、スクリプトを変更する。ここでもスクリプトの変更とは、たとえば、ユーザーがＩＷＳアプリの起動の際に入力した情報に従って変更を意味する。
【００５８】
スクリプトエンジン１０Ｃからのスクリプトの実行結果に応じて、Ｗｅｂサーバー１０Ｂは、ブラウザー１０Ａに画面表示させるコンテンツを生成する。そして、Ｗｅｂサーバー１０Ｂは、ブラウザー１０Ａに対して、当該コンテンツを送信する。これに応じて、ブラウザー１０Ａは、タッチパネル５０に当該コンテンツを表示させる。これにより、ユーザーは、表示されたコンテンツを視認することができる。
【００５９】
図９は、このときにタッチパネル５０に表示される画面の一例を示す図である。図９には、ユーザーによるＩＷＳアプリの起動指示の結果としてタッチパネル５０に表示される画面が示されている。なお、図９の画面は、ＩＷＳアプリとしてスキャンアプリケーションが選択されたときの、当該スキャン条件設定のための画面である。ここで、設定される条件としては、ファイル形式、解像度、および、カラー（カラー／モノクロ）が挙げられる。
【００６０】
ユーザーが、各条件についての設定内容を入力した後、スタートボタン５０７を操作すると、ブラウザー１０Ａは、ＩＷＳアプリについての起動の条件を取得する。これに応じたアプリケーションの実行の指示をＷｅｂサーバー１０Ｂに送る。このとき、ブラウザー１０Ａは、指示したアプリケーションの実行に関するコンテンツを、Ｗｅｂサーバー１０Ｂに要求する。図５では、スタートボタン５０７に対する操作は、「ＯＫ押下」に対応している。
【００６１】
ブラウザー１０Ａからのアプリケーションの実行指示があると、Ｗｅｂサーバー１０Ｂは、当該アプリケーションの実行のためのスクリプトの起動の指示をスクリプトエンジン１０Ｃに送る。
【００６２】
スクリプトエンジン１０Ｃは、Ｗｅｂサーバー１０Ｂからの指示に応じてスクリプトを起動するとともに、その結果をＷｅｂサーバー１０Ｂに通知する。なお、スクリプトエンジン１０Ｃは、ユーザーが入力した設定値に従って既存の（予めＨＤＤ２０に格納された）スクリプトに変更を加えて、スクリプトを実行する。このとき、新モジュール制御部１０Ｄは、ステップＳＢ（２）として、スクリプトエンジン１０Ｃから、既存のスクリプトに対する変更箇所や変更内容を取得し、ＨＤＤ２０へ格納する。このとき、新モジュール制御部１０Ｄは、当該スクリプトにＦＯＲＭデータがあれば、それも合わせてＨＤＤ２０へ保存する。これにより、スクリプトエンジン１０Ｃが、ユーザーのアプリケーション実行指示の際に入力された設定値に基づいて、既存のスクリプトに変更を加え、当該変更後のスクリプトを実行した場合、当該変更後のスクリプトがＨＤＤ２０へ保存される。
【００６３】
つまり、本実施の形態では、ユーザーの操作履歴ではなく、ユーザーの操作内容に応じたプログラム（スクリプト）自体が、ＨＤＤ２０に保存される。
【００６４】
図５に示されるように、本実施の形態では、スクリプトエンジン１０Ｃがアプリケーションの実行のためにスクリプトを処理するのと並行して、新モジュール制御部１０Ｄは、スクリプト保存処理を実行する。
【００６５】
スクリプトエンジン１０Ｃは、スクリプトの実行中の適切なタイミングで、Ｗｅｂサーバー１０Ｂに、実行状況を通知する。これに応じて、Ｗｅｂサーバー１０Ｂは、当該実行状況を示す画面データ（コンテンツ）を生成し、ブラウザー１０Ａに対して表示を指示する。これに応じて、ブラウザー１０Ａは、タッチパネル５０に画面を表示する。
【００６６】
図５は、スクリプトエンジン１０ＣからＷｅｂサーバー１０Ｂへの結果の通知（図５
では「ＯＫ」）、および、Ｗｅｂサーバー１０Ｂからブラウザー１０Ａへのコンテンツの送信が１度だけ行なわれるように記載されているが、これらは、スクリプトエンジン１０ＣがＷｅｂサーバー１０Ｂに上記通知を行なうたびに、行なわれる。つまり、これらは２回以上行なわれる場合もある。
【００６７】
図１０および図１１は、このときにタッチパネル５０に表示される画面の一例を示す図である。
【００６８】
図１０には、スキャンアプリケーションにおいて画像の読み込みが行なわれている際に表示される画面が示されている。図１０の画面では、タッチパネル５０には、処理の状況を示すメッセージ（読み込み中）を表示する表示欄５０８が示されている。
【００６９】
図１１には、スキャンアプリケーションにおいて画像の読み込みが行なわれている際に表示される画面が示されている。図１０の画面では、タッチパネル５０には、処理の状況を示すメッセージ（読み込み完了）を表示する表示欄５０８が示されている。
【００７０】
図５に戻って、ユーザーがタッチパネル５０に対して、実行中のアプリケーションを終了させるための操作を行なうと（図５中の「ＩＤキー押下」「アプリ終了」）、ブラウザー１０Ａは、Ｗｅｂサーバー１０Ｂに対して終了イベントを送信する。これに応じて、Ｗｅｂサーバー１０Ｂは、スクリプトエンジン１０Ｃに終了イベントを送信する。これに応じて、スクリプトエンジン１０Ｃは、アプリケーションのプログラムを構成するスクリプトの処理を終了するとともに、新モジュール制御部１０Ｄに終了処理要求を送信する。これに応じて、新モジュール制御部１０Ｄは、生成したスクリプトについて、ユーザー管理テーブルに登録するとともに、当該プログラムについての自動生成済フラグを「済」に設定し、ＨＤＤ２０へ登録する。
【００７１】
図１２は、図５のステップＳＢ（２）に示されたスクリプト保存処理によって保存されたスクリプトに対応するアプリケーションが追加された状態のユーザー管理テーブルを示す図である。
【００７２】
図７と比較して、図１２のユーザー管理テーブルでは、ＵＲＬを「bbbbbbb」とするアプリケーションが追加されている。当該アプリケーションは、ユーザーＡに関連付けられている。当該アプリケーションの自動生成済フラグは「済」である。このことは、このアプリケーションのプログラムが、図５を参照して説明したように既存のアプリケーションのプログラム（スクリプト）に対して変更を加えられて格納されたものに対応することを意味している。また、当該アプリケーションのスクリプト管理テーブルＩＤは「４」である。このアプリケーションのスクリプト管理テーブルの内容の一例を、図１３に示す。
【００７３】
図１３に示されたスクリプト管理テーブルは、図８のスクリプト管理テーブルと比較して、スクリプト名「scan_screen4.py」のスクリプトが追加されている。このスクリプトには、設定値置き場「/Doc/Auto/setting/004」に格納された設定値が関連付けられている。この設定値は、図９を参照して説明した、ユーザーから入力された設定条件に対応する内容を含む。
【００７４】
＜自動生成状態確認処理＞
図１４は、図５のステップＳＡの処理内容を詳細に説明するためのシーケンス図である。
【００７５】
図１４を参照して、ブラウザー１０Ａからコンテンツの要求を受けると、Ｗｅｂサーバー１０Ｂは、新モジュール制御部１０Ｄに対して、ユーザーから起動の要求があったアプリケーションについて、自動生成済フラグの状態を確認する要求を送信する（ステップＳＡ１０）。
【００７６】
これに応じて、新モジュール制御部１０Ｄは、ｃｏｍｍｏｎ処理部１０Ｅから、現在ＭＦＰ１００にログインしているユーザーのＩＤとユーザーから起動の要求があったアプリＩＤを取得する（ステップＳＡ２０）。そして、新モジュール制御部１０Ｄは、ステップＳＡ２０で取得したユーザーＩＤとアプリＩＤに基づいて、ユーザー管理テーブル（図７参照）に登録されている情報を「scan_screen4.py」にすることにより、当該アプリＩＤの自動生成済フラグが「未」であるか否かを判断し、そうであると判断するとステップＳＡ４０へ処理を進め、そうではないと判断するとそのまま処理を終了する。
【００７７】
ステップＳＡ４０では、新モジュール制御部１０Ｄは、自動生成追加フラグがＯＮであるか否かを判断し、そうであると判断するとステップＳＡ５０へ処理を進め、そうではないと判断するとそのまま処理を終了する。
【００７８】
ステップＳＡ５０では、新モジュール制御部１０Ｄは、自動生成中フラグをＯＮに設定して、処理を終了する。
【００７９】
自動生成追加フラグとは、ＭＦＰ１００において、ユーザーの操作に従って当該操作内容に従ったプログラム（およびアイコン）を自動生成する設定がなされているか否かを示すフラグである。自動生成追加フラグの設定内容は、たとえば、操作パネル１５０を操作することにより、その設定内容の変更が可能とされている。
【００８０】
以上、図１４を参照して説明した処理によれば、ユーザーが起動を指示したアプリケーションに関連付けられた自動生成済フラグが「未」であり、かつ、自動生成追加フラグがＯＮとされていることを条件として、自動生成中フラグがＯＮに設定される。そして、ＭＦＰ１００では、自動生成中フラグがＯＮとされていることを条件として、ユーザーからの起動指示に従って実行されたスクリプトがＨＤＤ２０へ保存され、また、当該スクリプト（プログラム）に対応したアイコンが、タッチパネル５０に表示される。
【００８１】
＜スクリプト保存処理＞
図１５は、図５においてステップＳＢ（１）またはステップＳＢ（２）で示された処理の詳細な内容を説明するためのシーケンス図である。
【００８２】
図１５を参照して、Ｗｅｂサーバー１０Ｂは、まず、ステップＳＢ１０で、スクリプトエンジン１０Ｃに対して、ＣＧＩ起動の要求（図５の「スクリプト起動要求」）を送信する。
【００８３】
これに応じて、スクリプトエンジン１０Ｃは、ステップＳＢ２０で、要求されたＣＧＩを実行して、ステップＳＢ３０へ処理を進める。
【００８４】
ステップＳＢ３０では、スクリプトエンジン１０Ｃは、自動生成中フラグがＯＮであるか否かを判断し、ＯＮであると判断するとステップＳＢ４０へ処理を進める。一方、自動生成中フラグがＯＦＦであれば、処理をステップＳＢ７０へ進める。
【００８５】
ステップＳＢ４０では、スクリプトエンジン１０Ｃは、ステップＳＢ２０で実行したＣＧＩについて、ユーザーからの入力値が含まれていたか否かを判断し、含まれていたと判断するとステップＳＢ５０へ処理を進め、含まれていなかったと判断するとステップＳＢ６０へ処理を進める。
【００８６】
ステップＳＢ５０では、スクリプトエンジン１０Ｃは、ステップＳＢ４０で含まれていたと判断したユーザーの入力値を新モジュール制御部１０Ｄへ送信して、ステップＳＢ６０へ処理を進める。
【００８７】
ステップＳＢ６０では、スクリプトエンジン１０Ｃは、オリジナルのＣＧＩをＨＤＤ２０へコピーする要求を新モジュール制御部１０Ｄへ送信して、ステップＳＢ７０へ処理を進める。ここで、オリジナルのＣＧＩとは、たとえばスキャンアプリケーション実行が指示された場合の、「IWS_Scan_ID」を構成するスクリプトであって、ステップＳＢ２０で実行されたＣＧＩである。
【００８８】
ステップＳＢ６０におけるスクリプトエンジン１０Ｃからの要求に応じて、新モジュール制御部１０Ｄは、ステップＳＢ１００で、ステップＳＢ６０において要求されたスクリプト（オリジナルのＣＧＩ）をＨＤＤ２０へコピーするとともに、ＨＤＤ２０にコピーしたスクリプトの中の必要な箇所を、ステップＳＢ５０においてスクリプトエンジン１０Ｃから送信された入力値で置き換える。
【００８９】
一方、ステップＳＢ７０では、スクリプトエンジン１０Ｃは、ステップＳＢ２０におけるＣＧＩの実行結果をＷｅｂサーバー１０Ｂへ送信する。
【００９０】
これに応じて、Ｗｅｂサーバー１０Ｂは、ステップＳＢ８０で、ブラウザー１０Ａに対して、スクリプトエンジン１０Ｃから送信されたＣＧＩ実行結果を表示するためのコンテンツの表示を要求して、処理を終了する。
【００９１】
以上図１５を参照して説明した処理によれば、自動生成中フラグがＯＮである場合には、ユーザーの実行指示に従ってスクリプトエンジン１０Ｃが実行したスクリプトが、ＨＤＤ２０へコピーされる。なお、当該スクリプトの実行の際に、ユーザーの指示に含まれる入力値が含まれる場合には、当該入力値も併せて、ＨＤＤ２０にコピーする要求がなされる。そして、新モジュール制御部１０Ｄは、当該コピーの要求に応じて、ＨＤＤ２０へ、スクリプトをコピーする。
【００９２】
これにより、ユーザーが、ブラウザー１０Ａに、設定値とともにアプリケーションの実行を指示した場合、当該アプリケーションのプログラムを構成するスクリプト毎に、実行されたスクリプトがユーザーに入力された設定値とともにＨＤＤ２０へ保存（コピー）される。
【００９３】
このように保存されたスクリプトは、図１３の「/Doc/Auto/setting/004」のように、スクリプト管理テーブルに登録される。スクリプト管理テーブルは、図１２および図１３を参照して説明したように、各ユーザーに関連付けられたアプリケーションに関連付けられて、登録される。したがって、新たに登録されたスクリプト（プログラム）は、ユーザーに関連付けられて登録されることになる。これにより、ブラウザー１０Ａがログインユーザーに対応してタッチパネル５０に表示する画面には、新たに登録されたスクリプト（プログラム）に対応したアイコンが表示されることになる。
【００９４】
このように追加されて登録されたスクリプト（プログラム）に対応したアイコンが追加で表示された場合のタッチパネル５０の表示画面を、図１６に示す。
【００９５】
図１６に示された画面では、図６の画面と比較して、アイコン５１１が追加で表示されている。アイコン５１１は、図１２のユーザー管理テーブルのアプリＩＤが「IWS_Scan_ID」であり、かつ、スクリプト管理テーブルＩＤが「４」のアプリケーションに対応するアイコンである。
【００９６】
＜ＭＦＰの動作内容＞
ここで、本実施の形態におけるスクリプト保存による効果をより具体的に説明するために、ＭＦＰ１００の動作内容を説明する。
【００９７】
ＭＦＰ１００では、ユーザーＡがＭＦＰ１００にログインすると、まず、図６に示されたような画面がタッチパネル５０に表示される。
【００９８】
次に、ユーザーは、アイコン５０１を操作する。これにより、ブラウザー１０Ａは、Ｗｅｂサーバー１０Ｂに、スキャンアプリケーションの起動を要求する。
【００９９】
図７に示されたユーザー管理テーブルにおいて、ユーザーＡのスキャンアプリケーション（アプリＩＤ「IWS_Scan_ID」）の自動生成済フラグは「未」である。ＭＦＰ１００では、自動生成追加フラグ（図１４参照）はＯＮに設定されているとする。これにより、自動生成中フラグがＯＮに設定される。
【０１００】
そして、スキャンアプリケーションの起動の指示に応じて、Ｗｅｂサーバー１０Ｂはブラウザー１０Ａに図９に示すような画面の表示（コンテナ）の表示を指示する。
【０１０１】
図９に示された画面の表示に応じて、ユーザーは、図９の各条件について設定値を入力し、スタートボタン５０７を操作する。これに応じて、再度、ブラウザー１０Ａは、Ｗｅｂサーバー１０Ｂに対してコンテンツを要求（ＣＧＩの実行）を指示する。
【０１０２】
これに応じて、Ｗｅｂサーバー１０Ｂは、スクリプトエンジン１０Ｃに、図９に示された設定条件（入力値）を利用したスクリプトの実行を指示する。これに応じて、スクリプトエンジン１０Ｃが適切なスクリプトを実行することにより、ＭＦＰ１００は、図９に示された設定条件に従って、スキャン動作が実行される。
【０１０３】
そして、スクリプトエンジン１０Ｃは、上記スクリプトを実行するとともに、当該実行したスクリプトをＨＤＤ２０に保存するように、新モジュール制御部１０Ｄに指示する。これに応じて、新モジュール制御部１０Ｄはスクリプトエンジン１０Ｃから送信されたスクリプトをＨＤＤ２０のプログラム記憶部２１に保存する。
【０１０４】
また、新モジュール制御部１０Ｄは、このように保存したスクリプトについて、ユーザー管理テーブル（図１２）およびスクリプト管理テーブル（図１３参照）に情報を登録する。
【０１０５】
これに応じて、それ以降のユーザーＡがログインした際に表示される画面は、図６に示されたものから図１６に示されたものへと変更される。図１６に示された画面には、図６に示された画面に加えて、アイコン５１１が追加されている。アイコン５１１は、図６および図９を参照して説明した画面に従ってユーザーが入力した情報を含む、アプリケーションプログラム（スクリプト）の起動を指示するためのアイコンである。当該スクリプトは、既存のスクリプトに対して、ユーザーが入力した情報に基づいた変更が加えられている。
【０１０６】
＜プログラム実行処理＞
次に、図１６のアイコン５１１のように、ユーザーの実行指示に従って追加して登録されたアプリケーションプログラムの実行について、説明する。図１７は、このようなアプリケーションプログラムの実行の際の、ＭＦＰ１００におけるシーケンス図である。
【０１０７】
図１７を参照して、ユーザーがアイコン５１１を操作することにより、当該アイコン５１１に対応するＩＷＳアプリの起動を指示すると、ブラウザー１０Ａは、Ｗｅｂサーバー１０Ｂに対して、当該アプリケーションに対応するコンテンツを要求する。
【０１０８】
これに応じて、Ｗｅｂサーバー１０Ｂは、スクリプトエンジン１０Ｃに対して、起動を指示されたアプリケーションのＣＧＩの起動を指示する。
【０１０９】
これに応じて、スクリプトエンジン１０Ｃは、起動を指示されたＩＷＳアプリのＣＧＩの結果をＷｅｂサーバー１０Ｂへ通知するとともに、起動を指示されたＩＷＳアプリの起動を新モジュール制御部１０Ｄへ指示する。これに応じて新モジュール制御部１０Ｄは、ＨＤＤ２０から、上記ＩＷＳアプリを構成するスクリプト（図１３参照）を順次取得し、実行する（図１７中のＬＯＯＰ）。
【０１１０】
スクリプトエンジン１０Ｃは、当該スクリプトを順次実行し、その結果をＷｅｂサーバー１０Ｂへ通知する。これに応じて、Ｗｅｂサーバー１０Ｂは、ブラウザー１０Ａに対して、その実行結果を示す表示画面のコンテンツを送信する。これに応じて、ブラウザー１０Ａは、受信したコンテンツを表示する。これにより、ユーザーは、アプリケーションの実行結果を、タッチパネル５０上で視認することができる。
【０１１１】
以上図１７を参照して説明した処理では、実行を指示されたＩＷＳアプリに対応する自動生成済フラグは、「済」となっている（図１２のスクリプト管理テーブルＩＤ「４」に対応する自動生成済フラグの値を参照）。これにより、図１７を参照して説明した処理においてスクリプトエンジン１０Ｃが実行したスクリプトについては、ＨＤＤ２０へコピーされることはない。
【０１１２】
図１８および図１９は、スクリプトエンジン１０Ｃによるスクリプトの実行に応じて、Ｗｅｂサーバー１０Ｂからブラウザー１０Ａに対して、その実行結果を示す画面が示されている。
【０１１３】
図１８は、スキャンアプリケーションの実行中にタッチパネル５０に表示される画面を示す。図１８の画面には、スキャンアプリケーションが実行中であることを示すメッセージが、表示欄５１２に、表示されている。なお、表示欄５１２中のメッセージにおける「自動」とは、アイコン５１１のように、ＭＦＰ１００においてユーザーの操作に従って実行されたアプリケーションスクリプトとして既にＭＦＰに登録された処理内容に対応するアプリケーションが実行中であることを意味する。
【０１１４】
図１９は、スキャンアプリケーションの実行が完了したことを示すメッセージを表示する表示欄５１３を含む。表示欄５１３中のメッセージにおける「自動」も、同様に、上記実行が完了したのが、上記のようにユーザー操作によって実行された処理内容のスクリプトを含むアプリケーションであることを示している。
【０１１５】
＜スクリプト保存処理の詳細な内容＞
図２０は、図１５のステップＳＢ１００における、新モジュール制御部１０Ｄの内容を説明するためのフローチャートである。
【０１１６】
図２０を参照して、新モジュール制御部１０Ｄは、まずステップＳＢ１１０で、スクリプトエンジン１０Ｃから要求を受けたオリジナルＣＧＩをＨＤＤ２０へコピーして、ステップＳＢ１２０へ処理を進める。
【０１１７】
ステップＳＢ１２０では、新モジュール制御部１０Ｄは、オリジナルＣＧＩの実行に際してユーザーの入力値が使用されたか否かを判断し、使用されたと判断するとステップＳＢ１３０へ処理を進め、使用されていないと判断するとそのまま処理を終了する。なお、新モジュール制御部１０Ｄは、ステップＳＢ５０においてスクリプトエンジン１０Ｃがユーザーの入力値を送信した場合には入力値を使用したと判断し、そのようなスクリプトエンジン１０Ｃからの送信がなかった場合には、ユーザーの入力値を使用しなかったと判断する。
【０１１８】
ステップＳＢ１３０では、新モジュール制御部１０Ｄは、オリジナルＣＧＩのスクリプトを解析し、ステップＳＢ１４０へ処理を進める。
【０１１９】
ステップＳＢ１４０では、新モジュール制御部１０Ｄは、上記ＣＧＩスクリプトに、関数「cgi.FieldStorage()」があるか否かを判断し、あると判断するとステップＳＢ１５０以降へ処理を進める。
【０１２０】
一方、そのような関数がないと判断すると、そのまま処理を終了する。
ステップＳＢ１５０以降では、新モジュール制御部１０Ｄは、ＣＧＩスクリプトの関数「cgi.FieldStorage()」における変数をユーザーの入力値に置換えて、ＨＤＤ２０上で更新する。図２０では、このような変数の置換えの処理として、ステップＳＢ１５０〜ステップＳＢ１８０が例示されている。ステップＳＢ１５０は、「Ｘ１」をユーザー入力値「Ｘ１−１」に置換える処理である。また、ステップＳＢ１６０〜ステップＳＢ１８０は、変数「Ｘ２」，「Ｘ３」，「Ｘ４」のそれぞれを、ユーザー入力値「Ｘ２−１」に置換える処理が記載されている。なお、スクリプトにおいて、入力値に置き換えられる変数の数は、図２０に示されたものに限定されない。そして、ＨＤＤ２０にコピーされたスクリプトにおける、変数の入力値への必要な置換がすべて完了すると、図２０に示された処理は終了する。
【０１２１】
＜他の装置における処理＞
本実施の形態の画像処理システムでは、ＭＦＰ１００においてユーザーからの実行指示に従って生成されたプログラムおよびアイコンは、ＭＦＰ２００へコピーすることができる。図２１は、ＭＦＰ２００において、アイコン等のコピーの指示が入力された際にＭＦＰ２００において実行される処理のシーケンスを示す図である。
【０１２２】
図２１を参照して、ＭＦＰ２００において、ユーザーが、タッチパネル２５０を操作することによりＭＦＰ１００のアイコン等のコピーを指示すると、当該指示が、表示制御部２１０Ａを介して新モジュール制御部１０Ｄに送られる。これに応じて、新モジュール制御部１０Ｄは、ＭＦＰ１００から、ログインユーザーに対応したスクリプト（プログラム）および当該スクリプトに対応したアイコンの送信を要求し、当該要求に応じて送信されてきたスクリプトおよびアイコンをＨＤＤ２２０へ保存する（ステップＳＣ１０）。
【０１２３】
そして、新モジュール制御部２１０Ｄは、ステップＳＣ２０で、自機にブラウザーが搭載されているか否かを判断する。ここでは、ＭＦＰ２００では、ブラウザーの機能がないので、ステップＳＣ３０へ処理が進められる。
【０１２４】
ステップＳＣ３０では、新モジュール制御部２１０Ｄは、初期画面に、ＭＦＰ１００からコピーされたアイコンを追加するようｃｏｍｍｏｎ処理部２１０Ｅに指示して、ステップＳＣ４０へ処理を進める。これにより、ＭＦＰ２００において、ユーザーＡがログインした際に表示される初期画面が更新される（ステップＳＣ４０）。
【０１２５】
初期画面の更新について、図２２および図２３を参照して説明する。
図２２は、タッチパネル２５０に表示される、更新前の初期画面の一例を示す図である。
【０１２６】
タッチパネル２５０には、ＭＦＰ２００にスキャンアプリケーションを実行させるためのアイコン２５１と、コピーアプリケーションを実行させるためのアイコン２５２と、アップロードアプリケーションを実行させるためのアイコン２５３とが表示されている。
【０１２７】
図２３は、更新後の初期画面の一例を示す図である。
図２３を参照して、更新後の初期画面には、図２２に示された画面と比較して、アイコン２５４が追加されている。アイコン２５４は、ステップＳＣ１０においてコピーされたアイコンであり、ステップＳＣ１０でコピーされたスクリプトを実行させるために操作されるアイコンである。
【０１２８】
図２１に戻って、ステップＳＣ４０の後、ステップＳＣ５０で、新モジュール制御部２１０Ｄは、ｃｏｍｍｏｎ処理部２１０Ｅに対して、アイコン２５４（図２３参照）の押下によって実行されたアプリケーションの実行中および実行結果として表示する画面を、ステップＳＣ１０でＨＤＤ２２０にコピーされたコンテンツに変更することをｃｏｍｍｏｎ処理部２１０Ｅに指示する。これにより、アイコン２５４の操作によって開始されたアプリケーションの実行中に、ステップＳＣ１０においてＭＦＰ１００から受信したコンテンツが表示される。なお、これらのコンテンツも、ステップＳＣ１０において、スクリプトやアイコンとともにＭＦＰ１００から送信され、ＨＤＤ２２０へ格納されている。
【０１２９】
以上説明したステップＳＣ１０〜ステップＳＣ５０の処理により、ユーザーＡがＭＦＰ２００にログインすると、図２３に示されたような初期画面がタッチパネル２５０に表示される。
【０１３０】
そして、ユーザーＡがアイコン２５４を操作することにより、アプリケーションの起動を指示すると、新モジュール制御部２１０Ｄは、当該起動要求に応じて、ステップＳＣ５０で設定された画面を、表示制御部２１０Ａに指示する。これにより、タッチパネル２５０には、図２４に示されるような画面が表示される。
【０１３１】
図２４を参照して、タッチパネル２５０に表示される画面には、表示欄２６１が含まれる。表示欄２６１には、アイコン２５４に関連付けられてＨＤＤ２２０に登録されたアプリケーションの実行状態を表示するメッセージが表示されている。表示欄２６１におけるメッセージ中の「自動」とは、ＭＦＰ１００においてユーザーの起動指示によって実行され登録されたアプリケーションスクリプトが実行されていることを意味する。つまり、ユーザーがＭＦＰ１００において入力した設定値が自動的に組込まれて、アイコン２５４を操作することのみで、自動的に組込まれて、アプリケーションが実行されていることを意味する。
【０１３２】
また、スクリプトエンジン２１０Ｃは、ユーザーからのアプリケーションの起動指示に応じて、アイコン２５４に関連付けられてＨＤＤ２２０に格納されたモジュールの起動が、新モジュール制御部２１０Ｄに対して、指示される。これにより、新モジュール制御部２１０Ｄは、ステップＳＣ１１０で、ＨＤＤ２２０に格納されたスクリプトを取得し、スクリプトエンジン２１０ＣにＣＧＩの起動を指示する。
【０１３３】
これに応じて、スクリプトエンジン２１０Ｃは、ＣＧＩの結果を新モジュール制御部２１０Ｄにその結果を通知する。そして、新モジュール制御部２１０Ｄは、上記したスクリプトの実行結果を、表示制御部２１０Ａに対して、表示を指示する。これにより、表示制御部２１０Ａは、タッチパネル２５０に、実行結果を表示させる。
【０１３４】
図２５は、このときにタッチパネル２５０に表示される実行結果の表示例を示す。
図２５に示された画面には、実行結果を表示するための表示欄２６２が含まれる。表示欄２６２に表示されたメッセージ中の「自動」とは、図２４中の「自動」と同様の意味を有する。
【０１３５】
図２１に示された処理では、ＭＦＰ２００において、他のＭＦＰからのスクリプト等の取得が指示されたが、本実施の形態では、ＭＦＰ１００において、他のＭＦＰにスクリプト等の送信の指示がなされても良い。この場合、ＭＦＰ１００のブラウザー１０Ａは、当該指示を受けると、新モジュール制御部１０Ｄに、ＭＦＰ２００に対するスクリプト等の送信を指示する。これに応じて、新モジュール制御部１０Ｄは、指示されたスクリプト等のデータを、ＭＦＰ２００へ送信する。ＭＦＰ２００では、新モジュール制御部２１０Ｄは、ＭＦＰ１００から上記データを受信すると、ステップＳＣ１０以降の処理を実行する。
【０１３６】
＜実施の形態の効果等＞
本実施の形態によれば、アプリケーションの実行が指示された場合に、当該アプリケーションの実行に際して入力された設定値に応じて必要な箇所を変更されたプログラムが、生成されて記憶される。また、それ以降、変更後のプログラムに関連付けられたアイコンが表示装置に表示される。これにより、ユーザーは、当該アイコンを操作することにより、操作履歴に従った態様でアプリケーションを実行させることができる。
【０１３７】
なお、操作履歴ではなく変更後のプログラム自体が記憶される。このため、情報処理装置においてアプリケーションの追加や削除などのシステム変更が加えられた場合であっても、上記変更後のプログラムが実行されれば、操作履歴に応じた処理が実行される。したがって、システム管理者が制御プログラムの修正等の煩雑な作業を行なわなくとも、ユーザーは、情報処理装置に、操作履歴に応じた処理を実行させることができる。
【０１３８】
以上説明した本実施の形態では、ＨＤＤ２０と操作パネル１５０とＣＰＵ１０によって、プログラム作成装置が実現される。当該プログラム作成装置によって作成されるプログラムは、エンジン１３の動作を制御するためのプログラムである。なお、プログラム作成装置は、ＭＦＰ１００のように、制御対象となる要素と一体的に構成されても良い。また、プログラム作成装置は、制御対象となる要素と別体で構成されても良い。つまり、エンジン１３の動作を制御するためのプログラムを作成するプログラム作成装置が、汎用のコンピューター等によって、つまりＭＦＰ１００とは別体で、実現されても良い。
【０１３９】
今回開示された各実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合わせても、実施することが意図される。
【符号の説明】
【０１４０】
１０Ａ  ブラウザー、１０Ｂ，２１０Ｂ  サーバー、１０Ｃ，２１０Ｃ  スクリプトエンジン、１０Ｄ，２１０Ｄ  新モジュール制御部、１０Ｅ，２１０Ｅ  ｃｏｍｍｏｎ処理部、２０，２２０  ＨＤＤ、２１，２２１  プログラム記憶部、２２，２２２  データ記憶部、５０，２５０  タッチパネル、５１，２７１  タッチセンサー、５２，２７２  ディスプレイ、１００，２００  ＭＦＰ、１５０，２６０  操作パネル、２１０Ａ  表示制御部。
【図１】
2013142965.tif 000003
【図２】
2013142965.tif 000004
【図３】
2013142965.tif 000005
【図４】
2013142965.tif 000006
【図５】
2013142965.tif 000007
【図６】
2013142965.tif 000008
【図７】
2013142965.tif 000009
【図８】
2013142965.tif 000010
【図９】
2013142965.tif 000011
【図１０】
2013142965.tif 000012
【図１１】
2013142965.tif 000013
【図１２】
2013142965.tif 000014
【図１３】
2013142965.tif 000015
【図１４】
2013142965.tif 000016
【図１５】
2013142965.tif 000017
【図１６】
2013142965.tif 000018
【図１７】
2013142965.tif 000019
【図１８】
2013142965.tif 000020
【図１９】
2013142965.tif 000021
【図２０】
2013142965.tif 000022
【図２１】
2013142965.tif 000023
【図２２】
2013142965.tif 000024
【図２３】
2013142965.tif 000025
【図２４】
2013142965.tif 000026
【図２５】
2013142965.tif 000027