JP4829662B2 - 自動レイアウトシステムおよび情報提供方法およびサーバーシステム - Google Patents

自動レイアウトシステムおよび情報提供方法およびサーバーシステム Download PDF

Info

Publication number
JP4829662B2
JP4829662B2 JP2006104716A JP2006104716A JP4829662B2 JP 4829662 B2 JP4829662 B2 JP 4829662B2 JP 2006104716 A JP2006104716 A JP 2006104716A JP 2006104716 A JP2006104716 A JP 2006104716A JP 4829662 B2 JP4829662 B2 JP 4829662B2
Authority
JP
Japan
Prior art keywords
data
layout
template
rss
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006104716A
Other languages
English (en)
Other versions
JP2007279992A (ja
JP2007279992A5 (ja
Inventor
利彦 細坪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006104716A priority Critical patent/JP4829662B2/ja
Priority to US11/695,914 priority patent/US8171398B2/en
Publication of JP2007279992A publication Critical patent/JP2007279992A/ja
Publication of JP2007279992A5 publication Critical patent/JP2007279992A5/ja
Application granted granted Critical
Publication of JP4829662B2 publication Critical patent/JP4829662B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Document Processing Apparatus (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、例えばクライアントからの指示等に基づき、選択されたコンテンツをテンプレートに流し込んでレイアウトを行い、成果物であるドキュメントをクライアントに送信するコンテンツサーバおよびレイアウトシステムに関する。
近年、ユーザの好みに応じてカスタマイズされた電子カタログを配信するWebシステムがある。そのシステムは、Webサーバが提供するWebページにおいて、利用者がテンプレートと、そのテンプレートに流し込むコンテンツを選択し、その結果の電子ドキュメントをクライアントが受け取る。なお、データ(コンテンツデータ)をテンプレートに流し込むとは、コンテンツデータを、テンプレートで定義されたレイアウトに従って配置することである。したがってテンプレートにコンテンツデータが流しこまれると、コンテンツデータと、そのレイアウトを示すレイアウトデータとを組にした、レイアウト済みコンテンツデータが生成される。
このようなシステムでは、コンテンツやテンプレートを管理し、提供するコンテンツサーバがそのシステムの一部を形成している。
また、このようなシステムにおいては、ユーザ選択に応じた電子ドキュメントを生成するために、自動レイアウトシステムが利用されている。自動レイアウトシステムでは、コンテンツを流し込む各コンテナのサイズやコンテナ間隔を可変設定することが可能である。これにより、テキストやイメージなどのコンテンツのボリュームに応じて、テンプレートに配置されたコンテナのサイズやコンテナ間の距離が変更できる。そのため、一般的に、自動レイアウトシステムでは、一つのテンプレートで、様々なボリュームのコンテンツと、それらコンテンツの組み合わせに対応することが出来る。なおコンテナとは、テンプレート内に定義された枠であり、その枠内に文字や画像などのコンテンツが配置される。
しかしながら、自動レイアウトシステムでは、異なるコンテンツや、コンテンツの組み合わせバリエーションの違い等によって、各コンテナやコンテナ間に設定した可変設定の想定を超えるデータが流し込まれることがある。その場合、テキストがコンテナ内に収まり切らないテキストオーバーフローやイメージがコンテナ内に収まり切らないイメージオーバーフローなどのレイアウトエラーが発生することがある。
このレイアウトエラーの発生をチェックし、ユーザがテンプレートを再編集し、レイアウトエラーに対する修正を加えることが出来るよう、テンプレートエディタには、いわゆるプリフライト検査を行うプルーフィング機能を備えているものが存在する。プリフライト検査とは、本番の運用に備えて行われる本番運用前検査であり、試験データを用いて正常に動作するか否かを判定する検査を含む。すなわち、技術的な観点からは、自動レイアウトシステムのプリフライト検査とは、自動レイアウトシステムの通常の使用と同じである。運用の目的が、コンテンツデータあるいはテンプレートデータの検証にある点で、プリフライト検査と通常の使用とは異なる。プリフライト検査のことを、単にプリフライトと称する場合もある。
プルーフィング機能を持つ自動レイアウトシステムのプリフライト検査では、コンテンツの試験データがテンプレートに流し込まれて試行的にレイアウトが行われる。そしてそのプリフライト検査の結果が、ユーザに対して表示される。
テンプレート編集者であるユーザは、そのプリフライト検査結果を見ながら、テンプレートを再編集し、レイアウトエラーが発生しないテンプレートとなるよう、各コンテナやコンテナ間に設定した可変設定の値やレベルを変更する。
テンプレート編集者であるユーザは、コンテンツサーバからテンプレートに適用するコンテンツをダウンロードした後、このプルーフィング機能を用いながら、レイアウトエラーが発生しないテンプレートの作成、編集作業を行う。
コンテンツサーバ管理者であるユーザは、テンプレート編集者によって作成されたレイアウトエラーが発生しないテンプレートをコンテンツサーバにアップロードして登録する。登録されたテンプレートは、Webクライアントから電子ドキュメントを要求するユーザがWebページ上で選択可能なように設定、配置される。
文書の自動レイアウトシステムは、たとえば特許文献1等に記載されている。また、Webにおける更新をクライアントに知らせる技術としてRSS(RDF(Resource Description Framework) site summary)という技術がある(例えば非特許文献1,2等参照)。
特開2005−216174号公報 Dan Brickley他10名、"RDF Site Summary (RSS) 1.0"、[online]2001年5月30日、RSS-DEV Working Group、[2005年3月17日検索]、インターネット<URL:http://purl.org/rss/1.0/spec> M. Nottingham, R. Sayer編、"The Atom Syndication Format draft-ietf-atompub-froamat-03"、[online]2004年10月20日、RSS-DEV Working Group、[2005年3月17日検索]、インターネット<URL:http://atompub.org/2004//10/20/draft-ietf-atompub-froamat-03.html>
この自動レイアウトシステムにおいては、コンテンツサーバが扱うコンテンツデータは、随時、コンテンツサーバ管理者によって、追加、更新される。そのため、プルーフィング機能を用いながらレイアウトエラーが発生しないよう編集されたテンプレートも、サーバに登録した後には、新しいコンテンツまたは新しいコンテンツの既存のコンテンツとの組み合わせで、レイアウトエラーが発生する可能性が高い。
上記従来の技術では、テンプレートをサーバに登録した後でレイアウトエラーが発生した際、サーバが記録するレイアウト時のエラーログを見て、問題が発生しているテンプレートを特定し、そのテンプレートを修正する必要があった。その際、管理者は、そのテンプレートで問題を起こしたコンテンツデータのレコード群、および、そのレコード群がテンプレートに流し込まれた順序を、更にログから特定する。そしてその特定したレコード群をコンテンツサーバからエディタ環境に手動で指定してダウンロードする。テンプレート再編集作業のために、更に、レコード群の並び順を手動で指定して、プルーフィングエラーをエディタで再現させる。このような手間がかかる手順を踏む必要があった。そのため、一つのテンプレートで、異なるケースのプルーフィングエラーが発生した際や、問題が発生したテンプレートが多く存在する場合、テンプレート修正のための再編集作業は、多くの労力がかかっていた。
本発明は、上記の問題を鑑みてなされたものであり、サーバに登録した後、レイアウトエラーが発生した際に、エラーを解消すべく行われるテンプレートの編集作業を容易にするコンテンツサーバおよびレイアウトシステムを提供することを目的とする。
上述した課題を解決するために、本発明の自動レイアウトシステムは以下の構成を備える。すなわち、シンジケーションデータを取得し表示可能なクライアントと、前記クライアントに対して配信される前記シンジケーションデータを生成するサーバーシステムとを有する自動レイアウトシステムであって、前記サーバーシステムは、コンテンツデータを、テンプレートデータに従って配置処理するレイアウト手段と、前記レイアウト手段による配置処理においてエラーが生じた場合、当該エラーに係るデータへのリンク情報を含むシンジケーションデータを生成する生成手段と、前記生成手段により生成されたシンジケーションデータを前記クライアントに提供する報提供手段とを有し、前記クライアントは、前記エラーに関連するテンプレートデータと、該テンプレートデータに関連するコンテンツデータとを、前記サーバーシステムから提供されたシンジケーションデータのリンク情報を基に取得する取得手段と、取得されたテンプレートデータとコンテンツデータとを基に再レイアウトを行う再レイアウト手段と、再レイアウトによりエラーが解消されたテンプレートデータの保存を前記サーバーシステムに指示する指示手段とを備える。
あるいは、サーバーシステムであって、コンテンツデータをテンプレートに従ってレイアウトした際に生じたレイアウトエラーをチェックするチェック手段と、前記チェック手段によるレイアウトエラーのチェック結果を基に、タイプ1とタイプ2の2つのタイプのRSSデータを生成し、生成したRSSデータを情報配信サーバーへアップロードするRSSデータ配信手段とを備え、前記タイプ1のRSSデータは、RSSデータのアイテム要素のタイトル項目にレイアウトエラーが発生したテンプレートの固有情報を設定し、そのタイトル項目に対応するリンク要素には、当該レイアウトエラーを生じたテンプレートが保存されている保存場所のリンク情報を設定したRSSデータであり、前記タイプ2のRSSデータは、前記チェック手段によりエラーの発生が特定されたテンプレート毎に用意されたRSSデータであり、夫々のRSSデータのアイテム要素のタイトル項目にはレイアウトエラーが発生した日時を設定し、そのタイトル項目に対応するリンク要素にはその日時にレイアウトエラーが発生した際に、当該レイアウトエラーが発生したテンプレートで用いたコンテンツが保存されている保存場所のリンク情報を設定したRSSデータであり、前記サーバーシステムはさらに、前記生成手段により生成されたシンジケーションデータを提供する提供手段を備え、クライアントに配信されたRSSデータのリンク要素で設定されたリンク情報を基に当該クライアントがシンジケーションデータの取得要求を行った場合、前記提供手段が、要求されたシンジケーションデータを要求元のクライアントに提供する。
本発明によれば、サーバに登録したテンプレートにレイアウトエラーが発生した際、そのプルーフィングエラーをクライアントのテンプレートエディタで再現させる環境を容易に構築することが出来る。そのため、問題が発生したテンプレートの修正作業が容易になり、自動レイアウト処理の生産性を向上させることができる。
[実施形態]
本発明に好適な実施形態について以下説明を行う。まず本実施形態の自動レイアウトシステムの概略を説明する。
(1)レイアウトサーバは、プリフライト検査または本番運用時に、レイアウトエラーの履歴情報を記録する。レイアウトエラーの履歴は、それが発生したテンプレートの識別情報および流し込んだコンテンツ群の識別情報および流し込みの順序とともに記憶される。なお、テンプレートへのコンテンツの流し込みとは、テンプレートで定義される枠(コンテナ)内に、テキストや画像、グラフィクスデータといったコンテンツデータを配置する処理をいう。なお本例ではコンテンツデータとは、印刷対象となることから、時間をパラメータとしない静的なデータを指す。またコンテンツデータを単にコンテンツと呼ぶ場合もある。また、レイアウトエラーの履歴情報をプリフライト履歴という。プリフライト検査時に記録したエラーのみならず、本番運用時に収集したレイアウトエラーの履歴も、プリフライト履歴と称する。
(2)コンテンツサーバは、このレイアウトエラーのプリフライト履歴を、テンプレート名を見出しにして、RSSでシンジケーション(情報配信サービス)する。すなわち、テンプレートの識別名を見出しとし、そのテンプレートデータの識別名やURI及びエラー数等の履歴情報をRDF形式に編集し、一定の保存場所に保存する。RSSのデータは、一般に利用されているものであり、無償あるいは有償で流通しているRSSリーダソフトウエアや、ウエブブラウザや電子メールソフトのRSSリーダ機能で処理可能な形式を持つ。本例では、RSSリーダ機能とウエブブラウザ機能とを併せ持つクライアントソフトウエアが用いられる。このタイプのソフトウエアは、ユーザインターフェースの上ではウエブページデータとRSSデータとを特に区別せずに閲覧できる。たとえばRSSデータに含まれるハイパーリンクをクリックすれば、そのリンク先が通常のHTMLデータであっても、ウエブブラウザ機能のコンポーネントを用いてHTMLデータを表示できる。また、ウエブブラウザ機能により表示するデータに関連づけられたアプリケーションプログラムを起動して、ブラウザのペインの中で、そのアプリケーションプログラムによる処理を実行することもできる。
(3)クライアントは、レイアウトエラーのプリフライト履歴のシンジケーションをニュースフィードとして、ブラウザのRSSリーダで表示する。表示されるのは、エラーの内容と、エラーに係るテンプレートデータの識別名、エラーに係るコンテンツデータの識別名等である。テンプレートデータの識別名およびコンテンツデータの識別名は、いずれもそれぞれのデータそのものへのリンク情報を関連づけられており、それらしき別名がクリックされると、リンク先のデータがアクセスされる。
(4)クライアントブラウザのRSSリーダで、レイアウトエラーが発生したテンプレート名(URIリンク)の一つが管理ユーザによりクリック(プリフライト履歴の選択)されると、サーバに対してテンプレート名の選択が伝達される。サーバは、レイアウトエラーのプリフライト履歴に記録された、選択されたテンプレートデータをクライアントに送信する。
(5)クライアントブラウザは、テンプレート編集プログラム(テンプレートエディタともいう)を起動する。テンプレートエディタは、ローカル(クライアント自身)にインストールされたり、ActiveXコンポーネントやJava(登録商標)等で記述されたものがサーバからダウンロードされる。
(6)サーバは、クライアントに送信したテンプレートで発生したレイアウトエラーの履歴を、レイアウトエラー(の識別名)を見出しにして、RSSフィード(ニュースフィード)する。すなわち、レイアウトエラーの発生を見出しとし、そのレイアウトエラーを生じたコンテンツデータの識別名やURIをRDF形式に編集し、一定の保存場所に保存する。
(7)クライアントブラウザのRSSリーダでの表示は、テンプレート固有のレイアウトエラー(プリフライト履歴)のチャンネルに切り替わる。
(8)クライアントブラウザのRSSリーダにフィードされたレイアウトエラー(URLリンク)の一つがユーザによりクリック(プリフライト履歴の選択)された際、サーバは、そのレイアウトエラーにリンクされたコンテンツ群をクライアントに送信する。
(9)クライアントブラウザは、サーバから送信されたコンテンツ群をテンプレートエディタに渡す。テンプレートエディタは、そのコンテンツ群をテンプレートに流し込み、レイアウトプレビューを生成する。コンテンツ群をテンプレートに流し込むとは、コンテンツデータをテンプレートに従ってレイアウトすることである。
(10)クライアントブラウザのユーザは、テンプレートエディタでレイアウトチェックを実行する。すなわち(8)で得たコンテンツデータの、(4)で得たテンプレートデータにしたがう配置を試みる。その結果、RSSリーダに表示される、フィードされたレイアウトエラーと同じエラーが試行の結果として得られる筈である。ユーザはその結果を見ながらレイアウトの再編集を行い、レイアウトエラーを修正して行く。
(11)クライアントブラウザのユーザは、RSSリーダに表示される別のレイアウトエラーのリンクをクリック(プリフライト履歴の選択)できる。これにより、他のコンテンツ群をサーバから受け取り、テンプレートエディタでそのレイアウトエラーを修正して行く。
(12)クライアントブラウザのユーザは、レイアウトエラーを修正し、再編集を終えたテンプレートをサーバにアップロード(再登録)する。
(13)編集されたテンプレートの再登録(更新)を受けたサーバは、そのテンプレートに関する履歴情報を削除する。また、プリフライト履歴のシンジケーションから、そのテンプレートに関する情報を削除し、再び、テンプレート名を見出しにしてRSSフィード(ニュースフィード)を行う。すなわち、エラーが解消されたことを配信する。
以上のようにして、本実施形態のレイアウトシステムによれば、レイアウトエラーの発生が検出されると、エエラーの発生を示す情報と、エラーに係るテンプレートとコンテンツデータとを特定できる情報を、RSSフィードにより配信する。フィードを受信したクライアント(管理者等)は、受信したテンプレートとコンテンツデータとを特定できる情報とから、発生したレイアウトエラーを直ちに再現することができる。それによってエラーの原因を特定し、エラーが生じないように、テンプレートデータやコンテンツデータを修正する作業を容易に行える。また、修正後の再試験も直ちに行える。
このため、レイアウトエラー解消のための作業が軽減され、迅速化できる。これにより、エラー解消のための修正作業の生産性に加えて、レイアウトされたレイアウト済みデータを生成する処理の生産性を向上させることが出きる。
また、エラーの発生の情報とその修正のための情報がクライアントに通知されるため、レーアウトサーバを常時監視し続ける必要がなく、監視のために割り当てられる資源を減少させることができる。
<システム構成図>
本発明の実施形態を説明する前に、本発明を適用可能なシステム構成、およびアプリケーション構成について説明する。
図1は、クライアントからのリクエストに応じ、サーバでバリアブルデータから電子カタログのドキュメントを生成し、レスポンスとしてクライアントに配信するカタログ配信システム100を図示している。
図2は、図1に示されるサーバやクライアント端末を実現するコンピュータのブロック図である。図2のコンピュータ201は、管理クライアントコンピュータモジュール101、クライアントコンピュータモジュール102、コンテンツサーバ103、ファイルサーバ104、レイアウトサーバ105、Webサーバ106のハードウエア構成を示す。システム100上で実施可能となるテンプレート編集アプリケーションプログラム121などは、コンピュータ201により実行される。テンプレート編集や印刷のステップはコンピュータ201によって実行されるソフトウェアの指示によって実施される。ソフトウェアは例えば以下に記述されるような記憶装置を含むコンピュータの可読媒体に格納される。ソフトウェアはコンピュータの可読媒体からコンピュータにロードされ、コンピュータ201によって実行される。そのようなソフトウェアやコンピュータプログラムを記録した可読媒体はコンピュータプログラム製品である。
コンピュータモジュール201はキーボード202やマウス203のようなポインティングデバイスなどの入力装置をつなぎ、ディスプレイ装置214や状況に応じてはローカルプリンタ215を含む出力装置を連結する。入力/出力インターフェース208はコンピュータモジュール201をネットワーク接続207から接続してシステム100の他のコンピュータ装置につなげることができる。そのネットワーク接続207の典型はローカルエリアネットワーク(LAN)、あるいはワイドエリアネットワーク(WAN)である。
コンピュータモジュール201は、典型的には少なくとも1つのプロセッサユニット205、例えば半導体のランダムアクセスメモリ(RAM)やリードオンリーメモリ(ROM)から構成されるメモリユニット206を含む。また、ビデオインタフェース207を含むINPUT/OUTPUT(I/O)インターフェース、キーボード202やマウス203のためのI/Oインターフェース213を含んでいる。記憶装置209は典型的にハードディスクドライブ210やフレキシブルディスクドライブ211を含んでいる。図には示されていないが磁気テープドライブもまた使用される可能性がある。CD−ROMドライブ212は不揮発性のデータソースとして提供される。コンピュータモジュール201は、コンピュータシステムの常套的な方法によって、相互接続バス204を介して通信を行うコンピュータモジュール201のプロセッサ205からIOインターフェース213を利用する。
図2に記述したコンピュータの例ではIBM互換PCやSUN社のSparc Station、あるいはそれらを含んだコンピュータシステムが考えられる。
テンプレート編集アプリケーションプログラム121、およびWEBブラウザアプリケーションプログラム122または125は典型的にハードディスクドライブ210に常駐し、プロセッサ205により実行、読み込み、コントロールされる。プログラム121、122、125 の媒介記憶装置とネットワーク107からフェッチされるデータはハードディスクドライブ210に呼応して半導体メモリ206を使用する。いくつかのインスタンスではアプリケーションプログラム121、122、125がCD−ROMやフレキシブルディスク上でエンコードされ、対応するドライブ212や211を通じて読み込まれユーザに提供される。あるいはもう一つの方法としてアプリケーションプログラム121、122、125はネットワーク接続207からユーザによって読み込まれるかもしれない。さらにソフトウェアは、コンピュータ可読媒体からコンピュータモジュール201内にロードされる可能性もある。その媒体には、磁気テープ、ROM、集積回路、光磁気ディスク、無線インターフェースや赤外線通信で接続された他の機器、PCMCIAカードのようなコンピュータ可読カード、インターネットやイントラネットで接続された他の機器を含む。前述は単に関連するコンピュータ可読メディアの模範である。他のコンピュータ可読媒体も使用される可能性はある。
またテンプレート編集アプリケーション121はバリアブルデータ印刷を行うための2つのソフトウェアコンポーネントを含んでいる。これらのうち1つめのコンポーネントはレイアウトエンジン127であり、これは長方形の範囲内で与えられた制限やサイズによって矩形と線の位置を計算するためのソフトウェアコンポーネントである。2つめのコンポーネントであるユーザインターフェース128はユーザにドキュメントテンプレートを作成させ、ドキュメントテンプレート内でデータソースと関連付けるメカニズムを提供する。ユーザインターフェース128とレイアウトエンジン127はコミュニケーションチャネル123を介して通信する。ドキュメント生成のためのバリアブルデータのデータソースは、一般的にコンテンツを管理するデータベースアプリケーションを動かしている他のコンピュータによって構成されたコンテンツサーバ103上にある典型的なデータベース119である。管理クライアントコンピュータ101はネットワーク接続107の手段によってコンテンツサーバ103と通信する。テンプレート編集アプリケーションプログラム121は管理クライアントコンピュータ101か一般的に他のコンピュータで構成されるファイルサーバー104に保存されるドキュメントテンプレートを生成する。またテンプレート編集アプリケーションプログラム121はドキュメントテンプレートにデータを流し込んでドキュメントを生成する。これらのドキュメントは管理クライアントコンピュータ101のローカルファイルシステムに保存されるか、ファイルサーバー104に保存される。
WEBブラウザアプリケーション122、125は、WEBページを閲覧するためのアプリケーションプログラムである。WEBブラウザアプリケーション122、125は、他のコンピュータによって構成されたWEBサーバ106が提供するWEBページへのアクセス、およびWEBサーバ106が提供するリクエストフォームを介したWEBサーバ106への情報送信を行う。リクエストフォームは、たとえばHTMLフォームなどである。また、WEBブラウザアプリケーション122は、コミュニケーションチャネル124を介してテンプレート編集アプリケーションプログラム121と通信し、WEBサーバ106から受信したデータの仲介や、WEBサーバ106へのデータ送信の仲介を行う。
レイアウトサーバ105は典型的なコンピュータである。レイアウトサーバ105は、コンテンツサーバ103から供給されたデータとファイルサーバ104のファイルシステムに保存されたドキュメントテンプレートとを、レイアウトエンジン126によって結合し、ドキュメントを生成する。すなわち、コンテンツデータを、テンプレートに従ってレイアウトすることができる。
レイアウトサーバ105には、後述の例えば図30,図31に示される手順を実行して、レイアウトエラーの通知に関するRSSデータを編集するRSSフィードエディタ131が備えられている。作成されたRSSデータはウエブサーバ106にアップロードされる。もちろんRSSフィードエディタ131はレイアウトサーバ105に、その一部として含まれていても良い。
WEBサーバ106は典型的なコンピュータであり、WEBクライアントであるWEBブラウザアプリケーション122、125に送付したリクエストフォームの返信を受信する。そしてリクエストフォームに記載されたユーザのリクエスト内容に応じて、コンテンツサーバ103に、要求されたコンテンツとテンプレートでのドキュメント生成を依頼し、依頼により生成されたドキュメントをレスポンスとしてクライアントに返す。
またウエブサーバ106には、RSSフィードエディタ131によりRSSデータが作成されている場合には、RSSデータ132がアップロードされて保存される。保存されたRSSデータは、RSSのクライアント(RSSリーダ)によりたとえば定期的にポーリングされて、それによりクライアントの持つエラーに関する情報が更新される。また、ウエブサーバは、RSSデータに埋め込まれたハイパーリンク情報に対するリクエストを受信して、必要な処理をコンテンツサーバ等に要求して実行させ、クライアントからのリクエストに応じたデータをクライアントに応答する。これは上述の通りである。
プリントサーバー108は直接ネットワークにつながっていないプリンタにネットワーク機能を提供するコンピュータである。プリントサーバー108とプリンタ109は典型的な通信チャネル129を介して接続される。
コンテンツサーバ103は典型的なコンピュータであり、アプリケーションサーバでもある。
<アプリケーション構成図>
(メインウインドウ)
図3で参照されるように、ユーザインターフェース128は、操作時にビデオディスプレイ144に表示されるアプリケーションウインドウ301によって形成されたユーザインターフェースを含んでいる。ウインドウ301は、メニューバー302とツールバー303、そしてワークエリア306とオプションのパレット311とカーソル/ポインタデバイス313から特徴付けされる。メニューバー302は、非表示にすることや、スクリーン上の色々な場所に移動することが可能である。ワークエリア306は、マウス203の位置・動作によって場所を移動可能である。
メニューバー302は、周知の技術として知られているように、メニューオプションの階層の下に拡張される多くのメニューアイテム304を持つ。
ツールバー303は、アプリケーションの特別なモードによって非表示にする、または表示することが可能な多くのツールボタンとウィジット305を持つ。
オプションのルーラー308はワークエリア内のポインタ、ページ、ライン、マージンガイド、コンテナまたはオブジェクトの位置を示すために使われる。
パレット311はバリアブルデータライブラリのような追加機能にアクセスするために使われる。パレット311は移動、リサイズ、クローズをするためのウインドウコントロール312を持つ。パレット311はオプションで、ワークエリアの前面に表示される、あるいはオブジェクトの背面に隠される。パレット311はアプリケーションウインドウ301の範囲内のみに表示されることを制限される、あるいはアプリケーションウインドウ301の外側に部分的・全体を表示することを許される。
ツールバーエリア303は少なくとも、次のユーザ選択可能な『ボタン』を持つ(図4を参照)。
(1)選択ツールボタン403:コンテナの辺を選択、移動、サイズ変更、リサイズそしてロック・ロック解除するために使われる。コンテナは、(複数)コンテナの周りに選択ボックスをドラッグする、あるいは複数コンテナを選択する間にCTRLキーを押しつづけることによって、複数選択を可能にする。
(2)イメージコンテナツールボタン405:スタティックあるいはバリアブルイメージを持つコンテナを作成するために使われる。
(3)テキストコンテナツールボタン404:スタティックあるいはバリアブルテキストを持つコンテナを作成するために使われる。
(4)リンクツールボタン406:コンテナ間の距離をコントロールするリンクを作成するために使われる。
これらのボタンは、周知の技術であるように操作状況に合わせて変化するアイコンのツールチップとして実装される。
(ドキュメントテンプレート)
ワークエリア306はドキュメントテンプレートのデザインを表示・編集するために使われる。これはユーザに下準備で印刷されたドキュメントの概観をデザインすること、そしてマージされたドキュメントが、バリアブルデータの量・サイズに基づいてどのように変化するかを理解することを可能にする。
もし外部データソースがテンプレートにリンクされていたら、現在のドキュメントのプレビューができるように、バリアブルテキストとイメージがそれらのコンテナに表示される。
ドキュメントの構造とバリアブルデータコンテナの描写をする視覚的な手がかりは、カーソルをコンテナ上に移動させたときや、コンテナを選択したときにいつも表示される。
ワークエリア306はスクロールバー307とオプションのルーラー308とドキュメントテンプレート309に特徴付けられる。ドキュメントテンプレート309はページが複数あることを示すことができる。
与えられたドキュメントテンプレートのページサイズは、周知の技術としてユーザによって指定される。それぞれのドキュメントでの実際のページ数は、バリアブルデータによって変化するかもしれない。もし1ページ内にフィットできなかった時、追加のページは自動的に作成される。
それぞれのページ内の境界線は、ページ上の印刷可能なオブジェクトの最大幅を示す、任意のページマージン310である。
また、図4は1ページのドキュメントテンプレート309上に表示することが可能なオブジェクトの例である。それらは、複数のコンテナ407、408と、任意に適用するアンカーアイコン409と固定されていない辺410、リンク412そしてスライダー413を持つ。
(コンテナ)
コンテナは、ドキュメントテンプレート内の固定(静的)あるいは可変(バリアブル)テキスト・イメージを持つスペースであり、他のコンテナやオブジェクトとレイアウトされる。コンテナはマウス203動作でポインタ313を使い、ユーザインターフェースで示されるように移動、サイズ調整そして再作成される。
より正確にはコンテナは、設定の集まり、視覚的表現そしてインタラクションと編集動作をもっている。下記はコンテナの定義の全部分である。
(1)コンテナは固定あるいは可変のコンテンツを持つ。可変コンテンツは、データソースからとってきて、異なるドキュメントでは異なるかもしれない、という意味でダイナミック(動的)である。可変コンテンツは印刷されないような時間によって変更されたり、アニメーションするコンテンツを含むことは意図していない。同様に、固定コンテンツはコンテナを使って生成される全てのドキュメントで、同じように表示される。けれども、可変コンテナ(動的オブジェクト)の動作によって、固定コンテンツはそれぞれのドキュメントで位置が異なるかもしれない。
(2)コンテナは、コンテンツに適用される背景色、ボーダー、フォント・スタイルのようなテキスト設定のような装飾機能を持っている。
(3)コンテナはドキュメントを生成したときにデータソースからのデータとマージされる。装飾機能は、どんな固定コンテンツでもそうであるように、典型的に印刷された出力物で可視である。可変コンテンツはデータソースから特定のデータの表示をもたらす。コンテナのこの表現は例えば印刷されるか、スクリーン144上で表示されるか、その両方が可能である。
(4)コンテナはユーザインターフェースを持つ、例えばコンテナの編集そして表示設定のためのインタラクティブなGUIを持つ。インターフェースの要素は典型的にスクリーン144上に表示される、しかしドキュメントには印刷されない。ユーザインターフェース128は、背景色やフォントのようなコンテナの装飾機能のいくつかを表示する、そしてコンテナの設定の編集や表示を許すための機能を追加する。ユーザインターフェース機能の特別な目的の例としては、ボーダー、あるいは、コンテナのサイズや位置を対話的に変更、表示するための角アイコンがある。あるいはコンテナがデータソースからデータをマージされたとき、コンテナの動作を示すための上塗りした数、線、アイコン、テキストがある。このように本実施形態のレイアウト編集のユーザインターフェースは、直接編集技術とコンテナのGUIコンポーネントに伴う表示方法の集まりである。
(コンテナ制約)
公知の技術によると、コンテナはそれぞれのドキュメントで表示されるコンテンツを、どのように結びつけるか制御する制約がある。これらの制約(固定・可変コンテンツをコンテナと結びつけると共に)は、ユーザが一つのドキュメントテンプレートから、多数のドキュメントの生成を制御する主要な方法である。制約の例は『このコンテナのコンテンツの高さは、最大値4インチです。』である。もうひとつの制約は『コンテナのコンテンツの左端は、それぞれのドキュメントで同じ水平位置で表示しなければならない。』である。ここに記述される内容は、GUIを使ってこのような制約を表示、編集するためのいろいろな方法である。
イメージがページ上に定義された場所を持っているように、固定コンテンツの配置を指定するコンテンツプレイスホルダーは、デジタル印刷技術でよく知られている。下記の検討で、コンテナは位置とサイズを持ち、それらは公知の技術で知られている手法で編集され、表示される。また、この検討では、バリアブルデータ印刷に特化した方法での表示・編集に焦点を合わせて説明する。
コンテナは、ユーザにドキュメントのコンテンツのサイズ・位置を指定することを可能にする。いくつかのドキュメントは一つのドキュメントテンプレートから生成されるので、コンテナは多数の可能性と制約を指定・表示するためにユーザインターフェースを使わなければならない。
1つのコンテナの辺は、関連付けられたコンテンツがドキュメント内で表示される仮想の境界線を定義する。このように、この特許でコンテナの左辺を論じることは、関連付けられたコンテンツがどんなドキュメント内でも表示可能である最も左の辺を論じることと同じである。同様に、コンテナの高さを論じることは生成されたドキュメントで関連付けられたコンテンツの高さの制約を論じることとして理解される。この特許明細書では、ユーザインターフェース128を参照してコンテナの辺あるいは大きさを論じるところで、この区別は明らかにされるであろう。
下記の検討では、コンテンツの表示を制限するために使われるいくつかの値を定義している用語『固定』は、全てのドキュメントで同じである。
(1)もしコンテナの幅が固定なら、そのコンテナに関連付けられたコンテンツに割り当てられる幅は、全てのドキュメントで同じになるだろう。
(2)もしコンテナの高さが固定なら、関連付けられたコンテンツに割り当てられる高さは、全てのドキュメントで同じになるだろう。
(3)もし距離の制約が固定なら、指定された距離は全てのドキュメントのための制約である。
(4)もしコンテナの左右辺が固定なら、左右辺の水平位置が、全てのドキュメントで同じであることを意味している、しかしコンテナの高さあるいは垂直方向の位置は、変わるかもしれない。例えば、もしコンテナの左辺が固定なら、そのコンテナに関連付けられたコンテンツは、あるドキュメントでページの上に近く表示され、他のドキュメントでページの下に近く表示されることがある。しかし左辺は全てのケースで同じ水平位置である。
(5)もしコンテナの上下辺が固定なら、辺の垂直位置がページに関して全てのドキュメントで同じであることを意味している、しかしコンテナの幅あるいは水平位置は変わるかもしれない。
(6)コンテナの垂直軸はコンテナの右と左辺の平行で、そして中間に位置される想像上の垂直線である。もしコンテナの垂直軸が固定なら、コンテナの左右辺の水平位置の平均は、すべてのドキュメントで同じである。この制約で、コンテナの幅は変化するかもしれない。左右辺両方が異なったドキュメントで、垂直軸にもっとも遠いかもっとも近いかもしれない。しかし軸は全てのドキュメントで同じ水平位置にある。コンテナの高さと水平位置はこの制約によって影響されない。
(7)同様に、もし水平軸が固定なら、コンテナの上そして下辺が垂直に位置されることを制約する、けれども高さは、この制約によって影響されない。
(8)もし水平、垂直軸両方が固定なら、コンテナの中心位置が固定されていることを意味する、しかし、幅・高さはこの制約によって影響されない。
(9)もしコンテナの角、コンテナの辺の中間位置、あるいはコンテナの中心位置が固定なら、すべてのドキュメントで同じ場所で、そしてコンテナに関連付けられた同じ場所で表示される。例えば、もしコンテナの左上角が固定なら、配置されたコンテナの左上位置が全てのドキュメントで同じになることを意味している。
(10)垂直辺あるいは軸はページの左辺、あるいは右辺、あるいは左ページマージン、あるいは右ページマージン、あるいは他の水平位置に関連付けされて固定になる。同様に、水平辺あるいは軸はページの上あるいは下辺あるいはマージン、あるいは他の垂直位置に関連付けされて固定になる。
『固定』の反対は、辺、軸、角、中間位置、あるいはドキュメント制約がドキュメント間で変化するかもしれないことを意味している『可変』である。しかしドキュメントの特定な設定でそうする必要が無い場合もある。例えば、変更による辺の実際の好ましい位置のような他の外部制約がある。しかし、もし外部制約が適用されないなら、辺は固定されてないものとしてラベル付けされているので辺の位置は変更できる。
(コンテナ表示・編集)
[新規コンテナの作成方法]
コンテナは、テキストコンテナとイメージコンテナの2種類で記述される。テキストコンテナはテキスト、そして埋め込みのイメージを持つ。イメージコンテナは、イメージだけを持つ。
新規テキストコンテナとイメージコンテナは、テキストコンテナツール404、あるいはイメージコンテナツール405をマウス203でクリックし、テンプレート309に四角形をドラッグすることによって、ドキュメントテンプレート309上に作成される。
代わりにコンテナは、適切なツール404、405をアクティブにした後に、ドキュメントテンプレート309上でクリックすることによって簡単に作成される。デフォルトサイズのコンテナが挿入されるか、新規コンテナの寸法を入れるために、ダイアログボックスあるいは他のプロンプトが提供される。いくつかのコンテナは自動的に前もって定義されたか、計算されたスキーマによって、作成・配置される。また他の案が考えられるかも知れない。
[コンテナの表示方法]
図5A−5Dはコンテナの模範的な辺ルールを例示している。アプリケーション121は、コンテナの辺の状態をこれら図に示された標示オブジェクトを用いて表現する。すなわち、アプリケーション121は、塗りつぶし線503あるいは点線504で辺を描き、アンカー、ハンドル、スライダー(、拡縮アイコン505、そして色でコンテナを表示する。アンカーとは、辺の近くに描画された符号506、507、509によって示されるような線、形状、あるいはアイコンである。ハンドルとは、移動、修正するために辺、形の近くに描画されたコントロール点502である。スライダーとは、辺の両サイドに描画された短い並行線413である。
図5A−5Dのコンテナ表示方法のルールは、つぎの通りである。
(1)それぞれの辺を固定するために、塗りつぶし線で描画する。
(2)もし幅が固定なら、左と右の辺を塗りつぶし線で描画する。
(3)もし高さが固定なら、上と下の辺を塗りつぶし線で描画する。
(4)軸は描画しない。
(5)まだ描画されていない全ての辺は、それぞれの辺の近くに拡縮アイコンが描画され、点線になる。
(6)垂直辺あるいは軸のそれぞれのペアで、もし両者が固定なら、交差点にアンカーが描画される。
(7)それぞれの固定辺で、もし辺のどこにもアンカーが描画されていなければ、エッジの中央にスライダーが描画される。
(8)垂直辺あるいは軸のそれぞれのペアで、もしアンカーやスライダーが描画されていなければ、交差点にハンドルが描画される。
ルール(1)、(2)、(3)に従う線は、もしそれらが固定あるいは制限
されているなら、塗りつぶし線で描画される。ルール5に従う可変の辺は、点線で描画される。ルール6、7、8に従う固定された点は、アンカーを表示し、いくつかの固定された辺はスライダーを表示し、他はハンドルを表示する。
上記で、辺はただ一度描画されることが必要である。それでもし、ルールが描画されるべき辺に影響すれば、そのとき後のルールはふたたび描画されるべき辺に影響しないだろう。表示上の都合によっては、例えばもしコンテナがとても小さくアイコンがお互い重なるか、あるいは他の表示機能を不明瞭にするならば、アイコンは異なって、あるいは省略されて描画されてもよい。
可変の辺が描画される場所は、コンテナのコンテンツに依存する。後で記述されるように、ドキュメントテンプレートにコンテンツがマージされて、ユーザインターフェースで可視になることを意味する、『動的な校正処理』が使われる。代わりの実行手段としては、すべてのドキュメントで平均化されるコンテナのコンテンツエリア、あるいは可変の辺がユーザインターフェースで、どこにレイアウトされるべきか決定するほかの手段で使われることができる。
これらのコンテンツ表現は、コンテナの辺の状態を表示するグラフィカルな手段を提供する。その表現の解釈は下記のとおりである。
(1)図4の辺410のように、点線はコンテナのコンテンツに依存して、ドキュメント内の辺の位置を意味する。
(2)塗りつぶし線は制限された辺を意味する、なぜなら、辺は固定されている(辺414)、あるいはコンテナの幅・高さが固定されている(コンテナ408では両方が固定されている)ため。
(3)アンカーは辺そして軸が交差した場所が固定されていることを意味する。それゆえ、アンカー点は、すべてのドキュメントの水平、垂直位置で現れるだろう。当然アンカーは固定される。図4のアイコン409は、交差する辺414が固定されていることを意図している、アンカーアイコンの例である。
(4)スライダーは関係付けられた辺が固定されていることを意味する、しかしコンテナは辺に沿って多くの位置『スライドの長さ』で位置を定められる。例えば、図4で、スライダー413はコンテナ408のコンテンツが、ドキュメント内で特定のダイアグラムで表される位置の、左あるいは右に表示される場合もありえる。
これらのアイコン・辺のいくつかあるいは全ては、どのツール、どのコンテナを選択・ハイライトあるいはアクティブにするかによって、描画されたりされなかったりする。一般的に、コンテナの辺・アイコンはドキュメントテンプレートのデザインの手助けであるため、印刷物には描画されない。
幅・高さの最小値・最大値の設定は、副次的なダイアログウインドウに表示される。
図5Aで、コンテナ501は幅・高さ両方が固定されていない。固定された辺503は塗りつぶし線で表現される。可変の辺504は点線で表現される。拡縮アイコン505は、隣接する辺504が可変であることを示す、追加あるいは代わりのインジケーターである。
図5Bで、コンテナ501は幅・高さ両方が可変である。アンカーアイコン506は、交差している両方の辺503が固定されていることを、追加であるいは代わりに示している。
図5Cで、コンテナ501は、コンテナの拡大あるいは縮小が任意のアンカーアイコン507で示されるような中心点の周りを平等に広がるという状態で、幅・高さ両方が可変である。
図5Dで、コンテナ501は、上辺508が固定されていることを除けば、幅・高さ両方が可変である。上辺508の中心に位置付けられて示されるアンカーアイコン509は、固定されている、そしてまたコンテナの左・右辺が、アイコンを通り垂直に描画される中心軸(垂直軸)の周りを、拡大・縮小することを示す。
(リンク)
リンクは、コンテナとコンテナの関連を示している。関連とはコンテナ間の距離を示しており、リンクによって関連付けられたコンテナ同士は、互いのレイアウト変更の影響を受けてレイアウトを計算する。図4の412で示されているものがリンクであり、この図ではコンテナ407と408とを関連付けている。リンクの設定方法および、リンクで関連付けられたコンテナの動的レイアウト計算方法については、後述する。
(リンクの設定方法)
図6はリンクの設定方法を示したフロー図である。また図7はUI例を示している。それらを用いてコンテナにリンクを設定する方法について説明をする。
まず、リンクを設定するためには、リンクを設定するためのコンテナ(最低2つ)を作成する(0601)。図7は、2つのコンテナを作成してリンクを設定する場合の例を示している。次に、前述したリンクツール406を選択した状態にする(0602)。図7(A)−(C)は、コンテナを作成し、リンクツールが選択されていた状態から、リンクを設定する動作を示している。図7(A)−(C)を順に説明していく。
図7(A)のコンテナ0701と0702は、前述した図4のコンテナ407と408と同じであり、固定されている辺を意味する。また、オブジェクト0703と0704は、オブジェクト409と同じであり、アンカーを意味する。オブジェクト0705はマウスポインタを意味している。まず、リンクを設定する片方のコンテナをクリックして選択する(0603)。次に図7(B)で示されるように、もう片方のコンテナまでマウスポインタを移動して、クリックする(0604)。図7(B)の線0706は図7(A)でクリックをした位置と移動したマウスポインタを結んだ線を示しており、どの位置にリンクが設定されるのかをユーザに示すUIである。処理0604が終わった後、設定した場所に0707で示されるリンクUIが表示される(0605)。コンテナは図7(C)の状態になる。また、リンクが設定されたことにより、コンテナのUIも自動的に変更される(0606)。0708は、点線で示されている辺であり、前述した通り可変の辺を示している。図7(C)のようにコンテナの辺の状態が変化したのは、リンクを設定したことにより、コンテナの辺を可変にする必要があるためである。この処理は、リンクを設定したにもかかわらず、全ての辺が固定という矛盾を引き起こすことを防ぐために、自動的に行われる。また、オブジェクト0709は、図5のオブジェクト505と同じで、リンクを設定したことにより、コンテナが変化できる方向をユーザに視覚的に示したしるしである。図7(C)の例では、左のコンテナの右辺と右のコンテナの左辺が可変に変化したが、これは一例であり、右コンテナが、図4の413で示したスライダーを持つ設定に変化してもかまわない。

<動的レイアウト計算方法(全体フロー)>
図8は動的レイアウト計算のフローを示している。まず、プレビューモードを選択する(0801)。前述した自動レイアウトシステムでは、その動作モードには、レイアウトモードとプレビューモードとがある。レイアウトモードでは、コンテナを作成して、そのコンテナ間の関連付けを行ってテンプレートデータを作成する。プレビューモードでは、作成したテンプレートにレコードを挿入して、実際にレコードが挿入された後のレイアウト結果をプレビューする。このプレビューモードにおいて、実際のレコードが挿入され、レイアウトが計算される。ただし、プレビューモードは、表示上でのレイアウト計算である。実際に印刷する場合においても、レコードを挿入してレイアウトを計算する。その際の計算方法も同じである。プレビューモードになったら、プレビューするレコードを選択して挿入する(0802)。レコードの挿入を行うと、そのレコードをレイアウトするために計算を行う。(0803)。処理0803で計算されたレイアウトを表示する(0804)。他のレコードについてもプレビューを行うかどうかを判断する(0805)。処理0805で、他のレコードについてプレビューを行う必要がないと判断した場合は、プレビューモードを終了する(0807)。他のレコードについてプレビューを行うのであれば、他のレコードを選択して再度レイアウト計算を行い、プレビューを行う(0806)。プレビューモードでなく印刷時においては、印刷するレコード全てについて順にレイアウトの計算を行う。したがって、処理0805、0807は存在しない。全てのレコードについて印刷が終了した時点で終了する。
<動的レイアウト計算方法(詳細フロー)>
図9は動的レイアウト計算の詳細を示したフロー図である。また、図10はそのときのUI表示例を示した図である。
まず、レイアウトを計算するコンテナの集合を求める(0901)。レイアウト計算は、関連付けられたコンテナを一つの集合として計算を行う。例えば図11を参照すると、ページ上に4つのコンテナがレイアウトされており、各コンテナに関連付けが設定されている。この場合、コンテナAとコンテナB、そしてコンテナCとコンテナDがリンクによって関連付けされている。したがって、コンテナA・Bが集合1、コンテナC・Dが集合2となる。図11において、符号1101はアンカー、符号1102は固定された辺、符号1103はコントローラ、符号1104は可変の辺の変化方向を示している矢印、符号1105は可変の辺、符号1106はリンク、符号1107はスライダを示している。
次に、ステップ0901で求めたコンテナの集合から、レイアウトを計算するために一つを選択する(0902)。そして、選択したコンテナの集合について、レイアウトの計算を行う。ここでは、レイアウトされるコンテナのサイズが、実際のコンテンツのサイズとできる限り差が少なくなるように、レイアウトの最適化を行う(0903)。レイアウトの最適化は、動的にサイズを変化することが可能なように関連付けられたコンテナにおいて、それぞれに挿入されるコンテンツのサイズとレイアウトされるサイズとの差が、できる限り同じになるように行われる。レイアウトの最適化を行い、ルールに違反していた場合は、再度ルールを違反しないように計算をする(0904)。ここで記述したルールとは、レイアウト作成時にユーザによって設定される制限であり、コンテナのサイズと位置、リンクの長さなどである。ルールを違反しないようにレイアウトが計算されたら、その集合のレイアウトは完成される。そして、ステップ0902〜ステップ0904をページ上のすべての集合について施し、ページ全体のレイアウトを計算する(0905)。
ステップ0904において、解消できないレイアウトエラーが生じた場合には、本実施形態におけるRSSフィードを用いたエラー配信が実行される。たとえばレイアウト計算を2度行ってもエラーが解消できない場合には、解消不能なエラーが発生したものと判断される。この手順や説明は、図19等を参照して後で説明する。
図10はレイアウト計算時のUI例である。図10(A)は、定義済みのテンプレートにあるレコードが挿入されレイアウトが決定されている状態を表している。オブジェクト1001とオブジェクト1002はアンカーである。オブジェクト1003とオブジェクト1004は固定された辺である。オブジェクト1005は可変の辺、オブジェクト1006は可変の辺の変化方向を示している矢印、オブジェクト1008はリンクをそれぞれ示している。この状態において、テンプレートに挿入されるコンテンツデータのレコードを変更し、異なったサイズのコンテンツデータをコンテナに挿入する。図10(B)は図10(A)の状態に新しいコンテンツのサイズを重ねて示している。2点鎖線1009はそれぞれのコンテナに挿入される、新たなレコードのコンテンツのサイズを表している。そして、レイアウト計算が行われる。図10(C)はレイアウト計算された結果を示している。計算後の各コンテナのサイズは、実際挿入されるコンテンツのサイズと同等に差異があるように計算され、且つ前述したルールを違反しないように計算される。図10(C)で示されるように、図10(B)で示した挿入されるコンテンツサイズ(1009)と計算後のコンテンツサイズ(1010)は、双方において同等な差異がある。
<可変リンクの設定>
図12では一般的な可変リンクの状態を表している。図4と同様にアプリケーションウィンドウ301とツールバー303があり、ドキュメントテンプレート309上にコンテナ1203とコンテナ1204が存在する。それぞれのコンテナは典型的にアンカーアイコン1201、アンカーアイコン1202と固定された辺1205、辺1206から成り立つ。各エッジコンテナ1203と1204の間には可変サイズのリンク1209があり、それぞれのコンテナを結んでいる。コンテナ1203とコンテナ1204の間にはリンクが設定されているのでそれぞれの右辺1207と左辺1208は点線で表現されている。このため各コンテナにインジケーター1210、インジケーター1211が表示され、これは辺1207と辺1208が可変であることを示している。
また図14はリンク1209の情報がセットされているダイアログウィンドウ1401の例である。このダイアログは典型的にタイトルバー1402、ツールボタン1403、ダイアログウィンドウの開閉を行うボタン1404、各種の情報をセットするエリア1409で構成されている。このダイアログウィンドウではリンクタイプが可変(1407)あるいは固定(1406)の選択や、可変の場合、リンクの長さの最大値(1410)そして最小値(1412)、また現在の値(1411)が設定できる。
図13は前述のリンク設定方法を踏まえ、例えば図15のコンテナAとコンテナB間に張られている固定サイズのリンク1503の状態から可変サイズのリンク1209を示している図12の状態までの操作遷移を表している。マウスによりリンク1503をクリックし、選択する(1302)。マウスの右クリックあるいはキーボードの特定のキーにより選択したリンク1503のプロパティダイアログウィンドウ1401を表示する(1303)。この状態ではリンクサイズは可変ではなく固定であるため、Fixed Length1406がLink Type1405において選択されている。リンクを固定サイズから可変サイズに変更するために、Link Type1405においてリンクサイズを可変に設定するFlexible Length1407を選択する(1304)。これによりLink Distance1408内に配置されているMax. Distance1412、Min. Distance1410、Distance1411が有効化され、数値の設定が可能となる。そこでリンクの可変サイズを設定するために、そのリンクの長さの最大値をMax. Distance1412、最小値をMin. Distance1410、現在の値をDistance1411において設定する(1305)。一般的なダイアログウィンドウ開閉ボタン1404によって設定を適用すると図12のリンク1209のような状態にリンクのUI表示が変化する(1306)。このダイアログウィンドウ1401の設定情報はメモリに格納される。
図15は固定サイズのリンクを使用した場合のレイアウト結果を示している。レイアウト計算方法は前述したとおりに従って行われる。例えば図12においてコンテナ1203とコンテナ1204にそれぞれ違ったサイズのデータが挿入された時、それぞれのコンテナはデータの大きさに適した大きさに変化する。たとえば、コンテナ1203は挿入されたイメージサイズの枠1504(最適コンテナサイズ)に近づこうと右方向へ大きくなすように変化する。同様に、コンテナ1204も挿入されたイメージサイズの枠1505(最適コンテナサイズ)に近づこうと左方向へやや大きくサイズを変更しようとする。ここでコンテナ1203とコンテナ1204との間には固定サイズのリンクが設定されているとする。コンテナ1203とコンテナ1204はそれぞれアンカー1201とアンカー1202によってそれぞれ左辺1212と右辺1213は移動出来ない。そのため、コンテナの大きさをイメージに合わせようとすると、変更後のコンテナサイズは、リンク長の制約を満足することができない。リンクサイズは固定されているためレイアウト計算時に優先的に計算される。そのためコンテナ1203とコンテナ1204のサイズがリンク長に合わせて変更されることになる。その結果、コンテナ1203とコンテナ1204はデータに合わせた最適なサイズを確保することが出来ず、最終的に図15のコンテナ1501とコンテナ1502のように最適なサイズ(枠1504、枠1505)よりも小さくなってしまう。リンク1503のサイズは固定であるためコンテナ1501とコンテナ1502は最適サイズを達成していない。
図16はリンクを可変サイズにした場合を示している。この場合、上記の例でコンテナ1203とコンテナ1204の間には図16の通り可変サイズのリンクが設定されているとする。コンテナ1203とコンテナ1204のサイズが変更される際に、リンクサイズが縮まることでコンテナ1203とコンテナ1204のサイズが上記の例より大きくなることができる。このため、挿入されるデータサイズに合わせた最適なコンテナサイズを達成できる。あるいは、より挿入データサイズ(最適サイズ)に近づけてコンテナの枠を計算することが出来る。その結果が、図16のコンテナ1601とコンテナ1602である。可変リンク1209はレイアウト計算の結果、可変リンク1603のサイズ状態となり、この場合コンテナ1601とコンテナ1602はそれぞれ最適なサイズ(データサイズに合った大きさ)になっている。
後述の通り、本実施形態では、図15のようにエラー(図15の例ではイメージオーバーフローエラー)が生じた場合に、そのエラーの発生と共にテンプレートデータとコンテンツデータとへのリンク情報を利用者(あるいは管理者)に配信する。それを見た利用者は、テンプレートを編集し、たとえば図16のようにコンテナ間のリンクを可変に変更することで、エラーが生じないテンプレートを作成できる。
<コンテナのプロパティ設定>
図17はコンテナのプロパティを設定するダイアログである。プロパティダイアログウィンドウは典型的にキーボード132やマウス203によりコンテナを選択し、マウスの右クリックメニューの選択、あるいはキーボードからのAltキー等により表示する。この実施形態ではコンテナのエッジを可変にするかどうか、そしてどのレイアウト方法を適用するか、またはそれに伴う設定に関してのみ、プロパティダイアログウィンドウ内に表示している。このプロパティダイアログウィンドウ1701は典型的にタイトルバー1702、ツールボタン1703、プロパティダイアログウィンドウのオープン、クローズを行うボタン1704、各種の情報をセットするエリア1751で構成されている。このプロパティダイアログウィンドウ1701には、Edge Statusグループボックス1711内に、コンテナのエッジ状態を可変し、コンテナ自体を可変設定にする選択オプション1712〜1715がある。この選択オプションをONにするとContainer Sizeグループボックス1721内がEnableされる。この例の場合、Edge Statusグループボックス1711においてRight(右辺)1714のみFlexible(可変)にチェックが入っているため、このコンテナは横方向(実際は右方向)にしかサイズを変化させることが出来ない。そのため、Container Size1721において、幅サイズの項目1724と1726がEnableとなり、高さサイズの項目1728と1730はDisableのままとなっている。図形1722はコンテナの幅サイズの指定、図形1723はコンテナの高さサイズの指定を視覚的に補助するビットマップである。ボックス1724(Min. Size)にはコンテナの幅の最小値が設定される。現在ここには値80が設定されている。ボックス1726(Max. Size)にはコンテナの幅の最大値が設定される。現在ここには値120が設定されている。同様に1728はコンテナの高さの最小値、1729はコンテナの基本幅、1730はコンテナの高さの最大値が設定されることがある。リストボックス1727とリストボックス1731ではコンテナサイズの単位が設定される。ここでは例としてmmが表示されているが、inchやpixel等も考えられる。
図18は上記のコンテナのプロパティ設定における操作によるテンプレート編集アプリケーションプログラム121の動作を示したフローチャートである。まずコンテナが選択され(1802)、コンテナのプロパティを表示する(1803)。コンテナエッジを可変に設定されているかどうかを各辺の項目に対して判断し(1804)、可変に設定されている場合には、コンテナサイズの最大値・最小値のボックスをEnableにする(1805)。また同時にレイアウト方法の選択項目もEnableにする(1806)。そしてOKボタンなどによりコンテナのプロパティを閉じ、設定をコンテナに適用する(1807)。
<テンプレートに含まれる情報の例>
以上のように、テンプレートデータ(あるいはレイアウトデータ)には、以下のような情報が含まれる。
(1)コンテナの属性情報
コンテナの属性情報には、コンテナの位置、コンテナのサイズ、コンテナの辺あるいは頂点について、その位置が可変であるか固定であるかの別(辺の属性ともいう)、流しこまれるオブジェクトの種類(文字・画像等)やオブジェクトの属性(文字サイズ等)などを示す情報が含まれる。
(2)コンテナ間の情報
コンテナ間の情報には、リンクで示されるコンテナ間の距離や、その距離が固定か可変かの別を示す情報、あるいはコンテナ相互の位置関係を示す情報などが含まれる。
(3)固定された情報
固定された情報には、テンプレートに固定された文字列や画像などの情報が含まれる。
以上のように、テンプレートには、コンテナの属性情報と、コンテナ間の情報と、固定された情報とが含まれている。利用者は、前述したレイアウトエディタのグラフィカルユーザインターフェースを通して、それらの情報を編集することができる。
<テンプレート編集アプリケーションでのレイアウトチェック機能>
図19はテンプレート編集アプリケーションプログラム121のレイアウトチェック機能の動作を示したフローチャートである。図20は、テンプレート編集アプリケーションプログラム121におけるメニューバー2001を示している。メニューリストには複数の項目があり、その中に"バリアブルデータ/レイアウトのチェック(C)..."というメニュー項目2002が用意されている。このメニュー項目は、データのプレビュー時にのみ有効である。すなわち、テンプレート編集アプリケーションプログラム121が、テンプレートにバリアブルデータを流し込み、レイアウトエンジン127によりレイアウトが行われた状態で選択可能となる。図19の手順は、そのバリアブルデータ/レイアウトのチェック項目2002が選択された際に実行される。
テンプレート編集者が、図20に示したようなマウスポインタ2003を用いて、テンプレート編集アプリケーションプログラム121のメニューバー2001から、メニュー項目"バリアブルデータ/レイアウトのチェック(C)..."2002を選択し、テンプレート編集アプリケーションプログラム121にレイアウトエラーのチェックを指示すると図19の処理が開始される。
図19において、まず、プレビューモードであるか判定され(S1901)、次いでレイアウトのチェックであるかが判定される(S1902)。もっとも項目2002はプレビューモードの時に限って表示されるから、これらのステップは省略することができる。
テンプレート編集アプリケーションプログラム121は、図21に示すような「バリアブルデータ/レイアウトのチェック」ダイアログ2101を表示する(S1903)。「バリアブルデータ/レイアウトのチェック」ダイアログ2101において、ユーザは[開始]ボタン2102を押下することができる。テンプレート編集アプリケーションプログラム121は、チェックの「開始」ボタン2102が指示されたか判定する(S1904)。開始が指示された場合には、テンプレート編集アプリケーションプログラム121は、レイアウトエンジン127を用いて、プリフライト検査を行いながら、再レイアウトを行う(S1905)。再レイアウト終了後(S1906)、プリフライト検査の結果を、図22のように、「バリアブルデータ/レイアウトのチェック」ダイアログ2201に表示する(S1907)。その表示によりレイアウトのエラーをユーザに示す。図22の[該当数]リストボックス2203には、チェック項目それぞれに該当するエラー数を一覧表示する。1列目には該当するレコード番号を表示し、2列目以降に、それぞれのチェック項目でのエラー数を表示する。なお、図19の手順で用いられるコンテンツデータは、ユーザにより別途指定されたデータファイルから読み込まれる。読み込まれたデータがテンプレートに従ってレイアウトされる。なおバリアブルデータとは、テンプレートに従ってレイアウトされるコンテンツデータのことであり、一つのテンプレートに適用されるバリアブルデータは1つのレコードを構成する。
さて表示されたチェック項目には、テキストオーバーフロー、イメージオーバーフロー、コンテナ、一般的なエラー等がある。テキストオーバーフローのチェックとは、テキストがコンテナ内に収まらないときに発生するテキストオーバーフローのチェックである。イメージオーバーフローのチェックとは、イメージがコンテナに入りきらないときに発生するイメージオーバーフローのチェックである。コンテナのチェックとは、データベースに値が存在しなかったため、値の入らない空のオブジェクトが存在するかどうかのチェックである。一般的なエラーのチェックとは、そのほかの一般的なエラーのチェックである。
図22の[エラー/警告]リストボックス2204には、[該当数]リストボックス2203にて選択されたレコードのエラー/警告詳細が一覧表示される。[エラー/警告]リストボックス2204の1列目にはエラーか警告かを表示するエラー/警告アイコンが、2列目にはエラーが発生したページ番号が、3列目にはエラー/警告の内容説明が表示される。
テンプレート編集アプリケーションプログラム121のユーザは、このレイアウトチェック機能の結果を用いながら、レイアウトエラーが発生しないテンプレート、もしくは、想定しないレイアウトを生成しないテンプレートの編集作業を行う。
<サーバでのレイアウトチェック実行>
(コンテンツサーバにおけるレイアウトチェック処理)
図23はコンテンツサーバ103でのレイアウトチェック実行時の動作を示したフローチャートである。
図23において、コンテンツサーバ103は、WEBサーバ106から仲介された一般ユーザが利用するWEBブラウザアプリケーション125からのリクエストを受信できる。そのリクエストを受信すると(S2301)、レイアウトサーバ105に、テンプレート指定、バリアブルデータ指定および実データ送信、ドキュメントフォーマット指定とともに、ドキュメント生成をリクエストする(S2302)。
その際、コンテンツサーバ103の設定ファイルにプリフライト結果の取得設定がなされている場合(S2303)、コンテンツサーバ103は、レイアウトサーバ105に、レイアウト時にプリフライトを実行するよう追加リクエストする(S2304)。プリフライト結果の取得設定がされた設定ファイルとは具体的には以下のような内容を含む。
<?xml version="1.0" encoding="Shift_JIS" ?>
<layout-server>
<request>
<layout>
<option>
<proofing>1</proofing> <!-- if 1, request the preflight -->
</option>
</layout>
</request>
</layout-server>。
リクエスト後、コンテンツサーバ103は、レイアウトサーバ105からのレスポンスを待つ(S2305)。リクエストに対するレスポンスがレイアウトサーバ105から返ってきた際、コンテンツサーバ103は、レスポンスとして、生成ドキュメントを受け取る(S2306)。更に、レイアウト時のプリフライト実行リクエストがされている場合には(S2307)、プリフライト結果を受け取る(S2308)。
コンテンツサーバ103は、受け取ったプリフライト結果をチェックする(S2309)。
レイアウトエラーが発生している場合には(S2310)、そのレイアウトエラーを、リクエストを行った際のテンプレート指定値、バリアブルデータ指定値とともに、コンテンツサーバ103の記憶装置209に、レイアウトエラー履歴として保存する(S2311)。
最後に、レスポンスとして受け取った生成ドキュメントを、リクエストを行ったWEBブラウザアプリケーション125に返すために、WEBサーバ106に送信し(S2312)、処理を終了する。
(レイアウトサーバにおけるレイアウトチェック処理)
図24はレイアウトサーバ105でのレイアウトチェック実行時の動作を示したフローチャートである。図24において、レイアウトサーバ105は、コンテンツサーバ103などからレイアウト時にプリフライトを実行するよう追加リクエストを受けることができる。追加リクエストを受けた場合(S2401)、レイアウトサーバ105は、図8および図9に示したようなレイアウト計算を実行し、ドキュメントのページを生成する(S2402)。その際、プリフライトをページごとに行い(S2403)、コンテンツの溢れなどレイアウト上のエラーをページ毎にチェックする。
レイアウトサーバ105は、レイアウトエラーを上記チェックで発見したか判定し(S2404)、発見した場合、そのエラーをページ単位で以下のようなデータ形式で保持する(S2405)。
Pre-Print: 0x13127,
Print-Page#1: 0x13020,0x13022,0x13060,
Print-Page#2:,
Print-Page#3:,
Print-Page#4: 0x13020,0x13021,0x13022,0x13060,0x13121,0x13123,
Post-Print: 0x13128,0x13129。
上記データ形式における各識別子(レイアウトチェックステップ識別子という)は、エラーが検出された処理ステップを示す。その意味は以下の通りである。
Pre-Print:印刷前チェック、
Print-Page#n (n:ページ番号):ページ印刷後チェック、
Post-Print:印刷完了後チェック。
また、各識別子に対応するエラー番号の意味は図27に示す通りである。ここで、すべてのエラーコードが、レイアウトの編集を必要とするエラーとは限らない。図27に示すエラーの内、「0x13020」がテキストオーバーフローに、「0x13021」がイメージオーバーフローに相当する。また「0x13060」がコンテナエラーに相当する。
レイアウトサーバ105は、ドキュメント生成が終了した際(S2406)、発見したレイアウトエラーの情報を、追加リクエストの送信元であるコンテンツサーバ103などクライアントに返し(S2407)、処理を終了する。
<サーバでのレイアウトエラー履歴保存>
図25はコンテンツサーバ103でのレイアウトエラーの履歴保存時の動作を示したフローチャートである。図23で示したコンテンツサーバ103でのレイアウトチェック実行時の動作、および、図24で示したレイアウトサーバ105でのレイアウトチェック実行時の動作により、コンテンツサーバ103はレイアウトサーバ105からレイアウトエラーの情報を受け取る。この情報を検査して、リクエストを行ったドキュメントの生成時にレイアウトエラーが発生したか判定する(S2501)。レイアウトエラーが発生している場合、コンテンツサーバ103のデータベース119のレイアウトエラー履歴保存用テーブルに新たなレコードを作成する(S2502)。そのレコードに、発生したレイアウトエラーの情報、利用したテンプレートの識別子、およびコンテンツデータのレコード識別子を格納する(S2503)。
次に、コンテンツサーバ103は、レイアウトエラー履歴保存用テーブルに保存したデータ(レコード)から、図28に示すような、"Template ID"フィールド2602のテンプレート識別子の情報を見出しにするタイプ(便宜的に「タイプ1」と呼ぶ)のRSSデータを構築する(S2504)。更に、図29に示すような、"Date and Time" フィールド2605のレイアウトエラー発生時間の情報を見出しにするタイプ(便宜的に「タイプ2」と呼ぶ)のRSSデータを構築する(S2505)。次に、コンテンツサーバ103は、生成した上記タイプ1、タイプ2の二つのRSSデータを、WEBサーバ106にアップロードし(S2506)、WEBブラウザアプリケーション122からアクセス可能なようにする。その後、レイアウトエラーの履歴保存の処理を終了する。
図26は、レイアウトエラー履歴保存用テーブルの記述例を示す図である。図26において、レイアウトエラー履歴保存用テーブル2601には、1レコードに、"Template ID"フィールド2602、"Content IDs String"フィールド2603、"Layout Error String"フィールド2604、"Date and Time" フィールド2605の各情報が格納される。"Template ID"フィールド2602は文字列型のカラムである。"Contents Record IDs String"フィールド2603は数値配列型のカラムである。"Layout Error String"フィールド2604は文字列型のカラムである。"Date and Time" フィールド2605は日付/時刻型のカラムである。
"Template ID"フィールド2602には、レイアウトエラーが発生したテンプレート識別子の文字列が格納される。例えば、レコード2611では、テンプレートの識別子"MITUMORI"が格納されている。この識別子は、コンテンツサーバ103によって別途管理され、ファイルサーバ104に保存される実際のドキュメントテンプレートのデータすなわちファイルに関連付けられている。
"Contents Record IDs String"フィールド2603には、レイアウトエラーが発生したコンテンツデータのそれぞれのレコードの識別子の数値が、可変長配列の各要素に格納される。例えば、レイアウトエラー履歴保存テーブル2601のレコード2611では、コンテンツデータ管理テーブルのレコードの各識別子"200","113","31","42938","3187","98", ...が配列の各要素として格納される。図26では便宜上、コンマ区切りの文字列として示している。コンテンツデータ管理テーブルは、コンテンツサーバ103によって管理されるデータベース109に設けられている。コンテンツデータ管理テーブルのレコードの識別子は、実際のコンテンツデータとの関連付けのために使用され、また、コンテンツデータの管理番号ともなっている。また、このコンテンツデータ管理テーブルのレコード識別子の並び順、すなわち、通常インデックス0から始まる配列への格納順は、コンテンツサーバ103からレイアウトサーバ105に送信され、レイアウトサーバ105において、テンプレートに流し込まれたレコードの順序と同じとなっている。
"Layout Error String"フィールド2604には、レイアウトサーバ105から受け取ったレイアウトエラー情報の文字列が格納される。"Date and Time" フィールド2605には、レイアウトエラーをレイアウトサーバ105から受け取った日付と時刻の情報が、レイアウトエラー発生時間の情報として格納される。
以上のようにして、発生したレイアウトエラーの要約を示す情報とともに、エラーに係るテンプレートデータ及びコンテンツデータへのリンク情報を有するRSSデータの形式で、エラーを要約したエラー要約情報が作成される。
<RSSデータの作成(タイプ1)>
図25のステップS2504で生成されたタイプ1のRSSデータ"LayoutErrorList.rss"の例を図28に示した。本例では、RSS1.0での記述を用いているが、RSSの他のバージョンやAtomなど他のフィードフォーマットを用いても構わない。
図28において、2801はXML文書の宣言部である。2802は、RDF名前空間の文書要素である。RDF要素には、RSS1.0の規約として、一つのchannel要素と、一つ以上のitem要素を含まなければならない。2803は、channel要素。2810、2814、2818はitem要素である。channel要素2803には、要約情報をフィードするこのチャンネルの基本情報が記述される。channel要素2803のabout属性には、このRSS自身のURIの情報が示される。channel要素2803のtitle要素2804には、このチャンネルのタイトル情報が記述される。同じくlink要素2805には、このチャンネルの要約対象のURI情報が記述される。同じくdescription要素2806には、このチャンネルの概要説明の情報が記述される。図28の例では、このチャンネルのURIはhttp://www.canon.com/iwBS/5DWF506/LayoutErrorList.rssである。このチャンネルのタイトルは"Recent Layout Error"である。このチャンネルの要約対象のURIはhttp://www.canon.com/iwBS/5DWF506/LayoutErrorList.htmlであり、このチャンネルの概要説明の情報は"Recent Layout Error List"となっている。
items要素2807は、item要素群2810、2814、2818のインデクスを提供する。Seq要素2808の内容にリストしたli要素2809によって各更新情報URIを示す。item要素2810、2814、2818には、channel要素2803同様、title要素2811、2815、2819、link要素2812、2816、2820、description要素2813、2817、2821がそれぞれ含まれる。
図30は、図29に示したタイプ1のRSSデータ"LayoutErrorList.rss"を構築する際の動作を示したフローチャートである。すなわち図30は図25のステップS2504の詳細を示す。
図25で示したように、コンテンツサーバ103は、データベース119のレイアウトエラー履歴保存用テーブル2601に新たなレコードを作成する。そしてそのレコードに、発生したレイアウトエラーの情報、利用したテンプレートの識別子、およびコンテンツデータのレコード識別子を格納する。レイアウトエラー履歴保存用テーブル2601に新たなレコードを格納したことが判定されると(S3001)、title要素2811が"Error Template - テンプレート識別子"という形式の値を持つitem要素2810を生成する(S3002)。例えば、テンプレート識別子が"MITUMORI"であった際、図28に示すように、title要素2811が"Template - MITUMORI"という値を持つitem要素を生成する。コンテンツサーバ103は、link要素2812の値として、そのテンプレートのWEBサーバ106からのダウンロードURL"http://www.canon.com/iwBS/5DWF506/Template/MITUMORI.dle"を設定する(S3003)。description要素2813に"Date and Time"フィールド2605に格納したレイアウトエラー発生時間の情報"2005/10/18 13:48:23.785"を値として設定する(S3004)。更に、コンテンツサーバ103は、レイアウトエラーが発生したテンプレートの識別子と同じ識別子を有するレコードをレイアウトエラー履歴保存用テーブル2601の最新レコードから順に検索する(S3005)。同じ識別子を有するレコードが検索で見つかれば(S3006−YES)、同一レコードカウンタを1加算する(S3007)。レコードカウンタの値が初期値の1であれば2となる。レコードカウンタの値が4であるか判定し(S3008)、4でなければ上記手順によりdescription要素2813の値にセットされた値"2005/10/18 13:48:23.785"の後に改行コード"\n"を付加する(S3009)。その後、その見出したレコードの"Date and Time"フィールドの値を、"2005/10/18 13:48:23.785\n 2005/10/18 12:38:44.008"のように、description要素2813の値に付加する(S3010)。継続して次の検索を行う(S3005)。
ステップS3008で、レコード数のカウンタが4となった場合、見出したレコードの"Date and Time"フィールドの値のdescription要素2813への付加をとりやめ、次の検索に移る。レコード数のカウンタが4となった場合とは、すなわち最新の3つのレコードの"Date and Time"フィールドがdescription要素2813の値としてセットされた場合に相当する。
同じ識別子を有するレコードがこれ以上検索で見つからなかった(S3006−NO)段階で、文字列"...("、")"とともに、カウントされたレコード数を"...(12)"のようにdescription要素2813の値に付加する(S3011)。
結果として、description要素2813の値は、"2005/10/18 13:48:23.785\n 2005/10/18 12:38:44.008\n 2005/10/18 09:13:14.865...(12)"となる。
コンテンツサーバ103は、作成したitem要素2810を、WEBサーバ106にアップロードしている既存のRSSデータ"LayoutErrorList.rss"があれば、そのデータのitem要素のリストの最後に付加する(S3012)。更に、そのRSSデータに重複する既存のitem要素があれば、それを削除する(S3013)。尚、既存のRSSデータ"LayoutErrorList.rss"がなければ、前記ステップS3012の前ステップで、新規に作成する。
<RSSデータの作成(タイプ2)>
図29に示したタイプ2のRSSデータ"LayoutErrorList-MITUMORI.rss"は以下のようなものである。本例では、RSS1.0での記述を用いているが、RSSの他のバージョンやAtomなど他のフィードフォーマットを用いても構わない。
図29において、2901はXML文書の宣言部である。2902は、RDF名前空間の文書要素である。RDF要素には、RSS1.0の規約として、一つのchannel要素と、一つ以上のitem要素を含まなければならない。2903は、channel要素。2910、2914、2918はitem要素である。
channel要素2903には、要約情報をフィードするこのチャンネルの基本情報が記述される。channel要素2903のabout属性には、このRSS自身のURIの情報が示される。channel要素2903のtitle要素2904には、このチャンネルのタイトル情報が記述される。同じくlink要素2905には、このチャンネルの要約対象のURI情報が記述される。同じくdescription要素2906には、このチャンネルの概要説明の情報が記述される。
図29の例では、このチャンネルのURIはhttp://www.canon.com/iwBS/5DWF506/LayoutErrorList-MITUMORI.rssである。このチャンネルのタイトルは"Recent Layout Error - MITUMORI" である。このチャンネルの要約対象のURIは"http://www.canon.com/iwBS/5DWF506/LayoutErrorList-MITUMORI.html"である。このチャンネルの概要説明の情報は"Recent Layout Error List - MITUMORI"となっている。
items要素2907は、item要素群2910、2914、2918のインデクスを提供する。Seq要素2908の内容にリストしたli要素2909によって各更新情報URIを示す。item要素2910、2914、2918には、channel要素2903同様、title要素2911、2915、2919、link要素2912、2916、2920、description要素2913、2917、2921がそれぞれ含まれる。
図31は、図29に示したタイプ2のRSSデータ"LayoutErrorList-MITUMORI.rss"を構築する際の動作を示したフローチャートである。図25で示したように、コンテンツサーバ103が、データベース119のレイアウトエラー履歴保存用テーブル2601に新たなレコードを作成する。そのレコードに、発生したレイアウトエラーの情報、利用したテンプレートの識別子、およびコンテンツデータのレコード識別子を格納する。その格納が行われると(S3101−YES)、title要素2911の値がレイアウトエラー発生時間の情報を持つitem要素2910を生成する(S3102)。例えば、テンプレート識別子"MITUMORI"のテンプレートを用いたレイアウト処理中にレイアウトエラーが時刻"2005/10/17 03:12:21.009"に発生したとする。その際、図29に示すように、title要素2911が"2005/10/17 03:12:21.009"という値を持つitem要素を生成する。
コンテンツサーバ103は、link要素2912として、そのレイアウトエラーが発生した際のコンテンツをWEBサーバ106からダウンロードするURL"http://www.canon.com/iwBS/5DWF506/Data/MITUMORI - 20051017 031221.009.zip"を値として設定する(S3103)。そして"Layout Error String"フィールド2604に格納したレイアウトエラー情報の文字列をメモリ206上に読み出し、まず前述したレイアウトチェックステップ識別子を取り除く(S3104)。レイアウトチェックステップ識別子は、エラーが検出された処理ステップを示し、Pre-Print,Print-Page#n,Post-Printがある。
次に図27に示したレイアウトエラー番号およびその概要の対応づけを元にレイアウトエラー番号を"TEXT_OVERFLOW"のような概要を表すキーワードに置換する(S3105)。更に簡略化のため、レイアウトエラー番号が3つを超える場合、"...("、")"と共に、レイアウトエラー数を"...(8)"のように付加する。こうして得られたメモリ上の文字列 "TEXT_OVERFLOW IMAGE_OVERFLOW MINMAX_CONT_SIZE ...(8)"を、description要素2913の値として設定する(S3106)。
コンテンツサーバ103は、作成したitem要素2910をWEBサーバ106にアップロードしている既存のRSSデータ"LayoutErrorList-MITUMORI.rss"があれば、そのデータのitem要素のリストの先頭に付加する(S3107)。
尚、既存のRSSデータ"LayoutErrorList-MITUMORI.rss"がなければ、ステップS3105の前ステップで、新規に作成する。また、本実施形態では、レイアウトエラーが発生したタイミング毎にシンジケーション用データを作成することとしたが、一定時間毎に作成するようにしても構わない。
<WEBブラウザからのシンジケーションデータへのアクセス>
図32は、管理クライアント101のWEBブラウザ122で、RSSフィードをダウンロードするためのWEBページ"http://www.canon.com/iwBS/5DWF506/LayoutError-RSS.html"を表示した画面である。

図32において、表示画面3201にWEBページが表される。Webブラウザに組み込まれたRSSリーダにより表示されるリスト表示欄3202(単にRSSリーダ3202という)にはRSSフィードが表示される。アドレスバー3203には現在表示されているページのURIが表示される。「戻る」ボタン3204が押されると、現在ページの直前に表示されていたページが表示される。「進む」ボタン3205が押されると、現在ページの直後に表示されていたページが表示される。ボタン3207、3209、3211、3213、3215、3217は、RSSフィードダウンロードボタンであり、これらが押されると、該当するRSSデータがダウンロードされる。ラベル3206、3208、3210、3212、3214、3216は各RSSフィードダウンロードボタンのラベルである。バー3218は、RSSチャンネル切り替えバーである。
WEBページの表示画面3201において、RSSフィードダウンロードボタン3207が押下されると、図30のフローチャートで構築されたタイプ1のRSSデータ"LayoutErrorList.rss"が、WEBサーバ106からWEBブラウザ122にダウンロードされる。RSSの仕組みでダウンロードされるRSSデータをシンジケーションデータと呼び、シンジケーションデータのダウンロードをRSSフィードと呼ぶ。シンジケーションデータをRSSフィードと呼ぶ場合もある。同様に、RSSフィードダウンロードボタン3209が押下されると、図31のフローチャートで構築されたタイプ2のRSSデータ"LayoutErrorList-MITUMORI.rss"がシンジケーションデータとしてWEBサーバ106からダウンロードされ、RSSフィードされる。また、これらシンジケーションデータを識別するためのURIがリンクとしてRSSチャンネル切り替え用プルダウンリストボックス3218に記憶される。
WEBサーバ106からWEBブラウザ122にダウンロードされたRSSフィードのデータは、RSSリーダ3202に渡され、RSSリーダ3202によって情報の表示が行われる。
図33は、WEBブラウザ122のRSSチャンネル切り替え用プルダウンリストボックス3218に記憶されたリンクのリスト表示である。ユーザが、マウスポインタ3321により、プルダウンボタン3319を押下した際、プルダウンリストボックス3218が展開され、リストボックス3320が表示される。図において、リストボックス3320には、シンジケーションデータのURIリンクの識別子がリストされる。
図33の、RSSチャンネル切り替え用プルダウンリストボックス3218には、チャネルすなわちRSSフォードの識別子がいくつかリスト表示された例を示している。図33において、識別子"All Layout Error"3320aは、WEBサーバ106上のシンジケーションデータ"LayoutErrorList.rss"へのURIリンクである。また識別子"MITUMORI Template Layout Error"3320bはWEBサーバ106上のシンジケーションデータ"LayoutErrorList-MITUMORI.rss"へのURIリンクである。そのほかの識別子も同様にサーバのシンジケーションデータへのリンクが埋め込まれており、そこを選択指示することでリンク先のデータがダウンロードされる。識別子は、たとえばシンジケーションデータの一部としてダウンロードされる。
<クライアントでのレイアウトエラー履歴シンジケーションの利用>
図34は管理クライアント101でのレイアウトエラー履歴シンジケーション利用時のテンプレートダウンロード動作例を示したフローチャートである。図34は、管理クライアント101のユーザがWEBブラウザ122のRSSチャンネル切り替え用プルダウンリストボックス3218から、タイプ1のRSSデータである"All Layout Error"のフィードを選んだ際の処理の例を示す。そこでまずステップS3401では、タイプ1のRSSデータが選択されたか判定する。タイプ1であれば、WEBブラウザ122のRSSリーダ3202は、WEBサーバ106にHTTPの取得リクエストを送信し(S3402)、WEBサーバ106からシンジケーションデータ"LayoutErrorList.rss"のレスポンスを受信する(S3403)。シンジケーションデータであるRSSフィードのレスポンスデータを受け取ったRSSリーダ3202は、RSSデータの表示を行う(S3404)。
図35は、管理クライアント101のWebブラウザ122のRSSリーダ3202でタイプ1のRSSフィードのデータ"LayoutErrorList.rss"を表示した画面である。文字列3531、3533、3535、3537はハイパーリンクである。各文字列は、発生したエラーに関連するテンプレートを示している。図35において、マウスポインタ3321を用いてユーザによりハイパーリンクのいずれかが選択された際(S3405−YES)、RSSリーダ3202は、そのURIのリソースの取得を、Webブラウザ122を介して、WEBサーバ106にリクエストする(S3406)。Webブラウザ122はハイパーリンクのリンク先であるテンプレート(テンプレートデータ)をレスポンスとしてWEBサーバ106から受け取る。リンク先のテンプレートを受け取ると(S3407−YES)、Webブラウザ122は、そのテンプレートを開くためのテンプレート編集アプリケーション121を起動する(S3408)。そのテンプレートをテンプレート編集アプリケーション121に渡し、そのテンプレートを開く(S3409)。
図36は、管理クライアント101のWebブラウザ122にインライン表示されたテンプレート編集アプリケーション121でのテンプレートの表示画面の例である。図において、テンプレート表示・編集用ペイン3642には、テンプレート"MITUMORI.dle"が表示されており、ユーザにより編集可能となっている。図36の例ではテンプレート"MITUMORI.dle"に対し流し込むコンテンツデータが未指定の状態なので、プレビュー表示用ペイン3641には、空のページが表示されている。なおテンプレートの編集は、本例ではペイン3642内で行われる。しかし、テンプレート編集アプリケーション121により提供される編集用ウインドウで行っても良い。
図37は管理クライアント101でのレイアウトエラー履歴シンジケーション利用時のコンテンツダウンロード動作を示したフローチャートである。図37は、管理クライアント101のユーザにより、WEBブラウザ122のRSSチャンネル切り替え用プルダウンリストボックス3218から、現在Webブラウザ122にインライン表示されたテンプレート編集アプリケーションで編集中のテンプレートに対応する、タイプ2のRSSデータ"MITUMORI Template Layout Error"のフィードが選ばれた際の例を示す。そこでまずステップS3701では、タイプ2のRSSデータが選択されたか判定する。タイプ2のフィードが選ばれた際(S3701−YES)、WEBブラウザ122のRSSリーダ3202は、WEBサーバ106にHTTPの取得リクエストを送信する(S3702)。リクエストに応じて、WEBサーバ106からシンジケーションデータのレスポンス"LayoutErrorList-MITUMORI.rss"を受信する(S3703)。シンジケーションデータであるRSSフィードのレスポンスデータを受け取ったRSSリーダ3202は、RSSデータの表示を行う(S3704)。
図38は、管理クライアント101のWebブラウザ122のRSSリーダ3202でタイプ2のRSSフィードのデータ"LayoutErrorList-MITUMORI.rss"を、ステップS2704において表示した画面である。文字列3831、3833、3835、3837はハイパーリンクである。各文字列は、"MITUMORI Template Layout Error"で表されたテンプレートに関するエラー情報に対応している。図38において、ユーザは、文字列(ハイパーリンク)3831、3833、3835、3837のいずれかを選択することができる。
そこで図38のステップS3705では、マウスポインタ3321を用いてユーザによりハイパーリンクのいずれかが選択されたか判定する。ハイパーリンクが選択された際(S3705−YES)、RSSリーダ3202は、そのURIのリソースの取得を、Webブラウザ122を介して、WEBサーバ106にリクエストする(S3706)。Webブラウザ122がハイパーリンクのリンク先であるコンテンツデータをレスポンスとしてWEBサーバ106から受け取る。リンク先のコンテンツデータを受け取ると(S3707−YES)、Webブラウザ122は、そのコンテンツをテンプレート編集アプリケーション121に渡す(S3708)。テンプレート編集アプリケーション121は、そのコンテンツをテンプレートに流し込みプレビューを生成する(S3709)。すなわち、テンプレート編集アプリケーション121は、そのコンテンツデータをテンプレートに従ってページ内に配置し、当該ページのプレビュー画像を生成する。
図39は、Webブラウザ122のテンプレート編集アプリケーション121でのプレビュー表示画面である。プレビュー表示用ペイン3941には、テンプレート"MITUMORI.dle"にコンテンツデータが流し込まれ、レイアウトされた結果がプレビュー表示されている。
図40は、ユーザによる管理クライアント101のWebブラウザ122のRSSリーダ3202およびテンプレート編集アプリケーション121を用いた、あるテンプレートのレイアウトエラー修正およびサーバへのアップロードの操作フローである。すなわち図40は、ユーザによる判断と操作およびその操作に応じた処理内容を示す。ユーザは、管理クライアント101のWebブラウザ122のRSSリーダ3202で、"MITUMORI Template Layout Error"のハイパーリンクの一つをクリックできる。すなわち、"MITUMORI Template Layout Error"というタイトルで示されるエラーのリストの中から、所望のエラーに関する情報を選択してクリックできる。タイトルは、エラーに関連するテンプレートあるいは全てのエラーに関連づけて付与されている。
ハイパーリンクがクリックされると(S4001)、編集中のテンプレート"MITUMORI.dle"でエラーが発生したコンテンツをダウンロードし、コンテンツをテンプレートに従って配置して、レイアウト結果のプレビューを得る。ユーザは、テンプレート編集アプリケーション121のメニューバー2001からメニュー項目"バリアブルデータ/レイアウトのチェック(C)..."2002を選択できる。レイアウトチェックが選択されると、バリアブルデータ/レイアウトのチェックを開始し、そのチェック結果を得る(S4002)。ユーザは、「バリアブルデータ/レイアウトのチェック」ダイアログ2201に表示されるチェック結果がユーザにとって許容出来ないエラーか否か判定する。許容できない場合にはテンプレートの再編集作業を指示する。再編集作業が開始されると(S4003−YES)、利用者は、エラーを生じたレイアウトの結果を見ながら、テンプレート上のコンテナのサイズや可変設定に変更を加えるなど、テンプレートの再編集を行う。その編集作業に従ってテンプレートは変更される(S4004)。更に、バリアブルデータ/レイアウトのチェックを行い、エラーが発生しない状態またはエラーが許容できる状態まで変更を加える。
ユーザは、エラーが発生しない状態またはエラーが許容できる状態まで変更を加えた後、再編集作業を終了しない場合、ユーザは、管理クライアント101のWebブラウザ122のRSSリーダ3202で、ハイパーリンクの別の一つをクリックする(S4003−NO,S4006−YES)。それにより別のコンテンツデータがダウンロードされる。こうしてレイアウトチェックおよびテンプレートの再編集操作を繰り返す。最終的に、ユーザが、編集作業を終えた場合、保存指示をすることで(S4005−YES)、編集したテンプレートは、サーバへアップロードされる(S4007)。保存は、テンプレート編集アプリケーション121のメニューバー2001から利用者がメニュー項目"保存(S)..."を選択することにより実行される。
また、利用者は、RSSチャンネル切り替え用プルダウンリストボックス3218から"All Layout Error"を選択し、RSSリーダに表示される"LayoutErrorList.rss"データから、"PRINTER Template Layout Error"など別のハイパーリンクをクリックすることもできる。この場合、その操作に応じて"Printer.dle"など別のテンプレートがダウンロードされる。そのテンプレートは、テンプレート編集アプリケーション121で開かれる。さらに、利用者がRSSチャンネル切り替え用プルダウンリストボックス3218から"PRINTER Template Layout Error"などを選択すると、その操作に応じてコンテンツがダウンロードされる。そして、別のテンプレートの修正作業に移る。
図41は、図40のステップS4002の操作結果に該当する、Webブラウザ122のテンプレート編集アプリケーション121での「バリアブルデータ/レイアウトのチェック」ダイアログ2201の表示画面である。
図42は、図40のステップS4004の操作が行われる、Webブラウザ122のテンプレート編集アプリケーション121でのコンテナのプロパティ変更中の表示画面である。
図43は、図40のステップS4006→S4001での操作が行われる、Webブラウザ122のテンプレート編集アプリケーション121での別のコンテンツのプレビュー表示画面である。
図44は、図40のステップS4001からS4006の操作の概念図である。図44において、表示欄3202からハイパーリンクが付された文字列が選択されると(STEP1)、リンクにより指し示される宛先のデータがダウンロードされる(STEP2)。そのデータを用いて試験的にレイアウトが行われ、必要に応じて編集される(STEP3)。

尚、管理クライアント101のWebブラウザ122のRSSリーダ3202での"LayoutErrorList.rss"や"LayoutErrorList-MITUMORI.rss"などのRSSデータの表示中に、表示中のRSSデータがサーバ側で更新されることもあり得る。たとえば、図25に示したコンテンツサーバ103でのレイアウトエラーの履歴保存時の動作により、表示中のRSSデータがサーバ側で更新されることがある。その場合、RSSデータの特性上、新たなRSSデータがWEBサーバ106から送信され、RSSリーダ3202により、その新たな送信データでデータ表示が更新される。
<サーバでのクライアントへのレイアウトエラーコンテンツ送信>
図45は、図37での管理クライアント101でのレイアウトエラー履歴シンジケーション利用時のコンテンツダウンロード動作に対応する、WEBサーバ106のコンテンツ送信動作を示したフローチャートである。
WEBサーバ106は、"http://www.canon.com/iwBS/5DWF506/Data/MITUMORI - 20051017 031221.009.zip"などのコンテンツダウンロードURLに対する取得リクエストをクライアントとから受け取ることができる。そのリクエストを受け取った際(S4501−YES)、該当コンテンツの作成とアップロードをコンテンツサーバ103に依頼する(S4502)。WEBサーバ106は、コンテンツサーバ103からレスポンスとして、該当のコンテンツファイルのWEBサーバ106へのアップロードを受けた際(S4503)、該当ファイルのデータをクライアントに送信し(S4504)、処理を終了する。
図46は、WEBサーバ106からコンテンツ作成とアップロードのリクエストを受け取った際のコンテンツサーバ103の動作を示したフローチャートである。コンテンツサーバ103は、WEBサーバ106から、コンテンツダウンロードURLのデータ "http://www.canon.com/iwBS/5DWF506/Data/MITUMORI - 20051017 031221.009.zip" と共に、コンテンツ作成とアップロードのリクエストを受け取る。リクエストを受け取った際(S4601−YES)、そのURL文字列のデータからテンプレート識別子"MITUMORI"、およびレイアウトエラー発生時間の情報"2005/10/17 03:12:21.009"を抽出する(S4602)。
抽出したテンプレート識別子"MITUMORI"のデータを下に、レイアウトエラー履歴保存用テーブル2601から"Template ID"フィールド2602の値が合致するレコードを検索する(S4603)。合致するものがあれば(S4604−YES)、更に、そのレコードの"Date and Time" フィールドの日付/時刻情報が、抽出したレイアウトエラー発生時間の情報"2005/10/17 03:12:21.009"と合致するかどうか照合する(S4605)。合致しなければ(S4606−NO)、更に、"Template ID"フィールド2602の値が合致する別のレコードを検索し、"Template ID"フィールドおよび"Date and Time"フィールドの値が両方とも合致するレコードを検索する。もし、合致するレコードがない場合(S4604−NO)、エラーをWEBサーバ106に返す(S4612)。両方とも合致するレコードが見つかった場合(S4606−YES)、そのレコードの"Contents Record IDs String"フィールド2603の値、すなわちコンテンツ識別子の配列を参照する(S4607)。その数値配列の各要素の値 、たとえば"200","113","31","42938","3187","98", ...という各識別子に該当するコンテンツのレコードデータを、データベース109のコンテンツデータ管理テーブルから順に取得する(S4608)。コンテンツサーバ103は、コンテンツデータを取得した順に一つのデータファイル"11285.csv"に、その識別子を付加的に保存する(S4609)。最終的に生成されたデータファイルとそのデータファイルから参照されるコンテンツ群を一つのアーカイブファイル"MITUMORI - 20051017 031221.009.zip"にまとめる(S4610)。生成したアーカイブファイルを、リクエストの発行元であるWEBサーバ106にアップロードし(S4611)、処理を終了する。
尚、生成されたデータファイルとそのデータファイルから参照されるコンテンツ群は、該当するコンテンツ群がそのデータファイルに設定された順に基づき、該当テンプレートに流し込まれた場合、レイアウト時のプリフライトで、レイアウトエラー履歴保存テーブル2601の該当レコードに保存されたのと同じ結果をもたらすことになる。
また、生成されたデータファイル"11285.csv"は図47のファイル4701ような形式である。コンテンツデータ管理テーブルのレコードのフィールドデータが文字列の場合、その文字列がデータファイルに保存される。フィールドデータがイメージファイル名の場合、そのイメージファイルへの参照がデータファイルに保存される。これは他のデータファイル4702についても同様である。また、上記例のアーカイブファイル"MITUMORI - 20051017 031221.009.zip"は、一般的なPK-ZIP形式のファイルである。
以上のように、本実施形態では、いわゆる自動レイアウトあるいはバリアブル印刷時にレイアウトサーバで生じるエラーを、RSSフィードの技術を用いてクライアントに配信することができる。このため、クライアントでは、エラーが生じたことおよび関連するデータへのリンク情報を、ユーザが常時監視し続けるなしに取得できる。また、関連するテンプレートデータおよびコンテンツデータへのリンク情報を得ているために、エラーを再現する試みも容易に行える。そして、行った試みにより生じたエラーを参照しつつ、テンプレートを、エラーが生じないように編集することができる。編集したテンプレートは再びサーバにアップロードして、バリアブル印刷を再度実行できる。テンプレートの再編集は、プリフライト検査時に行うことが望ましいが、本番運用時でも行うことができる。
[他の実施形態]
なおRSSフィードによるシンジケーションは、一定の形式を備えるシンジケーション用のデータ(RSSデータ)をサーバ(たとえばウエブサーバ)に用意しておく。そしてそのRSSデータの置き場所の情報を知得しているクライアント(RSSリーダ)が、所定のイベントの発生時に、サーバにアクセスして、現在取得しているデータよりも新しい情報があればそれを取得する。所定のイベントには、たとえばRSSリーダの起動時や所定時間経過時(即ち定期的)などが含まれる。すなわちデータのシンジケーションとは、サーバからクライアントへのデータの配信や配給を指す。もちろんシンジケーションは、現在実用化されているRSS1.0のみならず、すべての現在有効な全てのバージョンのRSSや将来実用化されるであろうバージョンのRSSにより実現することもできる。またatomを用いたり、それに類する(すなわちシンジケーションのために利用できる)XMLメタデータの配信により実現できる。
また、RSSフィードを用いたエラーの監視は、自動レイアウトあるいはバリアブル印刷に限らない。たとえばウエブサービスでは、アプリケーションサーバによりクライアントから要求された処理が行われる。この処理時のエラー等、処理の状態を示す状態情報の配信のために本実施形態を適用し、エラーの発生及びエラーに係るデータへのリンク情報を、RSSフィードとして、管理用クライアント端末に送信する。そして本実施形態と同様に、管理用クライアントでエラーを再現し、エラーの原因となったプログラムやデータの編集を行って、再度処理を実行する。
このようにして、管理者が、遠隔のサーバで生じたエラーに関する情報を知得し、遠隔のクライアントにおいてエラー解消のための対策を講じることができる。
なお本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。また本発明の目的は、前述の実施形態の機能を実現するプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、本発明には、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
本発明のコンピュータシステム構成図である。 本発明のコンピュータモジュールの概略図である。 本発明のメニューバー、ツールバー、ワークエリア、フローティングパレットを含む典型的なアプリケーションのメインウインドウの図である。 本発明のコンテナ間のリンク、アンカーやスライダーを持つ典型的なコンテナの一面をスクリーン、ツール、アイコンの図である。 本発明の典型的なコンテナルールの図である。 本発明のリンクを作成するフローの図である。 リンク作成時のUI例の図である。 本発明におけるレイアウト計算の全体フローの図である。 本発明におけるレイアウト計算の詳細フローの図である。 本発明における図9のフローに対応するUI例の図である。 本発明のレイアウト計算時におけるコンテナの集合について説明した図である。 本発明の典型的な可変リンクによるコンテナ配置図である。 本発明の図12の状態までの操作遷移を表している図である。 本発明の典型的なリンクの設定ダイアログウィンドウの図である。 本発明の固定リンクによるレイアウト結果の図である。 本発明の可変リンクによるレイアウト結果の図である。 本発明のコンテナのプロパティを設定するダイアログの図である。 本発明のコンテナのプロパティ設定操作におけるレイアウトアプリケーションプログラムの動作フローの図である。 本発明のレイアウト編集アプリケーションプログラムのレイアウトチェック機能の動作フロー図である。 本発明のテンプレート編集アプリケーションプログラムのメニューバーの図である。 本発明のテンプレート編集アプリケーションプログラムの「バリアブルデータ/レイアウトのチェック」ダイアログの図である。 本発明のテンプレート編集アプリケーションプログラムの「バリアブルデータ/レイアウトのチェック」ダイアログのプリフライト結果表示の図である。 本発明のコンテンツサーバのレイアウトチェック実行時の動作フローの図である。 本発明のレイアウトサーバのレイアウトチェック実行時の動作フローの図である。 本発明のコンテンツサーバのレイアウトエラーの履歴保存時の動作フローの図である。 本発明のレイアウトエラー履歴保存用テーブルの記述例の図である。 エラー番号と対応するエラー概要文字列とを示す図である。 本発明の「タイプ1」のRSSデータの記述例の図である。 本発明の「タイプ2」のRSSデータの記述例の図である。 本発明のコンテンツサーバのタイプ1のRSSデータ構築の動作フローの図である。 本発明のコンテンツサーバのタイプ2のRSSデータ構築の動作フローの図である。 本発明のRSSフィードダウンロードページの表示画面の図である。 本発明のWEBブラウザのRSSチャンネル切り替え用プルダウンリストボックスのリスト表示画面の図である。 本発明の管理クライアントのレイアウトエラー履歴シンジケーション利用時のテンプレートダウンロードの動作フローの図である。 本発明の管理クライアントのRSSリーダでのタイプ1のRSSフィードの表示画面の図である。 本発明の管理クライアントWebブラウザにインライン表示されたテンプレート編集アプリケーションのテンプレート表示画面の図である。 本発明の管理クライアントのレイアウトエラー履歴シンジケーション利用時のコンテンツダウンロード動作フローの図である。 本発明の管理クライアントのRSSリーダでのタイプ2のRSSフィードの表示画面の図である。 本発明のWebブラウザのテンプレート編集アプリケーションでのプレビュー表示画面の図である。 本発明の管理クライアントのRSSリーダおよびテンプレート編集アプリケーションを用いたテンプレートのレイアウトエラー修正およびサーバへのアップロードの操作フローの図である。 本発明のWebブラウザのテンプレート編集アプリケーションでの「バリアブルデータ/レイアウトのチェック」ダイアログの表示画面の図である。 本発明のWebブラウザのテンプレート編集アプリケーションでのコンテナのプロパティ変更中の表示画面の図である。 本発明のWebブラウザのテンプレート編集アプリケーションでの別コンテンツのプレビュー表示画面の図である。 本発明のWebブラウザのテンプレート編集アプリケーションでの操作の概念図である。 本発明のWEBサーバのコンテンツ送信動作フローの図である。 本発明のコンテンツサーバのコンテンツ作成とアップロードのリクエストを受け取った際の動作フローの図である。 本発明のコンテンツサーバの生成データファイルの記述例の図である。
符号の説明
101 管理クライアントコンピュータ
102 クライアントコンピュータ
103 コンテンツサーバ
104 ファイルサーバ
105 レイアウトサーバ
106 WEBサーバ
107 ネットワーク
119 データベース
121 テンプレート編集アプリケーションプログラム
122 管理クライアントコンピュータのWEBブラウザプログラム
125 クライアントコンピュータのWEBブラウザプログラム

Claims (12)

  1. シンジケーションデータを取得し表示可能なクライアントと、前記クライアントに対して配信される前記シンジケーションデータを生成するサーバーシステムとを有する自動レイアウトシステムであって、
    前記サーバーシステムは、
    ンテンツデータを、テンプレートデータに従って配置処理するレイアウト手段と、
    前記レイアウト手段による配置処理においてエラーが生じた場合、当該エラーに係るデータへのリンク情報を含むシンジケーションデータを生成する生成手段と、
    前記生成手段により生成されたシンジケーションデータを前記クライアントに提供する報提供手段とを有し、
    前記クライアントは、
    前記エラーに関連するテンプレートデータと、該テンプレートデータに関連するコンテンツデータとを、前記サーバーシステムから提供されたシンジケーションデータのリンク情報を基に取得する取得手段と、
    取得されたテンプレートデータとコンテンツデータとを基に再レイアウトを行う再レイアウト手段と、
    再レイアウトによりエラーが解消されたテンプレートデータの保存を前記サーバーシステムに指示する指示手段と
    を備えることを特徴とする自動レイアウトシステム
  2. 前記生成手段は、前記シンジケーションデータとして、RSSまたはatom形式のデータを生成し、
    前記情報提供手段は、前記シンジケーションデータをRSSまたはatom形式で提供し、前記エラーに係るデータをHTML形式で提供することを特徴とする請求項1に記載の自動レイアウトシステム。
  3. 前記シンジケーションデータは、前記配置処理において生じたエラーの要約を表す要約情報を含むエラー配信データであることを特徴とする請求項1に記載の自動レイアウトシステム。
  4. 前記生成手段は、前記レイアウト手段による配置処理において、テンプレートに含まれる枠内にテキストデータが納まらないテキストオーバーフローと、テンプレートに含まれる枠内にイメージデータが納まらないイメージオーバーフローと、枠内に収めるべきコンテンツデータがないコンテナエラーのいずれかが生じた場合に、前記シンジケーションデータを生成することを特徴とする請求項3に記載の自動レイアウトシステム。
  5. 前記シンジケーションデータは、前記配置処理において生じたエラーに係るデータへのリンク情報として、当該エラーに係るテンプレートデータおよびコンテンツデータそれぞれへのリンク情報を含むことを特徴とする請求項1乃至4のいずれか1項に記載の自動レイアウトシステム。
  6. シンジケーションデータを取得し表示可能なクライアントと、前記クライアントに対して配信される前記シンジケーションデータをレイアウトサーバーにより生成してウエブサーバーにより提供する情報提供方法であって、
    前記レイアウトサーバーが、コンテンツデータを、テンプレートデータに従って配置処理するレイアウト工程と、
    前記レイアウトサーバーが、前記レイアウト工程による配置処理においてエラーが生じた場合、当該エラーに係るデータへのリンク情報を含むシンジケーションデータを生成する生成工程と、
    ウエブサーバーが、前記生成工程により生成されたシンジケーションデータを前記クライアントに提供する報提供工程と
    前記クライアントが、前記エラーに関連するテンプレートデータと、該テンプレートデータに関連するコンテンツデータとを、前記ウエブサーバーから提供されたシンジケーションデータのリンク情報を基に取得する取得工程と、
    前記クライアントが、取得されたテンプレートデータとコンテンツデータとを基に再レイアウトを行う再レイアウト工程と、
    前記クライアントが、再レイアウトによりエラーが解消されたテンプレートデータの保存を前記レイアウトサーバーに指示する指示工程と
    有することを特徴とする情報提供方法。
  7. 前記生成工程では、前記シンジケーションデータとして、RSSまたはatom形式のデータを生成し、
    前記情報提供工程では、前記シンジケーションデータをRSSまたはatom形式で提供し、前記エラーに係るデータをHTML形式で提供することを特徴とする請求項に記載の情報提供方法。
  8. 前記シンジケーションデータは、前記配置処理において生じたエラーの要約を表す要約情報を含むエラー配信データであることを特徴とする請求項に記載の情報提供方法。
  9. 前記生成工程は、前記レイアウト工程による配置処理において、テンプレートに含まれる枠内にテキストデータが納まらないテキストオーバーフローと、テンプレートに含まれる枠内にイメージデータが納まらないイメージオーバーフローと、枠内に収めるべきコンテンツデータがないコンテナエラーのいずれかが生じた場合に、前記シンジケーションデータを生成することを特徴とする請求項に記載の情報提供方法。
  10. 前記シンジケーションデータは、前記配置処理において生じたエラーに係るデータへのリンク情報として、当該エラーに係るテンプレートデータおよびコンテンツデータそれぞれへのリンク情報を含むことを特徴とする請求項乃至のいずれか1項に記載の情報提供方法。
  11. サーバーシステムであって、
    コンテンツデータをテンプレートに従ってレイアウトした際に生じたレイアウトエラーをチェックするチェック手段と、
    前記チェック手段によるレイアウトエラーのチェック結果を基に、タイプ1とタイプ2の2つのタイプのRSSデータを生成し、生成したRSSデータを情報配信サーバーへアップロードするRSSデータ配信手段とを備え、
    前記タイプ1のRSSデータは、RSSデータのアイテム要素のタイトル項目にレイアウトエラーが発生したテンプレートの固有情報を設定し、そのタイトル項目に対応するリンク要素には、当該レイアウトエラーを生じたテンプレートが保存されている保存場所のリンク情報を設定したRSSデータであり、
    前記タイプ2のRSSデータは、前記チェック手段によりエラーの発生が特定されたテンプレート毎に用意されたRSSデータであり、夫々のRSSデータのアイテム要素のタイトル項目にはレイアウトエラーが発生した日時を設定し、そのタイトル項目に対応するリンク要素にはその日時にレイアウトエラーが発生した際に、当該レイアウトエラーが発生したテンプレートで用いたコンテンツが保存されている保存場所のリンク情報を設定したRSSデータであり、
    前記サーバーシステムはさらに、前記生成手段により生成されたシンジケーションデータを提供する提供手段を備え、
    クライアントに配信されたRSSデータのリンク要素で設定されたリンク情報を基に当該クライアントがシンジケーションデータの取得要求を行った場合、前記提供手段が、要求されたシンジケーションデータを要求元のクライアントに提供することを特徴とするサーバーシステム。
  12. 請求項11に記載のサーバーシステムと、該サーバーシステムにより生成したRSSデータをクライアントに配信する情報配信サーバーと、クライアントとを有する自動レイアウトシステムであって、
    前記クライアントは制御ユニットを有し、
    該制御ユニットは、
    前記情報配信サーバーにより提供されるRSSデータを表示するRSSリーダーを制御し、
    前記RSSリーダーは、前記タイプ1のRSSデータのチャンネルが選択された場合、タイプ1のRSSデータを受信して、タイプ1のアイテム要素のリンク項目を基にリンク情報を表示し、そのリンク情報が選択されたことに応じて前記サーバーシステムからテンプレートを受信し、
    前記RSSリーダーは、前記タイプ2のRSSデータのチャンネルが選択された場合、タイプ2のRSSデータを受信して、タイプ2のアイテム要素のリンク項目を基にリンク情報を表示し、そのリンク情報が選択されたことに応じて前記サーバーシステムからコンテンツを受信し、
    前記制御ユニットはさらに、
    前記RSSリーダーを介してテンプレートを受信した場合は、その受信したテンプレートを編集するために前記クライアントにインストールされているテンプレート編集アプリケーションを起動し、
    前記RSSリーダーを介してコンテンツを受信した場合は、前記クライアントにインストールされているテンプレート編集アプリケーションを起動し、前記受信したコンテンツを用いたプレビューを表示させるよう前記クライアントを制御することを特徴とする自動レイアウトシステム。
JP2006104716A 2006-04-05 2006-04-05 自動レイアウトシステムおよび情報提供方法およびサーバーシステム Expired - Fee Related JP4829662B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006104716A JP4829662B2 (ja) 2006-04-05 2006-04-05 自動レイアウトシステムおよび情報提供方法およびサーバーシステム
US11/695,914 US8171398B2 (en) 2006-04-05 2007-04-03 Content server and layout system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006104716A JP4829662B2 (ja) 2006-04-05 2006-04-05 自動レイアウトシステムおよび情報提供方法およびサーバーシステム

Publications (3)

Publication Number Publication Date
JP2007279992A JP2007279992A (ja) 2007-10-25
JP2007279992A5 JP2007279992A5 (ja) 2009-05-21
JP4829662B2 true JP4829662B2 (ja) 2011-12-07

Family

ID=38576982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006104716A Expired - Fee Related JP4829662B2 (ja) 2006-04-05 2006-04-05 自動レイアウトシステムおよび情報提供方法およびサーバーシステム

Country Status (2)

Country Link
US (1) US8171398B2 (ja)
JP (1) JP4829662B2 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007241661A (ja) * 2006-03-08 2007-09-20 Canon Inc 画像形成装置およびその制御方法
JP4465631B2 (ja) * 2007-05-10 2010-05-19 ソニー株式会社 ナビゲーション装置及びナビゲーション装置における位置登録方法
US20080288983A1 (en) 2007-05-18 2008-11-20 Johnson Bradley G System and Method for Providing Sequential Video and Interactive Content
US8244798B2 (en) * 2007-07-23 2012-08-14 Sap Portals Israel Ltd. Techniques for sharing content between portals
US8386387B2 (en) * 2007-12-21 2013-02-26 Utrom Processing Co. L.L.C. System and method for tracking syndication of internet content
US20090199242A1 (en) * 2008-02-05 2009-08-06 Johnson Bradley G System and Method for Distributing Video Content via a Packet Based Network
US8265990B2 (en) 2008-05-15 2012-09-11 Utrom Processing Co. L.L.C. Method and system for selecting and delivering media content via the internet
US20090300120A1 (en) * 2008-06-03 2009-12-03 Contec Innovations Inc. Method and system for producing a presentation message for a mobile device
US8612881B2 (en) * 2008-08-13 2013-12-17 Microsoft Corporation Web page content discovery
JP5132493B2 (ja) * 2008-09-10 2013-01-30 キヤノン株式会社 データ処理装置、ジョブ検査方法、及びコンピュータプログラム
US8296653B2 (en) * 2009-04-06 2012-10-23 Xerox Corporation Variable imaging asset upload and verification
US9002841B2 (en) * 2009-10-09 2015-04-07 Microsoft Corporation Feed validator
JP2012252510A (ja) * 2011-06-02 2012-12-20 Konica Minolta Business Technologies Inc 印刷ジョブ表示プログラムおよび印刷ジョブ表示装置
US20130145257A1 (en) * 2011-12-06 2013-06-06 Google Inc. Edition Designer
US9893953B1 (en) * 2011-12-23 2018-02-13 EMC IP Holding Company LLC Using application aware templates
US10789412B2 (en) 2012-02-20 2020-09-29 Wix.Com Ltd. System and method for extended dynamic layout
US10146419B2 (en) * 2012-02-20 2018-12-04 Wix.Com Ltd. Method and system for section-based editing of a website page
IL225016B (en) * 2012-03-01 2020-03-31 Wix Com Ltd Method and system for using adjustable grips to aid dynamic layout editing
US20130290837A1 (en) * 2012-04-30 2013-10-31 James Paul Hudetz Method and Apparatus for Correcting Document Formatting Based on Source Document
WO2013192210A1 (en) * 2012-06-18 2013-12-27 Allen Learning Technologies Event flow user interface
US20140055495A1 (en) * 2012-08-22 2014-02-27 Lg Cns Co., Ltd. Responsive user interface engine for display devices
US10210273B2 (en) * 2012-08-31 2019-02-19 Hewlett-Packard Development Company, L.P. Active regions of an image with accessible links
US8965880B2 (en) 2012-10-05 2015-02-24 Google Inc. Transcoding and serving resources
US20140108922A1 (en) * 2012-10-16 2014-04-17 Theo Gravity Content layout determination
US8924850B1 (en) 2013-11-21 2014-12-30 Google Inc. Speeding up document loading
CN105094753A (zh) * 2014-04-18 2015-11-25 阿里巴巴集团控股有限公司 一种线框图的绘制方法、装置和系统
US9785484B2 (en) 2015-07-02 2017-10-10 Microsoft Technology Licensing, Llc Distributed application interfacing across different hardware
US9860145B2 (en) 2015-07-02 2018-01-02 Microsoft Technology Licensing, Llc Recording of inter-application data flow
US9733915B2 (en) 2015-07-02 2017-08-15 Microsoft Technology Licensing, Llc Building of compound application chain applications
US9733993B2 (en) 2015-07-02 2017-08-15 Microsoft Technology Licensing, Llc Application sharing using endpoint interface entities
US9658836B2 (en) 2015-07-02 2017-05-23 Microsoft Technology Licensing, Llc Automated generation of transformation chain compatible class
US9712472B2 (en) 2015-07-02 2017-07-18 Microsoft Technology Licensing, Llc Application spawning responsive to communication
US10261985B2 (en) 2015-07-02 2019-04-16 Microsoft Technology Licensing, Llc Output rendering in dynamic redefining application
US10198252B2 (en) 2015-07-02 2019-02-05 Microsoft Technology Licensing, Llc Transformation chain application splitting
US10198405B2 (en) 2015-07-08 2019-02-05 Microsoft Technology Licensing, Llc Rule-based layout of changing information
US10031724B2 (en) 2015-07-08 2018-07-24 Microsoft Technology Licensing, Llc Application operation responsive to object spatial status
US10277582B2 (en) 2015-08-27 2019-04-30 Microsoft Technology Licensing, Llc Application service architecture
JP6812170B2 (ja) * 2016-08-29 2021-01-13 キヤノン株式会社 情報処理装置、その制御方法、および制御プログラム
US10679317B2 (en) * 2018-07-19 2020-06-09 Microsoft Technology Licensing, Llc Techniques for displaying a shader table associated with raytracing images
JP6800503B1 (ja) * 2020-05-27 2020-12-16 株式会社イセトー 印刷データ作成システム、印刷管理システム、印刷データ作成方法及びプログラム
CN114296857A (zh) * 2021-12-29 2022-04-08 北京五八信息技术有限公司 界面的调整方法、装置、电子设备及可读介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934836A (ja) * 1995-05-18 1997-02-07 Canon Inc 情報処理装置と情報処理方法及び出力装置と出力方法及び情報処理システム及び制御プログラムを記憶した記憶媒体
US7100167B2 (en) * 2001-05-01 2006-08-29 Microsoft Corporation Method and apparatus for creating templates
US7548334B2 (en) * 2003-10-15 2009-06-16 Canon Kabushiki Kaisha User interface for creation and editing of variable data documents
JP4250540B2 (ja) * 2004-01-30 2009-04-08 キヤノン株式会社 レイアウト調整方法および装置およびレイアウト調整プログラム
JP2005284334A (ja) * 2004-03-26 2005-10-13 Oki Electric Ind Co Ltd Webページ更新通知方法及び装置
JP4700940B2 (ja) * 2004-08-27 2011-06-15 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
JP2006074225A (ja) * 2004-08-31 2006-03-16 Canon Inc レイアウト調整方法及び装置並びにプログラム
JP4332480B2 (ja) * 2004-08-31 2009-09-16 キヤノン株式会社 レイアウト調整方法及び装置並びにプログラム
JP2006085402A (ja) * 2004-09-16 2006-03-30 Ricoh Co Ltd ネットワーク機器、プログラムおよび記録媒体
US8661459B2 (en) * 2005-06-21 2014-02-25 Microsoft Corporation Content syndication platform
US7770057B1 (en) * 2005-10-27 2010-08-03 Symantec Operating Corporation System and method for customized disaster recovery reports

Also Published As

Publication number Publication date
JP2007279992A (ja) 2007-10-25
US8171398B2 (en) 2012-05-01
US20070240039A1 (en) 2007-10-11

Similar Documents

Publication Publication Date Title
JP4829662B2 (ja) 自動レイアウトシステムおよび情報提供方法およびサーバーシステム
CN110325961B (zh) 基于电子表格的软件应用程序开发
US9436419B2 (en) Selectively printing portions of a web page based on user selection
JP4912139B2 (ja) 情報処理装置
JP4332480B2 (ja) レイアウト調整方法及び装置並びにプログラム
JP4332477B2 (ja) レイアウト調整方法及び装置並びにプログラム
JP4047308B2 (ja) レイアウト処理方法、情報処理装置及びコンピュータプログラム
US20030237046A1 (en) Transformation stylesheet editor
US20070162845A1 (en) User interface for webpage creation/editing
JP2006065677A (ja) 情報処理装置及びその制御方法、プログラム
JP4262164B2 (ja) 情報処理装置及びその制御方法、プログラム
EP1429261A1 (en) Method and apparatus for displaying data in a web page
Edhlund NVivo 8 essentials: The ultimate help when you work with qualitative analysis
WO2010115842A2 (en) Document editing method
US11868598B2 (en) Generating and modifying content using data structures
KR100522186B1 (ko) 동적으로 홈페이지를 제작하는 방법 및 이 방법을 웹에서구현하는 장치
JP2007316873A (ja) コンテンツサーバおよびレイアウトシステム
JP4776998B2 (ja) 画像レイアウト編集装置およびその制御方法およびプログラム
JP2007066304A (ja) 情報処理装置及びその制御方法、プログラム
KR100767151B1 (ko) 전자화 서비스 매뉴얼 표시용 프로그램이 기록된 기록매체, 전자화 서비스 매뉴얼 표시 제어방법 및 전자화 서비스 매뉴얼 표시 제어장치
TW201337605A (zh) 多用途網路編輯頁面自動轉檔技術
KR100767150B1 (ko) 전자화 서비스 매뉴얼 표시용 프로그램이 기록된 기록매체, 전자화 서비스 매뉴얼 표시 제어방법 및 전자화 서비스 매뉴얼 표시 제어장치
JP2010122893A (ja) バリアブルプリントシステム
JPWO2006051973A1 (ja) 文書処理装置及び文書処理方法
JP2007122486A (ja) Web文書処理方法、プログラム、記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090403

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090403

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110818

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110912

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110916

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140922

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140922

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees