図1は、本発明の実施形態に係るブックデータ作成装置のシステムの全体構成の一例を示す図である。図1において、101は、イメージ情報である被写体像を電気信号に変換し、画像処理をした後デジタル画像情報として記録し及び/又は再生することが可能な画像入力装置である。例えば、画像入力装置101は、デジタルスチルカメラ、デジタルビデオカメラ、スキャナ等で構成されるが、図示の例では、デジタルスチルカメラである。
102A、102Bは、登録ユーザ及び閲覧ユーザが操作するパーソナルコンピュータ(以下PCとする)である。特に、PC102Aは登録ユーザが使用し、PC102Bは閲覧ユーザが使用する。また103は、画像入力装置101で取得された画像データをPC102Aへ転送するためのデータ転送用インターフェースを示す。データ転送用インターフェース103は、例えばUSB(Universal Serial Bus)やIEEE1394に代表される有線インターフェースである。あるいは、IrDA、ブルートゥース(Bluetooth)で代表される無線インターフェースである。勿論、上記以外の有線、又は無線インターフェースも使用可能である。
画像入力装置101からデータ転送用インターフェース103を介してPC102Aへ転送された画像データは、PC102Aに内蔵されたハードディスクドライブ(HDD)に記憶される。尚、この画像入力装置101からPC102Aへの画像データの転送に関しては、以下の2つの場合がある。すなわち、登録ユーザが操作するPC102Aにインストールされているオペレーションシステム(OS)又は専用のソフトウエアからの命令に従って、画像入力装置101が記憶装置に格納している画像データを一括転送する。又は、画像入力装置101からPC102Aに送られる転送コマンドに従って、PC102AのOS又は専用ソフトウエアが、PC102AのHDDにデータ記録領域を確保し、画像入力装置101からの画像データを受信する。
登録ユーザはPC102Aを使用して、インターネット104での情報転送が可能な標準プロトコルを有するブラウザ120Aを動作させることが可能である。すなわち、PC102Aは、組み込まれた閲覧用のアプリケーションとしてブラウザ120Aを動作させる。そして、HTTP(Hyper Text Transfer Protocol)等のプロトコルを用いてコンテンツサイト105にアクセスする。そこで、HTML(Hyper Text Markup Language)やXML(eXtensible Markup Language)等の記述言語で作成されたWeb頁情報を取得する。そしてこれを解析し、PC102Aのディスプレイ上にWeb頁を表示させることが可能に構成されている。
また、PC102Aの登録ユーザは、PC102Aに内蔵されたHDDのデータ記録領域に保存しているオブジェクトデータを、インターネット104経由でコンテンツサイト105へアップロードすることが可能である。
コンテンツサイト105は、オブジェクトデータのアップロードの要求が行われると、コンテンツ管理モジュール106が、情報DB109を使用してユーザ確認や登録情報などを確認する。アップロードされたオブジェクトデータである画像データにコンテンツサイト105でユニークなオブジェクト番号を付与し、アップロードされたオブジェクトデータと、アップロードしたPC102Aのユーザとを関連付けてコンテンツDB108へ保存する。
ここで、ブラウザ120Aを介して、PC102Aの登録ユーザからブックデータの編集を要求したとする。すると、コンテンツDB108から、ブックデータの編集に使用することのできるテンプレートや登録ユーザと関連付けて保存しているオブジェクトデータを、ブラウザ120Aを通じてPC102Aへ向けて編集データとして送信する。PC102Aの登録ユーザは、ブラウザ120Aで編集データの選択や設定を行うことで、テンプレートやオブジェクトを使用してブックデータを編集し、作成することが可能となる。
編集し、作成したブックデータには、コンテンツ管理モジュール106が、コンテンツサイト105でユニークなブックデータIDを付与する。さらに、各頁にもコンテンツサイト105でユニークな頁IDを付与する。そしてブックデータIDと頁IDを関連付け、さらにPC102Aの登録ユーザと関連付けてコンテンツDB108へ保存する。
さらに、PC102Aの登録ユーザは、ブラウザ120Aを動作させ、コンテンツサイト105からブック編集プログラム130A及びブック編集プログラム130Aにおいて使用可能なテンプレートや画像データもダウンロードすることが可能である。
コンテンツサイト105においては、ブラウザ120Aやブック編集プログラム130Aを介してテンプレートや画像データの要求を受けると、コンテンツ管理モジュール106がコンテンツDB108から要求されたコンテンツの送信を行う。
PC102Aで動作するブック編集プログラム130Aは、画像入力装置101から取得される。そしてPC102AのHDDに記憶されたオブジェクトや、コンテンツサイト105からダウンロードされたテンプレートやオブジェクトを使用してブックデータを編集し、作成する。
PC102Aの登録ユーザは、ブック編集プログラム130Aで編集したブックデータを、インターネット104経由でコンテンツサイト105へアップロードすることが可能である。
コンテンツサイト105は、PC102Aの登録ユーザの操作により、ブック編集プログラム130Aからブックデータのアップロードの要求が行われると、コンテンツ管理モジュール106が、情報DB109を使用してユーザ確認や登録情報などを確認する。そして、確認がなされたら、ブックデータにコンテンツサイト105でユニークなブックデータIDを付与する。さらに各頁にもコンテンツサイト105でユニークな頁IDを付与する。そして、ブックデータIDと頁IDを関連付け、さらにアップロードしたPC102Aの登録ユーザと関連付けてて、アップロードされたブックデータを登録ブックデータとしてコンテンツDB108へ保存する。
以上のようにしてアップロードした登録ユーザと関連付けて保存された登録ブックデータに対し、PC102Aの登録ユーザは、ブラウザ120Aを利用してプリント注文をコンテンツサイト105経由でプリントサイト110に依頼することが可能である。
コンテンツサイト105は、PC102Aの登録ユーザからブラウザ120Aを介してプリント注文の要求が行われると、コンテンツ管理モジュール106が、情報DB109を使用してユーザ確認や登録情報などを確認する。その後、アップロードされている登録ユーザと関連付けられた登録ブックデータをコンテンツDB108から取得して、ブラウザ120Aを介してPC102Aへプリント注文用の頁データ一覧データを送信する。
PC102Aの登録ユーザが、ブラウザ120Aで頁データ一覧からプリント注文に使用する各頁の頁候補を選択して設定する。するとコンテンツサイト105は、新しいブックデータとして、ブックデータにコンテンツサイト105でユニークなブックデータIDを付与し、ブックデータIDと頁IDを関連付けて、コンテンツDB108へ注文データとして保存する。
コンテンツサイト105では、決済モジュール107が情報DB109を使用して登録情報などを確認しブラウザ120Aを介してPC102Aへ決済に必要なデータを送信する。PC102Aの登録ユーザがブラウザ120Aで決済情報を登録ユーザが確認し必要事項を入力する。すると、コンテンツサイト105では、決済モジュール107が決済を行い、コンテンツ管理モジュール106がプリントサイト110へプリント要求を行う。
プリントサイト110では、コンテンツサイト105からの要求に従い、プリンタ111において要求された登録ブックデータを印刷する。その後製本を行い、注文したPC102Aの登録ユーザへ商品を発送する。あるいは、コンテンツサイト105は、PC102Aの登録ユーザからブラウザ120Aを介してプリント注文の要求が行われると、コンテンツ管理モジュール106が情報DB109を使用してユーザ確認や登録情報などを確認する。そして、アップロードされているユーザと関連付けられた登録ブックデータをコンテンツDB108から取得して、ブラウザ120Aを介してPC102Aのユーザへプリント確認用の各頁ごとに頁候補の頁データを送信する。
PC102Aのユーザは、ブラウザ120Aを使用して全ての頁でプリント注文に使用する各頁の頁候補を選択して設定することが可能である。すると、コンテンツサイト105では、新しいブックデータとして、ブックデータにコンテンツサイト105でユニークなブックデータIDを付与する。そして、ブックデータIDと頁IDを関連付けて、コンテンツDB108へ注文データとして保存する。
コンテンツサイト105では、決済モジュール107が情報DB109を使用して登録情報などを確認し、ブラウザ120Aを介してPC102Aの登録ユーザへ決済に必要なデータを送信する。PC102Aの登録ユーザがブラウザ120Aで決済情報を確認し必要事項を入力すると、コンテンツサイト105では、決済モジュール107が決済を行い、コンテンツ管理モジュール106がプリントサイト110へプリント要求を行う。プリントサイト110では、コンテンツサイト105からの要求に従い、プリンタ111において対象となるブックデータの頁を印刷の後、製本を行い、注文したPC102Aの登録ユーザへ商品を発送する。
なお、図1では、プリントサイト110を1つだけ図示したが、1つ以上存在しても良いし、コンテンツサイト105にプリンタ111を置き、コンテンツサイト105にプリントサイトの役割を与えることも可能である。
次に、コンテンツサイト105にアップロードされているブックデータをアップロードしたPC102Aの登録ユーザ以外が、閲覧やプリント注文を行う方法について説明する。
ブックデータをコンテンツサイト105にアップロードしたPC102Aの登録ユーザは、自分が閲覧を許可するユーザ(以下、閲覧ユーザ)の氏名などの属性情報及びE−Mailアドレスを、ブラウザ120Aを用いて、コンテンツサイト105に通知する。このとき、閲覧ユーザに合わせて、利用することが可能な頁候補を設定することも出来る。
この場合は、コンテンツサイト105では、PC102Aの登録ユーザからブラウザ120Aを介して閲覧ユーザの招待の要求が行われると、コンテンツ管理モジュール106が、情報DB109を使用してユーザ確認や登録情報などを確認する。そして、招待する閲覧ユーザ用のブックデータをコンテンツDB108から取得して、ブラウザ120Aを介してPC102Aの登録ユーザへ閲覧ユーザ用の頁データ一覧データを送信する。
PC102Aの登録ユーザは、ブラウザ120Aで頁データ一覧から閲覧ユーザに合わせた閲覧に使用する各頁の頁候補を選択して設定する。するとコンテンツサイト105は、かくして設定された頁候補を受け付け、新しいブックデータとして、ブックデータにユニークなブックデータIDを付与して設定する設定手段として機能する。そして、ブックデータIDと頁IDを関連付けてコンテンツDB108へ保存する。
次に、コンテンツサイト105では、許可を受けた閲覧ユーザにコンテンツを公開する場合、まず公開に必要なURL(Universal Resource Locator)を生成する。この時、生成されるURLとしては、ユニークなアドレスであり、かつ、一意に予測不可能な乱数などを用いたものを割当てる。たとえば、下記に例を示す。
http://○○○.com/ContentsSite/Entry.cgi?BookID=AJNWDMF
このように、一意に予測不可能なURLを、これよりランダムURLと称する。コンテンツサイト105では、このように生成されたランダムURLを、閲覧に必要なパスワード情報を付加して、許可を受けた閲覧ユーザのPC102Bにインターネット104を介して、E−Mail等で通知し、通知手段として機能する。以下の動作は、図4に示した、遷移図を使用してその動作を説明する。
E−Mailを受け取った閲覧ユーザは、ステップS401に示すように、PC102Bを使用してインターネット104にアクセスする。そしてPC102Bの閲覧ユーザは、ブラウザ120BにE−Mailで通知されたランダムURLを入力する。これにより、ブックデータをアップロードしたPC102Aの登録ユーザが指定したブックデータを閲覧することが可能となる。
コンテンツサイト105では、ブラウザ120Bを介してPC102Bの閲覧ユーザから閲覧の要求が行われると、コンテンツ管理モジュール106が、情報DB109を使用してランダムURLやパスワードなどを確認する。確認がとれたら、ステップS402に示すように、閲覧するブックデータに関連付けられた頁データ一覧を送信する。
PC102Bの閲覧ユーザが閲覧しているブックデータは、ブラウザ120Bを利用してプリント注文をコンテンツサイト105経由でプリントサイト109に依頼することが可能である。
ステップS403のように、ブラウザ120Bを介してPC102Bの閲覧ユーザからプリント注文の要求が行われる。すると、コンテンツサイト105では、コンテンツ管理モジュール106が、情報DB109を使用して、閲覧しているブックデータをコンテンツDB108から取得する。そして、ステップS404で、ブラウザ120Bを介してPC102Bの閲覧ユーザへプリント注文用の頁データ一覧データを送信する。
ステップS405では、PC102Bの閲覧ユーザがブラウザ120Bで頁データ一覧からプリント注文に使用する各頁の頁候補を選択してコンテンツサイト105に通知する。すると、コンテンツサイト105では、新しい選択後ブックデータとして、ブックデータにユニークなブックデータIDを付与することで選択手段として機能する。そして、ブックデータIDと頁IDを関連付けて、コンテンツDB108へ注文データとして保存する。コンテンツサイト105では、決済モジュール107が情報DB109を使用して登録情報などを確認しブラウザ120Bを介してPC102Bの閲覧ユーザに決済に必要なデータを送信する。これはステップS406に相当する。
ステップS407で、ブラウザ120Bで決済情報を許可を受けたPC102Bの閲覧ユーザが確認し必要事項を入力すると、コンテンツサイト105では、決済モジュール107が決済を行う。そしてステップS408に示すように、コンテンツ管理モジュール106がプリントサイト110へプリント要求を行う。プリントサイト110では、コンテンツサイト105からの要求に従い、プリンタ111において対象となる選択後ブックデータを印刷の後、製本を行い、PC102Bの閲覧ユーザへ商品を発送する。
あるいはコンテンツサイト105は、ブラウザ120Bを介してPC102Bの閲覧ユーザからプリント注文の要求が行われると、コンテンツ管理モジュール106が、情報DB109を使用して閲覧しているブックデータをコンテンツDB108から取得する。そして、ブラウザ120Bを介してPC102Bの閲覧ユーザへプリント確認用の各頁ごとに頁候補の頁データを送信する。
PC102Bの閲覧ユーザが、ブラウザ120Bで全ての頁でプリント注文に使用する各頁の頁候補を選択して設定する。するとコンテンツサイト105では、新しい選択後ブックデータとして、ブックデータにコンテンツサイト105でユニークなブックデータIDを付与する。そして、ブックデータIDと頁IDを関連付けて、コンテンツDB108へ注文データとして保存する。
コンテンツサイト105では、決済モジュール107が情報DB109を使用して登録情報などを確認し、ブラウザ120Bを介してPC102Bの閲覧ユーザへ決済に必要なデータを送信する。
PC102Bの閲覧ユーザが、ブラウザ120Bで決済情報を確認し必要事項を入力すると、コンテンツサイト105では、決済モジュール107が決済を行い、コンテンツ管理モジュール106がプリントサイト110へプリント要求を行う。プリントサイト110では、コンテンツサイト105からの要求に従い、プリンタ111において対象となる選択後ブックデータを印刷の後、製本を行い、PC102Bの閲覧ユーザへ商品を発送する。
図2は、本実施形態のブックデータ作成装置と共に使用される外部装置としてのPC102A、PC102Bの概略構成を示す図である。図2において、201はディスプレイであり、その表示画面には、例えば編集中の文書、図形、画像その他の編集情報、アイコン、メッセージ、メニューその他のユーザインタフェース情報が表示される。
202はVRAMであり、ディスプレイ201の表示画面に表示するための画像が描画される。このVRAM202に生成された画像データは、所定の規定に従ってディスプレイ201に転送され、これによりディスプレイ201に画像が表示される。
203はビットムーブユニット(BMU)であり、例えば、メモリ間(例えば、VRAM202と他のメモリ)のデータ転送や、メモリと各I/Oデバイス(例えば、ネットワークインタフェース211)との間のデータ転送を制御する。204はキーボードであり、文書等を入力するための各種キーを有する。205はポインティングデバイスであり、例えば、マウス等のように、ディスプレイ201の表示画面上に表示されたアイコン、メニューその他のオブジェクトを指示するために使用される。
206はCPU(Central Processing Unit)である。CPU206は、ROM207、HDD209又はFDD210に格納された制御プログラムに基づいて、接続された各デバイスを制御する。207はROMであり、各種の制御プログラムやデータを保持する。208はRAM(Random Access Memory)であり、CPU206のワーク領域、エラー処理時のデータの退避領域、制御プログラムのロード領域等を有する。
209はHDDである。HDD209は、PC102A内で実行される各制御プログラムやコンテンツを格納することが可能である。例えば、HDD209には、ブラウザ120A、電子アルバムデータ、電子アルバム編集プログラムなどが格納されている。
210はフロッピー(登録商標)ディスクドライブ(FDD)に代表されるフレキシブルディスクドライブであり、フレキシブルディスクに対するアクセスを制御する。211はネットワークインタフェースであり、他の外部装置やプリンタ等とインターネット104を介して通信を行うことが可能である。212はバスであり、アドレスバス、データバス及びコントロールバスを含む。CPU206に対する制御プログラムの提供は、ROM207、HDD209、FDD210から行うことも可能であるし、ネットワークインタフェース211を介してインターネット104経由で他の外部装置等から行うことも可能である。
図3は、本発明の実施形態に係るブックデータ作成装置であるコンテンツサイト105の概略構成を示す図である。基本的に、図2と同じ構成であるので簡潔に説明する。図3において、301はディスプレイである。また、302はVRAMであり、ディスプレイ301の表示画面に表示するための画像が描画される。このVRAM302に生成された画像データは、所定の規定に従ってディスプレイ301に転送され、これによりディスプレイ301に画像が表示される。
303はビットムーブユニット(BMU)であり、例えば、メモリ間のデータ転送や、メモリと各I/Oデバイスとの間のデータ転送を制御する。304はキーボードであり、文書等を入力するための各種キーを有する。305はポインティングデバイスであり、例えば、マウス等のように、ディスプレイ301の表示画面上に表示されたアイコン、管理メニュー、その他を指示するために使用される。
306はCPUで、ROM307又はHDD309に格納された制御プログラムに基づいて、CPU306に接続された各デバイスを制御する。307はROMであり、各種の制御プログラムやデータを保持する。308はRAMであり、CPU306のワーク領域、エラー処理時のデータの退避領域、制御プログラムのロード領域等を有する。
309はHDDである。例えば、HDD309には、本願のブックデータ作成装置の実施形態に係る各種の制御プログラムが格納される。これらの制御プログラムにより、コンテンツサイト105の動作が制御される。311はネットワークインタフェースであり、他の装置、例えばPC102A、PC102Bやプリンタ等の外部装置とインターネット104を介して通信を行うことが可能である。312はバスであり、アドレスバス、データバス及びコントロールバスを含む。CPU306に対する制御プログラムの提供は、ROM307、HDD309から行うことも可能であるし、ネットワークインタフェース311を介してインターネット104経由で他の外部装置等から行うことも可能である。
尚、コンテンツDB108及び情報DB109は、例えば、HDD309内に設定され、コンテンツ管理モジュール106及び決済モジュール107は、ROM307又はHDD309に格納された制御プログラムに従って、CPU306の動作で実行される。
当然のことながら、本発明においては、コンテンツサイト105の動作は、すべてPC102A及び/又はPC102Bを通じて入力されたデータ、コマンドを受け、ROM307又はHDD309に格納された制御プログラムに従って実行される。
図5は、本実施形態に係る登録ユーザのPC102Aで実行されるブック編集プログラム130Aの操作画面を示す図の一例である。図において、500はブック編集プログラム130Aの操作画面であり、この画面で操作を行うことで、ブックデータの作成や保存を行う。あるいは、ブックデータをインターネット104経由でコンテンツサイト105へアップロードすることが可能である。501は編集及び確認領域であり、WISYWIGで操作を行うブックの頁単位の表示を行う。
図5の状態においては、6頁と7頁が表示され、6頁にはオブジェクトAとBが、7頁にはオブジェクトCがそれぞれ配置される。これらは、インターネット104経由でコンテンツサイト105からダウンロードされ、ユーザが選択したテンプレートに従って配置されている。なお、各頁に配置可能であるオブジェクト数および配置位置は、テンプレートを変えることにより自由に変えられることは言うまでもない。
502は、編集及び確認領域501で表示を行う頁を指定することが可能な頁指定領域である。また、編集及び確認領域501で表示を行っている頁をハイライト表示することも可能である。図5では、編集及び確認領域501に、6頁と7頁を表示していることをハイライト表示している。なお、表示を行っている頁を示すハイライト表示は、ブリンクなど他の手段であっても良いことは言うまでもない。
503は、編集及び確認領域501で編集を行う際のオブジェクトの作業領域であり、頁間でオブジェクトを差し替えたりする再に使用可能である。504、505は、編集及び確認領域501で表示を行っている頁の頁候補を表示する候補表示領域であって、表示している頁と指定した頁候補を入れ替えることが出来る。なお、候補表示領域505は、頁候補がない頁での候補表示を示している。
506は、頁候補を作成する候補作成ボタンであり、この候補作成ボタン506をクリックすることで頁候補を新規に追加することが可能である。また、不図示ではあるが、候補表示領域504、505で頁候補を選択して複写、又は共有をメニューより選択すると、他の頁候補として選択した頁候補を複写、又は共有することが出来る。
次に、このようなユーザインターフェースを備えるブック編集プログラム130A内での頁候補を持つブックデータの管理を説明する。
図6は、本実施形態に係るブック編集プログラム130A内のデータの管理を行う各情報の関係の一例を示している。図において、600は、頁を管理する頁管理の構造体を示している。601は、611に示すように前と次の頁へのリンクを示す。602は、612で示すように、頁候補620を示すリンクを示す。なお、602は、610で示すように各頁ごとに頁と頁候補の関係を示す。621は、614に示すように、前と次の頁候補へのリンクを示す。622は、頁候補が他の頁と共有する場合に、613で示すように他の頁の頁候補をリンクで示す。623は、頁候補が他の頁と共有しない場合に、頁候補内のレイアウト、画像などの情報を示す。なお、不図示ではあるが、本実施形態では、602で示している頁候補620がその頁のデフォルトであり、図5に示す、編集及び確認領域501、頁指定領域502で表示する頁となる。
図7は、本実施形態に係るブック編集プログラム130Aにおける頁追加の動作を説明するフローチャートの一例である。まず処理の開始後のステップS701で、頁管理の構造体600をメモリに取得する。ステップS702で、取得した頁管理の構造体600を、編集しているブックデータの既存の頁管理の構造体600の頁リンク601に関連つける。編集しているブックデータに既存の頁管理の構造体600がない場合は、不図示であるがリンクへの追加は行わない。
さらにステップS703で、頁候補620をメモリに取得する。その後ステップS704で、取得した頁候補620を頁管理の構造体600に候補頁リンク参照602に関連つける。このようにすることで、頁を追加することが可能である。
図8は、本実施形態に係るブック編集プログラム130Aにおける頁候補追加の動作を説明するフローチャートの一例である。図において、処理の開始後のステップS801で、頁候補620をメモリに取得する。頁候補を他の頁の頁候補と共有する場合は、不図示であるが、ここで、共有候補頁参照622に共有する頁候補と関連付けることで、共有が可能となる。
さらにステップS802で、取得した頁候補620を編集対象の既存頁候補620の頁候補リンク621に関連つける。次にステップS803で、取得した頁候補620を頁管理の構造体600の候補頁リンク参照602に関連つける。このようにして、頁候補が追加される。
図9は、本実施形態に係るブック編集プログラム130Aにおける頁候補削除の動作を説明するフローチャートの一例である。図において、処理の開始後のステップS901で、削除対象の頁候補620が共有されているかどうかを確認する。頁候補データ623を持っていて共有されている場合はステップS902に進み、共有している他の頁候補と頁管理の構造体600の関係を差し替え、差し替えた頁候補データ623を持たない、頁候補620をメモリから削除する。
しかし、頁候補データ623を持っていない、あるいは、共有されていない場合はステップS903に進み、頁候補620をメモリから削除する。
ステップS904では、削除対象の頁候補620を持つ頁が他の頁候補620を持っているかどうかを確認する。もし、他の頁候補がない場合はステップS905に進み、削除する頁候補620を持つ頁管理の構造体600を参照している他の頁管理の構造体600の頁リンク601から削除する。次にステップS906に進み、削除する頁候補620を持つ頁管理の構造体600をメモリから削除する。その後ステップS907で、編集対象の頁を設定し直す。
一方、ステップS904で、他の頁候補を持っている場合はステップS908に進み、削除する頁候補620を編集対象の他の頁候補620の頁候補リンク621から削除する。
その後ステップS909で、削除候補頁620が削除する頁候補620を持つ頁管理の構造体600の候補頁リンク参照602で参照しているかどうかを確認する。もし、候補頁リンク参照602で参照している場合はステップS910に進み、削除対象頁候補620に次の頁候補620があるかどうかを確認する。そして、次の頁候補620がある場合はステップS911に進み、削除する頁候補620を持つ頁管理の構造体600の候補頁リンク参照602で次の頁候補620を関連つける。しかしながら、ステップS910で次の頁候補620がない場合はステップS912に進み、削除する頁候補620を持つ頁管理の構造体600の候補頁リンク参照602で、削除する頁候補620の前の頁候補620を関連つける。このようにして、頁管理および頁候補の追加削除を行いブックデータ内のデータを管理する。
次に、このようなブック編集プログラムにより編集されたブックデータをインターネット104経由でコンテンツサイト105へアップロードする際のコンテンツサイト105での処理を説明する。
図10は、本実施形態に係るコンテンツサイト105にアップロードされたブックデータのコンテンツDB108での各テーブルの一例を示している。図において、1000は、ブックデータを示すブックデータテーブルであり、1001はコンテンツサイト105でユニークとなるブックデータIDである。さらに1002は、そのブックデータの所有者と関連つけるための所有者のユーザID、1003は、頁データをのぞくブックデータをそれぞれ示す。なお、不図示ではあるが、ユーザID1002は、コンテンツサイト105でユニークであり、登録ユーザを特定するための認証情報などが設定されていることは言うまでもない。
1010は、ブックデータと各頁の関係を示すテーブルであり、1011は、ブックデータテーブル1000との関連を示すブックデータIDである。さらに1012は、頁ごとの頁データを示す頁データテーブル1020との関連を示す頁ID、1013はブック内での頁の順番、1014は頁内の頁候補の順番、1015は各頁の頁候補のデフォルトを示す。
複数の頁を持つブックデータでは、ブックデータと各頁の関係を示す1010テーブルを複数もつ。例えば、30頁のブックデータでは、1011に同じブックデータIDを持つレコードが30個存在し、1012でそれぞれの頁データを示すとともに、1013では、1から30までの頁番号が設定される。
また、頁が頁候補を複数持つ場合は、例えば、1頁目に頁候補を3頁もつブックデータでは、1013に1頁目を示す1を持つ1010テーブルのレコードが3個存在する。それぞれの1014では、1から3までの頁内での頁候補の順序が設定されるとともに、頁候補のうち、デフォルトとなる頁候補のレコードの1015にデフォルトを示すフラグが設定される。1020は、頁ごとの頁データを示すテーブルであり、1021はコンテンツサイト105でユニークとなる頁ID、1022は、各頁のデータを示す。
図11は、本実施形態に係るコンテンツサイト105におけるアップロードされたブックデータのコンテンツDB108への登録の動作を説明するフローチャートの一例である。処理の開始後のステップS1101で、PC102Aの登録ユーザによりブック編集プログラム130Aからアップロードされたブックデータを検査する。そして、頁をのぞくデータと登録を行ったユーザのユーザIDを、1000で示すテーブルとして、コンテンツDB108へ登録する。そしてコンテンツサイト105でユニークとなるブックデータIDを取得する。
さらにステップS1102で、PC102Aのブック編集プログラム130Aから、アップロードされたブックデータの420で示されている頁データを、1020で示すテーブルとして、コンテンツDB108へ登録する。そして、コンテンツサイト105でユニークとなる頁IDを取得する。このとき、不図示のテーブルで関連付けられるので、1020のテーブルとして登録しない。
さらにステップS1103で、ステップS1101及びステップS1102で取得した、ブックデータIDと頁ID、および、処理している頁の番号と頁内の頁候補の番号、デフォルトフラグを得る。そしてこれらを1010で示すテーブルとして、コンテンツDB108へ登録する。処理している頁の番号は、頁管理の構造体600で示される401の頁リンクから取得を行う。頁内の頁候補の番号は、頁候補620で示される621の頁候補リンクから取得を行う。デフォルトフラグは、頁管理の構造体600で示される602の候補頁リンクから取得を行う。ステップS1104で次の頁データがあれば、ステップS1101へ、なければ、登録処理を終了する。
なお、不図示であるが、頁候補620で示される622の共有候補頁で参照している頁候補がある場合、参照している頁候補の頁IDを1012の頁IDに設定して処理を行う。
このようにすることで、PC102Aの登録ユーザによりブック編集プログラム130Aからアップロードされたブックデータを、図10に示すテーブルにしたがってコンテンツDB108へ登録する。
次に、コンテンツサイト105を利用してアップロードされている画像を使用して、ブラウザにより編集されたブックデータを登録する際のコンテンツサイト105での処理を説明する。なお、画像のアップロードは、本実施形態に関わらず行われており、アップロードされた画像とユーザとの関係などの処理も行われているため説明は行わない。
図12は、本実施形態に係るコンテンツサイト105にアップロードされた画像を使用した場合の、ブックデータとアップロードされた画像との関係を示すコンテンツDB108での各テーブルの一例を示している。図において、1200は頁ごとの頁データとアップロードされている画像との関連を示すテーブルであり、1201は画像を使用する頁ID、1202は頁で使用する画像ID、1203は頁内での画像の配置を示す。また1211はコンテンツサイト105でユニークとなる画像ID、1212は、各画像のデータを示す。
複数の画像を持つ頁では、頁と各画像の関係を示すテーブル1200を複数もつ。例えば、3画像を持つ頁では、1201に同じ頁IDを持つレコードが3個存在し、1202でそれぞれの画像を示すとともに、1203では、1から3までの頁内の配置が設定される。
図13は、本実施形態に係るコンテンツサイト105におけるアップロードされた画像を使用して、ブラウザで作成したブックデータのコンテンツDB108への登録の動作を説明するフローチャートの一例である。
処理の開始後のステップS1301で、ブラウザを使用して編集された頁データをのぞくブックデータと作成を行った登録ユーザのユーザIDを、1000で示すテーブルとして、コンテンツDB108へ登録する。そしてコンテンツサイト105でユニークとなるブックデータIDを取得する。次にステップS1302で、ブックデータの頁データを、1020で示すテーブルとしてコンテンツDB108へ登録し、コンテンツサイト105でユニークとなる頁IDを取得する。
またステップS1303は、ステップS1301及びステップS1302で取得した、ブックデータIDと頁ID、及び処理している頁の番号と頁候補の番号とデフォルトフラグを1010で示すテーブルとして、コンテンツDB108へ登録する。さらにステップS1304に進み、頁で使用している画像と配置を1200で示すテーブルとして、コンテンツDB108へ登録する。
ステップS1305で次の画像が頁にあれば、ステップS1304へ、なければ、ステップS1306へすすむ。なお、不図示ではあるが、次の画像を持つ頁を頁として扱うか頁候補として扱うかは、ユーザが指定可能であるものとする。ステップS1306で次の頁データがあれば、ステップS1301へ、なければ、登録処理を終了する。
このようにすることで、ブラウザで作成されたブックデータを、図10及び図12に示すテーブルでコンテンツDB108へ登録する。このようにして、ブック編集プログラム130Aまたは、ブラウザ上でのブックデータの作成を行うことが可能である。
次にブック登録者が登録したブックデータへ他の人、即ち閲覧ユーザを招待した際のコンテンツサイト105での処理を説明する。
図14は、ブック登録した登録ユーザが登録したブックデータについて閲覧ユーザを招待するための画面の一例を示す。なお、不図示ではあるが、この画面の前に、閲覧を許可するブックの選択があり、閲覧を許可したいブックが選択されているのは言うまでもない。1400は、閲覧ユーザを指定するためのブラウザに表示している画面を示している。1401は、許可したい閲覧ユーザのメールアドレスの入力領域、1402はメール送信時のタイトル、1403は、メール本文の入力領域をそれぞれ示している。1404は、メール送信実行、1405は、メール送信キャンセルをそれぞれ示している。
図15は、登録ユーザが、登録したブックデータを閲覧ユーザに利用可能とするため、閲覧を許可する頁候補を選択するための画面の一例を示す。図において、1500は、閲覧ユーザに対して利用可能な頁候補を選択するためのブラウザに表示している画面を示している。1501は、設定を行うボタン、1502は設定をキャンセルするボタンをそれぞれ示している。また、1503は、各頁の頁候補の利用可不可設定を示している。
この例では、1頁目の3番目の頁候補を閲覧ユーザに対して利用を不許可としている。また、例では、2頁のみ示しているが、ブックデータ中の全ての頁で設定可能であることは言うまでもない。
図16は、本実施形態に係るコンテンツサイト105における閲覧ユーザに対して利用可能な頁候補を選択した場合の閲覧ユーザ用ブックデータのコンテンツDB108への登録の動作を説明するフローチャートの一例である。処理の開始後のステップS1601で元のブックデータを示すテーブル1000を複製し、新たに1000で示すテーブルとして、コンテンツDB108へ登録し、コンテンツサイト105でユニークとなるブックデータIDを取得する。
次にステップS1602で、頁候補の利用許可がされているかどうかを確認する。もし頁候補の利用許可がされていなければ、ステップS1604へすすみ、頁候補の利用許可がされていれば、ステップS1603へすすむ。
ステップS1603で、元のブックデータのブックデータと頁データの関係を示すテーブル1010を複製し、ステップS1601で取得した、ブックデータIDと関連つけて新たに1010で示すテーブルとして、コンテンツDB108へ登録する。
ステップS1604で、元のブックデータに頁データがあれば、ステップS1602へ戻り、なければ、処理を終了する。なお、不図示ではあるが、ランダムURLは、ブックデータIDで一意になるように生成を行う。このようにすることで、閲覧許可にあわせて、新しいブックデータIDと関連つけて、ブックデータと各頁の関係を示すテーブル1010を作成する。これにより、閲覧ユーザに対して頁候補を制限することが可能である。
次に、招待メールを受け取った閲覧ユーザがランダムURLでリクエストした際のコンテンツサイト105での処理を説明する。不図示ではあるが、リクエストを受けたコンテンツサイト105は、ランダムURLから、ブックデータIDを取得し、閲覧ユーザに対してブックデータを閲覧するためのデータを返す。
図17は、本実施形態に係るコンテンツサイト105における閲覧ユーザが注文リクエストを開始した時の動作を説明するフローチャートの一例である。なお、例として閲覧ユーザを示しているが、登録ユーザでの注文でも同じである。
処理の開始後、コンテンツサイト105では、注文リクエストを受けると、ステップS1701で、対象の元のブックデータを示すテーブル1000を複製する。そして新たに1000で示すテーブルとして、コンテンツDB108へ登録し、コンテンツサイト105でユニークとなる注文用ブックデータIDを取得する。ステップS1701で、ステップS1702で表示する頁候補の頁を1に設定する。
さらにステップS1702で、指定された頁の頁候補を、元のブックデータから、ブックデータと各頁の関係を示すテーブル1010を使用して取得する。そして、関連つけられている頁データを示すテーブル1020を使用して、図18の例で示すような頁候補選択画面を表示するためのデータを返す。このとき、不図示であるが、操作を行っている注文用ブックデータIDと既に関連つけられているテーブル1020があった場合、頁候補として表示しない。
また、全ての頁候補が、操作を行っている注文用ブックデータIDと既に関連つけられている場合、後に説明する図19の例で示すような、メッセージ、またはマークを頁候補と一緒に表示する。あるいは、操作を行っている注文用ブックデータIDと既に関連つけられているテーブル520があった場合、その候補に対してのみ図19の例で示すような、メッセージ、またはマークを頁候補と一緒に表示する。なお、操作を行っている注文用ブックデータIDと既に関連つけられているかどうかは、ブックデータと各頁の関係を示すテーブル1010を検索することで容易に知ることが可能である。
これにより、1つのブックデータに同じ頁が誤って採用されることを防ぐことができ、ブックデータの完成度が高まる。
ステップS1703では、元のブックデータのブックデータと頁データの関係を示すテーブル1010を複製する。そして、ステップS1701で取得した、注文用ブックデータIDと関連つけて新たに1010で示すテーブルとして、コンテンツDB108へ登録する。さらにステップS1704で、注文か頁候補選択する頁の指定かを判断する。そして頁候補選択する頁の指定であれば、ステップS1702へ進み、そうでなければ、注文処理を行う。なお、ブック内で頁候補を持たない注文での製本は、本実施形態に関わらず行われており説明は行わない。
図18は、注文時の頁候補選択画面の一例を示す。1801は、頁候補選択する頁を前の頁に設定するボタンを示す。1802は、頁候補選択する頁を次の頁に設定するボタンを示す。1803は、注文を実行しないボタンを示す。1804は、頁候補選択するラジオボタンを示す。
図19は、注文時の頁候補選択画面で全ての頁候補が、操作を行っている注文用ブックデータIDと既に関連つけられている場合の一例を示す。1901は、頁候補選択する頁を前の頁に設定するボタンを示す。1902は、頁候補選択する頁を次の頁に設定するボタンを示す。1903は、注文を実行しないボタンを示す。1904は、頁候補選択するラジオボタンを示す。1905は、頁候補選択が既に他の頁で使用されていることを示す。
ユーザがブック作成用アプリケーションを使用し、ユーザの持つオブジェクトを使用して配置とコメントの入力を行い、ブックデータを作成する。そして作成したブックデータを、ネットワークを利用して、ネットワーク上に登録ブックデータとして登録することができる。さらに、ユーザがブックデータを閲覧または製本させたい閲覧ユーザを招待することができる。また、閲覧ユーザは、閲覧の許可されたブックデータから気に入った頁で、新しい選択後ブックデータとして注文することができ、サービス提供者は、閲覧ユーザからの注文を取り込むことが容易となる。
また、ブックデータを作成して招待を行う登録ユーザが、頁ごとに頁候補を用意するため、閲覧ユーザにより、頁順を入れ替えられるなどのようなことがなく、意図した頁構成での制限が可能となる。
閲覧ユーザは、許可されているブックデータから頁ごとに、登録ユーザが用意した候補頁を選択して、閲覧ユーザが好ましいと考える新しい選択後ブックデータとして注文することができ、サービス提供者は、閲覧ユーザからの注文を取り込むことが容易となる。
また、ブックデータを作成して招待を行う登録ユーザが、頁ごとに頁候補を用意するため、閲覧ユーザにより、頁順を入れ替えられるなどのようなことがなく、意図した頁構成での制限が可能となる。
以上説明したように、本発明は、外部装置であるPC102A、PC102Bとネットワークを介して通信可能であり、複数の頁で構成されるブックデータを作成するためのコンテンツサイト105として構成されるブックデータ作成装置である。
コンテンツサイト105では、上記で説明するように、ブックデータの各頁について、複数の候補頁の設定を第1の外部装置であるPC102Aから受け付ける設定手段を備える。さらに、ブックデータの頁毎に、複数の候補頁を第2の外部装置であるPC102Bに通知する通知手段を備える。さらに、ブックデータの各頁について、複数の候補頁のうちの1つの候補頁の選択をPC102Bから受け付ける選択手段を備える。コンテンツサイト105の備える通知手段は、ブックデータの或る頁について複数の候補頁を通知する際、他の頁として選択された候補頁があれば、その旨も通知するように構成されている。
また、コンテンツサイト105の備える通知手段は、マークまたはメッセージを使用して他の頁として選択された候補頁のある旨の通知を実行することになる。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給しても達成可能である。すなわち、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性の半導体メモリカード、ROMなどを用いることが可能である。また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合もある。
しかし、さらにそのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれる場合もあり得る。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。