JP2017084420A - Apparatus, information processing system, information processing method, and program - Google Patents

Apparatus, information processing system, information processing method, and program Download PDF

Info

Publication number
JP2017084420A
JP2017084420A JP2017020890A JP2017020890A JP2017084420A JP 2017084420 A JP2017084420 A JP 2017084420A JP 2017020890 A JP2017020890 A JP 2017020890A JP 2017020890 A JP2017020890 A JP 2017020890A JP 2017084420 A JP2017084420 A JP 2017084420A
Authority
JP
Japan
Prior art keywords
program
application
installation
sdk
authority
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.)
Granted
Application number
JP2017020890A
Other languages
Japanese (ja)
Other versions
JP6330933B2 (en
Inventor
英樹 大橋
Hideki Ohashi
英樹 大橋
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2017020890A priority Critical patent/JP6330933B2/en
Publication of JP2017084420A publication Critical patent/JP2017084420A/en
Application granted granted Critical
Publication of JP6330933B2 publication Critical patent/JP6330933B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To reduce occurence of inconvenience based on dependence between programs.SOLUTION: An apparatus comprises: a determination unit that determines whether a second program which is specified based on data associated with a first program to be installed and on which the first program depends has already been installed; and an installation unit that executes processing associated with abnormality concerning installation of the first program when the second program has not been installed yet. The installation unit does not execute installation of the first program in the case where necessity for installation of the second program is indicated in the data.SELECTED DRAWING: Figure 5

Description

本発明は、機器、情報処理システム、情報処理方法、及びプログラムに関する。   The present invention relates to a device, an information processing system, an information processing method, and a program.

従来、例えば、複合機又は融合機と呼ばれる機器において、公開されたAPI(Application Program Interface)を有し、当該APIを用いて開発されたアプリケーション(以下、「SDK(Software Development Kit:ソフトウェア開発キット)アプリ」という。)の実行環境を提供するアプリケーションプラットフォーム(以下、「SDKプラットフォーム」という。)を備えた機器が有る(例えば、特許文献1)。   2. Description of the Related Art Conventionally, for example, an application (hereinafter referred to as “SDK (Software Development Kit)”) that has been published using an API (Application Program Interface) in a device called a multifunction peripheral or a multifunction peripheral. There is a device including an application platform (hereinafter referred to as “SDK platform”) that provides an execution environment of an “application” (for example, Patent Document 1).

SDKプラットフォームにおいては、標準のアプリケーション(以下、「標準アプリ」という。)が実現する機能と同様の機能をSDKアプリによって実現可能とするためのAPIが公開される。したがって、例えば、標準アプリとは異なる操作画面によって、標準アプリと同様の機能を利用したい(つまり、操作画面だけ標準アプリとは異なるものを使いたい)といったニーズにも応えることができる。   In the SDK platform, an API for enabling functions similar to those realized by a standard application (hereinafter referred to as “standard application”) to be realized by the SDK application is disclosed. Therefore, for example, it is possible to respond to needs such as using an operation screen different from the standard application to use the same function as the standard application (that is, using the operation screen different from the standard application).

他方において、SDKプラットフォームでは、標準アプリが提供する機能と同様の機能を提供するAPIを公開するために、標準アプリと同様の実装が別途行われる必要が有る。そのため、SDKプラットフォームと標準アプリとの間で類似した実装が重複し、機器全体の開発作業や保守作業等において、非効率性が認められる。   On the other hand, in the SDK platform, in order to publish an API that provides the same function as the function provided by the standard application, it is necessary to separately implement the same implementation as the standard application. For this reason, similar implementations overlap between the SDK platform and the standard application, and inefficiencies are recognized in the development work and maintenance work of the entire device.

そこで、本願発明者は、標準アプリの実装を、SDKプラットフォームから利用可能とする仕組みについて検討を行っている。   Therefore, the inventor of the present application is examining a mechanism for making the implementation of the standard application available from the SDK platform.

しかしながら、実装されている標準アプリの種類は、機種ごとに異なりうる。例えば、モデムを有していない機器には、FAXアプリはインストールされていない。このような状況において、仮に、FAXアプリの実装をSDKプラットフォーム経由で利用するSDKアプリのインストール処理自体が正常に行われてしまうと、ユーザは、当該SDKアプリの利用時になって、当該SDKアプリが正常に動作しないことに気付くことになる。   However, the types of standard apps that are implemented can vary from model to model. For example, a FAX application is not installed in a device that does not have a modem. In such a situation, if the installation process itself of the SDK application that uses the FAX application implementation via the SDK platform is normally performed, the user becomes in use of the SDK application and the SDK application You will notice that it does not work properly.

本発明は、上記の点に鑑みてなされたものであって、プログラム間の依存関係に基づく不都合の発生を低減させることを目的とする。   The present invention has been made in view of the above points, and it is an object of the present invention to reduce the occurrence of inconvenience based on the dependency between programs.

そこで上記課題を解決するため、機器は、インストール対象の第一のプログラムに対応付けられているデータに基づいて特定される、前記第一のプログラムが依存する第二のプログラムがインストール済みであるかを判定する判定部と、前記第二のプログラムがインストール済みではない場合に、前記第一のプログラムのインストールについて異常に対応付いた処理を実行するインストール部とを有し、前記インストール部は、前記データにおいて、前記第二のプログラムがインストール済みであることが必須であることが示されている場合に、前記第一のプログラムのインストールを実行しない。   Therefore, in order to solve the above-described problem, whether the device has been installed with the second program that is specified based on the data associated with the first program to be installed and on which the first program depends. And a determination unit that determines whether the second program has not been installed, and an installation unit that executes processing associated with an abnormality in the installation of the first program. If the data indicates that it is essential that the second program is already installed, the first program is not installed.

プログラム間の依存関係に基づく不都合の発生を低減させること。   To reduce the occurrence of inconvenience based on dependencies between programs.

本発明の実施の形態におけるインストールシステムの構成例を示す図である。It is a figure which shows the structural example of the installation system in embodiment of this invention. 本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。1 is a diagram illustrating an example of a hardware configuration of an image forming apparatus according to an embodiment of the present invention. 本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。FIG. 3 is a diagram illustrating a software configuration example of an image forming apparatus according to an embodiment of the present invention. スキャンアプリとScanToFAXアプリとの関係の一例を説明するための図である。It is a figure for demonstrating an example of the relationship between a scan application and a ScanToFAX application. 本発明の実施の形態におけるSDKプラットフォームの機能構成例を示す図である。It is a figure which shows the function structural example of the SDK platform in embodiment of this invention. SDKアプリの利用環境の構築処理の処理手順の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the process sequence of the construction process of the utilization environment of an SDK application. インストール処理の処理手順の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the process sequence of an installation process. インストール依存情報の一例を示す図である。It is a figure which shows an example of installation dependence information. インストールの失敗を通知する警告画面の表示例を示す図である。It is a figure which shows the example of a display of the warning screen which notifies failure of installation. 依存先の標準アプリのインストールを促す警告画面の表示例を示す図であるIt is a figure which shows the example of a display of the warning screen which urges installation of the dependence destination standard application 利用権限設定処理の処理手順の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the process sequence of a use authority setting process. 権限依存情報の一例を示す図である。It is a figure which shows an example of authority dependence information. 問い合わせ画面の表示例を示す図である。It is a figure which shows the example of a display of an inquiry screen.

以下、図面に基づいて本発明の実施の形態を説明する。図1は、第一の実施の形態におけるインストールシステムの構成例を示す図である。図1に示されるインストールシステム1において、画像形成装置10とプログラム管理装置20とは、例えば、LAN(Local Area Network)又はインターネット等のネットワークを介して通信可能に接続されている。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram illustrating a configuration example of an installation system according to the first embodiment. In the installation system 1 shown in FIG. 1, the image forming apparatus 10 and the program management apparatus 20 are communicably connected via a network such as a LAN (Local Area Network) or the Internet.

画像形成装置10は、印刷、スキャン、コピー、及びFAX送受信等のうちの2以上の機能を一台の筐体によって実現する複合機である。但し、いずれか一つの機能を有する機器が画像形成装置10として用いられてもよい。   The image forming apparatus 10 is a multifunction machine that realizes two or more functions of printing, scanning, copying, FAX transmission / reception, and the like with a single casing. However, a device having any one function may be used as the image forming apparatus 10.

プログラム管理装置20は、画像形成装置10にインストールされるプログラムを格納した1以上のファイル(以下、「インストールファイル」という。)を記憶する。プログラム管理装置20は、いずれかのインストールファイルのダウンロード要求に応じ、当該インストールファイルを返信する。なお、インストールファイルは、例えば、書庫ファイルの形式を有していてもよい。インストールファイルの中には、画像形成装置10にインストールされるプログラム(後述される「SDKアプリ」)や、当該プログラムの属性情報等が記述されたファイル(以下、「アプリ属性ファイル」という。)等が格納されている。   The program management apparatus 20 stores one or more files (hereinafter referred to as “installation files”) that store programs to be installed in the image forming apparatus 10. In response to a download request for any installation file, the program management apparatus 20 returns the installation file. Note that the installation file may have, for example, an archive file format. Among the installation files, a program installed in the image forming apparatus 10 (“SDK application” described later), a file describing attribute information of the program (hereinafter referred to as “application attribute file”), and the like. Is stored.

なお、プログラム管理装置20は、複数のコンピュータによって構成されていてもよい。   Note that the program management apparatus 20 may be configured by a plurality of computers.

図2は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図2において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、操作パネル15、ネットワークインタフェース16、及びSDカードスロット17等のハードウェアを有する。   FIG. 2 is a diagram illustrating a hardware configuration example of the image forming apparatus according to the embodiment of the present invention. 2, the image forming apparatus 10 includes hardware such as a controller 11, a scanner 12, a printer 13, a modem 14, an operation panel 15, a network interface 16, and an SD card slot 17.

コントローラ11は、CPU111、RAM112、ROM113、HDD114、及びNVRAM115等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記憶されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記憶される。NVRAM115には、各種の設定情報等が記憶される。   The controller 11 includes a CPU 111, a RAM 112, a ROM 113, an HDD 114, an NVRAM 115, and the like. The ROM 113 stores various programs and data used by the programs. The RAM 112 is used as a storage area for loading a program, a work area for the loaded program, and the like. The CPU 111 realizes various functions by processing a program loaded in the RAM 112. The HDD 114 stores a program and various data used by the program. The NVRAM 115 stores various setting information and the like.

スキャナ12は、原稿より画像データを読み取るためのハードウェア(画像読取手段)である。プリンタ13は、印刷データを印刷用紙に印刷するためのハードウェア(印刷手段)である。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル15は、ユーザからの入力の受け付けを行うためのボタン等の入力手段や、液晶パネル等の表示手段等を備えたハードウェアである。液晶パネルは、タッチパネル機能を有していてもよい。この場合、当該液晶パネルは、入力手段の機能をも兼ねる。ネットワークインタフェース16は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。SDカードスロット17は、SDカード80に記憶されたプログラムを読み取るために利用される。すなわち、画像形成装置10では、ROM113に記憶されたプログラムだけでなく、SDカード80に記憶されたプログラムもRAM112にロードされ、実行されうる。なお、他の記録媒体(例えば、CD−ROM又はUSB(Universal Serial Bus)メモリ等)によってSDカード80が代替されてもよい。すなわち、SDカード80の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、SDカードスロット17は、記録媒体の種類に応じたハードウェアによって代替されればよい。   The scanner 12 is hardware (image reading means) for reading image data from a document. The printer 13 is hardware (printing means) for printing print data on printing paper. The modem 14 is hardware for connecting to a telephone line, and is used to execute transmission / reception of image data by FAX communication. The operation panel 15 is hardware including input means such as buttons for accepting input from the user, display means such as a liquid crystal panel, and the like. The liquid crystal panel may have a touch panel function. In this case, the liquid crystal panel also functions as an input unit. The network interface 16 is hardware for connecting to a network such as a LAN (whether wired or wireless). The SD card slot 17 is used for reading a program stored in the SD card 80. That is, in the image forming apparatus 10, not only the program stored in the ROM 113 but also the program stored in the SD card 80 can be loaded into the RAM 112 and executed. The SD card 80 may be replaced by another recording medium (for example, a CD-ROM or a USB (Universal Serial Bus) memory). That is, the type of recording medium corresponding to the positioning of the SD card 80 is not limited to a predetermined one. In this case, the SD card slot 17 may be replaced by hardware corresponding to the type of recording medium.

図3は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。図3において、画像形成装置10は、標準アプリ121、SDKアプリ122、SDKプラットフォーム123、コントロールサービス124、及びOS125等を有する。   FIG. 3 is a diagram illustrating a software configuration example of the image forming apparatus according to the embodiment of the present invention. 3, the image forming apparatus 10 includes a standard application 121, an SDK application 122, an SDK platform 123, a control service 124, an OS 125, and the like.

標準アプリ121は、画像形成装置10に標準的に(出荷時に予め)実装されているアプリケーションプログラムの集合である。同図では、スキャンアプリ1211、印刷アプリ1212、コピーアプリ1213、及びFAXアプリ1214が例示されている。スキャンアプリ1211は、スキャナ12等を利用したスキャンジョブを実行する。印刷アプリ1212は、プリンタ13等を利用した印刷ジョブを実行する。コピーアプリ1213は、スキャナ12及びプリンタ13等を利用したコピージョブを実行する。FAXアプリ1214は、モデム14等を利用したFAXの送信ジョブ又は受信ジョブを実行する。なお、スキャナ12、プリンタ13、及びモデム14等は、画像形成装置10に固有のハードウェアの一例である。   The standard application 121 is a set of application programs that are installed on the image forming apparatus 10 in a standard manner (in advance at the time of shipment). In the figure, a scan application 1211, a print application 1212, a copy application 1213, and a FAX application 1214 are illustrated. The scan application 1211 executes a scan job using the scanner 12 or the like. The print application 1212 executes a print job using the printer 13 or the like. The copy application 1213 executes a copy job using the scanner 12 and the printer 13. The FAX application 1214 executes a FAX transmission job or reception job using the modem 14 or the like. The scanner 12, the printer 13, the modem 14, and the like are examples of hardware unique to the image forming apparatus 10.

なお、インストールされている標準アプリ121の種類は、画像形成装置10の機種に応じて異なりうる。例えば、モデム14を有していない機種の場合、FAXアプリ1214は、インストールされていない。   Note that the type of the installed standard application 121 may vary depending on the model of the image forming apparatus 10. For example, in the case of a model that does not have the modem 14, the FAX application 1214 is not installed.

コントロールサービス124は、各種のハードウェアリソース等を制御するための機能を上位アプリケーション等に対して提供するソフトウェアモジュール群であり、例えば、ネットワーク通信に関する機能、スキャナ12の制御機能、プリンタ13の制御機能、メモリ(RAM112、ROM113、及びNVRAM115等)の管理機能等を有する。   The control service 124 is a software module group that provides a function for controlling various hardware resources and the like to a host application. For example, a function related to network communication, a control function of the scanner 12, and a control function of the printer 13 And a management function of a memory (RAM 112, ROM 113, NVRAM 115, etc.).

SDKアプリ122は、画像形成装置10の出荷後において、画像形成装置10の機能拡張を図るために追加的にインストールされるアプリケーションプログラム(又はプラグインともいう。)である。同図では、SDKアプリ122の一例として、ScanToFAXアプリ1221が例示されている。ScanToFAXアプリ1221は、原稿からの画像データのスキャンと、当該画像データのFAX送信とを、画像形成装置10に実行させるSDKアプリ122である。   The SDK application 122 is an application program (also referred to as a plug-in) that is additionally installed in order to expand the functions of the image forming apparatus 10 after the image forming apparatus 10 is shipped. In the figure, a ScanToFAX application 1221 is illustrated as an example of the SDK application 122. The ScanToFAX application 1221 is an SDK application 122 that causes the image forming apparatus 10 to perform scanning of image data from a document and FAX transmission of the image data.

SDKプラットフォーム123は、SDKアプリ122を開発するためのAPI(Application Program Interface)を備えると共に、SDKアプリ122の実行環境を提供する。APIの形態は、例えば、関数であってもよいし、オブジェクト指向のクラス及びクラスのメソッド等であってもよい。以下、SDKプラットフォーム123が提供するAPIを、「SDKAPI」という。例えば、SDKプラットフォーム123は、スキャン機能に関するSDKAPI、印刷機能に関するSDKAPI、FAX機能に関するSDKAPI等をSDKアプリ122に提供する。SDKAPIは公開されており、サードベンダ等によってもSDKアプリ122は開発されうる。なお、SDKプラットフォーム123は、Java(登録商標)VM(Virtual Machine)を含んでいてもよい。この場合、SDKアプリ122は、Java(登録商標)言語によって実装される。   The SDK platform 123 includes an API (Application Program Interface) for developing the SDK application 122 and provides an execution environment for the SDK application 122. The form of the API may be, for example, a function, an object-oriented class, a class method, or the like. Hereinafter, the API provided by the SDK platform 123 is referred to as “SDKAPI”. For example, the SDK platform 123 provides the SDK application 122 with an SDK API related to the scan function, an SDK API related to the print function, an SDK API related to the FAX function, and the like. The SDK API is open to the public, and the SDK application 122 can be developed by a third vendor or the like. The SDK platform 123 may include a Java (registered trademark) VM (Virtual Machine). In this case, the SDK application 122 is implemented in the Java (registered trademark) language.

OS125は、いわゆるOS(Operating System)である。画像形成装置10上の各ソフトウェアは、OS125上においてプロセス又はスレッドとして動作する。   The OS 125 is a so-called OS (Operating System). Each software on the image forming apparatus 10 operates as a process or thread on the OS 125.

続いて、スキャンアプリ1211とScanToFAXアプリ1221との関係について説明する。図4は、スキャンアプリとScanToFAXアプリとの関係の一例を説明するための図である。   Next, the relationship between the scan application 1211 and the ScanToFAX application 1221 will be described. FIG. 4 is a diagram for explaining an example of the relationship between the scan application and the ScanToFAX application.

図4において、スキャンアプリ1211は、スキャンAPI1211aを有する。スキャンAPI1211aは、スキャンアプリ1211の機能を、他のプログラムから利用可能とするための、HTTP(HyperText Transfer Protocol)ベースのAPI(以下、「WebAPI」という。)である。スキャンAPI1211aがWebAPIであることにより、スキャンAPI1211aを利用する他のプログラムについて、プログラミング言語(開発言語)に関する制約を緩和することができる。例えば、スキャンアプリ1211がC言語によって実装されている場合であっても、Java(登録商標)言語で実装されているプログラムから、スキャンAPI1211aを容易に呼び出すことができる。また、ネットワークを介してスキャンAPI1211aを呼び出すこともできる。   In FIG. 4, the scan application 1211 has a scan API 1211a. The scan API 1211a is an HTTP (HyperText Transfer Protocol) -based API (hereinafter referred to as “WebAPI”) that enables the functions of the scan application 1211 to be used from other programs. Since the scan API 1211a is a Web API, restrictions on the programming language (development language) can be relaxed for other programs that use the scan API 1211a. For example, even when the scan application 1211 is implemented in C language, the scan API 1211a can be easily called from a program implemented in Java (registered trademark) language. Also, the scan API 1211a can be called through the network.

ScanToFAXアプリ1221が、画像形成装置10に原稿のスキャンを実行させるべく、スキャン機能に関するSDKAPIを呼び出すと、SDKプラットフォーム123は、当該SDKAPIに対応するスキャンAPI1211aを、HTTP経由で呼び出す。すなわち、SDKプラットフォーム123において、スキャンAPI1211aに対応するSDKAPIは、SDKAPIをラッピングしたAPIに相当する。したがって、スキャン機能に関するSDKAPIの実装は、実質的に、スキャンアプリ1211の実装と共通化されている。その結果、SDKプラットフォーム123において、スキャンアプリ1211と同様の実装を行う必要性を低減させることができる。また、スキャンアプリ1211の機能強化は、自動的にSDKAPIに反映されることになる。   When the ScanToFAX application 1221 calls SDKAPI related to the scan function to cause the image forming apparatus 10 to scan the document, the SDK platform 123 calls the scan API 1211a corresponding to the SDKAPI via HTTP. That is, in the SDK platform 123, the SDK API corresponding to the scan API 1211a corresponds to an API obtained by wrapping the SDK API. Therefore, the implementation of the SDK API related to the scan function is substantially made common with the implementation of the scan application 1211. As a result, it is possible to reduce the necessity to perform the same mounting as the scan application 1211 in the SDK platform 123. Further, the functional enhancement of the scan application 1211 is automatically reflected in the SDK API.

なお、ScanToFAXアプリ1221が、スキャンAPI1211aを直接呼び出す形態が採用されてもよい。但し、SDKAPIを経由することで、SDKプラットフォーム123において、ScanToFAXアプリ1221の状態を容易に把握することができる。   It should be noted that the ScanToFAX application 1221 may directly call the scan API 1211a. However, the status of the ScanToFAX application 1221 can be easily grasped in the SDK platform 123 by way of the SDK API.

また、スキャンAPI1211aは、必ずしもWebAPIでなくてもよい。例えば、プログラミング言語への依存が許容されるのであれば、スキャンAPI1211aは、特定のプログラミング言語に依存したAPIであってもよい。   Further, the scan API 1211a is not necessarily a Web API. For example, if the dependency on the programming language is allowed, the scan API 1211a may be an API depending on a specific programming language.

また、印刷アプリ1212、コピーアプリ1213、及びFAXアプリ1214等、他の標準アプリ121についても、コピーアプリ1213と同様に、当該アプリケーションに固有の機能に関するAPIが公開されてもよい。例えば、図4では、便宜上、スキャンアプリ1211とScanToFAXアプリ1221との関係のみが示されているが、ScanToFAXアプリ1221は、FAXアプリ1214に関しても、図4と同様の関係を有してもよい。すなわち、ScanToFAXアプリ1221は、スキャンされた画像データのFAX送信に関して、SDKAPIを介してFAXアプリ1214を呼び出してもよい。その結果、スキャンされた画像データをFAX送信するジョブが実現される。   In addition, for other standard applications 121 such as the print application 1212, the copy application 1213, and the FAX application 1214, APIs related to functions unique to the application may be disclosed in the same manner as the copy application 1213. For example, in FIG. 4, only the relationship between the scan application 1211 and the ScanToFAX application 1221 is shown for convenience, but the ScanToFAX application 1221 may have the same relationship as that of FIG. That is, the ScanToFAX application 1221 may call the FAX application 1214 via the SDK API for FAX transmission of scanned image data. As a result, a job for transmitting the scanned image data by FAX is realized.

上記より明らかなように、ScanToFAXアプリ1221は、SDKAPI(SDKプラットフォーム123)を介して、スキャンアプリ1211及びFAXアプリ1214を利用する、又はスキャンアプリ1211及びFAXアプリ1214に依存している。したがって、仮に、スキャンアプリ1211又はFAXアプリ1214がインストールされていない機種の画像形成装置10にScanToFAXアプリ1221がインストールされた場合、ScanToFAXアプリ1221は、正常な処理を当該画像形成装置10に実行させることができない。また、或るユーザに対して、スキャンアプリ1211及びFAXアプリ1214のうちの少なくともいずれか一方の利用権限が付与されていない場合に、当該ユーザに対して、ScanToFAXアプリ1221の利用権限が付与されたとしても、当該ユーザは、ScanToFAXアプリ1221を正常に利用することはできない。ScanToFAXアプリ1221が、SDKAPI経由でスキャンアプリ1211又はFAXアプリ1214を呼び出そうとしたときに、画像形成装置10は、スキャンアプリ1211又はFAXアプリ1214の利用権限が無いことを理由に、処理を中止させてしまうからである。   As apparent from the above, the ScanToFAX application 1221 uses the scan application 1211 and the FAX application 1214 via the SDKAPI (SDK platform 123), or depends on the scan application 1211 and the FAX application 1214. Therefore, if the ScanToFAX application 1221 is installed in the image forming apparatus 10 of a model in which the scan application 1211 or the FAX application 1214 is not installed, the ScanToFAX application 1221 causes the image forming apparatus 10 to perform normal processing. I can't. In addition, when the right to use at least one of the scan application 1211 and the FAX application 1214 is not given to a certain user, the right to use the ScanToFAX application 1221 is given to the user. However, the user cannot use the ScanToFAX application 1221 normally. When the ScanToFAX application 1221 attempts to call the scan application 1211 or the FAX application 1214 via the SDK API, the image forming apparatus 10 cancels the process because the user has no authority to use the scan application 1211 or the FAX application 1214. Because it will let you.

続いて、SDKプラットフォーム123の機能構成例について説明する。図5は、本発明の実施の形態におけるSDKプラットフォームの機能構成例を示す図である。図5において、SDKプラットフォーム123は、インストールファイル取得部1231、インストール依存情報取得部1232、インストール条件判定部1233、インストール部1234、権限依存情報取得部1235、権限付与条件判定部1236、及び権限付与部1237等を有する。これら各部は、画像形成装置10にインストールされたプログラムが、CPU111に実行させる処理により実現される。   Next, a functional configuration example of the SDK platform 123 will be described. FIG. 5 is a diagram illustrating a functional configuration example of the SDK platform according to the embodiment of the present invention. 5, the SDK platform 123 includes an installation file acquisition unit 1231, an installation dependency information acquisition unit 1232, an installation condition determination unit 1233, an installation unit 1234, an authority dependency information acquisition unit 1235, an authority grant condition determination unit 1236, and an authority grant unit. 1237 and the like. These units are realized by processing executed by the CPU 111 by a program installed in the image forming apparatus 10.

インストールファイル取得部1231は、インストール対象のSDKアプリ122を格納するインストールファイルを、プログラム管理装置20より取得する。インストール依存情報取得部1232は、インストールファイルに格納されているアプリ属性ファイルに記録されているデータより、インストール対象のSDKアプリ122が依存する標準アプリ121を示すと共に、各標準アプリ121の事前インストールが必須であるか否かを示す情報(以下、「インストール依存情報」という。)を取得する。インストール条件判定部1233は、インストール対象のSDKアプリ122のインストールが許可されるための条件(以下、「インストール条件」という。)が満たされているか否かを判定する。インストール部1234は、インストール対象のSDKアプリ122のインストールを実行する。   The installation file acquisition unit 1231 acquires from the program management apparatus 20 an installation file that stores the SDK application 122 to be installed. The installation dependency information acquisition unit 1232 indicates the standard application 121 on which the SDK application 122 to be installed depends from the data recorded in the application attribute file stored in the installation file, and pre-installation of each standard application 121 is performed. Information indicating whether it is essential (hereinafter referred to as “installation-dependent information”) is acquired. The installation condition determination unit 1233 determines whether a condition for permitting the installation of the installation target SDK application 122 (hereinafter referred to as “installation condition”) is satisfied. The installation unit 1234 executes installation of the SDK application 122 to be installed.

権限依存情報取得部1235は、利用権限の付与対象のSDKアプリ122に対応するアプリ属性ファイルに記録されていたデータより、当該SDKアプリ122が依存する標準アプリ121を示すと共に、各標準アプリ121の利用権限の付与が事前に必須であるか否かを示す情報(以下、「権限依存情報」という。)を取得する。権限付与条件判定部1236は、SDKアプリ122の利用権限の付与が許可されるための条件(以下、「権限付与条件」という。)が満たされているか否かを判定する。権限付与部1237は、SDKアプリ122の利用権限を所定のユーザに付与するための処理を実行する。   The authority-dependent information acquisition unit 1235 indicates the standard application 121 on which the SDK application 122 depends from the data recorded in the application attribute file corresponding to the SDK application 122 to which the usage authority is granted, Information indicating whether or not the use authority is required in advance is acquired (hereinafter referred to as “authority-dependent information”). The authority grant condition determination unit 1236 determines whether or not a condition for permitting the use authority of the SDK application 122 to be permitted (hereinafter referred to as “authorization condition”) is satisfied. The authority grant unit 1237 executes a process for granting the use authority of the SDK application 122 to a predetermined user.

以下、画像形成装置10が実行する処理手順について説明する。図6は、SDKアプリの利用環境の構築処理の処理手順の一例を説明するためのフローチャートである。   Hereinafter, a processing procedure executed by the image forming apparatus 10 will be described. FIG. 6 is a flowchart for explaining an example of the processing procedure of the construction process of the usage environment of the SDK application.

例えば、ユーザによって、或るSDKアプリ122のインストール指示が操作パネル15又はネットワークを介して入力されると、SDKプラットフォーム123は、当該SDKアプリ122のインストール処理を実行する(S11)。当該SDKアプリ122のインストールに失敗した場合、図6の以降の処理は実行されない。   For example, when an installation instruction for a certain SDK application 122 is input by the user via the operation panel 15 or the network, the SDK platform 123 executes an installation process for the SDK application 122 (S11). When the installation of the SDK application 122 fails, the subsequent processing of FIG. 6 is not executed.

インストールに成功した場合、SDKプラットフォーム123は、当該SDKアプリ122に関して、インストール時に利用権限の設定を行うか否かを判定する(S12)。当該判定は、例えば、全てのSDKアプリ122に対する共通の設定情報に基づいて行われてもよいし、SDKアプリ122ごとに個別の設定情報に基づいて行われてもよい。前者の場合、インストール時に利用権限の設定を行うか否かを示す設定情報は、例えば、HDD114に記憶されていてもよい。後者の場合、インストール時に利用権限の設定を行うか否かを示す設定情報は、例えば、インストール対象のSDKアプリ122のアプリ属性ファイルに記述されていてもよい。   If the installation is successful, the SDK platform 123 determines whether or not to set the usage authority for the SDK application 122 at the time of installation (S12). The determination may be performed based on, for example, common setting information for all the SDK applications 122, or may be performed based on individual setting information for each SDK application 122. In the former case, setting information indicating whether or not to set usage authority during installation may be stored in the HDD 114, for example. In the latter case, the setting information indicating whether to set the usage authority at the time of installation may be described in the application attribute file of the SDK application 122 to be installed, for example.

インストール時に利用権限の設定を行う場合(S12でYES)、SDKプラットフォーム123は、インストールされたSDKアプリ122について、利用権限の設定処理を実行する(S13)。利用権限の設定とは、当該SDKアプリ122に対する利用権限を、各ユーザに付与するか否かの設定をいう。利用権限の設定は、ユーザごとに行われてもよいし、複数のユーザの集合ごとのグループ単位でおこなわれてもよい。または、全ユーザに対して共通に行われてもよい。   When setting usage authority during installation (YES in S12), the SDK platform 123 executes usage authority setting processing for the installed SDK application 122 (S13). The setting of the usage authority refers to a setting as to whether or not to grant usage authority for the SDK application 122 to each user. The usage authority may be set for each user or for each group of a plurality of users. Alternatively, it may be performed in common for all users.

続いて、図6のステップS11の詳細について説明する。図7は、インストール処理の処理手順の一例を説明するためのフローチャートである。   Next, details of step S11 in FIG. 6 will be described. FIG. 7 is a flowchart for explaining an example of the processing procedure of the installation processing.

ステップS101において、インストールファイル取得部1231は、インストール対象のSDKアプリ122(以下、「対象SDKアプリ」という。)を含むインストールファイルを、プログラム管理装置20より取得(ダウンロード)する。例えば、インストールファイル取得部1231は、インストールファイルの識別情報が指定された取得要求を、プログラム管理装置20に送信する。プログラム管理装置20は、当該識別情報に係るインストールファイルを返信する。なお、インストールファイルは、SDカード80より取得されてもよい。すなわち、インストールファイルは、SDカード80等の記憶媒体によって流通してもよい。   In step S <b> 101, the installation file acquisition unit 1231 acquires (downloads) an installation file including the installation target SDK application 122 (hereinafter referred to as “target SDK application”) from the program management apparatus 20. For example, the installation file acquisition unit 1231 transmits an acquisition request in which identification information of the installation file is designated to the program management apparatus 20. The program management apparatus 20 returns an installation file related to the identification information. The installation file may be acquired from the SD card 80. That is, the installation file may be distributed by a storage medium such as the SD card 80.

続いて、インストールファイル取得部1231は、取得されたインストールファイルに含まれているアプリ属性ファイルより、インストール依存情報を取得する(S102)。   Subsequently, the installation file acquisition unit 1231 acquires installation dependency information from the application attribute file included in the acquired installation file (S102).

図8は、インストール依存情報の一例を示す図である。図8では、アプリ属性ファイルがXML(eXtensible Markup Language)形式で記述されている例が示されている。また、図8では、アプリ属性ファイルの記述内容のうち、インストール依存情報に関する記述のみが抜粋されている。   FIG. 8 is a diagram illustrating an example of installation-dependent information. FIG. 8 shows an example in which the application attribute file is described in an XML (eXtensible Markup Language) format. Further, in FIG. 8, only the description related to the installation dependency information is extracted from the description contents of the application attribute file.

<depend>タグで囲まれたdepend要素の値は、対象SDKアプリにとって依存先となる標準アプリ121の識別情報である。「Scanner」は、スキャンアプリ1211の識別情報である。「FAX」は、FAXアプリ1214の識別情報である。したがって、図8より、対象SDKアプリは、スキャンアプリ1211及びFAXアプリ1214に依存していることが分かる。   The value of the depend element enclosed in the <depend> tag is identification information of the standard application 121 that is a dependency destination for the target SDK application. “Scanner” is identification information of the scan application 1211. “FAX” is identification information of the FAX application 1214. Therefore, it can be seen from FIG. 8 that the target SDK application depends on the scan application 1211 and the FAX application 1214.

インストール依存情報を構成するdepend要素は、install属性を含む。install属性の値は、当該depend要素に係る標準アプリ121との関係における、対象SDKアプリのインストール条件を示す。具体的には、「forced」は、当該depend要素に係る標準アプリ121が事前にインストールされていることが必須である(強制される)ことを示す。すなわち、「forced」は、当該標準アプリ121がインストールされている場合に限って、対象SDKアプリのインストールが許可されることを示す。一方、「unforced」は、当該depend要素に係る標準アプリ121が事前にインストールされていることが必須でない(強制されない)ことを示す。なお、install属性が指定されない状態は、install属性の値が「unforced」である状態と同義である。また、いずれの標準アプリ121にも依存しないSDKアプリ122のアプリ属性ファイルには、depend要素は含まれていない。   The depend element that constitutes the installation-dependent information includes an install attribute. The value of the install attribute indicates the installation condition of the target SDK application in relation to the standard application 121 related to the depend element. Specifically, “forced” indicates that the standard application 121 related to the dependent element is required to be installed in advance (forced). That is, “forced” indicates that the installation of the target SDK application is permitted only when the standard application 121 is installed. On the other hand, “unforced” indicates that it is not essential (not forced) that the standard application 121 related to the dependent element is installed in advance. Note that the state where the install attribute is not specified is synonymous with the state where the value of the install attribute is “unforced”. The application attribute file of the SDK application 122 that does not depend on any standard application 121 does not include a depend element.

続いて、インストール条件判定部1233は、対象SDKアプリがいずれかの標準アプリ121に依存するか否かを判定する(S103)。すなわち、対象SDKアプリのアプリ属性ファイルからインストール依存情報(depend要素)が取得されたか否かが判定される。   Subsequently, the installation condition determination unit 1233 determines whether the target SDK application depends on any of the standard applications 121 (S103). That is, it is determined whether or not the installation dependency information (depend element) is acquired from the application attribute file of the target SDK application.

対象SDKアプリが、いずれの標準アプリ121にも依存しない場合(S103でNO)、インストール部1234は、対象SDKアプリのインストール処理を実行する(S109)。インストール処理では、対象SDKアプリのアプリ属性ファイルも、例えば、HDD114に記憶される。但し、アプリ属性ファイルがそのままの状態で記憶されなくてもよい。アプリ属性ファイルの内容が、別の形式に整形されて記憶されてもよい。以下、インストール処理によって記憶されたアプリ属性ファイルの内容を、「アプリ属性データ」という。なお、インストール処理に成功すると、図7の処理は正常終了し、図6のステップS12に進む。   When the target SDK application does not depend on any of the standard applications 121 (NO in S103), the installation unit 1234 executes installation processing of the target SDK application (S109). In the installation process, the application attribute file of the target SDK application is also stored in the HDD 114, for example. However, the application attribute file may not be stored as it is. The contents of the application attribute file may be formatted and stored in another format. Hereinafter, the content of the application attribute file stored by the installation process is referred to as “application attribute data”. If the installation process is successful, the process in FIG. 7 ends normally, and the process proceeds to step S12 in FIG.

一方、対象SDKアプリが、いずれかの標準アプリ121に依存する場合(S103でYES)、インストール条件判定部1233は、依存先の全ての標準アプリ121が画像形成装置10にインストール済みであるか否かを判定する(S104)。対象SDKアプリの依存先の全ての標準アプリ121とは、対象SDKアプリのアプリ属性ファイルのdepend要素に識別情報が指定されている全ての標準アプリ121をいう。ステップS104における判定は、例えば、NVRAM115又はHDD114に記憶されている、インストールされている標準アプリ121の一覧情報と、各depend要素の値とを照合することにより行われる。   On the other hand, when the target SDK application depends on any of the standard applications 121 (YES in S103), the installation condition determination unit 1233 determines whether all the dependent standard applications 121 have been installed in the image forming apparatus 10. Is determined (S104). All the standard applications 121 on which the target SDK application depends are all the standard applications 121 whose identification information is specified in the depend element of the application attribute file of the target SDK application. The determination in step S104 is performed, for example, by collating the list information of the installed standard applications 121 stored in the NVRAM 115 or the HDD 114 with the value of each dependent element.

依存先の全ての標準アプリ121がインストール済みである場合(S104でYES)、ステップS109が実行される。依存先の標準アプリ121のうちのいずれかがインストールされていない場合(S104でNO)、ステップS105以降において、異常に対応付いた処理(異常系の処理)の一例が実行される。具体的には、インストールされていない依存先の標準アプリ121(以下、「未インストール依存先アプリ」という。)が一つずつ処理対象とされて、順番にステップS105以降が実行される。   If all the dependent standard applications 121 have been installed (YES in S104), step S109 is executed. If any of the dependent standard applications 121 is not installed (NO in S104), an example of processing associated with an abnormality (abnormal processing) is executed in step S105 and subsequent steps. Specifically, the dependent standard applications 121 that are not installed (hereinafter referred to as “uninstalled dependent applications”) are processed one by one, and step S105 and subsequent steps are executed in order.

ステップS105において、インストール条件判定部1233は、処理対象の未インストール依存先アプリの事前インストールは必須であるか否かを判定する。当該判定は、当該未インストール依存先アプリに対応するdepend要素のinstall属性の値が、「forced」であるか否かによって行われる。   In step S105, the installation condition determination unit 1233 determines whether or not pre-installation of the processing target uninstalled dependence destination application is essential. This determination is made based on whether or not the value of the install attribute of the depend element corresponding to the non-installed dependence destination application is “forced”.

当該インストールが必須である場合、すなわち、当該install属性の値が「forced」である場合(S105でYES)、インストール条件判定部1233は、インストール条件が満たされないため、インストールは失敗であると判定する(S106)。この場合、図7の処理は、異常終了し、図6のステップS12以降は実行されない。なお、ステップS106において、インストール部1234は、図9に示されるような警告画面を、例えば、操作パネル15に表示させてもよい。   If the installation is essential, that is, if the value of the install attribute is “forced” (YES in S105), the installation condition determination unit 1233 determines that the installation has failed because the installation conditions are not satisfied. (S106). In this case, the process in FIG. 7 ends abnormally and is not executed after step S12 in FIG. In step S106, the installation unit 1234 may display a warning screen as shown in FIG. 9 on the operation panel 15, for example.

図9は、インストールの失敗を通知する警告画面の表示例を示す図である。図9の警告画面510は、ScanToFAXアプリ1221が対象SDKアプリであって、スキャンアプリ1211が画像形成装置10にインストールされていない状態に対応する。したがって、警告画面510は、スキャンアプリ1211がインストールされていないため、ScanToFAXアプリ1221をインストールできないことを示す警告メッセージを含む。   FIG. 9 is a diagram illustrating a display example of a warning screen for notifying installation failure. The warning screen 510 in FIG. 9 corresponds to a state in which the ScanToFAX application 1221 is the target SDK application and the scan application 1211 is not installed in the image forming apparatus 10. Therefore, the warning screen 510 includes a warning message indicating that the ScanToFAX application 1221 cannot be installed because the scan application 1211 is not installed.

一方、当該インストールが必須でない場合(S105でNO)、インストール部1234は、依存先の標準アプリ121がインストールされていないことを示す警告画面を、例えば、操作パネル15に表示させる(S107)。   On the other hand, if the installation is not essential (NO in S105), the installation unit 1234 displays, for example, a warning screen indicating that the standard application 121 that is the dependency destination is not installed on the operation panel 15 (S107).

図10は、依存先の標準アプリのインストールを促す警告画面の表示例を示す図である。図10の警告画面520は、ScanToFAXアプリ1221が対象SDKアプリであって、FAXアプリ1214が画像形成装置10にインストールされていない状態に対応する。したがって、警告画面520は、FAXアプリ1214のインストールを促す警告メッセージを含む。   FIG. 10 is a diagram illustrating a display example of a warning screen that prompts the user to install the standard application on which the dependency depends. The warning screen 520 in FIG. 10 corresponds to a state in which the ScanToFAX application 1221 is the target SDK application and the FAX application 1214 is not installed in the image forming apparatus 10. Therefore, the warning screen 520 includes a warning message that prompts the user to install the FAX application 1214.

ユーザによって、確認ボタン521が押下されると、インストール条件判定部1233は、他の全ての未インストール依存先アプリについて、ステップS105以降を実行する(S108)。全ての未インストール依存先についてステップS105以降が順番に実行される過程において、ステップS106が実行されて異常終了しなかった場合(S108でNO)、インストール部1234は、対象SDKアプリのインストール処理を実行する(S109)。インストール処理に成功すると、図7の処理は正常終了し、図6のステップS12に進む。   When the confirmation button 521 is pressed by the user, the installation condition determination unit 1233 executes step S105 and subsequent steps for all other non-installed dependence destination applications (S108). In the process in which step S105 and subsequent steps are sequentially executed for all the non-installation dependent destinations, when step S106 is executed and does not end abnormally (NO in S108), the installation unit 1234 executes the installation process of the target SDK application. (S109). If the installation process is successful, the process in FIG. 7 ends normally, and the process proceeds to step S12 in FIG.

続いて、図6のステップS13の詳細について説明する。図11は、利用権限設定処理の処理手順の一例を説明するためのフローチャートである。   Next, details of step S13 in FIG. 6 will be described. FIG. 11 is a flowchart for explaining an example of the processing procedure of the use authority setting process.

ステップS201において、権限依存情報取得部1235は、利用権限の設定対象のSDKアプリ(以下、「対象SDKアプリ」とい。)に関してHDD114等に記憶されているアプリ属性データより、権限依存情報を取得する(S201)。   In step S201, the authority-dependent information acquisition unit 1235 acquires authority-dependent information from application attribute data stored in the HDD 114 or the like regarding the SDK application for which usage authority is set (hereinafter referred to as “target SDK application”). (S201).

図12は、権限依存情報の一例を示す図である。図12では、アプリ属性データがXML(eXtensible Markup Language)形式で記述されている例が示されている。また、図12では、アプリ属性データのうち、権限依存情報に関する記述のみが抜粋されている。   FIG. 12 is a diagram illustrating an example of authority-dependent information. FIG. 12 shows an example in which application attribute data is described in an XML (eXtensible Markup Language) format. Moreover, in FIG. 12, only the description regarding authority dependence information is extracted from application attribute data.

depend要素及び当該要素の値の意味は、図8に示したインストール依存情報と同じである。権限依存情報を構成するdepend要素は、available属性を含む。available属性の値は、当該depend要素に係る標準アプリ121との関係における、対象SDKアプリに関する権限付与条件を示す。権限付与条件とは、利用権限の付与が許可されるための条件をいう。具体的には、「forced」は、当該depend要素に係る標準アプリ121について事前に利用権限が付与されていることが必須である(強制される)ことを示す。すなわち、「forced」は、当該標準アプリ121の利用権限が付与されている場合に限って、対象SDKアプリの利用権限の付与が許可されることを示す。一方、「unforced」は、当該depend要素に係る標準アプリ121について事前に利用権限が付与されていることが必須でない(強制されない)ことを示す。なお、available属性が指定されない状態は、available属性の値が「unforced」の状態と同義である。また、いずれの標準アプリ121に依存しないSDKアプリ122のアプリ属性データには、depend要素は含まれていない。   The meanings of the depend element and the value of the element are the same as the installation-dependent information shown in FIG. The dependent element constituting the authority-dependent information includes an available attribute. The value of the available attribute indicates an authorization condition regarding the target SDK application in the relationship with the standard application 121 related to the depend element. The authority granting condition is a condition for granting the use authority. Specifically, “forced” indicates that it is indispensable (forced) that the use authority is given in advance to the standard application 121 related to the depend element. That is, “forced” indicates that the use permission of the target SDK application is permitted only when the use right of the standard application 121 is granted. On the other hand, “unforced” indicates that it is not indispensable (not forced) that the use authority is given in advance to the standard application 121 related to the dependent element. Note that a state where the available attribute is not specified is synonymous with a state where the value of the available attribute is “unforced”. The application attribute data of the SDK application 122 that does not depend on any standard application 121 does not include a depend element.

なお、権限依存情報は、図8において示したインストール依存情報と統合されてもよい。すなわち、対象SDKアプリによる標準アプリ121への依存関係の影響は、インストール及び利用権限の設定のいずれにおいても同じである。したがって、一つのdepend要素に対して、install属性及びavailable属性の双方が記述されてもよい。   The authority dependency information may be integrated with the installation dependency information shown in FIG. That is, the influence of the dependency on the standard application 121 by the target SDK application is the same in both installation and usage authority settings. Therefore, both the install attribute and the available attribute may be described for one dependent element.

続いて、権限付与条件判定部1236は、対象SDKアプリがいずれかの標準アプリ121に依存するか否かを判定する(S202)。すなわち、対象SDKアプリのアプリ属性データから権限依存情報(depend要素)が取得されたか否かが判定される。   Subsequently, the authority grant condition determination unit 1236 determines whether the target SDK application depends on any of the standard applications 121 (S202). That is, it is determined whether or not the authority dependency information (depend element) is acquired from the application attribute data of the target SDK application.

対象SDKアプリが、いずれの標準アプリ121にも依存しない場合(S202でNO)、権限付与部1237は、対象SDKアプリの利用権限の付与処理を実行する(S210)。利用権限の付与処理では、利用権限の付与対象とされているユーザ(以下、「対象ユーザ」という。)に対して、対象SDKアプリの利用権限が付与されたこと(対象SDKアプリの利用が許可されること)を示す権限設定情報が、HDD114又はNVRAM115に記憶される。利用権限の付与対象とされるユーザは、例えば、ステップS201の前において、予め選択される。上述したように、利用権限の付与対象とされるユーザは、特定のユーザであってもよいし、特定のグループに属する複数のユーザであってもよいし、全ユーザであってもよい。なお、利用権限の付与処理に成功すると、図11の処理は正常終了する。   When the target SDK application does not depend on any standard application 121 (NO in S202), the authority granting unit 1237 executes a process for granting the use authority of the target SDK application (S210). In the usage right grant process, the usage right of the target SDK application is granted to the user who is the target of granting the usage right (hereinafter referred to as “target user”) (use of the target SDK application is permitted). Is set in the HDD 114 or the NVRAM 115. For example, the user to whom the usage authority is given is selected in advance before step S201. As described above, the user to whom the usage authority is given may be a specific user, a plurality of users belonging to a specific group, or all users. Note that if the use authority grant process is successful, the process of FIG. 11 ends normally.

一方、対象SDKアプリが、いずれかの標準アプリ121に依存する場合(S202でYES)、権限付与条件判定部1236は、依存先の全ての標準アプリ121の利用権限が、対象ユーザに対して付与済みであるか否かを判定する(S203)。対象SDKアプリの依存先の全ての標準アプリ121とは、対象SDKアプリのアプリ属性データのdepend要素に識別情報が指定されている全ての標準アプリ121をいう。ステップS203における判定は、例えば、NVRAM115又はHDD114に記憶されている権限設定情報を参照することにより行われる。   On the other hand, when the target SDK application depends on any of the standard applications 121 (YES in S202), the authority granting condition determination unit 1236 grants the use authority of all the dependent standard applications 121 to the target user. It is determined whether it has been completed (S203). All standard applications 121 on which the target SDK application depends are all standard applications 121 whose identification information is specified in the dependent element of the application attribute data of the target SDK application. The determination in step S203 is performed by referring to authority setting information stored in the NVRAM 115 or the HDD 114, for example.

依存先の全ての標準アプリ121の利用権限が、対象ユーザに付与済みである場合(S203でYES)、ステップS210が実行される。   When the usage authority of all the standard applications 121 of the dependence destination has been given to the target user (YES in S203), step S210 is executed.

依存先の標準アプリ121のうちのいずれかの利用権限が、対象ユーザに付与されていない場合(S203でNO)、ステップS204以降において、異常系の処理の一例が実行される。具体的には、利用権限が付与されていない依存先の標準アプリ121(以下、「権限未付与依存先アプリ」という。)が一つずつ処理対象とされて、順番にステップS204以降が実行される。   When the usage authority of any one of the dependent standard applications 121 is not granted to the target user (NO in S203), an example of abnormal processing is executed in step S204 and subsequent steps. Specifically, the dependency standard application 121 to which the usage authority is not granted (hereinafter referred to as “unauthorized dependency application”) is set as a processing target one by one, and step S204 and subsequent steps are executed in order. The

ステップS204において、権限付与条件判定部1236は、処理対象の権限未付与依存先アプリに関して事前の利用権限の付与は必須であるか否かを判定する。当該判定は、当該権限未付与依存先アプリに対応するdepend要素のavailable属性の値が、「forced」であるか否かによって行われる。   In step S <b> 204, the authority grant condition determination unit 1236 determines whether or not prior use authority is essential for the processing-target authority-unassigned dependency destination application. This determination is made based on whether or not the value of the available attribute of the depend element corresponding to the non-authoritative dependency destination application is “forced”.

当該利用権限の付与が必須である場合、すなわち、当該available属性の値が「forced」である場合(S204でYES)、権限付与条件判定部1236は、処理対象の権限未付与依存先アプリの利用権限の付与の是非を問い合わせる問い合わせ画面を、例えば、操作パネル15に表示させる(S205)。   When the usage right is required to be granted, that is, when the value of the available attribute is “forced” (YES in S204), the right grant condition determination unit 1236 uses the unprivileged dependency destination application to be processed. An inquiry screen for inquiring whether or not to grant authority is displayed on, for example, the operation panel 15 (S205).

図13は、問い合わせ画面の表示例を示す図である。図13の問い合わせ画面530は、ScanToFAXアプリ1221が対象SDKアプリであって、スキャンアプリ1211の利用権限が対象ユーザに付与されていない状態に対応する。   FIG. 13 is a diagram illustrating a display example of an inquiry screen. The inquiry screen 530 in FIG. 13 corresponds to a state in which the ScanToFAX application 1221 is the target SDK application and the usage authority for the scan application 1211 is not granted to the target user.

操作者は、利用権限を付与するか否かに応じて、はいボタン531又はいいえボタン532を押下する。   The operator presses the yes button 531 or the no button 532 depending on whether or not to grant usage authority.

はいボタン531が押下されると、権限付与部1237は、処理対象の権限未付与依存先アプリに関して、対象ユーザへの利用権限の付与処理を実行する。いいえボタン532が押下された場合、当該利用権限の付与処理は実行されない。   When the Yes button 531 is pressed, the authority granting unit 1237 executes a process of granting the use authority to the target user regarding the process-unprivileged dependency destination application. When the No button 532 is pressed, the use authority grant process is not executed.

続いて、権限付与条件判定部1236は、処理対象の権限未付与依存先アプリの利用権限が付与されたか否かを判定する(S206)。当該権限未付与依存先アプリの利用権限が付与されない場合(S206でNO)、権限付与条件判定部1236は、権限付与条件が満たされないため、利用権限の設定は失敗であると判定する(S207)。この場合、図11の処理は、異常終了する。当該権限未付与依存先アプリの利用権限が付与された場合(S206でYES)、ステップS209に進む。   Subsequently, the authority granting condition determining unit 1236 determines whether or not the authority to use the processing-target authority-independent dependency destination application has been granted (S206). When the usage authority of the unprivileged dependency-dependent application is not granted (NO in S206), the authorization condition determining unit 1236 determines that the setting of the usage authority is unsuccessful because the authorization condition is not satisfied (S207). . In this case, the process of FIG. 11 ends abnormally. When the authority to use the authority-unassigned dependency destination application is granted (YES in S206), the process proceeds to step S209.

一方、当該利用権限の付与が必須でない場合(S204でNO)、権限付与部1237は、依存先の標準アプリ121の利用権限が付与されていないことを示す警告メッセージを含む警告画面を、例えば、操作パネル15に表示させる(S208)。   On the other hand, when the use right is not necessarily granted (NO in S204), the right granting unit 1237 displays a warning screen including a warning message indicating that the use right of the standard application 121 as the dependency destination is not given. It is displayed on the operation panel 15 (S208).

続いて、権限付与条件判定部1236は、他の全ての権限未付与依存先アプリについて、ステップS204以降を実行する(S209)。全ての権限未付与依存先アプリについてステップS204以降が順番に実行される過程において、ステップS207が実行されて異常終了しなかった場合(S209でNO)、権限付与部1237は、対象SDKアプリの利用権限の付与処理を実行する(S210)。   Subsequently, the authority granting condition determination unit 1236 executes step S204 and subsequent steps for all other authority-unauthorized dependency destination applications (S209). In the process in which step S204 and subsequent steps are executed in order for all unprivileged dependency-destination apps, if step S207 is not abnormally terminated (NO in S209), the privilege granting unit 1237 uses the target SDK app. Authority grant processing is executed (S210).

上述したように、本実施の形態によれば、いずれかの標準アプリ121に依存するSDKアプリ122のインストールや利用権限の設定に関して、依存先の標準アプリ121のインストール状況や、利用権限の設定状況等に応じて、異常系の処理を実行させることができる。例えば、異常系の処理として、処理を中止したり、ユーザに対して警告又は問い合わせ等を行ったりすることができる。   As described above, according to the present embodiment, regarding the installation of the SDK application 122 that depends on any of the standard applications 121 and the setting of usage authority, the installation status of the dependent standard application 121 and the usage authority setting status In accordance with the above, abnormal processing can be executed. For example, as an abnormal process, the process can be stopped or a warning or inquiry can be made to the user.

その結果、正常に利用できない状態をユーザが知らずに、SDKアプリ122が正常にインストールされてしまったり、利用権限が正常に設定されてしまったりするのを回避することができる。その結果、プログラム間の依存関係に基づく不都合の発生を低減させることができる。   As a result, it is possible to avoid that the SDK application 122 is normally installed or the usage authority is normally set without the user knowing the state in which the user cannot normally use. As a result, it is possible to reduce the occurrence of inconvenience based on the dependency between programs.

また、本実施の形態では、SDKプラットフォーム123が、一元的に上記の処理を行うため、SDKアプリ122ごとに、上記のような異常系の処理を実装する必要性を低減することができる。   Further, in the present embodiment, since the SDK platform 123 performs the above processing in an integrated manner, it is possible to reduce the necessity of implementing the above abnormal processing for each SDK application 122.

なお、本実施の形態では、SDKアプリ122が標準アプリ121に依存する例について説明したが、或るSDKアプリ122が、他のSDKアプリ122に依存する場合について、本実施の形態が適用されてもよい。   In this embodiment, an example in which the SDK application 122 depends on the standard application 121 has been described. However, the present embodiment is applied to a case where a certain SDK application 122 depends on another SDK application 122. Also good.

また、本実施の形態は、プロジェクタ、デジタルカメラ、テレビ会議システム等、画像形成装置10以外の機器又はシステムに適用されてもよい。   Further, the present embodiment may be applied to devices or systems other than the image forming apparatus 10 such as a projector, a digital camera, and a video conference system.

ところで、本実施の形態では、depend要素のinstall属性において、依存先の事前インストールが必須であるか否かが設定可能とされている。換言すれば、依存先の事前インストールは、固定的に強制されていない。これは、インストール順序が拘束されることによる不都合を回避するためである。例えば、ユーザが、正常に動作をしないことを承知の上で、とりあえずSDKアプリ122をインストールし、その後に、標準アプリ121をインストールしようとする場合も考えられるからである(理由1)。   By the way, in this embodiment, it is possible to set whether or not the pre-installation of the dependency destination is essential in the install attribute of the depend element. In other words, the pre-installation of the dependee is not fixedly forced. This is to avoid inconvenience due to the restriction of the installation order. For example, it is also conceivable that the user installs the SDK application 122 for the time being after knowing that the user does not operate normally, and then installs the standard application 121 (reason 1).

また、依存先のSDKアプリ122がインストールされている場合にのみインストールが許可されるとすると、相互に依存し合う2つ以上のSDKアプリ122のインストールが不可能となってしまう場合が有る(理由2)。   Also, if installation is permitted only when the dependency-destination SDK application 122 is installed, it may be impossible to install two or more SDK applications 122 that depend on each other (reason) 2).

更に、一部の機能に限って、標準アプリ121又は他のSDKアプリ122に依存するSDKアプリ122の場合、依存先の標準アプリ121又は他のSDKアプリ122がインストールされていない場合でも、当該一部の機能以外の機能を実行することが可能な場合に対応するためのである(理由3)。   Furthermore, in the case of the SDK application 122 that depends on the standard application 121 or other SDK application 122 only for a part of the functions, even when the standard application 121 or other SDK application 122 that is the dependency destination is not installed, This is to cope with a case where a function other than the function of the unit can be executed (reason 3).

そして、特に、理由2及び理由3に関しては、SDKアプリ122の開発者であれば、事情を予測可能であると考えられる。したがって、本実施の形態では、当該開発者によって作成される可能性の高いアプリ属性ファイルにおいて、事前インストールが必須であるか否かが設定可能とされているのである。   In particular, regarding the reason 2 and the reason 3, it is considered that the developer of the SDK application 122 can predict the situation. Therefore, in this embodiment, it is possible to set whether or not pre-installation is essential in an application attribute file that is likely to be created by the developer.

depend要素のavailable属性において、依存先の事前の利用権限の付与が強制されるか否かが設定可能とされているのも、上記と同様の理由による。   For the same reason as described above, it is possible to set in the available attribute of the depend element whether or not to grant the prior use authority of the dependency destination.

なお、本実施の形態において、インストール条件判定部1233又は権限付与条件判定部1236は、判定部の一例である。プログラム管理装置20は、記憶装置の一例である。アプリ属性ファイルに格納されているデータは、第一のプログラムに対応付けられているデータの一例である。   In the present embodiment, the installation condition determination unit 1233 or the authority grant condition determination unit 1236 is an example of a determination unit. The program management device 20 is an example of a storage device. The data stored in the application attribute file is an example of data associated with the first program.

以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.

1 インストールシステム
10 画像形成装置
11 コントローラ
12 スキャナ
13 プリンタ
14 モデム
15 操作パネル
16 ネットワークインタフェース
17 SDカードスロット
20 プログラム管理装置
80 SDカード
111 CPU
112 RAM
113 ROM
114 HDD
115 NVRAM
121 標準アプリ121
122 SDKアプリ
123 SDKプラットフォーム
124 コントロールサービス
125 OS
1211 スキャンアプリ
1212 印刷アプリ
1213 コピーアプリ
1214 FAXアプリ
1221 ScanToFAXアプリ
1231 インストールファイル取得部
1232 インストール依存情報取得部
1233 インストール条件判定部
1234 インストール部
1235 権限依存情報取得部
1236 権限付与条件判定部
1237 権限付与部
DESCRIPTION OF SYMBOLS 1 Installation system 10 Image forming apparatus 11 Controller 12 Scanner 13 Printer 14 Modem 15 Operation panel 16 Network interface 17 SD card slot 20 Program management apparatus 80 SD card 111 CPU
112 RAM
113 ROM
114 HDD
115 NVRAM
121 Standard application 121
122 SDK application 123 SDK platform 124 Control service 125 OS
1211 Scan application 1212 Print application 1213 Copy application 1214 FAX application 1221 ScanToFAX application 1231 Installation file acquisition unit 1232 Installation dependency information acquisition unit 1233 Installation condition determination unit 1234 Installation unit 1235 Authority dependency information acquisition unit 1236 Authority grant condition determination unit 1237 Authority grant unit

特開2005−269619号公報JP 2005-269619 A 特開2003−202930号公報JP 2003-202930 A

Claims (8)

インストール対象の第一のプログラムに対応付けられているデータに基づいて特定される、前記第一のプログラムが依存する第二のプログラムがインストール済みであるかを判定する判定部と、
前記第二のプログラムがインストール済みではない場合に、前記第一のプログラムのインストールについて異常に対応付いた処理を実行するインストール部とを有し、
前記インストール部は、前記データにおいて、前記第二のプログラムがインストール済みであることが必須であることが示されている場合に、前記第一のプログラムのインストールを実行しない、
ことを特徴とする機器。
A determination unit that determines whether the second program that the first program depends on is specified based on data associated with the first program to be installed; and
When the second program is not already installed, an installation unit that executes processing associated with an abnormality in the installation of the first program,
The installation unit does not execute the installation of the first program when the data indicates that the second program is already installed.
Equipment characterized by that.
前記インストール部は、前記データにおいて、前記第二のプログラムがインストール済みであることが必須であることが示されている場合に、前記第二のプログラムがインストールされていないことを示す情報を出力し、前記第一のプログラムのインストールを実行しない、
ことを特徴とする請求項1記載の機器。
The installation unit outputs information indicating that the second program is not installed when the data indicates that the second program has been installed. Do not perform installation of the first program,
The device according to claim 1.
前記インストール部は、前記第二のプログラムがインストール済みである場合に、前記第二のプログラムに対する利用権限が所定のユーザに付与されていないと、前記所定のユーザへの前記利用権限の付与をするか否かを操作者に問い合わせる、
ことを特徴とする請求項1又は2記載の機器。
The installation unit grants the use authority to the predetermined user if the use authority for the second program is not given to the predetermined user when the second program is already installed. Ask the operator whether or not
The apparatus according to claim 1 or 2, characterized by the above.
前記インストール部は、前記操作者によって前記利用権限を付与しないことが指示されると、前記第一のプログラムに対する利用権限を、前記所定のユーザに付与しない、
ことを特徴とする請求項3記載の機器。
When the installation unit is instructed not to grant the usage right by the operator, the installation unit does not grant the usage right to the first program to the predetermined user.
The device according to claim 3.
前記インストール部は、前記データにおいて、前記第二のプログラムがインストール済みであることが必須でないことが示されている場合に、前記第二のプログラムがインストールされていないことを示す情報を出力し、前記第一のプログラムのインストールを実行する、
ことを特徴とする請求項1乃至4いずれか一項記載の機器。
The installation unit outputs information indicating that the second program is not installed when the data indicates that the second program is not necessarily installed. Performing installation of the first program;
The device according to any one of claims 1 to 4, wherein
請求項1乃至5いずれか一項記載の機器と、前記機器にネットワークを介して接続し、前記第一のプログラムを記憶する記憶装置とを有する情報処理システム。   An information processing system comprising: the device according to any one of claims 1 to 5; and a storage device connected to the device via a network and storing the first program. インストール対象の第一のプログラムに対応付けられているデータに基づいて特定される、前記第一のプログラムが依存する第二のプログラムがインストール済みであるかを判定する判定手順と、
前記第二のプログラムがインストール済みでない場合に、前記第一のプログラムのインストールについて異常に対応付いた処理を実行するインストール手順とを機器が実行し、
前記インストール手順は、前記データにおいて、前記第二のプログラムがインストール済みであることが必須であることが示されている場合に、前記第一のプログラムのインストールを実行しない、
ことを特徴とする情報処理方法。
A determination procedure for determining whether or not the second program on which the first program depends is identified based on data associated with the first program to be installed; and
When the second program is not already installed, the device executes an installation procedure for executing processing associated with an abnormality in the installation of the first program,
The installation procedure does not execute the installation of the first program when the data indicates that it is essential that the second program has been installed.
An information processing method characterized by the above.
インストール対象の第一のプログラムに対応付けられているデータに基づいて特定される、前記第一のプログラムが依存する第二のプログラムがインストール済みであるかを判定する判定手順と、
前記第二のプログラムがインストール済みでない場合に、前記第一のプログラムのインストールについて異常に対応付いた処理を実行するインストール手順とを機器に実行させ、
前記インストール手順は、前記データにおいて、前記第二のプログラムがインストール済みであることが必須であることが示されている場合に、前記第一のプログラムのインストールを実行しない、
ことを特徴とするプログラム。
A determination procedure for determining whether or not the second program on which the first program depends is identified based on data associated with the first program to be installed; and
When the second program is not already installed, the device is caused to execute an installation procedure for executing a process associated with an abnormality in the installation of the first program,
The installation procedure does not execute the installation of the first program when the data indicates that it is essential that the second program has been installed.
A program characterized by that.
JP2017020890A 2017-02-08 2017-02-08 Apparatus, information processing system, information processing method, and program Active JP6330933B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017020890A JP6330933B2 (en) 2017-02-08 2017-02-08 Apparatus, information processing system, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017020890A JP6330933B2 (en) 2017-02-08 2017-02-08 Apparatus, information processing system, information processing method, and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013041705A Division JP6089794B2 (en) 2013-03-04 2013-03-04 Apparatus, information processing system, information processing method, and program

Publications (2)

Publication Number Publication Date
JP2017084420A true JP2017084420A (en) 2017-05-18
JP6330933B2 JP6330933B2 (en) 2018-05-30

Family

ID=58713007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017020890A Active JP6330933B2 (en) 2017-02-08 2017-02-08 Apparatus, information processing system, information processing method, and program

Country Status (1)

Country Link
JP (1) JP6330933B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004127280A (en) * 2002-09-13 2004-04-22 Ricoh Co Ltd Image forming apparatus and application start control method
JP2010033421A (en) * 2008-07-30 2010-02-12 Canon Inc Integrated installer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004127280A (en) * 2002-09-13 2004-04-22 Ricoh Co Ltd Image forming apparatus and application start control method
JP2010033421A (en) * 2008-07-30 2010-02-12 Canon Inc Integrated installer

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
UNISYS ABSUITE導入・構成ガイド リリース2.0, vol. 第1版, JPN6017042945, July 2012 (2012-07-01), JP, pages 2 - 27, ISSN: 0003678114 *
蒲生睦男, さすが!と言わせる PLAGGER徹底攻略術, vol. 第1版, JPN6017042944, 2 February 2009 (2009-02-02), pages 220, ISSN: 0003678113 *

Also Published As

Publication number Publication date
JP6330933B2 (en) 2018-05-30

Similar Documents

Publication Publication Date Title
US8305591B2 (en) Image forming apparatus and methods used in the image forming apparatus
US9307108B2 (en) Information processing system and information processing method
US9274776B2 (en) Product, method, and apparatus for installing a second program based on a call from a first program
US9274775B2 (en) Apparatus, control method, and storage medium to instruct a framework to stop a target application based on a usage amount of a resource and a type of the target application
US8429727B2 (en) Authentication control apparatus and authentication control method
US10664212B2 (en) Image forming apparatus, control method for image forming apparatus, and storage medium for controlling storage of a print job
US11140291B2 (en) Information processing apparatus, control method thereof, and storage medium
US8713561B2 (en) Device, information processing method, and computer-readable storage medium
US9612818B2 (en) Information processing apparatus, program management method for information processing apparatus, and non-transitory computer-readable storage medium
US8839250B2 (en) Image forming apparatus, storage medium, and program system determination
US9250840B2 (en) Image forming apparatus capable of executing applications, image forming method, and recording medium
US10996998B2 (en) Information processing apparatus and control method thereof
JP7069969B2 (en) Information processing equipment, information processing methods and information processing programs
JP5293462B2 (en) Electronic device, information processing method, and information processing program
JP5793872B2 (en) Image forming apparatus, program management method, program management program, and recording medium
JP6089794B2 (en) Apparatus, information processing system, information processing method, and program
JP6961412B2 (en) Image forming device, control method of image forming device, and program
JP6330933B2 (en) Apparatus, information processing system, information processing method, and program
US20170244846A1 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
JP7119433B2 (en) Equipment, information processing system, information processing method and program
JP2016062350A (en) Image forming apparatus, information processing method, and program
JP2017220013A (en) Equipment management device, equipment management system and equipment management program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180409

R151 Written notification of patent or utility model registration

Ref document number: 6330933

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151