以下、添付図面を参照しながら、本発明に係る画像処理装置、情報処理システム、および方法の実施の形態を詳細に説明する。
(第1の実施の形態)
図1は、本実施の形態に係る「画像処理装置」の一例として示すMFP(Multifunction Peripheral)の外観構成を示す図である。MFPは、コピー機能、スキャナ機能、プリンタ機能、ファクス機能などの複数の機能の内の異なる2つ以上の機能を有する装置である。なお、「画像処理装置」は当該MFPのような異なる2つ以上の機能を有する装置に限らず単一機能を有するプリンタ装置などであっても良い。図1に示すMFP1は、一例として、コピー機能、スキャナ機能、およびプリンタ機能を有するものを示している。
MFP1は、本体(本体部)10と操作パネル20とを有する。本体10は、コピーやスキャニングなどを行う画像処理ユニットや液体を吐出させて画像を形成する画像形成ユニットなどを有する。
操作パネル20は、本実施の形態に係る「操作パネル」の一例である。操作パネル20は、ユーザが画像処理や画像形成のために本体10の画像処理エンジンを操作したり、本体10側の「設定情報」(本例では本体10が記憶する「設定情報」)を操作したりするためのユーザインタフェースである。本体10と操作パネル20とは有線または無線により通信接続され、その通信路30(図2参照)を介して操作信号やデータなどを送受信する。
本実施の形態において、操作パネル20は本体10から「設定情報」を取得し、必要に応じて、取得した「設定情報」を編集する。なお、「設定情報」に、本体10が管理するその他の保有情報(管理情報)を含めても良い。本体10は、操作パネル20から「設定情報」の取得の入力指示を受け付けることにより、「設定情報」を操作パネル20に出力し、操作パネル20から「設定情報」の編集の入力指示を受け付けることにより、「設定情報」を編集して、その結果を操作パネル20に出力する。また、操作パネル20は、本体10に操作指示の命令を送信するなどして画像処理エンジンを操作し、画像処理ユニットや画像形成ユニットなどを制御する。
操作パネル20による本体10側の「設定情報」の取得や編集(登録)を本体10に設けたAPI(Application Programming Interface)を介して行う形態を示す。一例として、上記APIにWebAPIを適用した場合のものについて示す。以下において特に明記しない限り、「API」は、「WebAPI(主にRESTのWebAPI)」であるものとする。REST(Representational State Transfer)のWebAPIは、GET(取得)、POST(登録)、PUT(更新)、DELETE(削除)のメソッドと、リソース(本実施の形態ではエントリ情報・グループ情報・見出し情報)を特定するURI(Uniform Resource Identifier)を用いたリクエスト(「要求」や「要求データ」とも言う)をWeb(World Wide Web)サーバに送信し、Webサーバからレスポンス(「応答」や「応答データ」とも言う)をJSON(JavaScript(登録商標) Object Notation)やXML(Extensible Markup Language)などで受け取る。
本実施の形態においては、「アドレス帳情報」を例に、上記「設定情報」の取得や編集(登録)の処理について説明する。なお、本体10における「設定情報」の「編集」を、操作パネル20における編集と区別するために、適宜、「登録(新規登録・設定変更・更新)」などとして示す。また、操作パネル20の「操作指示」や「操作入力」は、操作パネル20のタッチ操作などに由来するものとする。
上記「設定情報」は、操作パネル20やその他の外部装置から取得(閲覧も含む)・編集などが可能な情報であり、この分類に上記「アドレス帳情報」が含まれる。上記「設定情報」は、そのほか、画像形成時のパラメータ(読取解像度等のスキャナを用いた読み取りジョブの設定値・プリント時のトナー濃度やカラー設定等の印刷設定)や省エネルギーモード移行時間などの各種設定値、各ユーザ認証による操作権限付与に用いるユーザ情報に紐付いたロール設定等の認証設定値、画像形成に関するログ情報の取得方法の設定等のログ設定値などを含む。
上記「アドレス帳情報」は、「宛先情報」等が登録されている情報のことである。「宛先情報」等は、例えば画像処理装置のユーザや管理者などにより登録される。「宛先情報」は、個人の識別情報と「宛先」とを対応付けた情報である。「宛先」は、スキャンやFAXデータ等の、画像処理により得られる画像情報の送信先などに設定される情報で、この情報には、メールアドレス、FAX番号、データ格納先のURI情報などが含まれる。
なお、アドレス帳の個人毎の宛先情報は、複数の宛先を含むグループを構成することができる。グループ情報は、宛先リスト上での閲覧性を高めるとともに、スキャンジョブの送信時に、送信先としてグループを設定し、グループに含む宛先全てにまとめて送信する場合に使用する。後述する図8以下の説明では、「アドレス帳情報」に登録されている個人の宛先情報をグループ分けする処理について示す。そこでは、一例として、上記「アドレス帳情報」を「エントリ情報」、「グループ情報」、および「見出し情報」からなるデータ構造にする。このデータ構造では、「エントリ情報」が「宛先情報」に相当し、「エントリ情報」に個人以外の部署名や会社名などのグループの識別情報なども含める。このように、「宛先情報」は、データ構造に応じて、個人の宛先情報に更にグループの識別情報などを含めても良いものとする。
(ハードウェア構成)
図2は、MFP1のハードウェア構成の一例を示す図である。図2に示すように、本体10は、「第1のCPU(Central Processing Unit)」の一例であるCPU100と、ROM(Read Only Memory)101と、RAM(Random Access Memory)102と、HDD(Hard Disk Drive)103と、通信I/F104と、接続I/F105と、エンジン106とを有する。各部はシステムバス107を介して相互に接続されている。
CPU100は、演算処理や制御処理を実行する中央演算処理装置である。CPU100は、ROM101やHDD103などに格納されている各種のプログラムをRAM102に読み出し、演算処理や制御処理を実行するなどして、本体10を統括的に制御する。
ROM101は、固定プログラム(例えばBIOS(Basic Input/Output System)等)を記憶する不揮発性メモリである。RAM102は、CPU100が各種処理の際の作業領域などとして使用する揮発性メモリである。HDD103は、第1のOS(Operating System)やWebサーバソフトやWebAPIやデータベース管理ソフトなどの各種プログラムや、大容量データなどを格納する補助記憶装置である。大容量データは、アドレス帳情報などである。
通信I/F104は、本体10がLAN(Local Area Network)やVPN(Virtual Private Network)等の通信ネットワークに接続するためのインタフェース(例えばEthernet(登録商標)ボードなど)である。
接続I/F105は、操作パネル20との間で通信路30を介して通信接続するUSB(Universal Serial Bus)規格等のインタフェースである。なお、操作パネル20との接続はUSBに限定されない。また、通信路30は有線に限らず無線であっても良い。
エンジン106は、画像処理コントローラや、原稿をスキャンして読み取るスキャナや、用紙等の記録媒体への印刷を行うプロッタなどを有する。
図2に示す操作パネル20は、本体10とは別に設けた「第2のCPU」の一例のCPU200と、ROM201と、RAM202と、フラッシュメモリ203と、通信I/F204と、接続I/F205と、タッチパネル206と、LCD(Liquid Crystal Display)207を有する。各部は、システムバス208を介して相互に接続されている。
CPU200は、演算処理や制御処理を実行する中央演算処理装置である。CPU200は、ROM201やフラッシュメモリ203などに格納されている各種のプログラムをRAM202に読み出し、演算処理や制御処理を実行するなどして、操作パネル20全体を統括的に制御する。
ROM201は、固定プログラム(例えばBIOS等)を記憶する不揮発性メモリである。RAM202は、CPU200が各種処理の際の作業領域などとして使用する揮発性メモリである。フラッシュメモリ203は、本体10とは別の「第2のOS(アンドロイドOS等)」や、「第2のOS」の元でCPU200によって動作するアプリ(アンドロイドアプリ等)などを格納する補助記憶装置である。なお、本明細書において「アプリケーション」を「アプリ」と省略して示すものとする。
通信I/F204は、操作パネル20がLANやVPN等の通信ネットワークに接続するためのインタフェース(例えばEthernetカードなど)である。
接続I/F205は、本体10との間で通信路30を介して通信接続するUSB規格等のインタフェースである。なお、本体10との接続はUSBに限定されない。また、通信路30は有線に限らず無線であっても良い。
タッチパネル206は、LCD207の画面上の操作者によるタッチ位置を検知し、検知したタッチ位置の情報をCPU200に通知する入力デバイスである。なお、入力デバイスとして、タッチパネル206の他にハードウェアキーなどを設けても良い。
LCD207は、液晶の表示画面を有し、CPU200がLCD207に出力した画面情報を当該表示画面に表示する表示デバイスの一例である。なお、表示デバイスとして、液晶の他に、有機EL(Electro Luminescence)などを用いたものであっても良い。
(機能構成)
本実施の形態において、MFP1の本体10と操作パネル20とは別々のオペレーティングシステム(それぞれ、第1のOSと第2のOS)で動作する。操作パネル20のアプリは、本体10が備えるWebAPIを指定して本体10の機能を使用する。
本体10は、CPU100がROM101やHDD103などの所定のプログラムをRAM102に読み出して実行することにより、アドレス帳情報の取得や編集に係る各種機能を発揮する。また、操作パネル20は、CPU200がROM201やフラッシュメモリ203などの所定のプログラムをRAM202に読み出して実行することにより、アドレス帳情報の取得や編集に係る各種機能を発揮する。
図3は、MFP1の本体10と操作パネル20とがそれぞれ発揮するアドレス帳情報の取得および編集に関する主な機能の一例を示す図である。図3に示すように、本体10は、接続制御部11、通信制御部12、記憶制御部13、要求応答部14、WebAPIサービス部15、アドレス帳管理部16、エンジン制御部17を有する。この構成において、主に記憶制御部13やアドレス帳管理部16(更にHDD103)などが「記憶手段」に相当する。主にWebAPIサービス部15が「WebAPIサービス」に相当する。主にエンジン制御部17(更にエンジン106)などが「画像処理エンジン」に相当する。
接続制御部11は、接続I/F105を制御して操作パネル20と通信を確立し、操作パネル20との間でデータを送受信する。
通信制御部12は、通信I/F104を制御して通信先と通信を確立し、通信先との間でデータを送受信する。通信制御部12は、例えば、操作パネル20などにより選択・指定された宛先の機器と通信を確立し、その通信先に、エンジン制御部17がエンジン106を制御して画像処理した画像情報を送信する「送信手段」などとして機能する。上記宛先は、本体10が記憶するアドレス帳情報に登録されている個人やグループの宛先などである。
記憶制御部13は、ROM101や、RAM102や、HDD103などの記憶領域にアクセスし、データの読み出しや、データの書き込みなどを行う。
要求応答部14は、操作パネル20及び外部装置とHTTP(Hypertext Transfer Protocol)通信を行う。具体的に、要求応答部14は、上記HTTP通信により、受信データに含まれる要求データを処理し、その処理結果を要求元へ応答するための処理を行う。上記要求データにおいてAPIが指定されている場合、要求応答部14は、WebAPIサービス部15の複数のAPIの内の指定されたAPIにより実行された実行処理結果を上記処理結果として利用する。
WebAPIサービス部15は、アドレス帳情報の取得または編集(登録)を受け付け、アドレス帳管理部16にアドレス帳情報のデータ操作を操作種類別に指示する複数のAPIを有する。各APIは、アドレス帳管理部16に対しSQLなどの命令によりデータ操作を指示する。なお、要求応答部14及びWebAPIサービス部15は、MFP1の本体10側に有するWebサーバとして実装され、操作パネル20及び外部装置からの要求に対応する処理として、本体10のアドレス帳管理部16や、エンジン制御部17などに対する処理の指示、及び、操作パネル20及び外部装置への応答を行う。
アドレス帳管理部16は、HDD103に格納されたアドレス帳情報を情報テーブルにより管理する。ここで管理とは、情報の対応付けや情報の操作などを意味する。具体的には、アドレス帳管理部16は、HDD103に格納された個人の識別情報や宛先等の各種情報を情報テーブルにより対応付けてアドレス帳情報として記憶する。また、アドレス帳管理部16は、WebAPIサービス部15のAPIから所定の情報テーブルに対するデータ操作が指示されると、その情報テーブルに記憶制御部13を介してアクセスし、アドレス帳情報のデータの抽出、新規登録、更新、削除などの指定されたデータ操作を行う。
エンジン制御部17は、エンジン106にパラメータ値を設定するなどしてエンジン106を制御する。例えば、エンジン制御部17は、操作パネル20からの操作信号に基づいてエンジン106にパラメータ値を設定する。
操作パネル20は、接続制御部21、通信制御部22、記憶制御部23、入力受付部24、表示制御部25、編集制御部(アドレス帳編集アプリ)26、WebAPI通信部27、画像処理操作部28を有する。この構成において、主に入力受付部24や編集制御部26や画像処理操作部28が「受付手段」に相当する。主に接続制御部21や編集制御部26やWebAPI通信部27が「通信手段」に相当する。主に、表示制御部25や編集制御部26が「表示手段」に相当する。
接続制御部21は、接続I/F205を制御して本体10と通信を確立し、本体10との間でデータを送受信する。例えば、接続制御部21は、本体10の接続制御部11に対し、画像処理の操作信号を送信する。また、接続制御部21は、本体10の接続制御部11との間で、アドレス帳情報の編集(取得含む)や画像情報の送信先の選択などに必要とする情報を送受信する。
通信制御部22は、通信I/F204を制御して通信先と通信を確立し、通信先との間でデータを送受信する。
記憶制御部23は、ROM201や、RAM202や、フラッシュメモリ203などの記憶領域にアクセスし、データの読み出しや、データの書き込みなどを行う。
入力受付部24は、タッチパネル206からのタッチ位置の情報を受け付ける。
表示制御部25は、LCD207に画面情報を出力して表示を制御する。
編集制御部26は、操作パネル20の操作者と対話形式でアドレス帳情報を編集する。編集制御部26は、アドレス帳情報を編集する際に、画面情報の表示を表示制御部25に指示したり、操作者により入力された編集情報を入力受付部24から受け付けたり、本体10への要求データの送信をWebAPI通信部27に指示したり、本体10からの応答データをWebAPI通信部27から受け取ったりする。
WebAPI通信部27は、本体10の要求応答部14とHTTP通信を行う。具体的には、WebAPI通信部27は、編集制御部26が操作パネル20のUI(User Interface)で受け付けたユーザの入力に基づくリクエストを、HTTPクライアントを使って本体のWebサーバ(要求応答部14・WebAPIサービス含む)に投げる。また、そのHTTP通信において、WebAPIサービス部15のAPIを指定し、APIの実行処理結果を受け取る。
画像処理操作部28は、操作パネル20の操作者と対話形式で画像処理の操作を受け付ける。例えば、画像処理操作部28は、画面情報の表示を表示制御部25に指示し、操作者により入力された操作を入力受付部24から受け付け、本体10への操作信号の送信を接続制御部21に指示する。なお、画像処理操作部28は、本体10の画像処理の操作を本体10が用意した画像処理用のAPIを介して行っても良い。
図4は、WebAPIサービス部15の操作種類別の複数のAPIの一例を示す図である。図4に示すように、WebAPIサービス部15は、APIとして、エントリ情報API(第1のAPI)15−1と、グループ情報API(第2のAPI)15−2と、グループ情報登録API(第3のAPI)15−3と、見出し情報API(第4のAPI)15−4とを含む。この中で、エントリ情報APIは「宛先情報API」の一例である。グループ情報登録APIは「登録API」の一例である。
ここで、一例として、エントリ情報API15−1のパスは、「/ricoh/address/entries」であるものとする。グループ情報API15−2のパスは、「/ricoh/address/groups」であるものとする。グループ情報登録API15−3のパスは、「/ricoh/address/groups」であるものとする。見出し情報API15−4のパスは、「/ricoh/address/tags」であるものとする。グループ情報API15−2のパスとグループ情報登録API15−3のパスが同じであるが、グループ情報API15−2とグループ情報登録API15−3は同一のものであり、メソッドの種類により使い分けるものとする。なお、本明細書では便宜的にこれらを分けて示す。
図5は、WebAPIサービス部15の各APIの機能を説明するための図である。図5には、一例として、アドレス帳管理部16がアドレス帳情報を後述するエントリテーブル(第1の情報テーブル)T1(図7参照)と、グループテーブル(第2の情報テーブル)T2(図7参照)と、見出しテーブル(第3の情報テーブル)T3(図7参照)とを有するデータベースDBにより管理することを前提にした場合のものを示している。
エントリ情報API15−1は、GETメソッドにより、エントリテーブルT1により管理されている個人やグループのエントリ情報から一部または全てのエントリ情報を取得する。「エントリ情報」については後述する。
グループ情報API15−2は、GETメソッドにより、グループテーブルT2により管理されているグループ情報を取得する。「グループ情報」については後述する。
グループ情報登録API15−3は、POSTメソッドにより、グループテーブルT2にグループ編集情報を登録する。「グループ編集情報」は、操作パネル20において編集されたアドレス帳情報のグループについての編集情報である。「グループ編集情報」について詳しくは後述する。
見出し情報API15−4は、GETメソッドにより、見出しテーブルT3により管理されている見出し情報を全取得する。「見出し情報」については後述する。
なお、これらの機能以外にも、各APIは、メソッドの変更などによりデータの追加や削除などを行うように機能する。例えば、エントリ情報API15−1は、POSTメソッドにより、エントリテーブルT1に1件分のエントリ情報を追加するように機能する。グループ情報API15−2は、DELETEメソッドにより、グループテーブルT2により管理されているグループ情報を全件削除するように機能する。
(要求データの構成)
続いて、WebAPI通信部27が本体10に送信する要求データについて説明する。ここでは、当該要求データとして、メソッドと、リソースを特定するURIを含む要求データの構成について示す。本体10とのHTTP通信によりやりとりするデータは一例としてJSON形式とする。
図6(a)は、WebAPI通信部27が本体10に送信する見出し情報要求データ(第1の要求データ)の構成の一例を示す図である。見出し情報要求データは、編集制御部26から見出し情報の一括取得の指示を受けた場合に使用する要求データである。
図6(a)に示すように、見出し情報要求データとして、メソッドをGETに指定し、見出し情報API15−4(図4参照)のパスをURIに指定する。本例では、見出し情報API15−4のパスは「ricoh/address/tags」であるため、それをURIに指定している。
図6(b)は、WebAPI通信部27が本体10に送信するエントリ情報要求データ(第2の要求データ)の構成の一例を示す図である。エントリ情報要求データは、編集制御部26からエントリテーブルT1の1件分のエントリ情報の取得指示を受けた場合に使用する要求データである。
図6(b)に示すように、エントリ情報要求データとして、メソッドをGETに指定し、エントリ情報API15−1(図4参照)のパスをURIに指定する。本例では、エントリ情報API15−1のパスは「ricoh/address/entries」であるため、それをURIに指定している。
図6(c)は、WebAPI通信部27が本体10に送信するグループ情報要求データ(第3の要求データ)の構成の一例を示す図である。グループ情報要求データは、編集制御部26からグループテーブルT2のグループ情報の取得指示を受けた場合に使用する要求データである。
図6(c)に示すように、グループ情報要求データとして、メソッドをGETに指定し、グループ情報API15−2(図4参照)のパスをURIに指定する。本例では、グループ情報API15−2のパスは「ricoh/address/groups」であるため、それをURIに指定している。
図6(d)は、WebAPI通信部27が本体10に送信するグループ情報登録要求データ(第4の要求データ)の構成の一例を示す図である。グループ情報登録要求データは、編集制御部26からグループテーブルT2へのグループ情報の登録指示を受けた場合に使用する要求データである。
図6(d)に示すように、グループ情報登録要求データとして、メソッドをPOSTに指定し、グループ情報登録API15−3(図4参照)のパスをURIに指定する。本例では、グループ情報登録API15−3のパスは「ricoh/address/groups」であるため、それをURIに指定している。
(テーブル構成)
続いて、本体10のアドレス帳管理部16が管理するアドレス帳情報の情報テーブルの構成について説明する。
図7は、アドレス帳管理部16が管理する各情報テーブルの相互関係を示す図である。エントリテーブルT1は、個人やグループの各エントリ情報(宛先情報)を管理するための情報テーブルである。エントリテーブルT1は、発番した「エントリID」t1に「エントリ情報」t2を対応付けている。「エントリID」t1と「エントリ情報」t2とを組み合わせたものが「宛先情報」である。
グループテーブルT2は、グループ情報を管理するための情報テーブルである。グループテーブルT2は、「グループID」t3と、グループの構成メンバの「エントリIDの配列」t4とを対応付けている。
見出しテーブルT3は、見出し情報を管理するための情報テーブルである。見出しテーブルT3は、「見出しID」t5と、「エントリIDの配列」t6とを対応付けている。
このテーブル構成では、図に線X1、X2により相互関係を示すように、グループテーブルT2の「エントリIDの配列」t4に示されるエントリIDや見出しテーブルT3の「エントリIDの配列」t6に示されるエントリIDなどがエントリテーブルT1の「エントリID」t1により管理される。
図8は、エントリテーブルT1のデータ構造の一例を示す図である。図8に示すエントリテーブルT10は、「エントリID」t10と、「エントリ情報」t11とを有する。
「エントリID」t10は、「エントリID」t1の一例で、「エントリ情報」t11を一意に管理するためのIDである。IDには、個人とグループを識別することができるようにグループを示すIDに一例として識別情報「c」を付加している。識別情報は、数字などであっても良い。
「エントリ情報」t11は、「エントリ情報」t2の一例である。ここでは、「エントリ種別」t110、「表示名」t111、「宛先」としての、「メールアドレス」t112、「FAX番号」t113、「フォルダ送信先」t114などを含めている。
「エントリ種別」t110は、ユーザ(User)や、アドレス(Address)や、グループ(Group)などのエントリ種別を区別するための情報である。以下では、エントリ種別がユーザ(User)またはアドレス(Address)であるエントリ情報(宛先情報)を「個人エントリ情報」として記載する。また、エントリ種別がグループ(Group)であるエントリ情報(宛先情報)を「グループエントリ情報」として記載する。
「表示名」t111は、UI画面に表示させるエントリされた個人やグループの名称である。
図9は、グループテーブルT2のデータ構造の一例を示す図である。図9に示すグループテーブルT20は、「グループID」t20と、「表示名」t21と、「エントリ数」t22と、「エントリIDの配列」t23とを有する。
「グループID」t20は、「グループID」t3の一例で、グループを一意に識別するためのIDである。「表示名」t21は、UI画面に表示させるグループ名称である。「エントリ数」t22は、「グループID」t20のグループの構成メンバのエントリ数である。「エントリIDの配列」t23は、「エントリIDの配列」t4の一例で、「グループID」t20のグループの構成メンバのエントリIDである。
「グループ情報」は、グループと当該グループの構成メンバとの対応関係を示す情報のことである。ここでは、主に「グループID」t20と「エントリIDの配列」t23との対応関係を示す情報のことである。
図10は、見出しテーブルT3のデータ構造の一例を示す図である。図10に示す見出しテーブルT30は、「見出しID」t30と、「表示名」t31と、「エントリ数」t32と、「エントリIDの配列」t33とを有する。
「見出しID」t30は、「見出しID」t5の一例で、見出しを一意に識別するためのIDである。「表示名」t31は、UI画面に表示させる見出しである。「エントリ数」t32は、「見出しID」t30の見出しに属するエントリIDのエントリ数である。本例では個人およびグループの各エントリIDの総エントリ数を示す。「エントリIDの配列」t33は、「エントリIDの配列」t6の一例で、「見出しID」t30の見出しに属する個人およびグループのエントリIDである。
「見出し情報」は、見出しと当該見出しに属する個人やグループとの対応関係を示す情報のことである。ここでは、主に「見出しID」t30と「エントリIDの配列」t33との対応関係を示す情報のことである。「見出し」は、個人やグループのエントリ情報を個人名やグループ名の文字の並びに従って分類する「あ行」や「か行」等の分類用の見出しのことである。
(MFP1の処理)
続いて、本体10のアドレス帳情報を操作パネル20において編集(取得含む)する場合のMFP1の動作について説明する。先ず、図11〜図13に示す操作パネル20における処理を、図14および図15に示す操作パネル20の画面フローを適宜参照しながら説明する。
(操作パネル20における処理)
図11は、アドレス帳編集アプリの起動からグループ編集のメニュー画面が表示されるまでの処理の一例を示す図である。先ず、ホーム画面1000(図14参照)のアドレス帳編集アプリのアイコン1001(図14参照)がタッチ操作されると編集制御部26が起動する(S1)。タッチ操作の代わりにキー操作などでも良い。なお、以下のタッチ操作も同様のものとする。また、以下において、各種のボタンのタッチ操作はボタンを押下する操作であるものとする。
起動過程において、編集制御部26は、WebAPI通信部27に、本体10の要求応答部14への接続確認用のデータの送信を指示する(S2)。
その後、編集制御部26は、本体10の要求応答部14から応答された接続確認情報がWebAPI通信部27から通知されると、その接続確認情報が接続可を示す情報であるかを判定する(S3)。
編集制御部26は、上記接続確認情報が接続可を示す情報である場合(ステップS3:Yes判定)、アドレス帳編集アプリのメニュー画面1100(図14参照)の表示を表示制御部25に指示して起動を完了し、入力受付部24からの入力を受け付け可能にして待機する(S4)。また、編集制御部26は、上記接続確認情報が接続不可を示す情報である場合(ステップS3:No判定)、接続不可のダイアログボックスを表示するなどしてアドレス帳編集アプリのプログラムを終了する。
アドレス帳編集アプリのメニュー画面1100(図14参照)には、宛先情報をグループ化する新規作成ボタン1101と、既存グループの構成メンバを編集する構成メンバ編集ボタン1102と、既存グループを削除するボタン1103の、3つの処理項目を設けている。
ステップS4の処理後、編集制御部26は、新規作成ボタン1101がタッチ操作されたかを入力受付部24で受け付けられた入力情報から判定する(S5)。入力情報が新規作成ボタン1101のタッチ操作を示す情報である場合(ステップS5:Yes判定)、編集制御部26は、新規作成処理を実行する(S6)。新規作成処理の実行後、編集制御部26は、ステップS4に戻ってアドレス帳編集アプリのメニュー画面1100の表示を指示して次の入力まで待機する。
入力情報が新規作成ボタン1101のタッチ操作を示す情報でない場合(ステップS5:No判定)、編集制御部26は、構成メンバ編集ボタン1102がタッチ操作されたかを入力受付部24で受け付けられた入力情報から判定する(S7)。入力情報が構成メンバ編集ボタン1102のタッチ操作を示す情報である場合(ステップS7:Yes判定)、編集制御部26は、編集処理を実行する(S8)。編集処理の実行後、編集制御部26は、ステップS4に戻ってアドレス帳編集アプリのメニュー画面1100の表示を指示して次の入力まで待機する。
入力情報が構成メンバ編集ボタン1102のタッチ操作を示す情報でない場合(ステップS7:No判定)、編集制御部26は、ボタン1103がタッチ操作されたかを入力受付部24で受け付けられた入力情報から判定する(S9)。入力情報がボタン1103のタッチ操作を示す情報である場合(ステップS9:Yes判定)、編集制御部26は、既存グループを削除する処理を実行する(S10)。この処理の実行後、編集制御部26は、ステップS4に戻ってアドレス帳編集アプリのメニュー画面1100の表示を指示して次の入力まで待機する。
入力情報がボタン1103のタッチ操作を示す情報でない場合(ステップS9:No判定)、編集制御部26は、ストップボタン1104がタッチ操作されたかを入力受付部24で受け付けられた入力情報から判定する(S11)。入力情報がストップボタン1104のタッチ操作を示す情報である場合(ステップS11:Yes判定)、編集制御部26は、アドレス帳編集アプリのプログラムを終了する。入力情報がストップボタン1104のタッチ操作を示す情報でない場合(ステップS11:No判定)、編集制御部26は、ステップS5に戻って処理を繰り返す。
(編集処理)
続いて図11のステップS8に示す編集処理の具体的な例を示す。この編集処理は、既存グループの構成メンバを編集するための処理である。
図12は、構成メンバ編集ボタン1102がタッチ操作されたと判定された場合に続く編集処理の一例を示す図である。先ず、編集制御部26は、グループ編集のメニュー画面2000(図15参照)の表示を表示制御部25に指示し、入力受付部24からの入力を受け付け可能にして待機する(S21)。
グループ編集のメニュー画面2000(図15参照)には、既存グループの属性情報を変更する属性情報変更ボタン2001と、既存グループの構成メンバを変更する宛先追加除外ボタン2002と、既存グループの構成メンバを確認する宛先確認ボタン2003とを設けている。
ステップS21の処理後、編集制御部26は、属性情報変更ボタン2001がタッチ操作されたかを入力受付部24で受け付けられた入力情報から判定する(S22)。入力情報が属性情報変更ボタン2001のタッチ操作を示す情報である場合(ステップS22:Yes判定)、編集制御部26は、グループ名を変更するなどの属性情報変更処理を実行する(S23)。属性情報変更処理の実行後、編集制御部26は、ステップS4(図11参照)に戻ってアドレス帳編集アプリのメニュー画面1100の表示を指示して次の入力まで待機する。
入力情報が属性情報変更ボタン2001のタッチ操作を示す情報でない場合(ステップS22:No判定)、編集制御部26は、宛先追加除外ボタン2002がタッチ操作されたかを入力受付部24で受け付けられた入力情報から判定する(S24)。入力情報が宛先追加除外ボタン2002のタッチ操作を示す情報である場合(ステップS24:Yes判定)、編集制御部26は、後述する宛先追加除外処理を実行する(S25)。
入力情報が宛先追加除外ボタン2002のタッチ操作を示す情報でない場合(ステップS24:No判定)、編集制御部26は、宛先確認ボタン2003がタッチ操作されたかを入力受付部24で受け付けられた入力情報から判定する(S26)。入力情報が宛先確認ボタン2003のタッチ操作を示す情報でない場合(ステップS26:No判定)、編集制御部26は、ステップS22に戻る。入力情報が宛先確認ボタン2003のタッチ操作を示す情報である場合(ステップS26:Yes判定)、編集制御部26は、本体10からのグループ一覧情報の取得処理や、グループ一覧情報から選択されたグループの本体10からの構成メンバのエントリ情報の取得処理などを行う宛先確認処理を実行する(S27)。宛先確認処理の実行後、編集制御部26は、ステップS4(図11参照)に戻ってアドレス帳編集アプリのメニュー画面1100の表示を指示して次の入力まで待機する。
グループ編集のメニュー画面2000(図15参照)の属性情報変更ボタン2001や、宛先追加除外ボタン2002や、宛先確認ボタン2003のタッチ操作により編集制御部26が実行する各処理では、本体10と通信して本体10のAPIを使用する。本実施の形態では、本体10のAPIを使用する処理の一例として、宛先追加除外処理(ステップS25)について説明する。
入力情報が宛先追加除外ボタン2002のタッチ操作を示す情報である場合(ステップS24:Yes判定)、編集制御部26は、次の手順で宛先追加除外処理を実行する。
図13は、宛先追加除外処理の一例を示すフロー図である。先ず、編集制御部26は、WebAPI通信部27に見出し情報の一括取得を指示する(S31)。
続いて、編集制御部26は、見出し情報が取得されたことがWebAPI通信部27から通知されると、その見出し情報からグループのエントリIDを一つ指定する(S32)。見出し情報に含まれるグループのエントリIDは、IDに付加されている識別情報「c」により判断する。
そして、編集制御部26は、WebAPI通信部27に対し、指定したエントリIDのエントリ情報(グループエントリ情報)の取得を指示する(S33)。
編集制御部26は、上記エントリIDのグループエントリ情報が取得されたことがWebAPI通信部27から通知されると、ステップS32とステップS33の処理を見出し情報に含まれる残りのグループのエントリIDの数だけ繰り返し、残りのグループのエントリIDについても一つずつWebAPI通信部27にグループエントリ情報の取得を指示する。取得した全てのグループエントリ情報はグループ選択画面情報に設定する情報としてRAM202に一時的に記憶させておく。
続いて、編集制御部26は、取得した全てのエントリIDのグループエントリ情報をグループ選択画面情報に設定し、その表示を表示制御部25に指示し、入力受付部24からの入力を受け付け可能にして待機する(S34)。
グループ選択画面2100(図15参照)には、複数のタブ2101を設けている。各タブ2101には、設定した見出しの表示名が配置され、更に、各タブ2101のタブ領域2102には、タブ2101の見出しに該当するグループのグループエントリ情報の選択ボタン2103が配置される。
グループ選択画面2100(図15参照)において選択ボタン2103のタッチ操作によりグループが選択され、更に「次へ」ボタン2104がタッチ操作されると、編集制御部26は、その操作を検知し(S35)、選択されたグループの構成メンバのエントリIDの取得をWebAPI通信部27に指示する(S36)。
続いて、編集制御部26は、構成メンバのエントリIDが取得されたことがWebAPI通信部27から通知されると、更に、取得された構成メンバのエントリIDを一つ指定する(S37)。
そして、編集制御部26は、WebAPI通信部27に対し、指定したエントリIDのエントリ情報(個人エントリ情報)の取得を指示する(S38)。
編集制御部26は、上記エントリIDの個人エントリ情報が取得されたことがWebAPI通信部27から通知されると、ステップS37とステップS38の処理を構成メンバのエントリIDに含まれる残りのエントリIDの数だけ繰り返し、残りのエントリIDについても一つずつWebAPI通信部27に個人エントリ情報の取得を指示する。取得した全ての個人エントリ情報は構成メンバ確認画面情報に設定する情報としてRAM202に一時的に記憶させておく。
続いて、編集制御部26は、選択されたグループの表示名と、そのグループの構成メンバの個人エントリ情報とを構成メンバ確認画面情報に設定し、その表示を表示制御部25に指示し、入力受付部24からの入力を受け付け可能にして待機する(S39)。
構成メンバ確認画面2200(図15参照)には、グループ名表示エリア2201、構成メンバ一覧表示エリア2202、「追加ボタン」としての宛先追加ボタン2203、登録ボタン2204などを設けている。グループ名表示エリア2201にグループの表示名が配置され、構成メンバ一覧表示エリア2202に構成メンバの個人エントリ情報(主に表示名)とメンバ単位の除外ボタン(「削除ボタン」に相当)2205とが配置される。この例では、宛先追加ボタン2203と除外ボタン2205とが「編集ボタン」に相当する。
構成メンバ確認画面2200(図15参照)において宛先追加ボタン2203がタッチ操作されると、編集制御部26は、その操作を検知し(S40)、例えばステップS41〜ステップS44に示すような編集処理を行う。具体的に、編集制御部26は、先ず全エントリIDの取得をWebAPI通信部27に指示する(S41)。
続いて、編集制御部26は、全エントリIDが取得されたことがWebAPI通信部27から通知されると、全エントリ情報から既存の構成メンバを除外した残りの個人エントリ情報を宛先追加画面情報に設定し、その表示を表示制御部25に指示し、入力受付部24からの入力を受け付け可能にして待機する(S42)。
宛先追加画面2300(図15参照)には、複数のタブ2301を設けている。各タブ2301には、設定した見出しの表示名が配置され、更に、各タブ2301のタブ領域2302には、タブ2301の見出しに該当する個人の選択ボタン2303が配置される。この他、「OK」ボタン2304や、「取消」ボタン2305などを設けている。
宛先追加画面2300(図15参照)において選択ボタン2303のタッチ操作により追加メンバが選択され、更に「OK」ボタン2304がタッチ操作されると、編集制御部26は、その操作を検知する(S43)。そして、編集制御部26は、構成メンバ確認画面2200(図15参照)の構成メンバ一覧表示エリア2202に追加メンバのボタンを配置して、表示の更新を表示制御部25に指示し、入力受付部24からの入力を受け付け可能にして待機する(S44)。
続いて、登録ボタン2204がタッチ操作されると、編集制御部26は、その操作を検知する(S45)。
そして、編集制御部26は、編集中のグループのグループIDに対する編集した構成メンバのエントリIDの登録をWebAPI通信部27に指示し(S46)、更に「登録中」を示すダイアログ2400(図15参照)の表示を表示制御部25に指示する(S47)。なお、構成メンバ確認画面2200(図15参照)において除外ボタン2205が操作された場合は、編集処理のその他の一つである削除処理として、編集中のグループのグループIDに対する、除外ボタン2205が操作されたメンバのエントリIDの削除を、WebAPI通信部27に指示することになる。
続いて、編集制御部26は、エントリIDの登録がWebAPI通信部27から通知されると、編集の結果として「登録完了」を示すダイアログ2500(図15参照)の表示を表示制御部25に指示し、入力受付部24からの入力を受け付け可能にして待機する(S48)。「登録完了」を示すダイアログ2500(図15参照)には、「OK」ボタン2501と、「他のグループの宛先を追加/除外」ボタン2502とを設けている。
続いて、編集制御部26は、「OK」ボタン2501または「他のグループの宛先を追加/除外」ボタン2502のタッチ操作を検知する(S49)。
「他のグループの宛先を追加/除外」ボタン2502がタッチ操作された場合、編集制御部26は、ステップS34に戻り、同様の手続きで処理を行う。
また、「OK」ボタン2501がタッチ操作された場合、編集制御部26は、ステップS4に戻る。
(WebAPI通信部と本体との通信処理)
続いて、アドレス帳編集アプリの実行時のWebAPI通信部27と本体10との通信処理について説明する。ここでは、一例として、既存グループの構成メンバの編集処理(図13参照)を行った場合の通信処理について示す。
図16および図17は、操作パネル20と本体10との間の通信処理のシーケンスの一例を示す図である。先ず、操作者によりアドレス帳編集アプリのアイコン1001(図14参照)がタッチ操作されることにより編集制御部26やWebAPI通信部27などが起動する。
起動後、WebAPI通信部27は、編集制御部26から本体10の接続確認の指示情報を受け取り(S100)、その指示に従い本体10の要求応答部14へ接続確認用の要求データを送信する(S101)。具体的には、WebAPI通信部27は、本体10のURIを設定した要求データを本体10へ送信し、接続を確認する。要求応答部14では、その要求データを受け取ると、操作パネル20との通信が可能かどうかや所定のAPIの利用が全て可能かどうかなどをチェックし、チェック結果を示す情報をWebAPI通信部27に返す。
続いて、WebAPI通信部27は、要求応答部14からの接続可能であることを示す情報を受け取ると(S102)、編集制御部26にその旨を通知する(S103)。
編集制御部26は、アドレス帳編集アプリのメニュー画面1100(図14参照)の表示を表示制御部25に指示する。その後、操作者によりメニュー画面1100(図14参照)において構成メンバ編集ボタン1102(図14参照)がタッチ操作されると、編集制御部26は、グループ編集のメニュー画面2000(図15参照)の表示を表示制御部25に指示する。
続いて、グループ編集のメニュー画面2000(図15参照)において、操作者により宛先追加除外ボタン2002(図15参照)がタッチ操作されると、WebAPI通信部27は、編集制御部26から見出し情報の一括取得の指示情報を受け取り(S104)、本体10の要求応答部14へ見出し情報要求データとしてGET:/ricoh/address/tags(図6参照)を送信する(たたく)(S105)。なお、宛先追加除外ボタン2002は、設定情報に含まれるアドレス帳の編集を開始するためのボタンであるので「編集開始ボタン」と言える。この他にも、設定情報に含まれるアドレス帳の編集を開始するためのボタンとして相応しいものがあれば、それを「編集開始ボタン」と呼んでもよい。
本体10の要求応答部14は、見出し情報要求データを受け付けると、WebAPIサービス部15の見出し情報API15−4(図4参照)を動作させる(S106)。
WebAPIサービス部15(見出し情報API15−4)は、アドレス帳管理部16に対し、見出しテーブルT3(図10参照)の見出し情報の全抽出を指示する(S107)。この指示により、アドレス帳管理部16は、見出しテーブルT3の見出し情報を全抽出する(S108)。
WebAPIサービス部15(見出し情報API15−4)は、アドレス帳管理部16から抽出処理により得られた見出し情報を受け取り(S109)、その見出し情報を要求応答部14へ渡す(S110)。
要求応答部14は、WebAPIサービス部15(見出し情報API15−4)から上記見出し情報を受け取ると、その見出し情報を応答データ(JSON形式の表示情報、以下の応答データも同様とする)に含めて、要求元のWebAPI通信部27に返信する(S111)。
WebAPI通信部27は、要求応答部14からの応答データを受け取ると、編集制御部26にその旨を通知する(S112)。
編集制御部26は、見出し情報が取得されたことがWebAPI通信部27から通知されると、その見出し情報からグループのエントリIDの1つを指定し、WebAPI通信部27に対し、そのエントリ情報(つまりグループエントリ情報)の取得を指示する(S113)。具体的には、見出し取得後に、最初に表示される「常用」の、見出しID“B1”に対応する、エントリIDの配列に含むグループエントリ情報である“c1”, “c2”のエントリ情報を取得する。なお、見出しのタグを操作者が選択するたびに、その見出しに含むエントリIDのグループエントリ情報を取得する。
WebAPI通信部27は、編集制御部26により指定された1つのエントリID(グループのエントリID)をエントリ情報要求データのURI(図6参照)にリクエストパラメータとして付加し、そのエントリ情報要求データを本体10の要求応答部14へ送信する(たたく)(S114)。具体的には、WebAPI通信部27は、エントリ情報要求データのURI(図6参照)に対し、「キー」として「エントリID」の識別子を設定し、「値」として「上記1つのエントリID」を設定する。例えば、図8の“c1”(総務部)のグループエントリ情報を取得する場合、GET:/ricoh/address/entries/c1と記述された関数を、操作パネル20からWebAPIを提供する本体10側のWebサーバ(要求応答部14・WebAPIサービスを含む)に送信する。なお、関数の“c1”はグループIDであり「値」である。
本体10の要求応答部14は、エントリ情報要求データを受け付けると、WebAPIサービス部15のエントリ情報API15−1(図4参照)を動作させる(S115)。
WebAPIサービス部15(エントリ情報API15−1)は、リクエストパラメータとして付加された「キー:エントリID」と「値:1つのエントリID(この場合、グループのエントリIDを示す「c1」など)」を抽出対象に指定し、アドレス帳管理部16に対しエントリテーブルT1のエントリ情報(グループエントリ情報)の抽出を指示する(S116)。この指示により、アドレス帳管理部16は、エントリテーブルT1の指定された1つのグループエントリ情報を抽出する(S117)。
WebAPIサービス部15(エントリ情報API15−1)は、アドレス帳管理部16から抽出処理により得られた1つのグループエントリ情報を受け取り(S118)、そのグループエントリ情報を要求応答部14へ渡す(S119)。
要求応答部14は、WebAPIサービス部15(エントリ情報API15−1)からグループエントリ情報を受け取ると、そのグループエントリ情報を応答データに含めて、要求元のWebAPI通信部27に返信する(S120)。
WebAPI通信部27は、要求応答部14からの応答データを受け取ると、編集制御部26にその旨を通知する(S121)。
編集制御部26は、指定した1つのグループエントリ情報が取得されたことがWebAPI通信部27から通知されると、見出し情報からグループのエントリIDのその他の1つを指定し、ステップS113〜ステップS121のシーケンスにより本体10からその1つのグループエントリ情報を取得する。この手続きは、見出し情報に含まれるグループのエントリIDの数だけ繰り返す。WebAPI通信部27は、編集制御部26によりグループのエントリIDの1つが指定される度にその指定されたエントリIDをリクエストパラメータに設定し、エントリ情報要求データを本体10の要求応答部14へ送信する。具体的にはグループエントリ情報の取得にあたって、“c1”取得後、“c2”(開発部)を取得するためにGET:/ricoh/address/entries/c2の要求を、操作パネル20から本体10側のWebサーバに送信する。全てのグループエントリ情報分を取得するまで複数回繰り返す。
編集制御部26は、見出し情報に含まれるグループのエントリIDに対応するグループエントリ情報が全て取得されると、グループ選択画面2100(図15参照)の表示を表示制御部25に指示する。グループ選択画面2100(図15参照)には取得したグループエントリ情報の内のグループ名などが表示されることになる。ここで、グループ選択画面2100の選択ボタン2103は、この例ではアドレス帳のグループ編集を開始するためのボタンでもあるので、アドレス帳の「グループ編集開始ボタン」と言える。この他にも、アドレス帳のグループ編集を開始するためのボタンとして相応しいものがあれば、それを「グループ編集開始ボタン」と呼んでもよい。
続いて、グループ選択画面2100(図15参照)において操作者によりグループが選択されると、WebAPI通信部27は、編集制御部26から次の指示情報を受け取る(S122)。この指示情報は、選択されたグループの構成メンバのエントリIDの取得を指示する指示情報である。WebAPI通信部27は、上記指示情報を受け取ると、選択されたグループのエントリIDをグループ情報要求データのURI(図6参照)にリクエストパラメータとして付加し、そのグループ情報要求データを本体10の要求応答部14へ送信する(S123)。具体的には、WebAPI通信部27は、グループ情報要求データのURI(図6参照)に対し、「キー」として「グループID」の識別子を設定し、「値」として「選択されたグループのエントリID」を設定する。例えば、グループ選択画面2100の選択ボタン2103で「総務部」を選択すると、「総務部」のグループ情報を取得するため、エントリID“c1”をURIに加えた、GET:/ricoh/address/groups/c1の関数を、操作パネル20から本体10側のWebサーバに要求として送信する。
本体10の要求応答部14は、グループ情報要求データを受け付けると、WebAPIサービス部15のグループ情報API15−2(図4参照)を動作させる(S124)。
WebAPIサービス部15(グループ情報API15−2)は、リクエストパラメータとして付加された「キー:グループID」と「値:選択されたグループのエントリID(c1等)」を抽出対象に指定し、アドレス帳管理部16に対しグループテーブルT2のグループ情報の抽出を指示する(S125)。この指示により、アドレス帳管理部16は、グループテーブルT2の上記選択されたグループのグループ情報を抽出する(S126)。
WebAPIサービス部15(グループ情報API15−2)は、アドレス帳管理部16から抽出処理により得られたグループ情報を受け取り(S127)、そのグループ情報を要求応答部14へ渡す(S128)。
要求応答部14は、WebAPIサービス部15(グループ情報API15−2)から上記グループ情報を受け取ると、そのグループ情報を応答データに含めて、要求元のWebAPI通信部27に返信する(S129)。
WebAPI通信部27は、要求応答部14からの応答データを受け取ると、編集制御部26にその旨を通知する(S130)。
編集制御部26は、グループ情報が取得されたことがWebAPI通信部27から通知されると、そのグループ情報に「エントリIDの配列」として含まれる個人のエントリIDの1つを指定し、WebAPI通信部27に対し、そのエントリ情報(つまり個人エントリ情報)の取得を指示する(S131)。具体的には、「総務部」のグループ情報を取得した場合、そのエントリIDの配列に含まれるa1、a2(図9)を取得指示する。
WebAPI通信部27は、編集制御部26により指定された1つのエントリIDをエントリ情報要求データのURI(図6参照)にリクエストパラメータとして付加し、そのエントリ情報要求データを本体10の要求応答部14へ送信する(S132)。具体的には、WebAPI通信部27は、エントリ情報要求データのURI(図6参照)に対し、「キー」として「エントリID」の識別子を設定し、「値」として「指定された個人のエントリID(a1等)」を設定する。例えば、「総務部」のエントリIDの配列に含まれる、“a1”, “a2”をURIに加えた、GET:/ricoh/address/entries/a1、GET:/ricoh/address/entries/a2の要求を、操作パネル20から本体10側のWebサーバに送信する。グループ情報のグループIDと対応するエントリIDの配列の数の分だけ、この要求を繰り返す。
本体10の要求応答部14は、エントリ情報要求データを受け付けると、WebAPIサービス部15のエントリ情報API15−1(図4参照)を動作させる(S133)。
WebAPIサービス部15(エントリ情報API15−1)は、リクエストパラメータとして付加された「キー:エントリID」と「値:指定された個人のエントリID(a1等)」を抽出対象に指定し、アドレス帳管理部16に対しエントリテーブルT1のエントリ情報(個人エントリ情報)の抽出を指示する(S134)。この指示により、アドレス帳管理部16は、エントリテーブルT1の指定された1つ(エントリID:a1等)の個人エントリ情報を抽出する(S135)。
WebAPIサービス部15(エントリ情報API15−1)は、アドレス帳管理部16から抽出処理により得られた1つの個人エントリ情報を受け取り(S136)、その個人エントリ情報を要求応答部14へ渡す(S137)。
要求応答部14は、WebAPIサービス部15(エントリ情報API15−1)から個人エントリ情報を受け取ると、その個人エントリ情報を応答データに含めて、要求元のWebAPI通信部27に返信する(S138)。
WebAPI通信部27は、要求応答部14からの応答データを受け取ると、編集制御部26にその旨を通知する(S139)。
編集制御部26は、指定した個人エントリ情報が取得されたことがWebAPI通信部27から通知されると、上記「エントリIDの配列」から個人のエントリIDのその他の1つを指定し、ステップS131〜ステップS139のシーケンスにより本体10からその1つの個人エントリ情報を取得する。この手続きは、当該「エントリIDの配列」に含まれる個人のエントリIDの数だけ繰り返す。WebAPI通信部27は、編集制御部26により個人のエントリIDの1つが指定される度にその指定されたエントリIDをリクエストパラメータに設定し、エントリ情報要求データを本体10の要求応答部14へ送信する。
編集制御部26は、当該「エントリIDの配列」に含まれるエントリIDに対応する個人エントリ情報が全て取得されると、構成メンバ確認画面2200(図15参照)の表示を表示制御部25に指示する。構成メンバ確認画面2200(図15参照)には、取得したグループ情報のグループ名や、該グループの構成メンバの各々の個人エントリ情報の個人名などが表示されることになる。
続いて、グループに含まれるメンバを確認する確認画面である構成メンバ確認画面2200(図15参照)において操作者によりグループに含まれるメンバを追加するための宛先追加ボタン2203(図15参照)がタッチ操作されると、WebAPI通信部27は、編集制御部26から全エントリ情報の取得を指示する指示情報を受け取る(S140)。そして、WebAPI通信部27は、本体10の要求応答部14へエントリ情報要求データ(図6参照)を送信する(たたく)(S141)。具体的には、宛先追加ボタン2203がタッチ操作されると、GET:/ricoh/address/entriesの要求を、操作パネル20から本体10側のWebサーバに送信し、全エントリ情報を要求する。なお、構成メンバ確認画面2200の宛先追加ボタン2203や除外ボタン2205などが「編集操作するボタン」の一例である。
本体10の要求応答部14は、エントリ情報要求データを受け付けると、WebAPIサービス部15のエントリ情報API15−1(図4参照)を動作させる(S142)。
WebAPIサービス部15(エントリ情報API15−1)は、アドレス帳管理部16に対しエントリテーブルT1のエントリ情報の全抽出を指示する(S143)。この指示により、アドレス帳管理部16は、エントリテーブルT1のエントリ情報を全抽出する(S144)。
WebAPIサービス部15(エントリ情報API15−1)は、アドレス帳管理部16から抽出処理により得られた全エントリ情報を受け取り(S145)、その全エントリ情報を要求応答部14へ渡す(S146)。
要求応答部14は、WebAPIサービス部15(エントリ情報API15−1)から全エントリ情報を受け取ると、その全エントリ情報を応答データに含めて、要求元のWebAPI通信部27に返信する(S147)。
WebAPI通信部27は、要求応答部14からの応答データを受け取ると、編集制御部26にその旨を通知する(S148)。
編集制御部26は、全エントリ情報が取得されたことがWebAPI通信部27から通知されると、宛先追加画面情報の表示を表示制御部25に指示する。宛先追加画面2300(図15参照)には、構成メンバ確認画面2200(図15参照)において表示させた既存の構成メンバを除いた残りの個人の個人名が表示されることになる。
その後、編集制御部26は、宛先追加画面2300(図15参照)において追加メンバが指定されると、その追加メンバを構成メンバに対応付け、追加メンバを構成メンバに含む表示更新を行った構成メンバ確認画面2200(図15参照)を表示する。
その後において、編集制御部26は、操作者により宛先追加ボタン2203(図15参照)がタッチ操作されると、構成メンバ(追加メンバ含む)以外を宛先追加画面2300(図15参照)に表示し、更なる追加メンバを受け付ける。
以上に示すグループの構成メンバの編集後、構成メンバ確認画面2200(図15参照)において操作者により登録ボタン2204(図15参照)がタッチ操作されると、WebAPI通信部27は、編集制御部26から追加メンバの登録を指示する指示情報を受け取る(S149)。そして、WebAPI通信部27は、本体10の要求応答部14へグループ情報登録要求(編集・更新要求)データ(図6参照)を送信する(たたく)(S150)。
具体的には、WebAPI通信部27は、グループ情報登録要求(編集・更新要求)データ(POST)(図6参照)に対象グループの「グループID」や、「エントリIDの配列(追加メンバ含む)」をリクエストパラメータとして設定する。なお、除外するメンバ(除外メンバ)が有る場合は、エントリIDの配列から除外メンバのエントリIDを削除する。具体的な操作としては、上記グループメンバの追加や削除をしたうえで登録ボタン2204を押すと、URIにグループIDと、編集後のエントリIDの配列がまとめて追加される。
例えば、「総務部」のグループを、元のメンバであるa1、a2、から、a1、b1に更新しようとする。ユーザは、除外ボタン2205を押してa2(加藤さん)をグループから除外し、宛先追加ボタン2203からb1(サトウさん)を追加する操作をしたうえで、登録ボタン2204をタッチ操作する。このタッチ操作に応じて操作パネル20から本体10側のWebサーバに、HTTPSのリクエストが送信される。リクエストは、POST:/ricoh/address/groups/[グループID]=c1の関数及び、リクエストボディにJSON形式で記述されたa1、b1(エントリIDの配列)を含む。この操作により、本体のアドレス帳の総務部のエントリIDの配列が“a1、b1”へと更新される。
本体10の要求応答部14は、グループ情報登録要求(編集・更新要求)データを受け付けると、WebAPIサービス部15のグループ情報登録API15−3(図4参照)を動作させる(S151)。
WebAPIサービス部15(グループ情報登録API15−3)は、リクエストパラメータとして設定された「グループID」の「エントリIDの配列」を指定し、アドレス帳管理部16に対しグループテーブルT2の「エントリIDの配列」の更新を指示する(S152)。この指示により、アドレス帳管理部16は、グループテーブルT2の指定されたグループIDの「エントリIDの配列」を更新する(S153)。
WebAPIサービス部15(グループ情報登録API15−3)は、アドレス帳管理部16から登録結果情報を受け取り(S154)、その登録結果情報を要求応答部14へ渡す(S155)。
要求応答部14は、WebAPIサービス部15(グループ情報登録API15−3)から登録結果情報を受け取ると、その登録結果情報を応答データに含めて、要求元のWebAPI通信部27に返信する(S156)。
WebAPI通信部27は、要求応答部14からの応答データを受け取ると、編集制御部26にその旨を通知する(S157)。
以上では、本体10のAPIを利用し、本体10のアドレス帳情報を操作パネル20において編集する処理について、処理項目「編集処理」を一例に挙げて説明した。これ以外にも、アドレス帳編集アプリが有する各種の処理項目において、操作パネル20は、本体10のAPIを利用することにより、本体10のアドレス帳情報の一部または全てを取得して、新規作成処理や、既存グループを削除する処理や、属性情報変更処理や、宛先確認処理などを行う。
(新規作成処理)
本体10のAPIを利用し、本体10のアドレス帳情報を操作パネル20において編集する処理のその他の一例として、宛先情報をグループ化する「新規作成処理」について示す。ここでは、「新規作成処理」の画面フローに基づいて本体10との通信処理について説明することとし、既に説明済みの本体10と操作パネル20との間の通信処理の詳しい説明については省略する。
図18は、新規作成処理の画面フローの一例を示す図である。先ず、新規作成ボタン1101(図14参照)のタッチ操作に基づき、編集制御部26が新規作成グループ入力画面情報の表示を表示制御部25に指示する。これにより、画面がアドレス帳編集アプリのメニュー画面1100(図14参照)から当該新規作成グループ入力画面3000に遷移する。
新規作成グループ入力画面3000には、グループ名などのグループ属性を入力する入力項目3001などを設けている。
続いて、編集制御部26は、新規作成グループ入力画面3000において、グループの属性情報を受け付け、「次へ」ボタン3002のタッチ操作を検知すると、認証保護設定画面情報の表示を表示制御部25に指示する。これにより、画面が認証保護設定画面3100に遷移する。
認証保護設定画面3100には、宛先保護、宛先コード、宛先対象などの認証保護情報の入力項目3101などを設けている。
続いて、編集制御部26は、認証保護設定画面3100において、認証保護情報を受け付け、「次へ」ボタン3102のタッチ操作を検知すると、本体10の見出し情報を取得し、更に本体10の個人エントリ情報を取得する。ここでの各情報の取得において、WebAPI通信部27によりWebAPIサービス部15の各種APIが利用される。なお、新規作成ボタン1101は、設定情報に含まれるアドレス帳の編集を開始するためのボタンであるので、編集開始ボタンと言ってもよい。
そして、編集制御部26は、取得した見出し情報や個人エントリ情報を構成メンバ選択画面情報に設定し、その画面情報の表示を表示制御部25に指示する。これにより、画面が構成メンバ選択画面3200に遷移する。
構成メンバ選択画面3200には、複数のタブ3201を設けている。各タブ3201には、設定した見出しの表示名が配置され、更に、各タブ3201のタブ領域3202には、タブ3201の見出しに該当する各個人の個人エントリ情報の選択ボタン3203が配置される。
続いて、編集制御部26は、構成メンバ選択画面3200の選択されたタブ3201のタブ領域3202に表示される各個人のエントリ情報の選択ボタン3203の中から、グループを構成する構成メンバの選択入力を受け付ける。
編集制御部26は、構成メンバ選択画面3200において構成メンバの個人エントリIDを受け付け、「次へ」ボタン3204のタッチ操作を検知すると、新規作成グループ入力画面3000や、認証保護設定画面3100や、構成メンバ選択画面3200などで受け付けた新規作成グループの情報を新規作成グループの確認画面情報に設定し、その画面の表示を表示制御部25に指示する。これにより、画面が新規作成グループの確認画面3300に遷移する。
新規作成グループの確認画面3300には、グループ名表示エリア3301、構成メンバ一覧表示エリア3302、構成メンバの追加を指示する宛先追加ボタン3303、新規作成グループの本体10への登録を指示する登録ボタン3304などを設けている。グループ名表示エリア3301にはグループの表示名が配置され、構成メンバ一覧表示エリア3302には構成メンバの個人エントリ情報(主に表示名)とメンバ単位の除外ボタン3305とが配置される。
続いて、編集制御部26は、新規作成グループの確認画面3300において宛先追加ボタン3303のタッチ操作を検知すると、画面を構成メンバ選択画面3200に戻し、追加メンバの選択入力を受け付ける。そして、追加メンバが選択されると、新規作成グループの確認画面3300を追加メンバを反映して表示させる。
そして、編集制御部26は、新規作成グループの確認画面3300において登録ボタン3304のタッチ操作を検知すると、「登録中」のダイアログ3400の表示を表示制御部25に指示し、本体10への新規グループ情報の登録をWebAPI通信部27に指示する。ここでの新規グループ情報の登録において、WebAPI通信部27によりWebAPIサービス部15の各種APIが利用される。具体的にはWebAPI通信部27が、本体10の要求応答部14へ新規作成グループ情報を渡してAPIによる登録を要求する。本体10における登録が完了すると、本体10の要求応答部14から登録完了の通知を受け取る。
登録が完了すると、編集制御部26は、「登録完了」のダイアログ3500への表示切替を表示制御部25に指示する。
編集制御部26は、「登録完了」のダイアログ3500において「OK」ボタン3501のタッチ操作を検知すると、ダイアログ3500の表示を終了し、メニュー画面情報の表示を表示制御部25に指示する。これにより、画面がメニュー画面1100に遷移する。一方、編集制御部26は、「登録完了」のダイアログ3500において「続けてグループを作成」ボタン3502のタッチ操作を検知すると、ダイアログ3500の表示を終了し、新規作成グループ入力画面情報の表示を表示制御部25に指示する。これにより、画面が新規作成グループ入力画面3000に遷移する。
(第2の実施の形態)
続いて、操作パネル20において設定情報を編集中に本体10が省エネルギーモード(以下、「省エネモード」と略する)に移行した場合の省エネモードを復帰させるための構成について示す。ここで、省エネモードとは、スリープモードや休止モードなど、本体10の一部への電力供給を一時的に停止するモードを指す。以下、第1の実施の形態と異なる箇所について説明する。共通する箇所については図に共通の番号を付すなどしてその箇所の説明を省略する。
図19は、第2の実施の形態に係るMFPの本体が発揮する主な機能の一例を示す図である。ここでも、第1の実施の形態と同様に、アドレス帳情報の取得および編集(登録)に関する主な機能を示している。第2の実施の形態に係るMFPの操作パネルの機能については、第1の実施の形態に示す操作パネル20(図3参照)に示す機能と同様であるため、ここでは図示を省略している。
図19に示す本体10−1は、第1の実施の形態に係る本体10(図3参照)に省エネモード管理部18を追加したものである。省エネモード管理部18は、「省エネモード切替手段」の一例である。省エネモード管理部18は、第1のOSが備え、省エネモードへの移行や、省エネモードからの復帰を管理する。具体的に、省エネモード管理部18は、操作パネル20からの入力を受け付けなくなるなどした時点からの時間を計時し、省エネモードへの移行時間になると、アドレス帳管理部16やエンジン制御部17等の作業データを保存して所定のハードウェアへの電力供給を停止する。また、省エネモード管理部18は、省エネモードにおいて復帰信号を監視し、復帰信号を検出すると休止したハードウェアへの電力供給を再開するなどして省エネモードから元のモードへと復帰させる。
ハードウェアへの給電の再開後、本体10−1のWebAPIサービス部15は、アドレス帳編集アプリ26(図3参照)の起動後に、WebAPI通信部27(図3参照)経由で、操作パネル20と本体10−1との接続確認をする。また、WebAPIサービス部15は、操作パネル20からの本体10−1の復帰要求を受け、アドレス帳管理部16、エンジン制御部17等本体10−1の各機能を起動(復帰)させる。なお、WebAPIサービス部15からアドレス帳管理部16が要求を受けたときに、アドレス帳管理部16がアドレス帳管理部16、エンジン制御部17等本体10−1の各機能を起動(復帰)させてもよい。
図20は、操作パネル20が本体10−1の省エネモードを復帰させる処理の一例を示す図である。本例では、本体10−1が省エネモードに移行する好適な例を示すため、第1の実施形態において一例として示す、操作パネル20が本体10のAPIを利用する回数やその手順(図16、図17参照)を、変形したものを示している。なお、操作パネル20の画面遷移については第1の実施の形態に一例として示すものと全く同様である。
図20に示す手順では、先ず、操作パネル20は本体10−1との間で接続処理を行う(S200)。当該接続処理は、第1の実施の形態において一例として示す操作パネル20と本体10との間のステップS100〜ステップS103の通信処理(図16参照)に対応する。
続いて、操作パネル20は本体10−1との間で全エントリ情報取得処理を行う(S201)。当該全エントリ情報取得処理は、ステップS140〜ステップS148の通信処理(図17参照)に対応する。
続いて、操作パネル20は本体10−1との間で見出し一括取得処理を行う(S202)。当該見出し一括取得処理は、ステップS104〜ステップS112の通信処理(図16参照)に対応する。
続いて、操作パネル20は本体10−1との間でグループ情報取得処理を行う(S203)。当該グループ情報取得処理は、ステップS122〜ステップS130の通信処理(図16参照)に対応する。
このように、第2の実施の形態の一例として示す手順において、操作パネル20は、本体10−1との接続確認後に、グループ編集に必要な全エントリ情報と、見出し情報と、グループ情報とを続けて取得する。
続いて、操作パネル20は、ステップS201〜ステップS203において取得した情報を用いて編集処理を行う(S204)。操作パネル20は、取得した情報をRAM202の所定領域に一時的に保存し、画面に応じて対応する情報を表示させ、操作者にグループの構成メンバを変更させる。
操作パネル20におけるグループの変更操作は、複数画面に跨っての複数個所の選択が伴い時間を要する。本体10−1は、操作パネル20からの入力が暫くの間途絶えることになり、省エネモード管理部18が省エネモードへの移行時間を検知すると、省エネモードになる(S205)。
操作パネル20は、操作者による編集操作が終了し、構成メンバ確認画面2200(図15参照)の登録ボタン2204がタッチ操作されると、グループ編集情報を含むグループ情報登録要求データを本体10−1に送信する(S206)。
本体10−1では、省エネモード管理部18がグループ情報登録要求データの信号(復帰信号)を検知して省エネモードを元のモードへ復帰させる(S207)。
本体10−1は、更に、グループ情報登録要求データを基にアドレス帳情報の登録処理(更新の場合は更新処理)を行う(S208)。
そして、本体10−1は、登録処理の結果を応答データに含めて操作パネル20に返信する(S209)。
なお、ここでは、一例として、グループ情報登録要求データを復帰信号としたが、その他の要求データも同様に復帰信号として含まれる。
(第3の実施の形態)
第1の実施の形態では、本体のAPIを操作パネルが利用する場合の形態を示した。しかし、操作パネルに限らず、MFPの外部装置であるPC(Personal Computer)やスマートフォンなどの汎用コンピュータが本体のAPIを利用しても良い。ここでは、操作パネル以外にPCやスマートフォンなどの外部装置が本体のAPIを利用する場合の形態について示す。
図21は、第3の実施形態に係る情報処理システムの全体構成の一例を示す図である。図21に示す情報処理システムは、操作パネル20と本体10−2を有するMFP2と、本体10−2とネットワークを介して通信する外部装置(PCやスマートフォンなど)40とを有する。
図21の本体10―2においては、第1の実施の形態とは異なる機能ブロックの構成を示している。図21に示すように、本体10−2は、本体10(図3参照)に更に本体APIサービス部19を追加したものである。ここでは主に本体APIサービス部19が「第2のWebAPIサービス」に相当する。なお、ここでは、説明を理解しやすいように、接続制御部11や、通信制御部12や、記憶制御部13や、要求応答部14など、一部の機能については図示を省略して示している。例えば、外部装置40は本体APIサービス部19へのアクセスを通信制御部12を介して行う。
本体APIサービス部19は、外部装置40にSOAP(Simple Object Access Protocol)のWebAPIの利用を可能にする。SOAPのWebAPIは、セッションを管理し、外部装置40からアドレス帳情報の編集指示を受け付ける。SOAPのWebAPIを用いてアドレス帳管理部16により登録されたアドレス帳情報は、操作パネル20と外部装置40とにより共有される。またSOAPのWebAPIは、リクエストとレスポンスをともにXML形式のデータによって行う。
なお、WebAPIサービス部15(第1のWebAPIサービス)はRESTのWebAPIを介して操作パネル20と通信する。一方、本体APIサービス部19(第2のWebAPIサービス)は、SOAPのWebAPIを介して、外部装置40と通信する。このようにWebAPIサービス毎にREST方式・SOAP方式と、用いる方式を異ならせて用いてもよいが、共に同じ方式(2つともREST方式、2つともSOAP方式)を用いてもよい。
図22は、第3の実施形態に係る情報処理システムの全体構成のその他の一例を示す図である。図22に示す情報処理システムは、操作パネル20と本体10を有するMFP1と、本体10とネットワークを介して通信する外部装置(PCやスマートフォンなど)50とを有する。外部装置50は、アドレス帳情報編集アプリ等を有する。このときWebAPIサービス部15(第1のWebAPIサービス)はRESTのWebAPIを介して操作パネル20及び外部装置50を含む、複数の装置と通信する。なお、WebAPIサービス部15(第1のWebAPIサービス)は、SOAPのWebAPIを介して通信してもよい。
このように、操作パネル20のみではなく、外部装置50に対してWebAPIサービス部15の利用を可能にしても良い。
なお、外部装置50と本体10との通信は、ネットワークに限らずBluetooth(登録商標)などの近距離無線通信を行っても良い。
以上のように、各実施の形態では、画像処理装置本体側にある設定情報を操作パネル又は外部装置から操作することが可能になる。従って、画像処理装置本体側にある設定情報を操作パネル又は外部装置から取得したり編集したりすることが可能になる。
各実施の形態の画像処理装置及び情報処理システムで実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、各実施の形態の画像処理装置及び情報処理システムで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、各実施の形態の画像処理装置及び情報処理システムで実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、各実施の形態のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。