以下に、図1〜図33を参照して、本発明に係る装置の一実施形態について説明する。
図1は、本発明に係るデータ差し込みシステムの構成の一例を示すシステム構成図である。
図1において、101、102、及び104はクライアントPCである。クライアントPC101,102,104は、システム管理者が新規データファイルを登録したり、ユーザ管理情報修正などのシステムメンテナンス処理を行ったり、あるいはユーザが商品検索、商品情報出力等の指示を行ったりするものである。
103、109はローカルエリアネットワーク(LAN)であり、このネットワークに接続している機器は、このLANを介して他の機器とデータのやり取りを行う。105はインターネットであり、クライアントPC104は、このインターネット105に直接に接続されたクライアントPCである。なお、クライアントPC104と、クライアントPC101,102とは接続形態が異なるが、同様の目的で使用される。
106はHTTPサーバであり、ネットワークを介してクライアントPCからHTTPプロトコルできたリクエストを受け取る。107はWebアプリケーションサーバである。HTTPサーバ106には、いくつかのWebアプリケーションサーバが登録されており、クライアントPC101,102,104からのリクエスト内容に従ってHTTPサーバ106は処理を適切なWebアプリケーションサーバに割り振る。
また、リクエストを受け取ったWebアプリケーションサーバ107は、処理を実行してその処理結果をクライアントへ返信する。
108はデータベースであり、カタログデータ、画像データ等のコンテンツデータ情報や、商品情報などのテキスト情報、およびユーザ/グループ情報、登録データファイルの処理情報などのシステム情報を記録する。
これらのようにHTTPサーバ106、Webアプリケーションサーバ107、データベース108と有機的に組み合わさってWEBデータベースシステムとして機能する。
図2は、本発明に係る装置(即ち、図1に示したクライアントPC101,102,104,HTTPサーバ106,Webアプリケーションサーバ107)の構成の一例を示すブロック図である。
図2において、1はシステム・バスであり、これから説明する各構成ブロックはこのシステム・バスに接続されている。2はCPU(Central Processing Unit)である。3はプログラム・メモリ(PMEMと称す)である。CPU2は、本実施形態の処理のためのプログラムを適宜ハード・ディスク10から選択しPMEM3に読み出して実行する。又、キーボード12から入力されたデータは、テキスト・メモリでもあるPMEM3にコード情報として格納される。
4は通制御部であり、通信ポート5に於ける入出力データの制御を行う。通信ポート5から出力された信号は、通信回線6を経由して、ネットワーク上の他の装置7の通信ポートに伝えられる。
また、本実施形態ではLAN等のネットワークに関して記述するが、この通信制御部4に接続される通信ポート及び通信回線が一般の公衆回線であっても本発明が適応されることは言うまでもない。
8は外部記憶装置制御部であり、ハード・ディスク(HDと称す)9、フロッピー(商標登録)・ディスク(FDと称す)10へのデータの入出力を制御する。
11は入力制御部であり、キーボード12,マウス13等の入力装置が接続される。操作者はこのキーボード12等を操作することによりシステムの動作指令等を行う。また、マウス13は、CRT16等のモニタ上で画像情報を加工指示するためのポインティング・デバイス(PDと称す)であり、本実施形態ではマウスを使用しているが他のPDであってもよい。このマウス13等のPDにより、CRT16上のカーソルをX,Y方向任意に移動してコマンドメニュー上のコマンド・アイコンを選択して処理の指示を行うほか編集対象の指示、描画位置の指示等もおこなう。
14はビデオ・イメージ・メモリ(VRAMと称す)、15は表示出力制御部、16はCRTである。CRT16等のモニタに表示されるデータは、VRAM11上にビットマップデータとして展開されている。
なお、本発明のプログラムは、ROMに記憶されていてもよいし、装置に直接接続されているHDやFD等の記憶媒体にも記憶されていてもよい。さらに、ネットワークで接続されている他の装置上に記憶されていてもよい。また、本発明のプログラムは、FDやHD等の記憶媒体やネットワークを介してシステムや装置に供給できる。
図3は、本発明に係るプログラムのモジュール構成を説明するブロック図であり、図1と同一のものには同一の符号を付してある。
図3において、クライアントPC101,102,104は、カタログ情報、画像データ、カタログテンプレート等のデータファイルを、Webアプリケーションサーバ107に登録したり、カタログを生成するためのモジュール302を記憶している。ただし、本実施形態では、このモジュール302は、サーバ107から必要に応じてWEBブラウザのPlug-in形式などで自動的に配信されるのでクライアントPC上でインストール処理などを行う必要はない。しかしながら、このモジュール302をクライアントPC101,102,104上にインストールする形態であってもよい。
Webアプリケーションサーバ107には、HTTPサーバ106から受け取ったクライアントPCからのリクエストを処理するためのモジュール306が記憶(インストール)されている。モジュール306に対応している機能としては、ユーザ認証、検索処理、各種データの一括登録、商品情報出力、データメンテナンス機能等がある。このモジュール306は、クライアントからのリクエストに応じてCPUによりメモリ上にロードされ、処理実行される。
また、Webアプリケーションサーバ107には、このモジュール306とは別に、カタログテンプレートとカタログ差し込み情報を元にカタログの生成を行うカタログ生成モジュール307が記憶(インストール)されている。さらに、Webアプリケーションサーバ107には、データベース108とのデータのやり取りを行うためのライブラリ308や各種ユーティリティライブラリ310が記憶(インストール)されている。
まず、図4〜図7を参照して、本発明の出力システムによりカタログを出力する際の概要を説明する。
図4〜図7は、本発明の出力システムによりカタログを出力する際の概要を説明する模式図である。
まず、図4に示すように、管理者等は、各商品マスタデータにプライオリティ(優先度)情報をデータベース108に登録しておく。その際、管理者等は、消費者へ進めたい商品の優先度を上げ、積極的に販売したくない商品の優先度を下げておく。
また、図5に示すように、管理者等は、優先度に応じたテンプレート(フォーム情報)を作成し、データベースに登録しておく。なお、各優先度のテンプレートの領域内には、任意に1又は複数の差し込み領域を定義しておく、この際、差し込む情報量も定義によってコントロール可能である。
この後、ユーザは、クライアントPCから、商品マスタデータとテンプレートを選択し、さらに、出力方法(優先度を優先した出力/ページ数を優先した出力)を選択し、出力指示をWebアプリケーションサーバ107(以下、サーバ107)に送信する。この1回の出力指示により、サーバ107は、商品マスタデータの優先度に応じて、生成されるページ毎にテンプレートを自動切り替えしながらカタログを差し込み出力する(テンプレートの差し込み領域に商品データを合成する)ように制御する。なお、商品マスタデータは、プライオリティ順に先頭から差し込むものとする。
まず、優先度を優先した出力の場合、例えば、図6に示すように出力される。なお、優先度が低いマスタデータであっても、前ページに余白(即ち、商品データが合成されていない差し込み領域)がある場合には、優先度の高いテンプレートに差し込み出力するようにする。さらに、優先度を優先した出力の場合、優先度を指定して、その優先度以下をモノクロ出力する設定を行うことが可能である。
一方、ページ数を優先した出力の場合、例えば、図7に示すように出力される。なお、この場合、サーバ107は、まず指定されたページで収まる組み合わせを列挙し、ユーザの要望に最もページ数が近い組み合わせで、高い優先度のテンプレートが多く含まれている組み合わせで出力するように制御する。
以上示すように、例えば、優先度の高いお勧め商品を強調(カラーで強調,出力サイズ等で強調)した営業資料用のカタログ等を容易に、一部モノクロ出力やページ数等でコストを抑えて作成することができる。
以下、図8〜図32を用いて詳細に説明する。
図8は、本発明におけるデータベースのテーブルの一例を示すテーブル構成図である。なお、以下に説明する401〜407のテーブルの具体例は、後述する図17A,図17Bに示してある。
図8において、404はデータテーブルであり、商品マスタ情報などのテキスト情報を管理する。データテーブル404は、データID、カテゴリID,登録日、更新日(不図示)、公開フラグ、削除フラグ、優先度等を記憶する。データIDは、データ毎に一意に決定されるものである。
また、公開フラグは、このデータをWEB上に公開しているかどうかを制御するための情報である。さらに、削除フラグは、このデータが削除された情報であるかどうかを制御するための情報である。また、優先度は、その商品のカタログ出力時の優先度を決定するものであるための情報である。カテゴリIDは、このデータがどのカテゴリに属するかを管理するためのものであり、後述するカテゴリ管理テーブル407と関連付けている。
カテゴリ管理テーブル407は、カテゴリID、カテゴリ名等を記憶する。データ項目値テーブル405は、データID、データ項目ID、データ項目値を記憶するものであり、データテーブル404に属する項目のデータの値を示す。
406はデータ定義項目テーブルであり、データ項目IDによりデータ項目値テーブル405に関連付けられており、データ項目値テーブル405のデータ項目名称を管理している。データ定義項目テーブル406のデータ項目名称には、例えば、商品名、価格等の商品情報の項目名が管理されている。
また、401はコンテンツテーブルであり、カタログに差し込む画像ファイル等の情報を管理している。コンテンツテーブル401は、データテーブル404と同じく、コンテンツ毎に一意に決定されるコンテンツID、登録日、更新日(不図示)、公開フラグ、削除フラグ等を記憶する。
402はデータ・コンテンツ管理テーブルであり、コンテンツテーブル401で管理されているコンテンツファイルとデータテーブル404に管理されているテキスト情報を関連付けるテーブルである。データ・コンテンツ管理テーブル402は、データID、コンテンツID、コンテンツ種別ID、登録日を記憶する。
コンテンツ種別管理テーブル403は、コンテンツ種別ID、コンテンツ種別名称が記憶されており、コンテンツ種別IDでデータ・コンテンツ管理テーブル402と関連付けられている。このコンテンツ種別管理テーブル403は、データ・コンテンツ管理テーブル402での関連付けの種別が何か(例えば、商品イメージ)が管理されている。コンテンツ種別管理テーブル403は、コンテンツ種別IDとコンテンツ種別名称を記憶する。
次に説明する408〜410のテーブルの具体例は、後述する図20に示してある。
408は出力テーブルであり、出力するカタログのテンプレートを管理している。この出力テーブル408の項目には、出力が一意に決定される出力ID、その出力で利用するテンプレートファイル名、出力テンプレートを選択する際にユーザへ表示するテンプレート名がある。なお、上記テンプレートファイル名に対応するテンプレートファイルには、優先度毎のテンプレートのファイル名等が記載されており、その具体例は、後述する図18に示してある。
409は複合定義テーブルであり、出力ID毎に優先度毎のテンプレートを管理する。この複合定義テーブル409の項目には、テンプレートID、ファイル名、優先度、差し込み領域数が格納される。上記テンプレートIDは、出力用テンプレートに含まれる、優先度順の各テンプレートファイルを一意に決定するためのものである。ファイル名は、出力テーブル408のテンプレートファイル名内に記載された優先度毎のファイル名に対応する。優先度は、そのテンプレートの優先度を記憶する。差し込み領域数は、そのテンプレートにマスタデータをいくつ差し込みする領域が有るかの情報が格納される。
410は項目定義テーブルであり、テンプレートIDにより複合定義テーブル409と関連付けされ、そのテンプレートの差し込み領域にどのデータを出力するかを管理する。項目定義テーブル410の項目には、順序ID、テンプレートID、出力データ、データ属性がある。なお、順序IDは、テンプレート内の差し込み領域を一意に決定するためのものである。また、出力データは、テンプレート内の差し込み領域に出力するデータがマスタデータのいずれの項目かを示すものである。さらに、データ属性は、マスタに関連づけられたコンテンツのコンテンツ種別(テキスト、イメージ等)を示すものである。
以下、図9〜図20を参照して、本発明の優先度を有するマスタデータ・画像データ・優先度を有するテンプレートの登録処理について説明する。
図9は、本発明における第1の制御手順の一例を示すフローチャートであり、本発明のマスタデータ・画像・テンプレート登録処理に対応する。なお、図中、S101、S103、S105、S106、S109、S111、S112、S113、S115、S116、S118、S119はクライアントPC101、102又は104(以下、クライアントPC)側の操作又は処理に対応する。この操作又は処理は、ユーザがクライアントPC101、102又は104(以下、クライアントPC)から行う操作及びクライアントPCの処理に対応する。なお、この操作及び処理は、クライアントPCのCPUによりWebブラウザ上で実行されるモジュール(サーバ107から受信したモジュール等)を用いて実現される。また、図中、S102、S104、S107、S110、S114、S117、S120、S121はWebアプリケーションサーバ107(以下、サーバ107)のCPUによりメモリ上で実行されるモジュール306を用いて実現される。
まず、ステップS101において、システム管理者がクライアントPCからアカウントとパスワードでログイン処理を実行する。この際、認証方法はアカウントとパスワード以外でもなんら問題はない。このログイン処理では、クライアントPCのCPUによりWebブラウザ上で実行されるモジュール(以下、モジュール)は、入力されたアカウント、パスワードの情報を含むログインリクエストをサーバ107に送信する。
このリクエストを受けて、サーバ107のモジュール306は、ステップS102において、入力されたアカウントとパスワードがマスタデータ登録処理及び画像登録処理を許されているかどうかをデータベース108に問い合わせて認証処理を行う。ここで、上記処理を実行することが許されていないアカウントであった場合には、サーバ107のモジュール306は、エラー画面をクライアントPCに送信する。
一方、サーバ107のモジュール306は、実行することが許されているアカウントであった場合には、システム管理者用の機能一覧画面(モジュール)をクライアントPCに送信する。以下、機能一覧画面の機能一覧画面について説明する。
図10は、本発明の機能一覧画面の一例を示す図である。なお、この画面はクライアントPCのブラウザがサーバ107から送信されたモジュールが表示している。
図10において、601は機能一覧画面である。602は画像登録ボタンであり、サーバに登録する画像データを選択して登録処理を実行するためのものである。603は商品マスタ登録ボタンであり、各商品のマスタデータをサーバに登録するためのものである。604は画像情報と商品マスタの関連付けボタンであり、それぞれサーバに登録された画像データと各商品マスタの関連付けを行うためのものである。605はカタログテンプレートの登録ボタンであり、カタログ出力用のテンプレートを登録するためのものである。
図9のステップS103において、ユーザは商品マスタの登録操作を行う。まず、ユーザが商品マスタ登録ボタン603を指示することにより、クライアントPCのブラウザは、図11に示す商品マスタ登録画面をモニタに表示制御する。以下、商品マスタ登録画面について説明する。
図11は、本発明の商品マスタを登録する画面の一例を示す図である。なお、この画面はクライアントPCのブラウザがサーバ107から送信されたモジュールが表示している。
図11において、701は商品マスタを設定する画面である。702〜706はデータベース108に登録されている設定項目である。
この画面では、商品の名称702、商品カテゴリ703、商品の価格704、その他のコメント情報705、登録するマスタデータを出力する際の優先度の情報706を入力可能である。
707はクリアボタンであり、このボタンがマウス等のPDで選択されると、全ての入力された情報がクリアされる。708は登録ボタンであり、このボタンがマウス等のPDで選択されると、入力された商品マスタ情報がクライアントPC上のモジュールによりサーバ107に送信され、データベース108のデータテーブル404に登録される。そして、図10の機能一覧画面601に戻す。
サーバ107のモジュール306は、クライアントPCからの商品マスタ登録のリクエストを受けて、図9のステップS104において、データベース108へ商品マスタの登録を行う。データベース108への登録が正常終了した場合には、サーバ107のモジュール306は、クライアントPCに正常終了した画面を送信する。上記の処理で優先度を有する商品マスタデータのデータベース108への登録が完了する。なお、商品マスタデータの登録例は後述する図17の404〜407等に示してある。なお、ここで、データベース108への登録が失敗した場合には、サーバ107のモジュール306は、エラー画面をクライアントPCに送信する。
次に、図9のステップS105において、ユーザは画像データを登録準備する操作を行う。ユーザが画像登録ボタン602を指示することにより、クライアントPC上のモジュールは、図9のステップS105において、画像データの登録準備をサーバに対して行う。これに応じて、サーバ107のモジュール306は、ファイル登録モジュールをクライアントPCに送信する。この際に、ファイル登録モジュールが既にクライアントPC上にある場合にはモジュールは送信しない。
そして、クライアントPCのWebブラウザは、ファイル登録モジュールを実行し、図12に示す画像データ登録画面をモニタに表示制御する。以下、画像データ登録画面について説明する。
図12は、本発明の画像データ登録画面の一例を示す図であり、登録する画像データを選択する画面に対応する。なお、この画面はクライアントPCのブラウザに対してサーバから送信されたファイル登録モジュールが表示している。
図12において、801は画像データを登録するためのファイル登録画面である。802にはサーバに登録するファイル一覧を表示する。
803は登録するファイルを選択するためのファイル参照画面を表示させるボタンである。このボタンをマウス等のPDで選択するとファイル参照する画面が表示され、ファイルを選択して実行すると、そこで選択されたファイルがファイル一覧802に全て表示される。
804はフォルダ参照ボタンである。このボタンをマウス等のPDにより選択するとフォルダ参照する画面が表示され、フォルダを選択して実行すると、そこで選択されたフォルダに含まれる全てのファイルが802のファイル一覧に表示される。
805は削除ボタンである。ファイル一覧802の中から削除するファイルを選択してこのボタンをマウス等のPDにより選択することで登録するファイル一覧からファイルを削除することができる。
806はアップロードボタンであり、ファイル一覧802に表示されている全てのファイルのサーバ107への登録処理を行う。このボタンをマウス等のPDにより選択すると、クライアントPC上のファイル登録モジュールは、図13に示す登録確認画面を表示する。
図13は、サーバ107に登録するデータファイルを確認する画面の一例を示す図である。なお、この画面はクライアントPCのブラウザに対してサーバから送信されたファイル登録モジュールが表示している。
図13において、901は確認画面である。902は登録するファイル一覧である。一覧に表示されているファイルでもファイルの行の先頭のチェックボックスをマウス等により非選択状態にすることでサーバ登録ファイルからはずすことができる。この例では、「イメージ2.jpg」はサーバ107に登録されない。
903は中止ボタンであり、このボタンをマウス等で選択するとサーバへの登録処理を中止する。904は登録ボタンであり、このボタンをマウス等で選択すると選択されているファイルをサーバ107に登録する。そして、図10の機能一覧画面601に戻す。
図9のステップS106において、システム管理者は登録する画像データを確認画面901上で選択してユーザが登録ボタン904を指示してサーバ107に対して画像データの登録指示を行う。これにより、クライアントPC上のファイル登録モジュールは、選択された画像データをサーバ107に対して送信して画像登録処理を行う。
この登録依頼を受けたサーバ107は、ステップS107において、受信した画像データの画像登録の前処理を行う。ここでは登録指定された画像データのサムネイルを生成する処理を行う。
次に、図9のステップS108において、サーバ107のモジュール306は、画像データをデータベース108へ登録処理する。データベース108への登録が正常終了した場合には、サーバ107のモジュール306は、クライアントPCに正常終了した画面を送信する。上記の処理で画像データのデータベース108への登録が完了する。なお、この登録例を、後述する図17の401等に示してある。なお、ここで、データベース108への登録が失敗した場合には、サーバ107のモジュール306は、エラー画面をクライアントPCに送信する。
続いて、図9のステップS109において、システム管理者は図10の機能一覧画面601上で、画像情報と商品マスタの関連付け604を指示する。すると、クライアントPC上のモジュールは、サーバ107に対して画像データの読み出し指示を送信する。
この指示を受けたサーバ107のモジュール32は、ステップS110において、商品マスタ(即ち、データテーブル404のデータID)が関連付けられていない画像データをデータベース108から取得して、クライアントPCに返信する。
この返信を受けたクライアントPC上のモジュールは、図14に示す確認・選択画面を表示する。
図14は、本発明の確認・選択画面の一例を示す図であり、サーバ107に存在する商品マスタが関連付けられていない画像データを確認・選択する画面に対応する。
図14において、1001は確認・選択画面である。1002は関連付けされていない画像データ一覧である。1003は関連付けボタンである。
図9のステップS111において、管理者が、このボタンをマウス等のPDにより選択すると、クライアントPC上のモジュールは、関連付け依頼をサーバ107に送信して、選択された画像データの関連付け処理を開始する。
この依頼を受けたサーバ107は、ステップS112において、関連付けする商品マスタを選択するための商品マスタ検索画面(モジュール)をクライアントPCに送信する。
この返信を受けたクライアントPCは、商品マスタ検索画面を表示する。
図15は、本発明における商品マスタ検索画面の一例を示す図である。なお、この画面はクライアントPCのブラウザに対してサーバから送信されたモジュールが表示している。
図15において、1101は商品マスタを検索する画面(商品マスタ検索画面)である。1102〜1105はデータベース108に登録されている検索項目である。この画面では、商品の名称1102、商品のカテゴリ1103、商品の価格1104、その他のコメント情報1205を検索条件として入力可能である。
1106はクリアボタンであり、このボタンが選択されると全ての入力した情報がクリアされる。1107は検索ボタンであり、このボタンが選択されると入力された検索条件で商品マスタが検索される。
即ち、管理者により、この検索ボタン1107が選択されると、クライアントPCのモジュールは、ステップS113において、入力された検索条件をサーバ107に送信して商品マスタの検索を依頼する。
この依頼を受けてサーバ107は、ステップS114において、受信した検索条件に基づいてデータベース108を検索し、ステップS115において、検索結果(商品マスタ検索結果画面)をクライアントPCへ送信する。
この返信を受けたクライアントPCは、商品マスタ検索結果画面を表示する。
図16は、本発明における商品マスタ検索結果画面の一例を示す図である。なお、この画面はクライアントPCのブラウザに対してサーバから送信されたモジュールが表示している。
図16において、1201は検索結果画面である。1202は検索結果の一覧であり、検索した商品マスタの情報が表示される。1203は検索やり直しボタンであり、このボタンをマウス等のPDにより選択すると図15の検索画面に戻る。
また、この例では2つ分の商品情報が表示されているが、その他の検索結果に関しては1204の前ページボタン,次ページボタンをマウス等のPDにより選択することで表示を切り替えることができる。
1205は関連付け決定ボタンであり、このボタンをマウス等のPDにより選択すると関連チェックボックス1202が有効になっている商品マスタデータと画像データとを関連付け処理が実行される。
即ち、クライアントPCのモジュールは、図9のステップS116において、関連チェックボックス1202が有効になっている商品マスタデータと画像データとの関連付けの依頼をサーバ107に送信する。
この依頼を受けたサーバ107は、ステップS117において、データベース108に関連付け情報を登録処理する。データベース108への登録が正常終了した場合には、サーバ107のモジュール306は、クライアントPCに正常終了した旨の情報を送信する。上記の処理で関連データのデータベース108への登録が完了する。なお、この登録例を、後述する図17のデータ・コンテンツ管理テーブル402等に示してある。なお、ここで、データベース108への登録が失敗した場合には、サーバ107のモジュール306は、エラーであった旨の情報をクライアントPCに送信する。
図17A,図17Bは、商品マスタ登録、画像登録及び関連付けが終了した際のデータベース108の内容の一例を示す図であり、図8と同一のものには同一の符号を付してある。
コンテンツテーブル401は、図8で示したように、登録した画像データを管理するものであり、画像データそれぞれには、シーケンシャルなコンテンツIDが付与されて管理されている。図17の例では、コンテンツID「1」〜「6」に、「イメージ1.jpg」〜「イメージ6.jpg」が登録されている。
データ・コンテンツ管理テーブル402は、図8で示したように、各コンテンツとマスタデータの関連づけを管理するものである。図17の例では、1行目のデータには、データID「1」で示されるデータとコンテンツID「1」で示されるコンテンツとがコンテンツ種別ID「1」という形式で関連づけられて登録されている。
コンテンツ種別管理テーブル403は、図8で示したように、コンテンツ種別IDの名称を管理するものであり、図17の例では、コンテンツ種別ID「1」に「商品イメージ」が登録されている。
データテーブル404は、図8で示したように、商品マスタの情報を管理するものであり、各商品マスタデータは、シーケンシャルなデータID(図17の例ではデータID「1」〜「6」)が付与されて管理されている。また、データテーブル404は、各商品マスタデータを、商品マスタが属するカテゴリのID(図17の例ではカテゴリID「1」〜「3」)と関連付けて管理している。
カテゴリ管理テーブル407は、図8で示したように、カテゴリを管理するものであり、商品カテゴリは、シーケンシャルなIDを付与されて管理されている。図17の例では、カテゴリID「1」として「インクジェットプリンタ」、カテゴリID「2」として「レーザビームプリンタ」、カテゴリID「3」として「デジタルカメラ」がそれぞれ登録されている。
データ項目値テーブル405は、図8で示したように、商品マスタ情報の実際の値を管理するものであり、データ項目の値(図17の例では、「printer1」,「10000」,「2005年モデル」,・・・等)が格納されている。また、データ項目値テーブル405は、対応するデータID(図17の例ではデータID「1」〜「6」)で商品マスタ情報と関連付けられている。さらに、データ項目値テーブル405は、データ項目ID(図17の例ではデータ項目ID「1」〜「3」)でデータ定義項目テーブル406と関連付けられている。
データ定義項目テーブル406は、図8で示したように、データ項目の名称を管理するものであり、データ項目名称がシーケンシャルなIDを付与されて管理されている。図17の例では、データ項目ID「1」として「商品名」、データ項目ID「2」として「価格」、データ項目ID「3」として「コメント」と登録されている。
図18は、本発明の出力カタログテンプレートの一例を示す図である。
図18において、1401はテンプレート全体を管理するファイルである。本ファイルでは各優先度に応じたテンプレートファイル1402〜1404迄を管理しており、各ファイルの名称、差し込み領域数、優先度が保存されている。
1402〜1404は、各優先度に応じたテンプレートファイルであり「Template1.fcp」1402は優先度が最も高いテンプレートの例であり、「Template3.fcp」1404は優先度が最も低いテンプレートの例である。
これらテンプレートファイル1402〜1404には、カタログの内容の定義が行われる。例えば、商品名フィールド1405は、マスタデータを差し込む領域である。また、製品イメージフィールド1406は、マスタに関連付いた画像データを差し込む領域である。さらに、1407〜1409では、各差し込みフィールドが一意に識別されるIDが付与され管理されている。
図18の例では、IDは「1」から付与されており、シーケンシャルな数値として定義されている。ID「1」は、製品名フィールドを定義している。
1408や1409では、これらの定義は差し込みマスタ数回繰り返されている。例えば、1408では、製品名フィールド、価格フィールド、製品イメージフィールドが1商品マスタに対応した出力領域であり、ID「1」〜「3」とID「4」〜「6」で繰り返して定義されている。また、1409では、製品名フィールド、製品イメージフィールドが1商品マスタに対応した出力領域であり、ID「1」「2」とID「3」「4」とID「5」「6」とID「7」「8」で、4回繰り返して定義されている。
なお、本実施形態では、テンプレート全体を管理するファイル1401に、差し込み領域数、優先度と言った情報を保持させているが、これらの情報は優先度に応じたテンプレートファイル毎のファイル(図18の例では1402〜1404)に持っても良い。また、テンプレート自身に設定を持たず、システムに登録するときに設定するように構成しても良い。
以下、図9のフローチャートの説明に戻り、テンプレートの登録処理を説明する。
図9のステップS118において、管理者は、テンプレートの登録準備操作を行う。管理者が図10に示した機能一覧画面601のカタゴグテンプレート登録ボタン605を指示すると、クライアントPCのブラウザは、サーバ107に対してテンプレートの登録の準備を依頼する。
この依頼を受けたサーバ107は、ファイル登録モジュールをクライアントPCに送信する。この際に、ファイル登録モジュールが既にクライアントPC上にある場合には、モジュールは送信しない。本実施形態ではこのファイル登録モジュールは、図12で示したモジュールと同様であり、ステップS105で既にダウンロードされているので、モジュールは送信されない。ただし、本モジュールは図12と異なるモジュールを用意しても良く、その場合には別途クライアントPCへダウンロードされる。
そして、クライアントPCのCPUは、図12に示すファイル登録モジュール内のファイル選択画面をモニタに表示制御する。そして、この画面上で管理者が登録するテンプレートファイルを選択し、アップロードボタン806をマウス等のPDにより選択する。すると、クライアントPC上で実行されるファイル登録モジュールは、ファイル選択画面で選択されたテンプレートファイルに基づいて図13に示す登録確認画面を表示制御する。以下、テンプレート登録画面について説明する。
図19は、本発明のテンプレートを登録する画面(テンプレート登録画面)の一例を示す図である。なお、この画面はクライアントPCのブラウザに対してサーバ107から送信されたモジュールが表示している。
図19において、1501は確認画面である。1502は登録するテンプレートのファイルであり、図12に示したファイル選択画面で選択されたものに対応する。登録するテンプレートのファイル1502には、全体を管理するテンプレートとそれに含まれる優先度毎のテンプレートファイルが表示されている。なお、全体を管理するテンプレートのテンプレートファイル名が、図8の出力テーブル408のテンプレートファイル名に保存される。また、優先度毎のテンプレートファイルのファイル名が、図18のファイル1401内の優先度毎のテンプレートファイル及び図8の複合定義テーブル409のファイル名に保存される。
1503はテンプレート名入力欄であり、テンプレート名を入力する。このテンプレート名入力欄1503で入力されたテンプレート名が、図8の出力テーブル408のテンプレート名に保存される。
1504は中止ボタンであり、このボタンをマウス等のPDにより選択すると、クライアントPC上のモジュールは、サーバ107への登録処理を中止する。
1505は登録ボタンであり、このボタンをマウス等のPDにより選択すると、クライアントPC上のモジュールは、選択されているテンプレートをサーバ107に登録処理する。
即ち、図9のステップS119において、クライアントPC上のモジュールは、選択されているテンプレートをサーバ107に送信し、テンプレートの登録を依頼する。
この依頼を受けてサーバ107は、ステップS120において、受信したテンプレートの登録前処理を行う。
次に、図9のステップS121において、サーバ107のモジュール306は、テンプレートデータをデータベース108へ登録処理する。データベース108への登録が正常終了した場合には、サーバ107のモジュール306は、クライアントPCに正常終了した画面を送信する。上記の処理で優先度毎のテンプレートのデータベース108への登録が完了する。なお、このテンプレートの登録例を後述する図20に示してある。なお、ここで、データベース108への登録が失敗した場合には、サーバ107のモジュール306は、エラー画面をクライアントPCに送信する。
図20は、テンプレート登録が終了した際のデータベース108内容の一例を示す図であり、図8と同一のものには同一の符号を付してある。
出力テーブル408には、図18に示した「Template.fcx」が出力ID「1」、テンプレート名「プリントカタログ」として登録されている。
複合定義テーブル409では「Template.fcx」内に含まれる各fcpファイル(「Template1.fcx」「Template2.fcx」「Template3.fcx」)が優先度、差し込み領域数と共に登録されている。
項目定義テーブル410では、各フィールドの順序番号に対応した差し込みデータが関連付いている。1テンプレート内に複数の差し込み領域が有る場合は、最初の差し込みセットのみの関連付けが保存されており、後は差し込み領域数を元に自動で関連付けられることになる。例えば、図20の例では、テンプレートID「1」の順序番号「1」に出力データ「1」が対応付けられている。
以下、図21〜図23を参照して、本発明の商品マスタを検索してカタログを出力する処理を示す処理について説明する。
図21は、本発明における第2の制御手順の一例を示すフローチャートであり、本発明の商品マスタを検索してカタログを出力する処理を示す処理に対応する。なお、図中、S301、S303、S305、S306、S308、S309、S312はユーザがクライアントPCから行う操作及びクライアントPC側の処理に対応する。なお、この操作及び処理は、クライアントPCのCPUによりWebブラウザ上で実行されるモジュール(サーバ107から受信したモジュール等)を用いて実現される。また、図中、S302、S304、S307、S310、S311はサーバ107のCPUによりメモリ上で実行されるモジュール306,カタログ生成モジュール307を用いて実現される。
まず、ステップS301において、システム管理者がクライアントPCからアカウントとパスワードでログイン処理を実行する。この際、認証方法はアカウントとパスワード以外でもなんら問題はない。このログイン処理では、クライアントPCのWebブラウザは、入力されたアカウント、パスワードの情報を含むログインリクエストをサーバ107に送信する。
このリクエストを受けて、サーバ107のモジュール306は、ステップS302において、入力されたアカウントとパスワードが本システムの利用を許されているかどうかをデータベース108に問い合わせて認証処理を行う。ここで、上記本システムの利用を許されていないアカウントであった場合には、サーバ107のモジュール306は、エラー画面をクライアントPCに送信する。
一方、サーバ107のモジュール306は、本システムの利用を許されているアカウントであった場合には、検索画面(図15)をクライアントPCに送信する。
この検索画面を受け取った、クライアントPCのブラウザは、サーバ107から送信された画面を表示制御する。
ステップS303において、ユーザが商品検索操作を行うと、クライアントPC上のモジュールは、入力された検索条件をサーバ107に送信して、商品データの検索を依頼する。
この依頼を受けたサーバ107のモジュール306は、受信した検索条件に基づいてデータベース108内に登録された商品データを検索処理する。そして、データベース108から検索結果を受け取ったサーバ107のモジュール306は、該検索結果を商品データリストとしてクライアントPCに送信する。
そして、ステップS305において、クライアントPC上のモジュールは、サーバ107から送信された商品検索結果を取得し、表示制御する。
図22は、本発明の商品検索結果画面の一例を示す図である。
図22において、1801は商品検索結果画面である。1802は検索された商品マスタの情報であり、図22の例では、商品イメージ画像、商品名、価格、コメントが表示されている。
また、1803は検索のやり直しボタンである。このボタンをマウス等のPDにより選択すると検索画面に戻り、検索をやり直すことができる。また、この例では2つ分の商品情報が表示されているが、その他の検索結果に関しては、1804に示す前ページボタン,次ページボタンをマウス等のPDにより選択することで表示を切り替えることができる。
1805は出力マスタ決定ボタンであり、このボタンをマウス等のPDにより選択すると選択チェックボックス1802が有効になっている商品データのカタログを出力できる。
ユーザが検索結果画面1801で商品を選択し、決定ボタン1805を指示すると、クライアントPCのモジュールは、図21のステップS306において、選択された商品の情報をサーバ107に送信し、商品情報及び関連するテンプレートの情報を要求する。
リクエストを受けたサーバはステップS307で指定された商品の関連する情報と、カタログテンプレートの一覧情報をデータベース108から取得したクライアントPCに返信する。
ステップS308において、クライアントPC上のモジュールは、サーバ107から返信された出力する商品マスタの一覧とテンプレートの一覧を取得し、該取得データに基づいて、図23に示す出力方法設定画面を表示する。以下、出力方法設定画面について説明する。
図23は、本発明において出力方法を設定する画面(出力方法設定画面)の一例を示す図である。
図23において、1901は出力方法決定画面である。1902は図21のステップS306で選択した商品の一覧が優先度毎に一覧表示されている。1903はサーバが管理しているテンプレートが表示されており、マウス等のPDにより、任意に切り替えて選択することが可能である。
1904,1905は出力方法の設定で有り、それぞれチェックボックスを選択することで有効・無効を切り替えられる。
チェックボックス1904をマウス等のPDにより有効にすると、設定値以下の優先度を持つテンプレートの出力をモノクロに切り替える設定となる。なお、図23の例では優先度「2」を設定しているので、優先度2と優先度3のテンプレートがモノクロで作成される。一方、チェックボックス1904が無効の場合、全てカラーで出力される設定となる。
チェックボックス1905をマウス等のPDにより有効にすると、指定されたページ以下で収まる様なカタログを生成することを優先して出力する設定(上述の図7)となる。なお、図23の例では、「3」ページと設定しているので、3ページ以内に収まることを優先して出力する。一方、チェックボックス1905が無効の場合、優先度を優先して出力する設定(上述の図6)となる。
1906は出力ボタンであり、この出力ボタンをマウス等のPDにより選択すると、設定に従いカタログ出力が開始される。
図21のステップS309において、ユーザは、出力方法決定画面1901で出力したいテンプレートと出力方法を選択する。さらに、ユーザは、出力ボタン1906を指示して出力指示する。この操作に応じて、クライアントPC上のモジュールは、出力する商品マスタデータ、選択されたテンプレート,出力方法をサーバ107に送信し、カタログ出力処理を開始するように依頼する。
このリクエストを受けたサーバ107のカタログ生成モジュール307は、ステップS310において、指定されたテンプレートをデータベース108から取得し、また、商品マスタデータを優先度順にソートして、ステップS311に処理を進める。
次に、ステップS311において、サーバ107のカタログ生成モジュール307は、クライアントPCから受け取った出力方法の設定に従い、カタログを生成し、クライアントPCに返信するように制御する。なお、ステップS311の出力方法の設定に従ってカタログを生成する処理の詳細は、後述する図24に示す。
そして、ステップS312において、クライアントPCは、指定したカタログをサーバ107から取得する。
以下、図24〜図32を参照して、図21のステップS311に示した出力方法の設定に従ってカタログを生成する処理について説明する。
図24は、本発明における第3の制御手順の一例を示すフローチャートであり、図21のステップS311に示した出力方法の設定に従ってカタログを生成する処理に対応する。なお、図中、S401〜S406はサーバ107のCPUによりメモリ上で実行されるカタログ生成モジュール307を用いて実現される。
まず、ステップS401において、サーバ107のカタログ生成モジュール307は、クライアントPCより取得した出力方法の設定で「ページ優先出力」(図23の1905で設定された値に相当)が有効になっているか否かをチェックする。
そして、ステップS401で、「ページ優先出力」が有効ではないと判断した場合には、サーバ107のカタログ生成モジュール307は、ステップS402に処理を進める。そして、ステップS402において、サーバ107のカタログ生成モジュール307は、優先度を優先したカタログ差し込み決定処理を行い、差し込み用データファイル(図28)をHD上等に生成する。そして、ステップS404に処理を移行させる。なお、優先度を優先したカタログ差し込み決定処理詳細は図25に示す。
一方、ステップS401で、「ページ優先出力」が有効であると判断した場合には、サーバ107のカタログ生成モジュール307は、ステップS403に処理を進める。そして、ステップS403において、サーバ107のカタログ生成モジュール307は、ページ数を優先したカタログ差し込み決定処理を行い、差し込み用データファイルをHD上等に生成する。そして、ステップS404に処理を移行させる。なお、ページ数を優先したカタログ差し込み決定処理詳細は図29に示す。
そして、ステップS404において、サーバ107のカタログ生成モジュール307は、モノクロ出力(図23の1904で設定された値に相当)が有効になっているか否かをチェックする。そして、モノクロ出力が有効になっていないと判断した場合には、サーバ107のカタログ生成モジュール307は、そのままステップS406へ処理を進める。
一方、ステップS404で、サーバ107のカタログ生成モジュール307は、モノクロ出力が有効になっていると判断した場合には、ステップS405へ処理を進める。そして、ステップS405において、サーバ107のカタログ生成モジュール307は、出力データの該当テンプレートの情報をモノクロに変更する。例えば、図23の例では優先度「2」を設定しているので、優先度2と優先度3のテンプレートの情報をモノクロに変更する。即ち、差し込み用データファイル(例えば、後述する図27)内の「Form=」に優先度2と優先度3のテンプレートが指定されている「Form Section」内の「Color=Color」を「Color=Black&White」に変更する。なお、この変更後の差し込み用データファイルの一例を後述する図32の2801,2802に示してある。そして、ステップS406に処理を進める。
そして、ステップS406において、サーバ107のカタログ生成モジュール307は、ステップ401〜S405で生成された差し込み用データファイルに基づいてカタログ生成処理を実行し、処理を終了する。なお、生成されたカタログの例を後述する図28,図31に示す。
なお、図24には図示していないが、ステップS403のページ数を優先したカタログ差し込み決定処理の結果がエラーであった場合には、その旨をクライアントPCに送信し、そのまま処理を終了するものとする。
以下、図25〜図28を参照して、図24のステップS402に示した優先度を優先したカタログ差し込み決定処理について説明する。
図25は、本発明における第4の制御手順の一例を示すフローチャートであり、図24のステップS402に示した優先度を優先したカタログ差し込み決定処理に対応する。なお、図中、S501〜S514はサーバ107のCPUによりメモリ上で実行されるカタログ生成モジュール307を用いて実現される。
ステップS501において、サーバ107のカタログ生成モジュール307は、利用テンプレート配列の初期化、差し込みマスタ数配列の初期化、現在処理ページ変数を「0」にセット、差し込み余白変数を「0」にセットする。
なお、利用テンプレート配列は、出力カタログのページ毎にどのテンプレートを利用するかを記憶するためのものであり、サーバ107のメモリ上に確保される。また、差し込みマスタ数配列は、ページ毎に何個のマスタを出力するかを記憶するためのものであり、サーバ107のメモリ上に確保される。さらに、現在処理ページ変数は、現在処理中のカタログページ数を記憶するためのものであり、サーバ107のメモリ上に確保される。また、差し込み余白変数は、現在処理中のページの差し込み余白の数を記憶するためのものであり、サーバ107のメモリ上に確保される。
なお、本フローチャートの処理中の差し込みマスタ,テンプレートのイメージ,利用テンプレート配列,差し込みマスタ数配列の例について図26に示してある。
次に、サーバ107のカタログ生成モジュール307は、ステップS502〜S509において、出力に選択されたマスタデータ毎のループ処理を行い、優先順位に従ったテンプレートとマスタの差し込みポジションを決定する。
詳細には、ステップS503において、サーバ107のカタログ生成モジュール307は、現在処理中のページの差し込み余白数が「0」で有るかをチェックする。そして、現在処理中のページの差し込み余白数が「0」で無いと判断した場合には、余白があるのでステップS507に処理を進める。
一方、ステップS503で、サーバ107のカタログ生成モジュール307は、現在処理中のページの差し込み余白数が「0」と判断した場合には、余白がないので、ステップS504に処理を進める。
そして、ステップS504において、サーバ107のカタログ生成モジュール307は、現在の処理ページ変数をインクリメントし、ステップS505に処理を進める。
そして、ステップS505において、サーバ107のカタログ生成モジュール307は、現在処理している選択マスタの優先度に対応したテンプレートの差し込み領域数を取得し、それを差し込み余白数の変数へセットする。
次に、ステップS506において、サーバ107のカタログ生成モジュール307は、利用テンプレート配列の現在処理ページ変数値の領域に、利用するテンプレートの優先度をセットし、ステップS507に処理を進める。
そして、ステップS507において、サーバ107のカタログ生成モジュール307は、差し込みマスタ数配列の現在処理ページ変数値の領域をインクリメントする。
そして、ステップS508において、サーバ107のカタログ生成モジュール307は、差し込み余白数をデクリメントする。
以上示したステップS503〜S508の処理を、まだ出力に選択されたマスタデータ全てに対して実行していないと判断した場合には、ステップS503〜S508の処理を繰り返す。一方、ステップS503〜S508の処理を、既に出力に選択されたマスタデータ全てに対して実行したと判断した場合には、ステップS510に処理を進める。
ステップS510以降は、ステップS509迄で決定した出力方法で、最終ページに余白が多くある場合に、テンプレートと差し込み位置を修整する処理を行う。なお、ステップS509迄の実行結果を図26の2202に示してある。また、ステップS510以降の最終結果を図26の2203に示してある。
以下、ステップS510以降の処理について詳細に説明する。
まず、ステップS510において、サーバ107のカタログ生成モジュール307は、最終ページで利用されるテンプレートの優先度よりも優先度が高いテンプレート全ての差し込み領域を取得する。
次に、ステップS511において、サーバ107のカタログ生成モジュール307は、取得した値と最終ページの差し込み余白を比較する。そして、比較した結果、最終ページの余白が取得した差し込み領域数のいずれか以上であったと判断した場合には、サーバ107のカタログ生成モジュール307は、ステップS512に処理を進める。
ステップS512において、サーバ107のカタログ生成モジュール307は、上記余白数に一番近い差し込み領域数を持つテンプレートに、該テンプレートより優先順位が1ランク低く設定されているテンプレートの先頭ページを置き換える。即ち、上記余白数に一番近い差し込み領域数を持つテンプレートより優先順位が1ランク低く設定されているテンプレートの先頭ページに対応する利用テンプレート配列の領域に格納された優先度を1つアップさせる。
さらに、ステップS513において、サーバ107のカタログ生成モジュール307は、ステップS512でテンプレートを変更したページ以降の差し込みマスタ数配列を各テンプレートの差し込み領域数以内に収まるよう変更する。そして、ステップS510に処理を戻す。
このように、ステップS510〜S513の処理を繰り返すことで、余白がなるべく少なくなるように出力テンプレートとマスタ差し込み位置を調整する。
一方、ステップS511で、最終ページの余白が差し込み領域数より小さくなったと判断した場合には、サーバ107のカタログ生成モジュール307は、ステップS514に処理を進める。
そして、ステップS514において、サーバ107のカタログ生成モジュール307は、メモリ上に保持される利用テンプレート配列,差し込みマスタ数配列に基づいて、差し込み用データファイルをHD上等に生成し、処理を終了する。なお、差し込み用データファイルの一例を図27に示す。
図26は、図25に示した優先度を優先したカタログ差し込み決定処理の際の差し込みマスタとテンプレートのイメージを示した図である。
図26において、2201は利用するテンプレート及び差し込みマスタの例である。
2202は図25のステップS509迄実行した結果であり、最終ページに余白が「3」存在する。その後、ステップS510以降の処理で、余白「3」に差し込み領域が最も近い優先度2のテンプレートに、3ページ目の優先度3のテンプレートを置き換えると、4ページ目の余白は「1」となる。
さらに、この余白「1」に差し込み領域が最も近い優先度1のテンプレートに、2ページ目の優先度2のテンプレートを置き換えることで、最終ページの余白が「0」となる。この最終結果のイメージを2203に示す。このように、ページ数を変えることなく最終ページの余白を最小限にすることができる。
図27は、図26に示した最終結果2203のときの差し込み用データファイルの一例を示す図である。
図27に示すように、2301の「Form Section」からページが開始され、「Form=」に利用するテンプレートファイルが指定され、「Color=」にカラー「Color」か白黒「Black&White」かが指定されている。「Color=」にカラー白黒「Black&White」が指定された例は後述する図32に示してある。
2302の「Body Data Section」には順序番号の1から順に対応する様にカンマで区切られた差し込みデータが列挙される。本データと、テンプレートのFCXファイル及びFCPファイル、差し込む画像データファイルイ「メージ1.jpg」〜「イメージ8.jpgを」元にカタログの生成処理が行われる。
図28は、図25に示した優先度を優先したカタログ差し込み決定処理で最終的に生成される差し込み用データファイルに基づいて図24のS406で生成されるカタログイメージの一例を示す図である。
2401はカタログデータであり、指定された設定に従い4ページ分のデータが作成される。本出力では全てのページがカラーで出力指示されているので実際のデータはカラーデータとなる。2402をはじめとする斜線の領域には、実際には画像データの書くファイルがラスタライズされイメージが差し込まれることになる。
以下、図29〜図31を参照して、図24のステップS403に示したページ数を優先したカタログ差し込み決定処理について説明する。
図29は、本発明における第5の制御手順の一例を示すフローチャートであり、図24のステップS403に示したページ数を優先したカタログ差し込み決定処理に対応する。なお、図中、S601〜S604はサーバ107のCPUによりメモリ上で実行されるカタログ生成モジュール307を用いて実現される。また、テンプレートと差込マスタの例を後述する図30の2601に示してある。
ステップS601において、サーバ107のカタログ生成モジュール307は、ユーザが指定したページ以内で全てのマスタを差し込めるテンプレートの組み合わせをメモリ上に列挙する。なお、この列挙の例を図30の2602に示してある。
次に、ステップS602において、サーバ107のカタログ生成モジュール307は、指定されたページ数内に収まる組み合わせがあったか(列挙した組み合わせが存在するか)否かをチェックする。そして、指定されたページ数内に収まる組み合わせがなかった(列挙した組み合わせが存在しない)と判断した場合には、サーバ107のカタログ生成モジュール307は、ステップS605に処理を進める。
そして、ステップS605において、サーバ107のカタログ生成モジュール307は、図24に示したフローチャートにエラーを返し、処理を終了する。
一方、ステップS602で、サーバ107のカタログ生成モジュール307は、指定されたページ数内に収まる組み合わせがあった(列挙した組み合わせが存在する)と判断した場合には、ステップS603に処理を進める。
そして、ステップS603において、サーバ107のカタログ生成モジュール307は、列挙した組み合わせの中から、ユーザの指定したページに最も近い組み合わせであり、高いプライオリティのテンプレートが最も多く含まれている組み合わせを決定する。
そして、ステップS604において、サーバ107のカタログ生成モジュール307は、ステップS603で決定されたテンプレートの組み合わせに従い、差し込み用データファイルをHD等に生成し、処理を終了する。
図30は、図29に示したページ数を優先したカタログ差し込み決定処理の際の差し込みマスタとテンプレートのイメージを示した図である。
図30において、2601は利用するテンプレート及び差し込みマスタ及び、ユーザが指定したページ数(ここでは「3」)の例である。
2602は図29のステップS601において列挙される組み合わせの一覧イメージである。2603は、図29のステップS603で最終的に決定されたテンプレートの組み合わせと実際に出力するマスタを示したイメージである。
図31は、図29に示したページ数を優先したカタログ差し込み決定処理で最終的に生成される差し込み用データファイルに基づいて図24のS406で生成されるカタログイメージの一例を示す図である。
図31において、2701はカタログデータであり、指定された設定に従い3ページ分のデータが作成される。なお、この出力では全てのページがカラーで出力指示されることとなるため、実際のデータはカラーデータとなる。2702をはじめとする斜線の領域には、実際には画像データの書くファイルがラスタライズされイメージが差し込まれることになる。
以下、図32を参照して、図24ステップS405のモノクロ変換結果について説明する。
図32は、図27の差し込み用データファイルに対して、図24ステップS405のモノクロ変換処理を施した結果の一例を示す図である。
図32の例では、優先度が「2」より低いテンプレートをモノクロとした場合である。よって、2801,2802に示すように、優先度「2」である「Template2.fcp」と優先度「3」である「Template3.fcp」における「Color=」設定が「Color」から「Black&White」に変更されている。
最終出力の結果は、図30で示した結果となる。但し、1ページ目,2ページ目はカラーで、3ページ目,4ページ目はモノクロのカタログとなる。
なお、本実施形態では、カタログを作成する処理を例にして説明しているが、カタログ作成に限られるものではなく,データをテンプレートに差し込んで成果物を作成するもので、その成果物はどのようなものであってもよい。
以上説明したように、Webアプリケーションサーバ107は、テンプレートと差し込みデータ(画像データ含む)から生成するシステムである。このWebアプリケーションサーバ107は、差し込みデータにプライオリティ情報を保持させ、また、プライオリティに対応したテンプレートを複数管理している。そして、ユーザから指定されるプライオリティ情報や出力ページ数に基づいてカタログテンプレートを自動的に切り替えながら、指定された差込データをテンプレートに差し込んだ出力を生成する構成を有する。
このように、差し込みデータのプライオリティ(優先度)に応じたテンプレートを利用し出力する構成によって、以下のような効果を奏する。
優先度の高いデータを強調(カラー,出力サイズ等で強調)した出力を容易に、指定した品位,指定したページ数等でコストを抑えて作成することができる。よって、従来のようなユーザの手間も省略することができる。
例えば、プライオリティ(優先度)の高いお勧め商品を強調(カラー,出力サイズ等で強調)した営業資料用のカタログ等を容易に、ページ数等でコストを抑えて作成することができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
以下、図33に示すメモリマップを参照して、本発明に係るシステムを構成するサーバ装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップの構成について説明する。
図33は、本発明に係るシステムを構成するサーバ装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体(記録媒体)のメモリマップを説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図9,図21,図24,図25,図29に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD-ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハード・ディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のプログラムそのものをハード・ディスク等の記憶媒体にダウンロードすることによっても供給できる。また、該ホームページから圧縮され自動インストール機能を含むファイルをハード・ディスク等の記憶媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやFTPサーバ等も本発明の請求項に含まれるものである。
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布する。さらに、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。さらに、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、以下のような構成も含まれることは言うまでもない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込む。そして、該メモリに書き込まれたプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組み合わせを含む)が可能であり、それらを本発明の範囲から排除するものではない。
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
以上説明したように、サーバ107は、様な商品カタログを自動生成する際に、各商品マスタに優先度を示す情報を保持させておき、管理者が状況に応じてその優先度を変更できる様にし、優先度に応じてカタログのテンプレートを複数作成・管理しておく。そして、優先度を加味して、テンプレートを自動的に切り替えながらカタログ出力したり、カラー/モノクロや紙枚数を考慮したカタログ出力を実現する構成とする。この構成により、優先度の高いデータ(お勧めの商品の情報)を強調(カラー,出力サイズ等で強調)した出力(カタログ)を、従来のようなユーザの手間をかけず容易に、生成することができる。なお、指定したカラー属性(カラー/モノクロ),指定したページ数等で生成して、コストを抑えることも可能である。