JP6330933B2 - Apparatus, information processing system, information processing method, and program - Google Patents
Apparatus, information processing system, information processing method, and program Download PDFInfo
- Publication number
- JP6330933B2 JP6330933B2 JP2017020890A JP2017020890A JP6330933B2 JP 6330933 B2 JP6330933 B2 JP 6330933B2 JP 2017020890 A JP2017020890 A JP 2017020890A JP 2017020890 A JP2017020890 A JP 2017020890A JP 6330933 B2 JP6330933 B2 JP 6330933B2
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
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. When the second program is not installed, the determination unit for determining whether the second program has been installed, the process associated with the abnormality of the installation of the first program is executed , and the second program is installed An installation unit that inquires of an operator whether or not to grant the usage authority to the predetermined user when the usage authority for the second program is not granted to the predetermined user; The section may require that the second program is already installed in the data. If it is, it does not perform the installation of the first program.
プログラム間の依存関係に基づく不都合の発生を低減させること。 To reduce the occurrence of inconvenience based on dependencies between programs.
以下、図面に基づいて本発明の実施の形態を説明する。図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
画像形成装置10は、印刷、スキャン、コピー、及びFAX送受信等のうちの2以上の機能を一台の筐体によって実現する複合機である。但し、いずれか一つの機能を有する機器が画像形成装置10として用いられてもよい。
The
プログラム管理装置20は、画像形成装置10にインストールされるプログラムを格納した1以上のファイル(以下、「インストールファイル」という。)を記憶する。プログラム管理装置20は、いずれかのインストールファイルのダウンロード要求に応じ、当該インストールファイルを返信する。なお、インストールファイルは、例えば、書庫ファイルの形式を有していてもよい。インストールファイルの中には、画像形成装置10にインストールされるプログラム(後述される「SDKアプリ」)や、当該プログラムの属性情報等が記述されたファイル(以下、「アプリ属性ファイル」という。)等が格納されている。
The
なお、プログラム管理装置20は、複数のコンピュータによって構成されていてもよい。
Note that the
図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
コントローラ11は、CPU111、RAM112、ROM113、HDD114、及びNVRAM115等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記憶されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記憶される。NVRAM115には、各種の設定情報等が記憶される。
The
スキャナ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
図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
標準アプリ121は、画像形成装置10に標準的に(出荷時に予め)実装されているアプリケーションプログラムの集合である。同図では、スキャンアプリ1211、印刷アプリ1212、コピーアプリ1213、及びFAXアプリ1214が例示されている。スキャンアプリ1211は、スキャナ12等を利用したスキャンジョブを実行する。印刷アプリ1212は、プリンタ13等を利用した印刷ジョブを実行する。コピーアプリ1213は、スキャナ12及びプリンタ13等を利用したコピージョブを実行する。FAXアプリ1214は、モデム14等を利用したFAXの送信ジョブ又は受信ジョブを実行する。なお、スキャナ12、プリンタ13、及びモデム14等は、画像形成装置10に固有のハードウェアの一例である。
The
なお、インストールされている標準アプリ121の種類は、画像形成装置10の機種に応じて異なりうる。例えば、モデム14を有していない機種の場合、FAXアプリ1214は、インストールされていない。
Note that the type of the installed
コントロールサービス124は、各種のハードウェアリソース等を制御するための機能を上位アプリケーション等に対して提供するソフトウェアモジュール群であり、例えば、ネットワーク通信に関する機能、スキャナ12の制御機能、プリンタ13の制御機能、メモリ(RAM112、ROM113、及びNVRAM115等)の管理機能等を有する。
The
SDKアプリ122は、画像形成装置10の出荷後において、画像形成装置10の機能拡張を図るために追加的にインストールされるアプリケーションプログラム(又はプラグインともいう。)である。同図では、SDKアプリ122の一例として、ScanToFAXアプリ1221が例示されている。ScanToFAXアプリ1221は、原稿からの画像データのスキャンと、当該画像データのFAX送信とを、画像形成装置10に実行させるSDKアプリ122である。
The
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
OS125は、いわゆるOS(Operating System)である。画像形成装置10上の各ソフトウェアは、OS125上においてプロセス又はスレッドとして動作する。
The
続いて、スキャンアプリ1211とScanToFAXアプリ1221との関係について説明する。図4は、スキャンアプリとScanToFAXアプリとの関係の一例を説明するための図である。
Next, the relationship between the
図4において、スキャンアプリ1211は、スキャンAPI1211aを有する。スキャンAPI1211aは、スキャンアプリ1211の機能を、他のプログラムから利用可能とするための、HTTP(HyperText Transfer Protocol)ベースのAPI(以下、「WebAPI」という。)である。スキャンAPI1211aがWebAPIであることにより、スキャンAPI1211aを利用する他のプログラムについて、プログラミング言語(開発言語)に関する制約を緩和することができる。例えば、スキャンアプリ1211がC言語によって実装されている場合であっても、Java(登録商標)言語で実装されているプログラムから、スキャンAPI1211aを容易に呼び出すことができる。また、ネットワークを介してスキャンAPI1211aを呼び出すこともできる。
In FIG. 4, the
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アプリ1221が、スキャンAPI1211aを直接呼び出す形態が採用されてもよい。但し、SDKAPIを経由することで、SDKプラットフォーム123において、ScanToFAXアプリ1221の状態を容易に把握することができる。
It should be noted that the
また、スキャンAPI1211aは、必ずしもWebAPIでなくてもよい。例えば、プログラミング言語への依存が許容されるのであれば、スキャンAPI1211aは、特定のプログラミング言語に依存したAPIであってもよい。
Further, the
また、印刷アプリ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
上記より明らかなように、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
続いて、SDKプラットフォーム123の機能構成例について説明する。図5は、本発明の実施の形態におけるSDKプラットフォームの機能構成例を示す図である。図5において、SDKプラットフォーム123は、インストールファイル取得部1231、インストール依存情報取得部1232、インストール条件判定部1233、インストール部1234、権限依存情報取得部1235、権限付与条件判定部1236、及び権限付与部1237等を有する。これら各部は、画像形成装置10にインストールされたプログラムが、CPU111に実行させる処理により実現される。
Next, a functional configuration example of the
インストールファイル取得部1231は、インストール対象のSDKアプリ122を格納するインストールファイルを、プログラム管理装置20より取得する。インストール依存情報取得部1232は、インストールファイルに格納されているアプリ属性ファイルに記録されているデータより、インストール対象のSDKアプリ122が依存する標準アプリ121を示すと共に、各標準アプリ121の事前インストールが必須であるか否かを示す情報(以下、「インストール依存情報」という。)を取得する。インストール条件判定部1233は、インストール対象のSDKアプリ122のインストールが許可されるための条件(以下、「インストール条件」という。)が満たされているか否かを判定する。インストール部1234は、インストール対象のSDKアプリ122のインストールを実行する。
The installation file acquisition unit 1231 acquires from the
権限依存情報取得部1235は、利用権限の付与対象のSDKアプリ122に対応するアプリ属性ファイルに記録されていたデータより、当該SDKアプリ122が依存する標準アプリ121を示すと共に、各標準アプリ121の利用権限の付与が事前に必須であるか否かを示す情報(以下、「権限依存情報」という。)を取得する。権限付与条件判定部1236は、SDKアプリ122の利用権限の付与が許可されるための条件(以下、「権限付与条件」という。)が満たされているか否かを判定する。権限付与部1237は、SDKアプリ122の利用権限を所定のユーザに付与するための処理を実行する。
The authority-dependent
以下、画像形成装置10が実行する処理手順について説明する。図6は、SDKアプリの利用環境の構築処理の処理手順の一例を説明するためのフローチャートである。
Hereinafter, a processing procedure executed by the
例えば、ユーザによって、或るSDKアプリ122のインストール指示が操作パネル15又はネットワークを介して入力されると、SDKプラットフォーム123は、当該SDKアプリ122のインストール処理を実行する(S11)。当該SDKアプリ122のインストールに失敗した場合、図6の以降の処理は実行されない。
For example, when an installation instruction for a
インストールに成功した場合、SDKプラットフォーム123は、当該SDKアプリ122に関して、インストール時に利用権限の設定を行うか否かを判定する(S12)。当該判定は、例えば、全てのSDKアプリ122に対する共通の設定情報に基づいて行われてもよいし、SDKアプリ122ごとに個別の設定情報に基づいて行われてもよい。前者の場合、インストール時に利用権限の設定を行うか否かを示す設定情報は、例えば、HDD114に記憶されていてもよい。後者の場合、インストール時に利用権限の設定を行うか否かを示す設定情報は、例えば、インストール対象のSDKアプリ122のアプリ属性ファイルに記述されていてもよい。
If the installation is successful, the
インストール時に利用権限の設定を行う場合(S12でYES)、SDKプラットフォーム123は、インストールされたSDKアプリ122について、利用権限の設定処理を実行する(S13)。利用権限の設定とは、当該SDKアプリ122に対する利用権限を、各ユーザに付与するか否かの設定をいう。利用権限の設定は、ユーザごとに行われてもよいし、複数のユーザの集合ごとのグループ単位でおこなわれてもよい。または、全ユーザに対して共通に行われてもよい。
When setting usage authority during installation (YES in S12), the
続いて、図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
続いて、インストールファイル取得部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
インストール依存情報を構成する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
続いて、インストール条件判定部1233は、対象SDKアプリがいずれかの標準アプリ121に依存するか否かを判定する(S103)。すなわち、対象SDKアプリのアプリ属性ファイルからインストール依存情報(depend要素)が取得されたか否かが判定される。
Subsequently, the installation
対象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
一方、対象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
依存先の全ての標準アプリ121がインストール済みである場合(S104でYES)、ステップS109が実行される。依存先の標準アプリ121のうちのいずれかがインストールされていない場合(S104でNO)、ステップS105以降において、異常に対応付いた処理(異常系の処理)の一例が実行される。具体的には、インストールされていない依存先の標準アプリ121(以下、「未インストール依存先アプリ」という。)が一つずつ処理対象とされて、順番にステップS105以降が実行される。
If all the dependent
ステップS105において、インストール条件判定部1233は、処理対象の未インストール依存先アプリの事前インストールは必須であるか否かを判定する。当該判定は、当該未インストール依存先アプリに対応するdepend要素のinstall属性の値が、「forced」であるか否かによって行われる。
In step S105, the installation
当該インストールが必須である場合、すなわち、当該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
図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
一方、当該インストールが必須でない場合(S105でNO)、インストール部1234は、依存先の標準アプリ121がインストールされていないことを示す警告画面を、例えば、操作パネル15に表示させる(S107)。
On the other hand, if the installation is not essential (NO in S105), the
図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
ユーザによって、確認ボタン521が押下されると、インストール条件判定部1233は、他の全ての未インストール依存先アプリについて、ステップS105以降を実行する(S108)。全ての未インストール依存先についてステップS105以降が順番に実行される過程において、ステップS106が実行されて異常終了しなかった場合(S108でNO)、インストール部1234は、対象SDKアプリのインストール処理を実行する(S109)。インストール処理に成功すると、図7の処理は正常終了し、図6のステップS12に進む。
When the
続いて、図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
図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
なお、権限依存情報は、図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
続いて、権限付与条件判定部1236は、対象SDKアプリがいずれかの標準アプリ121に依存するか否かを判定する(S202)。すなわち、対象SDKアプリのアプリ属性データから権限依存情報(depend要素)が取得されたか否かが判定される。
Subsequently, the authority grant
対象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
一方、対象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
依存先の全ての標準アプリ121の利用権限が、対象ユーザに付与済みである場合(S203でYES)、ステップS210が実行される。
When the usage authority of all the
依存先の標準アプリ121のうちのいずれかの利用権限が、対象ユーザに付与されていない場合(S203でNO)、ステップS204以降において、異常系の処理の一例が実行される。具体的には、利用権限が付与されていない依存先の標準アプリ121(以下、「権限未付与依存先アプリ」という。)が一つずつ処理対象とされて、順番にステップS204以降が実行される。
When the usage authority of any one of the dependent
ステップS204において、権限付与条件判定部1236は、処理対象の権限未付与依存先アプリに関して事前の利用権限の付与は必須であるか否かを判定する。当該判定は、当該権限未付与依存先アプリに対応するdepend要素のavailable属性の値が、「forced」であるか否かによって行われる。
In step S <b> 204, the authority grant
当該利用権限の付与が必須である場合、すなわち、当該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
図13は、問い合わせ画面の表示例を示す図である。図13の問い合わせ画面530は、ScanToFAXアプリ1221が対象SDKアプリであって、スキャンアプリ1211の利用権限が対象ユーザに付与されていない状態に対応する。
FIG. 13 is a diagram illustrating a display example of an inquiry screen. The
操作者は、利用権限を付与するか否かに応じて、はいボタン531又はいいえボタン532を押下する。
The operator presses the
はいボタン531が押下されると、権限付与部1237は、処理対象の権限未付与依存先アプリに関して、対象ユーザへの利用権限の付与処理を実行する。いいえボタン532が押下された場合、当該利用権限の付与処理は実行されない。
When the
続いて、権限付与条件判定部1236は、処理対象の権限未付与依存先アプリの利用権限が付与されたか否かを判定する(S206)。当該権限未付与依存先アプリの利用権限が付与されない場合(S206でNO)、権限付与条件判定部1236は、権限付与条件が満たされないため、利用権限の設定は失敗であると判定する(S207)。この場合、図11の処理は、異常終了する。当該権限未付与依存先アプリの利用権限が付与された場合(S206でYES)、ステップS209に進む。
Subsequently, the authority granting
一方、当該利用権限の付与が必須でない場合(S204でNO)、権限付与部1237は、依存先の標準アプリ121の利用権限が付与されていないことを示す警告メッセージを含む警告画面を、例えば、操作パネル15に表示させる(S208)。
On the other hand, when the use right is not necessarily granted (NO in S204), the
続いて、権限付与条件判定部1236は、他の全ての権限未付与依存先アプリについて、ステップS204以降を実行する(S209)。全ての権限未付与依存先アプリについてステップS204以降が順番に実行される過程において、ステップS207が実行されて異常終了しなかった場合(S209でNO)、権限付与部1237は、対象SDKアプリの利用権限の付与処理を実行する(S210)。
Subsequently, the authority granting
上述したように、本実施の形態によれば、いずれかの標準アプリ121に依存するSDKアプリ122のインストールや利用権限の設定に関して、依存先の標準アプリ121のインストール状況や、利用権限の設定状況等に応じて、異常系の処理を実行させることができる。例えば、異常系の処理として、処理を中止したり、ユーザに対して警告又は問い合わせ等を行ったりすることができる。
As described above, according to the present embodiment, regarding the installation of the
その結果、正常に利用できない状態をユーザが知らずに、SDKアプリ122が正常にインストールされてしまったり、利用権限が正常に設定されてしまったりするのを回避することができる。その結果、プログラム間の依存関係に基づく不都合の発生を低減させることができる。
As a result, it is possible to avoid that the
また、本実施の形態では、SDKプラットフォーム123が、一元的に上記の処理を行うため、SDKアプリ122ごとに、上記のような異常系の処理を実装する必要性を低減することができる。
Further, in the present embodiment, since the
なお、本実施の形態では、SDKアプリ122が標準アプリ121に依存する例について説明したが、或るSDKアプリ122が、他のSDKアプリ122に依存する場合について、本実施の形態が適用されてもよい。
In this embodiment, an example in which the
また、本実施の形態は、プロジェクタ、デジタルカメラ、テレビ会議システム等、画像形成装置10以外の機器又はシステムに適用されてもよい。
Further, the present embodiment may be applied to devices or systems other than the
ところで、本実施の形態では、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 may be considered that the user installs the
また、依存先のSDKアプリ122がインストールされている場合にのみインストールが許可されるとすると、相互に依存し合う2つ以上のSDKアプリ122のインストールが不可能となってしまう場合が有る(理由2)。
Also, if installation is permitted only when the dependency-
更に、一部の機能に限って、標準アプリ121又は他のSDKアプリ122に依存するSDKアプリ122の場合、依存先の標準アプリ121又は他のSDKアプリ122がインストールされていない場合でも、当該一部の機能以外の機能を実行することが可能な場合に対応するためのである(理由3)。
Furthermore, in the case of the
そして、特に、理由2及び理由3に関しては、SDKアプリ122の開発者であれば、事情を予測可能であると考えられる。したがって、本実施の形態では、当該開発者によって作成される可能性の高いアプリ属性ファイルにおいて、事前インストールが必須であるか否かが設定可能とされているのである。
In particular, regarding the reason 2 and the reason 3, it is considered that the developer of the
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
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 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
112 RAM
113 ROM
114 HDD
115 NVRAM
121
122
1211
Claims (7)
前記第二のプログラムがインストール済みではない場合に、前記第一のプログラムのインストールについて異常に対応付いた処理を実行し、前記第二のプログラムがインストール済みである場合に、前記第二のプログラムに対する利用権限が所定のユーザに付与されていないと、前記所定のユーザへの前記利用権限の付与をするか否かを操作者に問い合わせるインストール部とを有し、
前記インストール部は、前記データにおいて、前記第二のプログラムがインストール済みであることが必須であることが示されている場合に、前記第一のプログラムのインストールを実行しない、
ことを特徴とする機器。 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, a process corresponding to an abnormality is executed for the installation of the first program, and when the second program is already installed, the second program is installed. An installation unit that inquires an operator whether or not to grant the use right to the predetermined user if the use right is not given to the predetermined user ;
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記載の機器。 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 apparatus according to claim 1 or 2 , characterized by the above.
ことを特徴とする請求項1乃至3いずれか一項記載の機器。 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;
It claims 1 to 3 device according to any one claim, characterized in that.
前記第二のプログラムがインストール済みではない場合に、前記第一のプログラムのインストールについて異常に対応付いた処理を実行し、前記第二のプログラムがインストール済みである場合に、前記第二のプログラムに対する利用権限が所定のユーザに付与されていないと、前記所定のユーザへの前記利用権限の付与をするか否かを操作者に問い合わせるインストール手順とを機器が実行し、
前記インストール手順は、前記データにおいて、前記第二のプログラムがインストール済みであることが必須であることが示されている場合に、前記第一のプログラムのインストールを実行しない、
ことを特徴とする情報処理方法。 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, a process corresponding to an abnormality is executed for the installation of the first program, and when the second program is already installed, the second program is installed. If the usage authority is not granted to the predetermined user, the device executes an installation procedure for inquiring of an operator whether or not to grant the usage authority to the predetermined user ,
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, a process corresponding to an abnormality is executed for the installation of the first program, and when the second program is already installed, the second program is installed. If the usage authority is not given to the predetermined user, the apparatus is caused to execute an installation procedure for inquiring an operator whether or not to grant the usage authority to the predetermined user ,
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.
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 JP2017084420A (en) | 2017-05-18 |
JP6330933B2 true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7508803B2 (en) | 2020-02-17 | 2024-07-02 | 富士フイルムビジネスイノベーション株式会社 | Information processing device and program |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4276909B2 (en) * | 2002-09-13 | 2009-06-10 | 株式会社リコー | Image forming apparatus and application activation control method |
JP2010033421A (en) * | 2008-07-30 | 2010-02-12 | Canon Inc | Integrated installer |
-
2017
- 2017-02-08 JP JP2017020890A patent/JP6330933B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017084420A (en) | 2017-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8752041B2 (en) | Image forming apparatus and methods used in the image forming apparatus | |
EP2919113B1 (en) | Information processing system and information processing method | |
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 | |
US9274776B2 (en) | Product, method, and apparatus for installing a second program based on a call from a first program | |
US8429727B2 (en) | Authentication control apparatus and authentication control method | |
US11176633B2 (en) | Image processing apparatus, method for controlling the same, and non-transitory computer-readable storage medium | |
US10664212B2 (en) | Image forming apparatus, control method for image forming apparatus, and storage medium for controlling storage of a print job | |
US8819689B2 (en) | Management apparatus for managing network devices, control method thereof, and recording medium | |
US20160034264A1 (en) | Information processing apparatus, program management method for information processing apparatus, and non-transitory computer-readable storage medium | |
US11140291B2 (en) | Information processing apparatus, control method thereof, and storage medium | |
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 | |
JP6330933B2 (en) | Apparatus, information processing system, information processing method, and program | |
JP6089794B2 (en) | Apparatus, information processing system, information processing method, and program | |
JP2009205262A (en) | Application program installation device, application program installation method, program, and recording medium | |
JP6961412B2 (en) | Image forming device, control method of image forming device, and program | |
US20240146855A1 (en) | Control method of information processing apparatus and information processing system | |
JP7508803B2 (en) | Information processing device and program | |
JP2016062350A (en) | Image forming apparatus, information processing method, and program | |
JP2010016797A (en) | Image processing apparatus | |
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 | Written amendment |
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 |