JP2017050813A - Information processor, control method for information processor, and program - Google Patents

Information processor, control method for information processor, and program Download PDF

Info

Publication number
JP2017050813A
JP2017050813A JP2015174723A JP2015174723A JP2017050813A JP 2017050813 A JP2017050813 A JP 2017050813A JP 2015174723 A JP2015174723 A JP 2015174723A JP 2015174723 A JP2015174723 A JP 2015174723A JP 2017050813 A JP2017050813 A JP 2017050813A
Authority
JP
Japan
Prior art keywords
function
function provider
provider
setting
favorite
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015174723A
Other languages
Japanese (ja)
Inventor
修平 川上
Shuhei Kawakami
修平 川上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015174723A priority Critical patent/JP2017050813A/en
Publication of JP2017050813A publication Critical patent/JP2017050813A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

PROBLEM TO BE SOLVED: To perform a process using a favorite set value, which has been set for a function provider before alteration, even if the configuration of one of function providers is altered when a specific process is performed by combining the function providers.SOLUTION: An information processor that performs a specific process by combining a plurality of function providers according to a predetermined workflow definition file registers favorite setting, which has been set for each function provider by a user, into storage means as favorite setting with which a function provider ID, the type of a function provider, and a user ID are associated. In accordance with reading of the predetermined workflow definition file, a function provider to be performed, which has been described in the predetermined workflow, is retrieved. Using a function provided ID acquired from the predetermined function provider thus retrieved and a user ID specifying the predetermined workflow definition file, favorite setting registered for the retrieved predetermined function provider is set.SELECTED DRAWING: Figure 15

Description

本発明は、情報処理装置、情報処理装置の制御方法、及びプログラムに関するものである。   The present invention relates to an information processing apparatus, a control method for the information processing apparatus, and a program.

近年、オフィスに設置される画像形成装置には、画像形成装置の機能を拡張できるシステムが普及している。拡張する機能(以降、拡張機能)は、ソフトウェアプログラム(以降、拡張ソフト)によって実現され、工場出荷時だけでなく、設置後の運用段階でも追加することが可能である。この種のシステムとしてはキヤノン株式会社のMEAP(登録商標)などがあげられる。   In recent years, systems capable of expanding the functions of image forming apparatuses have become widespread in image forming apparatuses installed in offices. The function to be expanded (hereinafter referred to as “extended function”) is realized by a software program (hereinafter referred to as “extended software”), and can be added not only at the time of factory shipment but also at the operation stage after installation. An example of this type of system is Canon's MEAP (registered trademark).

特に、ある特定の目的のために作られた拡張ソフトは、アプリケーションソフトウェア(以降、アプリ)と呼ばれる。アプリは、画像形成装置が備えるファクシミリ、スキャナ、プリンタといった機能を利用することで目的の処理を実現している。画像形成装置は、ユーザの目的に応じて複数のアプリをインストールできるように構成されている。   In particular, extension software created for a specific purpose is called application software (hereinafter referred to as an application). The application realizes a target process by using functions such as a facsimile, a scanner, and a printer included in the image forming apparatus. The image forming apparatus is configured so that a plurality of applications can be installed according to the user's purpose.

一方、従来のアプリにおいて、ユーザの好むアプリの設定内容を"お気に入り"として保存しておき、後からユーザが操作した際に簡単に呼び出すことのできる機能が知られている(例えば、特許文献1参照)。
特許文献1によれば、まず現在起動されているアプリケーションにおいて現在設定されている設定情報で処理を起動させるためのカスタムボタンをカスタムメニューに登録しておき、現在設定されている設定情報とカスタムボタンに関するボタンデータを格納する。
そして、ユーザからカスタムメニューの表示が指示されるとカスタムボタンを含むカスタムメニューを表示し、カスタムボタンが押下されると、カスタムボタンに対応するアプリの設定情報を読み出した状態で、アプリを起動する。これにより、現在起動しているアプリの設定情報、すなわち、お気に入り設定を保存し、後から保存されている設定情報を読み出した状態でアプリを起動できるように構成されている。
On the other hand, in a conventional application, a function that saves the setting content of an application that the user likes as “favorite” and can easily call it later when the user operates is known (for example, Patent Document 1). reference).
According to Patent Document 1, first, a custom button for starting processing with setting information currently set in an application that is currently started is registered in a custom menu, and the setting information and custom button that are currently set are registered. Stores button data for.
When the display of the custom menu is instructed by the user, the custom menu including the custom button is displayed. When the custom button is pressed, the application is started with the setting information of the application corresponding to the custom button being read. . As a result, the setting information of the currently activated application, that is, the favorite setting is saved, and the application can be activated in a state where the saved setting information is read later.

特開2011−124956号公報JP 2011-124958 A

複数のアプリがインストールされている場合に、ユーザがそれぞれのアプリに対して共通のお気に入り設定を行いたい場合がある。
例えば、印刷を行うアプリの場合、ページレイアウトを常に"2in1"にしたり、常にステープルを"有り"にしたりする場合がある。
従来技術では、各アプリでのお気に入り登録手段、呼出手段はそれぞれ異なっていた。このため、ユーザが複数のアプリに対して同様のお気に入り設定を行う場合、各アプリでのお気に入り登録手段を用いてお気に入り設定を登録し、各アプリのお気に入り呼出手段を用いてお気に入り設定を呼出す手間があった。
When a plurality of applications are installed, the user may want to make a common favorite setting for each application.
For example, in the case of an application that performs printing, the page layout may be always “2 in 1”, or the staple may be always “present”.
In the prior art, favorite registration means and calling means for each application are different. For this reason, when the user performs the same favorite setting for a plurality of applications, the user has to register the favorite setting using the favorite registering unit in each application and call the favorite setting using the favorite calling unit of each application. there were.

一方、同様の機能を持つアプリ、例えば標準的なプルプリント機能を持つ標準プルプリントアプリと、標準プルプリントアプリの機能に加えて製本機能を持つ製本プルプリントアプリがあるような場合がある。
この場合、画像形成装置の管理者が、システム構成の変更のために、同様の機能を持つ標準プルプリントアプリから製本プルプリントアプリに入れ替えを行うケースがある。
この場合、従来技術では、標準プルプリントアプリと製本プルプリントアプリでお気に入り設定の登録手段、呼出手段が異なっており、またアプリによって設定の保管場所、設定項目、設定値域が異なる場合が多い。
このため、ユーザが標準プルプリントアプリに対してお気に入り設定を行っていたとしても、管理者が標準プルプリントアプリから製本プルプリントアプリに構成変更を行うと、旧アプリの設定を新アプリが引き継ぐことができない。
したがって、新アプリである製本プルプリントアプリへの構成変更が行われた後、ユーザは、再度旧アプリで設定した同じお気に入り設定を新アプリに対して行う作業の手間がかかっていた。
On the other hand, there may be an application having the same function, for example, a standard pull print application having a standard pull print function, and a bookbinding pull print application having a bookbinding function in addition to the functions of the standard pull print application.
In this case, the administrator of the image forming apparatus may change from a standard pull print application having the same function to a bookbinding pull print application in order to change the system configuration.
In this case, in the prior art, the standard pull print application and the bookbinding pull print application have different favorite setting registration means and calling means, and the setting storage location, setting item, and setting value range often differ depending on the application.
For this reason, even if the user has set a favorite setting for the standard pull print app, if the administrator changes the configuration from the standard pull print app to the bookbinding pull print app, the new app will take over the settings of the old app. I can't.
Therefore, after the configuration change to the bookbinding pull-print application, which is a new application, the user has to take the trouble of performing the same favorite setting set in the old application again on the new application.

本発明は、上記の課題を解決するためになされたもので、本発明の目的は、複数の機能プロバイダを連携させて特定の処理を実行させる際に、いずれかの機能プロバイダの構成が変更されても、変更前の機能プロバイダに設定されたお気に入り設定値を利用した処理を実行できる仕組みを提供することである。   The present invention has been made to solve the above-described problems. The object of the present invention is to change the configuration of one of the function providers when a plurality of function providers are linked to execute specific processing. However, it is to provide a mechanism that can execute processing using the favorite setting value set in the function provider before the change.

上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
所定のワークフロー定義ファイルに従い複数の機能プロバイダを連携して特定の処理を実行する情報処理装置であって、それぞれの機能プロバイダに対してユーザが設定したお気に入り設定を機能プロバイダIDと、機能プロバイダの種別と、ユーザIDとを対応づけたお気に入り設定を登録手段に登録して管理する管理手段と、前記所定のワークフロー定義ファイルを読み込むことに応じて、前記所定のワークフローに記述された実行すべき機能プロバイダを検索する検索手段と、検索された所定の機能プロバイダから取得される機能プロバイダIDと、前記所定のワークフロー定義ファイルを指示したユーザIDとを用いて、検索された所定の機能プロバイダに対して登録されたお気に入り設定を行う設定する設定手段と、を備えることを特徴とする。
The information processing apparatus of the present invention that achieves the above object has the following configuration.
An information processing apparatus that executes a specific process in cooperation with a plurality of function providers according to a predetermined workflow definition file, and sets a favorite setting set by the user for each function provider, a function provider ID, and a function provider type A management unit that registers and manages a favorite setting associated with a user ID in a registration unit, and a function provider to be executed described in the predetermined workflow in response to reading the predetermined workflow definition file Registration with the searched predetermined function provider using the search means for searching for, the function provider ID acquired from the searched predetermined function provider, and the user ID instructing the predetermined workflow definition file Setting means for performing the set favorite setting. And features.

本発明によれば、複数の機能プロバイダを連携させて特定の処理を実行させる際に、いずれかの機能プロバイダの構成が変更されても、変更前の機能プロバイダに設定されたお気に入り設定値を利用した処理を実行できる。   According to the present invention, when a specific process is executed in cooperation with a plurality of function providers, the favorite setting value set in the function provider before the change is used even if the configuration of any function provider is changed. Can be executed.

画像処理システムのシステム構成の一例を示す図である。1 is a diagram illustrating an example of a system configuration of an image processing system. MFPの構成を示すブロック図である。2 is a block diagram illustrating a configuration of an MFP. FIG. サーバの構成を示すブロック図である。It is a block diagram which shows the structure of a server. MFPにおけるソフトウェア構成図である。2 is a software configuration diagram in the MFP. FIG. 機能プロバイダ情報テーブルの一例を示す図である。It is a figure which shows an example of a function provider information table. 機能プロバイダユーザ情報テーブルの一例を示す図である。It is a figure which shows an example of a function provider user information table. 機能プロバイダお気に入り設定テーブルの一例を示す図である。It is a figure which shows an example of a function provider favorite setting table. ワークフロー定義ファイルの記述例を示す図である。It is a figure which shows the example of a description of a workflow definition file. 情報処理装置の制御方法を説明するフローチャートである。It is a flowchart explaining the control method of information processing apparatus. 機能プロバイダのお気に入り登録処理の流れを示す図である。It is a figure which shows the flow of a favorite provider's favorite registration process. 機能プロバイダのお気に入り呼出処理の流れを示す図である。It is a figure which shows the flow of a favorite call process of a function provider. お気に入りリスト値域チェック処理の流れを示す図である。It is a figure which shows the flow of a favorite list value range check process. 情報処理装置の制御方法を説明するフローチャートである。It is a flowchart explaining the control method of information processing apparatus. 情報処理装置の制御方法を説明するフローチャートである。It is a flowchart explaining the control method of information processing apparatus. 情報処理装置の制御方法を説明するフローチャートである。It is a flowchart explaining the control method of information processing apparatus.

次に本発明を実施するための最良の形態について図面を参照して説明する。
<システム構成の説明>
〔第1実施形態〕
Next, the best mode for carrying out the present invention will be described with reference to the drawings.
<Description of system configuration>
[First Embodiment]

図1は、本実施形態の画像処理システムのシステム構成の一例を示す図である。本システムは、LAN110を介して接続される情報処理装置の一例であるMFP101と、WAN120を介して接続されるサーバ102から構成される。LAN110上の装置とWAN120上の装置はお互いのネットワークを通して、相互に通信可能である。図1は典型的なネットワーク構成の例であり、各装置がLAN110またはWAN120のどちらにあっても構わない。   FIG. 1 is a diagram illustrating an example of a system configuration of an image processing system according to the present embodiment. This system includes an MFP 101 which is an example of an information processing apparatus connected via a LAN 110 and a server 102 connected via a WAN 120. A device on the LAN 110 and a device on the WAN 120 can communicate with each other through each other's network. FIG. 1 shows an example of a typical network configuration, and each device may be in either the LAN 110 or the WAN 120.

図1において、MFP101は、スキャナ、プリンタを有する画像形成装置である。加えて、装置上で動作する拡張ソフトを追加、実行させるためのソフトウェアプラットホームを持つ。サーバ102は、MFP101と連携して各種処理を行うサーバである。
例えば、MFP101で印刷するファイルを保存するためのファイルサーバであったり、MFP101から依頼を受けて画像変換などの各種処理を実行するアプリケーションサーバであったりする。サーバは1台とは限らず、目的に応じて複数のサーバが存在してもよい。なお、MFP101は各種のユーザI/Fを操作部219に表示する。
In FIG. 1, an MFP 101 is an image forming apparatus having a scanner and a printer. In addition, it has a software platform for adding and executing expansion software that runs on the device. The server 102 is a server that performs various processes in cooperation with the MFP 101.
For example, it may be a file server for storing a file to be printed by the MFP 101, or an application server that executes various processes such as image conversion in response to a request from the MFP 101. The number of servers is not limited to one, and a plurality of servers may exist depending on the purpose. The MFP 101 displays various user I / Fs on the operation unit 219.

図2は、図1に示したMFP101の構成を示すブロック図である。
図2において、CPU211を含む制御部210は、MFP101全体の動作を制御する。CPU211は、ROM212やHDD214に記憶された制御プログラムを読み出して送受信制御や印刷制御などの各種制御処理を実行する。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD214は、画像データやインストールされた拡張ソフトを含む各種プログラムを記憶する。またHDD214は、後述の図5、図6、図7に示す情報テーブルを記憶する。
操作部I/F215は、操作部219と制御部210とを接続する。操作部219には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。
FIG. 2 is a block diagram showing the configuration of the MFP 101 shown in FIG.
In FIG. 2, a control unit 210 including a CPU 211 controls the operation of the entire MFP 101. The CPU 211 reads out a control program stored in the ROM 212 or the HDD 214 and executes various control processes such as transmission / reception control and print control. The RAM 213 is used as a temporary storage area such as a main memory or work area for the CPU 211. The HDD 214 stores various programs including image data and installed expansion software. The HDD 214 stores information tables shown in FIGS. 5, 6, and 7 to be described later.
The operation unit I / F 215 connects the operation unit 219 and the control unit 210. The operation unit 219 includes a liquid crystal display unit having a touch panel function, a keyboard, and the like.

プリンタI/F216は、プリンタ220と制御部210とを接続する。プリンタ220で印刷すべき画像データはプリンタI/F216を介して制御部210からプリンタ220に転送され、プリンタ220において記録媒体上に印刷される。プリンタ220にはホチキスやソート、自動折り、製本などの処理を行うフィニッシング装置が備えられている。   A printer I / F 216 connects the printer 220 and the control unit 210. Image data to be printed by the printer 220 is transferred from the control unit 210 to the printer 220 via the printer I / F 216, and is printed on a recording medium by the printer 220. The printer 220 includes a finishing device that performs processing such as stapling, sorting, automatic folding, and bookbinding.

スキャナI/F217は、スキャナ221と制御部210とを接続する。スキャナ221は、原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して制御部210に入力する。   The scanner I / F 217 connects the scanner 221 and the control unit 210. The scanner 221 reads an image on a document to generate image data, and inputs the image data to the control unit 210 via the scanner I / F 217.

ネットワークI/F218は、制御部210(MFP101)をLAN110に接続する通信I/Fとして機能する。ネットワークI/F218は、LAN110上またはWAN120上の他の装置との間で各種情報を送受信する。   The network I / F 218 functions as a communication I / F that connects the control unit 210 (MFP 101) to the LAN 110. The network I / F 218 transmits / receives various information to / from other devices on the LAN 110 or the WAN 120.

図3は、図1に示したサーバ102の構成を示すブロック図である。
図3において、CPU311を含む制御部310は、サーバ102全体の動作を制御する。CPU311は、ROM312やHDD314に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314は、各種のプログラムやデータを記憶する。
FIG. 3 is a block diagram showing a configuration of the server 102 shown in FIG.
In FIG. 3, a control unit 310 including a CPU 311 controls the operation of the entire server 102. The CPU 311 reads out control programs stored in the ROM 312 and the HDD 314 and executes various control processes. The RAM 313 is used as a temporary storage area such as a main memory or work area of the CPU 311. The HDD 314 stores various programs and data.

表示部I/F315は、表示部318と制御部310とを接続する。キーボードI/F316は、キーボード319と制御部310とを接続する。CPU311は、キーボード319を介したユーザからの指示を認識し、認識した指示に応じて表示部318に表示する画面を遷移させる。   The display unit I / F 315 connects the display unit 318 and the control unit 310. A keyboard I / F 316 connects the keyboard 319 and the control unit 310. The CPU 311 recognizes an instruction from the user via the keyboard 319, and changes the screen displayed on the display unit 318 according to the recognized instruction.

ネットワークI/F317は、制御部310(サーバ102)をWAN120に接続する。ネットワークI/F317は、LAN110上またはWAN120上の他の装置との間で各種情報を送受信する。   The network I / F 317 connects the control unit 310 (server 102) to the WAN 120. The network I / F 317 transmits / receives various information to / from other devices on the LAN 110 or the WAN 120.

図4は、図1に示したMFP101におけるソフトウェア構成図である。
本実施形態では、MFP101のHDD214に記憶されているプログラム(ソフトウェア)を、CPU211がRAM213に読み出し、解析、実行することで、図9、図10、図11、図12および図13のフローチャートの処理が実行される。
FIG. 4 is a software configuration diagram of the MFP 101 shown in FIG.
In the present embodiment, the program (software) stored in the HDD 214 of the MFP 101 is read by the CPU 211 into the RAM 213, analyzed, and executed, whereby the processing in the flowcharts of FIGS. 9, 10, 11, 12, and 13 is performed. Is executed.

図4において、拡張ソフト管理部410は、MFP101上で拡張ソフトを動作させるためのソフトウェアプラットホームである。図4では、拡張ソフトとして5つの機能プロバイダ411〜415がMFP101にインストールされている。   In FIG. 4, an extended software management unit 410 is a software platform for operating extended software on the MFP 101. In FIG. 4, five function providers 411 to 415 are installed in the MFP 101 as expansion software.

ここで、機能プロバイダは、拡張ソフトの一種であるが、アプリではない。アプリは単体で入力から出力までの一連の完結した処理を備えている。一方、単体の機能プロバイダは入力なら入力、出力なら出力といった特定の機能に特化したものであり、入力から出力までの一連の完結した処理を行うためには、複数の機能プロバイダを組み合わせる必要がある。   Here, the function provider is a kind of extended software, but is not an application. The app has a series of complete processes from input to output. On the other hand, a single function provider specializes in specific functions such as input for input and output for output. In order to perform a complete process from input to output, it is necessary to combine multiple function providers. is there.

例えば、「ファイルサーバから画像ファイルを取得した後、標準的な設定で印刷する」という機能をユーザに提供する場合、アプリであれば「FTP取得」、「標準プルプリント」の2つの機能を1つのアプリで実現する。ここでプルプリントとは、クライアントである画像形成装置において、サーバであるファイルサーバや各種情報処理装置から受信した画像データを印刷する処理のことである。
一方、機能プロバイダの場合、「FTP取得機能を実現する機能プロバイダ」、「標準的な設定でプルプリント印刷機能を実現するプロバイダ」の2つの機能プロバイダが必要になる。さらに、それら2つの機能プロバイダを一連の処理として実行するためには、後述するワークフロー処理部430が必要になる。
For example, when providing a user with a function of “printing with standard settings after acquiring an image file from a file server” for an application, two functions of “FTP acquisition” and “standard pull print” are set to 1 for an application. Realize with one app. Here, pull printing is a process of printing image data received from a file server or various information processing apparatuses as servers in an image forming apparatus as a client.
On the other hand, in the case of a function provider, two function providers, “a function provider that realizes an FTP acquisition function” and “a provider that realizes a pull print function with standard settings”, are required. Furthermore, in order to execute these two function providers as a series of processes, a workflow processing unit 430 described later is required.

また、アプリは、MFP101が元々備えている機能(例えばコピー機能やファクス送信機能)を呼び出すためのメニュー画面に、それらの機能と横並びで表示されるようにアプリ自身を登録する。アプリは、メニュー画面からユーザの指示によって呼び出される。
一方、機能プロバイダはメニュー画面ではなく、後述する機能プロバイダ管理部420に、機能プロバイダ自身を登録する。機能プロバイダは、機能プロバイダ管理部420経由でワークフロー処理部430の指示によって呼び出される。
In addition, the application registers the application itself so as to be displayed side by side with the functions on a menu screen for calling functions originally provided in the MFP 101 (for example, a copy function and a fax transmission function). The application is called from the menu screen according to a user instruction.
On the other hand, the function provider registers the function provider itself in the function provider management unit 420 described later instead of the menu screen. The function provider is called by an instruction from the workflow processing unit 430 via the function provider management unit 420.

さらに、機能プロバイダは、後述する機能プロバイダ管理部420が規定するルール(以降、機能プロバイダインタフェース)を満たすようにプログラミングされている。機能プロバイダインタフェースは、ソフトウェア間のやり取りを行う際のルールを決めたソフトウェアインタフェースである。機能プロバイダインタフェースは、機能プロバイダが提供する機能の種類(以降、機能タイプ)ごとに定められている。機能プロバイダは、機能プロバイダインタフェースに基づいてワークフロー処理部430から呼び出される。   Further, the function provider is programmed so as to satisfy a rule (hereinafter, function provider interface) defined by a function provider management unit 420 described later. The function provider interface is a software interface in which rules for exchanging software are determined. The function provider interface is defined for each type of function (hereinafter, function type) provided by the function provider. The function provider is called from the workflow processing unit 430 based on the function provider interface.

なお、1つの機能プロバイダは目的に応じて、複数種類のインタフェースを持つ場合がある。例えば、プルプリント機能を実現する機能プロバイダであれば、「印刷設定画面の表示」の目的のためのインタフェースと「印刷ジョブの実行」の目的のためのインタフェースといったように、目的別に複数種類のインタフェースを用意することができる。   One function provider may have a plurality of types of interfaces depending on the purpose. For example, in the case of a function provider that implements the pull print function, there are multiple types of interfaces depending on the purpose, such as an interface for the purpose of “display print setting screen” and an interface for the purpose of “execution of print job”. Can be prepared.

また、複数種類の機能プロバイダをMFP101にインストールすることができる。異なる機能タイプの機能プロバイダを複数種類インストールしてもよいし、同じ機能タイプの機能プロバイダを複数種類インストールしてもよい。同じ機能タイプの機能プロバイダは同じソフトウェアインタフェースを持つため、拡張ソフトは、同じ機能タイプの機能プロバイダであれば、同じようにソフトウェア間のやり取りを行うことができる。   A plurality of types of function providers can be installed in the MFP 101. A plurality of types of function providers of different function types may be installed, or a plurality of types of function providers of the same function type may be installed. Since function providers of the same function type have the same software interface, the extension software can exchange software in the same way as long as it is a function provider of the same function type.

FTP取得プロバイダ411は、FTP受信でファイルを取得する機能を提供する機能プロバイダ(機能タイプ=ファイル取得)である。FTP取得プロバイダ411は、機能タイプが「ファイル取得」の機能プロバイダのために定義された機能プロバイダインタフェース(ファイル取得プロバイダインタフェース)を実現する。機能タイプが「ファイル取得」の機能プロバイダを総称してファイル取得プロバイダと呼ぶ。
一方、UserBox取得プロバイダは、MFP101のROM212、HDD214に設けられたユーザ毎のファイル保管機能であるUserBox(HDD214に確保される)から、ファイルを取得する機能を提供する。
The FTP acquisition provider 411 is a function provider (function type = file acquisition) that provides a function of acquiring a file by FTP reception. The FTP acquisition provider 411 implements a function provider interface (file acquisition provider interface) defined for a function provider whose function type is “file acquisition”. Function providers whose function type is “file acquisition” are collectively referred to as a file acquisition provider.
On the other hand, the UserBox acquisition provider provides a function for acquiring a file from a UserBox (secured in the HDD 214) that is a file storage function for each user provided in the ROM 212 and the HDD 214 of the MFP 101.

定型プルプリントプロバイダ413、標準プルプリントプロバイダ414と製本プルプリントプロバイダ415は、ともにプルプリント機能を提供する機能プロバイダ(機能タイプ=プルプリント)である。機能タイプが「プルプリント」の機能プロバイダを総称してプルプリントプロバイダと呼ぶ。
プルプリントプロバイダは、機能タイプが「プルプリント」の機能プロバイダのために定義された機能プロバイダインタフェース(プルプリントプロバイダインタフェース)を実現する。
定型プルプリントプロバイダ413は、あらかじめ決められた設定で印刷を行う、MFP101の操作に不慣れな初心者向けの印刷設定画面を持つ。一方、標準プルプリントプロバイダ414は、一般的なユーザ向けの印刷設定画面を持つ。製本プルプリントプロバイダ415は、高度なフィニッシングを行う製本印刷設定画面を持つ。
各機能プロバイダは、MFP101に同じ機能タイプを持つ機能プロバイダが他に存在しなくても、自身の機能タイプ用に定義された機能プロバイダインタフェースを実現する。
以上で説明した5つの機能プロバイダ411〜415は一例であり、MFP101には、拡張ソフトとして様々な機能プロバイダを追加・削除することが可能である。
The standard pull print provider 413, the standard pull print provider 414, and the bookbinding pull print provider 415 are all function providers (function type = pull print) that provide a pull print function. The function providers whose function type is “pull print” are collectively referred to as a pull print provider.
The pull print provider implements a function provider interface (pull print provider interface) defined for a function provider whose function type is “pull print”.
The regular pull print provider 413 has a print setting screen for a beginner who is not familiar with the operation of the MFP 101 and performs printing with a predetermined setting. On the other hand, the standard pull print provider 414 has a print setting screen for general users. The bookbinding pull print provider 415 has a bookbinding print setting screen for performing advanced finishing.
Each function provider realizes a function provider interface defined for its own function type even if there is no other function provider having the same function type in the MFP 101.
The five function providers 411 to 415 described above are examples, and various function providers can be added to or deleted from the MFP 101 as expansion software.

機能プロバイダ管理部420は、MFP101にインストールされている機能プロバイダを管理するソフトウェアである。機能プロバイダ管理部420は、機能プロバイダ登録部421、機能プロバイダ設定部422、機能プロバイダ検索部423を備える。さらに、機能プロバイダ管理部420は、機能プロバイダ情報テーブル424、機能プロバイダユーザ情報テーブル425、機能プロバイダお気に入り設定テーブル426を備える。   The function provider management unit 420 is software that manages function providers installed in the MFP 101. The function provider management unit 420 includes a function provider registration unit 421, a function provider setting unit 422, and a function provider search unit 423. Furthermore, the function provider management unit 420 includes a function provider information table 424, a function provider user information table 425, and a function provider favorite setting table 426.

機能プロバイダ登録部421は、各機能プロバイダからの依頼を受けて、機能プロバイダ情報テーブル424に、各機能プロバイダの機能タイプや設定可能な値などの情報を登録する。各機能プロバイダ411〜415はMFP101にインストールされ実行状態になった時に機能プロバイダ登録部421に対して自身の登録を行う。
機能プロバイダ設定部422は、ユーザからの依頼を受けて、機能プロバイダのお気に入り設定といった機能プロバイダに関する設定を機能プロバイダユーザ情報テーブル425に設定する。
In response to a request from each function provider, the function provider registration unit 421 registers information such as a function type and a settable value of each function provider in the function provider information table 424. Each function provider 411 to 415 registers itself with the function provider registration unit 421 when installed in the MFP 101 and in an execution state.
In response to a request from the user, the function provider setting unit 422 sets a function provider setting such as a function provider favorite setting in the function provider user information table 425.

機能プロバイダ検索部423は、後述するワークフロー処理部430から機能プロバイダの検索条件を受け取り、機能プロバイダ情報テーブル424の情報をもとに条件に一致する機能プロバイダを特定する。機能プロバイダ検索部423は、検索結果として機能プロバイダを1つに特定するため、検索条件に一致する機能プロバイダが複数存在した場合は、最も優先順位の高い機能プロバイダを検索結果とする。   The function provider search unit 423 receives a function provider search condition from the workflow processing unit 430 described later, and identifies a function provider that matches the condition based on information in the function provider information table 424. Since the function provider search unit 423 specifies one function provider as the search result, when there are a plurality of function providers that match the search condition, the function provider with the highest priority is set as the search result.

ワークフロー処理部430は、後述する所定のワークフロー定義ファイル440に従って複数の機能プロバイダを組み合わせて一連の処理として実行する。本実施例では、ワークフローとは、複数の機能プロバイダを組み合わせた一連の処理を差すものとする。   The workflow processing unit 430 executes a series of processes by combining a plurality of function providers in accordance with a predetermined workflow definition file 440 described later. In this embodiment, the workflow refers to a series of processes in which a plurality of function providers are combined.

ワークフロー定義ファイル440は、ワークフロー処理部430が呼び出す機能プロバイダの検索条件や、呼び出し順序、呼び出した機能プロバイダに適用する設定値など、機能プロバイダの呼び出しに関する情報を定義する。
なお図4ではワークフロー定義ファイルの例を2つ定義しているが、数を限定するものではない。
The workflow definition file 440 defines information related to function provider invocation, such as a function provider search condition that the workflow processing unit 430 invokes, a calling order, and a setting value applied to the function provider that has been invoked.
In FIG. 4, two examples of workflow definition files are defined, but the number is not limited.

図5は、図4に示した機能プロバイダ情報テーブル424の一例を示す図である。
図5において、機能プロバイダ情報テーブル424は、機能プロバイダを一意に特定する機能プロバイダID、機能プロバイダの名称、機能タイプ(種別)、機能プロバイダインタフェースなど、機能プロバイダに関する情報を保持する。
FIG. 5 is a diagram illustrating an example of the function provider information table 424 illustrated in FIG.
In FIG. 5, the function provider information table 424 holds information related to a function provider, such as a function provider ID that uniquely identifies the function provider, a function provider name, a function type (type), and a function provider interface.

図6は、図4に示した機能プロバイダユーザ情報テーブル425の一例を示す図である。
図6において、機能プロバイダユーザ情報テーブル425は、機能プロバイダを使用するユーザを一意に特定するユーザIDなど、機能プロバイダを使用するユーザに関する情報を保持する。
FIG. 6 is a diagram illustrating an example of the function provider user information table 425 illustrated in FIG.
In FIG. 6, the function provider user information table 425 holds information related to a user who uses the function provider, such as a user ID that uniquely identifies a user who uses the function provider.

図7は、図4に示した機能プロバイダお気に入り設定テーブル426の一例を示す図である。
図7において、機能プロバイダお気に入り設定テーブル426は、機能プロバイダのお気に入りを登録したユーザを示すユーザID、機能プロバイダの機能タイプ、機能プロバイダIDを保持する。また、機能プロバイダお気に入り設定テーブル426は、お気に入りの設定項目を特定するための設定ID、お気に入りの設定項目に対する設定値など、機能プロバイダのお気に入り設定に関する情報を保持する。
FIG. 7 is a diagram showing an example of the function provider favorite setting table 426 shown in FIG.
In FIG. 7, a function provider favorite setting table 426 holds a user ID indicating a user who has registered a function provider favorite, a function type of the function provider, and a function provider ID. The function provider favorite setting table 426 holds information related to the function provider favorite setting such as a setting ID for specifying a favorite setting item and a setting value for the favorite setting item.

図8は、図4に示したワークフロー定義ファイル440の具体的な記述例を示す図である。本実施形態ではワークフロー定義ファイルはXML形式のファイルとして表現されているが、XML形式に限定されるものではなく、他の形式のファイルであってもよい。
図8において、Workflowタグ801は、以下の記述がワークフローの定義であることを示している。
FIG. 8 is a diagram showing a specific description example of the workflow definition file 440 shown in FIG. In this embodiment, the workflow definition file is expressed as an XML format file, but is not limited to the XML format, and may be a file of another format.
In FIG. 8, a Workflow tag 801 indicates that the following description is a workflow definition.

FPタグ802は、Workflowタグ801の子要素で、ワークフローで実行する機能プロバイダに関する情報を定義している。FPタグ802のno属性は、ワークフローにおける機能プロバイダの実行順序を定義しており、「no="1"」は最初に実行する機能プロバイダであることを示している。FPタグ808のid属性で、1番目に実行する機能プロバイダがFTP取得プロバイダであることを定義している。
Conditionタグ803は、FPタグ802の子要素で、ファイル取得プロバイダの検索条件を定義するためのものである。
The FP tag 802 is a child element of the Workflow tag 801 and defines information related to the function provider executed in the workflow. The no attribute of the FP tag 802 defines the execution order of function providers in the workflow, and “no =“ 1 ”” indicates that the function provider is executed first. The id attribute of the FP tag 808 defines that the first function provider to be executed is the FTP acquisition provider.
A Condition tag 803 is a child element of the FP tag 802 and is used to define a search condition for the file acquisition provider.

Actionタグ804は、FPタグ802の子要素であり、機能プロバイダの呼び出しについての情報を定義している。Actionタグのno属性とmethod属性は、FPタグで定義された機能プロバイダの中での実行順と呼び出すインタフェースを定義している。Actionタグ804は、ファイル取得プロバイダの実行において「showSettingUI」を1番目に呼び出す旨を定義している。   The Action tag 804 is a child element of the FP tag 802, and defines information about the function provider call. The no attribute and method attribute of the Action tag define the execution order and the interface to be called in the function provider defined by the FP tag. The Action tag 804 defines that “showSettingUI” is called first in the execution of the file acquisition provider.

Parameterタグ805はActionタグ804の子要素であり、Actionタグ804で定義されているインタフェース(showSettingUI)を呼び出す際に渡す設定値を定めている。   A Parameter tag 805 is a child element of the Action tag 804, and defines a setting value to be passed when an interface (showSettingUI) defined in the Action tag 804 is called.

Actionタグ806は、FPタグ802の子要素であり、機能プロバイダの呼び出しについての情報を定義している。Actionタグ806は、ファイル取得プロバイダの実行において「doGet」を2番目に呼び出す旨を定義している。   The Action tag 806 is a child element of the FP tag 802, and defines information about the function provider call. The Action tag 806 defines that “doGet” is called second in the execution of the file acquisition provider.

Parameterタグ807はActionタグ806の子要素であり、Actionタグ806で定義されているインタフェース(doGet)を呼び出す際に渡す設定値を定めている。Actionタグ806は、この他に「doGet」を実行した結果の出力を定義するOutputタグを含む。   A Parameter tag 807 is a child element of the Action tag 806, and defines a setting value to be passed when an interface (doGet) defined in the Action tag 806 is called. The Action tag 806 includes an Output tag that defines an output as a result of executing “doGet”.

FPタグ808は、no属性で、2番目に実行する機能プロバイダがプルプリントプロバイダであることを定義している。FPタグ808のtype属性は、実行する機能プロバイダの機能タイプを定義しており、「type="PULL_PRINT"」はプルプリントプロバイダであることを示している。FPタグは機能プロバイダを、FPタグ802のようにid属性を使って一意に指定することもできるし、FPタグ808のようにtype属性を使って機能タイプで指定することもできる。
Conditionタグ809は、FPタグ808の子要素で、プルプリントプロバイダの検索条件を定義するためのものである。
The FP tag 808 has a no attribute and defines that the second function provider to be executed is a pull print provider. The type attribute of the FP tag 808 defines the function type of the function provider to be executed, and “type =“ PULL_PRINT ”” indicates that it is a pull print provider. As for the FP tag, the function provider can be uniquely specified using the id attribute as in the FP tag 802, or can be specified in the function type using the type attribute as in the FP tag 808.
A Condition tag 809 is a child element of the FP tag 808 and is used to define a search condition for the pull print provider.

Actionタグ810は、FPタグ808の子要素であり、機能プロバイダの呼び出しについての情報を定義している。Actionタグ810は、プルプリントプロバイダの実行において「showSettingUI」を1番目に呼び出す旨を定義している。Actionタグ810は、この他にプルプリントプロバイダの「showSettingUI」呼び出しの入力に関する定義を表すInputタグを含む。   The Action tag 810 is a child element of the FP tag 808, and defines information about the function provider call. The Action tag 810 defines that “showSettingUI” is called first in the execution of the pull print provider. In addition to this, the Action tag 810 includes an Input tag representing a definition related to an input of a “showSettingUI” call of the pull print provider.

Parameterタグ811はActionタグ810の子要素であり、Actionタグ810で定義されているインタフェース(showSettingUI)を呼び出す際に渡す設定値を定めている。Actionタグ810は、この他に「showSettingUI」を実行した結果の出力を定義するOutputタグを含む。   A Parameter tag 811 is a child element of the Action tag 810, and defines a setting value to be passed when an interface (showSettingUI) defined in the Action tag 810 is called. In addition to this, the Action tag 810 includes an Output tag that defines an output as a result of executing the “showSettingUI”.

Actionタグ812は、プルプリントプロバイダの実行において「doPullPrint」を2番目に呼び出す旨を定義している。Actionタグ812は、この他にプルプリントプロバイダの「doPullPrint」呼び出しの入力に関する定義を表すInputタグを含む。   The Action tag 812 defines that “doPullPrint” is called second in the execution of the pull print provider. In addition, the Action tag 812 includes an Input tag representing a definition related to an input of a pull print provider's “doPullPrint” call.

Parameterタグ813はActionタグ812の子要素であり、Actionタグ812で定義されているインタフェース(doPullPrint)を呼び出す際に渡す設定値を定めている。   A Parameter tag 813 is a child element of the Action tag 812, and defines a setting value to be passed when an interface (doPullPrint) defined in the Action tag 812 is called.

図9は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。本例は、MFP101上のワークフロー実行の流れに対応する。なお、各ステップは、CPU211が記憶された制御プログラムを実行することで実現される。   FIG. 9 is a flowchart illustrating a method for controlling the information processing apparatus according to the present embodiment. This example corresponds to the workflow execution flow on the MFP 101. Each step is realized by the CPU 211 executing a control program stored therein.

S901において、ユーザからのワークフロー実行指示をワークフロー処理部430が受け取る。S902において、ワークフロー処理部430が実行指示に対するワークフロー定義ファイル440を読み込む。ここでは、ワークフロー定義ファイル440に「機能プロバイダIDがFTP_GETの機能プロバイダ」、「機能タイプがプルプリントの機能プロバイダ」を順に実行するように定義されているものとする。   In step S901, the workflow processing unit 430 receives a workflow execution instruction from the user. In step S902, the workflow processing unit 430 reads the workflow definition file 440 corresponding to the execution instruction. Here, it is assumed that the workflow definition file 440 is defined so that “function provider whose function provider ID is FTP_GET” and “function provider whose function type is pull print” are executed in order.

S903において、ワークフロー処理部430は、機能プロバイダ管理部420に対して、ワークフロー定義ファイル440に記載されている「機能プロバイダIDがFTP_GETの機能プロバイダ」の機能プロバイダの検索を指示する。   In step S <b> 903, the workflow processing unit 430 instructs the function provider management unit 420 to search for a function provider “function provider whose function provider ID is FTP_GET” described in the workflow definition file 440.

S904において、機能プロバイダ管理部420は、機能プロバイダ情報テーブル424をもとに検索条件に一致する機能プロバイダを抽出する。本例では、FTP取得プロバイダ411が抽出されるものとする。
S905において、機能プロバイダ管理部420は、FTP取得プロバイダの検索結果を、ワークフロー処理部430に通知する。S906において、検索結果を受け取ったワークフロー処理部430は、検索結果のFTP取得プロバイダ411に対して、ファイル取得指示を行う。
S907〜S913では、FTP取得プロバイダ411がワークフロー処理部430から受信した指示を元に、FTPファイル取得処理を行う。
In step S904, the function provider management unit 420 extracts function providers that match the search conditions based on the function provider information table 424. In this example, it is assumed that the FTP acquisition provider 411 is extracted.
In step S905, the function provider management unit 420 notifies the search result of the FTP acquisition provider to the workflow processing unit 430. In step S <b> 906, the workflow processing unit 430 that has received the search result issues a file acquisition instruction to the FTP acquisition provider 411 of the search result.
In S907 to S913, the FTP acquisition provider 411 performs FTP file acquisition processing based on the instruction received from the workflow processing unit 430.

まず、S907において、FTP取得プロバイダ411は、ユーザからお気に入り登録指示を受信したかを確認する。ここでは、FTP取得プロバイダ411は、MFP101の操作部219にFTP取得処理に必要な設定をユーザが行うための設定画面を表示し、設定内容を取得する際に、ユーザからのお気に入り登録を行うか否かの指示を受け付ける。   First, in S907, the FTP acquisition provider 411 checks whether a favorite registration instruction has been received from the user. Here, the FTP acquisition provider 411 displays a setting screen for the user to perform settings necessary for the FTP acquisition process on the operation unit 219 of the MFP 101, and whether to perform favorite registration from the user when acquiring the setting contents. Accept instructions for no.

S908において、FTP取得プロバイダ411は、S907でユーザからお気に入り登録を行う旨の指示を受信したか否かを判断する。FTP取得プロバイダ411が、S907でユーザからお気に入り登録を行う旨の指示を受信したと判断した場合は、処理はS909に進む。FTP取得プロバイダ411が、S907でユーザからお気に入り登録を行う旨の指示を受信していないと判断した場合は、処理はS910に進む。
S909において、FTP取得プロバイダ411がお気に入り登録処理を行う。処理の詳細は図10で示す。
In step S908, the FTP acquisition provider 411 determines whether an instruction for performing favorite registration is received from the user in step S907. If the FTP acquisition provider 411 determines that an instruction to perform favorite registration is received from the user in S907, the process proceeds to S909. If the FTP acquisition provider 411 determines in S907 that it has not received an instruction to perform favorite registration from the user, the process proceeds to S910.
In step S909, the FTP acquisition provider 411 performs favorite registration processing. Details of the processing are shown in FIG.

S910において、FTP取得プロバイダ411は、ユーザからお気に入り呼出指示を受信したかを確認する。ここでは、FTP取得プロバイダ411は、MFP101の操作部219にFTP取得処理に必要な設定をユーザが行うための設定画面を表示し、設定内容を取得する際に、ユーザからのお気に入り呼出を行うか否かの指示を受け付ける。   In step S910, the FTP acquisition provider 411 checks whether a favorite call instruction has been received from the user. Here, the FTP acquisition provider 411 displays a setting screen for the user to perform settings necessary for the FTP acquisition process on the operation unit 219 of the MFP 101, and performs a favorite call from the user when acquiring the setting contents. Accept instructions for no.

S911において、FTP取得プロバイダ411は、S910でユーザからお気に入り呼出を行う旨の指示を受信したか否かを判断する。FTP取得プロバイダ411が、S910でユーザからお気に入り呼出を行う旨の指示を受信したと判断した場合は、処理はS912に進む。FTP取得プロバイダ411が、S910でユーザからお気に入り呼出を行う旨の指示を受信していないと判断した場合は、処理はS913に進む。
S912において、FTP取得プロバイダ411がお気に入り呼出処理を行う。処理の詳細は図11で示す。S913において、FTP取得プロバイダ411が、指示に従ってFTPファイル取得処理を実行する。
S914において、FTP取得プロバイダ411が、ワークフロー処理部430に対して、FTPファイル取得処理を行った結果として、取得したファイルを送信する。
In step S911, the FTP acquisition provider 411 determines whether an instruction for performing a favorite call is received from the user in step S910. If the FTP acquisition provider 411 determines that an instruction for performing a favorite call is received from the user in S910, the process proceeds to S912. If the FTP acquisition provider 411 determines in S910 that it has not received an instruction to make a favorite call from the user, the process proceeds to S913.
In S912, the FTP acquisition provider 411 performs favorite call processing. Details of the processing are shown in FIG. In step S913, the FTP acquisition provider 411 executes FTP file acquisition processing according to the instruction.
In step S <b> 914, the FTP acquisition provider 411 transmits the acquired file as a result of the FTP file acquisition process to the workflow processing unit 430.

S915において、ワークフロー処理部430は、機能プロバイダ管理部420に対して、ワークフロー定義ファイル440に記載されている「機能タイプがプルプリントの機能プロバイダ」の機能プロバイダの検索を指示する。   In step S <b> 915, the workflow processing unit 430 instructs the function provider management unit 420 to search for a function provider whose “function type is pull print function” described in the workflow definition file 440.

S916において、機能プロバイダ管理部420は、機能プロバイダ情報テーブル424をもとに検索条件に一致する機能プロバイダを抽出する。本例では、標準プルプリントプロバイダ414が抽出されるものとする。
S917において、機能プロバイダ管理部420は、プルプリントプロバイダの検索結果を、ワークフロー処理部430に通知する。
S918において、検索結果を受け取ったワークフロー処理部430は、検索結果の標準プルプリントプロバイダ414に対して、プルプリント指示を行う。S919〜S923では、標準プルプリントプロバイダ414がワークフロー処理部430から受信した指示を元に、標準プルプリント処理を行う。
In step S <b> 916, the function provider management unit 420 extracts a function provider that matches the search condition based on the function provider information table 424. In this example, it is assumed that the standard pull print provider 414 is extracted.
In step S917, the function provider management unit 420 notifies the search result of the pull print provider to the workflow processing unit 430.
In step S918, the workflow processing unit 430 that has received the search result issues a pull print instruction to the standard pull print provider 414 of the search result. In S919 to S923, the standard pull print provider 414 performs standard pull print processing based on the instruction received from the workflow processing unit 430.

まず、S919において、標準プルプリントプロバイダ414は、ユーザからお気に入り登録指示を受信したかを判断する。ここでは、標準プルプリントプロバイダ414は、MFP101の操作部219に標準プルプリント処理に必要な設定をユーザが行うための設定画面を表示し、設定内容を取得する際に、ユーザからのお気に入り登録を行うか否かの指示を受け付ける。   First, in step S919, the standard pull print provider 414 determines whether a favorite registration instruction has been received from the user. Here, the standard pull print provider 414 displays a setting screen for the user to perform settings necessary for the standard pull print process on the operation unit 219 of the MFP 101, and when the setting content is acquired, the user can register a favorite. An instruction to perform or not is accepted.

S920において、標準プルプリントプロバイダ414は、S919でユーザからお気に入り登録を行う旨の指示を受信したか否かを判断する。標準プルプリントプロバイダ414が、S919でユーザからお気に入り登録を行う旨の指示を受信したと判断した場合は、処理はS909に進む。標準プルプリントプロバイダ414が、S919でユーザからお気に入り登録を行う旨の指示を受信していないと判断した場合は、処理はS921に進む。   In step S920, the standard pull print provider 414 determines whether an instruction to perform favorite registration is received from the user in step S919. If the standard pull print provider 414 determines in S919 that it has received an instruction to perform favorite registration from the user, the process proceeds to S909. If the standard pull print provider 414 determines in S919 that it has not received an instruction to perform favorite registration from the user, the process proceeds to S921.

S921において、標準プルプリントプロバイダ414は、ユーザからお気に入り呼出指示を受信したかを判断する。ここでは、標準プルプリントプロバイダ414は、MFP101の操作部219に標準プルプリント処理に必要な設定をユーザが行うための設定画面を表示し、設定内容を取得する際に、ユーザからのお気に入り呼出を行うか否かの指示を受け付ける。   In step S921, the standard pull print provider 414 determines whether a favorite call instruction has been received from the user. Here, the standard pull print provider 414 displays a setting screen for the user to perform settings necessary for the standard pull print processing on the operation unit 219 of the MFP 101, and when the setting content is acquired, the user pulls a favorite call. An instruction to perform or not is accepted.

S922において、標準プルプリントプロバイダ414は、S919でユーザからお気に入り呼出を行う旨の指示を受信したか否かを判断する。標準プルプリントプロバイダ414が、S921でユーザからお気に入り呼出を行う旨の指示を受信したと判断した場合は、処理はS912に進む。標準プルプリントプロバイダ414が、S921でユーザからお気に入り呼出を行う旨の指示を受信していないと判断した場合は、処理はS923に進む。
S923において、標準プルプリントプロバイダ414が、指示に従って標準プルプリント処理を実行する。S924において、標準プルプリントプロバイダ414が、ワークフロー処理部430に対して、標準プルプリント処理を行った結果を送信する。そして処理は終了する。
In step S922, the standard pull print provider 414 determines whether an instruction for performing a favorite call is received from the user in step S919. If the standard pull print provider 414 determines in S921 that it has received an instruction to perform a favorite call from the user, the process proceeds to S912. If the standard pull print provider 414 determines in S921 that it has not received an instruction to make a favorite call from the user, the process proceeds to S923.
In step S923, the standard pull print provider 414 executes standard pull print processing according to the instruction. In step S <b> 924, the standard pull print provider 414 transmits the result of performing the standard pull print process to the workflow processing unit 430. Then, the process ends.

(機能プロバイダのお気に入り登録処理)
図10は、図1に示したMFP101上の機能プロバイダのお気に入り登録処理の流れを示す図である。
図10に示す処理は、図9のS909で示した処理の詳細である。ここでは、標準プルプリントプロバイダ414においてユーザからお気に入り登録が指示されたと仮定して処理を説明しているが、これらの処理は機能プロバイダによるものではなく、他の機能プロバイダであっても同様の処理を行う。
(Function provider favorite registration process)
FIG. 10 is a diagram showing the flow of function provider favorite registration processing on the MFP 101 shown in FIG.
The process shown in FIG. 10 is the details of the process shown in S909 of FIG. Here, the processing is described on the assumption that the user is instructed to register favorites in the standard pull print provider 414. However, these processing are not performed by the function provider, and similar processing is performed by other function providers. I do.

S1001において、標準プルプリントプロバイダ414は、機能プロバイダ管理部420に対して、機能プロバイダID、ユーザID、お気に入り設定値リスト[設定ID、設定値]を送信して、お気に入り設定登録を依頼する。ここで機能プロバイダIDは、自らの機能プロバイダIDである「NORMAL_PULL_PRINT」、ユーザIDは、ワークフロー処理部430に対して処理を指示したユーザのユーザIDである。お気に入り設定値リストは、設定項目を表す設定IDと、設定項目に対する設定内容を表す設定値の組のリストである。   In step S <b> 1001, the standard pull print provider 414 sends a function provider ID, a user ID, and a favorite setting value list [setting ID, setting value] to the function provider management unit 420 to request favorite setting registration. Here, the function provider ID is “NORMAL_PULL_PRINT”, which is its own function provider ID, and the user ID is the user ID of the user who instructed the workflow processing unit 430 to perform the process. The favorite setting value list is a list of a set of setting IDs representing setting items and setting values representing setting contents for the setting items.

S1002において、機能プロバイダ管理部420は、S1001で受信した機能プロバイダIDをもとに検索条件に一致する機能プロバイダの機能タイプを機能プロバイダ情報テーブル424から抽出する。本例では、検索条件「機能プロバイダID=NORMAL_PULL_PRINT」の結果として、機能タイプ「PULL_PRINT」が抽出されるものとする。
S1003において、機能プロバイダ管理部420が、S1001で受信したお気に入り設定値リストの件数分、S1004のループ処理を行う。
In step S1002, the function provider management unit 420 extracts from the function provider information table 424 the function type of the function provider that matches the search condition based on the function provider ID received in step S1001. In this example, it is assumed that the function type “PULL_PRINT” is extracted as a result of the search condition “function provider ID = NORMAL_PULL_PRINT”.
In step S1003, the function provider management unit 420 performs the loop processing in step S1004 for the number of favorite setting value lists received in step S1001.

S1004において、機能プロバイダ管理部420が、S1002で取得した機能タイプ、S1001で受信した機能プロバイダID、ユーザIDを取得する。そして、機能プロバイダ管理部420が、機能タイプ、機能プロバイダID、ユーザIDに紐づけて、お気に入り設定値[設定ID、設定値]のリストの要素を1件ずつ機能プロバイダお気に入り設定テーブル426に保存する。本例では、図7の機能プロバイダお気に入り設定テーブル426の2〜4行目のように、お気に入り設定値リストが保存される。すなわち、機能プロバイダお気に入り設定テーブル426には、「ユーザID=tanaka」、「機能タイプ=PULL_PRINT」、「機能プロバイダID=NORMAL_PULL_PRINT」に紐づけて、お気に入り設定値リストが保存される。このときのお気に入り設定値のリストは[部数=1]、[ページレイアウト=2in1]、[面付け=両面]が1件ずつ順に保存される。   In step S1004, the function provider management unit 420 acquires the function type acquired in step S1002, the function provider ID received in step S1001, and the user ID. Then, the function provider management unit 420 stores the elements of the list of favorite setting values [setting ID, setting value] in the function provider favorite setting table 426 one by one in association with the function type, function provider ID, and user ID. . In this example, the favorite setting value list is stored as shown in the second to fourth lines of the function provider favorite setting table 426 in FIG. That is, the function provider favorite setting table 426 stores a favorite setting value list in association with “user ID = tanaka”, “function type = PULL_PRINT”, and “function provider ID = NORMAL_PULL_PRINT”. At this time, the list of favorite setting values is stored in order of [number of copies = 1], [page layout = 2 in 1], and [imposition = double-sided] one by one.

S1005において、機能プロバイダ管理部420は、標準プルプリントプロバイダ414に対して、S1004でお気に入り設定を保存した結果を登録結果として返却する。そして処理は終了する。   In step S1005, the function provider management unit 420 returns the result of saving the favorite setting in step S1004 to the standard pull print provider 414 as a registration result. Then, the process ends.

(機能プロバイダのお気に入り呼出処理)
図11は、図1に示したMFP101上の機能プロバイダのお気に入り呼出処理の流れを示す図である。
図11に示す処理は、図9のS912で示した処理の詳細である。ここでは、標準プルプリントプロバイダ414においてユーザからお気に入り呼出が指示されたと仮定して処理を説明しているが、これらの処理は機能プロバイダによるものではなく、他の機能プロバイダであっても同様の処理を行う。
(Function provider favorite call processing)
FIG. 11 is a flowchart showing the function provider favorite call processing on the MFP 101 shown in FIG.
The process shown in FIG. 11 is the details of the process shown in S912 of FIG. Here, the processing is described on the assumption that a favorite call is instructed by the user in the standard pull print provider 414, but these processing are not performed by the function provider, and similar processing is performed even by other function providers. I do.

S1101において、標準プルプリントプロバイダ414は、機能プロバイダ管理部420に対して、機能プロバイダID、ユーザID、肯定的設定値リスト、否定的設定値リストを送信して、お気に入り設定呼出を依頼する。ここで機能プロバイダIDは、自らの機能プロバイダIDである「NORMAL_PULL_PRINT」、ユーザIDは、ワークフロー処理部430に対して処理を指示したユーザのユーザIDである。肯定的設定値リストは、MFP101によらない全設定値のうち、機能プロバイダ自らが設定を許可する設定項目と設定値の組である。否定的設定値リストは、MFP101によらない全設定値のうち、機能プロバイダ自らが設定を拒否する設定項目と設定値の組である。肯定的設定値リストと否定的設定値リストのいずれも、設定項目を表す設定IDと、設定項目に対する設定内容を表す設定値の組のリストである。   In step S1101, the standard pull print provider 414 transmits a function provider ID, a user ID, a positive setting value list, and a negative setting value list to the function provider management unit 420, and requests a favorite setting call. Here, the function provider ID is “NORMAL_PULL_PRINT”, which is its own function provider ID, and the user ID is the user ID of the user who instructed the workflow processing unit 430 to perform the process. The positive setting value list is a set of setting items and setting values that are permitted by the function provider itself among all setting values that do not depend on the MFP 101. The negative setting value list is a set of setting items and setting values that the function provider itself rejects from among all setting values that do not depend on the MFP 101. Each of the positive setting value list and the negative setting value list is a list of a set of a setting ID representing a setting item and a setting value representing a setting content for the setting item.

S1102において、機能プロバイダ管理部420は、S1101で受信した機能プロバイダIDをもとに検索条件に一致する機能プロバイダの機能タイプを機能プロバイダ情報テーブル424から抽出する。本例では、検索条件「機能プロバイダID=NORMAL_PULL_PRINT」の結果として、機能タイプ「PULL_PRINT」が抽出されるものとする。   In step S1102, the function provider management unit 420 extracts the function type of the function provider that matches the search condition from the function provider information table 424 based on the function provider ID received in step S1101. In this example, it is assumed that the function type “PULL_PRINT” is extracted as a result of the search condition “function provider ID = NORMAL_PULL_PRINT”.

S1103において、機能プロバイダ管理部420は、S1101で受信した機能プロバイダIDとユーザIDをもとに、検索条件に一致する機能プロバイダお気に入り設定を機能プロバイダお気に入り設定テーブル426から抽出する。本例では、図7の機能プロバイダお気に入り設定テーブル426の2〜4行目のように、検索条件「機能プロバイダID=NORMAL_PULL_PRINT」、「ユーザID=tanaka」の結果が抽出される。その結果[部数=1][ページレイアウト=2in1]、[面付け=両面]の3件のお気に入り設定値リストが抽出されるものとする。   In step S1103, the function provider management unit 420 extracts the function provider favorite setting that matches the search condition from the function provider favorite setting table 426 based on the function provider ID and the user ID received in step S1101. In this example, as in the second to fourth lines of the function provider favorite setting table 426 in FIG. 7, the search conditions “function provider ID = NORMAL_PULL_PRINT” and “user ID = tanaka” are extracted. As a result, three favorite setting value lists of [number of copies = 1] [page layout = 2 in 1] and [imposition = double side] are extracted.

S1104において、機能プロバイダ管理部420が、S1103において、機能プロバイダお気に入り設定テーブル426を検索した結果のお気に入り設定リストの件数が0件であるか否かを判断する。機能プロバイダ管理部420が、機能プロバイダお気に入り設定テーブル426を検索した結果のお気に入り設定リストの件数が0件であると判断した場合は、処理はS1105に進む。機能プロバイダ管理部420が、機能プロバイダお気に入り設定テーブル426を検索した結果のお気に入り設定リストの件数が0件ではないと判断した場合は、処理はS1106に進む。   In step S1104, the function provider management unit 420 determines whether the number of favorite setting lists obtained as a result of searching the function provider favorite setting table 426 in step S1103 is zero. If the function provider management unit 420 determines that the number of favorite setting lists as a result of searching the function provider favorite setting table 426 is 0, the process proceeds to S1105. If the function provider management unit 420 determines that the number of favorite setting lists as a result of searching the function provider favorite setting table 426 is not zero, the process proceeds to S1106.

S1105において、機能プロバイダ管理部420は、S1102で取得した機能タイプと、S1101で受信したユーザIDの機能プロバイダお気に入り設定テーブル426の検索を行う。機能プロバイダ管理部420は、機能タイプとユーザIDの検索条件に一致する機能プロバイダお気に入り設定を機能プロバイダお気に入り設定テーブル426から抽出する。本例では、図7の機能プロバイダお気に入り設定テーブル426の2〜4行目のように、検索条件「機能タイプ=PULL_PRINT」、「ユーザID=tanaka」の結果が抽出される。その結果「機能プロバイダID=FORM_PULL_PRINT」に対応するお気に入り設定である[部数=50]の1件のお気に入り設定値リストが抽出されるものとする。さらに「機能プロバイダID=NORMAL_PULL_PRINT」に対応するお気に入り設定である[部数=1][ページレイアウト=2in1]、[面付け=両面]の3件のお気に入り設定値リストが抽出されるものとする。このように、機能プロバイダ管理部420は、機能プロバイダお気に入り設定テーブル426の検索結果は、機能プロバイダID毎にお気に入り設定リスト化して取得する。このように、機能プロバイダ管理部420は、機能タイプに対するお気に入り設定リストの抽出結果が複数個取得されてもよい。   In step S1105, the function provider management unit 420 searches the function provider favorite setting table 426 for the function type acquired in step S1102 and the user ID received in step S1101. The function provider management unit 420 extracts function provider favorite settings that match the search conditions for the function type and user ID from the function provider favorite setting table 426. In this example, the results of the search conditions “function type = PULL_PRINT” and “user ID = tanaka” are extracted as in the second to fourth lines of the function provider favorite setting table 426 in FIG. As a result, it is assumed that one favorite setting value list of [number of copies = 50] that is a favorite setting corresponding to “function provider ID = FORM_PULL_PRINT” is extracted. Furthermore, it is assumed that three favorite setting value lists of [number of copies = 1] [page layout = 2 in 1] and [imposition = duplex] corresponding to “function provider ID = NORMAL_PULL_PRINT” are extracted. As described above, the function provider management unit 420 acquires the search result of the function provider favorite setting table 426 as a favorite setting list for each function provider ID. As described above, the function provider management unit 420 may acquire a plurality of extraction results of the favorite setting list for the function type.

S1106において、機能プロバイダ管理部420が、S1103またはS1105で取得したお気に入り設定リストの値域チェック処理を行う。処理の詳細は、図12で示す。   In step S1106, the function provider management unit 420 performs a range check process on the favorite setting list acquired in step S1103 or S1105. Details of the processing are shown in FIG.

S1107において、機能プロバイダ管理部420は、標準プルプリントプロバイダ414に対して、S1106において抽出されたお気に入り設定リストを、お気に入り設定取得結果として返却する。そして処理は終了する。   In step S1107, the function provider management unit 420 returns the favorite setting list extracted in step S1106 to the standard pull print provider 414 as a favorite setting acquisition result. Then, the process ends.

(お気に入り設定リストの値域チェック処理)
図12は、図1に示したMFP101上の機能プロバイダ管理部420におけるお気に入りリスト値域チェック処理の流れを示す図である。より具体的には、図11のS1106で示した処理の詳細である。
(Favorite setting list range check process)
FIG. 12 is a diagram showing a flow of a favorite list range check process in the function provider management unit 420 on the MFP 101 shown in FIG. More specifically, it is the details of the processing shown in S1106 of FIG.

S1201では、機能プロバイダ管理部420が、取得した結果のお気に入り設定リストの個数が、0より大きいか否かを判断する。機能プロバイダ管理部420が、お気に入り設定リストの個数が「0」より大きくないと判断した場合は、処理はS1202に進む。機能プロバイダ管理部420が、お気に入り設定リストの個数が「0」より大きいと判断した場合は、処理はS1203に進む。
S1202において、機能プロバイダ管理部420が該当するお気に入り設定が無かった旨を返却する。そして処理は終了する。S1203において、機能プロバイダ管理部420が、設定可能値リスト作成処理を行う。処理の詳細は図13で説明する。
In step S1201, the function provider management unit 420 determines whether the number of favorite setting lists obtained as a result is greater than zero. If the function provider management unit 420 determines that the number of favorite setting lists is not greater than “0”, the process proceeds to S1202. If the function provider management unit 420 determines that the number of favorite setting lists is greater than “0”, the process proceeds to S1203.
In step S1202, the function provider management unit 420 returns that there is no corresponding favorite setting. Then, the process ends. In step S1203, the function provider management unit 420 performs a settable value list creation process. Details of the processing will be described with reference to FIG.

S1204において、機能プロバイダ管理部420が、変数iの値を「1」に初期化する。S1205において、機能プロバイダ管理部420が、変数iの値が、取得したお気に入り設定リストの個数以下であるか否かを判断し、変数iの値が取得したお気に入り設定リストの個数以下の場合は処理をループさせる。すなわち、機能プロバイダ管理部420が、変数iの値が、取得したお気に入り設定リストの個数以下であると判断した場合は、処理はS1206に進む。機能プロバイダ管理部420が、変数iの値が、取得したお気に入り設定リストの個数以下ではないと判断した場合は、処理はS1213に進む。   In step S1204, the function provider management unit 420 initializes the value of the variable i to “1”. In step S1205, the function provider management unit 420 determines whether or not the value of the variable i is equal to or less than the number of acquired favorite setting lists. If the value of the variable i is equal to or less than the number of acquired favorite setting lists, processing is performed. Loop. That is, when the function provider management unit 420 determines that the value of the variable i is equal to or less than the number of acquired favorite setting lists, the process proceeds to S1206. If the function provider management unit 420 determines that the value of the variable i is not less than the number of acquired favorite setting lists, the process proceeds to S1213.

S1206において、機能プロバイダ管理部420が、変数jの値を1に初期化する。S1207において、機能プロバイダ管理部420が、変数jの値が、取得したi番目のお気に入り設定リストの要素数以下であるか否かを判断し、変数jの値が取得したi番目のお気に入り設定リストの要素数以下である場合は処理をループさせる。すなわち、機能プロバイダ管理部420が、変数jの値が取得したi番目のお気に入り設定リストの要素数以下であると判断した場合は、処理はS1208に進む。機能プロバイダ管理部420が、変数jの値が取得したi番目のお気に入り設定リストの要素数以下ではないと判断した場合は、処理はS1212に進む。   In step S1206, the function provider management unit 420 initializes the value of the variable j to 1. In step S1207, the function provider management unit 420 determines whether or not the value of the variable j is equal to or less than the number of elements in the acquired i-th favorite setting list, and the i-th favorite setting list acquired as the value of the variable j. If it is less than the number of elements, the process is looped. That is, if the function provider management unit 420 determines that the value of the variable j is equal to or less than the number of elements in the acquired i-th favorite setting list, the process proceeds to S1208. If the function provider management unit 420 determines that the value of the variable j is not less than or equal to the number of elements in the acquired i-th favorite setting list, the process proceeds to S1212.

S1208において、機能プロバイダ管理部420が、i番目のお気に入りリストのj番目のお気に入り設定値が、設定可能値リストに入っているか否かを判断する。機能プロバイダ管理部420が、i番目のお気に入りリストのj番目のお気に入り設定値が、設定可能値リストに入っていると判断した場合は、処理はS1209に進む。機能プロバイダ管理部420が、i番目のお気に入りリストのj番目のお気に入り設定値が、設定可能値リストに入っていないと判断した場合は、処理はS1210に進む。
S1209において、機能プロバイダ管理部420は、i番目のお気に入り設定リストのj番目のお気に入り設定IDと設定値を、i番目の結果リストにセットする。
In step S1208, the function provider management unit 420 determines whether the j-th favorite setting value of the i-th favorite list is included in the settable value list. If the function provider management unit 420 determines that the j-th favorite setting value of the i-th favorite list is included in the settable value list, the process proceeds to S1209. If the function provider management unit 420 determines that the j-th favorite setting value of the i-th favorite list is not included in the settable value list, the process proceeds to S1210.
In step S1209, the function provider management unit 420 sets the j-th favorite setting ID and the setting value of the i-th favorite setting list in the i-th result list.

S1210において、機能プロバイダ管理部420は、i番目のお気に入り設定リストのj番目のお気に入り設定IDに対応する設定値として、機能プロバイダの初期値をi番目の結果リストにセットする。S1211において、機能プロバイダ管理部420が、変数jの値をj+1に設定する。そして処理はS1207に戻る。   In step S1210, the function provider management unit 420 sets the initial value of the function provider in the i-th result list as the setting value corresponding to the j-th favorite setting ID in the i-th favorite setting list. In S1211, the function provider management unit 420 sets the value of the variable j to j + 1. Then, the process returns to S1207.

S1212において、機能プロバイダ管理部420が、変数iの値をi+1に設定する。そして処理はS1205に戻る。S1213において、機能プロバイダ管理部420は、全ての結果リストのうち、リストの件数が最も大きな結果リストを返却する。これにより、お気に入り設定リストのうち、設定可能値リストに適合する設定項目が最も多いお気に入り設定リストが、結果リストとして返却される。そして処理は終了する。   In step S1212, the function provider management unit 420 sets the value of the variable i to i + 1. Then, the process returns to S1205. In step S1213, the function provider management unit 420 returns a result list having the largest number of lists among all the result lists. As a result, the favorite setting list having the most setting items that match the settable value list in the favorite setting list is returned as a result list. Then, the process ends.

〔設定可能値リスト作成処理〕
図13は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。本例は、図1に示したMFP101上の機能プロバイダ管理部420における設定可能値リスト作成処理手順に対応する。より具体的には、図12のS1203で示した処理の詳細手順である。なお、各ステップは、CPU211が記憶された制御プログラムを実行することで実現される。
[Settable value list creation process]
FIG. 13 is a flowchart illustrating a method for controlling the information processing apparatus according to the present embodiment. This example corresponds to the settable value list creation processing procedure in the function provider management unit 420 on the MFP 101 shown in FIG. More specifically, this is a detailed procedure of the process shown in S1203 of FIG. Each step is realized by the CPU 211 executing a control program stored therein.

S1301において、機能プロバイダ管理部420は、MFP101の能力値を取得し、設定可能値リストにセットする。ここで、機能プロバイダ管理部420は、MFP101のプリンタI/F216を通じてデバイス、例えばプリンタ220に備えられている用紙サイズ、カラーモード、画像処理などの印刷機能や、ホチキス、自動折り、製本などのフィニッシング機能の有無を取得する。また機能プロバイダ管理部420は、MFP101のスキャナI/F217を通じて、スキャン解像度、カラーモード、画像処理などのスキャン機能の有無を取得する。
さらに、機能プロバイダ管理部420は、MFP101のネットワークI/F218を通じて、ネットワークの接続状態、ネットワーク接続先の応答の有無などのネットワーク機能の有無を取得する。さらに、機能プロバイダ管理部420は、MFP101のROM212やHDD214に記憶された制御プログラムの有無や、HDD214に記憶されたインストールされた拡張ソフトの有無を取得する。機能プロバイダ管理部420は、これら各種機能の有無をMFP101の能力値として、設定IDと設定値の組を設定可能値リストとしてセット(決定)する。
In step S1301, the function provider management unit 420 acquires the capability value of the MFP 101 and sets it in the settable value list. Here, the function provider management unit 420 uses the printer I / F 216 of the MFP 101 to perform printing functions such as paper size, color mode, and image processing provided in the device, for example, the printer 220, and finishing such as staple, automatic folding, and bookbinding. Get the presence or absence of the function. Further, the function provider management unit 420 acquires the presence / absence of a scan function such as scan resolution, color mode, and image processing through the scanner I / F 217 of the MFP 101.
Furthermore, the function provider management unit 420 acquires the presence / absence of network functions such as the network connection state and the presence / absence of a response of the network connection destination through the network I / F 218 of the MFP 101. Further, the function provider management unit 420 acquires the presence / absence of a control program stored in the ROM 212 or the HDD 214 of the MFP 101 and the presence / absence of installed extension software stored in the HDD 214. The function provider management unit 420 sets (determines) the presence / absence of these various functions as the capability value of the MFP 101 and the set of setting ID and setting value as a settable value list.

S1302において、機能プロバイダ管理部420が、変数iの値を「1」に初期化する。S1303において、機能プロバイダ管理部420が、変数iの値が、設定可能値リストの件数以下であるか否かを判断し、変数iの値が設定可能値リストの件数以下であると判断した場合は処理をループさせる。すなわち、機能プロバイダ管理部420が、変数iの値が、設定可能値リストの件数以下であると判断した場合は、処理はS1304に進む。
一方、機能プロバイダ管理部420が、変数iの値が、設定可能値リストの件数以下ではないと判断した場合は、処理はS1310に進む。S1304において、機能プロバイダ管理部420が、変数jの値を「1」に初期化する。
In S1302, the function provider management unit 420 initializes the value of the variable i to “1”. In S1303, the function provider management unit 420 determines whether or not the value of the variable i is equal to or smaller than the number of items in the settable value list, and determines that the value of the variable i is equal to or smaller than the number of items in the settable value list Loops the process. That is, if the function provider management unit 420 determines that the value of the variable i is equal to or less than the number of items in the settable value list, the process proceeds to S1304.
On the other hand, if the function provider management unit 420 determines that the value of the variable i is not less than or equal to the number of items in the settable value list, the process proceeds to S1310. In S1304, the function provider management unit 420 initializes the value of the variable j to “1”.

S1305において、機能プロバイダ管理部420が、変数jの値が、前記図11のS1101において受信した否定的設定値リストの件数以下であるか否かを判断し、変数iの値が否定的設定値リストの件数以下である場合は処理をループさせる。
すなわち、機能プロバイダ管理部420が、変数jの値が、否定的設定値リストの件数以下であると判断した場合は、処理はS1306に進む。機能プロバイダ管理部420が、変数jの値が、否定的設定値リストの件数以下ではないと判断した場合は、処理はS1309に進む。
In step S1305, the function provider management unit 420 determines whether the value of the variable j is equal to or less than the number of negative setting value lists received in step S1101 of FIG. 11, and the value of the variable i is a negative setting value. If it is less than the number of items in the list, the process is looped.
That is, when the function provider management unit 420 determines that the value of the variable j is equal to or less than the number of cases in the negative set value list, the process proceeds to S1306. If the function provider management unit 420 determines that the value of the variable j is not less than or equal to the number of cases in the negative set value list, the process proceeds to S1309.

S1306において、機能プロバイダ管理部420が、設定可能値リストのi番目の設定項目が、否定的設定値リストのj番目の設定項目と一致すると判断した場合は、処理はS1307に進む。機能プロバイダ管理部420が、設定可能値リストのi番目の設定項目が、否定的設定値リストのj番目の設定項目と一致していないと判断した場合は、処理はS1308に進む。S1307において、機能プロバイダ管理部420が、設定可能値リストのi番目の設定値を削除する。S1308において、機能プロバイダ管理部420が、変数jの値をj+1に設定する。そして処理はS1305に戻る。   If the function provider management unit 420 determines in step S1306 that the i-th setting item in the settable value list matches the j-th setting item in the negative setting value list, the process advances to step S1307. If the function provider management unit 420 determines that the i-th setting item in the settable value list does not match the j-th setting item in the negative setting value list, the process proceeds to S1308. In step S1307, the function provider management unit 420 deletes the i-th set value from the settable value list. In S1308, the function provider management unit 420 sets the value of the variable j to j + 1. Then, the process returns to S1305.

S1309において、機能プロバイダ管理部420が、変数iの値をi+1に設定する。そして処理はS1303に戻る。これまでのS1302〜S1309の処理により、機能プロバイダ管理部420は、設定可能値リストから否定的設定値リストに含まれている設定値を削除する。S1310において、機能プロバイダ管理部420が、変数pの値を「1」に初期化する。   In step S1309, the function provider management unit 420 sets the value of the variable i to i + 1. Then, the process returns to S1303. Through the processes of S1302 to S1309 so far, the function provider management unit 420 deletes the setting value included in the negative setting value list from the setting value list. In step S1310, the function provider management unit 420 initializes the value of the variable p to “1”.

S1311において、機能プロバイダ管理部420が、変数pの値が、設定可能値リストの件数以下であるか否かを判断し、変数pの値が設定可能値リストの件数以下である場合は処理をループさせる。
すなわち、機能プロバイダ管理部420が、変数pの値が、設定可能値リストの件数以下であると判断した場合は、処理はS1312に進む。機能プロバイダ管理部420が、変数pの値が、設定可能値リストの件数以下ではないと判断した場合は、処理はS1318に進む。S1312において、機能プロバイダ管理部420が、変数qの値を「1」に初期化する。
In S1311, the function provider management unit 420 determines whether or not the value of the variable p is equal to or smaller than the number of items in the settable value list. Loop.
That is, when the function provider management unit 420 determines that the value of the variable p is equal to or less than the number of items in the settable value list, the process proceeds to S1312. If the function provider management unit 420 determines that the value of the variable p is not less than or equal to the number of items in the settable value list, the process proceeds to S1318. In S1312, the function provider management unit 420 initializes the value of the variable q to “1”.

S1313において、機能プロバイダ管理部420が、変数qの値が、前記図11のS1101において受信した肯定的設定値リストの件数以下であるか否かを判断し、変数qの値が肯定的設定値リストの件数以下である場合は処理をループさせる。すなわち、機能プロバイダ管理部420が、変数qの値が、肯定的設定値リストの件数以下であると判断した場合は、処理はS1314に進む。機能プロバイダ管理部420が、変数qの値が、肯定的設定値リストの件数以下ではないと判断した場合は、処理はS1316に進む。   In S1313, the function provider management unit 420 determines whether the value of the variable q is equal to or less than the number of cases in the positive setting value list received in S1101 of FIG. 11, and the value of the variable q is the positive setting value. If it is less than the number of items in the list, the process is looped. In other words, if the function provider management unit 420 determines that the value of the variable q is equal to or less than the number of cases in the positive setting value list, the process proceeds to S1314. If the function provider management unit 420 determines that the value of the variable q is not less than or equal to the number of cases in the positive set value list, the process proceeds to S1316.

S1314において、機能プロバイダ管理部420が、設定可能値リストのp番目の設定項目が、肯定的設定値リストのq番目の設定項目と一致すると判断した場合は、処理はS1317に進む。機能プロバイダ管理部420が、設定可能値リストのp番目の設定項目が、肯定的設定値リストのq番目の設定項目と一致していないと判断した場合は、処理はS1315に進む。S1315において、機能プロバイダ管理部420が、変数qの値をq+1に設定する。そして処理はS1313に戻る。S1316において、機能プロバイダ管理部420が、設定可能値リストのp番目の設定値を削除する。   If the function provider management unit 420 determines in step S1314 that the p-th setting item in the settable value list matches the q-th setting item in the positive setting value list, the process advances to step S1317. If the function provider management unit 420 determines that the p-th setting item in the settable value list does not match the q-th setting item in the positive setting value list, the process proceeds to S1315. In S1315, the function provider management unit 420 sets the value of the variable q to q + 1. Then, the process returns to S1313. In step S1316, the function provider management unit 420 deletes the p-th set value from the settable value list.

S1317において、機能プロバイダ管理部420が、変数pの値をp+1に設定する。そして処理はS1311に戻る。これまでのS1310〜S1317の処理により、機能プロバイダ管理部420は、設定可能値リストから肯定的設定値リストに含まれていない設定値を削除する。S1318において、機能プロバイダ管理部420が、設定値域を特定するを設定可能値リストを返却する。そして処理は終了する。   In step S1317, the function provider management unit 420 sets the value of the variable p to p + 1. Then, the process returns to S1311. Through the processing of S1310 to S1317 so far, the function provider management unit 420 deletes the setting value not included in the positive setting value list from the setting value list. In step S1318, the function provider management unit 420 returns a settable value list for specifying the set value range. Then, the process ends.

〔ワークフロー実行処理〕
図14は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。より具体的には、図9に示したMFP101におけるワークフロー実行処理手順に対応する。なお、各ステップは、CPU211が記憶された制御プログラムを読み出し、解析、実行することで実現される。
S1401において、まずワークフロー処理部430は、ユーザからワークフローの実行指示を受け取る。S1402において、ワークフロー処理部430は、実行指示に対応するワークフロー定義ファイル440を読み込む。
[Workflow execution processing]
FIG. 14 is a flowchart illustrating a method for controlling the information processing apparatus according to the present embodiment. More specifically, this corresponds to the workflow execution processing procedure in the MFP 101 shown in FIG. Each step is realized by the CPU 211 reading, analyzing, and executing the stored control program.
In step S1401, the workflow processing unit 430 first receives a workflow execution instruction from the user. In step S1402, the workflow processing unit 430 reads the workflow definition file 440 corresponding to the execution instruction.

S1403において、ワークフロー処理部430はワークフロー定義ファイル440からFPタグで定義された機能プロバイダの定義を実行順に1つ取り出す。ここで、実行順とは、FPタグのno要素に定義された数字の若い順を意味する。   In step S1403, the workflow processing unit 430 extracts one function provider definition defined by the FP tag from the workflow definition file 440 in the execution order. Here, the execution order means the order of younger numbers defined in the no element of the FP tag.

S1404において、ワークフロー処理部430は、次に実行すべき機能プロバイダがあればS1405へ進み、次に実行すべき機能プロバイダがなければ(最後の機能プロバイダまで取得し終えたら)、ワークフローの実行を終了する。
S1405において、ワークフロー処理部430は、FPタグから機能プロバイダの検索条件を取得し、機能プロバイダ情報テーブル424から機能プロバイダ情報を検索する。S1406において、ワークフロー処理部430は、機能プロバイダ検索結果を受け取り、検索条件に一致する機能プロバイダがあるかどうかをチェックする。
In step S1404, if there is a function provider to be executed next, the workflow processing unit 430 proceeds to step S1405. If there is no function provider to be executed next (after obtaining the last function provider), the workflow processing unit 430 ends the execution of the workflow. To do.
In step S <b> 1405, the workflow processing unit 430 acquires the function provider search condition from the FP tag, and searches the function provider information table 424 for the function provider information. In step S1406, the workflow processing unit 430 receives the function provider search result and checks whether there is a function provider that matches the search condition.

S1406において、ワークフロー処理部430は、検索結果に一致する機能プロバイダがあると判断した場合、S1407へ処理を進める。一方、ワークフロー処理部430は、検索に一致する機能プロバイダがないと判断した場合、S1413に処理を進める。S1413において、ワークフロー処理部430は、エラーを通知してワークフローの実行処理を終了する。   In S1406, when the workflow processing unit 430 determines that there is a function provider that matches the search result, the workflow processing unit 430 advances the processing to S1407. On the other hand, if the workflow processing unit 430 determines that there is no function provider that matches the search, the process proceeds to S1413. In step S <b> 1413, the workflow processing unit 430 notifies the error and ends the workflow execution processing.

S1407において、ワークフロー処理部430はワークフロー定義ファイル440から処理対象となっているFPタグの子要素であるActionタグを実行順に1つ取り出す。ここで実行順とは、Actionタグのno要素に定義された数字の若い順を意味する。   In step S <b> 1407, the workflow processing unit 430 extracts one Action tag that is a child element of the FP tag to be processed from the workflow definition file 440 in the execution order. Here, the execution order means the order of younger numbers defined in the no element of the Action tag.

S1408において、ワークフロー処理部は、次に処理すべきActionタグがあればS1409へ進み、次に処理すべきActionタグがなければ(最後のActionタグまで取得し終えたら)S1403へ戻る。   In step S1408, the workflow processing unit proceeds to step S1409 if there is an action tag to be processed next, and returns to step S1403 if there is no action tag to be processed next (after obtaining the last action tag).

S1409において、ワークフロー処理部430は、Actionタグの定義に従って、S1405の検索結果として取得した機能プロバイダを呼び出す。その際、ワークフロー処理部430は、Actionタグの子要素としてParameterタグまたはInputタグが定義されていれば、その定義に従って、機能プロバイダに入力を与える。
例えば、図8に示したワークフロー定義ファイル440では、Parameterタグ813のInputタグはプルプリントプロバイダの「doPullPrint」呼び出しの入力に関する定義で、「Document」をIDが「foo」のデータから受け取ることを示している。IDが「foo」のデータは、Actionタグ812のOutputタグで定義したファイル取得プロバイダの「doGet」の出力データである。
ゆえに、ワークフロー処理部430は、自身が保持している「doGet」の出力データを、「doPullPrint」の呼び出し時に入力データとして与える。
S1410において、ワークフロー処理部430によって呼び出された機能プロバイダが、指示に従って処理を実行する。処理の詳細は、図15で説明する。S1411において、ワークフロー処理部430は呼び出した機能プロバイダの実行完了を待ち受ける。
In step S1409, the workflow processing unit 430 calls the function provider acquired as the search result in step S1405 according to the definition of the action tag. At this time, if a Parameter tag or an Input tag is defined as a child element of the Action tag, the workflow processing unit 430 gives an input to the function provider according to the definition.
For example, in the workflow definition file 440 shown in FIG. 8, the Input tag of the Parameter tag 813 is a definition related to the input of the “doPullPrint” call of the pull print provider, and indicates that “Document” is received from the data whose ID is “foo”. ing. Data whose ID is “foo” is output data of “doGet” of the file acquisition provider defined by the Output tag of the Action tag 812.
Therefore, the workflow processing unit 430 provides the output data of “doGet” held by itself as input data when calling “doPullPrint”.
In step S1410, the function provider called by the workflow processing unit 430 executes processing according to the instruction. Details of the processing will be described with reference to FIG. In step S1411, the workflow processing unit 430 waits for completion of execution of the called function provider.

S1412において、ワークフロー処理部430は、機能プロバイダの出力を、別の機能プロバイダの入力として使用できるようHDD214またはRAM213に保存する。例えば、Parameterタグ807のOutputタグはファイル取得プロバイダの「doGet」呼び出しの出力に関する定義で、「doGet」の出力である「Document」データを、IDを「foo」として保存する。機能プロバイダの出力を保存したら、ワークフロー処理部430は次の機能プロバイダの定義を取得するために、S1407へ処理を進める。   In step S1412, the workflow processing unit 430 stores the output of the function provider in the HDD 214 or the RAM 213 so that it can be used as an input of another function provider. For example, the Output tag of the Parameter tag 807 is a definition related to the output of the “doGet” call of the file acquisition provider, and the “Document” data that is the output of “doGet” is stored with the ID “foo”. After saving the output of the function provider, the workflow processing unit 430 advances the processing to S1407 in order to acquire the definition of the next function provider.

〔機能プロバイダの実行処理〕
図15は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。より具体的には、MFP101上の機能プロバイダの実行処理レ順である。本処理は、図14のS1410で示した処理の詳細手順に対応する。なお、各ステップは、MFP101のHDD214に記憶されているプログラムを、CPU211がRAM213に読み出し、解析、実行することで実現される。
[Function provider execution processing]
FIG. 15 is a flowchart illustrating a method for controlling the information processing apparatus according to the present embodiment. More specifically, the execution order of the function providers on the MFP 101 is the order. This process corresponds to the detailed procedure of the process shown in S1410 of FIG. Each step is realized by causing the CPU 211 to read the program stored in the HDD 214 of the MFP 101 into the RAM 213, and analyze and execute the program.

S1501において、ワークフロー処理部430は、機能プロバイダに実行を指示する。S1502において、機能プロバイダは、自身の処理に必要な設定入力値が、ワークフロー処理部430から必要な設定入力値が全て入力されたか否かにより、新たな設定入力をユーザに要求する必要があるかを判断する。機能プロバイダが、自身の処理に必要な設定入力値が全て与えられておらず、設定入力の必要があると判断した場合は、処理はS1503に進む。機能プロバイダが、自身の処理に必要な設定入力値が全て与えられており、設定入力の必要が無いと判断した場合は、処理はS1521に進む。   In step S1501, the workflow processing unit 430 instructs the function provider to execute. In step S1502, whether the function provider needs to request a new setting input from the workflow processing unit 430 based on whether or not all the setting input values necessary for its processing have been input from the workflow processing unit 430. Judging. If the function provider determines that all setting input values necessary for its own processing are not given and setting input is necessary, the process proceeds to S1503. If the function provider determines that all setting input values necessary for its own processing have been given and there is no need for setting input, the process proceeds to S1521.

S1503において、機能プロバイダは、ユーザからの設定入力を受け付け、ユーザからの入力を受信すると、処理はS1504に進む。ここでは、機能プロバイダは、MFP101の操作部219に機能プロバイダ処理に必要な設定をユーザが行うための設定画面を表示する。この設定画面にはユーザからの、お気に入り設定登録、お気に入り呼出、機能プロバイダの実行、キャンセルを行うか否かの指示を受けられるようにしている。   In step S1503, the function provider receives a setting input from the user. When the function provider receives the input from the user, the process proceeds to step S1504. Here, the function provider displays a setting screen for the user to make settings necessary for the function provider process on the operation unit 219 of the MFP 101. On this setting screen, it is possible to receive an instruction from the user as to whether or not to perform favorite setting registration, favorite calling, function provider execution, and cancellation.

S1504において、機能プロバイダは、S1503においてユーザから入力された内容が、お気に入り設定登録であるか否かを判断する。機能プロバイダは、S1503においてユーザから入力された内容が、お気に入り設定登録であると判断した場合は、処理はS1505に進む。機能プロバイダは、S1503においてユーザから入力された内容が、お気に入り設定登録ではないと判断した場合は、処理はS1512に進む。   In step S1504, the function provider determines whether the content input by the user in step S1503 is favorite setting registration. If the function provider determines that the content input by the user in S1503 is favorite setting registration, the process proceeds to S1505. If the function provider determines in step S1503 that the content input by the user is not favorite setting registration, the process proceeds to step S1512.

S1505において、機能プロバイダは、機能プロバイダ管理部420に対して、機能プロバイダID、ユーザID、お気に入り設定値リスト[設定ID、設定値]を送信して、お気に入り設定登録を依頼する。ここで機能プロバイダIDは、自らの機能プロバイダIDであり、ユーザIDは、ワークフロー処理部430に対して処理を指示したユーザのユーザIDである。お気に入り設定値リストは、設定項目を表す設定IDと、設定項目に対する設定内容を表す設定値の組のリストである。   In step S <b> 1505, the function provider transmits a function provider ID, a user ID, and a favorite setting value list [setting ID, setting value] to the function provider management unit 420 to request favorite setting registration. Here, the function provider ID is its own function provider ID, and the user ID is the user ID of the user who instructed the workflow processing unit 430 to perform processing. The favorite setting value list is a list of a set of setting IDs representing setting items and setting values representing setting contents for the setting items.

S1506において、機能プロバイダ管理部420は、S1505で受信した機能プロバイダIDをもとに検索条件に一致する機能プロバイダの機能タイプを機能プロバイダ情報テーブル424から抽出する。S1507において、機能プロバイダ管理部420が、変数iの値を1に初期化する。   In step S1506, the function provider management unit 420 extracts from the function provider information table 424 the function type of the function provider that matches the search condition based on the function provider ID received in step S1505. In S1507, the function provider management unit 420 initializes the value of the variable i to 1.

S1508において、機能プロバイダ管理部420が、変数iの値が、S1505において機能プロバイダから受信したお気に入り設定リストの件数以下であるか否かを判断する。そして、機能プロバイダ管理部420が、変数iの値がお気に入り設定値リストの件数以下であると判断した場合、処理をループさせる。すなわち、機能プロバイダが、変数iの値が、お気に入り設定リストの件数以下であると判断した場合は、処理はS1509に進む。一方、機能プロバイダが、変数iの値が、お気に入り設定リストの件数以下ではないと判断した場合は、処理はS1511に進む。   In step S1508, the function provider management unit 420 determines whether the value of the variable i is equal to or less than the number of favorite setting lists received from the function provider in step S1505. When the function provider management unit 420 determines that the value of the variable i is equal to or less than the number of items in the favorite setting value list, the process is looped. That is, if the function provider determines that the value of the variable i is equal to or less than the number of items in the favorite setting list, the process proceeds to S1509. On the other hand, if the function provider determines that the value of the variable i is not less than or equal to the number of favorites setting list, the process proceeds to S1511.

S1509において、機能プロバイダは、機能プロバイダ管理部420が、S1506で取得した機能タイプ、S1505で受信した機能プロバイダID、ユーザIDを取得する。そして、機能プロバイダ管理部420が、機能タイプ、機能プロバイダID、ユーザIDに紐づけて、お気に入り設定値[設定ID、設定値]のリストの要素を1件ずつ機能プロバイダお気に入り設定テーブル426に保存する。本例では、図7の機能プロバイダお気に入り設定テーブル426の2〜4行目のように、お気に入り設定値リストが保存される。   In step S1509, the function provider acquires the function type acquired in step S1506, the function provider ID received in step S1505, and the user ID by the function provider management unit 420. Then, the function provider management unit 420 stores the elements of the list of favorite setting values [setting ID, setting value] in the function provider favorite setting table 426 one by one in association with the function type, function provider ID, and user ID. . In this example, the favorite setting value list is stored as shown in the second to fourth lines of the function provider favorite setting table 426 in FIG.

S1510において、機能プロバイダ管理部420が、変数iの値をi+1に設定する。そして処理はS1508に戻る。S1511において、機能プロバイダ管理部420は、機能プロバイダに対して、S1509でお気に入り設定を保存した結果を登録結果として返却する。そして処理はS1502に戻る。   In step S1510, the function provider management unit 420 sets the value of the variable i to i + 1. Then, the process returns to S1508. In step S1511, the function provider management unit 420 returns the result of saving the favorite setting in step S1509 as a registration result to the function provider. Then, the process returns to S1502.

S1512において、機能プロバイダは、S1503においてユーザから入力された内容が、お気に入り設定呼出であるか否かを判断する。機能プロバイダが、S1503においてユーザから入力された内容が、お気に入り設定呼出であると判断した場合は、処理はS1513に進む。機能プロバイダが、S1503においてユーザから入力された内容が、お気に入り設定呼出ではないと判断した場合は、処理はS1520に進む。   In step S1512, the function provider determines whether the content input by the user in step S1503 is a favorite setting call. If the function provider determines that the content input by the user in S1503 is a favorite setting call, the process proceeds to S1513. If the function provider determines that the content input from the user in S1503 is not a favorite setting call, the process proceeds to S1520.

S1513において、機能プロバイダは、機能プロバイダ管理部420に対して、機能プロバイダID、ユーザID、肯定的設定値リスト[設定ID、設定値]、否定的設定値リスト[設定ID、設定値]を送信して、お気に入り設定呼出を依頼する。
ここで機能プロバイダIDは、自らの機能プロバイダIDであり、ユーザIDは、ワークフロー処理部430に対して処理を指示したユーザのユーザIDである。肯定的設定値リストは、MFP101によらない全設定値のうち、機能プロバイダ自らが設定を許可する設定項目と設定値の組である。
否定的設定値リストは、MFP101によらない全設定値のうち、機能プロバイダ自らが設定を拒否する設定項目と設定値の組である。肯定的設定値リストと否定的設定値リストのいずれも、設定項目を表す設定IDと、設定項目に対する設定内容を表す設定値の組のリストである。
In step S1513, the function provider transmits the function provider ID, user ID, positive setting value list [setting ID, setting value], and negative setting value list [setting ID, setting value] to the function provider management unit 420. And request a favorite setting call.
Here, the function provider ID is its own function provider ID, and the user ID is the user ID of the user who instructed the workflow processing unit 430 to perform processing. The positive setting value list is a set of setting items and setting values that are permitted by the function provider itself among all setting values that do not depend on the MFP 101.
The negative setting value list is a set of setting items and setting values that the function provider itself rejects from among all setting values that do not depend on the MFP 101. Each of the positive setting value list and the negative setting value list is a list of a set of a setting ID representing a setting item and a setting value representing a setting content for the setting item.

S1514において、機能プロバイダ管理部420は、S1513で受信した機能プロバイダIDをもとに検索条件に一致する機能プロバイダの機能タイプを機能プロバイダ情報テーブル424から抽出する。   In step S1514, the function provider management unit 420 extracts the function type of the function provider that matches the search condition from the function provider information table 424 based on the function provider ID received in step S1513.

S1515において、機能プロバイダ管理部420は、S1101で受信した機能プロバイダIDとユーザIDをもとに、検索条件に一致する機能プロバイダお気に入り設定を機能プロバイダお気に入り設定テーブル426から抽出する。そして、機能プロバイダ管理部420は、抽出した結果の設定IDと設定値の組をリストとして、お気に入り設定値リストを作成する。   In step S1515, the function provider management unit 420 extracts function provider favorite settings that match the search condition from the function provider favorite setting table 426 based on the function provider ID and user ID received in step S1101. Then, the function provider management unit 420 creates a favorite setting value list by using a set of the setting ID and setting value as a list.

S1516において、機能プロバイダ管理部420が、S1515において、機能プロバイダお気に入り設定テーブル426を検索した結果のお気に入り設定リストの件数が0件であるか否かを判断する。機能プロバイダ管理部420が、機能プロバイダお気に入り設定テーブル426を検索した結果のお気に入り設定リストの件数が0件であると判断した場合は、処理はS1517に進む。一方、機能プロバイダ管理部420が、機能プロバイダお気に入り設定テーブル426を検索した結果のお気に入り設定リストの件数が0件ではないと判断した場合は、処理はS1518に進む。   In step S1516, the function provider management unit 420 determines whether the number of favorite setting lists obtained as a result of searching the function provider favorite setting table 426 in step S1515 is zero. When the function provider management unit 420 determines that the number of favorite setting lists as a result of searching the function provider favorite setting table 426 is 0, the process proceeds to S1517. On the other hand, if the function provider management unit 420 determines that the number of favorite setting lists as a result of searching the function provider favorite setting table 426 is not zero, the process advances to step S1518.

S1517において、機能プロバイダ管理部420は、S1514で取得した機能タイプと、S1513で受信したユーザIDの機能プロバイダお気に入り設定テーブル426の検索を行う。
機能プロバイダ管理部420は、機能タイプとユーザIDの検索条件に一致する機能プロバイダお気に入り設定を機能プロバイダお気に入り設定テーブル426から抽出する。そして、機能プロバイダ管理部420は、抽出した結果の設定IDと設定値の組をリストとして、お気に入り設定値リストを作成する。機能プロバイダ管理部420は、機能タイプに対するお気に入り設定リストの抽出結果が複数個取得されてもよい。
In step S1517, the function provider management unit 420 searches the function provider favorite setting table 426 for the function type acquired in step S1514 and the user ID received in step S1513.
The function provider management unit 420 extracts function provider favorite settings that match the search conditions for the function type and user ID from the function provider favorite setting table 426. Then, the function provider management unit 420 creates a favorite setting value list by using a set of the setting ID and setting value as a list. The function provider management unit 420 may acquire a plurality of extraction results of the favorite setting list for the function type.

S1518において、機能プロバイダ管理部420が、S1515またはS1517で取得したお気に入り設定リストの値域チェック処理を行う。本処理の詳細は、図12で説明済みのため、ここでは説明は省略する。   In step S1518, the function provider management unit 420 performs a range check process on the favorite setting list acquired in step S1515 or S1517. Details of this process have already been described with reference to FIG.

S1519において、機能プロバイダ管理部420は、機能プロバイダに対して、S1518において抽出されたお気に入り設定リストを、お気に入り設定取得結果として返却する。そして処理はS1503に戻る。   In S1519, the function provider management unit 420 returns the favorite setting list extracted in S1518 as a favorite setting acquisition result to the function provider. Then, the process returns to S1503.

S1520において、機能プロバイダは、S1503においてユーザから入力された内容が、機能プロバイダ実行であるか否かを判断する。機能プロバイダが、S1503においてユーザから入力された内容が、機能プロバイダ実行であると判断した場合は、処理はS1521に進む。一方、機能プロバイダが、S1503においてユーザから入力された内容が、機能プロバイダ実行ではないと判断した場合は、処理はS1523に進む。
S1521において、機能プロバイダが、指示に従って機能プロバイダ処理を実行する。S1522において、機能プロバイダが、ワークフロー処理部430に対して、機能プロバイダ処理を行った結果を送信する。そして処理は終了する。一方、S1523では、機能プロバイダが、指示に従ってキャンセル処理を実行する。そして処理はS1522に進む。
In step S1520, the function provider determines whether the content input from the user in step S1503 is execution of the function provider. If the function provider determines that the content input by the user in step S1503 is execution of the function provider, the process proceeds to step S1521. On the other hand, if the function provider determines that the content input by the user in S1503 is not function provider execution, the process proceeds to S1523.
In step S1521, the function provider executes function provider processing according to the instruction. In step S1522, the function provider transmits the result of the function provider process to the workflow processing unit 430. Then, the process ends. On the other hand, in S1523, the function provider executes cancel processing in accordance with the instruction. Then, the process proceeds to S1522.

本実施形態によれば、複数の機能プロバイダを組み合わせて一連の処理として実行する手段および一連の処理のなかで、機能プロバイダ管理部がお気に入り登録手段、お気に入り呼出手段を提供する。
また、アプリを構成するワークフローが変更され、機能タイプが同じ機能プロバイダが実行される場合、以前機能プロバイダから登録されたお気に入り設定を引き継いで、新しく実行する機能プロバイダで呼出すことができる。これにより、アプリの構成変更が行われた場合でも、ユーザが再度お気に入り設定を行う手間を軽減することができる。
According to the present embodiment, the function provider management unit provides the favorite registration unit and the favorite calling unit among the unit that executes a series of processes by combining a plurality of function providers and the series of processes.
Further, when a workflow that configures an application is changed and a function provider having the same function type is executed, the favorite setting registered from the function provider can be inherited and called by a newly executed function provider. Thereby, even when the configuration of the application is changed, it is possible to reduce the trouble of the user performing the favorite setting again.

また、機能プロバイダ管理部は、機能プロバイダお気に入り設定テーブルから読み出したお気に入り設定の各設定値に対して、呼出す機能プロバイダの肯定的設定値、否定的設定値、MFPの能力値から設定可能値リストを作成し、その範囲内か否かを判断する。これにより、お気に入り設定を登録した機能プロバイダと、お気に入り設定を呼出す機能プロバイダの設定値が異なっていた場合でも、お気に入り設定を呼出す機能プロバイダで設定可能な設定値のみに絞って、お気に入り設定を呼出すことができる。またお気に入り登録時とお気に入り呼出時のMFPの能力値が異なっていた場合でも、お気に入り設定を呼出した時点の機能プロバイダで使用可能な設定値のみに絞って、お気に入り設定を呼出すことができる。   In addition, the function provider management unit creates a list of settable values from the positive setting value, the negative setting value of the function provider to be called, and the capability value of the MFP for each setting value of the favorite setting read from the function provider favorite setting table. Create and determine whether it is within that range. As a result, even if the setting value of the function provider that registered the favorite setting differs from the setting value of the function provider that calls the favorite setting, only the setting values that can be set by the function provider that calls the favorite setting are recalled. Can do. Even if the capability values of the MFP at the time of favorite registration and when calling favorite are different, it is possible to call the favorite setting by narrowing down to only the setting values that can be used by the function provider at the time of calling the favorite setting.

また、本実施形態では、ワークフローを構成するものとして、ワークフロー処理部が、機能プロバイダを呼び出す構成で説明したが、拡張ソフトであるアプリがワークフロー処理部の役割を行い、他の拡張ソフトを呼び出す構成であってもよい。例えば、任意のアプリが処理を行う際に、処理の途中で他のアプリや機能プロバイダを呼び出す際に、処理毎にデザインの定義を保持していて、呼び出す際にそのデザインの指定を呼び出される側の拡張ソフトに渡すように構成してもよい。   In the present embodiment, the workflow processing unit has been described as a configuration that calls a function provider as a component of the workflow. However, an application that is an extension software serves as the workflow processing unit and calls other extension software. It may be. For example, when any app performs processing, when calling another app or function provider in the middle of processing, the design definition is retained for each processing, and the design designation is called when calling It may be configured to be passed to the extended software.

本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えばASIC)によっても実現可能である。   The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

101 MFP 101 MFP

Claims (10)

所定のワークフロー定義ファイルに従い複数の機能プロバイダを連携して特定の処理を実行する情報処理装置であって、
それぞれの機能プロバイダに対してユーザが設定したお気に入り設定を機能プロバイダIDと、機能プロバイダの種別と、ユーザIDとを対応づけたお気に入り設定を登録手段に登録して管理する管理手段と、
前記所定のワークフロー定義ファイルを読み込むことに応じて、前記所定のワークフローに記述された実行すべき機能プロバイダを検索する検索手段と、
検索された所定の機能プロバイダから取得される機能プロバイダIDと、前記所定のワークフロー定義ファイルを指示したユーザIDとを用いて、検索された所定の機能プロバイダに対して登録されたお気に入り設定を行う設定する設定手段と、
を備えることを特徴とする情報処理装置。
An information processing apparatus that executes a specific process in cooperation with a plurality of function providers according to a predetermined workflow definition file,
Management means for registering and managing the favorite setting set by the user for each function provider, by registering the favorite setting in which the function provider ID, the function provider type, and the user ID are associated with each other in the registration means;
Search means for searching for a function provider to be executed described in the predetermined workflow in response to reading the predetermined workflow definition file;
Setting for performing a favorite setting registered for the searched predetermined function provider, using the function provider ID acquired from the searched predetermined function provider and the user ID instructing the predetermined workflow definition file Setting means to
An information processing apparatus comprising:
取得したお気に入り設定の設定値と、デバイスで特定される設定できる設定値とから実行すべき機能プロバイダに対してお気に入り設定すべき設定値域を決定する決定手段を備え、
前記設定手段は、実行すべき機能プロバイダに対して決定された設定値を設定することを特徴とする請求項1に記載の情報処理装置。
A determination means for determining a setting value range to be favorite set for a function provider to be executed from the set value of the favorite setting acquired and a setting value specified by the device;
The information processing apparatus according to claim 1, wherein the setting unit sets a determined setting value for a function provider to be executed.
前記決定手段は、検索された機能プロバイダから当該機能プロバイダがあらかじめ設定した肯定的設定値リストと、否定的設定値リストとを取得して、お気に入り登録された設定値域から設定すべきでない設定値を削除することを特徴とする請求項2記載の情報処理装置。   The determination means obtains a positive setting value list and a negative setting value list preset by the function provider from the searched function provider, and sets a setting value that should not be set from the favorite setting value range. The information processing apparatus according to claim 2, wherein the information processing apparatus is deleted. 前記特定の処理は、特定の機能プロバイダを組み合わせにより特定されることを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the specific process is specified by a combination of specific function providers. 前記情報処理装置は、スキャナ、プリンタ、通信I/F、ユーザI/Fを備えることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。   The information processing apparatus according to claim 1, comprising: a scanner, a printer, a communication I / F, and a user I / F. 所定のワークフロー定義ファイルは、登録された機能プロバイダの実行順序を特定するタグを備えることを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the predetermined workflow definition file includes a tag that specifies an execution order of the registered function providers. 前記所定のワークフロー定義ファイルは、登録された機能プロバイダの検索条件を特定するタグを備えることを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the predetermined workflow definition file includes a tag that specifies a search condition for a registered function provider. 前記所定のワークフロー定義ファイルは、登録された機能プロバイダを呼出すためのインタフェースを特定するタグを備えることを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the predetermined workflow definition file includes a tag that specifies an interface for calling a registered function provider. 所定のワークフロー定義ファイルに従い複数の機能プロバイダを連携して特定の処理を実行する情報処理装置の制御方法であって、
それぞれの機能プロバイダに対してユーザが設定したお気に入り設定を機能プロバイダIDと、機能プロバイダの種別と、ユーザIDとを対応づけたお気に入り設定を登録手段に登録して管理する管理工程と、
前記所定のワークフロー定義ファイルを読み込むことに応じて、前記所定のワークフローに記述された実行すべき機能プロバイダを検索する検索工程と、
検索された所定の機能プロバイダから取得される機能プロバイダIDと、前記所定のワークフロー定義ファイルを指示したユーザIDとを用いて、検索された所定の機能プロバイダに対して登録されたお気に入り設定を行う設定工程と、
を備えることを特徴とする情報処理装置の制御方法。
A method of controlling an information processing apparatus that executes a specific process in cooperation with a plurality of function providers according to a predetermined workflow definition file,
A management process for registering and managing a favorite setting set by a user for each function provider by registering a favorite setting in which a function provider ID, a function provider type, and a user ID are associated with each other;
A search step of searching for a function provider to be executed described in the predetermined workflow in response to reading the predetermined workflow definition file;
Setting for performing a favorite setting registered for the searched predetermined function provider, using the function provider ID acquired from the searched predetermined function provider and the user ID instructing the predetermined workflow definition file Process,
An information processing apparatus control method comprising:
請求項9に記載の情報処理装置の制御方法をコンピュータに実行させることを特徴とするプログラム。   A program for causing a computer to execute the control method of the information processing apparatus according to claim 9.
JP2015174723A 2015-09-04 2015-09-04 Information processor, control method for information processor, and program Pending JP2017050813A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015174723A JP2017050813A (en) 2015-09-04 2015-09-04 Information processor, control method for information processor, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015174723A JP2017050813A (en) 2015-09-04 2015-09-04 Information processor, control method for information processor, and program

Publications (1)

Publication Number Publication Date
JP2017050813A true JP2017050813A (en) 2017-03-09

Family

ID=58279644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015174723A Pending JP2017050813A (en) 2015-09-04 2015-09-04 Information processor, control method for information processor, and program

Country Status (1)

Country Link
JP (1) JP2017050813A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020107286A (en) * 2018-12-28 2020-07-09 京セラドキュメントソリューションズ株式会社 Electronic apparatus and image forming apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020107286A (en) * 2018-12-28 2020-07-09 京セラドキュメントソリューションズ株式会社 Electronic apparatus and image forming apparatus
JP7293654B2 (en) 2018-12-28 2023-06-20 京セラドキュメントソリューションズ株式会社 Electronic equipment and image forming equipment

Similar Documents

Publication Publication Date Title
JP4759464B2 (en) Document processing apparatus and document processing method
US9836256B2 (en) Information processing apparatus and method of controlling the same
JP7129842B2 (en) SYSTEM, IMAGE FORMING APPARATUS, CONTROL METHOD THEREOF, AND PROGRAM
JP7086754B2 (en) Information processing equipment, control method of information processing equipment, and computer program
JP5743723B2 (en) Printing system, service processing method, and program
EP3733421A1 (en) Image formation device, printing system, control method, and storage medium
JP2002278735A (en) Information processor, its control method and printing system
EP3890296A1 (en) Server, information processing method, and storage medium
JP6834402B2 (en) Information processing equipment, information processing systems, information processing methods, and programs
US20150178020A1 (en) Information processing apparatus, information processing method, and storage medium
JP2009181401A (en) Information processing apparatus, device control system, program, and recording medium
WO2014136429A1 (en) Information processing apparatus and method for the same
JP7102216B2 (en) program
JP7418133B2 (en) Information processing device, control method for information processing device, and program
JP2017050813A (en) Information processor, control method for information processor, and program
JP6271944B2 (en) Image processing apparatus, information processing apparatus, data processing method for image processing apparatus, data processing method for information processing apparatus, and program
JP6968603B2 (en) Image forming device, image forming method, program
JP4078292B2 (en) Information processing apparatus, information processing method and program, and computer-readable storage medium
JP2012128690A (en) Information processor and method for controlling information processor
JP7328405B2 (en) Information processing apparatus, information processing apparatus control method, and print setting application
JP2019215753A (en) Printing system, printing device, information processing device and control method therefor, and program
JP2020019153A (en) Printing system, printer and control method therefor, and program
JP7328410B2 (en) Application, method and recording medium
JP2018152687A (en) Information processing unit, control method and program of information processing unit
JP2024035614A (en) Information processing device, print setting application, control method and program for information processing device

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20180306