JP5773787B2 - 情報処理装置およびその制御方法およびプログラム - Google Patents

情報処理装置およびその制御方法およびプログラム Download PDF

Info

Publication number
JP5773787B2
JP5773787B2 JP2011160305A JP2011160305A JP5773787B2 JP 5773787 B2 JP5773787 B2 JP 5773787B2 JP 2011160305 A JP2011160305 A JP 2011160305A JP 2011160305 A JP2011160305 A JP 2011160305A JP 5773787 B2 JP5773787 B2 JP 5773787B2
Authority
JP
Japan
Prior art keywords
function
extension
editing
information
application
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.)
Expired - Fee Related
Application number
JP2011160305A
Other languages
English (en)
Other versions
JP2013025592A (ja
Inventor
篤 熊谷
篤 熊谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2011160305A priority Critical patent/JP5773787B2/ja
Priority to US13/534,618 priority patent/US8863112B2/en
Publication of JP2013025592A publication Critical patent/JP2013025592A/ja
Application granted granted Critical
Publication of JP5773787B2 publication Critical patent/JP5773787B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、ソフトウェアを自動的に更新する情報処理装置およびその制御方法およびプログラムに関するものである。
ソフトウェアを、複数の機能ごとのプログラムとして構成し、当初は基本的な機能のプログラムのみを情報処理装置にインストールしておき、必要に応じて残りの機能のプログラムを情報処理装置にインストールすることが行われている(特許文献1参照)。
特開2005−236507号公報
機能を追加的にインストール可能とする構成では、ユーザが任意のタイミングにアプリケーション(以下、アプリと記載)を操作して、サーバにアクセスして追加可能な機能の一覧を取得し、その中から選択した機能のプログラムをインストールすることができる。その場合、ユーザは、予め使用したい機能の名称や目的などを知っておく必要がある。このような構成は、十分な知識を持った上級ユーザにとっては特に問題とならない。しかし、そもそもどのような機能が存在するかの知識さえ持っていない初級ユーザに対しては、使いたい機能が存在することを知らしめることができないという問題点がある。また、ソフトウェアにプラグインを追加する際にソフトウェアの再起動が必要となる場合、ユーザは今までの作業を中止し最初からやり直さなければならないので、使い勝手が悪くなってしまう。
そこで本発明は、ユーザが利用するソフトウェアの機能追加・更新を、ソフトウェアの使用中に一連のユーザ操作を中断することなく行えるようにすることを目的とする。
上記目的を達成するための本発明の一態様による情報処理装置の制御方法は、
アプリケーションプログラムを実行する情報処理装置の制御方法であって、
前記アプリケーションプログラムをコンピュータが実行することで実現されるアプリケーション機能が、受け付けたユーザ操作に基づいて拡張機能のインストールが必要か否かを判定する工程と、
拡張機能のインストールが必要と判定された場合、前記アプリケーション機能が、インストールが必要な拡張機能を特定する情報をメモリに保持する工程と、
前記アプリケーション機能が、前記インストールが必要な拡張機能のためのインストーラを起動した後、前記アプリケーションプログラムの実行を終了させる工程と、
前記インストールが完了した後に前記インストーラにより前記アプリケーションプログラムが起動され、前記アプリケーション機能が、前記メモリに保持された前記特定する情報に基づいて、前記インストーラによりインストールされた拡張機能を起動する工程と、を有する。
以上の本発明によれば、ユーザが利用するソフトウェアの機能追加・更新を、ソフトウェアの使用中に一連のユーザ操作を中断することなく行える。
実施形態に係るシステムの構成例を示す図。 実施形態に係る情報処理装置の構成例を示すブロック図。 第一実施形態に係るコンピュータ及びサーバの記憶装置内のデータ構成例を示す図。 第一実施形態に係るファイルの例を示す図。 第一実施形態に係る拡張機能インストーラのデータ構成例を示す図。 アプリ実行ファイルを実行したときの、表示画面の例を示す図。 拡張機能を起動したときの、アプリでの処理を示すフローチャート。 アプリ実行ファイルを実行したときの、初期化処理を示すフローチャート。 ツールバーの初期化処理を示すフローチャート。 未保存データの復元処理を示すフローチャート。 第一実施形態に係る実行予定処理の実行処理を示すフローチャート。 編集ウィンドウの適用ボタンを押したときの処理を示すフローチャート。 保存ボタンを押したときの処理を示すフローチャート。 第一実施形態に係る拡張機能インストーラの処理を示すフローチャート。 第二実施形態に係るサーバの記憶装置内のデータ構成例を示す図。 第二実施形態に係るファイルの例を示す図。 第二実施形態に係る拡張機能インストーラの構成例を示す図。 第二実施形態に係る拡張機能変換テーブルの構成例を示す図。 第二実施形態に係る拡張機能を実行するときの処理を示すフローチャート。 第二実施形態に係る実行予定処理の実行処理を示すフローチャート。 第二実施形態に係る動画編集拡張機能インストーラの処理を示すフローチャート。
以下、添付の図面を参照して、本発明の好適な実施形態の例を説明する。
[第一実施形態]
図1に本実施形態のシステムの構成図を示す。システムにはコンピュータ101、サーバ102が存在しており、それらの間がネットワーク103で接続されている。
図2に本実施形態のコンピュータ101およびサーバ102を実現する情報処理装置の構成の一例を示す。コンピュータ101やサーバ102はそれぞれ単一の情報処理装置で実現してもよいし、必要に応じた複数の情報処理装置に各機能を分散して実現するようにしてもよい。複数の情報処理装置で構成される場合は、互いに通信可能なようにLocal Area Network(LAN)などで接続されている。図2において、制御部201は情報処理装置200全体を制御し、例えばCentral Processing Unit(CPU)である。Read OnlyMemory(ROM)202は変更を必要としないプログラムやパラメータを格納する。 Random AccessMemory(RAM)203は外部装置などから供給されるプログラムやデータを一時記憶する。記憶装置204は情報処理装置200に固定して設置されたハードディスクやメモリカード、あるいは情報処理装置200から着脱可能なフロッピー(登録商標)ディスク(FD)やCompact Disk(CD)等の光ディスク、磁気や光カード、ICカードなどを含む。
操作入力インタフェース205はユーザの操作を受け、データを入力するポインティングデバイスやキーボード209などの入力デバイスとのインタフェースである。表示インタフェース206は情報処理装置200の保持するデータや供給されたデータを表示するためのディスプレイ210とのインタフェースである。ネットワーク・インタフェース207はネットワーク103などのネットワーク回線211に接続するためのインタフェースである。画像入力インタフェース208は画像入力デバイス212と接続するためのインタフェースである。画像入力デバイス212には、デジタルカメラ、デジタルビデオカメラ、スキャナなどが含まれる。システムバス213は、上述の各ユニットを通信可能に接続する内部バスである。
次に図3(a)は、本実施形態のシステムにおける、コンピュータ101の記憶装置204内の構成を示す。コンピュータ101の記憶装置204の中には、アプリ実行ファイル格納フォルダ(Program)310がある。そして、その中にアプリ実行ファイル(ApplicationCore.exe)311、および拡張機能一覧ファイル(PluginsList.xml)312が格納されている。拡張機能格納フォルダ(Plugins)320には、アプリの機能を拡張するためのプログラムファイルを拡張することができる。例えば図3(a)においては、動画編集拡張機能プログラム(EditMovie.dll)321およびRAW画像編集拡張機能プログラム(EditRAW.dll)322が格納されている。実行予定処理記録フォルダ(Startup)330には、ソフトウェア起動時に自動的に実行する処理がある場合には、その内容を示すファイルが記録される。このフォルダには、実行予定処理記録ファイル(Operation001.xml)331、選択画像一覧ファイル(Selection001.xml)332が存在する。さらに、前回起動時の未保存データを保持する、未保存データ退避フォルダ(Not Saved)333が存在する。未保存データ退避フォルダ333には、データ編集機能によりデータに対してなされた編集の履歴を格納する画像編集履歴ファイル(EditHistory.xml)334が存在する。作業フォルダ(Work)350は、プログラムが、実行時に、一時的に作成するファイルを保存するための場所である。また、画像フォルダ(Pictures)340には、ユーザが保存した画像データファイルが保存される。
図3(b)に、サーバ102の記憶装置204内の構成を示す。サーバ102の記憶装置204の中には、コンピュータ101に転送され、実行されることになる拡張機能インストーラの実行ファイルが格納されている。例えば図3(b)においては、動画編集拡張機能インストーラ(EditMovieInstaller.exe)301が格納されている。また、RAW画像編集拡張機能インストーラ(EditRAWInstaller.exe)302、スライドショー再生拡張機能インストーラ(ViewSlideshowInstaller.exe)303が格納されている。
図4(a)に、拡張機能一覧ファイル312の例を示す。拡張機能一覧ファイル312には、アプリで利用可能な拡張機能の一覧が記載されており、図4(a)においては、410、420、430の、3つの拡張機能情報が記載されている。各拡張機能情報には、それぞれの拡張機能に関する情報が記載されており、たとえば拡張機能情報410には、識別子411、表示名412、表示順413、入手先414、インストール先415が記載されている。拡張機能情報420、430にも、それぞれ対応する情報が記載されている。ただし、拡張機能情報430に記載されている拡張機能については、まだシステム上にインストールされていないため、インストール先435には、空白が指定されている。
図4(b)に、実行予定処理記録ファイル331の例を示す。実行予定処理記録ファイル331には、アプリの起動時に実行する予定の機能に関する情報が記載されている。具体的には、拡張機能識別子441、選択画像一覧ファイル名443が記載されている。
図4(c)に、選択画像一覧ファイル332の例を示す。選択画像一覧ファイル332には、選択された画像のファイル名一覧が記載され、機能を実行する際に対象となる画像を表す。図4(c)の例では、画像451、画像452、画像453の3画像のパスが記載されている。
図4(d)に、画像編集履歴ファイル334の例を示す。画像編集履歴ファイル334には、編集を行ったが、まだ保存していない画像ファイルについて、編集内容が記録されている。アプリは起動時に画像編集履歴ファイル334に記載された編集内容を実行することで、未保存データの復元を行う。図4(d)に示した画像編集履歴ファイルには、ファイルIMG_0025.JPGに対する編集履歴460、およびファイルIMG_0029.JPGに対する編集履歴470が記録されている。ファイルIMG_0025.JPGに対する編集履歴460には、編集対象ファイル名461、および、そのファイルに対する編集操作が1つ以上記載されている。図4(d)の例においては、操作462、および操作465が記載されている。操作462には、編集操作識別子463、および編集操作パラメータ464が記載されており、同様に、操作465にも、編集操作識別子466および編集操作パラメータ467が記載されている。
図5を参照して、サーバ102に格納されている拡張機能インストーラの実行ファイルの構成を、動画編集拡張機能インストーラ301を例として説明する。動画編集拡張機能インストーラ301は、内部に拡張機能追加設定ファイル510と、拡張機能プログラム520が埋め込まれており、実行時にこれらを取り出して使用する構成となっている。拡張機能追加設定ファイル510には、追加される拡張機能の識別子511が記載されている。
図6(a)に、コンピュータ101がアプリ実行ファイル311を実行することで実現されるアプリケーション機能(以下、アプリ機能)により表示される表示画面の例を示す。画面600は、ツールバー領域610、画像フォルダ一覧領域620、フォルダ内画像一覧表示領域630の3つの部分から構成される。画像フォルダ一覧領域620には、画像フォルダ340に存在する全フォルダが一覧表示される。フォルダ内画像一覧表示領域630には、この領域で選択されたフォルダ内に存在する画像ファイルが、一覧で表示される。ツールバー領域610には、フォルダ内画像一覧表示領域630で選択した画像に対して実行可能な処理の一覧が表示されており、ツールバー内のボタンをクリックすることで、選択した処理を実行できる。ツールバー領域は、インストール済みの拡張機能と未インストールの拡張機能の区別なく指定できるユーザインタフェースとして、アプリ機能により提供されるものである。
図6(b)に、アプリ機能により、コンピュータ101のディスプレイ210上に表示される編集ウィンドウ640の画面例を示す。この編集ウィンドウ640は、フォルダ内画像一覧表示領域630で画像を1つ選択して、ツールバー領域610内の「静止画編集」ボタンを選択したときに表示される。編集ウィンドウ640には、画像プレビュー641、編集機能選択リストボックス642、編集操作パラメータ指定コントロール643、適用ボタン644、保存ボタン645、キャンセルボタン646が配置されている。編集操作パラメータ指定コントロール643の内容は、編集機能選択リストボックス642で選択した項目により自動的に変更され、編集内容に応じたパラメータ設定ができるようになっている。
次に図7のフローチャートを参照して、ツールバー領域610内のボタンをクリックし、拡張機能を起動したときの、アプリでの処理の流れについて説明する。当該フローチャートは、ROM202や記憶装置204に格納されたプログラムを制御部201が実行することにより実現される。
まず、制御部201はステップS701で、フォルダ内画像一覧表示領域630で選択した画像一覧から、選択画像一覧ファイル332を作成する。次に、制御部201はステップS702で、拡張機能一覧ファイル312から、実行した拡張機能のインストール先415を取得し、空かどうかを確認する。インストール先が空でない場合は、その拡張機能はインストール済みであるため、ステップS703で制御部201は拡張機能に選択画像一覧ファイル332を渡して起動し、拡張機能起動処理は完了となる。
インストール先が空の場合は、その拡張機能はインストールされていないため、制御部201(アプリ機能)は、その拡張機能のインストール処理を実行する。具体的には、ステップS704で制御部201は、実行予定処理記録ファイル331に、起動した拡張機能の識別子、選択画像一覧ファイル名を記載した上で、実行予定処理記録フォルダ330に出力する。その後、ステップS705で制御部201は、拡張機能一覧ファイル312に記載されている拡張機能の入手先414を用い、拡張機能インストーラを、サーバ102から作業フォルダ350にダウンロードする。ダウンロードが成功したら、ステップS706で制御部201は、拡張機能インストーラを起動する。起動した拡張機能インストーラは、アプリに対して更新を加えるため、拡張機能インストーラの動作には、アプリの停止が必要である。そのため、制御部201はステップS707では、起動した拡張機能インストーラの終了を待たずに、アプリを終了する。なお、拡張機能インストーラによる処理の詳細は図10を参照して後述する。
次に図8Aを参照して、図7のS707でアプリを拡張機能のインストールのために終了した後、アプリ実行ファイル311を実行して再起動したときの、初期化処理の全体の流れについて説明する。当該フローチャートも図7と同様、ROM202や記憶装置204に格納されたプログラムを制御部201が実行することにより実現される。
まず、ステップS801で制御部201は、ツールバーの初期化処理を行う。その後、制御部201はステップS802でアプリ画面の表示を行い、ステップS803で未保存データの復元を行う。その後、制御部201は、ステップS804で実行予定処理の実行を行う。
次に図8Bを参照して、ステップS801におけるツールバーの初期化処理の流れを詳細に説明する。ここではステップS811から、ステップS814の間で、拡張機能一覧ファイル312の項目をループする。まず、制御部201はステップS812で、拡張機能一覧ファイル312より、表示名と表示順を取得する。制御部201はステップS813で、取得したツールバーの表示順の位置に、表示名の項目を追加する。制御部201はすべての項目についてツールバーに表示を追加したら、ツールバーの初期化処理を終了する。
次に図8Cを参照して、ステップS803における未保存データの復元処理の流れを詳細に記載する。ステップS831からステップS837の間で、画像編集履歴ファイル334に記載されている各画像ファイルについて、以下の項目を繰り返す。まず、ステップS832で制御部201は、指定されている画像ファイルを編集ウィンドウ640で開く。さらに、開いた画像ファイルに対して制御部201は、以下の処理を、ステップS833からステップS836の間で、指定された各画像ファイルに対する編集履歴について繰り返す。
まず、ステップS834では、制御部201は、画像編集履歴ファイルから、ループでの処理対象となっている編集履歴の編集操作識別子および編集操作パラメータを取得する。ステップS835では、取得した編集操作パラメータに従って指定された識別子の編集機能を実行する。すべての編集履歴の実行が終わったら、ステップS836でその画像ファイルへの操作は完了とし、また、全画像ファイルに対して操作が完了したら、ステップS837を抜け、未保存データの復元処理を完成する。
次に図8Dを参照して、ステップS804の実行予定処理の実行処理の流れを詳細に説明する。まず、制御部201はステップS841で、実行予定処理記録ファイル331が存在するかどうか確認し、存在しないようであれば、実行予定処理の実行は何もせず終了する。なお、拡張機能のインストールによりアプリの実行が終了した場合には、上述のステップS704が処理されているため、実行予定処理記録ファイル331は必ず存在することになる。実行予定処理記録ファイル331が存在する場合、制御部201はステップS842で、実行予定処理記録ファイル331から、拡張機能識別子、選択画像一覧ファイルのパスを取得する。次に、制御部201はステップS843で、拡張機能一覧ファイルから、取得した拡張機能識別子に対応する、インストール先を取得する。制御部201はステップS844では、取得したインストール先にある拡張機能プログラムに、選択画像一覧ファイルを渡して起動し、起動が終わったら、実行予定処理の実行を完了する。
次に図9Aのフローチャートを参照して、編集ウィンドウ640で適用ボタン644を押した場合に実行される処理の流れを説明する。当該フローチャートも図7等と同様、ROM202や記憶装置204に格納されたプログラムを制御部201が実行することにより実現される。
制御部201はステップS911で、編集ダイアログで指定された編集操作パラメータに従い、指定された編集機能を実行する。次に、制御部201はステップS912で、画像編集履歴ファイルに編集中の画像ファイルに対応する編集履歴があるかどうかを確認する。編集履歴が存在しない場合、制御部201はステップS913で、画像編集履歴ファイルに編集中の画像ファイルの項目を追加した後、ステップS914で、現在適用を行った編集操作識別子および編集操作パラメータを、画像編集履歴ファイルに追加する。こうして、編集途中の画像データ(未保存の画像データ)について、編集処理の履歴が保持されることになる。
ステップS912で、制御部201は、画像編集履歴ファイルに編集中の画像ファイルに対応する編集履歴があると判定した場合、ステップS914で現在適用を行った編集操作識別子および編集操作パラメータを、画像編集履歴ファイルに追加する。
次に図9Bを参照して、編集ウィンドウ640で保存ボタン645を押したときの処理の流れを説明する。当該フローチャートも図7等と同様、ROM202や記憶装置204に格納されたプログラムを制御部201が実行することにより実現される。制御部201はステップS921で、編集された画像を、画像フォルダ340内の同名ファイルに上書き保存する。次に、制御部201はステップS922で、画像編集履歴ファイルに、編集中の画像ファイルに対応する編集履歴があるかどうかを確認する。編集履歴が存在しない場合には、画像保存処理を完了する。存在する場合には、制御部201はステップS923で、画像編集履歴ファイルから編集中の画像ファイルの記載を削除し、画像保存処理を完了する。
次に図10を参照して、動画編集拡張機能インストーラ301の処理の流れを説明する。当該フローチャートも図7等と同様、ROM202や記憶装置204に格納されたプログラムを制御部201が実行することにより実現される。
制御部201はステップS1001で、動画編集拡張機能インストーラ301を起動したアプリのパス名を検出する。次に、制御部201はステップS1002で、動画編集拡張機能インストーラ301のファイル内に埋め込まれている、拡張機能追加設定ファイル810から拡張機能の識別子811をメモリに読み込む。引き続き、制御部201はステップS1003で、動画編集拡張機能インストーラ301に埋め込まれている拡張機能プログラム820を抽出し、拡張機能格納フォルダ320に保存する。さらに、制御部201はステップS1004で、拡張機能一覧ファイル312の更新を行う。具体的には、ステップS1002で取り出した拡張機能の識別子811を持つ項目にインストールパスを記載する。最後に制御部201は、ステップS1005で、ステップS1001で検出した起動元アプリを再度起動した上で、拡張機能インストール処理を終了する。
実施形態では、画像編集履歴ファイル334に、編集機能識別子と編集操作パラメータの組の履歴を保存することで、更新に際する未保存データの維持を実現したが、これに限られるものではない。たとえば、最終結果の画像データ自体をファイルに保存する方法もある。この場合、復元処理の中で、編集履歴を再度実行する代わりに、画像データ自体をファイルから読み込むことになる。あるいは、画像編集履歴ファイルを使う代わりに、編集を保存していない状況で編集ウィンドウ640を閉じようとした場合に、警告メッセージを表示して編集ウィンドウ640を閉じられないようにする方法も考えられる。この場合、更新のためにアプリを終了する場合、編集ウィンドウ640で保存を行っていない状態では、上記警告メッセージが表示されアプリが終了できないため、更新が実行できない。そのため、そもそも、更新に際する未保存データの維持について、考慮する必要がないことになる。なお、警告メッセージでは、編集中の未保存の画像を保存するか破棄するかをユーザに選択させるようにしてもよい。
以上のように、第一実施形態によれば、ユーザ操作により拡張機能のインストールが必要になった場合でも、拡張機能のインストール、アプリケーションプログラムの終了と再起動が自動的に行われる。また、アプリケーションプログラムの際起動時には、上記ユーザ操作の時点まで復帰するので、操作の不連続性を感じることがない。
[第二実施形態]
続いて、本発明の別の実施形態を示す。本実施形態は、先に説明した第一実施形態と同様のシステムを備えるが、さらに、すでにインストール済みの拡張機能を新しいバージョンに更新する機能を備えたものである。本実施形態の説明においては、動画編集拡張機能とRAW画像編集拡張機能とが、新しいバージョンでは1つの機能に統合され、動画・RAW画像編集拡張機能になったという前提で、説明を行う。本実施形態におけるシステムの構成は、第一実施形態と同じで、図1に示すような構成である。そのため、ここでは説明を省略する。また、本実施形態のシステムにおける、コンピュータ101の記憶装置204内の構成についても、第一実施形態と同じである。
図11は、本実施形態におけるサーバ102の記憶装置204内の構成である。サーバ102の記憶装置204の中には、第一実施形態と同じく、コンピュータ101に転送され、実行されることになる拡張機能インストーラの実行ファイルが格納されている。例えば図11においては、動画編集拡張機能インストーラ(EditMovieInstaller.exe)301が格納されている。また、RAW画像編集拡張機能インストーラ(EditRAWInstaller.exe)302、スライドショー再生拡張機能インストーラ(ViewSlideshowInstaller.exe)303が格納されている。本実施形態においては、さらに、加えて拡張機能バージョン一覧ファイル(PluginVersion.xml)1104が存在する。
本実施形態においては、動画編集拡張機能と、RAW画像編集拡張機能とが、1つの機能に統合されている。そのため、動画編集拡張機能インストーラ301と、RAW画像編集拡張機能インストーラ302のどちらをインストールしても、動画・RAW画像編集拡張機能がインストールされる。
図12(a)は、サーバ102に存在する、拡張機能バージョン一覧ファイル1104の例である。拡張機能バージョン一覧ファイル1104には、サーバ102に配置されているすべての拡張機能プログラムのバージョン一覧が記載されている。具体的には、動画編集拡張機能インストーラ301に対応する拡張機能バージョン情報1210が記載されている。また、RAW画像編集拡張機能インストーラ302に対応する拡張機能バージョン情報1220、スライドショー再生拡張機能インストーラ303に対応する拡張機能バージョン1230が記載されている。拡張機能バージョン情報1210には、拡張機能の識別子1211と、バージョン1212が記載されている。同様に、拡張機能バージョン情報1220、拡張機能バージョン1230にも識別子とバージョンが記載される。また、動画・RAW画像編集拡張機能についても、識別子およびバージョンが1240に記載されている。
図12(b)は、本実施形態での拡張機能一覧ファイル312の例を示す。拡張機能一覧ファイル312の基本的な構成は、第一実施形態と同じであるが、記載されている拡張機能情報には、識別子411、表示名412、表示順413、入手先414、インストール先415に加え、インストールバージョン1216が記載されている。拡張機能情報420、430にも、それぞれ対応する情報が記載されている。ただし、430に記載されている拡張機能については、まだシステム上にインストールされていないため、インストール先435に加え、インストールバージョン1236にも、空白が指定されている。
図12(c)に、本実施形態における、実行予定処理記録ファイル331の例を示す。アプリの起動時に実行する予定の機能に関する情報が記載されているが、第一実施形態と同様の、拡張機能識別子501、選択画像一覧ファイル名503に加え、拡張機能バージョン1250が記載されている。本実施形態における選択画像一覧ファイル332の例、画像編集履歴ファイル334の例については、第一実施形態と同じで、それぞれ、図4(c)、(d)で示されている。ここでは説明を省略する。
本実施形態の拡張機能インストーラの構成については、動画編集拡張機能インストーラ301を例として、図13で説明する。動画編集拡張機能インストーラ301の内部には、拡張機能追加設定ファイル1310、拡張機能プログラム1320、拡張機能変換テーブル1330、拡張機能一覧ファイル1340が埋め込まれており、実行時にこれらを取り出して使用する構成となっている。拡張機能追加設定ファイル1310には、追加される拡張機能の識別子1311が記載されている。
次に図14を参照して、拡張機能変換テーブル1330の構成を説明する。拡張機能変換テーブル1330には、更新前に起動した拡張機能を、更新後のバージョンにおいて起動する際に、拡張機能識別子に変更があった場合の変換項目のリストが含まれている。すなわち、拡張機能変換テーブルには、更新前後の拡張機能の対応付けが登録されている。図14の例では、変換項目1410、変換項目1420の2つの変換項目が含まれている。変換項目1410には、変換前拡張機能識別子1411、変換前拡張機能バージョン1412と、変換後拡張機能識別子1413が含まれている。これは、更新前に、拡張機能識別子「EDIT_MOV」の、バージョン2.0.0.1未満のバージョンを起動していた場合、更新後には、拡張機能識別子「EDIT_RAW_MOV」を起動することを示している。
本実施形態の場合、EDIT_MOV、およびEDIT_RAWが、更新によりEDIT_RAW_MOVに変更されるため、拡張機能変換テーブル1330には、このような記載が必要となる。同様に、変換項目1420においては、更新前に、拡張機能識別子「EDIT_RAW」の、バージョン2.0.0.1未満のバージョンを起動していた場合、更新後には、拡張機能識別子「EDIT_RAW_MOV」を起動することが記載されている。アプリ実行ファイル311を実行したときの表示画面の例、編集ウィンドウ640の画面の例については、第一実施形態と同じで、それぞれ、図6(a)、(b)で示されている。ここでは説明を省略する。
次に、拡張機能を実行するときの処理の流れについて、図15を参照して説明する。図15は、第一実施形態で説明を行った図7の処理に、いくつか追加の処理が加わったものとなっている。ステップS702で、拡張機能のインストール先415を取得し、空でなかった場合、ステップS1501で制御部201は、拡張機能バージョン一覧ファイル1104を取得する。そして、制御部201は、ステップS1501で取得した拡張機能バージョン一覧ファイル1104とステップS1502でインストール済み拡張機能のバージョン1212との比較を行うことで、更新の要否を判断する。バージョンが同じであった場合には、インストール済み拡張機能が最新版であるため更新は不要であり、ステップS703で、制御部201は最新の拡張機能を起動する。バージョンが異なっていた場合、拡張機能の更新が必要であるため、ステップS704に進むことになる。
なお、アプリ実行ファイル311を実行したときの、初期化処理の流れのうち、初期化処理の全体の流れ、ツールバーの初期化処理の流れ、未保存データの復元処理の流れについては、本実施形態と第一実施形態の図8A乃至8Cで示した処理と同様である。
次に実行予定処理の実行処理について、図16を参照して説明する。本実施形態においては、図8DのステップS842とステップS843の間に、拡張機能の変換処理が追加される。具体的には、ステップS842の処理の後、ステップS1645で制御部201は、図14で説明した拡張機能変換テーブル1330の取得を行う。次のステップS1646で制御部201は、ステップS842で取得した拡張機能識別子と拡張機能変換テーブル1330から、実行予定処理記録ファイルに記載されていた拡張機能識別子を変換する必要があるかどうかを判定する。変換の必要がある場合には、制御部201はステップS1647で変換処理を行ったのち、ステップS843に進む。変換の必要がない場合には、そのままステップS843に進む。このような処理を行うことにより、拡張機能の更新により、拡張機能識別子の変更が行われた場合においても、自動的に更新後に変更後の拡張機能を起動することができる。なお、編集ウィンドウ640での適用ボタン、保存ボタンクリック時の処理の流れについても、第一実施形態と同じ処理であるので、図9A、図9Bの説明をもってここでは説明しない。
次に、動画編集拡張機能インストーラ1101の処理の流れについて、図17を参照して第一実施形態における図10の処理との違いを説明する。本実施形態においては、ステップS1002における、拡張機能追加設定ファイル810の読み出しの後に、ステップS1706において制御部201は、拡張機能変換テーブル1330を抽出する処理を行う。これは、図16における、実行予定処理の実行処理において使用されるものである。また、ステップS1004の拡張機能一覧ファイル312の更新の前に、ステップS1707において制御部201は、拡張機能一覧ファイル1340のインストールを行う。これは、拡張機能の更新により、拡張機能一覧ファイルの項目の追加、削除が必要になるためである。例えば、図12(b)で、拡張機能情報410(EDIT_MOV)や拡張機能情報420(EDIT_RAW)が削除され、EDIT_RAW_MOVの拡張機能情報が登録された拡張機能一覧ファイル312が生成される。
以上のように、第2実施形態によれば、第1実施形態の効果に加えて、拡張機能の更新を自動的に、且つ、ユーザに操作の不連続性を意識させることなく、行なうことができる。すなわち、ユーザが利用するソフトウェアの機能追加・更新を、ソフトウェアの使用中に一連のユーザ操作を中断することなく行えるようになる。
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
なお、本実施形態では、アプリ機能が、画像編集機能をデータ編集機能として有する例を説明したが、処理対象データは画像データに限られるものではなく、例えば音声データでの同様に適用できる。

Claims (10)

  1. アプリケーションプログラムを実行する情報処理装置の制御方法であって、
    前記アプリケーションプログラムをコンピュータが実行することで実現されるアプリケーション機能が、受け付けたユーザ操作に基づいて拡張機能のインストールが必要か否かを判定する工程と、
    拡張機能のインストールが必要と判定された場合、前記アプリケーション機能が、インストールが必要な拡張機能を特定する情報をメモリに保持する工程と、
    前記アプリケーション機能が、前記インストールが必要な拡張機能のためのインストーラを起動した後、前記アプリケーションプログラムの実行を終了させる工程と、
    前記インストールが完了した後に前記インストーラにより前記アプリケーションプログラムが起動され、前記アプリケーション機能が、前記メモリに保持された前記特定する情報に基づいて、前記インストーラによりインストールされた拡張機能を起動する工程と、を有することを特徴とする制御方法。
  2. 前記アプリケーション機能が、インストール済みの拡張機能と未インストールの拡張機能の区別なく指定できるユーザインタフェースを提供する工程を更に備え、
    前記判定する工程は、前記ユーザインタフェースを介して未インストールの拡張機能が指定された場合に、拡張機能のインストールが必要と判定する、ことを特徴とする請求項1に記載の制御方法。
  3. 前記保持する工程では、インストールが必要な拡張機能と、該拡張機能の処理対象となっているデータと、を特定する情報を前記メモリに保持し、
    前記起動する工程では、前記特定する情報に基づいて、前記インストールされた拡張機能を起動して前記処理対象となっているデータを処理させる、ことを特徴とする請求項1または2に記載の制御方法。
  4. 前記アプリケーション機能は、データ編集機能による編集途中のデータについて編集処理の履歴を保持し、
    前記起動する工程では、前記編集処理の履歴にしたがって前記編集途中の状態を復帰させる、ことを特徴とする請求項1乃至3のいずれか1項に記載の制御方法。
  5. 前記保持させる工程では、更に、データ編集機能による編集途中のデータが存在する場合に該編集途中のデータを前記メモリに保持させ、
    前記起動する工程では、前記編集途中のデータを読み出すことにより、前記編集途中の状態を復帰させる、ことを特徴とする請求項1乃至3のいずれか1項に記載の制御方法。
  6. 前記終了する工程では、データ編集機能による編集途中のデータが存在する場合には、ユーザが編集処理を完了させたことを確認してから前記アプリケーションプログラムの実行を終了する、ことを特徴とする請求項1乃至3のいずれか1項に記載の制御方法。
  7. 前記判定する工程は、更に、前記ユーザ操作で指定された拡張機能がインストール済みの場合に、該インストール済みの拡張機能の更新の要否を確認し、更新が必要な場合には、拡張機能のインストールが必要と判定する、ことを特徴とする請求項1または2に記載の制御方法。
  8. 前記インストール済みの拡張機能の更新は、別の拡張機能への置き換えを含み、
    前記起動する工程では、前記別の拡張機能への置き換えが行なわれた場合には、前記インストーラにより提供された、前記インストール済みの拡張機能と前記別の拡張機能を対応付ける情報に基づいて、前記メモリに保持された前記特定する情報から前記別の拡張機能を起動する、ことを特徴とする請求項7に記載の制御方法。
  9. アプリケーションプログラムを実行する情報処理装置であって、
    前記アプリケーションプログラムの実行によって提供されるアプリケーション機能が、
    受け付けたユーザ操作に基づいて拡張機能のインストールが必要か否かを判定する判定手段と、
    拡張機能のインストールが必要と判定された場合、インストールが必要な拡張機能を特定する情報をメモリに保持する保持手段と、
    前記インストールが必要な拡張機能のインストーラを起動した後、前記アプリケーションプログラムの実行を終了させる終了手段と、
    前記アプリケーションプログラムの起動時に、前記メモリに前記特定する情報が保持されている場合には、前記特定する情報により特定される拡張機能を起動する起動手段と、を備えることを特徴とする情報処理装置。
  10. アプリケーションプログラムを実行する情報処理装置を実現するコンピュータに、
    前記アプリケーションプログラムの実行によって提供されるアプリケーション機能が、受け付けたユーザ操作に基づいて拡張機能のインストールが必要か否かを判定する工程と、
    拡張機能のインストールが必要と判定された場合、インストールが必要な拡張機能を特定する情報をメモリに保持する工程と、
    前記インストールが必要な拡張機能のインストーラを起動した後、前記アプリケーションプログラムの実行を終了させる工程と、
    前記インストールが完了した後の前記インストーラによる前記アプリケーションプログラムの起動時に、前記メモリに前記特定する情報が保持されている場合には、前記特定する情報により特定される拡張機能を起動する工程と、を実行させるためのプログラム。
JP2011160305A 2011-07-21 2011-07-21 情報処理装置およびその制御方法およびプログラム Expired - Fee Related JP5773787B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011160305A JP5773787B2 (ja) 2011-07-21 2011-07-21 情報処理装置およびその制御方法およびプログラム
US13/534,618 US8863112B2 (en) 2011-07-21 2012-06-27 Information processing apparatus and controlling method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011160305A JP5773787B2 (ja) 2011-07-21 2011-07-21 情報処理装置およびその制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2013025592A JP2013025592A (ja) 2013-02-04
JP5773787B2 true JP5773787B2 (ja) 2015-09-02

Family

ID=47556745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011160305A Expired - Fee Related JP5773787B2 (ja) 2011-07-21 2011-07-21 情報処理装置およびその制御方法およびプログラム

Country Status (2)

Country Link
US (1) US8863112B2 (ja)
JP (1) JP5773787B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9135030B2 (en) * 2012-06-29 2015-09-15 M-Files Oy Method, an apparatus and a computer program product for extending an application in a client device
CN104049855B (zh) * 2013-03-12 2018-06-15 富泰华工业(深圳)有限公司 图像查看系统及方法
DE112013007160T5 (de) * 2013-06-12 2016-03-03 Mitsubishi Electric Corporation Entwicklungsumgebungssystem, Entwicklungsumgebungsvorrichtung, Entwicklungsumgebungsbereitstellungsverfahren und Programm
JP6263960B2 (ja) * 2013-10-30 2018-01-24 ブラザー工業株式会社 アプリケーションプログラム
JP2015038717A (ja) * 2014-02-04 2015-02-26 株式会社リコー 情報処理システム、情報提供方法、端末装置およびアプリケーションプログラム
JP6403559B2 (ja) * 2014-12-08 2018-10-10 キヤノン株式会社 情報処理装置およびその制御方法、並びにプログラム
US9940637B2 (en) 2015-06-05 2018-04-10 Apple Inc. User interface for loyalty accounts and private label accounts
US10037216B2 (en) * 2015-06-07 2018-07-31 Apple Inc. Intelligent disabling of browser plugins
CN105224309B (zh) * 2015-09-02 2019-03-19 青岛中星微电子有限公司 一种调取函数的方法和装置
US11580608B2 (en) 2016-06-12 2023-02-14 Apple Inc. Managing contact information for communication applications
JP6724605B2 (ja) * 2016-07-05 2020-07-15 株式会社リコー 画像処理装置、画像処理方法、および画像処理プログラム
JP6851836B2 (ja) * 2017-01-20 2021-03-31 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
EP3471388A1 (en) * 2017-10-10 2019-04-17 Canon Kabushiki Kaisha Image processing apparatus, method for controlling the same, and program
DK179992B1 (en) 2018-05-07 2020-01-14 Apple Inc. DISPLAY OF USER INTERFACES ASSOCIATED WITH PHYSICAL ACTIVITIES
DK201970530A1 (en) 2019-05-06 2021-01-28 Apple Inc Avatar integration with multiple applications
WO2022011668A1 (en) * 2020-07-17 2022-01-20 Google Llc In-application store user interface

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203940B2 (en) * 2002-04-29 2007-04-10 Hewlett-Packard Development Company, Lp. Automated installation of an application
US7644404B2 (en) * 2003-06-04 2010-01-05 Hewlett-Packard Development Company, L.P. Network having customizable generators and electronic device having customizable updating software
JP2005236507A (ja) 2004-02-18 2005-09-02 Hitachi Software Eng Co Ltd 携帯電話機の機能更新方法および携帯電話機
JP4994970B2 (ja) * 2006-08-21 2012-08-08 株式会社リコー 画像処理システム、画像処理装置、プログラム管理方法及びプログラムを管理する管理プログラム
US7984115B2 (en) * 2006-12-08 2011-07-19 Microsoft Corporation Extensible application platform
JP4388102B2 (ja) * 2007-06-22 2009-12-24 キヤノン株式会社 情報処理方法及びその装置とシステム
US8510488B2 (en) * 2007-08-08 2013-08-13 Ricoh Company, Limited Function control apparatus and function control method
EP2433200B1 (en) * 2009-05-21 2020-02-26 Salesforce.Com, Inc. System, method and computer program product for versioning components of an application
JP5458708B2 (ja) * 2009-07-09 2014-04-02 株式会社リコー 画像処理装置、表示制御方法、及び表示制御プログラム
US8620914B1 (en) * 2010-05-18 2013-12-31 Google Inc. Ranking of digital goods in a marketplace

Also Published As

Publication number Publication date
JP2013025592A (ja) 2013-02-04
US20130024854A1 (en) 2013-01-24
US8863112B2 (en) 2014-10-14

Similar Documents

Publication Publication Date Title
JP5773787B2 (ja) 情報処理装置およびその制御方法およびプログラム
JP4671198B2 (ja) 情報処理装置
JP4810282B2 (ja) モジュールインストール方法、モジュールインストール装置、及びプログラム
US10015326B2 (en) Image forming apparatus, automatic installation method for efficiently installing an image forming apparatus, and storage medium
US20150067671A1 (en) Information processing apparatus, control method, and storage medium
US20150264198A1 (en) Automatic installation system and method, information processing apparatus, and image forming apparatus
KR20090024401A (ko) 메쉬업 서버스 지원방법 및 장치
JP6147139B2 (ja) 情報処理装置、その制御方法、及びコンピュータプログラム
JP2015205499A (ja) 画像処理装置、画像処理装置の制御方法およびプログラム
JP2002007138A (ja) アプリケーションのインストール方法、起動方法、実行装置、媒体およびプログラム
CN104424006B (zh) 装置及控制方法
JP2009282775A (ja) アプリケーションプラットフォーム
JP6331431B2 (ja) 情報処理システム、その制御方法、及びプログラム、並びに情報処理サーバ、その制御方法、及びプログラム
JP6929160B2 (ja) 画像形成装置およびその制御方法とプログラム
JP6851836B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP6413258B2 (ja) Ediシステム、ediシステムの制御方法、情報処理装置、情報処理装置の制御方法、およびプログラム
JP4788128B2 (ja) 実行環境整備システム、実行環境整備装置および実行環境整備方法
JP6758599B2 (ja) 端末装置
JP2007065938A (ja) 情報処理システム、電子機器及びそれらに用いるバージョンアップ方法並びにそのプログラム
JP6905111B2 (ja) 管理装置と情報処理装置とを含むシステム、情報処理装置、それらの制御方法、及びプログラム
JP2010176567A (ja) 情報処理装置、情報処理システム、それらの制御方法、及びプログラム
JP2016081164A (ja) 情報処理装置、管理装置、情報処理装置の制御方法、管理装置の制御方法及びプログラム
JP2008299725A (ja) ソフトウェア更新方法、情報処理装置、及びプログラム
US20050102252A1 (en) Method, apparatus, and program for data management
JP2008033647A (ja) ドキュメントセット作成装置及びドキュメントセット作成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150320

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150513

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: 20150601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150630

LAPS Cancellation because of no payment of annual fees