(57)【要約】【課題】ブックの所望のページにコンテンツを配置する際の作業性を向上させる。【解決手段】ブック編集システム１００のサーバ装置１０２は、クライアント装置１０１からコンテンツを取得し、取得したコンテンツを取得した順に所定のブックのページに配置する。サーバ装置１０２は、所定のページに所定のコンテンツを配置することができないエラーが発生すると、エラーに関わるコンテンツが配置される予定であったブックのページ位置を外部記憶装置２０４に記憶し、エラーに関わるコンテンツをブックに再配置する際に、エラーに関わるコンテンツを外部記憶装置２０４に記憶されているページ位置に配置して、ブックを再構成する。【選択図】図５
2019053482.tif 000002
【特許請求の範囲】
【請求項１】
通信手段を介して通信可能に接続される第１の情報処理装置と第２の情報処理装置とを備える情報処理システムであって、
前記第１の情報処理装置は、
前記第２の情報処理装置から送信されたコンテンツを受信する受信手段と、
前記受信手段が受信したコンテンツを受信した順にブックのページに配置する配置手段と、
前記ブックの所定のページに所定のコンテンツを配置することができないエラーの発生を検出する検出手段と、
前記検出手段がエラーを検出したときに、前記第２の情報処理装置へエラー通知を送信する通知手段と、
前記検出手段によって検出されたエラーに関わるコンテンツが配置される予定であった前記ブックのページ位置を記憶する記憶手段と、
前記第２の情報処理装置からの指示に応じて前記エラーに関わるコンテンツを、再度、前記ブックに配置する際に、前記コンテンツを前記記憶手段に記憶されている前記ページ位置に配置すると共に既に前記ブックに配置されているコンテンツを再配置する再配置手段と、を有し、
前記第２の情報処理装置は、
前記第１の情報処理装置へコンテンツを送信する送信手段と、
前記第１の情報処理装置から受信した前記エラー通知に係るコンテンツの前記ブックへの再追加を前記第１の情報処理装置へ指示する操作手段と、を有することを特徴とする情報処理システム。
【請求項２】
前記第１の情報処理装置は、
前記検出手段により検出されたエラーの解消が可能か否かを判定する判定手段と、
前記判定手段が前記エラーを解消することができないと判定した場合に、前記エラーに係るコンテンツの前記記憶手段への記憶を除外する除外手段と、を有することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記検出手段は、前記エラーの発生を、前記受信手段によるコンテンツの受信状態、前記受信手段が受信したコンテンツの拡張子またはフォーマットのいずれかに基づいて検出することを特徴とする請求項１又は２に記載の情報処理システム。
【請求項４】
前記第２の情報処理装置は、
表示手段と、
前記表示手段に重畳して設けられたタッチパネルと、を有し、
前記操作手段は、前記表示手段に表示されて前記タッチパネルに対するタッチ操作を受け付けるボタンであることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理システム。
【請求項５】
コンテンツが配置されるブックを管理する情報処理装置であって、
コンテンツを取得する取得手段と、
前記取得手段が取得したコンテンツを取得した順に所定のブックのページに配置する配置手段と、
前記ブックの所定のページに前記取得手段が取得した所定のコンテンツを配置することができないエラーの発生を検出する検出手段と、
前記検出手段によって検出されたエラーに関わるコンテンツが配置される予定であった前記ブックのページ位置を記憶する記憶手段と、
前記エラーに関わるコンテンツを、再度、前記ブックに配置する際に、前記コンテンツを前記記憶手段に記憶されているページ位置に配置する再配置手段と、を備えることを特徴とする情報処理装置。
【請求項６】
前記検出手段により検出されたエラーの解消が可能か否かを判定する判定手段と、
前記判定手段が前記エラーを解消することができないと判定した場合に、前記エラーに係るコンテンツの前記記憶手段への記憶を除外する除外手段と、を有することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
ブックを管理する管理装置へコンテンツを送信する送信手段と、
前記ブックを作成するためのＧＵＩを表示する表示手段と、
前記ＧＵＩを生成する生成手段と、
前記管理装置において所定のコンテンツを所定のブックの所定のページに配置することができなかったことを示すエラー通知を前記管理装置から受信する受信手段と、
前記エラー通知を受信したことに応じたユーザの操作を受け付けて前記コンテンツの前記ブックへの再追加を前記管理装置へ指示する操作手段と、を有することを特徴とする情報処理装置。
【請求項８】
前記表示手段に重畳して設けられたタッチパネルを有し、
前記操作手段は、前記表示手段に表示されて前記タッチパネルに対するタッチ操作を受け付けるボタンであることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
コンテンツが配置されるブックを作成する情報処理装置であって、
前記ブックを作成するためのＧＵＩを表示する表示手段と、
前記ＧＵＩを生成する生成手段と、
コンテンツを取得する取得手段と
前記取得手段が取得したコンテンツを取得した順に所定のブックのページに配置する配置手段と、
前記ブックの所定のページに前記取得手段が取得した所定のコンテンツを配置することができないエラーの発生を検出する検出手段と、
前記検出手段によって検出されたエラーに関わるコンテンツが配置される予定であった前記ブックのページ位置を記憶する記憶手段と、
前記エラーの発生に応じたユーザの操作に基づいて前記エラーに関わるコンテンツを前記ブックへ配置する際に、前記コンテンツを前記記憶手段に記憶されているページ位置に配置する再配置手段と、を備えることを特徴とする情報処理装置。
【請求項１０】
通信手段を介して通信可能に接続される複数の情報処理装置とにより実行される情報処理方法であって、
第２の情報処理装置から第１の情報処理装置へコンテンツを送信するステップと、
前記コンテンツを送信された順にブックのページに配置するステップと、
前記ブックの所定のページに所定のコンテンツを配置することができないエラーの発生を検出するステップと、
前記検出されたエラーに関わるコンテンツが配置される予定であった前記ブックのページ位置を記憶するステップと、
前記エラーの発生が検出されたときに前記第１の情報処理装置から前記第２の情報処理装置へエラー通知を送信するステップと、
前記エラー通知に対するユーザによる操作に応じて、前記エラー通知に関わるコンテンツの前記ブックへの再追加を前記第２の情報処理装置から前記第１の情報処理装置へ指示するステップと、
前記指示に応じて前記エラー通知に関わるコンテンツを前記ブックに配置する際に、前記コンテンツを前記記憶されたページ位置に配置すると共に既に前記ブックに配置されているコンテンツを再配置するステップと、を有することを特徴とする情報処理方法。
【請求項１１】
コンテンツが配置されるブックを管理する情報処理装置の制御方法であって、
コンテンツを取得するステップと、
前記コンテンツを取得した順にブックのページに配置するステップと、
前記ブックの所定のページに所定のコンテンツを配置することができないエラーの発生を検出するステップと、
検出されたエラーに関わるコンテンツが配置される予定であった前記ブックのページ位置を記憶手段に記憶するステップと、
前記エラーに関わるコンテンツを、再度、前記ブックに配置する際に、前記コンテンツを前記記憶手段に記憶されているページ位置に配置するステップと、を有することを特徴とする情報処理装置の制御方法。
【請求項１２】
コンピュータを、請求項５乃至９のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置及びその制御方法並びにプログラムに関し、特に、文書や写真、図面等のコンテンツをブックのページに配置する技術に関する。
【背景技術】
【０００２】
コンテンツを受信し、受信したコンテンツを所定のページに配置してブックを作成する情報処理装置が知られている。例えば、特許文献１に記載された情報処理装置は、コンテンツを受信すると、先ず、ブックの既存コンテンツのコンテンツ名と受信したコンテンツのコンテンツ名とを比較する。続いて、コンテンツ名が一致する場合には、コンテンツ同士の内容を比較し、その内容に差異がある場合にコンテンツ名を自動的に変更してブックに追加する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４-７８２８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
外部装置からインターネット等の通信網を介して情報処理装置にコンテンツをアップロードする途中で、例えば、通信不良等の原因により、エラーが発生することがある。この状態で、エラー発生時のコンテンツが情報処理装置に再アップロードされると、上記特許文献１に記載された情報処理装置では、再アップロードされたコンテンツはブックの最終ページに配置される。したがって、情報処理装置のユーザは、再アップロードされたコンテンツを当初に予定していたページに配置するためには、最終ページに配置されてしまったコンテンツを当初に予定していたページに配置し直す作業を行う必要がある。
【０００５】
本発明によれば、ブックの所望のページにコンテンツを配置する際の作業性を向上させることができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る情報処理システムは、通信手段を介して通信可能に接続される第１の情報処理装置と第２の情報処理装置とを備える情報処理システムであって、前記第１の情報処理装置は、前記第２の情報処理装置から送信されたコンテンツを受信する受信手段と前記受信手段が受信したコンテンツを受信した順にブックのページに配置する配置手段と、前記ブックの所定のページに所定のコンテンツを配置することができないエラーの発生を検出する検出手段と、前記検出手段がエラーを検出したときに、前記第２の情報処理装置へエラー通知を送信する通知手段と、前記検出手段によって検出されたエラーに関わるコンテンツが配置される予定であった前記ブックのページ位置を記憶する記憶手段と、前記第２の情報処理装置からの指示に応じて前記エラーに関わるコンテンツを、再度、前記ブックに配置する際に、前記コンテンツを前記記憶手段に記憶されている前記ページ位置に配置すると共に既に前記ブックに配置されているコンテンツを再配置する再配置手段と、を有し、前記第２の情報処理装置は、前記第１の情報処理装置へコンテンツを送信する送信手段と、前記第１の情報処理装置から受信した前記エラー通知に関わるコンテンツの前記ブックへの再追加を前記第１の情報処理装置へ指示する操作手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ブックの所望のページにコンテンツを配置する際の作業性を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係るブック編集システムの概略構成を示す図である。
【図２】ブック編集システムを構成するコンピュータ装置の概略構成を示すブロック図である。
【図３】クライアント装置のディスプレイに表示される各種ＧＵＩを説明する図である。
【図４】エラー発生時にクライアント装置のディスプレイに表示される従来技術に係るＧＵＩの例を示す図である。
【図５】エラー発生時にクライアント装置のディスプレイに表示される本実施形態に係るＧＵＩを示す図である。
【図６】クライアント装置が管理するリトライ対象コンテンツテーブルを説明する図である。
【図７】サーバ装置が管理する各種のテーブルを説明する図である。
【図８】図６のリトライ対象コンテンツテーブルにリトライ対象コンテンツが登録された状態の例を示す図である。
【図９】サーバ装置へコンテンツがアップロードされた後の、図７の各テーブルの一例を示す図である。
【図１０】図７の各種のテーブルにリトライ対象コンテンツが登録された後の状態を説明する図である。
【図１１】クライアント装置で実行される処理の第１のフローチャートである。
【図１２】クライアント装置で実行される処理の第２のフローチャートである。
【図１３】クライアント装置で実行される処理の第３のフローチャートである。
【図１４】サーバ装置で実行される処理の第１のフローチャートである。
【図１５】サーバ装置で実行される処理の第２のフローチャートである。
【図１６】サーバ装置で実行される処理の第３のフローチャートである。
【図１７】本発明の実施形態に係るブック編集装置の外観斜視図である。
【図１８】ブック編集装置で実行される処理の第１のフローチャートである。
【図１９】ブック編集装置で実行される処理の第２のフローチャートである。
【図２０】ブック編集装置で実行される処理の第３のフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、添付図面を参照して詳細に説明する。本実施形態では、文書や写真、図面等をページに配置（レイアウト）してブックを作成するブック編集情報処理システム（以下「ブック編集システム」という）を取り上げる。なお、ブックとは、本、アルバム、冊子、プレゼンテーション資料等の各種の文書や写真、図面等が配置されることにより構成される電子情報を指す。
【００１０】
図１は、本発明の実施形態に係るブック編集システム１００の概略構成を示す図である。ブック編集システム１００は、ブック編集情報処理クライアント装置（以下「クライアント装置」と略記する）１０１と、ブック編集情報処理サーバ装置（以下「サーバ装置」と略記する）１０２とを有する。サーバ装置１０２（第１の情報処理装置）は、コンテンツが配置されるブックの作成及び編集に必要な情報を管理する管理装置である。クライアント装置１０１（第２の情報処理装置）は、コンテンツが配置されるブックを作成、編集するための各種のＧＵＩ（グラフィカルユーザーインターフェース）を表示し、また、ブックを作成、編集するため指示をサーバ装置１０２へ送信する。クライアント装置１０１とサーバ装置１０２とは、インターネット１０３を介した双方向通信により情報（データ）の送受信が可能となっている。
【００１１】
クライアント装置１０１及びサーバ装置１０２は、具体的にはコンピュータ装置であり、基本的なハードウェアの構成は共通しているため、ここで、クライアント装置１０１及びサーバ装置１０２の基本的なハードウェアの構成について説明する。図２は、クライアント装置１０１及びサーバ装置１０２として用いられるコンピュータ装置２００の概略構成を示すブロック図である。コンピュータ装置２００は、その型式を問わず、デスクトップ型又はラップトップ型又はタブレット型のパーソナルコンピュータであってもよいし、スマートフォン等の携帯型情報端末であってもよい。
【００１２】
コンピュータ装置２００は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、外部記憶装置２０４、操作入力ＩＦ２０５、表示ＩＦ２０６、ネットワークＩＦ２０７及び画像入力ＩＦ２０８を有し、これらはシステムバス２１２を介して相互に通信可能となっている。コンピュータ装置２００には、ポインティングデバイス２０９、キーボード２１０、ディスプレイ２１１及び画像入力装置２１３が接続されている。なお、コンピュータ装置２００がタブレット型パーソナルコンピュータ又はスマートフォンである場合には、ディスプレイ２１１はコンピュータ装置２００の本体（筐体）と一体的に設けられる。また、ポインティングデバイス２０９とキーボード２１０は、ディスプレイ２１１に重畳して設けられたタッチパネルに対する操作が可能な機能として準備される。
【００１３】
ＲＯＭ２０２は、コンピュータ装置２００の動作を制御するためのファームウェアを含む各種のソフトウェア（プログラム）やパラメータを格納する。ＲＡＭ２０３は、インターネット１０３を介して取得するデータやプログラム等を一時的に保存する。また、ＲＡＭ２０３は、ＣＰＵ２０１がＲＯＭ２０２から読み出したプログラムを展開するための作業領域を提供する。外部記憶装置２０４は、各種の情報（プログラム、データ等）を記憶するハードディスクやメモリカード、光ディスク、磁気カード、光カード、ＩＣカード等である。ＣＰＵ２０１は、ＲＯＭ２０２から読み出したプログラムをＲＡＭ２０３に展開してコンピュータ装置２００の各部の動作を制御することにより、コンピュータ装置２００の全体的な動作を制御する。また、ＣＰＵ２０１は、ユーザの操作に応じてＲＯＭ２０２又は外部記憶装置２０４から所定のソフトウェア（アプリケーションプログラム）を読み出してＲＡＭ２０３に展開することにより、ユーザが所望する情報処理を実行する。
【００１４】
操作入力ＩＦ２０５は、ユーザによるポインティングデバイス２０９やキーボード２１０の操作に応じた指令をＣＰＵ２０１へ送信するためのインタフェースである。表示ＩＦ２０６は、コンピュータ装置２００が保持するデータや外部から供給されたデータ等をディスプレイ２１１に表示させるためのインタフェースである。ネットワークＩＦ２０７は、コンピュータ装置２００をインターネット１０３やＬＡＮ等のネットワークに接続するためのインタフェースである。画像入力ＩＦ２０８は、コンピュータ装置２００と画像入力装置２１３との間で画像データの送受信を行うためのインタフェースである。画像入力装置２１３は、例えば、デジタルカメラ等である。
【００１５】
次に、ブック編集システム１００で実行される情報処理について説明する。ブック編集システム１００では、クライアント装置１０１でブック編集プログラムが実行されることにより、クライアント装置１０１とサーバ装置１０２とが連携して、以下に説明する情報処理が実行される。
【００１６】
図３は、クライアント装置１０１でブック編集プログラムを起動した場合にクライアント装置１０１のディスプレイ２１１に表示される各種のＧＵＩを説明する図である。ユーザがクライアント装置１０１でブック編集プログラムを起動すると、クライアント装置１０１のディスプレイ２１１には、図３（ａ）に示すブック一覧画面３００が表示される。ブック一覧画面３００には、追加ボタン３０１、ブック名入力欄３０２及び既存ブック名表示欄３０３が表示される。追加ボタン３０１は、新しいブックを作成するための操作手段である。ブック名入力欄３０２は、新たに作成するブックの名称を入力する欄である。
【００１７】
既存ブック名表示欄３０３には、サーバ装置１０２の外部記憶装置２０４等に保存されているブックの名称が表示される。クライアント装置１０１のＣＰＵ２０１（以下「ＣＰＵ２０１＿Ｃ」と記す）は、ブック編集プログラムを実行すると、既存のブックの名称をクライアント装置１０１へ送信するようにサーバ装置１０２へ要求する。サーバ装置１０２のＣＰＵ（以下「ＣＰＵ２０１＿Ｓ」と記す）は、この要求に応じて、既存のブックの名称をクライアント装置１０１へ送信する。ＣＰＵ２０１＿Ｃは、サーバ装置１０２から受信した既存のブックの名称を既存ブック名表示欄３０３に表示する。
【００１８】
ＣＰＵ２０１＿Ｃは、新たに作成するブックの名称がブック名入力欄３０２に入力された状態で追加ボタン３０１が押下（選択）されたことを検出すると、新しいブックを作成するための要求（ブックの作成要求）をサーバ装置１０２へ送信する。ＣＰＵ２０１＿Ｓはクライアント装置１０１から受信したブックの作成要求に応じて新しいブックを作成し、その結果をクライアント装置１０１へ送信する。ＣＰＵ２０１＿Ｃは、新しいブックが作成されたことをサーバ装置１０２から通知されると、ブック一覧画面３００を図３（ｂ）に示すコンテンツ追加画面３１０へ遷移させる。
【００１９】
コンテンツ追加画面３１０には、追加ボタン３１１とコンテンツ表示欄３１２が設けられている。ここで、ユーザは、不図示のコンテンツ一覧をクライアント装置１０１のディスプレイ２１１に表示させているものとする。ＣＰＵ２０１＿Ｃは、コンテンツ一覧から選択されたコンテンツがコンテンツ表示欄３１２へドラッグアンドドロップ等の操作により取り込まれたことを検出すると、そのコンテンツを追加対象コンテンツとしてコンテンツ表示欄３１２に表示する。
【００２０】
ＣＰＵ２０１＿Ｃは、コンテンツ表示欄３１２に追加対象コンテンツが表示されている状態で追加ボタン３１１が押下（選択）されたことを検出すると、追加対象コンテンツの情報と共にコンテンツの追加要求をサーバ装置１０２へ送信する。ＣＰＵ２０１＿Ｓは、クライアント装置１０１からコンテンツの追加要求等を受信すると、サーバ装置１０２の外部記憶装置２０４（又はＲＡＭ２０３）のデータ管理領域に追加対象コンテンツを追加し、追加対象コンテンツをブックの所定のページに配置する。そして、ＣＰＵ２０１＿Ｓは、ブックの所定のページへの追加コンテンツの配置結果をクライアント装置１０１へ送信する。以下の説明では、ブックに追加するコンテンツをクライアント装置１０１からインターネット１０３を介してサーバ装置１０２へ送信することを、適宜、「コンテンツをアップロードする」、と称呼する。
【００２１】
ＣＰＵ２０１＿Ｃは、サーバ装置１０２から追加対象コンテンツに対してサーバ装置１０２で実行された処理結果を受信すると、図３（ｃ）に示すページ編集画面３２０をクライアント装置１０１のディスプレイ２１１に表示する。ページ編集画面３２０には、タッチ操作を受け付けるリトライボタン３２６が表示されている。リトライボタン３２６は本実施形態の特徴的な構成要素であるが、リトライボタン３２６の機能についての詳細な説明は、図５等を参照して後述する。
【００２２】
ページ編集画面３２０は、ブックのページを表示するページ表示領域３２１と、ページに配置されるコンテンツの一覧を表示するコンテンツ表示領域３２３とを有する。コンテンツ表示領域３２３に表示されているコンテンツが、ページ表示領域３２１の所定のページに配置される。具体的には、ページ編集画面３２０では、コンテンツ表示領域３２３には、サーバ装置１０２にアップロードされた順（サーバ装置１０２での受信順）にコンテンツＡ，Ｂ，Ｃ，Ｄ，…が表示されている。そして、ページ表示領域３２１には、コンテンツ表示領域３２３と同様に、サーバ装置１０２にアップロードされた順（コンテンツ表示領域３２３に表示された順）に、各ページにコンテンツＡ，Ｂ，Ｃ，Ｄ，…が配置されている。こうして、例えば、コンテンツ表示領域３２３に表示されているコンテンツＡ，Ｂ，Ｃ，Ｄはそれぞれ、ページ表示領域３２１のページの１ページ目（ｐ１），２ページ目（ｐ２），３ページ目（ｐ３），４ページ目（ｐ４）に配置されている。
【００２３】
なお、ユーザは、操作によって、コンテンツ表示領域３２３から所望のコンテンツを選択し、選択したコンテンツをページ表示領域３２１の所望のページにドラッグアンドドロップすることにより、各ページに配置するコンテンツを入れ替えることができる。不図示であるが、例えば、ユーザ操作によりコンテンツ表示領域３２３のコンテンツＢがページ表示領域３２１の５ページ目（ｐ５）にドラッグアンドドロップされると、５ページ目に配置されるコンテンツがコンテンツＥからコンテンツＢに置換される。
【００２４】
ページ編集画面３２０には、編集中のブックにコンテンツを追加するための追加ボタン３２２が表示されている。ＣＰＵ２０１＿Ｃは、追加ボタン３２２の押下を検出すると、編集中のブックと連携するコンテンツ追加画面３１０をクライアント装置１０１のディスプレイ２１１に表示する。ＣＰＵ２０１＿Ｃは、コンテンツ表示欄３１２に追加対象コンテンツの表示された状態で追加ボタン３１１が押下されたことを検出すると、サーバ装置１０２へ追加対象コンテンツをアップロードする。ＣＰＵ２０１＿Ｓは、アップロードされた追加対象コンテンツを編集中のブックに追加して所定のページに配置し、配置結果をクライアント装置１０１へ送信し、ＣＰＵ２０１＿Ｃはページ編集画面３２０の表示を更新する。図３（ｄ）は、ページ編集画面３２０を更新したページ編集画面３３０を示している。ページ編集画面３３０では、追加対象コンテンツ（追加分）は、ページ表示領域３２１とコンテンツ表示領域３２３のそれぞれの最後尾（右下）に表示されている。
【００２５】
ページ編集画面３２０，３３０には、保存ボタン３２４が表示されている。ＣＰＵ２０１＿Ｃは、保存ボタン３２４の押下を検出すると、編集中のブックの状態を保存するためのブック保存要求をサーバ装置１０２へ送信する。ＣＰＵ２０１＿Ｓは、クライアント装置１０１からブック保存要求を受信すると、サーバ装置１０２で管理しているブックの状態をクライアント装置１０１から送信されたブックの状態で更新し、保存（記憶）する。こうして、クライアント装置１０１により新しいブックが生成され、生成されたブックはサーバ装置１０２に保存される。
【００２６】
ページ編集画面３２０（ページ編集画面３３０）には、ブックを一覧表示するための一覧表示ボタン３２５が表示されている。ＣＰＵ２０１＿Ｃは、一覧表示ボタン３２５の押下を検出すると、サーバ装置１０２に保存されているブック一覧の情報をサーバ装置１０２から取得し、ブック一覧画面３００を表示する。ユーザは、サーバ装置１０２に保存されているブックを再編集する場合には、ブック一覧画面３００の既存ブック名表示欄３０３から再編集の対象となるブックの名称を選択すればよい。
【００２７】
ＣＰＵ２０１＿Ｃは、既存ブック名表示欄３０３にあるブックの１つが選択されたことを検出すると、選択されたブックの情報の送信要求をサーバ装置１０２へ送信する。ＣＰＵ２０１＿Ｓは、クライアント装置１０１から受信した送信要求に対応するブックの情報をクライアント装置１０１へ送信する。これにより、クライアント装置１０１のディスプレイ２１１には、選択されたブック（編集対象ブック）のページを編集するためのページ編集画面（ページ編集画面３２０に準ずる）が表示される。選択されたブックの編集は、新しいブックを作成する際の編集と同様に行うことができるため、ここでの説明は省略する。
【００２８】
ところで、クライアント装置１０１とサーバ装置１０２が連携してブックのページにコンテンツを追加する際に、通信不良等によってコンテンツをサーバ装置１０２へアップロードすることができず、エラーとなってしまうことがある。また、例えば、主に画像をコンテンツとして構成されるブックに対して画像以外の拡張子のコンテンツの追加が試行された場合に、サーバ装置１０２がそのコンテンツをブックのページに配置することができず、エラーとなってしまうことがある。
【００２９】
ブック編集システム１００でこのようなエラーが発生した際の処理について説明する前に、エラーが発生した際の従来技術での処理について説明する。ここでは、便宜上、エラーが発生した際の従来技術での処理の説明に、図３（ｃ）に示したページ編集画面３２０と同様のページ編集画面を参照することとする。
【００３０】
図４は、ブックのページへコンテンツを追加する際にエラーが生じた場合にクライアント装置のディスプレイに表示される従来例に係るＧＵＩを示す図である。図４（ａ）は、エラー通知画面４００の例である。図４（ｂ）は、ブックのページへコンテンツを追加する際にエラーが生じた場合の従来技術に係るページ編集画面４１０を模式的に示す図である。なお、従来技術には、リトライボタン３２６の機能は備えられておらず、そのため、ページ編集画面４１０にはリトライボタン３２６は表示されていない。
【００３１】
ユーザがコンテンツ追加画面３１０を操作して、コンテンツＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，・・の順に追加しようしたが、例えば、コンテンツＢ，Ｄのアップロードの際に通信が途切れる等してエラーが発生し、コンテンツＢ，Ｄの追加にエラーが発生したとする。すると、エラー発生時には、エラー通知画面４００が表示される。なお、エラー通知画面４００は、閉じるボタンが押下されると、画面から消去される。ページ編集画面４１０のコンテンツ表示領域３２３には順にコンテンツＡ，Ｃ，Ｅ，Ｆ，…が配置され、コンテンツＢ，Ｄは表示されていない。その結果、ページ編集画面４１０のページ表示領域３２１でも、コンテンツＡ，Ｃ，Ｅ，Ｆ，…の順にコンテンツが配置されている。
【００３２】
図４（ｃ）は、図４（ｂ）の状態でコンテンツＢ，Ｄをブックに再度追加する操作が行われた場合の従来技術に係るページ編集画面４２０を模式的に示す図である。ページ編集画面４２０では、コンテンツ表示領域３２３とページ表示領域３２１のそれぞれの最後尾にコンテンツＢ，Ｄが配置されている。したがって、ユーザは、コンテンツＢ，Ｄを当初に配置する予定であって位置に配置するためには、手動操作によりコンテンツＢ，Ｄを配置し直さなければならない。
【００３３】
本実施形態では、コンテンツをブックに追加する際にエラーが発生した場合に、ユーザがコンテンツを配置し直すための操作を行わずとも、当初の予定通りにコンテンツを配置して、エラーを解消することができるようにする。図５は、ブックのページへコンテンツを追加する際にエラーが生じた場合にクライアント装置１０１のディスプレイ２１１に表示される本実施形態でのＧＵＩの例を示す図である。リトライボタン３２６は、ブックへのコンテンツ追加時にエラーが発生したことにより所望のページにコンテンツを配置することができなかった場合に、再度、コンテンツをブックに追加すると共に所望のページに簡単に配置するための操作手段である。
【００３４】
図４を参照して説明したシーンと同様に、ブックにコンテンツＢ，Ｄを追加する際にエラーが発生したものとする。この場合に、ＣＰＵ２０１＿Ｃは、エラーが発生したコンテンツＢ，Ｄの情報を、クライアント装置１０１の外部記憶装置２０４（又はＲＡＭ２０３）のデータ管理領域に記憶する。また、ＣＰＵ２０１＿Ｓは、エラーが発生したコンテンツＢ，Ｄの情報と共に当初にコンテンツＢ，Ｄが配置される予定であったページ（位置）をサーバ装置１０２の外部記憶装置２０４（又はＲＡＭ２０３）のデータ管理領域に記憶する。
【００３５】
つまり、ＣＰＵ２０１＿Ｃ（クライアント装置１０１）は、コンテンツＢ，Ｄが再追加する対象のコンテンツであることを示す情報を保持する。また、ＣＰＵ２０１＿Ｓ（サーバ装置１０２）は、コンテンツＡの後ろ（２ページ目（ｐ２））にコンテンツＢが、コンテンツＣの後ろ（４ページ目（ｐ４））にコンテンツＤが配置されること示す情報を保持する。この時点では、クライアント装置１０１のディスプレイ２１１には、図５（ａ）のページ編集画面５００が表示されている。ページ編集画面５００では、コンテンツＢ，Ｄが追加されていないことがわかる。なお、本実施形態でも、コンテンツを追加する際にエラーが発生した場合には、図４（ａ）に示したエラー通知画面４００がクライアント装置１０１のディスプレイ２１１に表示されることが望ましい。
【００３６】
ユーザは、こうしてコンテンツＢ，Ｄに関する情報がクライアント装置１０１とサーバ装置１０２に記憶されている状態で、ページ編集画面５００のリトライボタン３２６を押下することになる。ＣＰＵ２０１＿Ｃは、リトライボタン３２６の押下を検出すると、コンテンツＢ，Ｄの情報と共にコンテンツＢ，Ｄのブックへの追加要求をサーバ装置１０２へ送信する。ＣＰＵ２０１＿Ｓは、クライアント装置１０１からコンテンツＢ，Ｄの追加要求を受信すると、データ管理領域に記憶したコンテンツＢ，Ｄに関する情報に基づき、コンテンツＢ，Ｄが当初に配置される予定だった位置を取得し、ブックのページを再構成する。そして、ＣＰＵ２０１＿Ｓは、再構成したブックの情報をクライアント装置１０１へ送信する。ＣＰＵ２０１＿Ｃは、サーバ装置１０２から受信した再構成されたブックの情報に基づいて、ページ編集画面５００を更新する。
【００３７】
具体的には、ページ編集画面５００においてコンテンツＣが配置されている位置にコンテンツＢが配置され、コンテンツＣはコンテンツＥが配置されている位置へ移る。コンテンツＦが配置されている位置にコンテンツＤが配置され、コンテンツＥはコンテンツＧが配置されている位置へ移り、コンテンツＦはコンテンツＨが配置されている位置へ移る。コンテンツＧ以降は、順次、後ろへずらして配置される。その結果、ページ編集画面５００は、図５（ｂ）のページ編集画面５１０に更新されて、クライアント装置１０１のディスプレイ２１１に表示されることになる。
【００３８】
なお、ページ編集画面５１０は、実質的に図３（ｂ）のページ編集画面３２０と同じである。また、ページ編集画面５１０では、コンテンツＢ，Ｄが配置された位置を、斜線ハッチングされた枠で模式的に示している。このように本実施形態では、ブックへコンテンツを追加する際にエラーが発生した場合には、リトライボタン３２６を押下するだけで、当初の予定通りにコンテンツを配置することが可能になる。
【００３９】
次に、コンテンツをブックに追加する際にエラーが発生したときの状態をクライアント装置１０１において管理するための手法について説明する。図６は、クライアント装置１０１が管理するリトライ対象コンテンツテーブル６００を示す図である。リトライ対象コンテンツとは、ブックに追加する際にエラーとなってブックに追加することができなかったコンテンツを指し、図４及び図５を参照して前述した具体例では、コンテンツＢ，Ｄである。
【００４０】
リトライ対象コンテンツテーブル６００の管理項目には、ブックＩＤ６０１、コンテンツ名６０２、拡張子６０３、フォーマット６０４、サイズ６０５、メタ情報６０６及びパス６０７がある。ブックＩＤ６０１はブックを一意に識別するための符号であり、コンテンツ名６０２はコンテンツの名称であり、拡張子６０３はコンテンツの拡張子である。フォーマット６０４はコンテンツのフォーマットであり、サイズ６０５はコンテンツのサイズであり、メタ情報６０６はコンテンツのメタ情報であり、パス６０７はコンテンツを記憶する記憶領域での所在を示すパス情報である。
【００４１】
ＣＰＵ２０１＿Ｃは、コンテンツ追加画面３１０からコンテンツをブックに追加する際にエラーが発生したときに、発生したエラーに関連するコンテンツをリトライ対象コンテンツに指定する。そして、ＣＰＵ２０１＿Ｃは、リトライ対象コンテンツの各種の情報をリトライ対象コンテンツテーブル６００に格納する。ＣＰＵ２０１＿Ｃは、ページ編集画面でのリトライボタン３２６の押下を検出すると、リトライ対象コンテンツテーブル６００にあるリトライ対象コンテンツのレコードを参照して、リトライ対象コンテンツの情報と共にその追加要求をサーバ装置１０２へ送信する。
【００４２】
次に、コンテンツをブックに追加する際にエラーが発生したときの状態をサーバ装置１０２において管理するための手法について説明する。図７は、サーバ装置１０２がブックを管理するための各種テーブルを説明する図である。図７（ａ）は、ブックの情報を格納するブックテーブル７００を示している。ブックテーブル７００では、ブックＩＤ７０１とブック名７０２が管理される。ブックＩＤ７０１はブックを一意に識別するための符号であり、ブック名７０２はブックの名称である。
【００４３】
図７（ｂ）は、ブックでのページとコンテンツとの関係を管理するためのブック所属コンテンツテーブル７１０を示している。ブック所属コンテンツテーブル７１０では、ブックＩＤ７１１、ページ位置７１２及びコンテンツＩＤ７１３が管理される。ブックＩＤ７１１は、ブックを一意に識別するための符号である。ページ位置７１２は、ブックのページ位置を示す情報である。コンテンツＩＤ７１３は、ブックのページに配置されるコンテンツを一意に識別するための符号である。
【００４４】
図７（ｃ）は、コンテンツの情報を格納するコンテンツテーブル７２０を示している。コンテンツテーブル７２０では、コンテンツＩＤ７２１、コンテンツ名７２２、拡張子７２３、フォーマット７２４、受信予定サイズ７２５、受信済みサイズ７２６、メタ情報７２７及びパス７２８が管理される。コンテンツＩＤ７２１はコンテンツを一意に識別するための符号であり、コンテンツ名７２２はコンテンツの名称であり、拡張子７２３はコンテンツの拡張子であり、フォーマット７２４はコンテンツのフォーマットである。受信予定サイズ７２５は、クライアント装置１０１から受信するコンテンツについて受信すると予想されるデータサイズである。受信済みサイズ７２６は、リトライ対象コンテンツについて受信済みのデータサイズであり、リトライ対象コンテンツのブックへの追加が再試行される際に利用される。メタ情報７２７はコンテンツのメタ情報であり、パス７２８はコンテンツを記憶する記憶領域での所在を示すパス情報である。
【００４５】
図７（ｄ）は、クライアント装置１０１からリトライ対象コンテンツの再追加要求を受信した場合に必要となる情報を格納するエラー情報テーブル７３０を示している。エラー情報テーブル７３０では、エラー情報ＩＤ７３１、ブックＩＤ７３２、ページ位置７３３、コンテンツ識別情報７３４及びエラー原因７３５が管理される。エラー情報ＩＤ７３１は、エラー情報を一意に識別することが可能な符号であり、ブックＩＤ７３２はブックを一意に識別するための符号である。ページ位置７３３はコンテンツをブックＩＤ７３２により特定されるブックのどのページ位置に配置するかを示す情報である。コンテンツ識別情報７３４はコンテンツを識別するための情報であり、エラー原因７３５はコンテンツの追加時にエラーが発生した場合のエラー原因を識別するための情報である。
【００４６】
ＣＰＵ２０１＿Ｓは、クライアント装置１０１からコンテンツの追加要求を受信している間にエラーが発生すると、エラー発生時のコンテンツがどのブックのどのページ位置に配置する予定だったかをエラー情報テーブル７３０にレコードとして登録する。ＣＰＵ２０１＿Ｓは、クライアント装置１０１からリトライ対象コンテンツの再追加要求を受信すると、エラー情報テーブル７３０を参照して、リトライ対象コンテンツに対応する情報がエラー情報テーブル７３０に登録されているか否かを確認する。そして、ＣＰＵ２０１＿Ｓは、リトライ対象コンテンツに対応する情報がエラー情報テーブル７３０に登録されている場合、エラー情報テーブル７３０からリトライ対象コンテンツを配置するためのブックのページ位置を取得し、コンテンツを配置し直す。
【００４７】
ここで、ブックへコンテンツを追加する際にエラーが発生した場合の図６及び図７の各種テーブルの状態について、図８乃至図１０を参照して説明する。図８乃至図１０を参照する説明では、便宜上、図４及び図５を参照して説明したように、ユーザが同一のブックのページにコンテンツＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，…の順に追加しようしたが、コンテンツＢ，Ｄの追加にエラーが発生したとする。また、エラーの原因が、クライアント装置１０１からサーバ装置１０２へのコンテンツＢ，Ｄのアップロードの失敗であるものとする。
【００４８】
図８は、アップロードに失敗したコンテンツの情報がＣＰＵ２０１＿Ｃによりリトライ対象コンテンツテーブル６００に登録された後のリトライ対象コンテンツテーブル６００＿１を示す図である。リトライ対象コンテンツテーブル６００＿１には、アップロードに失敗したコンテンツＢ，Ｄに関する情報がリトライ対象コンテンツの情報として登録された状態が示されている。
【００４９】
図９は、サーバ装置１０２へコンテンツがアップロードされた後の、図７の各テーブルの一例を示す図である。図９（ａ）のブックテーブル７００＿１から、アップロードされた全てのコンテンツは、ブックＩＤ１で識別されるブック名１のブックに対して追加されたことがわかる。図９（ｂ）のブック所属コンテンツテーブル７１０＿１及び図９（ｃ）のコンテンツテーブル７２０＿１から、コンテンツＡ，Ｃ，Ｅ，Ｆ・・の順にブックＩＤがブックＩＤ１のブックへアップロードされていることがわかる。図９（ｄ）のエラー情報テーブル７３０＿１から、ブックＩＤがブックＩＤ１のブックへのコンテンツＢ，Ｄの追加がエラー原因１（アップロードエラー）によりエラーとなったことがわかる。また、エラー情報テーブル７３０＿１から、クライアント装置１０１からコンテンツＢ，Ｄの再アップロードがあったときには、コンテンツＢ，ＤはそれぞれブックＩＤ１のブックの２ページ目と４ページ目に配置されることがわかる。
【００５０】
ＣＰＵ２０１＿Ｓは、クライアント装置１０１からリトライ対象コンテンツの再追加要求を受信すると、エラー情報テーブル７３０＿１を参照する。そして、ＣＰＵ２０１＿Ｓは、リトライ対象コンテンツ（コンテンツＢ，Ｄ）の各種情報をエラー情報テーブル７３０＿１から取得して、ブック所属コンテンツテーブル７１０＿１とコンテンツテーブル７２０＿１のレコードを更新する。
【００５１】
図１０は、クライアント装置１０１からサーバ装置１０２へコンテンツＢ，Ｄの再アップロードが実行されて正常にアップロードが終了したことにより、図９の各テーブルが書き換えられた状態を示す図である。コンテンツＢ，Ｄは、ブックＩＤ１のブックに追加されるため、図１０（ａ）のブックテーブル７００＿２は、図９（ａ）のブックテーブル７００＿１のままである。ＣＰＵ２０１＿Ｓは、コンテンツＢ，ＤのそれぞれにコンテンツＩＤを付する。ＣＰＵ２０１＿Ｓは、取得したコンテンツＢ，Ｄの情報に基づき、コンテンツＢ，Ｄに関するレコードをブック所属コンテンツテーブル７１０＿１とコンテンツテーブル７２０＿１に追加する。これにより、ブック所属コンテンツテーブル７１０＿１は図１０（ｂ）のブック所属コンテンツテーブル７１０＿２へ更新され、コンテンツテーブル７２０＿１は、図１０（ｃ）のコンテンツテーブル７２０＿２へ更新される。なお、コンテンツテーブル７２０＿１へのコンテンツＢ，Ｄのレコードの追加は、情報を読み取ることができればよいため、最後尾で構わない。
【００５２】
ＣＰＵ２０１＿Ｓは、ブック所属コンテンツテーブル７１０＿２に基づき、コンテンツＢ，ＤをそれぞれブックＩＤ１のブックの２ページ目と４ページ目に挿入し、既に所定のページに配置されているコンテンツＡ，Ｃ，Ｅ，Ｆ，Ｇ，…を配置し直す。なお、サーバ装置１０２からのコンテンツの再配置結果を受信したクライアント装置１０１のディスプレイ２１１には、図５（ｂ）のページ編集画面５１０が表示されることになる。
【００５３】
ＣＰＵ２０１＿Ｓは、コンテンツＢ，Ｄを含む全てのコンテンツの再配置が終了すると、エラー情報テーブル７３０＿１のコンテンツＢ，Ｄに対応するレコードを削除し、これにより、図１０（ｄ）のエラー情報テーブル７３０＿２が保存される。なお、図１０（ｄ）は、エラー情報テーブル７３０＿１のコンテンツＢ，Ｄに関するレコードが消去（削除）された状態を模式的に示しており、エラー情報テーブル７３０＿２はコンテンツのレコードが記憶されていない状態となっている。
【００５４】
次に、ブック編集システム１００でのブックの作成時及び編集時に実行される処理の流れを、クライアント装置１０１とサーバ装置１０２のそれぞれに分けて説明する。先ず、図１１乃至図１３を参照して、クライアント装置１０１で実行される処理について説明する。図１１乃至図１３の各フローチャートの各ステップは、ＣＰＵ２０１＿Ｃがクライアント装置１０１の外部記憶装置２０４等に記憶されている所定のプログラムをＲＡＭ２０３に展開し、クライアント装置１０１の各部の動作を制御することにより実現される。
【００５５】
図１１は、ブック一覧画面３００において追加ボタン３０１が押下されたことによるブックの作成要求をＣＰＵ２０１＿Ｃが検出したときに実行する処理のフローチャートである。ステップＳ１１０１においてＣＰＵ２０１＿Ｃは、ブックの作成要求を検出したか否かを判定する。ＣＰＵ２０１＿Ｃは、ブックの作成要求を検出するまで待機し（Ｓ１１０１でＮＯ）、ブックの作成要求を検出したと判定した場合（Ｓ１１０１でＹＥＳ）、処理をステップＳ１１０２へ進める。
【００５６】
ステップＳ１１０２においてＣＰＵ２０１＿Ｃは、ブックを作成するための情報を取得する。ステップＳ１１０３においてＣＰＵ２０１＿Ｃは、ブックを作成するためにステップＳ１１０２で取得した情報をサーバ装置１０２へ送信する。ステップＳ１１０４においてＣＰＵ２０１＿Ｃは、ステップＳ１１０３の処理に応じたサーバ装置１０２からの通知（新規のブックを作成した旨）を受信したか否かを判定する。ＣＰＵ２０１＿Ｃは、サーバ装置１０２からの通知を受信するまで待機し（Ｓ１１０４でＮＯ）、サーバ装置１０２からの通知を受信したと判定した場合（Ｓ１１０４でＹＥＳ）、処理をステップＳ１１０５へ進める。ステップＳ１１０５においてＣＰＵ２０１＿Ｃは、コンテンツ追加画面３１０をクライアント装置１０１のディスプレイ２１１に表示し、その後、本処理を終了させる。
【００５７】
図１２は、コンテンツ追加画面３１０において追加ボタン３１１が押下されたことをＣＰＵ２０１＿Ｃが検出したときに実行する処理のフローチャートである。ステップＳ１２０１においてＣＰＵ２０１＿Ｃは、追加ボタン３１１の押下（コンテンツの追加要求）を検出したか否かを判定する。ＣＰＵ２０１＿Ｃは、追加ボタン３１１の押下を検出するまで待機し（Ｓ１２０１でＮＯ）、追加ボタン３１１の押下を検出したと判定した場合（Ｓ１２０１でＹＥＳ）、処理をステップＳ１２０２へ進める。ステップＳ１２０２においてＣＰＵ２０１＿Ｃは、ブックに追加するコンテンツのコンテンツ情報と、ステップＳ１１０４でサーバ装置１０２から取得したブックＩＤを取得する。
【００５８】
ステップＳ１２０３においてＣＰＵ２０１＿Ｃは、取得したコンテンツの情報をサーバ装置１０２へ送信する。ステップＳ１２０４においてＣＰＵ２０１＿Ｃは、ステップＳ１２０３の処理に対してサーバ装置１０２で実行された処理についてのサーバ装置１０２から処理結果を受信したか否かを判定する。ＣＰＵ２０１＿Ｃは、サーバ装置１０２からの処理結果を受信するまで待機し（Ｓ１２０４でＮＯ）、サーバ装置１０２からの処理結果を受信したと判定した場合（Ｓ１２０４でＹＥＳ）、処理をステップＳ１２０５へ進める。ステップＳ１２０５においてＣＰＵ２０１＿Ｃは、ステップＳ１２０４で取得した処理結果からのエラー情報の取得を試みる。
【００５９】
ステップＳ１２０６においてＣＰＵ２０１＿Ｃは、ステップＳ１２０５でエラー情報を取得することができたか否かを判定する。ＣＰＵ２０１＿Ｃは、エラー情報を取得することができない場合（Ｓ１２０６でＮＯ）、本処理を終了させ、エラー情報を取得することができた場合（Ｓ１２０６でＹＥＳ）、処理をステップＳ１２０７へ進める。ステップＳ１２０７においてＣＰＵ２０１＿Ｃは、取得したエラー情報に基づいてリトライ対象コンテンツテーブル６００にリトライ対象コンテンツの情報（レコード）を登録する。ステップＳ１２０８においてＣＰＵ２０１＿Ｃは、クライアント装置１０１のディスプレイ２１１にエラー通知画面４００を表示し、ユーザにエラー情報を提示する。ステップＳ１２０９においてＣＰＵ２０１＿Ｃは、ブックのページにコンテンツが配置されたページ編集画面５００を表示し、これにより本処理を終了させる。
【００６０】
なお、ステップＳ１２０６でブックへのコンテンツの追加にエラーが生じた理由が一時的な通信不良によるアップロードの失敗等のように時間が経過すれば比較的簡単に解決するような性質のものではない場合がある。こうしてエラーとなったコンテンツについては、リトライ対象コンテンツテーブル６００への登録対象から除外するように処理することもできる。これにより、追加に失敗した全てのコンテンツをリトライ対象コンテンツとせずに、リトライ対象コンテンツを絞り込むことができる。このような絞り込みは、例えば、コンテンツの拡張子から判断して、ページに配置するためのコンテンツとして適切ではなく、追加要求を何度も繰り返しても所定のページに配置できない場合に有用である。
【００６１】
図１３は、ページ編集画面５００においてリトライボタン３２６が押下されたことをＣＰＵ２０１＿Ｃが検出したときに実行する処理のフローチャートである。ステップＳ１３０１においてＣＰＵ２０１＿Ｃは、リトライボタン３２６の押下（リトライ対象コンテンツの再追加要求）を検出したか否かを判定する。ＣＰＵ２０１＿Ｃは、リトライボタン３２６の押下を検出するまで待機し（Ｓ１３０１でＮＯ）、リトライボタン３２６の押下を検出したと判定した場合（Ｓ１３０１でＹＥＳ）、処理をステップＳ１３０２へ進める。ステップＳ１３０２においてＣＰＵ２０１＿Ｃは、リトライ対象コンテンツテーブル６００のレコードを参照することにより、ブックに再追加するコンテンツ（リトライ対象コンテンツ）を特定する。ステップＳ１３０３においてＣＰＵ２０１＿Ｃは、リトライ対象コンテンツテーブル６００にあるレコードを参照することにより、リトライ対象コンテンツの再追加に必要な情報を取得する。
【００６２】
ステップＳ１３０４においてＣＰＵ２０１＿Ｃは、リトライ対象コンテンツの再追加に必要な情報をサーバ装置１０２へ送信し、リトライ対象コンテンツテーブル６００にあるレコードを削除する。なお、リトライ対象コンテンツテーブル６００にあるレコードの削除は、後のステップＳ１３０７での判定がＮＯとなる場合及びステップＳ１３０８の処理に対処するために行われる。ステップＳ１３０５以降の処理であるステップＳ１３０５〜Ｓ１３１０の処理はそれぞれ、図１２のフローチャートのステップＳ１２０４〜Ｓ１２０９の処理と同じとなるため、説明を省略する。
【００６３】
次に、図１４乃至図１６を参照して、サーバ装置１０２で実行される処理について説明する。図１４乃至図１６の各フローチャートの各ステップは、ＣＰＵ２０１＿Ｓがサーバ装置１０２の外部記憶装置２０４等に記憶されている所定のプログラムをＲＡＭ２０３に展開し、サーバ装置１０２の各部の動作を制御することにより実現される。
【００６４】
図１４は、ＣＰＵ２０１＿Ｓがクライアント装置１０１からブックの作成要求を受信したときに実行する処理のフローチャートである。ＣＰＵ２０１＿Ｓは、クライアント装置１０１からブックの作成要求を受信したか否かを判定する。ＣＰＵ２０１＿Ｓは、ブックの作成要求を受信するまで待機し（Ｓ１４０１でＮＯ）、ブックの作成要求を受信したと判定した場合（Ｓ１４０１でＹＥＳ）、処理をステップＳ１４０２へ進める。ステップＳ１４０２においてＣＰＵ２０１＿Ｓは、ステップＳ１１０３によりクライアント装置１０１から送信されてきた、ブックを作成するための情報を取得する。ステップＳ１４０３においてＣＰＵ２０１＿Ｓは、ブックテーブル７００にレコードを追加することによりブックを作成する。ステップＳ１４０４においてＣＰＵ２０１＿Ｓは、ブックの作成結果（作成されたブックの情報）をクライアント装置１０１へ送信し、本処理を終了させる。
【００６５】
図１５は、ＣＰＵ２０１＿Ｓがクライアント装置１０１からブックを作成するためのコンテンツの追加要求を受信したときに実行する処理のフローチャートである。ステップＳ１５０１においてＣＰＵ２０１＿Ｓは、クライアント装置１０１からコンテンツを受信したか否かを判定する。ＣＰＵ２０１＿Ｓは、コンテンツを受信するまで待機し（Ｓ１５０１でＮＯ）、コンテンツを受信したと判定した場合（Ｓ１５０１でＹＥＳ）、処理をステップＳ１５０２へ進める。ステップＳ１５０２においてＣＰＵ２０１＿Ｓは、ステップＳ１２０３によりクライアント装置１０１から送信されてきた、コンテンツを登録するための情報を取得する。
【００６６】
ステップＳ１５０３においてＣＰＵ２０１＿Ｓは、ステップＳ１５０２で取得したコンテンツを登録するための情報が妥当か否かを判定する。コンテンツをブックに登録（追加）するに際してそのコンテンツが妥当なものか否かの判断には、コンテンツの拡張子、フォーマット、受信状態等を利用することができる。例えば、ブックが画像をレイアウトして保存するためのものである場合に、受信したコンテンツの拡張子が画像以外であれば、ＣＰＵ２０１＿Ｓはそのコンテンツは妥当でないと判定し、エラー処理を行う。また、コンテンツの本体データを解析し、そのコンテンツが所定の画像のフォーマットになっているか否かによって、コンテンツの妥当性を判定してもよい。更に、コンテンツを受信するための通信状況によっては受信する予定サイズ分のデータを受信することができないことも考えられることから、予定サイズ分のデータの受信が完了しているか否かで、コンテンツの妥当性を判定してもよい。
【００６７】
ＣＰＵ２０１＿Ｓは、ステップＳ１５０３においてコンテンツを登録するための情報が妥当であると判定した場合（Ｓ１５０３でＹＥＳ）、処理をステップＳ１５０４へ進める。ステップＳ１５０４においてＣＰＵ２０１＿Ｓは、コンテンツテーブル７２０にレコードを追加することでコンテンツを登録する。ステップＳ１５０５においてＣＰＵ２０１＿Ｓは、ブックのページを作成する。ブックの作成は、コンテンツテーブル７２０のレコードとブックテーブル７００のレコードブックＩＤを参照し、ブック所属コンテンツテーブル７１０にブックとコンテンツとを関連付けるレコードを追加することにより行われる。ステップＳ１５０６においてＣＰＵ２０１＿Ｓは、ステップＳ１５０５で追加したブック所属コンテンツテーブル７１０のレコードのページ位置を更新することで所定のページにコンテンツを配置し、その後、処理をステップＳ１５０８へ進める。
【００６８】
ＣＰＵ２０１＿Ｓは、コンテンツを登録するための情報が妥当か否かを判定するステップＳ１５０３において情報が妥当でないと判定した場合（Ｓ１５０３でＮＯ）、処理をステップＳ１５０７へ進める。ステップＳ１５０７においてＣＰＵ２０１＿Ｓは、エラー情報をエラー情報テーブル７３０にレコードとして登録し、その後、処理をステップＳ１５０８へ進める。ステップＳ１５０８においてＣＰＵ２０１＿Ｓは、ステップＳ１５０４〜Ｓ１５０７での処理結果をクライアント装置１０１へ送信し、これにより本処理を終了させる。
【００６９】
図１６は、ＣＰＵ２０１＿Ｓが、ページ編集画面５００でのリトライボタン３２６の押下によるクライアント装置１０１からのリトライ対象コンテンツの再追加要求を受信したときに実行する処理のフローチャートである。なお、図１６のフローチャートでの処理は、図６等を参照して説明したリトライ対象コンテンツの処理に関するものであるが、図１６のフローチャートについての説明では、単に「コンテンツ」と記す。
【００７０】
ステップＳ１６０１においてＣＰＵ２０１＿Ｓは、リトライ対象コンテンツの再追加要求を受信したか否かを判定する。ＣＰＵ２０１＿Ｓは、再追加要求を受信するまで待機し（Ｓ１６０１でＮＯ）、再追加要求を受信したと判定した場合（Ｓ１６０１でＹＥＳ）、処理をステップＳ１６０２へ進める。ステップＳ１６０２においてＣＰＵ２０１＿Ｓは、ステップＳ１２０３によりクライアント装置１０１から送信されてきた、コンテンツを登録するための情報を取得する。
【００７１】
ステップＳ１６０３においてＣＰＵ２０１＿Ｓは、ステップＳ１６０２で取得したコンテンツを識別する情報に基づき、再追加するコンテンツに関するエラー情報をエラー情報テーブル７３０から取得する。ステップＳ１６０４においてＣＰＵ２０１＿Ｓは、ステップＳ１６０２，Ｓ１６０３で取得した情報に基づき、コンテンツを登録するための情報が妥当であるか否かを判定する。なお、ステップＳ１６０４の判定は、先に説明したステップＳ１５０３の判定と同様の手法で行うことができる。ＣＰＵ２０１＿Ｓは、コンテンツを登録するための情報が妥当であると判定した場合（Ｓ１６０４でＹＥＳ）、処理をステップＳ１６０５へ進める。
【００７２】
ステップＳ１６０５においてＣＰＵ２０１＿Ｓは、ステップＳ１６０２で取得したコンテンツに関するレコードをコンテンツテーブル７２０に登録する。ステップＳ１６０６においてＣＰＵ２０１＿Ｓは、取得したエラー情報からコンテンツを配置するためのブックのページ位置を取得し、ブック所属コンテンツテーブル７１０にレコードを登録してページを作成する。ステップＳ１６０７においてＣＰＵ２０１＿Ｓは、ステップＳ１６０６で作成したページにコンテンツを配置する。ステップＳ１６０８においてＣＰＵ２０１＿Ｓは、ブックのページを再構成（ブック所属コンテンツテーブル７１０のページ位置を更新）する。ステップＳ１６０８ではＣＰＵ２０１＿Ｓは更に、ステップＳ１６０３で取得したエラー情報テーブル７３０から、ブック所属コンテンツテーブル７１０に登録されたコンテンツのレコードを削除する。ＣＰＵ２０１＿Ｓは、ステップＳ１６０８の後に処理をステップＳ１６１０へ進める。
【００７３】
ＣＰＵ２０１＿Ｓは、コンテンツを登録するための情報が妥当か否かを判定するステップＳ１６０４において情報が妥当でないと判定した場合（Ｓ１６０４でＮＯ）、処理をステップＳ１６０９へ進める。ステップＳ１６０９においてＣＰＵ２０１＿Ｓは、エラー情報テーブル７３０には先の処理でエラーが発生したコンテンツに関する情報が既に記憶されているため、エラー情報を更新する。ＣＰＵ２０１＿Ｓは、ステップＳ１６０９の処理後に、処理をステップＳ１６１０へ進める。ステップＳ１６１０においてＣＰＵ２０１＿Ｓは、ステップＳ１６０４〜Ｓ１６０９での処理結果をクライアント装置１０１へ送信し、これにより本処理を終了させる。
【００７４】
以上の説明の通り、ブック編集システム１００では、コンテンツをブックに登録する際にエラーが生じても、リトライボタン３２６を押下するだけで、ブックの当初予定されていたページにエラーの原因となったコンテンツを配置することができる。よって、ブックを作成及び編集する際のユーザビリティを向上させることができる。また、エラーの原因となったコンテンツをブックへ登録するためのユーザによる作業負荷を軽減することができる。
【００７５】
＜第２実施形態＞
第１実施形態では、２台のコンピュータ装置２００（クライアント装置１０１、サーバ装置１０２）でブック編集システム１００を構成したが、第２実施形態では１台のコンピュータ装置でブック編集システム１００の機能を実現させる構成について説明する。図１７は、本実施形態に係るブック編集情報処理装置（以下「ブック編集装置」という）１７００の外観斜視図である。なお、ブック編集装置１７００のハードウェア構成は、図２を参照して説明したコンピュータ装置２００に準ずるため、説明を省略する。なお、以下の説明では、ブック編集装置１７００のＣＰＵ２０１を「ＣＰＵ２０１＿Ｅ」と称呼する。
【００７６】
ＣＰＵ２０１＿Ｅは、第１実施形態で説明したクライアント装置１０１のＣＰＵ２０１＿Ｃとして機能する。よって、ＣＰＵ２０１＿Ｅは、ブック一覧画面３００、コンテンツ追加画面３１０、エラー通知画面４００及びページ編集画面５００を、ブック編集装置１７００でのブックの編集の際に、適時、ディスプレイ２１１に表示する。また、ＣＰＵ２０１＿Ｅは、第１実施形態で説明したサーバ装置１０２のＣＰＵ２０１＿Ｓとして機能する。よって、ＣＰＵ２０１＿Ｅは、第１実施形態において図７に示したブックテーブル７００、ブック所属コンテンツテーブル７１０、コンテンツテーブル７２０及びエラー情報テーブル７３０を用いてブックを管理する。
【００７７】
ブック編集装置１７００でのブックの作成時や編集時に実行される処理の流れについて、図１８乃至図２０を参照して説明する。図１８乃至図２０の各フローチャートの各ステップは、ＣＰＵ２０１＿Ｅがブック編集装置１７００の外部記憶装置２０４等に記憶されている所定のプログラムをＲＡＭ２０３に展開し、ブック編集装置１７００の各部の動作を制御することにより実現される。
【００７８】
図１８は、ＣＰＵ２０１＿Ｅがブック一覧画面３００において追加ボタン３０１が押下されたことによるブックの作成要求を検出したときに実行する処理のフローチャートである。なお、ブック一覧画面３００は、ユーザがブックを編集するためのアプリケーション（プログラム）を起動することによりブック編集装置１７００のディスプレイ２１１に表示される。
【００７９】
ステップＳ１８０１においてＣＰＵ２０１＿Ｅは、ブックの作成要求を検出したか否かを判定する。ＣＰＵ２０１＿Ｅは、ブックの作成要求を検出するまで待機し（Ｓ１８０１でＮＯ）、ブックの作成要求を検出したと判定した場合（Ｓ１８０１でＹＥＳ）、処理をステップＳ１８０２へ進める。ステップＳ１８０２においてＣＰＵ２０１＿Ｅは、ブックを作成するための情報を取得する。ステップＳ１８０３においてＣＰＵ２０１＿Ｅは、ブックテーブル７００にレコードを登録することによりブックを作成する。これにより、ＣＰＵ２０１＿Ｅはブックを一意に識別するためのブックＩＤを保持し、ブックＩＤは第１実施形態と同様、ＣＰＵ２０１＿Ｅがコンテンツをブックに追加する際等のブックの特定に用いられる。ステップＳ１８０４においてＣＰＵ２０１＿Ｅは、コンテンツ追加画面３１０をブック編集装置１７００のディスプレイ２１１に表示し、これにより本処理を終了させる。
【００８０】
図１９は、ＣＰＵ２０１＿Ｅがコンテンツ追加画面３１０での追加ボタン３１１の押下によるブックへのコンテンツの追加要求を検出したときに実行する処理のフローチャートである。ステップＳ１９０１においてＣＰＵ２０１＿Ｅは、コンテンツの追加が指示されたか否かを判定する。このステップＳ１９０１の処理は、ブック編集装置１７００が第１実施形態で説明したクライアント装置１０１として機能する際の処理である。ＣＰＵ２０１＿Ｅは、コンテンツの追加が指示されるまで待機し（Ｓ１９０１でＮＯ）、コンテンツの追加が指示されたと判定した場合（Ｓ１９０１でＹＥＳ）、処理をステップＳ１９０２へ進める。ステップＳ１９０２〜Ｓ１９０７の処理の内容は、図１５のフローチャートのステップＳ１５０２〜Ｓ１５０７の処理と同様であるため、説明を省略する。つまり、ステップＳ１９０２〜Ｓ１９０７の処理は、ブック編集装置１７００が第１実施形態で説明したサーバ装置１０２として機能する際の処理である。なお、ステップＳ１９０２では、コンテンツを登録するための情報として、ステップＳ１８０３の実行後に保持しているブックＩＤが利用される。
【００８１】
ステップＳ１９０７の処理後のステップＳ１９０８においてＣＰＵ２０１＿Ｅは、ブック編集装置１７００のディスプレイ２１１にエラー通知画面４００を表示することでエラー情報を表示する。ステップＳ１９０６，Ｓ１９０８の後のステップＳ１９０９においてＣＰＵ２０１＿Ｅは、ブック編集装置１７００のディスプレイ２１１にページ編集画面５００を表示し、これにより本処理を終了させる。なお、ステップＳ１９０８，Ｓ１９０９の処理は、ブック編集装置１７００が第１実施形態で説明したクライアント装置１０１として機能する際の処理である。
【００８２】
なお、第１実施形態で説明したブック編集システム１００では、クライアント装置１０１とサーバ装置１０２との間で通信不良が発生し、この通信不良がブックにコンテンツを配置（登録）する際のエラーの原因となり得る。しかし、装置間でネットワークを介した通信を行う必要のないブック編集装置１７００では、このような通信不良を原因とするエラーが実際に生じることはないと考えられる。よって、ステップＳ１９０３でコンテンツが妥当でないと判断される場合の例としては、コンテンツがブックに登録可能な拡張子のものではないことやデータサイズが大きすぎること等が考えられる。
【００８３】
図２０は、ＣＰＵ２０１＿Ｅがページ編集画面５００でのリトライボタン３２６の押下によるコンテンツ（リトライ対象コンテンツ）の再追加要求を検出したときに実行する処理のフローチャートである。ステップＳ２００１においてＣＰＵ２０１＿Ｅは、コンテンツを再追加する指示を検出したか否かを判定する。ＣＰＵ２０１＿Ｅは、指示を検出するまで待機し（Ｓ２００１でＮＯ）、指示を検出したと判定した場合（Ｓ２００１でＹＥＳ）、処理をステップＳ２００２へ進める。ステップＳ２００２〜Ｓ２００９の処理の内容は、図１６のフローチャートのステップＳ１６０２〜Ｓ１６０９の処理と同様であるため、説明を省略する。つまり、ステップＳ２００２〜Ｓ２００９の処理は、ブック編集装置１７００が第１実施形態で説明したサーバ装置１０２として機能する際の処理である。
【００８４】
ステップＳ２００９の処理後のステップＳ２０１０においてＣＰＵ２０１＿Ｅは、ブック編集装置１７００のディスプレイ２１１にエラー通知画面４００を表示することでエラー情報を表示する。ステップＳ２００８，Ｓ２０１０の後のステップＳ２０１１においてＣＰＵ２０１＿Ｅは、ブック編集装置１７００のディスプレイ２１１にページ編集画面５００を表示し、これにより本処理を終了させる。なお、ステップＳ２０１０，Ｓ２０１１の処理は、ブック編集装置１７００が第１実施形態で説明したクライアント装置１０１として機能する際の処理である。こうして、ブック編集装置１７００でも、ブック編集システム１００と同じ効果を得ることができる。
【００８５】
＜その他の実施形態＞
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。例えば、クライアント装置１０１等として機能するコンピュータ装置２００は、単一のコンピュータ装置であってもよいし、複数のコンピュータ装置が所定の機能を分担することで構成されたものであってもよい。複数のコンピュータ装置で構成される場合には、それら複数のコンピュータ装置は双方向通信が可能なようにＬＡＮ等接続される。
【００８６】
本発明は、上述した実施形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８７】
１００    ブック編集システム
１０１    クライアント装置
１０２    サーバ装置
２０１＿Ｃ    クライアント装置のＣＰＵ
２０１＿Ｓ    サーバ装置のＣＰＵ
２０４    外部記憶装置
２１１    ディスプレイ
３３０    ページ編集画面
３２６    リトライボタン
１７００    ブック編集装置
【図１】
2019053482.tif 000003
【図２】
2019053482.tif 000004
【図３】
2019053482.tif 000005
【図４】
2019053482.tif 000006
【図５】
2019053482.tif 000007
【図６】
2019053482.tif 000008
【図７】
2019053482.tif 000009
【図８】
2019053482.tif 000010
【図９】
2019053482.tif 000011
【図１０】
2019053482.tif 000012
【図１１】
2019053482.tif 000013
【図１２】
2019053482.tif 000014
【図１３】
2019053482.tif 000015
【図１４】
2019053482.tif 000016
【図１５】
2019053482.tif 000017
【図１６】
2019053482.tif 000018
【図１７】
2019053482.tif 000019
【図１８】
2019053482.tif 000020
【図１９】
2019053482.tif 000021
【図２０】
2019053482.tif 000022