情報処理装置、方法およびプログラム
【課題】仮想的な作業空間上における作業結果および/または途中経過の内容を説明する資料の作成後に、当該仮想的な作業空間上の状態が変化した場合であっても、説明者がより適切に説明を行なうことが可能な情報処理装置、方法およびプログラムを提供する。
【解決手段】ワークスペースに対して何らかの編集操作がなされた後、シナリオを再生する場合を考える。このとき、前回のシナリオ再生時に保存された当該時点におけるワークスペースの状態を示すWS情報(写)350と、現時点におけるワークスペースの状態を示すWS情報300Aとが比較される。そして、両者の内容が不一致となった場合には、ワークスペースの状態が前回のシナリオ再生時から変更されたことおよび/またはその変更の内容がユーザに通知される。
【解決手段】ワークスペースに対して何らかの編集操作がなされた後、シナリオを再生する場合を考える。このとき、前回のシナリオ再生時に保存された当該時点におけるワークスペースの状態を示すWS情報(写)350と、現時点におけるワークスペースの状態を示すWS情報300Aとが比較される。そして、両者の内容が不一致となった場合には、ワークスペースの状態が前回のシナリオ再生時から変更されたことおよび/またはその変更の内容がユーザに通知される。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、仮想的な作業空間を提供するための情報処理装置、方法およびプログラムに関する。
【背景技術】
【0002】
近年、知的創造作業を支援するための仮想的な作業空間(以下、「ワークスペース」とも称す。)が提案されている(例えば、特開平10−051581号公報(特許文献1)や特開平10−126758号公報(特許文献2)など)。
【0003】
このワークスペースとは、いわば仮想的なホワイトボードのように使用可能な作業空間であり、ユーザは、この作業空間上において、手書き文字、画像、写真などの題材(以下、「オブジェクト」とも称す。)をインタラクティブに入力したり操作したりすることができる。ワークスペースを用いることで、個人またはグループでの知的創造作業(考えを練ったり、他メンバーとコミュニケーションをとったりする)が促進される。
【0004】
このようなワークスペースでは、物理的なホワイトボードやメモ帳などとは異なり、実際にユーザが閲覧する範囲より広い範囲の作業空間を仮想的に提供することができる。なお、ユーザが閲覧する範囲は、必要に応じて自在に拡大もしくは縮小できるので、狭い領域に対しても書込みなどを行なうことができる。そのため、広大な範囲の作業空間であっても、ユーザはストレス無く作業を行なうことができる。
【0005】
このようなワークスペースを用いた知的創造作業の具体的なシーンとしては、ユーザが発想した題材を次々にオブジェクトとして入力し、これらの入力された多数のオブジェクトを分類(カテゴライズ)したり、互いに関連付けたりすることで、情報の整理を行ない新たな発想に繋げるという場合などが考えられる(典型的には、KJ法)。
【0006】
このような知的創造作業の過程においては、各ユーザは、ワークスペースをノートのように使用して、その上に様々な場所に種々のオブジェクトが配置しながら、考えを練り上げることが想定される。そのため、このような知的創造作業(発想作業)が完了した時点では、当該作業における結論となり得るオブジェクト(記述された内容)以外にも、様々な中間的なオブジェクトがワークスペース上に残ったままとなっている場合もある。このようなワークスペース上の中間的なオブジェクトによって、ユーザは、どの場所にどのようなオブジェクトをどのようなタイミングでどのユーザが配置したかといった知的創造作業の経緯を思い出しやすいため、その全体や個々の情報をより詳細に記憶することができる。
【0007】
すなわち、知的創造作業を行なったユーザ自身にとってみれば、作業結果を整理し直すより、ワークスペースがそのままの表示状態で残されることで、ビジュアル的なイメージを維持する方が記憶に残りやすく、かつ再利用もしやすい。
【0008】
一方、このような知的創造作業では、情報収集、情報整理、発想、情報収集、情報整理、発想・・・といった複数のフェーズからなるサイクルを何度も繰返すことでより創造性の高いアウトプットが得られることが多い。例えば、情報を整理した作業結果を他人に説明して意見をもらい、そこでもらったアイデアをもとに、情報整理をし直すといった場合などである。また、自身のアイデアをメンバー間で整理しながらブラッシュアップするという場合もある。このとき、あるユーザ個人の作業結果をそのままの状態で他人(典型的には、アドバイザーやオブザーバ)に見せても、当該他人はそもそも知的創造作業の途中経過を知らないためビジュアル的に具体的なイメージを得ることは難しい。むしろ、ワークスペース上の情報をある程度整理して他人に見せた方が知的創造作業の全体像を理解し易くなり好ましい。また、知的創造作業を行なったユーザ自身にとってみても、ビジュアル的なイメージに加えて論理的な説明も併せて結果として残すことは、より理解を高める意味で効果的である。
【0009】
このようなあるユーザが自身の作業結果および/または途中経過を他人に説明する場合を考えると、知的創造作業を行なったユーザ自身が作業しやすい(あるいは、記憶に残りやすい)態様と他のユーザが理解しやすい態様とは一般的に異なる。そのため、あるユーザが自身の作業結果および/または途中経過を他人に説明する場合、説明用のドキュメントなどを新たに作成する必要がある。例えば、ワークスペースの全体や一部をコピーして、説明用の文書に貼り付けたり、知的創造作業の流れがわかるように順序や説明記述を追加したりするといった追加の作業が発生する。このように、説明用のドキュメントを別途作り直すのは作業負担が大きく、本来の目的である知的創造に費やす時間や労力を無駄に消費する。
【0010】
一方、ワークスペース上から不要なオブジェクトを削除した上で説明を行なう場合には、他人への説明中に、関連情報を見たくなった場合や、元の作業結果を修正したくなった場合に適切に対応できない。説明用のドキュメントとは独立して作業結果を別途残している場合であっても、説明中に思い付いた修正対象箇所を、別途残しておいた作業結果から都度探し出す必要がある。そのため、他人への説明時に判明した必要性を適宜反映することと、他人へのスムーズな説明とを両立させることは難しかった。
【0011】
このような課題の解決手段として、ユーザが実際に作業を行なうワークスペースとは独立して、主としてプレゼンテーションを行なうための「シナリオ」機能を付加することが考えられる。このシナリオ機能は、ワークスペース上のいずれのオブジェクトをいずれの順序で表示するかといった情報(シナリオ情報)を、ワークスペースを定義するための情報とは別途保持しておき、再生時には、このシナリオ情報に基づいて、プレゼンテーションを行なう。これにより、ワークスペース上の作業状態をそのままの状態で保持できる一方で、このワークスペースを定義するための情報をそのまま利用して(別途、説明用の文書を作成する必要がなく)、目的とするオブジェクトに絞って適切な順序・表現方法でプレゼンテーションを行なうことができる。さらに、作業中のワークスペースを定義するための情報そのものを利用して表示などを行なうため、説明中に(当初説明対象としたオブジェクト以外の)別のオブジェクトを参照する必要が生じたり、ワークスペースを定義するための情報を説明中に修正(ブラッシュアップ)したりすることができる。このようなシナリオは、独立して複数作成することができ、説明相手毎にそれぞれ適したものを設定することができる。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開平10−051581号公報
【特許文献2】特開平10−126758号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
ところで、上述のようなプレゼンテーションは、予めシナリオを作成した上で行われる。すなわち、シナリオを用いた説明は、当該シナリオの作成時から時間が経過してから行われることがしばしば生じる。そのため、ワークスペース上の状態が変更されている場合には、シナリオ作成者の意図とは異なった内容のシナリオが再生されてしまうことが予想される。
【0014】
このようにワークスペース上の状態が変更されてしまう原因としては、典型的には、以下のような形態が想定される
複数のメンバーで構成されるグループで知的創造作業を行なう場合において、上述のような説明は、当該グループのあるメンバーがグループ外の第三者に向けられることが多いが、このような説明が行なわれるまでに、説明を行なうメンバー以外の他のメンバーが作業を継続している可能性がある。
【0015】
また、同一のワークスペース上のオブジェクト(題材)を用いて別々に説明がなされるような場合において、先に行われた説明に基づいてワークスペースに対して変更がなされることがあり、このような場合には、後に行われる説明に影響を与え得る。特に、同一グループ内の複数のメンバーがそれぞれ別に説明を行なう場合には、先の説明者によってなされた変更が後の説明者にまで伝えられていないようなことも多いと考えられ、このような状況において後の説明者が困ることが想定される。
【0016】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、仮想的な作業空間上における作業結果および/または途中経過の内容を説明する資料の作成後に、当該仮想的な作業空間上の状態が変化した場合であっても、説明者がより適切に説明を行なうことが可能な情報処理装置、方法およびプログラムを提供することである。
【課題を解決するための手段】
【0017】
この発明のある局面に従う仮想的な作業空間を提供する情報処理装置は、作業空間と作業空間に含まれるオブジェクトとを定義する第1情報を管理するための第1管理手段と、第1情報に基づいて、仮想作業空間の一部または全部の内容を表示するための第1表示手段と、仮想作業空間に含まれる特定のオブジェクトを指定する第2情報を管理するための第2管理手段と、第1情報を参照することで、第2情報において指定される特定のオブジェクトを表示するための第2表示手段と、第2表示手段によって特定のオブジェクトが表示されるときの、第1情報における定義内容の少なくとも一部を記憶する記憶手段と、特定のオブジェクトの前回表示時に記憶された第1情報における定義内容の少なくとも一部と、特定のオブジェクトの今回表示時における第1情報における定義内容の少なくとも一部とを比較することで、今回の特定のオブジェクトの表示内容が前回の表示内容から変更されたか否かを判断する判断手段とを含む。
【0018】
好ましくは、判断手段によって今回の特定のオブジェクトの表示内容が前回の表示内容から変更されたと判断されたときに、変更点の数および変更内容の少なくとも一方を通知するための通知手段をさらに含む。
【0019】
好ましくは、記憶手段は、第1情報における定義内容の全体を記憶し、判断手段は、特定のオブジェクトの前回表示時に記憶された第1情報における定義内容と、特定のオブジェクトの今回表示時における第1情報における定義内容との間の相違点を抽出するための手段と、当該抽出された定義内容の相違点のうち、第2情報において指定される特定のオブジェクトに関する相違点を抽出するための手段とを含む。
【0020】
好ましくは、判断手段は、第2情報において指定される特定のオブジェクトのうち、前回の表示内容からの変更の有無を判断すべき対象のオブジェクトの設定を受付ける手段と、特定のオブジェクトの前回表示時に記憶された第1情報における定義内容の少なくとも一部と、特定のオブジェクトの今回表示時における第1情報における定義内容の少なくとも一部との間の相違点のうち、対象のオブジェクトとして設定されたオブジェクトに関する相違点を抽出するための手段とを含む。
【0021】
好ましくは、記憶手段は、第1情報に定義されたファイルのある状態を示す固有値を記憶する。
【0022】
好ましくは、本情報処理装置は、ユーザ操作に応答して、当該時点の第1情報における定義内容を含む第3情報を生成するための生成手段と、第3情報を参照することで、第2情報において指定される特定のオブジェクトを、第1情報の定義内容とは独立して表示する第3表示手段とをさらに含む。
【0023】
さらに好ましくは、本情報処理装置は、第1情報を第3情報の内容に更新するための更新手段をさらに含み。第1表示手段は、第2情報において指定される特定のオブジェクトを、第3情報が生成された時点の状態で表示する。
【0024】
この発明の別の局面に従う情報処理装置を用いて仮想的な作業空間を提供する方法は、情報処理装置が以下のステップを実行する。当該以下のステップは、作業空間と作業空間に含まれるオブジェクトとを定義する第1情報を管理するステップと、第1情報に基づいて、仮想作業空間の一部または全部の内容を表示するステップと、仮想作業空間に含まれる特定のオブジェクトを指定する第2情報を管理するステップと、第1情報を参照することで、第2情報において指定される特定のオブジェクトを表示するステップと、特定のオブジェクトが表示されるときの、第1情報における定義内容の少なくとも一部を記憶するステップと、特定のオブジェクトの前回表示時に記憶された第1情報における定義内容の少なくとも一部と、特定のオブジェクトの今回表示時における第1情報における定義内容の少なくとも一部とを比較することで、今回の特定のオブジェクトの表示内容が前回の表示内容から変更されたか否かを判断するステップとを含む。
【0025】
この発明のさらに別の局面に従えば、コンピュータを仮想的な作業空間を提供する情報処理装置として機能させるプログラムを提供する。本プログラムは、コンピュータに、作業空間と作業空間に含まれるオブジェクトとを定義する第1情報を管理するステップと、第1情報に基づいて、仮想作業空間の一部または全部の内容を表示するステップと、仮想作業空間に含まれる特定のオブジェクトを指定する第2情報を管理するステップと、第1情報を参照することで、第2情報において指定される特定のオブジェクトを表示するステップと、特定のオブジェクトが表示されるときの、第1情報における定義内容の少なくとも一部を記憶するステップと、特定のオブジェクトの前回表示時に記憶された第1情報における定義内容の少なくとも一部と、特定のオブジェクトの今回表示時における第1情報における定義内容の少なくとも一部とを比較することで、今回の特定のオブジェクトの表示内容が前回の表示内容から変更されたか否かを判断するステップとを実行させる。
【発明の効果】
【0026】
この発明によれば、仮想的な作業空間上における作業結果および/または途中経過の内容を説明する資料の作成後に、当該仮想的な作業空間上の状態が変化した場合であっても、説明者がより適切に説明を行なうことができる。
【図面の簡単な説明】
【0027】
【図1】この発明の実施の形態に従うワークスペースを提供するための情報処理システムの概略構成図である。
【図2】この発明の実施の形態に従う情報処理装置の概略のハードウェア構成を示す模式図である。
【図3】この発明の実施の形態に従うワークスペースの一例を模式的に示す図である。
【図4】図3に示すワークスペースに対応するワークスペース(WS)情報の内容の一例を示す図である。
【図5】この発明の実施の形態に従うワークスペースにおける初期操作を説明するための図である。
【図6】この発明の実施の形態に従うワークスペースのユーザインターフェイスの一例を示す図である。
【図7】この発明の実施の形態に従うワークスペースにおける編集操作を説明するための図である。
【図8】図7に示す編集操作に対応するワークスペース(WS)情報の内容の一例を示す図である。
【図9】この発明の実施の形態に従うワークスペースにおけるオブジェクトの選択操作の別形態を示す図である。
【図10】この発明の実施の形態に従うワークスペースにおける編集前のあるオブジェクトの状態の一例を示す図である。
【図11】この発明の実施の形態に従うワークスペースにおける編集操作(サイズ変更)を説明するための図である。
【図12】この発明の実施の形態に従うワークスペースにおける編集操作(色変更)を説明するための図である。
【図13】この発明の実施の形態に従うワークスペースにおける編集操作(属性変更)を説明するための図である。
【図14】この発明の実施の形態に従うワークスペースにおける編集操作(付与属性表示)を説明するための図である。
【図15】この発明の実施の形態に従うワークスペースにおける編集操作(表示装飾変更)を説明するための図である。
【図16】この発明の実施の形態に従うワークスペースにおけるシナリオ機能の開始操作を説明するための図である。
【図17】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図(その1)である。
【図18】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図(その2)である。
【図19】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図(その3)である。
【図20】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図(その4)である。
【図21】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図(その5)である。
【図22】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図(その6)である。
【図23】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図(その7)である。
【図24】図17〜図23に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報の内容の一例を示す図(その1)である。
【図25】図17〜図23に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報の内容の一例を示す図(その2)である。
【図26】図17〜図23に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報の内容の一例を示す図(その3)である。
【図27】図17〜図23に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報の内容の一例を示す図(その4)である。
【図28】図17〜図23に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報の内容の一例を示す図(その5)である。
【図29】図17〜図23に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報の内容の一例を示す図(その6)である。
【図30】この発明の実施の形態に従うワークスペースにおけるシナリオ機能の開始操作を説明するための図である。
【図31】この発明の実施の形態に従うワークスペースにおけるシナリオ再生機能の操作を説明するための図(その1)である。
【図32】この発明の実施の形態に従うワークスペースにおけるシナリオ再生機能の操作を説明するための図(その2)である。
【図33】この発明の実施の形態に従うワークスペースにおけるシナリオ再生機能の操作を説明するための図(その3)である。
【図34】この発明の実施の形態に従うワークスペースにおけるシナリオ再生機能の操作を説明するための図(その4)である。
【図35】この発明の実施の形態に従うシナリオ変更点検出機能の処理を説明するための図である。
【図36】図35に示すシナリオ情報およびWS情報の内容の一例を示す図である。
【図37】この発明の実施の形態に従うシナリオ変更点の通知機能の表示例を示す図である。
【図38】この発明の実施の形態に従うシナリオ変更点の通知機能の別の表示例を示す図である。
【図39】この発明の実施の形態に従うシナリオ変更点の通知機能の別の表示例を示す図である。
【図40】この発明の実施の形態に従うワークスペースにおけるデータ構造の発展例を示す図である。
【図41】この発明の実施の形態に従う処理装置PCで実現される制御構造を示す概略図である。
【図42】この発明の実施の形態に従うワークスペースの提供に係る処理手順を示すフローチャート(その1)である。
【図43】この発明の実施の形態に従うワークスペースの提供に係る処理手順を示すフローチャート(その2)である。
【図44】この発明の実施の形態の第1変形例に従うWS情報300の内容の一例を示す図である。
【図45】この発明の実施の形態の第1変形例に従うシナリオ変更点検出機能の処理を説明するための図である。
【図46】図45に示す外部ファイル情報600の内容の一例を示す図である。
【図47】この発明の実施の形態の第2変形例に従うシナリオ再生時の操作を説明するための図である。
【図48】図47に示す操作によって生成されるWS情報(写)350の内容の一例を示す図である。
【図49】この発明の実施の形態の第3変形例に従うシナリオ情報および関連するファイルの状態を説明するための図である。
【図50】この発明の実施の形態の第3変形例に従うWS情報300#の内容の一例を示す図である。
【図51】この発明の実施の形態の第3変形例に従うシナリオ巻き戻し処理を説明するための図である。
【図52】この発明の実施の形態の第4変形例に従うオブジェクトの削除に対する警告処理を説明するための図である。
【図53】この発明の実施の形態の第4変形例に従うオブジェクトの削除に対する警告処理の表示例を示す図である。
【図54】この発明の実施の形態の第4変形例に従うシナリオの復元処理を説明するための図である。
【発明を実施するための形態】
【0028】
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0029】
<用語>
本明細書において「ワークスペース」とは、視認可能なオブジェクトを追加したり、編集したりすることができる情報処理装置上で提供される仮想的な作業空間を意味する。このようなワークスペースにより、ユーザが情報を整理したり、他ユーザとの間で情報を共有したりすることができる。このワークスペースを提供する形態(デバイス)としては、プログラム(アブリケーション)を実行する情報処理装置、予めその機能が組み込まれた電子ホワイトボード、および携帯電話やタブレットPC等が考えられる。
【0030】
本明細書において「オブジェクト」とは、ワークスペース上に追加され得るデータ全般を意味する。このオブジェクトがユーザの操作対象単位となる。このオブジェクトの一例としては、図形、テキストドキュメント、ワークシートのセル、画像、音声、ログ、タグ、しおり、注釈、ユーザ情報などが挙げられる。
【0031】
本明細書において「ビュー」または「ビュー表示」とは、ワークスペース上に仮想的に配置されるオブジェクトを視覚化(または、可視化)する処理またはその処理結果を意味する。すなわち、「ビュー」または「ビュー表示」は、ワークスペース上のオブジェクトをレンダリング(描画)することで得られる。ワークスペース上で作業するユーザを支援するために、このビュー表示の内容は、原則としてリアルタイムで更新される。なお、このようなビューを表示するための処理においては、表示倍率、表示位置、オブジェクトの表示タイプ(例えば、ワークスペース上に挿入された外部リングのオブジェクトを示すアイコンを、小サイズおよび大サイズのいずれで表示するか等)、付与情報の表示有無(例えば、表示対象のオブジェクトに関連して各オブジェクトを入力したユーザの名前などを表示するか否か等)、表示属性の選択や有効/無効切り替え、といった各種のパラメータを設定することができる。
【0032】
本明細書において「シナリオ」または「シナリオ表示」とは、ワークスペース上における作業結果および/または途中経過の内容を説明するための表現形態を意味する。後述するように、本実施の形態においては、「シナリオ」は、ワークスペース上のオブジェクトを参照(リンク)としてページ単位に区切られて記述されたものが、1つ以上集まったものである。なお、複数のページを含むシナリオでは、その表現順序が予め定められている。このページ単位で記述された各々を、全体を示す「シナリオ」との対比で、「シナリオページ」とも称す。すなわち、「シナリオ」は、1つ以上の順序付けされた表示単位である「シナリオページ」を含む。言い換えれば、「シナリオ」では、その中に含まれる1つ以上の「シナリオページ」が予め設定された順序で切り替え表示される。このように、本実施の形態に従う「シナリオ」を用いることで、対象のワークスペースにおける作業内容を知らない人に対して、有効なプレゼンテーション等を行なうことができる。
【0033】
<概要>
本実施の形態に従うワークスペースでは、ユーザが実際に作業を行なう仮想空間とは独立して、主としてプレゼンテーションを行なうための「シナリオ」の作成および再生を行なうことができる。このシナリオは、ワークスペース上のオブジェクトに関連付けられているが、ワークスペースとは独立して提供される。そのため、ユーザは、ワークスペース上の作業結果を維持したまま、作業内容を知らない人に対して、有効なプレゼンテーション等を行なうことができる。
【0034】
さらに、このシナリオ再生中において、ユーザがシナリオ中のオブジェクトに対して何らかの編集操作を行なった場合には、その編集操作の内容を元のワークスペース上のオブジェクトに反映させることもできる。
【0035】
特に、本実施の形態に従うワークスペースでは、あるタイミングで再生されたシナリオと、その後に再生されたシナリオとの表示内容の変更点の有無を判断する。すなわち、本実施の形態に従うシナリオ再生によって表示される内容は、当該再生時のワークスペースの状態を反映している。そのため、前回のシナリオ再生時から今回のシナリオ再生時までの間にワークスペース上のオブジェクトなどに何らかの変更操作がなされた場合には、再生タイミングによって、その表示内容がシナリオ作成者の意図とは異なった内容に変わる場合もあるため。そこで、このような事態をシナリオ作成者(または、シナリオ再生を指示したユーザ)に対して知らせることで、適切な処置を促すことができる。
【0036】
<全体構成>
図1は、この発明の実施の形態に従うワークスペースを提供するための情報処理システムの概略構成図である。
【0037】
図1を参照して、本実施の形態に従う情報処理システムは、ネットワークNWを介して互いにデータ通信可能に接続された複数の情報処理装置PC1〜PCN(以下、単に「処理装置PC」とも総称する。)とサーバ装置SRVとを含む。すなわち、図1には、いわゆるサーバ・クライエント構成の情報処理システムを例示する。あるいは、いわゆるピア・トゥ・ピア構成を採用することもできる。
【0038】
なお、本発明に係る情報処理装置および情報処理システムは、単独の処理装置PCとしても実現/提供されるため、必ずしも図1に示すような複数の処理装置PCおよびサーバ装置SRVが必要ではないが、複数のユーザからなるグループによる共同作業を提供する場合には、図1に示すような情報処理システムが好適である。
【0039】
典型的に、図1に示す情報処理システムにおいては、各処理装置PCは、サーバ装置SRVを介して、ワークスペースを提供するための情報(後述する、ワークスペース(WS)情報)を共有することで、各処理装置PCを利用するユーザにワークスペースを同期して提供できる。すなわち、いずれかの処理装置PC上のユーザがワークスペース上に何らかのオブジェクトを追加すると、当該追加されたオブジェクトが他の処理装置PC上に表示されるワークスペースにも反映される。このようにして、ユーザ間で情報の共有化が図られる。
【0040】
なお、上述したように、単独の処理装置PCを用いて具現化するような場合には、当該処理装置PCにワークスペース情報が格納されてもよい。
【0041】
サーバ装置SRVは、主として、処理装置PC1〜PCNの間でのデータ共有を制御する。
【0042】
<ハードウェア構成>
図2は、この発明の実施の形態に従う情報処理装置の概略のハードウェア構成を示す模式図である。
【0043】
図2を参照して、本実施の形態に従う情報処理装置の典型例である処理装置PCは、オペレーティングシステムを含む各種プログラムを実行するCPU(Central Processing Unit)2と、CPU2でのプログラムの実行に必要なデータを一時的に記憶する記憶部としてのメモリ14と、CPU2で実行されるプログラムを不揮発的に記憶するハードディスク(HDD)12とを含む。このようなプログラムは、CD−ROM(Compact Disk-Read Only Memory)ドライブ16またはフレキシブルディスク(FD:Flexible Disk)ドライブ18によって、それぞれCD−ROM16aまたはフレキシブルディスク18aなどから読取られる。
【0044】
CPU2は、キーボード、マウス、タブレットなどからなる入力装置10を介してユーザによる操作要求を受取るとともに、プログラムの実行によって生成される画面出力を出力装置6へ出力する。
【0045】
出力装置6は、対象のワークスペースに係るビューやシナリオをユーザに表示するためのデバイスであり、典型的には、モニターやプロジェクターなどからなる。
【0046】
また、CPU2は、LANカードなどからなる通信インターフェイス8を介して、他の処理装置PCやサーバ装置SRVとの間でデータ通信を行なう。なお、これらの部位は、内部バス4を介して互いに接続される。
【0047】
また、本実施の形態に従うサーバ装置SRVについても情報処理装置であり、そのハードウェア構成についても、図2に示す処理装置PCのハードウェア構成と同様であるので、詳細な説明は繰返さない。
【0048】
<ワークスペースの概要>
次に、図3〜図6を参照して、本実施の形態に従うワークスペースの操作例について説明する。
【0049】
図3は、この発明の実施の形態に従うワークスペースの一例を模式的に示す図である。図4は、図3に示すワークスペースに対応するワークスペース(WS)情報300の内容の一例を示す図である。
【0050】
本実施の形態に従うワークスペース上には、各種のオブジェクトを追加したり、追加したオブジェクトに対して編集や削除したりすることができる。図3には、一例として、オブジェクトOBJ1〜OBJ9が作成済であるワークスペースのある状態が示されている。図3において、オブジェクトOBJ1は「画像オブジェクト」であり、オブジェクトOBJ2,OBJ4〜OBJ9は「テキストオブジェクト」であり、オブジェクトOBJ3は「線オブジェクト」である。このように、オブジェクトの種類としては、電子的に取扱えるデータであれば特に限定されることはないが、一例として、画像や文書といった外部ファイル以外に、図形や線といったベクトルデータ、手書きによる自由入力などを受付可能である。
【0051】
なお、図3に示すワークスペースは、概念的に表現されたものであり、実際には、ユーザ操作に応じた範囲の領域(図3には、ビュー範囲VIEW1およびVIEW2を一例として示す)に含まれる内容が各処理装置PC上にビュー表示(レンダリング)される。すなわち、ワークスペースの一部または全部の内容がユーザに向けて表示される。
【0052】
これらのオブジェクトOBJ1〜OBJ9およびビュー範囲は、図4に示すようなWS情報300として定義される。本実施の形態に従うワークスペースおよびワークスペースに含まれる各オブジェクトを定義するためのWS情報300は、代表的に、XMLなどのマークアップ言語で記述される。このようなマークアップ言語を採用することで、タグ(<>と</>とで囲まれる文字に与える属性)を自在に設定することができるため、システムの拡張性を高めることができる。
【0053】
図4を参照して、WS情報300は、ワークスペースを特定するためのワークスペースタグ302と、ビュー表示を特定するための記述304と、オブジェクトOBJ1〜OBJ5をそれぞれ定義する記述311〜315とを含む。
【0054】
ワークスペースタグ302には、典型的に、ワークスペースの識別番号(space id)、および当該ワークスペースの作成者(Author)などの情報が格納される。なお、ワークスペースタグ302には、文字エンコーディング属性などを含めてもよい。
【0055】
記述304には、ビュー表示を特定するための情報が格納される。より具体的には、<object>タグおよび</object>タグ、ならびに<point x= y= />タグによって、ビュー範囲の中心座標が指定される。また、<zoom_scale>タグおよび</zoom_scale>タグによって、表示倍率(デフォルトの表示サイズに対する拡大/縮小サイズの比)が指定される。
【0056】
各オブジェクトは、<object>タグで始まり、</object>タグで終了する記述によって定義される。これらの記述311〜315の各々には、各オブジェクトの識別番号(object id)、各オブジェクトの種類に応じた属性(image:画像オブジェクト、text:テキストオブジェクト、line:線オブジェクトなど)、各オブジェクトまたは各オブジェクトを構成する要素についてのワークスペース上の座標位置(x= ,y= )、外部ファイルのリンクアドレス(src)、拡大縮小率(scale)などが含まれる。すなわち、記述311〜315の各々には、オブジェクトに対応付けられた識別情報、およびオブジェクトの実体が定義される。
【0057】
より具体的には、<object id>タグには、各オブジェクトを一意に特定する識別番号が定義される。また、<point>タグには、各オブジェクトまたは各オブジェクトを構成する要素についてのワークスペース上の座標位置が定義される。<src>タグには、関連付けされた外部ファイルのリンクアドレスが定義される。
【0058】
例えば、オブジェクトOBJ1に対応する記述311には、<object id>タグにおいて、識別番号が「1」であることが定義され、<image>タグにおいて、イメージオブジェクトであることが定義される。さらに、<image>タグ内の属性において、x='60' y='180'の位置に配置されることが定義され、<src>タグにおいて、外部ファイルを特定する「fuji.jpg」が定義され、<scale>タグにおいて、オブジェクトOBJ1の表示倍率が「0.25」倍であることが定義される。
【0059】
なお、画像オブジェクトなどについては、WS情報300内の記述とは別に外部ファイル(参照先のファイル)が用意されている。このような画像オブジェクトについては、ワークスペース上で、その内容を参照したり表示したりすることが可能である。
【0060】
なお、図4では、1つのWS情報300を用いて、ワークスペースを構成する例について例示したが、複数のファイルを用いて同等の情報を定義してもよい。例えば、各オブジェクトが定義されたファイルを、リレーショナルデータベースなどを用いて互いに関連付けた構成などを採用することができる。すなわち、オブジェクト単位で取扱えるデータ構造であれば、図4に示すデータ構造に限られず、任意のデータ構造を採用することができる。このWS情報300の内容に基づいて、ワークスペースの描画処理や外部出力が行われる。
【0061】
また、図4に示す記述304の内容は、ある処理装置PC上でユーザが拡大縮小やスクロール等のビュー範囲に対する変更を操作することで随時更新される。
【0062】
さらに、処理装置PC上でユーザが操作を行なうことで、ワークスペースの新規作成、作成したワークスペースの書き出し、既作成のワークスペースの読み込みなどが可能である。
【0063】
図5は、この発明の実施の形態に従うワークスペースにおける初期操作を説明するための図である。図5を参照して、典型的な操作例として、処理装置PCの出力装置6には、初期的に、本実施の形態に従うワークスペースを提供するビュー表示ウィンドウ150が表示される。このビュー表示ウィンドウ150には、ワークスペースの内容を表示するための領域158に加えて、その上部には、「ファイル」ボタン152、「操作」ボタン154、「表示」ボタン156が表示される。ユーザが、この「ファイル」ボタン152をマウスなどによって選択すると、WS情報に対する操作を行なうためのダイアログ152aが表示される。このダイアログ152aのうち、「新規WSを開く」が選択されると、新たなワークスペースが作成される。また、「WSを保存する」が選択されると、現在作成中のワークスペースがWS情報として保存される。さらに、「WSを開く」が選択されると、保存されている既作成のWS情報を選択的に読み込んで、ワークスペースを表示する。
【0064】
図6は、この発明の実施の形態に従うワークスペースのユーザインターフェイスの一例を示す図である。図6を参照して、処理装置PCの出力装置6にワークスペースが表示されると、ビュー表示ウィンドウ150に加えて、ワークスペース上におけるビュー範囲の位置を示す位置表示ウィンドウ140が表示される。この位置表示ウィンドウ140には、ワークスペース全体とビュー範囲VIEWとの相対的な位置関係が模式的に示される。ユーザが位置表示ウィンドウ140上のビュー範囲VIEWをマウスなどによって移動もしくは変形(リサイズ)すると、それに応じて、ビュー表示ウィンドウ150の領域158内での表示対象となるワークスペースの範囲も変更される。
【0065】
図6(a)は、図3に示すビュー範囲VIEW1が設定されている場合の表示例を示し、図6(b)は、図3に示すビュー範囲VIEW2が設定されている場合の表示例を示す。図6(a)と図6(b)とを比較すると、ビュー表示ウィンドウ150の領域158は同一サイズであるので、ワークスペース上に設定されるビュー範囲を小さく(狭く)するほど、ワークスペースの内容が拡大表示されることになる。したがって、例えば、ワークスペースの全体を概観したい場合などには、より広い範囲をビュー範囲として設定し、反対に、特定のオブジェクトに着目したい場合などには、より狭い範囲をビュー範囲として設定することになる。
【0066】
<ワークスペースにおける編集機能>
図7は、この発明の実施の形態に従うワークスペースにおける編集操作を説明するための図である。図8は、図7に示す編集操作に対応するWS情報300の内容の一例を示す図である。図9は、この発明の実施の形態に従うワークスペースにおけるオブジェクトの選択操作の別形態を示す図である。
【0067】
ユーザがワークスペース上の何らかのオブジェクトに対して変更や削除といった編集操作を行なう際には、典型的に、操作対象となるオブジェクトを選択した上で、処理内容を指示する。このオブジェクトの選択の方法としては、対象のオブジェクトを直接選択する方法、および所望の範囲を指定することで、当該範囲内に存在するオブジェクトを選択とする方法などがある。また、連続的に複数回に亘ってオブジェクトを選択(追加)できるようにしてもよい。
【0068】
一例として、ユーザがワークスペース上に配置されたオブジェクトOBJ2を移動する場合の操作について例示する。図7(a)に示すように、ユーザは、表示されるカーソルCRSを対象オブジェクト(オブジェクトOBJ2)上に配置した上で、マウスに対するクリック操作(典型的には、左クリック)を行なうことで、オブジェクトOBJ2を直接選択する。あるいは、図7(b)に示すように、ユーザは、表示されるカーソルCRSを対象オブジェクト(オブジェクトOBJ2)上に配置した上で、マウスに対するクリック操作(典型的には、右クリック)を行なうことで操作コマンド一覧を示すダイアログを表示させ、このダイアログ上で「選択」を指定することで、オブジェクトOBJ2を直接選択する。
【0069】
このようにオブジェクトOBJ2が選択された状態で、図7(c)に示すように、ユーザがドラッグ操作やカーソル操作などを行なうことによって、オブジェクトOBJ2を移動させることができる。
【0070】
このとき、図7(c)に示すようなオブジェクトOBJ2に対する移動指示に伴って、図8(a)に示すようなWS情報300に定義されていたオブジェクトOBJ2に係る記述312は、図8(b)に示すように、その座標位置(x= ,y= )の値が変更された記述312#に更新される。すなわち、図8(a)の記述312においては、その配置される座標位置が(x='300' y='240')と定義されていたものが、図8(b)の記述312#においては、座標位置が(x='320' y='160')に変更されている。
【0071】
なお、図7においては、ユーザが対象のオブジェクトを直接的に選択する場合の操作例を示したが、図9に示すように、範囲指定をすることで対象のオブジェクトを間接的に選択するようにしてもよい。
【0072】
すなわち、図9を参照して、ユーザがマウスに対するクリック操作(典型的には、左クリック)を継続した状態で、オブジェクトOBJ2を含むような範囲をドラッグ操作することで所望の範囲が指定される。この指定された範囲に含まれるオブジェクトが選択される。このように、ユーザは対象のオブジェクトを直接的に選択しなくとも、指定した範囲内にあるオブジェクトを選択するようにすることもできる。
【0073】
当然のことながら、図7および図9に示したオブジェクトの移動操作の他にも、各種の編集操作が可能である。例えば、オブジェクトの色、形状、内容の変更などが可能である。他にも、オブジェクト同士の連結やリンクやタグなどの属性設定などを採用してもよい。
【0074】
次に、本実施の形態に従うワークスペースにおける編集操作の一例として、(1)サイズ変更、(2)色変更、(3)属性変更、(4)付与属性表示、(5)表示装飾変更、について、図10〜図15を参照して説明する。
【0075】
図10は、この発明の実施の形態に従うワークスペースにおける編集前のあるオブジェクトの状態の一例を示す図である。図11は、この発明の実施の形態に従うワークスペースにおける編集操作(サイズ変更)を説明するための図である。図12は、この発明の実施の形態に従うワークスペースにおける編集操作(色変更)を説明するための図である。図13は、この発明の実施の形態に従うワークスペースにおける編集操作(属性変更)を説明するための図である。図14は、この発明の実施の形態に従うワークスペースにおける編集操作(付与属性表示)を説明するための図である。図15は、この発明の実施の形態に従うワークスペースにおける編集操作(表示装飾変更)を説明するための図である。
【0076】
まず、図10(a)に示すように、ワークスペース上に、オブジェクトOBJ2が配置されているものとする。この場合、WS情報300は、図10(b)に示すような記述312を含む。
【0077】
(1)サイズ変更
ユーザがオブジェクトOBJ2に対してそのサイズを変更(この例では、拡大)するような操作を行なうと、図11(a)に示すように、オブジェクトOBJ2はそのサイズが拡大されたオブジェクトOBJ2Aに更新される。
【0078】
このようなサイズ変更は、典型的には、WS情報300中の拡大縮小率属性(scaleタグ)によって実現される。すなわち、図11(b)に示すように、オブジェクトOBJ2に対応する記述312は、それに対して<scale>タグおよび</scale>タグが追加された記述312Aに更新される。この<scale>タグおよび</scale>タグによって付与される拡大縮小率(scale)の値は、ユーザ操作に応じた値に設定される。
【0079】
(2)色変更
ユーザがオブジェクトOBJ2に対してその色を変更(この例では、黒からグレイへの変更)するような操作を行なうと、図12(a)に示すように、オブジェクトOBJ2はその表示される色が変更されたオブジェクトOBJ2Bに更新される。
【0080】
このようなサイズ変更は、典型的には、WS情報300中の色属性(colorタグ)によって実現される。すなわち、図12(b)に示すように、オブジェクトOBJ2に対応する記述312は、それに対して<color>タグおよび</color>タグが追加された記述312Bに更新される。この<color>タグおよび</color>タグによって付与される色の(color)の値は、ユーザ操作に応じたもの(この例では、gray)となる。
【0081】
(3)属性変更
ユーザがオブジェクトOBJ2に対してその属性を変更(この例では、表示属性として囲み線の付与)するような操作を行なうと、図13(a)に示すように、オブジェクトOBJ2はその周囲に囲み線が付与されたオブジェクトOBJ2Cに更新される。
【0082】
このようなサイズ変更は、典型的には、WS情報300中の属性値(borderタグ)によって実現される。すなわち、図13(b)に示すように、オブジェクトOBJ2に対応する記述312は、それに対して<border>タグが追加された記述312Cに更新される。この<border>タグ内には、その囲み線の線の太さを記述するwidth属性が定義され、このwidth属性の値は、ユーザ操作に応じた値、あるいはデフォルト値となる。
【0083】
(4)付与属性表示
本実施の形態に従うワークスペースにおいては、オブジェクトOBJ2に対して属性としてコメントを付与することができる。このとき、このようにオブジェクトに付与した属性をワークスペース上に表示するように設定することもできる。具体的な一例として、ユーザが、ワークスペース上のオブジェクトOBJ2に関連付けて、「重要」というコメントを付与した場合を考える。このとき、このコメントを付与したユーザ名やその時刻などが付帯的な属性としてWS情報300に記述される。さらに、ユーザが、これらのコメントおよび付帯的な属性の表示を有効化することで、図14(a)に示すように、コメントおよびその付与された時刻が表示されたオブジェクトOBJ2Dに更新される。
【0084】
このようなコメントの付与は、具体的には、WS情報300中の付与属性(commentタグ)によって実現される。すなわち、図14(b)に示すように、オブジェクトOBJ2に対応する記述312は、それに対して<comment>タグおよび</comment>タグが追加された記述312Dに更新される。この<comment>タグおよび</comment>タグによって囲まれる範囲には、コメントの内容である「重要」が記述される。
【0085】
さらに、記述312Dにおいては、上記のコメントに係る付帯的な属性は、<input>タグを用いて定義される。具体的には、その属性としてdate属性およびuser属性が定義される。date属性には、対応するコメントが追加された時刻が記述され、user属性には、対応するコメントを追加したユーザのIDが記述される。なお、これらの属性は、コメントの追加に応答して、システム側が自動的に付与するようにすることが好ましい。
【0086】
さらに、記述312Dにおいては、これらの付帯的な属性および追加されたコメントの表示を有効にするか否かを示す<display>タグが記述される。この<display>タグは、付帯的な属性についての表示の有効/無効を定義するためのinput属性、および追加されたコメントについての表示の有効/無効を定義するためのcomment属性を含む。各属性については、有効を示す「ON」、または無効を示す「OFF」が記述される。
【0087】
図14(b)に示す例では、input属性およびcomment属性がいずれも「ON」に設定されているので、図14(a)に示すように、追加されたコメントとともに、その付帯的な属性がワークスペース上に表示される。
【0088】
(5)表示装飾変更
ユーザがオブジェクトOBJ2に対してその表示装飾を変更(この例では、点滅表示に設定)するような操作を行なうと、図15(a)に示すように、オブジェクトOBJ2は所定周期で点滅表示するオブジェクトOBJ2Eに更新される。
【0089】
このような表示装飾変更は、典型的には、表示装飾属性(animationタグ)によって実現される。すなわち、図15(b)に示すように、オブジェクトOBJ2に対応する記述312は、それに対して<animation>タグが追加された記述312Eに更新される。この<animation>タグ内には、その表示装飾の内容を示すtype属性として点滅を示す「BLINKING」が定義される。このtype属性の値は、ユーザ操作に応じたものとなる。
【0090】
<ワークスペースにおけるシナリオ作成機能>
次に、図16〜図29を参照して、本実施の形態に従うワークスペースにおけるシナリオ作成機能について説明する。
【0091】
(1)ユーザインターフェイス
図16は、この発明の実施の形態に従うワークスペースにおけるシナリオ機能の開始操作を説明するための図である。図17〜図23は、この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図である。
【0092】
まず、本実施の形態に従うシナリオ機能は、ビュー表示ウィンドウ150上において、ユーザが「表示」ボタン156を選択することで表示されるダイアログ156aに含まれる「シナリオ」をカーソルCRSなどで選択することで、開始される。このシナリオ機能では、ユーザが作業を行なっているワークスペースを定義するWS情報300とは独立したシナリオ情報400が生成されるとともに、ユーザ操作に応じてその内容が追加・更新される。このシナリオ情報400では、シナリオもしくはシナリオページに対応付けて、ワークスペース上の特定のオブジェクトが指定される。
【0093】
図16に示すようにダイアログ156aの「シナリオ」がカーソルCRSなどによって選択されると、処理装置PCの出力装置6には、図17に示すような画面が表示される。図17を参照して、シナリオ機能の実行中には、シナリオの作成・再生・変更反映などを制御するための制御ウィンドウ160が表示される。この制御ウィンドウ160には、複数のシナリオを選択するためのタブ161〜163が表示される。なお、図17に示す例では、3つのシナリオを作成できるように、「シナリオ1」、「シナリオ2」、「シナリオ3」とタイトル付されたタブ161〜163が表示されているが、この選択可能なシナリオの数は3つの限定されることなく、操作性などを考慮して適宜設計することができる。あるいは、1つのシナリオのみを作成するようにした場合には、タブ表示を省略してもよい。
【0094】
タブ161〜163のいずれかがカーソルCRSなどで選択されると、対応のシナリオについての再生、設定、編集を指示するボタンなどが、シナリオページ毎に区別して表示される。より具体的には、例えば、シナリオ1に対応するタブ161が選択されると、シナリオ1に含まれるシナリオページ1〜3にそれぞれ対応付けて、各種ボタンが配置された領域171〜173が表示される。なお、本実施の形態に従うシナリオページは、WS情報300の内容を関連付けて指定することでその実体を定義するため、シナリオページを「リンク」とも表す。そして、領域171には、対応するシナリオページの再生を指示する再生ボタン171aと、対応するシナリオページの編集を指示する編集ボタン171bと、対応するシナリオページの設定を指示する設定ボタン171cとが選択可能に表示される。領域171および172についても、同様に、再生ボタン172aおよび173aと、対応するシナリオページの編集を指示する編集ボタン172bおよび173bと、対応するシナリオページの設定を指示する設定ボタン172cおよび173cとがそれぞれ選択可能に表示される。
【0095】
さらに、制御ウィンドウ160には、シナリオの再生中などに現在のワークスペースにおける対応するオブジェクトの状態を表示させるためのオリジナル表示ボタン165と、シナリオ再生中に他のオブジェクトを表示させるための他オブジェクト表示ボタン166とが選択可能に表示される。
【0096】
まず、何らかのシナリオページを作成する手順としては、ユーザは、まず、ビュー表示ウィンドウ150にワークスペース上の説明対象となるべき内容を表示させる。すなわち、ユーザは、ワークスペースの所望の領域を所望のサイズ(倍率)でビュー表示させる。図17に示す例では、ワークスペース上のオブジェクトOBJ9がビュー表示されている。そして、図18に示すように、制御ウィンドウ160の領域171内の設定ボタン171cをユーザがカーソルCRSなどによって選択することで、当該選択時点におけるビュー表示がシナリオ1の第1番目のシナリオページとして保存される。すなわち、ワークスペースの一部または全部の内容の表示中に、ユーザ操作に応答して、表示中のオブジェクトがシナリオに含まれる特定のオブジェクトとしてシナリオ情報400に記録される。なお、シナリオページが保存済であることを示すために、対応する領域171の表示態様を他の領域とは異ならせることが好ましい。すなわち、図18には、シナリオ1の第1番目のシナリオページに対応する領域171がハッチング表示されている。
【0097】
以下、同様の手順に従って、シナリオ1の第2番目のシナリオページを作成する場合には、ビュー表示ウィンドウ150にワークスペース上の2番目に説明対象となるべき内容を表示させる。そして、図19に示すように、制御ウィンドウ160の領域172内の設定ボタン172cをユーザがカーソルCRSなどによって選択することで、当該選択時点におけるビュー表示がシナリオ1の第2番目のシナリオページとして保存される。
【0098】
さらに、本実施の形態に従うワークスペースにおいては、元のワークスペースのある状態に対してプレゼンテーション用の説明などを付加したり、オブジェクトの元の表示態様とは異なる表示態様で表示したりすることができる。すなわち、ユーザ操作に応答して、シナリオ情報400において指定される特定のオブジェクトに対して表示属性を付与することが可能である。なお、表示属性には、後述するように、オブジェクトの表示サイズ、表示色(オブジェクト色、背景色、境界線色等)、表示装飾(点滅表示や縁取り等)、表示有無などを含む。さらに、表示属性には、オブジェクト種類(画像およびテキストのいずれであるか)、拡大縮小率、線太さ、プロパティ表示有無(入力者や付与コメント等を表示させるか否か)といった内容を含み得る。
【0099】
たとえば、上述のように作成したシナリオ1のシナリオページ2に対して、何らかの編集操作を加える場合には、図20に示すように、制御ウィンドウ160の領域172内の編集ボタン172bをユーザがカーソルCRSなどによって選択することで、対応するシナリオページに対する編集が可能となる。具体的には、編集ボタン172bが選択されることで、シナリオページ編集ウィンドウ182が表示される。このとき、ユーザによる編集操作を指示するためのアイコン群(図示しない)などが表示されてもよい。このシナリオページ編集ウィンドウ182においては、表示される各オブジェクトに対して、色、サイズ、属性等を自在に変更することができる。
【0100】
一例として、図21には、シナリオ1のシナリオページ2に含まれるオブジェクトOBJ4の背景色が変更された状態を示す。なお、各オブジェクトに対する編集操作については、ワークスペース上のオブジェクトに対する編集操作と同様であり、これらの操作例については上述したので、詳細な説明は繰返さない。なお、シナリオページ編集ウィンドウ182上における編集操作の内容は、決定ボタン186が選択されるとシナリオ情報400に反映され、キャンセルボタン188が選択されると取消される。
【0101】
さらに、図22には、上述のシナリオ1のシナリオページ2と同様の内容のシナリオページ3を作成した後、別の編集操作を行なった例を示す。すなわち、図22に示すシナリオページ編集ウィンドウ182には、図21に示すシナリオページ編集ウィンドウ182の内容に対して、さらにオブジェクトOBJ4に関連付けたコメントオブジェクト192が追加されるとともに、オブジェクトOBJ5が非表示に設定されている状態を示す。
【0102】
さらに、図23には、WS情報300に定義されたオブジェクトとは独立した、シナリオ情報400のみに定義されるオブジェクトを追加した例を示す。すなわち、図23に示すシナリオページ編集ウィンドウ182には、図22に示すシナリオページ編集ウィンドウ182の内容に対して、さらに(図形)オブジェクトOBJ21が追加されている状態を示す。
【0103】
なお、図16〜図23に示すユーザインターフェイスは一例であり、上述のような操作が可能であれば、どのようなユーザインターフェイスを用いてもよい。たとえば、上述の例では、制御ウィンドウ160内にシナリオページ毎に各種ボタンが表示される例を示したが、「次へ」ボタンおよび「戻る」ボタンを表示させて、シナリオページを相対的に指示可能にするとともに、現在選択中のシナリオページに対して、再生、設定、編集などを指示可能にしてもよい。また、一旦設定したシナリオページを削除するための「解除」ボタンなどを選択可能に表示してもよい。
【0104】
(2)データ構造
図24〜図29は、図17〜図23に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報400の内容の一例を示す図である。なお、以下の説明では、シナリオ単位でシナリオ情報400が生成される例を示すが、1つのシナリオ情報400に複数のシナリオを含めるようにしてもよい。
【0105】
図24には、シナリオ1に関連付けてシナリオページが未作成の状態(初期状態)における、シナリオ情報400の内容の一例を示す。この図24に示すシナリオ情報400は、図17に示すシナリオページが未だ作成されていない状態に対応する。図24に示すように、シナリオ情報400は、一例として、XMLなどのマークアップ言語で記述される。
【0106】
シナリオ情報400は、対象のシナリオを特定するためのシナリオ(scenario)タグ402を含む。このシナリオタグ402には、典型的に、対象のシナリオの識別番号(id)、および当該シナリオの作成者(Author)などの情報が格納される。なお、シナリオタグ402には、文字エンコーディング属性などを含めてもよい。
【0107】
次に、図16に示すように、ワークスペース上のオブジェクトOBJ9を含むビュー表示に対応してシナリオページ1の作成が指示されると、シナリオ情報400は図25に示すような内容に更新される。
【0108】
図25に示すシナリオ情報400においては、図24に示すシナリオ情報400に対して、シナリオページ1を定義する記述410が追加されている。この記述410は、シナリオページ1に含まれるオブジェクトを特定するための情報を含む。より具体的には、<link>タグおよび</link>タグによって、いずれのシナリオページの内容であるかが指定される。すなわち、<link>タグの属性として、対象のシナリオの識別番号(id)が定義される。さらに、<link>タグおよび</link>タグ内には、対象とすべきオブジェクトについての参照情報411である、<target_object>タグおよび</target_object>タグが記述される。この<target_object>タグには、その属性値として、対象オブジェクトの識別番号(object id)を示す識別番号(id)が定義される。すなわち、シナリオ情報400は、WS情報300における特定のオブジェクトの定義内容と関連付けるための参照情報を含む。図25に示すシナリオ情報400においては、シナリオページ1に含まれるオブジェクトOBJ9を示す識別情報として「id=9」が定義されている。さらに、後述するように、<target_object>タグおよび</target_object>タグ内には、対応するオブジェクトについての、シナリオページ編集ウィンドウ182上における編集操作の内容(すなわち、表示属性)が記述される。
【0109】
次に、図19に示すオブジェクトOBJ4〜OBJ6を含むビュー表示がシナリオページとして作成された場合のシナリオ情報400の内容を図26に示す。図26に示すシナリオ情報400においては、図25に示すシナリオ情報400に対して、シナリオページ2を定義する記述420が追加されている。この記述420は、シナリオページ2に含まれるオブジェクトOBJ4〜OBJ6を特定するための情報を含む。すなわち、上述したような<target_object>タグおよび</target_object>タグを用いて、シナリオページ2に含まれる各オブジェクトについての参照情報421,422,423が定義される。
【0110】
その後、図21に示すように、シナリオページ2に含まれるオブジェクトOBJ4の背景色の(無色から赤色への)変更が指示されると、シナリオ情報400は、図27に示すような内容に更新される。すなわち、オブジェクトOBJ4に対応する参照情報421に対して、シナリオページにおける表示属性を示す<color>タグおよび</color>タグが記述される。この<color>タグおよび</color>タグ内には、表示属性として、変更後の色を示す「red」が定義されている。すなわち、<color>タグおよび</color>タグは、対応のオブジェクトのシナリオページにおける属性がワークスペース上の属性とは異なっていることを示す。
【0111】
さらに、図23に示すように、オブジェクトOBJ4〜OBJ6を含むシナリオページ3が作成された後、当該シナリオページ3に対して、オブジェクトOBJ4に関連付けたコメントオブジェクト192の追加、およびオブジェクトOBJ5の非表示化が指示されると、シナリオ情報400は、図28に示すような内容に更新される。
【0112】
図28に示すシナリオ情報400においては、図27に示すシナリオ情報400に対して、シナリオページ3を定義する記述430が追加されている。この記述430は、シナリオページ3に含まれるオブジェクトOBJ4〜OBJ6を特定するための情報を含む。すなわち、上述したような<target_object>タグおよび</target_object>タグを用いて、シナリオページ3に含まれる各オブジェクトについての参照情報431,432,433が定義される。
【0113】
さらに、上述の編集操作に対応して、参照情報431は、表示属性として、シナリオページにおける表示属性を示す<color>タグおよび</color>タグ、コメントの内容を示す<comment>タグおよび</comment>タグ、およびコメントの表示を有効にするか否かを示す<display>タグを含む。<color>タグおよび</color>タグ内には、変更後の色を示す「red」が定義されている。また、<comment>タグおよび</comment>タグ内には、コメントの内容である「これが結論」が記述されている。さらに、<display>タグには、コメントの表示が有効であることを示す「ON」が記述されている。
【0114】
また、参照情報432は、対応のオブジェクトの表示を有効にするか否かを示す<display_flag>タグおよび</display_flag>タグを含む。この<display_flag>タグおよび</display_flag>タグ内には、オブジェクトOBJ5の非表示化の指示に対応して、非表示であることを示す「OFF」が定義されている。
【0115】
図29に示すシナリオ情報400においては、図28に示すシナリオ情報400に対して、オブジェクトOBJ21を定義する記述434が追加されている。この記述434は、シナリオ用のオブジェクトであることを示す<scenario_object>タグおよび</scenario_object>タグを含み、<scenario_object>タグには、オブジェクトの識別番号(id)が属性として付加されている。さらに、この<scenario_object>タグは、対象のオブジェクトの色を定義するための<color>タグおよび対象のオブジェクトに付加すべきテキストを定義するための<text>タグを含む。
【0116】
このように、シナリオを定義するシナリオ情報400においては、各オブジェクト自体の定義に代えて、ワークスペースを定義するWS情報300におけるオブジェクトの定義を参照するように記述される。そのため、シナリオの作成後に、ワークスペース上のオブジェクトに何らかの編集操作がなされたとしても、当該編集後の状態がシナリオに動的に反映される。また、シナリオ情報400においては、<link>タグおよび</link>を用いることで、互いに独立した表示単位(シナリオページ)毎に、特定のオブジェクトを指定することが可能である。
【0117】
<ワークスペースにおけるシナリオ再生機能>
次に、図30〜図34を参照して、本実施の形態に従うワークスペースにおけるシナリオ再生機能について説明する。
【0118】
図30は、この発明の実施の形態に従うワークスペースにおけるシナリオ機能の開始操作を説明するための図である。図31〜図34は、この発明の実施の形態に従うワークスペースにおけるシナリオ再生機能の操作を説明するための図である。
【0119】
本実施の形態に従うシナリオ再生機能についても、上述の図16と同様に、ビュー表示ウィンドウ150上において、ユーザが「表示」ボタン156を選択することで表示されるダイアログ156aに含まれる「シナリオ」をカーソルCRSなどで選択することで、開始される。
【0120】
図31に示すように、シナリオ機能が開始されると、制御ウィンドウ160が表示される。その後、図32に示すように、ユーザが制御ウィンドウ160の領域171内の再生ボタン171aをカーソルCRSなどによって選択することで、シナリオ表示ウィンドウ180が表示されるとともに、シナリオ情報400がロードされる。そして、当該シナリオ情報400の記述内容に基づいて、シナリオ表示ウィンドウ180内にシナリオ1のシナリオページ1が表示される。
【0121】
続いて、図33に示すように、ユーザが制御ウィンドウ160の領域172内の再生ボタン172aをカーソルCRSなどによって選択することで、シナリオ表示ウィンドウ180の表示は、シナリオ表示ウィンドウ180内にシナリオ1のシナリオページ2に更新される。さらに、図34に示すように、ユーザが制御ウィンドウ160の領域173内の再生ボタン173aをカーソルCRSなどによって選択することで、シナリオ表示ウィンドウ180の表示は、シナリオ表示ウィンドウ180内にシナリオ1のシナリオページ3に更新される。
【0122】
このように、複数のシナリオページが設定されている場合に、指定されたシナリオページに対応付けられた内容(それに含まれるオブジェクト)が表示される。すなわち、シナリオ情報400に記載の表現順序に従って、各シナリオページの内容が順次描画される。より具体的には、シナリオ情報400に含まれる参照情報に基づいて、WS情報300の定義内容が参照されるとともに、当該参照することで得られた情報(各オブジェクトの定義)に基づいて、各シナリオページの内容が順次描画される。
【0123】
また、再生されるシナリオページは、シナリオページ作成時に設定した表示属性を反映したものとなっている。すなわち、シナリオ情報400においては指定されるオブジェクトが、WS情報300における対応する定義の内容と、シナリオ情報400において付与されている表示属性とに基づいて描画される。
【0124】
なお、図31〜図34に示すユーザインターフェイスは一例であり、上述のような操作が可能であれば、どのようなユーザインターフェイスを用いてもよい。たとえば、上述の例では、制御ウィンドウ160内の再生ボタンが選択される毎に、対応するシナリオページが表示される例を示したが、「次へ」ボタンおよび「戻る」ボタンを選択可能に表示させて、表示されるシナリオページを相対的に移動できるようにしてもよい。あるいは、いわゆるスライドショーのように、所定時間毎にシナリオページの表示が順次切換わるようにしてもよい。すなわち、複数のシナリオページが設定されている場合に、各シナリオページに対応付けられた内容(それに含まれる特定のオブジェクト)を所定順序で切替えて表示してもよい。
【0125】
<ワークスペースにおけるシナリオ変更点検出機能>
本実施の形態に従うワークスペースでは、あるユーザが、図17〜図23に示すような手順に従ってシナリオを新規作成または編集した後、図31〜図34に示すような手順に従ってシナリオを再生したとする。このシナリオの再生時に、関連付けられているワークスペースの状態が保存され、その後のシナリオの再生時に、この保存されているワークスペースの状態からの変更点の有無および/またはその内容が検出される。すなわち、本実施の形態に従うワークスペースでは、シナリオ情報400に基づいてシナリオ再生(すなわち、シナリオ情報400に定義されているオブジェクトが表示)されるときの、WS情報300における定義内容の少なくとも一部が記憶される。そして、前回のシナリオ再生時に記憶されたWS情報300における定義内容の少なくとも一部と、今回のシナリオ再生時におけるWS情報300における定義内容の少なくとも一部とを比較することで、今回再生されるシナリオに含まれるオブジェクトの表示内容が前回の表示内容から変更されたか否かが判断される。さらに、今回再生されるシナリオに含まれるオブジェクトの表示内容が前回再生されるシナリオの表示内容から変更されたと判断されたときに、変更点の数および/または変更内容がユーザに通知される。
【0126】
このような構成を採用することで、あるタイミングでシナリオを再生する場合に、現在のワークスペースの状態と前回のシナリオの生成時におけるワークスペースの状態との間の差異点が検出される。そして、検知された変更点の有無および/またはその内容は、ユーザに通知される。そのため、当該シナリオを用いてワークスペースでの作業結果および/または途中経過を説明するユーザは、シナリオにおいて表現される内容が前回の再生時から変化していることを予め知ることができるので、適切な対処をとることができる。
【0127】
図35は、この発明の実施の形態に従うシナリオ変更点検出機能の処理を説明するための図である。図36は、図35に示すシナリオ情報およびWS情報の内容の一例を示す図である。
【0128】
図35(a)を参照して、ユーザがシナリオの新規作成/編集操作を行なうと、シナリオ情報400が新たなに作成またはその内容が更新される。なお、シナリオ情報400は、WS情報300における特定のオブジェクトの定義内容と関連付けるための参照情報(
たとえば、図25に示す参照情報411)を含む。すなわち、シナリオ情報400とWS情報300とは、互いに関連付けられている。
【0129】
次に、図35(b)を参照して、ユーザによってシナリオ再生が指示されると、当該時点のワークスペースの状態が保存される。より具体的には、当該時点におけるWS情報300の内容が複写され、WS情報(写)350として保存される。すなわち、WS情報300の定義内容の全体が保存される。したがって、このWS情報(写)350は、シナリオ再生時のWS情報300と同一の内容を有する。なお、実際のファイル操作としては、WS情報300のファイル名がたとえば「WS.xml」であるとすると、シナリオ再生時(すなわち、WS情報(写)350の保存時)のタイムスタンプをこのファイル名に付加した「WS_200903181502.xml」といったファイル名を有するファイルとして、WS情報(写)350を保存する。なお、WS情報(写)350は、2009年3月18日15時02分に保存されたものとする。
【0130】
このシナリオ再生は、シナリオを作成したユーザがその仕上がったシナリオの内容を予め確認する場合などが想定される。
【0131】
次に、図35(c)を参照して、シナリオ再生の終了後、ワークスペースに対して何らかの編集操作がなされたとする。なお、複数の処理装置PCが同期して共通のワークスペースが提供されている場合には、WS情報300の内容は、他の処理装置PCに関連付けられたユーザの操作によっても変更される。但し、この場合であっても、シナリオ情報400およびWS情報(写)350は、いわゆるローカルエリアに保存されており、他の処理装置PCによってその内容が変更されることが禁止される。
【0132】
ワークスペースに対する何らかの編集操作に応答して、WS情報300の内容が変更されたとする(内容が異なることを明瞭化するために、WS情報300Aと記す)。
【0133】
次に、図35(d)を参照して、ワークスペースに対して何らかの編集操作がなされた後、シナリオを再生する場合を考える。このシナリオ再生は、実際にワークスペースにおける作業結果および/または途中経過をプレゼンテーションするような場合などが想定される。このとき、前回のシナリオ再生時に保存された当該時点におけるワークスペースの状態を示すWS情報(写)350と、現時点におけるワークスペースの状態を示すWS情報300Aとが比較される。そして、両者の内容が不一致となった場合には、ワークスペースの状態が前回のシナリオ再生時から変更されたことおよび/またはその変更の内容がユーザに通知される。
【0134】
より具体的な一例として、1回目のシナリオ再生後に、図19に示すオブジェクトOBJ4の位置が変更された場合を考える。この場合のWS情報300およびWS情報(写)350(図35(b))の内容の一部を図36(a)に示す。この図36(a)に示すWS情報300およびWS情報(写)350は、オブジェクトOBJ4の座標位置(x='100' y='300')を示す記述351を含む。これに対して、この図36(b)に示すWS情報300Aは、変更後のオブジェクトOBJ4の座標位置(x='200' y='300')を示す記述351Aを含む。
【0135】
図35(d)に示すように、再度シナリオが再生されると、WS情報(写)350とWS情報300Aとが比較される。このような比較処理の具体例としては、XMLパーサを用いて、WS情報(写)350およびWS情報300Aの内容をXML要素毎に分解する。そして、分解されたXML要素毎に比較することで、変更点を検出する。XML要素毎の比較は、単純な文字列比較処理を用いることで実現できる。あるいは、最長共通部分または最小エディット距離に基づいて、変更点を検出するような公知のアルゴリズムを採用してもよい。このような最長共通部分または最小エディット距離に基づく検索アルゴリズムについては、文献1(E.W. Myers, "An O(ND) difference algorithm and its variations")および文献2(S.W.maner, G.Myers, W.Mileer, "An O(NP) Sequence Comparison Algorithm")などを参照されたい。
【0136】
そして、WS情報(写)350とWS情報300Aとの間の変更点を以下のように抽出できたとする。
【0137】
・WS情報(写)350:
<object id=4>
<text x='100' y='300'>
・WS情報300A:
<object id=4>
<text x='200' y='300'>
このように抽出された変更点について、上述のXMLパーサによって分解されたXML要素のうち、シナリオ情報400に記述されているオブジェクト(object id)の数を算出する。この算出された結果が0ではない場合に、ワークスペースに対してシナリオに影響がある変更がなされたと判断される。なお、シナリオ情報400に、<object>タグ以外の要素が定義されている場合には、その定義に対応するWS情報300の記述についても、変更有無の判断対象とする。
【0138】
上述のように、本実施の形態に従うワークスペースでは、シナリオ情報400に基づく前回のシナリオ再生時に記憶されたWS情報300における定義内容(WS情報(写)350)と、今回のシナリオ再生時におけるWS情報300における定義内容との間の相違点が抽出され、さらに、抽出された定義内容の相違点のうち、シナリオ情報400において指定されるオブジェクトに関する相違点が抽出される。
【0139】
<シナリオ変更点の通知機能>
次に、シナリオ変更点の通知機能について、図37〜図39を参照して説明する。
【0140】
図37は、この発明の実施の形態に従うシナリオ変更点の通知機能の表示例を示す図である。図38および図39は、この発明の実施の形態に従うシナリオ変更点の通知機能の別の表示例を示す図である。
【0141】
図37を参照して、ユーザによってシナリオ再生が指示されると、上述のようなWS情報(写)350とWS情報300Aとが比較される。そして、上述のように、シナリオに用いられている何らかのオブジェクトなどに変更があると判断されると、図37に示すような通知ウィンドウ196が表示される。この通知ウィンドウ196には、たとえば、シナリオに用いられているオブジェクトのうち、変更されたものの数を示す「シナリオ中、1点変更がありました。」というメッセージが表示される。さらに、抽出された相違点の内容に基づいて、変更内容を示す「変更内容:object id=4」および「変更内容:位置(100,300)→(200,300)」というメッセージが表示される。
【0142】
なお、ワークスペース上の状態とは異なる態様でオブジェクトを表示するための表示属性についても、比較対象としてもよい。すなわち、図22に示すようなワークスペースからは独立したコメントオブジェクト192が、前回の再生時から変更されたような場合にも、その変更内容をユーザに通知することが好ましい。なお、この場合には、前回のシナリオ再生時に、WS情報(写)350とともに、当該時点におけるシナリオ情報400の内容が保存される。
【0143】
たとえば、前回のシナリオ再生時に、図38(a)に示すように、オブジェクトOBJ4に関連付けて、「仮決定」というテキストを含むコメントオブジェクト192が付与さていたとする。これに対して、今回のシナリオ再生時には、図38(b)に示すように、オブジェクトOBJ4に関連付けられたコメントオブジェクトのテキストが「仮決定」から「これが結論」というテキストに変更されていたものとする。
【0144】
このような場合において、ユーザによってシナリオ再生が指示されると、先に保存されているシナリオ情報400と現在のシナリオ情報400とが比較される。そして、上述のようにシナリオに付与されているコメントオブジェクトに変更があると、図39に示すような通知ウィンドウ197が表示される。この通知ウィンドウ197には、たとえば、シナリオに付与されていたコメントオブジェクトの変更前と変更後の内容が視覚的に対比可能な態様で表示される。さらに、変更されたオブジェクトの数を示す「シナリオ中、1点変更がありました。」というメッセージも表示される。
【0145】
なお、変更前後の差異点を着色表示(たとえば、「赤色」)をすることで、ユーザに注意を促してもよい。なお、通知ウィンドウ197は、図39に示すようなビュー表示ウィンドウ150の上に重ねて表示する形態に代えて、独立に表示してもよい。より好ましくは、ユーザが何らかのアクションを行った場合に、その位置にポップアップ的に表示される。また、通知ウィンドウ197の存在しない部分をユーザがクリックすると、該当変更場所に画面表示を移動させることが好ましい。
【0146】
<データ構造の発展例>
ユーザが自身の作業結果および/または途中経過を他人に説明する場合において、その説明相手の理解度や職制などに応じて、その説明内容を異なったものとする場合も想定される。この場合には、共通のWS情報300に基づいて、作成したシナリオの数だけシナリオ情報400が生成される。そして、これらのシナリオ情報400が再生される度に、当該時点におけるWS情報(写)350が複数保存されることになる。そのため、シナリオ情報400とWS情報(写)350とを対応付けるための情報を予め保存しておくことが有効な場合がある。以下、このような場合のデータ構造について説明する。
【0147】
図40は、この発明の実施の形態に従うワークスペースにおけるデータ構造の発展例を示す図である。図40(a)に示すように、たとえば、各々が共通のWS情報300を参照する2つのシナリオ情報400−1,400−2が作成されているものとする。これらのシナリオ情報のうち、シナリオ情報400−1が再生されると、当該再生時のWS情報300を複製したWS情報(写)350−1が生成される。また、シナリオ情報400−2が再生されると、当該再生時のWS情報300を複製したWS情報(写)350−2が生成される。
【0148】
この場合には、シナリオ情報400−1の次回再生時には、当該時点のWS情報350とWS情報(写)350−1とが比較され、シナリオ情報400−2の次回再生時には、当該時点のWS情報350とWS情報(写)350−2とが比較される必要がある。したがって、このようなファイル同士の対応関係を定義するために、対応情報500を用意してもよい。
【0149】
図40(b)には、対応情報500の内容の一例を示す。この対応情報500には、WS情報(写)350のファイル名に対応付けて、当該WS情報(写)350が作成されたタイムスタンプ501、当該WS情報(写)350を作成するトリガーとなったシナリオ情報400の識別情報(scenario id)502、ならびに、対応するシナリオ情報400が参照するワークスペースの識別情報(workspace id)503および当該シナリオ情報400のファイル名504などが定義される。
【0150】
より具体的には、タイムスタンプ501は、WS情報(写)350が保存された日付および時刻を示す値(この例では、2009年3月18日15時02分を示す「200903181502」)を要素値として含む<timestamp>タグを用いて記述される。また、シナリオ情報400の識別情報502は、対応のWS情報300に定義されているシナリオの識別情報(scenario id)の値を要素値として含む<scenario id>タグを用いて記述される。また、ワークスペースの識別情報503は、対応のWS情報300に定義されているシナリオの識別情報(workspace id)の値を要素値として含む<workspace id>タグを用いて記述される。また、WS情報300のファイル名504は、対応のWS情報300のファイル名(この例では、「WS_200903181502.xml」)を要素値として含む<workspace name>タグを用いて記述される。
【0151】
なお、ワークスペースの識別情報503およびWS情報300のファイル名504については、必ずしも定義する必要はなく、WS情報(写)350が作成されたタイムスタンプ501を用いることで、シナリオ情報400とWS情報(写)350との対応関係を定義することができる。
【0152】
<制御構造>
図41は、この発明の実施の形態に従う処理装置PCで実現される制御構造を示す概略図である。図41を参照して、処理装置PCは、制御構造として、入力装置10と、出力装置6と、処理部100と、WS格納部120と、入出力制御装置130とを含む。典型的に、処理部100および入出力制御装置130は、ハードディスク12に予め格納されているプログラムをCPU2がメモリ14に展開した上で実行することで提供される。また、WS格納部120は、HDD12の一部として提供される。
【0153】
なお、入力装置10、出力装置6、処理部100、WS格納部120、および入出力制御装置130を必ずしも同一の処理装置PCに設ける必要はなく、別体の装置に分散して設けてもよい。また、入出力制御装置130を、入力装置10や出力装置6の内部に設けてもよい。さらに、入力装置10および出力装置6と入出力制御装置130との間、入出力制御装置130と処理部100との間、および処理部100とWS格納部120との間などに、別の情報処理装置や制御部などを仲介させる形で構成してもよい。
【0154】
入出力制御装置130は、入力装置10で受付けた入力信号の内容を解釈して、対応する指令を処理部100へ出力する。すなわち、入出力制御装置130は、ユーザが入力装置10に対してどのような内容の操作を行なったのかを判断する。より具体的な一例として、入出力制御装置130は、マウスのクリックやドラッグなどによって、ワークスペース上のいずれのオブジェクトが選択されたのか、いずれのボタンが押下されたのか、クリック操作およびドラッグ操作のいずれであるのか、といった内容を解釈する。
【0155】
また、入出力制御装置130は、処理部100からの情報に基づいて、出力用の信号を生成して、出力装置6へ送る。より具体的な一例として、入出力制御装置130は、ワークスペース上でユーザが行なったオブジェクト操作やビューの変更操作に応じて、表示される画面上のいずれの部分にどのような表示を行なえばいいよいのかを決定して出力信号を生成(レンダリング)する。
【0156】
処理部100は、本実施の形態に従うワークスペースを提供する処理の全体を司る。処理部100は、操作管理部102と、ビュー管理部104と、オブジェクト管理部106と、シナリオ管理部108と、WS空間管理部110と、WS入出力部112と、WS作業メモリ114とを含む。
【0157】
操作管理部102は、入出力制御装置130から送られる情報に基づいて、要求される処理内容を判断し、その判断結果に応じて、ビュー管理部104、オブジェクト管理部106、シナリオ管理部108、WS空間管理部110、およびWS入出力部112のうち、対応する部位へ指令を与える。より具体的には、操作管理部102は、受けた操作内容が、ワークスペースの新規作成、ワークスペースのリセット、ワークスペースの削除などである場合、WS空間管理部110に指示が出され、WS空間管理部110で処理が実行される。また、操作管理部102は、受けた操作内容が、オブジェクトに対する移動・内容変更・装飾変更などの編集、新規オブジェクトの作成、削除である場合、オブジェクト管理部106に指示が出され、オブジェクト管理部106で処理が実行される。また、操作管理部102は、受けた操作内容が、ビューの変更である場合、ビュー管理部104に指示が出され、ビュー管理部で処理が実行される。また、操作管理部102は、受けた操作内容が、ワークスペースの読み込みや書き出しである場合、WS入出力部112に指示が出され、WS入出力部112で処理が実行される。また、操作管理部102は、受けた操作内容が、シナリオの作成、シナリオの再生、オブジェクトに対する変更反映、シナリオ多面化機能などである場合、シナリオ管理部108に指示が出され、シナリオ管理部108で処理が実行される。
【0158】
WS作業メモリ114には、ワークスペースを提供するためのWS情報300、および上述のシナリオ機能を提供するためのシナリオ情報400が格納される。これらのWS情報300およびシナリオ情報400は、ユーザ操作および各部における処理に伴って、随時更新される。また、上述したように、シナリオ再生にともなって、当該時点のWS情報300が複製されて、WS情報(写)350として保存される。
【0159】
WS空間管理部110は、操作管理部102からの指示に従って、WS作業メモリ114におけるWS情報300の新規作成および削除などを管理する。すなわち、WS空間管理部110は、ワークスペースとワークスペースに含まれるオブジェクトとを定義するWS情報300を管理するためのものである。
【0160】
オブジェクト管理部106は、操作管理部102からの指示に従って、WS作業メモリ114に格納されているWS情報300の内容(記述)を更新する。
【0161】
ビュー管理部104は、操作管理部102からの指示に従って、WS作業メモリ114に格納されているWS情報300に定義されている情報のうち、ユーザにより指定されるビュー範囲に含まれる情報に基づいて、描画処理(レンダリング処理)を行なう。すなわち、ビュー管理部104は、WS情報300に基づいて、ワークスペースの一部または全部の内容を表示するためのものである。
【0162】
WS入出力部112は、操作管理部102からの指示に従って、WS格納部120に格納されているWS情報120aを読出し、あるいはWS作業メモリ114に格納されているWS情報300に従ってWS格納部120に格納されているWS情報120aを更新する。WS格納部120は、WS情報120aを不揮発的に記憶しており、ワークスペースを提供するアプリケーションがシャットダウンされた後であっても、WS情報120aを継続的に保持する。
【0163】
シナリオ管理部108は、操作管理部102からの指示に従って、WS作業メモリ114にシナリオ情報400を作成し、さらにシナリオ情報400の内容を適宜更新する。すなわち、シナリオ管理部108は、ワークスペースに含まれる特定のオブジェクトを指定するためのシナリオ情報400を管理するためのものである。また、シナリオ管理部108は、シナリオ情報400においては指定される特定のオブジェクトを表示するためのものでもある。そして、シナリオ管理部108は、上述したシナリオ変更点検出機能の処理を具体的に実行する主体でもある。
【0164】
なお、サーバ装置SRVを介して複数の処理装置PCの間で、WS情報300および/またはシナリオ情報400を共有して保持する場合には、サーバ装置SRVおよび/または他の処理装置PCとの間で通信を行なって、WS作業メモリ114内のWS情報300を適宜更新(同期)するための同期処理部をさらに設けてもよい。
【0165】
<処理手順>
次に、図42および図43を参照して、本実施の形態に従うワークスペースの提供に係る処理手順について説明する。図42および図43に示す各ステップは、典型的に、CPU2がプログラムを実行することで進められる。すなわち、CPU2がプログラムを実行することで提供される制御構造(図41)により各処理が進められる。なお、ワークスペースは既に作成されているものとする。
【0166】
図42および図43を参照して、ステップS100において、操作管理部102として機能するCPU2は、ワークスペース上のオブジェクトについての新規作成・変更・削除などがユーザによって指示されたか否かを判断する。実体オブジェクトについての新規作成・変更・削除などがユーザによって指示された場合(ステップS100においてYESの場合)には、処理はステップS102へ進み、そうでなければ(ステップS100においてNOの場合)、処理はステップS106へ進む。
【0167】
ステップS102において、操作管理部102として機能するCPU2は、ユーザ操作に応じた指示をオブジェクト管理部106へ与える。この指示に応答して、オブジェクト管理部106として機能するCPU2は、WS作業メモリ114に格納されているWS情報300の内容を更新する。典型的には、ユーザが、上述の図7〜図15に示す編集操作などを行なうと、この編集操作に応じて、WS情報300中の対応するオブジェクトの記載を変更する。そして、処理はステップS104へ進む。
【0168】
ステップS104において、ビュー管理部104として機能するCPU2は、更新後のWS情報300の内容に基づいて、現在のビュー表示を更新する。そして、処理はステップS106へ進む。
【0169】
ステップS106において、操作管理部102として機能するCPU2は、ビュー表示の変更がユーザによって指示されたか否かを判断する。ビュー表示の変更がユーザによって指示された場合(ステップS106においてYESの場合)には、処理はステップS108へ進み、そうでなければ(ステップS106においてNOの場合)、処理はステップS110へ進む。
【0170】
ステップS108において、ビュー管理部104として機能するCPU2は、ユーザから指示された内容に従って、ビュー表示を更新する。すなわち、ビュー管理部104は、指定されたビュー表示の中心座標や表示倍率に応じたビュー表示を生成し、出力装置6から出力する。そして、処理はステップS110へ進む。
【0171】
ステップS110において、シナリオ管理部108として機能するCPU2は、シナリオ機能の開始がユーザによって指示されたか否かを判断する。すなわち、CPU2は、図16に示すような、ダイアログ156aの「シナリオ」がカーソルCRSなどによって選択されたか否かを判断する。シナリオ機能の開始がユーザによって指示された場合(ステップS110においてYESの場合)には、処理はステップS112へ進み、そうでなければ(ステップS110においてNOの場合)、処理は終了する。
【0172】
ステップS112において、シナリオ管理部108として機能するCPU2は、シナリオの作成・再生・変更反映などを制御するための制御ウィンドウ160を選択可能に表示する。そして、処理はステップS114へ進む。
【0173】
ステップS114において、シナリオ管理部108として機能するCPU2は、シナリオページの作成がユーザによって指示されたか否かを判断する。すなわち、CPU2は、制御ウィンドウ160内のいずれかの設定ボタンがカーソルCRSなどによって選択されたか否かを判断する。シナリオページの作成がユーザによって指示された場合(ステップS114においてYESの場合)には、処理はステップS116へ進み、そうでなければ(ステップS114においてNOの場合)、処理はステップS122へ進む。
【0174】
ステップS116において、シナリオ管理部108として機能するCPU2は、作成が指示されたシナリオページを特定する。すなわち、CPU2は、選択された制御ウィンドウ160内の設定ボタンがいずれのシナリオ番号およびシナリオページ番号に関連付けられたものであるかを判断する。続くステップS118において、シナリオ管理部108として機能するCPU2は、現在のビュー表示に含まれるオブジェクトの識別番号を取得する。さらに続くステップS120において、シナリオ管理部108として機能するCPU2は、シナリオ情報400に対して、ステップS116において特定したシナリオ番号およびシナリオページ番号に関連付けて、ステップS118において取得したオブジェクトの識別番号を参照情報(リンク情報)として追加する。すなわち、ユーザが設定ボタンを選択した時点におけるビュー表示の内容が、シナリオページとして保存される。そして、処理はステップS122へ進む。
【0175】
ステップS122において、シナリオ管理部108として機能するCPU2は、シナリオページの編集がユーザによって指示されたか否かを判断する。すなわち、CPU2は、制御ウィンドウ160内のいずれかの編集ボタンがカーソルCRSなどによって選択されたか否かを判断する。シナリオページの編集がユーザによって指示された場合(ステップS122においてYESの場合)には、処理はステップS124へ進み、そうでなければ(ステップS122においてNOの場合)、処理はステップS138へ進む。
【0176】
ステップS124において、シナリオ管理部108として機能するCPU2は、編集が指示されたシナリオページを特定する。すなわち、CPU2は、選択された制御ウィンドウ160内の編集ボタンがいずれのシナリオ番号およびシナリオページ番号に関連付けられたものであるかを判断する。続くステップS126において、シナリオ管理部108として機能するCPU2は、シナリオ情報400からステップS124において特定したシナリオ番号およびシナリオページ番号に関連付けて定義されている記述を読出して、それに基づくシナリオページを編集可能に表示する。さらに続くステップS128において、シナリオ管理部108として機能するCPU2は、ユーザが行なった編集操作の内容を受付ける。なお、CPU2は、受付けた編集操作の内容を表示に反映する。さらに続くステップS130において、シナリオ管理部108として機能するCPU2は、編集操作の反映がユーザによって指示されたか否かを判断する。すなわち、CPU2は、図21などに示す決定ボタン186がカーソルCRSなどによって選択されたか否かを判断する。編集操作の反映がユーザによって指示された場合(ステップS130においてYESの場合)には、処理はステップS132へ進み、そうでなければ(ステップS130においてNOの場合)、処理はステップS134へ進む。
【0177】
ステップS132において、シナリオ管理部108として機能するCPU2は、ステップS128において受付けた編集操作の内容に基づいて、シナリオ情報400のステップS124において特定したシナリオ番号およびシナリオページ番号に関連付けられた記述を更新する。そして、処理はステップS138へ進む。
【0178】
一方、ステップS134において、シナリオ管理部108として機能するCPU2は、編集操作の取消しがユーザによって指示されたか否かを判断する。すなわち、CPU2は、図21などに示すキャンセルボタン188がカーソルCRSなどによって選択されたか否かを判断する。編集操作の取消しがユーザによって指示された場合(ステップS134においてYESの場合)には、処理はステップS136へ進み、そうでなければ(ステップS134においてNOの場合)、処理はステップS128へ戻る。
【0179】
ステップS136において、シナリオ管理部108として機能するCPU2は、ステップS128において受付けた編集操作の内容を削除する。そして、処理はステップS138へ進む。
【0180】
ステップS138において、シナリオ管理部108として機能するCPU2は、シナリオページの再生がユーザによって指示されたか否かを判断する。すなわち、CPU2は、制御ウィンドウ160内のいずれかの再生ボタンがカーソルCRSなどによって選択されたか否かを判断する。シナリオページの再生がユーザによって指示された場合(ステップS138においてYESの場合)には、処理はステップS140へ進み、そうでなければ(ステップS138においてNOの場合)、処理は終了する。
【0181】
ステップS140において、シナリオ管理部108として機能するCPU2は、再生が指示されたシナリオ情報400に対応付けられたWS情報(写)350が保存されているか否かを判断する。すなわち、CPU2は、指定されたシナリオの再生が最初であるか否かを判断する。再生が指示されたシナリオ情報400に対応付けられたWS情報(写)350が保存されている場合(ステップS140においてYESの場合)には、処理はステップS142へ進み、そうでなければ(ステップS140においてNOの場合)、処理はステップS150へ進む。
【0182】
ステップS142において、シナリオ管理部108として機能するCPU2は、保存されているWS情報(写)350のうち、現在のWS情報300の内容と最も保存日が新しいWS情報(写)350の内容とを比較することで変更点を抽出する。続くステップS144において、シナリオ管理部108として機能するCPU2は、抽出した変更点のうち、再生が指示されたシナリオ情報400に記述されているオブジェクトを抽出する。さらに続くステップS146において、シナリオ管理部108として機能するCPU2は、ステップS144において何らかのオブジェクトが抽出されたか否かを判断する。ステップS144において何らかのオブジェクトが抽出された場合(ステップS146においてYESの場合)には、処理はステップS148へ進み、そうでなければ、処理はステップS150へ進む。
【0183】
ステップS148において、シナリオ管理部108として機能するCPU2は、ステップS144において抽出された変更点の数および/または内容をユーザに通知する(図37および図39参照)。ユーザは、これらの通知に基づいて、シナリオ情報400またはワークスペース上のオブジェクトを修正したり、その説明内容を変更後の状況に応じたものに変更したりする。そして、処理はステップS150へ進む。
【0184】
ステップS150において、シナリオ管理部108として機能するCPU2は、現在のWS情報300を複製してWS情報(写)350を生成する。すなわち、CPU2は、次回のシナリオ再生時にワークスペース上の変更点の有無を判断するための情報を保存する。そして、処理はステップS152へ進む。
【0185】
ステップS152において、シナリオ管理部108として機能するCPU2は、再生が指示されたシナリオページを特定する。すなわち、CPU2は、選択された制御ウィンドウ160内の再生ボタンがいずれのシナリオ番号およびシナリオページ番号に関連付けられたものであるかを判断する。なお、1つのシナリオに複数のサブシナリオが含まれる場合には、いずれのサブシナリオを再生するかについても特定する。
【0186】
続くステップS154において、シナリオ管理部108として機能するCPU2は、シナリオ情報400からステップS152において特定したシナリオ番号およびシナリオページ番号に関連付けて定義されている記述に基づいて、表示対象オブジェクトの識別番号および付与されている表示属性の内容を取得する。続くステップS156において、シナリオ管理部108として機能するCPU2は、WS情報300からステップS154において取得した識別番号に対応するオブジェクトの記述を読出す。さらに続くステップS158において、シナリオ管理部108として機能するCPU2は、ステップS156において取得したオブジェクトの記述と、ステップS154において取得した付与されている表示属性とに基づいて、対象オブジェクトの表示用情報を取得する。さらに続くステップS160において、シナリオ管理部108として機能するCPU2は、すべての対象オブジェクトについて、表示用情報を取得したか否かを判断する。未だ表示用情報を取得していない対象オブジェクトがあれば(ステップS160においてNOの場合)、ステップS156以下の処理が繰返される。これに対して、すべての対象オブジェクトについての表示用情報を取得していれば(ステップS160においてYESの場合)、処理はステップS162へ進む。
【0187】
ステップS162において、シナリオ管理部108として機能するCPU2は、ステップS158において取得した(1つまたは複数の)表示用情報に基づいて、シナリオページをレンダリングしたビュー表示を生成し、出力装置6からシナリオ表示ウィンドウ180として出力する。そして、処理はステップS170へ進む。
【0188】
ステップS170において、シナリオ管理部108として機能するCPU2は、シナリオ再生中に編集操作がユーザによって指示されたか否かを判断する。すなわち、CPU2は、シナリオ表示ウィンドウ180内に表示されるいずれかのオブジェクトがカーソルCRSなどによって選択されたか否かを判断する。シナリオ再生中に編集操作がユーザによって指示された場合(ステップS170においてYESの場合)には、処理はステップS172へ進み、そうでなければ(ステップS170においてNOの場合)、処理は終了する。
【0189】
ステップS172において、シナリオ管理部108として機能するCPU2は、編集操作が指示されたオブジェクトを特定し、その識別番号を取得する。続くステップS174において、シナリオ管理部108として機能するCPU2は、ユーザが行なった編集操作の内容を受付ける。続くステップS176において、CPU2は、ステップS172において受付けた編集操作の内容に基づいて、ステップS172において特定した識別番号に関連付けられたWS情報300の記述を更新する。さらに続くステップS178において、シナリオ管理部108として機能するCPU2は、シナリオ表示ウィンドウ180内のビュー表示を更新する。そして、処理はステップS170へ戻る。
【0190】
<本実施の形態による作用・効果>
本実施の形態に従うワークスペースにおいては、シナリオをワークスペース上のオブジェクトと動的に関連付けて作成できるので、シナリオ再生時に、ワークスペース上の目的とするオブジェクトの現在の状態を表示できる。同時に、複数回にわたってシナリオを再生する場合に、ワークスペース上のオブジェクトに対する編集操作によって、シナリオ再生毎にその表示内容が異なる場合が生じ得る。このような状況が好ましくない場合も想定されるが、本実施の形態に従うワークスペースにおいては、今回のシナリオ再生によって表示される内容が前回のシナリオ再生によって表示される内容から変化している場合には、ユーザにその旨および/または内容が通知される。
【0191】
この通知を受けて、ユーザは、必要に応じて、ワークスペース上のオブジェクトを再修正したり、シナリオを変更したり、シナリオに対応する説明内容を変更したりといった、各種の対応をとることができる。すなわち、シナリオ作成者またはシナリオを用いた説明者が予期していない変更がシナリオ内に表示されることを回避することができる。
【0192】
<第1変形例>
本実施の形態に従うワークスペースでは、画像や文書といった外部ファイルをオブジェクトとして扱うことができる。上述の図4に示すように、このような外部ファイルは、WS情報300とは別のファイル実体として存在しており、目的とする外部ファイルをリンクアドレス(src)を用いてWS情報300に定義することで、同一のワークスペース上で当該外部ファイルを他のオブジェクトと同時に扱うことができる。
【0193】
ところで、このような外部ファイルについても、前回のシナリオ再生時から今回のシナリオ再生時までの間に変更されている場合も想定される。このような外部ファイルの変更についても、シナリオ変更点として検出したい場合もある。以下、このような外部ファイルについての変更点を検出するための処理について説明する。
【0194】
より具体的には、シナリオ再生時に、当該時点におけるWS情報300の内容とともに、当該WS情報300が参照している外部ファイルの情報をあわせて保存する。この外部ファイルの情報としては、外部ファイルを複製した、ファイル実体そのものであってもよいが、ファイルサイズの低減および変更点の有無を判断するといった観点からは、以下のようなより簡素化した情報のみを保存することが好ましい。
【0195】
このようなより簡素化した情報としては、ワークスペースが参照している外部ファイルのファイル名および/またはファイルの更新日時を用いてもよいが、より好ましくは、外部ファイルのある状態を示す固有値(典型的には、外部ファイルから生成されるハッシュ値)が用いられる。そして、先に保存されているハッシュ値と、次回のシナリオ再生時に、当該時点の外部ファイルから算出されるハッシュ値とを比較して、その値が一致しているか否かが判断される。そして、両者が一致していなければ、前回のシナリオ再生時から今回のシナリオ再生時までの間に、いずれかの外部ファイルの内容が変更されたことがわかる。
【0196】
図44は、この発明の実施の形態の第1変形例に従うWS情報300の内容の一例を示す図である。図45は、この発明の実施の形態の第1変形例に従うシナリオ変更点検出機能の処理を説明するための図である。図46は、図45に示す外部ファイル情報600の内容の一例を示す図である。
【0197】
複数の外部ファイルがリンクとしてワークスペース上に組み込まれている場合を考える。この場合のWS情報300の内容としては、図44に示すようになる。すなわち、図44に示すWS情報300は、「salesplan.doc」という文書ファイルを参照するための記述321と、「map.jpg」という画像ファイルを参照するための記述322とを含む。
【0198】
このような外部ファイルがリンク付けられたワークスペースは、図45(a)に示すようなファイルを用いて提供される。すなわち、図44に示すような内容を含むWS情報300と、「salesplan.doc」および「map.jpg」を含むリンク対象の外部ファイル310とが用意される。このWS情報300に基づいてシナリオ情報400が新規作成された場合を考える。
【0199】
次に、図45(b)を参照して、このシナリオ情報400に対してシナリオ再生が指示されると、WS情報300が複製されることでWS情報(写)350が保存される。これと並行して、外部ファイル310の内容を特定するための情報を記述した外部ファイル情報600が生成され、保存される。上述したように、この外部ファイル情報600には、外部ファイルのファイル名、ファイルサイズ、更新日時といった当該時点の外部ファイルの状態を特定するための情報を記述してもよいが、本変形例においては、外部ファイルのある状態を示す固有値(典型的には、外部ファイルから生成されるハッシュ値)を用いる構成について例示する。
【0200】
具体的な一例として、図46には、外部ファイル情報600に記述される内容の一例を示す。すなわち、外部ファイル情報600は、外部ファイル「salesplan.doc」についての記述610と、外部ファイル「map.jpg」についての記述620とを含む。この記述610は、外部ファイル「salesplan.doc」に割当てられたオブジェクトの識別番号(object id)を示す値(この例では、「11」)を要素値として含む<object id>タグ611と、対象の外部ファイルのファイル名を要素値として含む<src>タグ612と、対象の外部ファイルから算出されたハッシュ値を要素値として含む<hash value>タグ613とを含む。また、記述620についても、記述610と同様に、<object id>タグ621と、<src>タグ622と、<hash value>タグ623とを含む。
【0201】
なお、ハッシュ値の算出方法については、公知の方法を用いることができるので、詳細な説明は行なわない。
【0202】
次に、図45(c)を参照して、シナリオの再生が再度指示された場合には、上述の本実施の形態と同様に、当該時点のWS情報300と、先に保存されているWS情報(写)350とが比較され、WS情報300に直接的に定義されているオブジェクトに関する変更点の検出処理が行なわれる。並行して、当該時点における外部ファイル310の各々からハッシュ値が算出され(外部ファイル情報)、この算出された外部ファイル情報と先に保存されている外部ファイル情報600とが比較され、WS情報300に間接的に定義されているオブジェクト(外部ファイル)に関する変更点の検出処理が行なわれる。
【0203】
このような変更点検出処理が採用することで、WS情報300に直接的に記述されているオブジェクトだけではなく、WS情報300に間接的に記述されている外部ファイルについても、前回のシナリオ再生時から変更点の有無をユーザに通知することができる。
【0204】
本変形例によれば、外部ファイルの情報全体を保存しておくのではなく、外部ファイルのある状態を示す固有値(ハッシュ値)が保存されるので、記憶容量などが過大に増大することを回避できる。それに伴って、ワークスペース上に多数の外部ファイルが存在する場合であっても、それらに対する変更点の有無をより効率的に検出することができる。
【0205】
<第2変形例>
上述の実施の形態においては、シナリオ情報400に記述されているすべてのオブジェクトについての変更の有無を判断する構成について例示した。しかしながら、シナリオを用いて説明する内容によっては、オブジェクトのうち重要なものとそうでないものが存在する場合がある。このような場合には、重要なオブジェクトについての変更の有無のみが分かれば十分であることも多いと考えられる。すなわち、重要ではないオブジェクトの変更(たとえば、背景オブジェクトの色の変更など)については、シナリオの本旨とは関係ないので、そのような変更を排除することがより効率的であると考えられる。
【0206】
そこで、シナリオ情報400の基づいてシナリオを最初に再生する際に、予め変更の有無を判断する対象とすべきオブジェクトを指定することができると、より効率的である。以下、このような処理について例示する。
【0207】
図47は、この発明の実施の形態の第2変形例に従うシナリオ再生時の操作を説明するための図である。図48は、図47に示す操作によって生成されるWS情報(写)350の内容の一例を示す図である。
【0208】
本変形例においては、ユーザは、指定したシナリオ情報400に対する再生指示によって表示されるシナリオページ編集ウィンドウ182上で、マウスに対するドラッグ操作などによって、変更の有無を判断する対象とすべき対象オブジェクトを指定する。具体的には、ユーザは、表示されるカーソルCRSを移動させて、対象オブジェクトを囲むような対象範囲198を指定する。
【0209】
このシナリオ再生時には、当該時点のWS情報300が複製されて、WS情報(写)350として保存されるが、このWS情報(写)350に対して、この対象範囲198に含まれるオブジェクトとそれ以外のオブジェクトとを識別するための情報が付加される。より具体的な一例として、図48に示すように、WS情報(写)350には、対象オブジェクトを特定するための<check/>タグ352が付与される。すなわち、図47に示す例では、オブジェクトOBJ4(object id=4)が対象オブジェクトとして指定されており、これに対応して、図48に示すWS情報(写)350の<object id=4>タグ内には、<check/>タグ352が付与される。
【0210】
なお、このような対象オブジェクトの指定方法は、上述ような範囲で指定する方法に限られず、オブジェクト単位での指定、シナリオページ単位での指定、シナリオページに対する検索結果の基づく指定などを採用してもよい。
【0211】
本変形例においては、上述した図43のフローチャートのステップS144において、この<check/>タグ352に基づく処理が行われる。より具体的には、CPU2は、WS情報300とWS情報(写)350との比較によって抽出した変更点のうち、再生が指示されたシナリオ情報400に記述されており、かつ、<check/>タグ352が付与されているオブジェクトを抽出する。すなわち、<check/>タグ352が付与されていないオブジェクトについては、変更点としての抽出対象から除外される。その他の処理は、上述の実施の形態と同様であるので、詳細な説明は繰返さない。
【0212】
上述のように、本変形例に従うワークスペースにおいては、シナリオ情報400に定義されるオブジェクトのうち、前回のシナリオ再生時からの変更の有無を判断すべき対象のオブジェクトを設定することが可能である。そして、前回のシナリオ再生時に記憶されたWS情報300定義内容(WS情報(写)350および/またはハッシュ値)と、今回のシナリオ再生時のWS情報300における定義内容との間の相違点のうち、当該対象オブジェクトとして設定されたオブジェクトに関する相違点のみが抽出される。
【0213】
本変形例によれば、シナリオが多数ページにわたるような場合に、重要性の低いオブジェクトを含む多数のオブジェクトについての変更点が通知されると、かえって効率が低下する場合も多い。このような場合に、予めシナリオ作成者が目的とする説明の内容などに基づいて重要であると考えるオブジェクトについてのみ、前回のシナリオ再生時から変更されているか否かを知ることができる。これによって、より効率的にシナリオ機能を活用することができる。
【0214】
<第3変形例>
上述の実施の形態においては、ワークスペースの状態がシナリオの内容に逐次反映される構成について例示した。しかしながら、シナリオの重要性などに応じて、シナリオをワークスペースから切離すようにしてもよい。すなわち、シナリオ作成時におけるワークスペースの状態を保存しておき、この保存したワークスペースの状態に基づいてシナリオを再生するようにしてもよい。以下、このような処理について説明する。
【0215】
図49は、この発明の実施の形態の第3変形例に従うシナリオ情報および関連するファイルの状態を説明するための図である。図50は、この発明の実施の形態の第3変形例に従うWS情報300#の内容の一例を示す図である。図51は、この発明の実施の形態の第3変形例に従うシナリオ巻き戻し処理を説明するための図である。
【0216】
本変形例においては、ユーザが何らかのシナリオを作成した後、当該シナリオをワークスペースから切離すための指示を与えることができる。このようなワークスペースからの切離しの指示によって、シナリオ情報400ならびにWS情報300および外部ファイル310が複製されて、独立したファイルとして新たに生成される。
【0217】
より具体的には、図49(a)に示すように、シナリオ情報400と、当該シナリオ情報400の作成元となった、WS情報300および外部ファイル310とが存在している状態で、ユーザによるシナリオの切離し指示が与えられると、それぞれのファイルが複製される。すなわち、図49(b)に示すように、当該時点のシナリオ情報400、WS情報300、外部ファイル310がそれぞれ、シナリオ情報400#、WS情報300#、外部ファイル310#として複製される。なお、このとき、それぞれのファイルは、元のファイルと区別するために、それぞれのファイル名が変更される。たとえば、以下に示すように、複製時のタイムスタンプがファイル名に付与された新たなファイルが採用される。
【0218】
シナリオ情報:SC.xml→SC_200903181502.xml.backup
WS情報:WS.xml→WS_200903181502.xml
外部ファイル:
salesplan.doc→salespalan.doc.200903181502.backup
map.jpg→map.jpg.200903181502.backup
シナリオ情報400#、WS情報300#、外部ファイル310#は、いわゆるローカルエリアに保存されており、他の処理装置PCによってその内容が変更されることが禁止される。
【0219】
また、WS情報300には、外部ファイル310のファイル名を参照情報として記述しているので、上述のような外部ファイル310のファイル名が変更された場合には、WS情報300と外部ファイル310との間の対応関係を更新する必要がある。より具体的には、図50に示すように、WS情報300から生成されたWS情報300#においては、外部ファイルを示すリンクアドレス(src)の値が元の外部ファイル310のファイル名から、新たに生成された外部ファイル310#のファイル名を示す値に変更されている。より具体的には、WS情報300#は、新たに生成された外部ファイル310#に含まれる「salespalan.doc.200903181502.backup」を要素値として含む<src>タグ361と、同じく「map.jpg.200903181502.backup」を要素値として含む<src>タグ362とが記述される。これにより、ファイル名が変更された外部ファイルであっても、WS情報300と外部ファイル310との間の対応関係を維持することができる。
【0220】
すなわち、本変形例においては、ユーザによって切離操作がなされると、当該操作時点のWS情報300における定義内容を含むWS情報300#が生成され、このWS情報300#を参照することで、シナリオ情報400(または、シナリオ情報400#)に定義されているオブジェクトを、WS情報300の定義内容(すなわち、ワークスペースの状態)とは独立して表示再生できる。
【0221】
図49に示すような、シナリオ情報400#、WS情報300#、外部ファイル310#のセットを用いることで、シナリオ作成後にワークスペースに対して行なわれた変更に影響を受けることなく、同じ内容のシナリオを再生することができる。
【0222】
さらに、上述の実施の形態に従うワークスペースにおいて、図49に示すような、シナリオ情報400#、WS情報300#、外部ファイル310#のセットを保存しておくことで、シナリオの内容をシナリオ作成時の状態に巻戻すこともできる。すなわち、図51に示すように、シナリオ情報400#、WS情報300#、外部ファイル310#を用いて、それぞれシナリオ情報400、WS情報300、外部ファイル310を上書きすることで、シナリオ作成時(もしくは、バックアップを行った時点)の状態に巻戻すことができる。
【0223】
この巻戻し処理においては、上述の図49における処理と反対の処理を行なうことになる。すなわち、ローカルエリアに保存されているファイルのファイル名を元のファイル名に変更するともに、上述の図50と同様に、WS情報300(元のWS情報300#)と外部ファイル310(元の外部ファイル350#)との間の対応関係が更新される。
【0224】
すなわち、WS情報300をWS情報300#の内容に更新し、この更新後のWS情報300に基づいてシナリオ再生することで、WS情報300#の生成が指示された時点、すなわちユーザによって切離しが指示された時点の状態で表示する。このような処理を行なうことで、任意の時点で、シナリオ作成時の状態に巻戻すことができる。
【0225】
本変形例によれば、非常に重要なシナリオなどについて、ワークスペース上の状態に影響を受けないように管理することができる。さらに、何らかの不具合があった場合に、任意のタイミングで、ワークスペースおよびシナリオを元の状態に戻すこともできる。
【0226】
<第4変形例>
上述の実施の形態においては、シナリオの内容とは独立して、ワークスペースに対する変更が許可される構成について例示したが、場合によっては、シナリオの内容に応じて、ワークスペースに対する変更に対する警告を行なう場合も好ましい場合がある。以下では、このような構成について例示する。
【0227】
ワークスペース上における何らかのオブジェクトの削除は、WS情報300におけるオブジェクト定義の削除を意味する。本変形例においては、このオブジェクト定義が削除される前に、当該オブジェクトがシナリオに参照されているか、すなわちシナリオ情報400に削除対象のオブジェクトをリンクする参照情報が含まれているか否かが判断される。そして、シナリオ情報400に削除対象のオブジェクトに対する参照情報が含まれている場合には、当該オブジェクトの削除を指示したユーザに対して、シナリオに使用されている旨の警告を与えて、シナリオの意図しない変更の発生を抑制する。たとえば、外部ファイル310がシナリオに使用されているか否かについては、外部ファイル情報600に記述されているオブジェクトの識別番号を基づいて判断される。
【0228】
図52は、この発明の実施の形態の第4変形例に従うオブジェクトの削除に対する警告処理を説明するための図である。図53は、この発明の実施の形態の第4変形例に従うオブジェクトの削除に対する警告処理の表示例を示す図である。図54は、この発明の実施の形態の第4変形例に従うシナリオの復元処理を説明するための図である。
【0229】
図52を参照して、シナリオ作成後に当該シナリオが一度でも再生されると、WS情報300および外部ファイル310に加えて、シナリオ情報400と、WS情報(写)350と、外部ファイル情報600とが生成される。この状態において、ユーザがワークスペース上のいずれかの外部ファイルのオブジェクトを削除する編集操作を行なうと、削除対象のオブジェクトの識別情報が外部ファイル情報600に記述されているか否かが確認される。ここで、削除対象のオブジェクトの識別番号が外部ファイル情報600に記述されていなければ、そのまま削除対象のオブジェクト(および、対応する外部ファイル310)が削除される。
【0230】
これに対して、削除対象のオブジェクトの識別番号が外部ファイル情報600に記述されていれば、ユーザに対して、削除対象のオブジェクトがシナリオに使用されている旨の警告が通知される。より具体的には、図53に示すように、警告ウィンドウ700が表示される。この警告ウィンドウ700には、「削除しようとするオブジェクトはシナリオに使用されています。」という警告メッセージとともに、「削除しますか?」という確認メッセージが表示される。また、警告ウィンドウ700には、対象のオブジェクトに対する削除を許可するための「はい」ボタン702と、対象のオブジェクトに対する削除をキャンセルするための「いいえ」ボタン704とが選択可能に表示される。そして、ユーザが「はい」ボタン702を選択すると、対象のオブジェクトが削除され、ユーザが「いいえ」ボタン704を選択すると、対象のオブジェクトに対する削除は中止される。なお、警告ウィンドウ700には、オブジェクトの名称や識別番号(id)を同時に表示するようにしてもよい。
【0231】
このように、ワークスペース上で編集操作を行なうユーザに対して、シナリオに関連しているオブジェクトの変更(特に、削除)については、その実行前に警告がなされるので、シナリオが不用意に変更されてしまう事態を回避できる。
【0232】
さらに、ワークスペース上から削除されてしまっても、シナリオ再生時には、正常に表示されるように、削除対象のオブジェクトをローカルエリアに保存しておいてもよい。具体的には、図54に示すように、WS情報300において対象のオブジェクトの定義が削除された後であって、対応する外部ファイル310が削除される前に、削除対象の外部ファイル310が複製されて、実体ファイル310Aとしてローカルエリアに保存される。それとともに、シナリオ情報400における当該実体ファイル310の参照先が変更される。
【0233】
このような操作によって、実体ファイル310が削除後であっても、シナリオ情報400に基づいて削除前と同じシナリオが再生できる。
【0234】
本変形例によれば、予め作成されているシナリオに影響を与えるようなワークスペースに対する変更操作に対して警告を行なうので、シナリオ作成者などが意図しないシナリオ内容の変更をより確実に抑制することができる。
【0235】
<その他の変形例>
上述したシナリオおよびシナリオページの記述形式、それらの記録方法、およびシナリオの再生方法などについては、上述した実施の形態のものに限定されるものではない。例えば、シナリオおよびシナリオページは、参照情報(リンク)の順序付の集合として記述することもできる、あるいは、別途リスト等の形式で保持したオブジェクトの表示属性をシナリオ再生時に処理装置PCにおいて解釈可能な形式に変換して利用する形式でもよい。
【0236】
また、上述の実施の形態においては、あるユーザが作業する処理装置PC上でシナリオ表示を行なう場合の構成について例示したが、処理装置PCに接続されたプロジェクター装置などでシナリオ表示の内容をより大型のスクリーンなどに投射するような使用形態も想定される。あるいは、サーバ装置SRVにWS情報300およびシナリオ情報400を格納する場合には、当該シナリオを作成したユーザが説明を行なう先のユーザに向けて、サーバ装置SRV上のWS情報300およびシナリオ情報400の格納先のアドレスを示した電子メールなどを送付し、当該電子メールを受取ったユーザが自身の処理装置PC上でシナリオ表示を見るような使用形態も想定される。さらに、あるユーザが作成したWS情報300およびシナリオ情報400のファイル自体を電子メールなどによって、説明を行なう先のユーザに向けて送信するような使用形態であってもよい。
【0237】
<その他の実施の形態>
本発明に係るプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明に係るプログラムに含まれ得る。
【0238】
さらに、本発明に係るプログラムは、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明に係るプログラムに含まれ得る。
【0239】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記憶媒体とを含む。
【0240】
さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
【0241】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0242】
2 CPU、4 内部バス、6 出力装置、8 通信インターフェイス、10 入力装置、12 ハードディスク、14 メモリ、16 CD−ROMドライブ、16a CD−ROM、18 FDドライブ、18a フレキシブルディスク、100 処理部、102 操作管理部、104 ビュー管理部、106 オブジェクト管理部、108 シナリオ管理部、110 空間管理部、112 入出力部、114 作業メモリ、120 WS格納部、120a WS情報、130 入出力制御装置、300 ワークスペース(WS)情報、400 シナリオ情報、NW ネットワーク、PC,PC1〜PCN 情報処理装置(処理装置)、SRV サーバ装置。
【技術分野】
【0001】
この発明は、仮想的な作業空間を提供するための情報処理装置、方法およびプログラムに関する。
【背景技術】
【0002】
近年、知的創造作業を支援するための仮想的な作業空間(以下、「ワークスペース」とも称す。)が提案されている(例えば、特開平10−051581号公報(特許文献1)や特開平10−126758号公報(特許文献2)など)。
【0003】
このワークスペースとは、いわば仮想的なホワイトボードのように使用可能な作業空間であり、ユーザは、この作業空間上において、手書き文字、画像、写真などの題材(以下、「オブジェクト」とも称す。)をインタラクティブに入力したり操作したりすることができる。ワークスペースを用いることで、個人またはグループでの知的創造作業(考えを練ったり、他メンバーとコミュニケーションをとったりする)が促進される。
【0004】
このようなワークスペースでは、物理的なホワイトボードやメモ帳などとは異なり、実際にユーザが閲覧する範囲より広い範囲の作業空間を仮想的に提供することができる。なお、ユーザが閲覧する範囲は、必要に応じて自在に拡大もしくは縮小できるので、狭い領域に対しても書込みなどを行なうことができる。そのため、広大な範囲の作業空間であっても、ユーザはストレス無く作業を行なうことができる。
【0005】
このようなワークスペースを用いた知的創造作業の具体的なシーンとしては、ユーザが発想した題材を次々にオブジェクトとして入力し、これらの入力された多数のオブジェクトを分類(カテゴライズ)したり、互いに関連付けたりすることで、情報の整理を行ない新たな発想に繋げるという場合などが考えられる(典型的には、KJ法)。
【0006】
このような知的創造作業の過程においては、各ユーザは、ワークスペースをノートのように使用して、その上に様々な場所に種々のオブジェクトが配置しながら、考えを練り上げることが想定される。そのため、このような知的創造作業(発想作業)が完了した時点では、当該作業における結論となり得るオブジェクト(記述された内容)以外にも、様々な中間的なオブジェクトがワークスペース上に残ったままとなっている場合もある。このようなワークスペース上の中間的なオブジェクトによって、ユーザは、どの場所にどのようなオブジェクトをどのようなタイミングでどのユーザが配置したかといった知的創造作業の経緯を思い出しやすいため、その全体や個々の情報をより詳細に記憶することができる。
【0007】
すなわち、知的創造作業を行なったユーザ自身にとってみれば、作業結果を整理し直すより、ワークスペースがそのままの表示状態で残されることで、ビジュアル的なイメージを維持する方が記憶に残りやすく、かつ再利用もしやすい。
【0008】
一方、このような知的創造作業では、情報収集、情報整理、発想、情報収集、情報整理、発想・・・といった複数のフェーズからなるサイクルを何度も繰返すことでより創造性の高いアウトプットが得られることが多い。例えば、情報を整理した作業結果を他人に説明して意見をもらい、そこでもらったアイデアをもとに、情報整理をし直すといった場合などである。また、自身のアイデアをメンバー間で整理しながらブラッシュアップするという場合もある。このとき、あるユーザ個人の作業結果をそのままの状態で他人(典型的には、アドバイザーやオブザーバ)に見せても、当該他人はそもそも知的創造作業の途中経過を知らないためビジュアル的に具体的なイメージを得ることは難しい。むしろ、ワークスペース上の情報をある程度整理して他人に見せた方が知的創造作業の全体像を理解し易くなり好ましい。また、知的創造作業を行なったユーザ自身にとってみても、ビジュアル的なイメージに加えて論理的な説明も併せて結果として残すことは、より理解を高める意味で効果的である。
【0009】
このようなあるユーザが自身の作業結果および/または途中経過を他人に説明する場合を考えると、知的創造作業を行なったユーザ自身が作業しやすい(あるいは、記憶に残りやすい)態様と他のユーザが理解しやすい態様とは一般的に異なる。そのため、あるユーザが自身の作業結果および/または途中経過を他人に説明する場合、説明用のドキュメントなどを新たに作成する必要がある。例えば、ワークスペースの全体や一部をコピーして、説明用の文書に貼り付けたり、知的創造作業の流れがわかるように順序や説明記述を追加したりするといった追加の作業が発生する。このように、説明用のドキュメントを別途作り直すのは作業負担が大きく、本来の目的である知的創造に費やす時間や労力を無駄に消費する。
【0010】
一方、ワークスペース上から不要なオブジェクトを削除した上で説明を行なう場合には、他人への説明中に、関連情報を見たくなった場合や、元の作業結果を修正したくなった場合に適切に対応できない。説明用のドキュメントとは独立して作業結果を別途残している場合であっても、説明中に思い付いた修正対象箇所を、別途残しておいた作業結果から都度探し出す必要がある。そのため、他人への説明時に判明した必要性を適宜反映することと、他人へのスムーズな説明とを両立させることは難しかった。
【0011】
このような課題の解決手段として、ユーザが実際に作業を行なうワークスペースとは独立して、主としてプレゼンテーションを行なうための「シナリオ」機能を付加することが考えられる。このシナリオ機能は、ワークスペース上のいずれのオブジェクトをいずれの順序で表示するかといった情報(シナリオ情報)を、ワークスペースを定義するための情報とは別途保持しておき、再生時には、このシナリオ情報に基づいて、プレゼンテーションを行なう。これにより、ワークスペース上の作業状態をそのままの状態で保持できる一方で、このワークスペースを定義するための情報をそのまま利用して(別途、説明用の文書を作成する必要がなく)、目的とするオブジェクトに絞って適切な順序・表現方法でプレゼンテーションを行なうことができる。さらに、作業中のワークスペースを定義するための情報そのものを利用して表示などを行なうため、説明中に(当初説明対象としたオブジェクト以外の)別のオブジェクトを参照する必要が生じたり、ワークスペースを定義するための情報を説明中に修正(ブラッシュアップ)したりすることができる。このようなシナリオは、独立して複数作成することができ、説明相手毎にそれぞれ適したものを設定することができる。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開平10−051581号公報
【特許文献2】特開平10−126758号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
ところで、上述のようなプレゼンテーションは、予めシナリオを作成した上で行われる。すなわち、シナリオを用いた説明は、当該シナリオの作成時から時間が経過してから行われることがしばしば生じる。そのため、ワークスペース上の状態が変更されている場合には、シナリオ作成者の意図とは異なった内容のシナリオが再生されてしまうことが予想される。
【0014】
このようにワークスペース上の状態が変更されてしまう原因としては、典型的には、以下のような形態が想定される
複数のメンバーで構成されるグループで知的創造作業を行なう場合において、上述のような説明は、当該グループのあるメンバーがグループ外の第三者に向けられることが多いが、このような説明が行なわれるまでに、説明を行なうメンバー以外の他のメンバーが作業を継続している可能性がある。
【0015】
また、同一のワークスペース上のオブジェクト(題材)を用いて別々に説明がなされるような場合において、先に行われた説明に基づいてワークスペースに対して変更がなされることがあり、このような場合には、後に行われる説明に影響を与え得る。特に、同一グループ内の複数のメンバーがそれぞれ別に説明を行なう場合には、先の説明者によってなされた変更が後の説明者にまで伝えられていないようなことも多いと考えられ、このような状況において後の説明者が困ることが想定される。
【0016】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、仮想的な作業空間上における作業結果および/または途中経過の内容を説明する資料の作成後に、当該仮想的な作業空間上の状態が変化した場合であっても、説明者がより適切に説明を行なうことが可能な情報処理装置、方法およびプログラムを提供することである。
【課題を解決するための手段】
【0017】
この発明のある局面に従う仮想的な作業空間を提供する情報処理装置は、作業空間と作業空間に含まれるオブジェクトとを定義する第1情報を管理するための第1管理手段と、第1情報に基づいて、仮想作業空間の一部または全部の内容を表示するための第1表示手段と、仮想作業空間に含まれる特定のオブジェクトを指定する第2情報を管理するための第2管理手段と、第1情報を参照することで、第2情報において指定される特定のオブジェクトを表示するための第2表示手段と、第2表示手段によって特定のオブジェクトが表示されるときの、第1情報における定義内容の少なくとも一部を記憶する記憶手段と、特定のオブジェクトの前回表示時に記憶された第1情報における定義内容の少なくとも一部と、特定のオブジェクトの今回表示時における第1情報における定義内容の少なくとも一部とを比較することで、今回の特定のオブジェクトの表示内容が前回の表示内容から変更されたか否かを判断する判断手段とを含む。
【0018】
好ましくは、判断手段によって今回の特定のオブジェクトの表示内容が前回の表示内容から変更されたと判断されたときに、変更点の数および変更内容の少なくとも一方を通知するための通知手段をさらに含む。
【0019】
好ましくは、記憶手段は、第1情報における定義内容の全体を記憶し、判断手段は、特定のオブジェクトの前回表示時に記憶された第1情報における定義内容と、特定のオブジェクトの今回表示時における第1情報における定義内容との間の相違点を抽出するための手段と、当該抽出された定義内容の相違点のうち、第2情報において指定される特定のオブジェクトに関する相違点を抽出するための手段とを含む。
【0020】
好ましくは、判断手段は、第2情報において指定される特定のオブジェクトのうち、前回の表示内容からの変更の有無を判断すべき対象のオブジェクトの設定を受付ける手段と、特定のオブジェクトの前回表示時に記憶された第1情報における定義内容の少なくとも一部と、特定のオブジェクトの今回表示時における第1情報における定義内容の少なくとも一部との間の相違点のうち、対象のオブジェクトとして設定されたオブジェクトに関する相違点を抽出するための手段とを含む。
【0021】
好ましくは、記憶手段は、第1情報に定義されたファイルのある状態を示す固有値を記憶する。
【0022】
好ましくは、本情報処理装置は、ユーザ操作に応答して、当該時点の第1情報における定義内容を含む第3情報を生成するための生成手段と、第3情報を参照することで、第2情報において指定される特定のオブジェクトを、第1情報の定義内容とは独立して表示する第3表示手段とをさらに含む。
【0023】
さらに好ましくは、本情報処理装置は、第1情報を第3情報の内容に更新するための更新手段をさらに含み。第1表示手段は、第2情報において指定される特定のオブジェクトを、第3情報が生成された時点の状態で表示する。
【0024】
この発明の別の局面に従う情報処理装置を用いて仮想的な作業空間を提供する方法は、情報処理装置が以下のステップを実行する。当該以下のステップは、作業空間と作業空間に含まれるオブジェクトとを定義する第1情報を管理するステップと、第1情報に基づいて、仮想作業空間の一部または全部の内容を表示するステップと、仮想作業空間に含まれる特定のオブジェクトを指定する第2情報を管理するステップと、第1情報を参照することで、第2情報において指定される特定のオブジェクトを表示するステップと、特定のオブジェクトが表示されるときの、第1情報における定義内容の少なくとも一部を記憶するステップと、特定のオブジェクトの前回表示時に記憶された第1情報における定義内容の少なくとも一部と、特定のオブジェクトの今回表示時における第1情報における定義内容の少なくとも一部とを比較することで、今回の特定のオブジェクトの表示内容が前回の表示内容から変更されたか否かを判断するステップとを含む。
【0025】
この発明のさらに別の局面に従えば、コンピュータを仮想的な作業空間を提供する情報処理装置として機能させるプログラムを提供する。本プログラムは、コンピュータに、作業空間と作業空間に含まれるオブジェクトとを定義する第1情報を管理するステップと、第1情報に基づいて、仮想作業空間の一部または全部の内容を表示するステップと、仮想作業空間に含まれる特定のオブジェクトを指定する第2情報を管理するステップと、第1情報を参照することで、第2情報において指定される特定のオブジェクトを表示するステップと、特定のオブジェクトが表示されるときの、第1情報における定義内容の少なくとも一部を記憶するステップと、特定のオブジェクトの前回表示時に記憶された第1情報における定義内容の少なくとも一部と、特定のオブジェクトの今回表示時における第1情報における定義内容の少なくとも一部とを比較することで、今回の特定のオブジェクトの表示内容が前回の表示内容から変更されたか否かを判断するステップとを実行させる。
【発明の効果】
【0026】
この発明によれば、仮想的な作業空間上における作業結果および/または途中経過の内容を説明する資料の作成後に、当該仮想的な作業空間上の状態が変化した場合であっても、説明者がより適切に説明を行なうことができる。
【図面の簡単な説明】
【0027】
【図1】この発明の実施の形態に従うワークスペースを提供するための情報処理システムの概略構成図である。
【図2】この発明の実施の形態に従う情報処理装置の概略のハードウェア構成を示す模式図である。
【図3】この発明の実施の形態に従うワークスペースの一例を模式的に示す図である。
【図4】図3に示すワークスペースに対応するワークスペース(WS)情報の内容の一例を示す図である。
【図5】この発明の実施の形態に従うワークスペースにおける初期操作を説明するための図である。
【図6】この発明の実施の形態に従うワークスペースのユーザインターフェイスの一例を示す図である。
【図7】この発明の実施の形態に従うワークスペースにおける編集操作を説明するための図である。
【図8】図7に示す編集操作に対応するワークスペース(WS)情報の内容の一例を示す図である。
【図9】この発明の実施の形態に従うワークスペースにおけるオブジェクトの選択操作の別形態を示す図である。
【図10】この発明の実施の形態に従うワークスペースにおける編集前のあるオブジェクトの状態の一例を示す図である。
【図11】この発明の実施の形態に従うワークスペースにおける編集操作(サイズ変更)を説明するための図である。
【図12】この発明の実施の形態に従うワークスペースにおける編集操作(色変更)を説明するための図である。
【図13】この発明の実施の形態に従うワークスペースにおける編集操作(属性変更)を説明するための図である。
【図14】この発明の実施の形態に従うワークスペースにおける編集操作(付与属性表示)を説明するための図である。
【図15】この発明の実施の形態に従うワークスペースにおける編集操作(表示装飾変更)を説明するための図である。
【図16】この発明の実施の形態に従うワークスペースにおけるシナリオ機能の開始操作を説明するための図である。
【図17】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図(その1)である。
【図18】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図(その2)である。
【図19】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図(その3)である。
【図20】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図(その4)である。
【図21】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図(その5)である。
【図22】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図(その6)である。
【図23】この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図(その7)である。
【図24】図17〜図23に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報の内容の一例を示す図(その1)である。
【図25】図17〜図23に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報の内容の一例を示す図(その2)である。
【図26】図17〜図23に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報の内容の一例を示す図(その3)である。
【図27】図17〜図23に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報の内容の一例を示す図(その4)である。
【図28】図17〜図23に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報の内容の一例を示す図(その5)である。
【図29】図17〜図23に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報の内容の一例を示す図(その6)である。
【図30】この発明の実施の形態に従うワークスペースにおけるシナリオ機能の開始操作を説明するための図である。
【図31】この発明の実施の形態に従うワークスペースにおけるシナリオ再生機能の操作を説明するための図(その1)である。
【図32】この発明の実施の形態に従うワークスペースにおけるシナリオ再生機能の操作を説明するための図(その2)である。
【図33】この発明の実施の形態に従うワークスペースにおけるシナリオ再生機能の操作を説明するための図(その3)である。
【図34】この発明の実施の形態に従うワークスペースにおけるシナリオ再生機能の操作を説明するための図(その4)である。
【図35】この発明の実施の形態に従うシナリオ変更点検出機能の処理を説明するための図である。
【図36】図35に示すシナリオ情報およびWS情報の内容の一例を示す図である。
【図37】この発明の実施の形態に従うシナリオ変更点の通知機能の表示例を示す図である。
【図38】この発明の実施の形態に従うシナリオ変更点の通知機能の別の表示例を示す図である。
【図39】この発明の実施の形態に従うシナリオ変更点の通知機能の別の表示例を示す図である。
【図40】この発明の実施の形態に従うワークスペースにおけるデータ構造の発展例を示す図である。
【図41】この発明の実施の形態に従う処理装置PCで実現される制御構造を示す概略図である。
【図42】この発明の実施の形態に従うワークスペースの提供に係る処理手順を示すフローチャート(その1)である。
【図43】この発明の実施の形態に従うワークスペースの提供に係る処理手順を示すフローチャート(その2)である。
【図44】この発明の実施の形態の第1変形例に従うWS情報300の内容の一例を示す図である。
【図45】この発明の実施の形態の第1変形例に従うシナリオ変更点検出機能の処理を説明するための図である。
【図46】図45に示す外部ファイル情報600の内容の一例を示す図である。
【図47】この発明の実施の形態の第2変形例に従うシナリオ再生時の操作を説明するための図である。
【図48】図47に示す操作によって生成されるWS情報(写)350の内容の一例を示す図である。
【図49】この発明の実施の形態の第3変形例に従うシナリオ情報および関連するファイルの状態を説明するための図である。
【図50】この発明の実施の形態の第3変形例に従うWS情報300#の内容の一例を示す図である。
【図51】この発明の実施の形態の第3変形例に従うシナリオ巻き戻し処理を説明するための図である。
【図52】この発明の実施の形態の第4変形例に従うオブジェクトの削除に対する警告処理を説明するための図である。
【図53】この発明の実施の形態の第4変形例に従うオブジェクトの削除に対する警告処理の表示例を示す図である。
【図54】この発明の実施の形態の第4変形例に従うシナリオの復元処理を説明するための図である。
【発明を実施するための形態】
【0028】
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0029】
<用語>
本明細書において「ワークスペース」とは、視認可能なオブジェクトを追加したり、編集したりすることができる情報処理装置上で提供される仮想的な作業空間を意味する。このようなワークスペースにより、ユーザが情報を整理したり、他ユーザとの間で情報を共有したりすることができる。このワークスペースを提供する形態(デバイス)としては、プログラム(アブリケーション)を実行する情報処理装置、予めその機能が組み込まれた電子ホワイトボード、および携帯電話やタブレットPC等が考えられる。
【0030】
本明細書において「オブジェクト」とは、ワークスペース上に追加され得るデータ全般を意味する。このオブジェクトがユーザの操作対象単位となる。このオブジェクトの一例としては、図形、テキストドキュメント、ワークシートのセル、画像、音声、ログ、タグ、しおり、注釈、ユーザ情報などが挙げられる。
【0031】
本明細書において「ビュー」または「ビュー表示」とは、ワークスペース上に仮想的に配置されるオブジェクトを視覚化(または、可視化)する処理またはその処理結果を意味する。すなわち、「ビュー」または「ビュー表示」は、ワークスペース上のオブジェクトをレンダリング(描画)することで得られる。ワークスペース上で作業するユーザを支援するために、このビュー表示の内容は、原則としてリアルタイムで更新される。なお、このようなビューを表示するための処理においては、表示倍率、表示位置、オブジェクトの表示タイプ(例えば、ワークスペース上に挿入された外部リングのオブジェクトを示すアイコンを、小サイズおよび大サイズのいずれで表示するか等)、付与情報の表示有無(例えば、表示対象のオブジェクトに関連して各オブジェクトを入力したユーザの名前などを表示するか否か等)、表示属性の選択や有効/無効切り替え、といった各種のパラメータを設定することができる。
【0032】
本明細書において「シナリオ」または「シナリオ表示」とは、ワークスペース上における作業結果および/または途中経過の内容を説明するための表現形態を意味する。後述するように、本実施の形態においては、「シナリオ」は、ワークスペース上のオブジェクトを参照(リンク)としてページ単位に区切られて記述されたものが、1つ以上集まったものである。なお、複数のページを含むシナリオでは、その表現順序が予め定められている。このページ単位で記述された各々を、全体を示す「シナリオ」との対比で、「シナリオページ」とも称す。すなわち、「シナリオ」は、1つ以上の順序付けされた表示単位である「シナリオページ」を含む。言い換えれば、「シナリオ」では、その中に含まれる1つ以上の「シナリオページ」が予め設定された順序で切り替え表示される。このように、本実施の形態に従う「シナリオ」を用いることで、対象のワークスペースにおける作業内容を知らない人に対して、有効なプレゼンテーション等を行なうことができる。
【0033】
<概要>
本実施の形態に従うワークスペースでは、ユーザが実際に作業を行なう仮想空間とは独立して、主としてプレゼンテーションを行なうための「シナリオ」の作成および再生を行なうことができる。このシナリオは、ワークスペース上のオブジェクトに関連付けられているが、ワークスペースとは独立して提供される。そのため、ユーザは、ワークスペース上の作業結果を維持したまま、作業内容を知らない人に対して、有効なプレゼンテーション等を行なうことができる。
【0034】
さらに、このシナリオ再生中において、ユーザがシナリオ中のオブジェクトに対して何らかの編集操作を行なった場合には、その編集操作の内容を元のワークスペース上のオブジェクトに反映させることもできる。
【0035】
特に、本実施の形態に従うワークスペースでは、あるタイミングで再生されたシナリオと、その後に再生されたシナリオとの表示内容の変更点の有無を判断する。すなわち、本実施の形態に従うシナリオ再生によって表示される内容は、当該再生時のワークスペースの状態を反映している。そのため、前回のシナリオ再生時から今回のシナリオ再生時までの間にワークスペース上のオブジェクトなどに何らかの変更操作がなされた場合には、再生タイミングによって、その表示内容がシナリオ作成者の意図とは異なった内容に変わる場合もあるため。そこで、このような事態をシナリオ作成者(または、シナリオ再生を指示したユーザ)に対して知らせることで、適切な処置を促すことができる。
【0036】
<全体構成>
図1は、この発明の実施の形態に従うワークスペースを提供するための情報処理システムの概略構成図である。
【0037】
図1を参照して、本実施の形態に従う情報処理システムは、ネットワークNWを介して互いにデータ通信可能に接続された複数の情報処理装置PC1〜PCN(以下、単に「処理装置PC」とも総称する。)とサーバ装置SRVとを含む。すなわち、図1には、いわゆるサーバ・クライエント構成の情報処理システムを例示する。あるいは、いわゆるピア・トゥ・ピア構成を採用することもできる。
【0038】
なお、本発明に係る情報処理装置および情報処理システムは、単独の処理装置PCとしても実現/提供されるため、必ずしも図1に示すような複数の処理装置PCおよびサーバ装置SRVが必要ではないが、複数のユーザからなるグループによる共同作業を提供する場合には、図1に示すような情報処理システムが好適である。
【0039】
典型的に、図1に示す情報処理システムにおいては、各処理装置PCは、サーバ装置SRVを介して、ワークスペースを提供するための情報(後述する、ワークスペース(WS)情報)を共有することで、各処理装置PCを利用するユーザにワークスペースを同期して提供できる。すなわち、いずれかの処理装置PC上のユーザがワークスペース上に何らかのオブジェクトを追加すると、当該追加されたオブジェクトが他の処理装置PC上に表示されるワークスペースにも反映される。このようにして、ユーザ間で情報の共有化が図られる。
【0040】
なお、上述したように、単独の処理装置PCを用いて具現化するような場合には、当該処理装置PCにワークスペース情報が格納されてもよい。
【0041】
サーバ装置SRVは、主として、処理装置PC1〜PCNの間でのデータ共有を制御する。
【0042】
<ハードウェア構成>
図2は、この発明の実施の形態に従う情報処理装置の概略のハードウェア構成を示す模式図である。
【0043】
図2を参照して、本実施の形態に従う情報処理装置の典型例である処理装置PCは、オペレーティングシステムを含む各種プログラムを実行するCPU(Central Processing Unit)2と、CPU2でのプログラムの実行に必要なデータを一時的に記憶する記憶部としてのメモリ14と、CPU2で実行されるプログラムを不揮発的に記憶するハードディスク(HDD)12とを含む。このようなプログラムは、CD−ROM(Compact Disk-Read Only Memory)ドライブ16またはフレキシブルディスク(FD:Flexible Disk)ドライブ18によって、それぞれCD−ROM16aまたはフレキシブルディスク18aなどから読取られる。
【0044】
CPU2は、キーボード、マウス、タブレットなどからなる入力装置10を介してユーザによる操作要求を受取るとともに、プログラムの実行によって生成される画面出力を出力装置6へ出力する。
【0045】
出力装置6は、対象のワークスペースに係るビューやシナリオをユーザに表示するためのデバイスであり、典型的には、モニターやプロジェクターなどからなる。
【0046】
また、CPU2は、LANカードなどからなる通信インターフェイス8を介して、他の処理装置PCやサーバ装置SRVとの間でデータ通信を行なう。なお、これらの部位は、内部バス4を介して互いに接続される。
【0047】
また、本実施の形態に従うサーバ装置SRVについても情報処理装置であり、そのハードウェア構成についても、図2に示す処理装置PCのハードウェア構成と同様であるので、詳細な説明は繰返さない。
【0048】
<ワークスペースの概要>
次に、図3〜図6を参照して、本実施の形態に従うワークスペースの操作例について説明する。
【0049】
図3は、この発明の実施の形態に従うワークスペースの一例を模式的に示す図である。図4は、図3に示すワークスペースに対応するワークスペース(WS)情報300の内容の一例を示す図である。
【0050】
本実施の形態に従うワークスペース上には、各種のオブジェクトを追加したり、追加したオブジェクトに対して編集や削除したりすることができる。図3には、一例として、オブジェクトOBJ1〜OBJ9が作成済であるワークスペースのある状態が示されている。図3において、オブジェクトOBJ1は「画像オブジェクト」であり、オブジェクトOBJ2,OBJ4〜OBJ9は「テキストオブジェクト」であり、オブジェクトOBJ3は「線オブジェクト」である。このように、オブジェクトの種類としては、電子的に取扱えるデータであれば特に限定されることはないが、一例として、画像や文書といった外部ファイル以外に、図形や線といったベクトルデータ、手書きによる自由入力などを受付可能である。
【0051】
なお、図3に示すワークスペースは、概念的に表現されたものであり、実際には、ユーザ操作に応じた範囲の領域(図3には、ビュー範囲VIEW1およびVIEW2を一例として示す)に含まれる内容が各処理装置PC上にビュー表示(レンダリング)される。すなわち、ワークスペースの一部または全部の内容がユーザに向けて表示される。
【0052】
これらのオブジェクトOBJ1〜OBJ9およびビュー範囲は、図4に示すようなWS情報300として定義される。本実施の形態に従うワークスペースおよびワークスペースに含まれる各オブジェクトを定義するためのWS情報300は、代表的に、XMLなどのマークアップ言語で記述される。このようなマークアップ言語を採用することで、タグ(<>と</>とで囲まれる文字に与える属性)を自在に設定することができるため、システムの拡張性を高めることができる。
【0053】
図4を参照して、WS情報300は、ワークスペースを特定するためのワークスペースタグ302と、ビュー表示を特定するための記述304と、オブジェクトOBJ1〜OBJ5をそれぞれ定義する記述311〜315とを含む。
【0054】
ワークスペースタグ302には、典型的に、ワークスペースの識別番号(space id)、および当該ワークスペースの作成者(Author)などの情報が格納される。なお、ワークスペースタグ302には、文字エンコーディング属性などを含めてもよい。
【0055】
記述304には、ビュー表示を特定するための情報が格納される。より具体的には、<object>タグおよび</object>タグ、ならびに<point x= y= />タグによって、ビュー範囲の中心座標が指定される。また、<zoom_scale>タグおよび</zoom_scale>タグによって、表示倍率(デフォルトの表示サイズに対する拡大/縮小サイズの比)が指定される。
【0056】
各オブジェクトは、<object>タグで始まり、</object>タグで終了する記述によって定義される。これらの記述311〜315の各々には、各オブジェクトの識別番号(object id)、各オブジェクトの種類に応じた属性(image:画像オブジェクト、text:テキストオブジェクト、line:線オブジェクトなど)、各オブジェクトまたは各オブジェクトを構成する要素についてのワークスペース上の座標位置(x= ,y= )、外部ファイルのリンクアドレス(src)、拡大縮小率(scale)などが含まれる。すなわち、記述311〜315の各々には、オブジェクトに対応付けられた識別情報、およびオブジェクトの実体が定義される。
【0057】
より具体的には、<object id>タグには、各オブジェクトを一意に特定する識別番号が定義される。また、<point>タグには、各オブジェクトまたは各オブジェクトを構成する要素についてのワークスペース上の座標位置が定義される。<src>タグには、関連付けされた外部ファイルのリンクアドレスが定義される。
【0058】
例えば、オブジェクトOBJ1に対応する記述311には、<object id>タグにおいて、識別番号が「1」であることが定義され、<image>タグにおいて、イメージオブジェクトであることが定義される。さらに、<image>タグ内の属性において、x='60' y='180'の位置に配置されることが定義され、<src>タグにおいて、外部ファイルを特定する「fuji.jpg」が定義され、<scale>タグにおいて、オブジェクトOBJ1の表示倍率が「0.25」倍であることが定義される。
【0059】
なお、画像オブジェクトなどについては、WS情報300内の記述とは別に外部ファイル(参照先のファイル)が用意されている。このような画像オブジェクトについては、ワークスペース上で、その内容を参照したり表示したりすることが可能である。
【0060】
なお、図4では、1つのWS情報300を用いて、ワークスペースを構成する例について例示したが、複数のファイルを用いて同等の情報を定義してもよい。例えば、各オブジェクトが定義されたファイルを、リレーショナルデータベースなどを用いて互いに関連付けた構成などを採用することができる。すなわち、オブジェクト単位で取扱えるデータ構造であれば、図4に示すデータ構造に限られず、任意のデータ構造を採用することができる。このWS情報300の内容に基づいて、ワークスペースの描画処理や外部出力が行われる。
【0061】
また、図4に示す記述304の内容は、ある処理装置PC上でユーザが拡大縮小やスクロール等のビュー範囲に対する変更を操作することで随時更新される。
【0062】
さらに、処理装置PC上でユーザが操作を行なうことで、ワークスペースの新規作成、作成したワークスペースの書き出し、既作成のワークスペースの読み込みなどが可能である。
【0063】
図5は、この発明の実施の形態に従うワークスペースにおける初期操作を説明するための図である。図5を参照して、典型的な操作例として、処理装置PCの出力装置6には、初期的に、本実施の形態に従うワークスペースを提供するビュー表示ウィンドウ150が表示される。このビュー表示ウィンドウ150には、ワークスペースの内容を表示するための領域158に加えて、その上部には、「ファイル」ボタン152、「操作」ボタン154、「表示」ボタン156が表示される。ユーザが、この「ファイル」ボタン152をマウスなどによって選択すると、WS情報に対する操作を行なうためのダイアログ152aが表示される。このダイアログ152aのうち、「新規WSを開く」が選択されると、新たなワークスペースが作成される。また、「WSを保存する」が選択されると、現在作成中のワークスペースがWS情報として保存される。さらに、「WSを開く」が選択されると、保存されている既作成のWS情報を選択的に読み込んで、ワークスペースを表示する。
【0064】
図6は、この発明の実施の形態に従うワークスペースのユーザインターフェイスの一例を示す図である。図6を参照して、処理装置PCの出力装置6にワークスペースが表示されると、ビュー表示ウィンドウ150に加えて、ワークスペース上におけるビュー範囲の位置を示す位置表示ウィンドウ140が表示される。この位置表示ウィンドウ140には、ワークスペース全体とビュー範囲VIEWとの相対的な位置関係が模式的に示される。ユーザが位置表示ウィンドウ140上のビュー範囲VIEWをマウスなどによって移動もしくは変形(リサイズ)すると、それに応じて、ビュー表示ウィンドウ150の領域158内での表示対象となるワークスペースの範囲も変更される。
【0065】
図6(a)は、図3に示すビュー範囲VIEW1が設定されている場合の表示例を示し、図6(b)は、図3に示すビュー範囲VIEW2が設定されている場合の表示例を示す。図6(a)と図6(b)とを比較すると、ビュー表示ウィンドウ150の領域158は同一サイズであるので、ワークスペース上に設定されるビュー範囲を小さく(狭く)するほど、ワークスペースの内容が拡大表示されることになる。したがって、例えば、ワークスペースの全体を概観したい場合などには、より広い範囲をビュー範囲として設定し、反対に、特定のオブジェクトに着目したい場合などには、より狭い範囲をビュー範囲として設定することになる。
【0066】
<ワークスペースにおける編集機能>
図7は、この発明の実施の形態に従うワークスペースにおける編集操作を説明するための図である。図8は、図7に示す編集操作に対応するWS情報300の内容の一例を示す図である。図9は、この発明の実施の形態に従うワークスペースにおけるオブジェクトの選択操作の別形態を示す図である。
【0067】
ユーザがワークスペース上の何らかのオブジェクトに対して変更や削除といった編集操作を行なう際には、典型的に、操作対象となるオブジェクトを選択した上で、処理内容を指示する。このオブジェクトの選択の方法としては、対象のオブジェクトを直接選択する方法、および所望の範囲を指定することで、当該範囲内に存在するオブジェクトを選択とする方法などがある。また、連続的に複数回に亘ってオブジェクトを選択(追加)できるようにしてもよい。
【0068】
一例として、ユーザがワークスペース上に配置されたオブジェクトOBJ2を移動する場合の操作について例示する。図7(a)に示すように、ユーザは、表示されるカーソルCRSを対象オブジェクト(オブジェクトOBJ2)上に配置した上で、マウスに対するクリック操作(典型的には、左クリック)を行なうことで、オブジェクトOBJ2を直接選択する。あるいは、図7(b)に示すように、ユーザは、表示されるカーソルCRSを対象オブジェクト(オブジェクトOBJ2)上に配置した上で、マウスに対するクリック操作(典型的には、右クリック)を行なうことで操作コマンド一覧を示すダイアログを表示させ、このダイアログ上で「選択」を指定することで、オブジェクトOBJ2を直接選択する。
【0069】
このようにオブジェクトOBJ2が選択された状態で、図7(c)に示すように、ユーザがドラッグ操作やカーソル操作などを行なうことによって、オブジェクトOBJ2を移動させることができる。
【0070】
このとき、図7(c)に示すようなオブジェクトOBJ2に対する移動指示に伴って、図8(a)に示すようなWS情報300に定義されていたオブジェクトOBJ2に係る記述312は、図8(b)に示すように、その座標位置(x= ,y= )の値が変更された記述312#に更新される。すなわち、図8(a)の記述312においては、その配置される座標位置が(x='300' y='240')と定義されていたものが、図8(b)の記述312#においては、座標位置が(x='320' y='160')に変更されている。
【0071】
なお、図7においては、ユーザが対象のオブジェクトを直接的に選択する場合の操作例を示したが、図9に示すように、範囲指定をすることで対象のオブジェクトを間接的に選択するようにしてもよい。
【0072】
すなわち、図9を参照して、ユーザがマウスに対するクリック操作(典型的には、左クリック)を継続した状態で、オブジェクトOBJ2を含むような範囲をドラッグ操作することで所望の範囲が指定される。この指定された範囲に含まれるオブジェクトが選択される。このように、ユーザは対象のオブジェクトを直接的に選択しなくとも、指定した範囲内にあるオブジェクトを選択するようにすることもできる。
【0073】
当然のことながら、図7および図9に示したオブジェクトの移動操作の他にも、各種の編集操作が可能である。例えば、オブジェクトの色、形状、内容の変更などが可能である。他にも、オブジェクト同士の連結やリンクやタグなどの属性設定などを採用してもよい。
【0074】
次に、本実施の形態に従うワークスペースにおける編集操作の一例として、(1)サイズ変更、(2)色変更、(3)属性変更、(4)付与属性表示、(5)表示装飾変更、について、図10〜図15を参照して説明する。
【0075】
図10は、この発明の実施の形態に従うワークスペースにおける編集前のあるオブジェクトの状態の一例を示す図である。図11は、この発明の実施の形態に従うワークスペースにおける編集操作(サイズ変更)を説明するための図である。図12は、この発明の実施の形態に従うワークスペースにおける編集操作(色変更)を説明するための図である。図13は、この発明の実施の形態に従うワークスペースにおける編集操作(属性変更)を説明するための図である。図14は、この発明の実施の形態に従うワークスペースにおける編集操作(付与属性表示)を説明するための図である。図15は、この発明の実施の形態に従うワークスペースにおける編集操作(表示装飾変更)を説明するための図である。
【0076】
まず、図10(a)に示すように、ワークスペース上に、オブジェクトOBJ2が配置されているものとする。この場合、WS情報300は、図10(b)に示すような記述312を含む。
【0077】
(1)サイズ変更
ユーザがオブジェクトOBJ2に対してそのサイズを変更(この例では、拡大)するような操作を行なうと、図11(a)に示すように、オブジェクトOBJ2はそのサイズが拡大されたオブジェクトOBJ2Aに更新される。
【0078】
このようなサイズ変更は、典型的には、WS情報300中の拡大縮小率属性(scaleタグ)によって実現される。すなわち、図11(b)に示すように、オブジェクトOBJ2に対応する記述312は、それに対して<scale>タグおよび</scale>タグが追加された記述312Aに更新される。この<scale>タグおよび</scale>タグによって付与される拡大縮小率(scale)の値は、ユーザ操作に応じた値に設定される。
【0079】
(2)色変更
ユーザがオブジェクトOBJ2に対してその色を変更(この例では、黒からグレイへの変更)するような操作を行なうと、図12(a)に示すように、オブジェクトOBJ2はその表示される色が変更されたオブジェクトOBJ2Bに更新される。
【0080】
このようなサイズ変更は、典型的には、WS情報300中の色属性(colorタグ)によって実現される。すなわち、図12(b)に示すように、オブジェクトOBJ2に対応する記述312は、それに対して<color>タグおよび</color>タグが追加された記述312Bに更新される。この<color>タグおよび</color>タグによって付与される色の(color)の値は、ユーザ操作に応じたもの(この例では、gray)となる。
【0081】
(3)属性変更
ユーザがオブジェクトOBJ2に対してその属性を変更(この例では、表示属性として囲み線の付与)するような操作を行なうと、図13(a)に示すように、オブジェクトOBJ2はその周囲に囲み線が付与されたオブジェクトOBJ2Cに更新される。
【0082】
このようなサイズ変更は、典型的には、WS情報300中の属性値(borderタグ)によって実現される。すなわち、図13(b)に示すように、オブジェクトOBJ2に対応する記述312は、それに対して<border>タグが追加された記述312Cに更新される。この<border>タグ内には、その囲み線の線の太さを記述するwidth属性が定義され、このwidth属性の値は、ユーザ操作に応じた値、あるいはデフォルト値となる。
【0083】
(4)付与属性表示
本実施の形態に従うワークスペースにおいては、オブジェクトOBJ2に対して属性としてコメントを付与することができる。このとき、このようにオブジェクトに付与した属性をワークスペース上に表示するように設定することもできる。具体的な一例として、ユーザが、ワークスペース上のオブジェクトOBJ2に関連付けて、「重要」というコメントを付与した場合を考える。このとき、このコメントを付与したユーザ名やその時刻などが付帯的な属性としてWS情報300に記述される。さらに、ユーザが、これらのコメントおよび付帯的な属性の表示を有効化することで、図14(a)に示すように、コメントおよびその付与された時刻が表示されたオブジェクトOBJ2Dに更新される。
【0084】
このようなコメントの付与は、具体的には、WS情報300中の付与属性(commentタグ)によって実現される。すなわち、図14(b)に示すように、オブジェクトOBJ2に対応する記述312は、それに対して<comment>タグおよび</comment>タグが追加された記述312Dに更新される。この<comment>タグおよび</comment>タグによって囲まれる範囲には、コメントの内容である「重要」が記述される。
【0085】
さらに、記述312Dにおいては、上記のコメントに係る付帯的な属性は、<input>タグを用いて定義される。具体的には、その属性としてdate属性およびuser属性が定義される。date属性には、対応するコメントが追加された時刻が記述され、user属性には、対応するコメントを追加したユーザのIDが記述される。なお、これらの属性は、コメントの追加に応答して、システム側が自動的に付与するようにすることが好ましい。
【0086】
さらに、記述312Dにおいては、これらの付帯的な属性および追加されたコメントの表示を有効にするか否かを示す<display>タグが記述される。この<display>タグは、付帯的な属性についての表示の有効/無効を定義するためのinput属性、および追加されたコメントについての表示の有効/無効を定義するためのcomment属性を含む。各属性については、有効を示す「ON」、または無効を示す「OFF」が記述される。
【0087】
図14(b)に示す例では、input属性およびcomment属性がいずれも「ON」に設定されているので、図14(a)に示すように、追加されたコメントとともに、その付帯的な属性がワークスペース上に表示される。
【0088】
(5)表示装飾変更
ユーザがオブジェクトOBJ2に対してその表示装飾を変更(この例では、点滅表示に設定)するような操作を行なうと、図15(a)に示すように、オブジェクトOBJ2は所定周期で点滅表示するオブジェクトOBJ2Eに更新される。
【0089】
このような表示装飾変更は、典型的には、表示装飾属性(animationタグ)によって実現される。すなわち、図15(b)に示すように、オブジェクトOBJ2に対応する記述312は、それに対して<animation>タグが追加された記述312Eに更新される。この<animation>タグ内には、その表示装飾の内容を示すtype属性として点滅を示す「BLINKING」が定義される。このtype属性の値は、ユーザ操作に応じたものとなる。
【0090】
<ワークスペースにおけるシナリオ作成機能>
次に、図16〜図29を参照して、本実施の形態に従うワークスペースにおけるシナリオ作成機能について説明する。
【0091】
(1)ユーザインターフェイス
図16は、この発明の実施の形態に従うワークスペースにおけるシナリオ機能の開始操作を説明するための図である。図17〜図23は、この発明の実施の形態に従うワークスペースにおけるシナリオ作成機能の操作を説明するための図である。
【0092】
まず、本実施の形態に従うシナリオ機能は、ビュー表示ウィンドウ150上において、ユーザが「表示」ボタン156を選択することで表示されるダイアログ156aに含まれる「シナリオ」をカーソルCRSなどで選択することで、開始される。このシナリオ機能では、ユーザが作業を行なっているワークスペースを定義するWS情報300とは独立したシナリオ情報400が生成されるとともに、ユーザ操作に応じてその内容が追加・更新される。このシナリオ情報400では、シナリオもしくはシナリオページに対応付けて、ワークスペース上の特定のオブジェクトが指定される。
【0093】
図16に示すようにダイアログ156aの「シナリオ」がカーソルCRSなどによって選択されると、処理装置PCの出力装置6には、図17に示すような画面が表示される。図17を参照して、シナリオ機能の実行中には、シナリオの作成・再生・変更反映などを制御するための制御ウィンドウ160が表示される。この制御ウィンドウ160には、複数のシナリオを選択するためのタブ161〜163が表示される。なお、図17に示す例では、3つのシナリオを作成できるように、「シナリオ1」、「シナリオ2」、「シナリオ3」とタイトル付されたタブ161〜163が表示されているが、この選択可能なシナリオの数は3つの限定されることなく、操作性などを考慮して適宜設計することができる。あるいは、1つのシナリオのみを作成するようにした場合には、タブ表示を省略してもよい。
【0094】
タブ161〜163のいずれかがカーソルCRSなどで選択されると、対応のシナリオについての再生、設定、編集を指示するボタンなどが、シナリオページ毎に区別して表示される。より具体的には、例えば、シナリオ1に対応するタブ161が選択されると、シナリオ1に含まれるシナリオページ1〜3にそれぞれ対応付けて、各種ボタンが配置された領域171〜173が表示される。なお、本実施の形態に従うシナリオページは、WS情報300の内容を関連付けて指定することでその実体を定義するため、シナリオページを「リンク」とも表す。そして、領域171には、対応するシナリオページの再生を指示する再生ボタン171aと、対応するシナリオページの編集を指示する編集ボタン171bと、対応するシナリオページの設定を指示する設定ボタン171cとが選択可能に表示される。領域171および172についても、同様に、再生ボタン172aおよび173aと、対応するシナリオページの編集を指示する編集ボタン172bおよび173bと、対応するシナリオページの設定を指示する設定ボタン172cおよび173cとがそれぞれ選択可能に表示される。
【0095】
さらに、制御ウィンドウ160には、シナリオの再生中などに現在のワークスペースにおける対応するオブジェクトの状態を表示させるためのオリジナル表示ボタン165と、シナリオ再生中に他のオブジェクトを表示させるための他オブジェクト表示ボタン166とが選択可能に表示される。
【0096】
まず、何らかのシナリオページを作成する手順としては、ユーザは、まず、ビュー表示ウィンドウ150にワークスペース上の説明対象となるべき内容を表示させる。すなわち、ユーザは、ワークスペースの所望の領域を所望のサイズ(倍率)でビュー表示させる。図17に示す例では、ワークスペース上のオブジェクトOBJ9がビュー表示されている。そして、図18に示すように、制御ウィンドウ160の領域171内の設定ボタン171cをユーザがカーソルCRSなどによって選択することで、当該選択時点におけるビュー表示がシナリオ1の第1番目のシナリオページとして保存される。すなわち、ワークスペースの一部または全部の内容の表示中に、ユーザ操作に応答して、表示中のオブジェクトがシナリオに含まれる特定のオブジェクトとしてシナリオ情報400に記録される。なお、シナリオページが保存済であることを示すために、対応する領域171の表示態様を他の領域とは異ならせることが好ましい。すなわち、図18には、シナリオ1の第1番目のシナリオページに対応する領域171がハッチング表示されている。
【0097】
以下、同様の手順に従って、シナリオ1の第2番目のシナリオページを作成する場合には、ビュー表示ウィンドウ150にワークスペース上の2番目に説明対象となるべき内容を表示させる。そして、図19に示すように、制御ウィンドウ160の領域172内の設定ボタン172cをユーザがカーソルCRSなどによって選択することで、当該選択時点におけるビュー表示がシナリオ1の第2番目のシナリオページとして保存される。
【0098】
さらに、本実施の形態に従うワークスペースにおいては、元のワークスペースのある状態に対してプレゼンテーション用の説明などを付加したり、オブジェクトの元の表示態様とは異なる表示態様で表示したりすることができる。すなわち、ユーザ操作に応答して、シナリオ情報400において指定される特定のオブジェクトに対して表示属性を付与することが可能である。なお、表示属性には、後述するように、オブジェクトの表示サイズ、表示色(オブジェクト色、背景色、境界線色等)、表示装飾(点滅表示や縁取り等)、表示有無などを含む。さらに、表示属性には、オブジェクト種類(画像およびテキストのいずれであるか)、拡大縮小率、線太さ、プロパティ表示有無(入力者や付与コメント等を表示させるか否か)といった内容を含み得る。
【0099】
たとえば、上述のように作成したシナリオ1のシナリオページ2に対して、何らかの編集操作を加える場合には、図20に示すように、制御ウィンドウ160の領域172内の編集ボタン172bをユーザがカーソルCRSなどによって選択することで、対応するシナリオページに対する編集が可能となる。具体的には、編集ボタン172bが選択されることで、シナリオページ編集ウィンドウ182が表示される。このとき、ユーザによる編集操作を指示するためのアイコン群(図示しない)などが表示されてもよい。このシナリオページ編集ウィンドウ182においては、表示される各オブジェクトに対して、色、サイズ、属性等を自在に変更することができる。
【0100】
一例として、図21には、シナリオ1のシナリオページ2に含まれるオブジェクトOBJ4の背景色が変更された状態を示す。なお、各オブジェクトに対する編集操作については、ワークスペース上のオブジェクトに対する編集操作と同様であり、これらの操作例については上述したので、詳細な説明は繰返さない。なお、シナリオページ編集ウィンドウ182上における編集操作の内容は、決定ボタン186が選択されるとシナリオ情報400に反映され、キャンセルボタン188が選択されると取消される。
【0101】
さらに、図22には、上述のシナリオ1のシナリオページ2と同様の内容のシナリオページ3を作成した後、別の編集操作を行なった例を示す。すなわち、図22に示すシナリオページ編集ウィンドウ182には、図21に示すシナリオページ編集ウィンドウ182の内容に対して、さらにオブジェクトOBJ4に関連付けたコメントオブジェクト192が追加されるとともに、オブジェクトOBJ5が非表示に設定されている状態を示す。
【0102】
さらに、図23には、WS情報300に定義されたオブジェクトとは独立した、シナリオ情報400のみに定義されるオブジェクトを追加した例を示す。すなわち、図23に示すシナリオページ編集ウィンドウ182には、図22に示すシナリオページ編集ウィンドウ182の内容に対して、さらに(図形)オブジェクトOBJ21が追加されている状態を示す。
【0103】
なお、図16〜図23に示すユーザインターフェイスは一例であり、上述のような操作が可能であれば、どのようなユーザインターフェイスを用いてもよい。たとえば、上述の例では、制御ウィンドウ160内にシナリオページ毎に各種ボタンが表示される例を示したが、「次へ」ボタンおよび「戻る」ボタンを表示させて、シナリオページを相対的に指示可能にするとともに、現在選択中のシナリオページに対して、再生、設定、編集などを指示可能にしてもよい。また、一旦設定したシナリオページを削除するための「解除」ボタンなどを選択可能に表示してもよい。
【0104】
(2)データ構造
図24〜図29は、図17〜図23に示すシナリオ作成機能の操作に応じて生成されるシナリオ情報400の内容の一例を示す図である。なお、以下の説明では、シナリオ単位でシナリオ情報400が生成される例を示すが、1つのシナリオ情報400に複数のシナリオを含めるようにしてもよい。
【0105】
図24には、シナリオ1に関連付けてシナリオページが未作成の状態(初期状態)における、シナリオ情報400の内容の一例を示す。この図24に示すシナリオ情報400は、図17に示すシナリオページが未だ作成されていない状態に対応する。図24に示すように、シナリオ情報400は、一例として、XMLなどのマークアップ言語で記述される。
【0106】
シナリオ情報400は、対象のシナリオを特定するためのシナリオ(scenario)タグ402を含む。このシナリオタグ402には、典型的に、対象のシナリオの識別番号(id)、および当該シナリオの作成者(Author)などの情報が格納される。なお、シナリオタグ402には、文字エンコーディング属性などを含めてもよい。
【0107】
次に、図16に示すように、ワークスペース上のオブジェクトOBJ9を含むビュー表示に対応してシナリオページ1の作成が指示されると、シナリオ情報400は図25に示すような内容に更新される。
【0108】
図25に示すシナリオ情報400においては、図24に示すシナリオ情報400に対して、シナリオページ1を定義する記述410が追加されている。この記述410は、シナリオページ1に含まれるオブジェクトを特定するための情報を含む。より具体的には、<link>タグおよび</link>タグによって、いずれのシナリオページの内容であるかが指定される。すなわち、<link>タグの属性として、対象のシナリオの識別番号(id)が定義される。さらに、<link>タグおよび</link>タグ内には、対象とすべきオブジェクトについての参照情報411である、<target_object>タグおよび</target_object>タグが記述される。この<target_object>タグには、その属性値として、対象オブジェクトの識別番号(object id)を示す識別番号(id)が定義される。すなわち、シナリオ情報400は、WS情報300における特定のオブジェクトの定義内容と関連付けるための参照情報を含む。図25に示すシナリオ情報400においては、シナリオページ1に含まれるオブジェクトOBJ9を示す識別情報として「id=9」が定義されている。さらに、後述するように、<target_object>タグおよび</target_object>タグ内には、対応するオブジェクトについての、シナリオページ編集ウィンドウ182上における編集操作の内容(すなわち、表示属性)が記述される。
【0109】
次に、図19に示すオブジェクトOBJ4〜OBJ6を含むビュー表示がシナリオページとして作成された場合のシナリオ情報400の内容を図26に示す。図26に示すシナリオ情報400においては、図25に示すシナリオ情報400に対して、シナリオページ2を定義する記述420が追加されている。この記述420は、シナリオページ2に含まれるオブジェクトOBJ4〜OBJ6を特定するための情報を含む。すなわち、上述したような<target_object>タグおよび</target_object>タグを用いて、シナリオページ2に含まれる各オブジェクトについての参照情報421,422,423が定義される。
【0110】
その後、図21に示すように、シナリオページ2に含まれるオブジェクトOBJ4の背景色の(無色から赤色への)変更が指示されると、シナリオ情報400は、図27に示すような内容に更新される。すなわち、オブジェクトOBJ4に対応する参照情報421に対して、シナリオページにおける表示属性を示す<color>タグおよび</color>タグが記述される。この<color>タグおよび</color>タグ内には、表示属性として、変更後の色を示す「red」が定義されている。すなわち、<color>タグおよび</color>タグは、対応のオブジェクトのシナリオページにおける属性がワークスペース上の属性とは異なっていることを示す。
【0111】
さらに、図23に示すように、オブジェクトOBJ4〜OBJ6を含むシナリオページ3が作成された後、当該シナリオページ3に対して、オブジェクトOBJ4に関連付けたコメントオブジェクト192の追加、およびオブジェクトOBJ5の非表示化が指示されると、シナリオ情報400は、図28に示すような内容に更新される。
【0112】
図28に示すシナリオ情報400においては、図27に示すシナリオ情報400に対して、シナリオページ3を定義する記述430が追加されている。この記述430は、シナリオページ3に含まれるオブジェクトOBJ4〜OBJ6を特定するための情報を含む。すなわち、上述したような<target_object>タグおよび</target_object>タグを用いて、シナリオページ3に含まれる各オブジェクトについての参照情報431,432,433が定義される。
【0113】
さらに、上述の編集操作に対応して、参照情報431は、表示属性として、シナリオページにおける表示属性を示す<color>タグおよび</color>タグ、コメントの内容を示す<comment>タグおよび</comment>タグ、およびコメントの表示を有効にするか否かを示す<display>タグを含む。<color>タグおよび</color>タグ内には、変更後の色を示す「red」が定義されている。また、<comment>タグおよび</comment>タグ内には、コメントの内容である「これが結論」が記述されている。さらに、<display>タグには、コメントの表示が有効であることを示す「ON」が記述されている。
【0114】
また、参照情報432は、対応のオブジェクトの表示を有効にするか否かを示す<display_flag>タグおよび</display_flag>タグを含む。この<display_flag>タグおよび</display_flag>タグ内には、オブジェクトOBJ5の非表示化の指示に対応して、非表示であることを示す「OFF」が定義されている。
【0115】
図29に示すシナリオ情報400においては、図28に示すシナリオ情報400に対して、オブジェクトOBJ21を定義する記述434が追加されている。この記述434は、シナリオ用のオブジェクトであることを示す<scenario_object>タグおよび</scenario_object>タグを含み、<scenario_object>タグには、オブジェクトの識別番号(id)が属性として付加されている。さらに、この<scenario_object>タグは、対象のオブジェクトの色を定義するための<color>タグおよび対象のオブジェクトに付加すべきテキストを定義するための<text>タグを含む。
【0116】
このように、シナリオを定義するシナリオ情報400においては、各オブジェクト自体の定義に代えて、ワークスペースを定義するWS情報300におけるオブジェクトの定義を参照するように記述される。そのため、シナリオの作成後に、ワークスペース上のオブジェクトに何らかの編集操作がなされたとしても、当該編集後の状態がシナリオに動的に反映される。また、シナリオ情報400においては、<link>タグおよび</link>を用いることで、互いに独立した表示単位(シナリオページ)毎に、特定のオブジェクトを指定することが可能である。
【0117】
<ワークスペースにおけるシナリオ再生機能>
次に、図30〜図34を参照して、本実施の形態に従うワークスペースにおけるシナリオ再生機能について説明する。
【0118】
図30は、この発明の実施の形態に従うワークスペースにおけるシナリオ機能の開始操作を説明するための図である。図31〜図34は、この発明の実施の形態に従うワークスペースにおけるシナリオ再生機能の操作を説明するための図である。
【0119】
本実施の形態に従うシナリオ再生機能についても、上述の図16と同様に、ビュー表示ウィンドウ150上において、ユーザが「表示」ボタン156を選択することで表示されるダイアログ156aに含まれる「シナリオ」をカーソルCRSなどで選択することで、開始される。
【0120】
図31に示すように、シナリオ機能が開始されると、制御ウィンドウ160が表示される。その後、図32に示すように、ユーザが制御ウィンドウ160の領域171内の再生ボタン171aをカーソルCRSなどによって選択することで、シナリオ表示ウィンドウ180が表示されるとともに、シナリオ情報400がロードされる。そして、当該シナリオ情報400の記述内容に基づいて、シナリオ表示ウィンドウ180内にシナリオ1のシナリオページ1が表示される。
【0121】
続いて、図33に示すように、ユーザが制御ウィンドウ160の領域172内の再生ボタン172aをカーソルCRSなどによって選択することで、シナリオ表示ウィンドウ180の表示は、シナリオ表示ウィンドウ180内にシナリオ1のシナリオページ2に更新される。さらに、図34に示すように、ユーザが制御ウィンドウ160の領域173内の再生ボタン173aをカーソルCRSなどによって選択することで、シナリオ表示ウィンドウ180の表示は、シナリオ表示ウィンドウ180内にシナリオ1のシナリオページ3に更新される。
【0122】
このように、複数のシナリオページが設定されている場合に、指定されたシナリオページに対応付けられた内容(それに含まれるオブジェクト)が表示される。すなわち、シナリオ情報400に記載の表現順序に従って、各シナリオページの内容が順次描画される。より具体的には、シナリオ情報400に含まれる参照情報に基づいて、WS情報300の定義内容が参照されるとともに、当該参照することで得られた情報(各オブジェクトの定義)に基づいて、各シナリオページの内容が順次描画される。
【0123】
また、再生されるシナリオページは、シナリオページ作成時に設定した表示属性を反映したものとなっている。すなわち、シナリオ情報400においては指定されるオブジェクトが、WS情報300における対応する定義の内容と、シナリオ情報400において付与されている表示属性とに基づいて描画される。
【0124】
なお、図31〜図34に示すユーザインターフェイスは一例であり、上述のような操作が可能であれば、どのようなユーザインターフェイスを用いてもよい。たとえば、上述の例では、制御ウィンドウ160内の再生ボタンが選択される毎に、対応するシナリオページが表示される例を示したが、「次へ」ボタンおよび「戻る」ボタンを選択可能に表示させて、表示されるシナリオページを相対的に移動できるようにしてもよい。あるいは、いわゆるスライドショーのように、所定時間毎にシナリオページの表示が順次切換わるようにしてもよい。すなわち、複数のシナリオページが設定されている場合に、各シナリオページに対応付けられた内容(それに含まれる特定のオブジェクト)を所定順序で切替えて表示してもよい。
【0125】
<ワークスペースにおけるシナリオ変更点検出機能>
本実施の形態に従うワークスペースでは、あるユーザが、図17〜図23に示すような手順に従ってシナリオを新規作成または編集した後、図31〜図34に示すような手順に従ってシナリオを再生したとする。このシナリオの再生時に、関連付けられているワークスペースの状態が保存され、その後のシナリオの再生時に、この保存されているワークスペースの状態からの変更点の有無および/またはその内容が検出される。すなわち、本実施の形態に従うワークスペースでは、シナリオ情報400に基づいてシナリオ再生(すなわち、シナリオ情報400に定義されているオブジェクトが表示)されるときの、WS情報300における定義内容の少なくとも一部が記憶される。そして、前回のシナリオ再生時に記憶されたWS情報300における定義内容の少なくとも一部と、今回のシナリオ再生時におけるWS情報300における定義内容の少なくとも一部とを比較することで、今回再生されるシナリオに含まれるオブジェクトの表示内容が前回の表示内容から変更されたか否かが判断される。さらに、今回再生されるシナリオに含まれるオブジェクトの表示内容が前回再生されるシナリオの表示内容から変更されたと判断されたときに、変更点の数および/または変更内容がユーザに通知される。
【0126】
このような構成を採用することで、あるタイミングでシナリオを再生する場合に、現在のワークスペースの状態と前回のシナリオの生成時におけるワークスペースの状態との間の差異点が検出される。そして、検知された変更点の有無および/またはその内容は、ユーザに通知される。そのため、当該シナリオを用いてワークスペースでの作業結果および/または途中経過を説明するユーザは、シナリオにおいて表現される内容が前回の再生時から変化していることを予め知ることができるので、適切な対処をとることができる。
【0127】
図35は、この発明の実施の形態に従うシナリオ変更点検出機能の処理を説明するための図である。図36は、図35に示すシナリオ情報およびWS情報の内容の一例を示す図である。
【0128】
図35(a)を参照して、ユーザがシナリオの新規作成/編集操作を行なうと、シナリオ情報400が新たなに作成またはその内容が更新される。なお、シナリオ情報400は、WS情報300における特定のオブジェクトの定義内容と関連付けるための参照情報(
たとえば、図25に示す参照情報411)を含む。すなわち、シナリオ情報400とWS情報300とは、互いに関連付けられている。
【0129】
次に、図35(b)を参照して、ユーザによってシナリオ再生が指示されると、当該時点のワークスペースの状態が保存される。より具体的には、当該時点におけるWS情報300の内容が複写され、WS情報(写)350として保存される。すなわち、WS情報300の定義内容の全体が保存される。したがって、このWS情報(写)350は、シナリオ再生時のWS情報300と同一の内容を有する。なお、実際のファイル操作としては、WS情報300のファイル名がたとえば「WS.xml」であるとすると、シナリオ再生時(すなわち、WS情報(写)350の保存時)のタイムスタンプをこのファイル名に付加した「WS_200903181502.xml」といったファイル名を有するファイルとして、WS情報(写)350を保存する。なお、WS情報(写)350は、2009年3月18日15時02分に保存されたものとする。
【0130】
このシナリオ再生は、シナリオを作成したユーザがその仕上がったシナリオの内容を予め確認する場合などが想定される。
【0131】
次に、図35(c)を参照して、シナリオ再生の終了後、ワークスペースに対して何らかの編集操作がなされたとする。なお、複数の処理装置PCが同期して共通のワークスペースが提供されている場合には、WS情報300の内容は、他の処理装置PCに関連付けられたユーザの操作によっても変更される。但し、この場合であっても、シナリオ情報400およびWS情報(写)350は、いわゆるローカルエリアに保存されており、他の処理装置PCによってその内容が変更されることが禁止される。
【0132】
ワークスペースに対する何らかの編集操作に応答して、WS情報300の内容が変更されたとする(内容が異なることを明瞭化するために、WS情報300Aと記す)。
【0133】
次に、図35(d)を参照して、ワークスペースに対して何らかの編集操作がなされた後、シナリオを再生する場合を考える。このシナリオ再生は、実際にワークスペースにおける作業結果および/または途中経過をプレゼンテーションするような場合などが想定される。このとき、前回のシナリオ再生時に保存された当該時点におけるワークスペースの状態を示すWS情報(写)350と、現時点におけるワークスペースの状態を示すWS情報300Aとが比較される。そして、両者の内容が不一致となった場合には、ワークスペースの状態が前回のシナリオ再生時から変更されたことおよび/またはその変更の内容がユーザに通知される。
【0134】
より具体的な一例として、1回目のシナリオ再生後に、図19に示すオブジェクトOBJ4の位置が変更された場合を考える。この場合のWS情報300およびWS情報(写)350(図35(b))の内容の一部を図36(a)に示す。この図36(a)に示すWS情報300およびWS情報(写)350は、オブジェクトOBJ4の座標位置(x='100' y='300')を示す記述351を含む。これに対して、この図36(b)に示すWS情報300Aは、変更後のオブジェクトOBJ4の座標位置(x='200' y='300')を示す記述351Aを含む。
【0135】
図35(d)に示すように、再度シナリオが再生されると、WS情報(写)350とWS情報300Aとが比較される。このような比較処理の具体例としては、XMLパーサを用いて、WS情報(写)350およびWS情報300Aの内容をXML要素毎に分解する。そして、分解されたXML要素毎に比較することで、変更点を検出する。XML要素毎の比較は、単純な文字列比較処理を用いることで実現できる。あるいは、最長共通部分または最小エディット距離に基づいて、変更点を検出するような公知のアルゴリズムを採用してもよい。このような最長共通部分または最小エディット距離に基づく検索アルゴリズムについては、文献1(E.W. Myers, "An O(ND) difference algorithm and its variations")および文献2(S.W.maner, G.Myers, W.Mileer, "An O(NP) Sequence Comparison Algorithm")などを参照されたい。
【0136】
そして、WS情報(写)350とWS情報300Aとの間の変更点を以下のように抽出できたとする。
【0137】
・WS情報(写)350:
<object id=4>
<text x='100' y='300'>
・WS情報300A:
<object id=4>
<text x='200' y='300'>
このように抽出された変更点について、上述のXMLパーサによって分解されたXML要素のうち、シナリオ情報400に記述されているオブジェクト(object id)の数を算出する。この算出された結果が0ではない場合に、ワークスペースに対してシナリオに影響がある変更がなされたと判断される。なお、シナリオ情報400に、<object>タグ以外の要素が定義されている場合には、その定義に対応するWS情報300の記述についても、変更有無の判断対象とする。
【0138】
上述のように、本実施の形態に従うワークスペースでは、シナリオ情報400に基づく前回のシナリオ再生時に記憶されたWS情報300における定義内容(WS情報(写)350)と、今回のシナリオ再生時におけるWS情報300における定義内容との間の相違点が抽出され、さらに、抽出された定義内容の相違点のうち、シナリオ情報400において指定されるオブジェクトに関する相違点が抽出される。
【0139】
<シナリオ変更点の通知機能>
次に、シナリオ変更点の通知機能について、図37〜図39を参照して説明する。
【0140】
図37は、この発明の実施の形態に従うシナリオ変更点の通知機能の表示例を示す図である。図38および図39は、この発明の実施の形態に従うシナリオ変更点の通知機能の別の表示例を示す図である。
【0141】
図37を参照して、ユーザによってシナリオ再生が指示されると、上述のようなWS情報(写)350とWS情報300Aとが比較される。そして、上述のように、シナリオに用いられている何らかのオブジェクトなどに変更があると判断されると、図37に示すような通知ウィンドウ196が表示される。この通知ウィンドウ196には、たとえば、シナリオに用いられているオブジェクトのうち、変更されたものの数を示す「シナリオ中、1点変更がありました。」というメッセージが表示される。さらに、抽出された相違点の内容に基づいて、変更内容を示す「変更内容:object id=4」および「変更内容:位置(100,300)→(200,300)」というメッセージが表示される。
【0142】
なお、ワークスペース上の状態とは異なる態様でオブジェクトを表示するための表示属性についても、比較対象としてもよい。すなわち、図22に示すようなワークスペースからは独立したコメントオブジェクト192が、前回の再生時から変更されたような場合にも、その変更内容をユーザに通知することが好ましい。なお、この場合には、前回のシナリオ再生時に、WS情報(写)350とともに、当該時点におけるシナリオ情報400の内容が保存される。
【0143】
たとえば、前回のシナリオ再生時に、図38(a)に示すように、オブジェクトOBJ4に関連付けて、「仮決定」というテキストを含むコメントオブジェクト192が付与さていたとする。これに対して、今回のシナリオ再生時には、図38(b)に示すように、オブジェクトOBJ4に関連付けられたコメントオブジェクトのテキストが「仮決定」から「これが結論」というテキストに変更されていたものとする。
【0144】
このような場合において、ユーザによってシナリオ再生が指示されると、先に保存されているシナリオ情報400と現在のシナリオ情報400とが比較される。そして、上述のようにシナリオに付与されているコメントオブジェクトに変更があると、図39に示すような通知ウィンドウ197が表示される。この通知ウィンドウ197には、たとえば、シナリオに付与されていたコメントオブジェクトの変更前と変更後の内容が視覚的に対比可能な態様で表示される。さらに、変更されたオブジェクトの数を示す「シナリオ中、1点変更がありました。」というメッセージも表示される。
【0145】
なお、変更前後の差異点を着色表示(たとえば、「赤色」)をすることで、ユーザに注意を促してもよい。なお、通知ウィンドウ197は、図39に示すようなビュー表示ウィンドウ150の上に重ねて表示する形態に代えて、独立に表示してもよい。より好ましくは、ユーザが何らかのアクションを行った場合に、その位置にポップアップ的に表示される。また、通知ウィンドウ197の存在しない部分をユーザがクリックすると、該当変更場所に画面表示を移動させることが好ましい。
【0146】
<データ構造の発展例>
ユーザが自身の作業結果および/または途中経過を他人に説明する場合において、その説明相手の理解度や職制などに応じて、その説明内容を異なったものとする場合も想定される。この場合には、共通のWS情報300に基づいて、作成したシナリオの数だけシナリオ情報400が生成される。そして、これらのシナリオ情報400が再生される度に、当該時点におけるWS情報(写)350が複数保存されることになる。そのため、シナリオ情報400とWS情報(写)350とを対応付けるための情報を予め保存しておくことが有効な場合がある。以下、このような場合のデータ構造について説明する。
【0147】
図40は、この発明の実施の形態に従うワークスペースにおけるデータ構造の発展例を示す図である。図40(a)に示すように、たとえば、各々が共通のWS情報300を参照する2つのシナリオ情報400−1,400−2が作成されているものとする。これらのシナリオ情報のうち、シナリオ情報400−1が再生されると、当該再生時のWS情報300を複製したWS情報(写)350−1が生成される。また、シナリオ情報400−2が再生されると、当該再生時のWS情報300を複製したWS情報(写)350−2が生成される。
【0148】
この場合には、シナリオ情報400−1の次回再生時には、当該時点のWS情報350とWS情報(写)350−1とが比較され、シナリオ情報400−2の次回再生時には、当該時点のWS情報350とWS情報(写)350−2とが比較される必要がある。したがって、このようなファイル同士の対応関係を定義するために、対応情報500を用意してもよい。
【0149】
図40(b)には、対応情報500の内容の一例を示す。この対応情報500には、WS情報(写)350のファイル名に対応付けて、当該WS情報(写)350が作成されたタイムスタンプ501、当該WS情報(写)350を作成するトリガーとなったシナリオ情報400の識別情報(scenario id)502、ならびに、対応するシナリオ情報400が参照するワークスペースの識別情報(workspace id)503および当該シナリオ情報400のファイル名504などが定義される。
【0150】
より具体的には、タイムスタンプ501は、WS情報(写)350が保存された日付および時刻を示す値(この例では、2009年3月18日15時02分を示す「200903181502」)を要素値として含む<timestamp>タグを用いて記述される。また、シナリオ情報400の識別情報502は、対応のWS情報300に定義されているシナリオの識別情報(scenario id)の値を要素値として含む<scenario id>タグを用いて記述される。また、ワークスペースの識別情報503は、対応のWS情報300に定義されているシナリオの識別情報(workspace id)の値を要素値として含む<workspace id>タグを用いて記述される。また、WS情報300のファイル名504は、対応のWS情報300のファイル名(この例では、「WS_200903181502.xml」)を要素値として含む<workspace name>タグを用いて記述される。
【0151】
なお、ワークスペースの識別情報503およびWS情報300のファイル名504については、必ずしも定義する必要はなく、WS情報(写)350が作成されたタイムスタンプ501を用いることで、シナリオ情報400とWS情報(写)350との対応関係を定義することができる。
【0152】
<制御構造>
図41は、この発明の実施の形態に従う処理装置PCで実現される制御構造を示す概略図である。図41を参照して、処理装置PCは、制御構造として、入力装置10と、出力装置6と、処理部100と、WS格納部120と、入出力制御装置130とを含む。典型的に、処理部100および入出力制御装置130は、ハードディスク12に予め格納されているプログラムをCPU2がメモリ14に展開した上で実行することで提供される。また、WS格納部120は、HDD12の一部として提供される。
【0153】
なお、入力装置10、出力装置6、処理部100、WS格納部120、および入出力制御装置130を必ずしも同一の処理装置PCに設ける必要はなく、別体の装置に分散して設けてもよい。また、入出力制御装置130を、入力装置10や出力装置6の内部に設けてもよい。さらに、入力装置10および出力装置6と入出力制御装置130との間、入出力制御装置130と処理部100との間、および処理部100とWS格納部120との間などに、別の情報処理装置や制御部などを仲介させる形で構成してもよい。
【0154】
入出力制御装置130は、入力装置10で受付けた入力信号の内容を解釈して、対応する指令を処理部100へ出力する。すなわち、入出力制御装置130は、ユーザが入力装置10に対してどのような内容の操作を行なったのかを判断する。より具体的な一例として、入出力制御装置130は、マウスのクリックやドラッグなどによって、ワークスペース上のいずれのオブジェクトが選択されたのか、いずれのボタンが押下されたのか、クリック操作およびドラッグ操作のいずれであるのか、といった内容を解釈する。
【0155】
また、入出力制御装置130は、処理部100からの情報に基づいて、出力用の信号を生成して、出力装置6へ送る。より具体的な一例として、入出力制御装置130は、ワークスペース上でユーザが行なったオブジェクト操作やビューの変更操作に応じて、表示される画面上のいずれの部分にどのような表示を行なえばいいよいのかを決定して出力信号を生成(レンダリング)する。
【0156】
処理部100は、本実施の形態に従うワークスペースを提供する処理の全体を司る。処理部100は、操作管理部102と、ビュー管理部104と、オブジェクト管理部106と、シナリオ管理部108と、WS空間管理部110と、WS入出力部112と、WS作業メモリ114とを含む。
【0157】
操作管理部102は、入出力制御装置130から送られる情報に基づいて、要求される処理内容を判断し、その判断結果に応じて、ビュー管理部104、オブジェクト管理部106、シナリオ管理部108、WS空間管理部110、およびWS入出力部112のうち、対応する部位へ指令を与える。より具体的には、操作管理部102は、受けた操作内容が、ワークスペースの新規作成、ワークスペースのリセット、ワークスペースの削除などである場合、WS空間管理部110に指示が出され、WS空間管理部110で処理が実行される。また、操作管理部102は、受けた操作内容が、オブジェクトに対する移動・内容変更・装飾変更などの編集、新規オブジェクトの作成、削除である場合、オブジェクト管理部106に指示が出され、オブジェクト管理部106で処理が実行される。また、操作管理部102は、受けた操作内容が、ビューの変更である場合、ビュー管理部104に指示が出され、ビュー管理部で処理が実行される。また、操作管理部102は、受けた操作内容が、ワークスペースの読み込みや書き出しである場合、WS入出力部112に指示が出され、WS入出力部112で処理が実行される。また、操作管理部102は、受けた操作内容が、シナリオの作成、シナリオの再生、オブジェクトに対する変更反映、シナリオ多面化機能などである場合、シナリオ管理部108に指示が出され、シナリオ管理部108で処理が実行される。
【0158】
WS作業メモリ114には、ワークスペースを提供するためのWS情報300、および上述のシナリオ機能を提供するためのシナリオ情報400が格納される。これらのWS情報300およびシナリオ情報400は、ユーザ操作および各部における処理に伴って、随時更新される。また、上述したように、シナリオ再生にともなって、当該時点のWS情報300が複製されて、WS情報(写)350として保存される。
【0159】
WS空間管理部110は、操作管理部102からの指示に従って、WS作業メモリ114におけるWS情報300の新規作成および削除などを管理する。すなわち、WS空間管理部110は、ワークスペースとワークスペースに含まれるオブジェクトとを定義するWS情報300を管理するためのものである。
【0160】
オブジェクト管理部106は、操作管理部102からの指示に従って、WS作業メモリ114に格納されているWS情報300の内容(記述)を更新する。
【0161】
ビュー管理部104は、操作管理部102からの指示に従って、WS作業メモリ114に格納されているWS情報300に定義されている情報のうち、ユーザにより指定されるビュー範囲に含まれる情報に基づいて、描画処理(レンダリング処理)を行なう。すなわち、ビュー管理部104は、WS情報300に基づいて、ワークスペースの一部または全部の内容を表示するためのものである。
【0162】
WS入出力部112は、操作管理部102からの指示に従って、WS格納部120に格納されているWS情報120aを読出し、あるいはWS作業メモリ114に格納されているWS情報300に従ってWS格納部120に格納されているWS情報120aを更新する。WS格納部120は、WS情報120aを不揮発的に記憶しており、ワークスペースを提供するアプリケーションがシャットダウンされた後であっても、WS情報120aを継続的に保持する。
【0163】
シナリオ管理部108は、操作管理部102からの指示に従って、WS作業メモリ114にシナリオ情報400を作成し、さらにシナリオ情報400の内容を適宜更新する。すなわち、シナリオ管理部108は、ワークスペースに含まれる特定のオブジェクトを指定するためのシナリオ情報400を管理するためのものである。また、シナリオ管理部108は、シナリオ情報400においては指定される特定のオブジェクトを表示するためのものでもある。そして、シナリオ管理部108は、上述したシナリオ変更点検出機能の処理を具体的に実行する主体でもある。
【0164】
なお、サーバ装置SRVを介して複数の処理装置PCの間で、WS情報300および/またはシナリオ情報400を共有して保持する場合には、サーバ装置SRVおよび/または他の処理装置PCとの間で通信を行なって、WS作業メモリ114内のWS情報300を適宜更新(同期)するための同期処理部をさらに設けてもよい。
【0165】
<処理手順>
次に、図42および図43を参照して、本実施の形態に従うワークスペースの提供に係る処理手順について説明する。図42および図43に示す各ステップは、典型的に、CPU2がプログラムを実行することで進められる。すなわち、CPU2がプログラムを実行することで提供される制御構造(図41)により各処理が進められる。なお、ワークスペースは既に作成されているものとする。
【0166】
図42および図43を参照して、ステップS100において、操作管理部102として機能するCPU2は、ワークスペース上のオブジェクトについての新規作成・変更・削除などがユーザによって指示されたか否かを判断する。実体オブジェクトについての新規作成・変更・削除などがユーザによって指示された場合(ステップS100においてYESの場合)には、処理はステップS102へ進み、そうでなければ(ステップS100においてNOの場合)、処理はステップS106へ進む。
【0167】
ステップS102において、操作管理部102として機能するCPU2は、ユーザ操作に応じた指示をオブジェクト管理部106へ与える。この指示に応答して、オブジェクト管理部106として機能するCPU2は、WS作業メモリ114に格納されているWS情報300の内容を更新する。典型的には、ユーザが、上述の図7〜図15に示す編集操作などを行なうと、この編集操作に応じて、WS情報300中の対応するオブジェクトの記載を変更する。そして、処理はステップS104へ進む。
【0168】
ステップS104において、ビュー管理部104として機能するCPU2は、更新後のWS情報300の内容に基づいて、現在のビュー表示を更新する。そして、処理はステップS106へ進む。
【0169】
ステップS106において、操作管理部102として機能するCPU2は、ビュー表示の変更がユーザによって指示されたか否かを判断する。ビュー表示の変更がユーザによって指示された場合(ステップS106においてYESの場合)には、処理はステップS108へ進み、そうでなければ(ステップS106においてNOの場合)、処理はステップS110へ進む。
【0170】
ステップS108において、ビュー管理部104として機能するCPU2は、ユーザから指示された内容に従って、ビュー表示を更新する。すなわち、ビュー管理部104は、指定されたビュー表示の中心座標や表示倍率に応じたビュー表示を生成し、出力装置6から出力する。そして、処理はステップS110へ進む。
【0171】
ステップS110において、シナリオ管理部108として機能するCPU2は、シナリオ機能の開始がユーザによって指示されたか否かを判断する。すなわち、CPU2は、図16に示すような、ダイアログ156aの「シナリオ」がカーソルCRSなどによって選択されたか否かを判断する。シナリオ機能の開始がユーザによって指示された場合(ステップS110においてYESの場合)には、処理はステップS112へ進み、そうでなければ(ステップS110においてNOの場合)、処理は終了する。
【0172】
ステップS112において、シナリオ管理部108として機能するCPU2は、シナリオの作成・再生・変更反映などを制御するための制御ウィンドウ160を選択可能に表示する。そして、処理はステップS114へ進む。
【0173】
ステップS114において、シナリオ管理部108として機能するCPU2は、シナリオページの作成がユーザによって指示されたか否かを判断する。すなわち、CPU2は、制御ウィンドウ160内のいずれかの設定ボタンがカーソルCRSなどによって選択されたか否かを判断する。シナリオページの作成がユーザによって指示された場合(ステップS114においてYESの場合)には、処理はステップS116へ進み、そうでなければ(ステップS114においてNOの場合)、処理はステップS122へ進む。
【0174】
ステップS116において、シナリオ管理部108として機能するCPU2は、作成が指示されたシナリオページを特定する。すなわち、CPU2は、選択された制御ウィンドウ160内の設定ボタンがいずれのシナリオ番号およびシナリオページ番号に関連付けられたものであるかを判断する。続くステップS118において、シナリオ管理部108として機能するCPU2は、現在のビュー表示に含まれるオブジェクトの識別番号を取得する。さらに続くステップS120において、シナリオ管理部108として機能するCPU2は、シナリオ情報400に対して、ステップS116において特定したシナリオ番号およびシナリオページ番号に関連付けて、ステップS118において取得したオブジェクトの識別番号を参照情報(リンク情報)として追加する。すなわち、ユーザが設定ボタンを選択した時点におけるビュー表示の内容が、シナリオページとして保存される。そして、処理はステップS122へ進む。
【0175】
ステップS122において、シナリオ管理部108として機能するCPU2は、シナリオページの編集がユーザによって指示されたか否かを判断する。すなわち、CPU2は、制御ウィンドウ160内のいずれかの編集ボタンがカーソルCRSなどによって選択されたか否かを判断する。シナリオページの編集がユーザによって指示された場合(ステップS122においてYESの場合)には、処理はステップS124へ進み、そうでなければ(ステップS122においてNOの場合)、処理はステップS138へ進む。
【0176】
ステップS124において、シナリオ管理部108として機能するCPU2は、編集が指示されたシナリオページを特定する。すなわち、CPU2は、選択された制御ウィンドウ160内の編集ボタンがいずれのシナリオ番号およびシナリオページ番号に関連付けられたものであるかを判断する。続くステップS126において、シナリオ管理部108として機能するCPU2は、シナリオ情報400からステップS124において特定したシナリオ番号およびシナリオページ番号に関連付けて定義されている記述を読出して、それに基づくシナリオページを編集可能に表示する。さらに続くステップS128において、シナリオ管理部108として機能するCPU2は、ユーザが行なった編集操作の内容を受付ける。なお、CPU2は、受付けた編集操作の内容を表示に反映する。さらに続くステップS130において、シナリオ管理部108として機能するCPU2は、編集操作の反映がユーザによって指示されたか否かを判断する。すなわち、CPU2は、図21などに示す決定ボタン186がカーソルCRSなどによって選択されたか否かを判断する。編集操作の反映がユーザによって指示された場合(ステップS130においてYESの場合)には、処理はステップS132へ進み、そうでなければ(ステップS130においてNOの場合)、処理はステップS134へ進む。
【0177】
ステップS132において、シナリオ管理部108として機能するCPU2は、ステップS128において受付けた編集操作の内容に基づいて、シナリオ情報400のステップS124において特定したシナリオ番号およびシナリオページ番号に関連付けられた記述を更新する。そして、処理はステップS138へ進む。
【0178】
一方、ステップS134において、シナリオ管理部108として機能するCPU2は、編集操作の取消しがユーザによって指示されたか否かを判断する。すなわち、CPU2は、図21などに示すキャンセルボタン188がカーソルCRSなどによって選択されたか否かを判断する。編集操作の取消しがユーザによって指示された場合(ステップS134においてYESの場合)には、処理はステップS136へ進み、そうでなければ(ステップS134においてNOの場合)、処理はステップS128へ戻る。
【0179】
ステップS136において、シナリオ管理部108として機能するCPU2は、ステップS128において受付けた編集操作の内容を削除する。そして、処理はステップS138へ進む。
【0180】
ステップS138において、シナリオ管理部108として機能するCPU2は、シナリオページの再生がユーザによって指示されたか否かを判断する。すなわち、CPU2は、制御ウィンドウ160内のいずれかの再生ボタンがカーソルCRSなどによって選択されたか否かを判断する。シナリオページの再生がユーザによって指示された場合(ステップS138においてYESの場合)には、処理はステップS140へ進み、そうでなければ(ステップS138においてNOの場合)、処理は終了する。
【0181】
ステップS140において、シナリオ管理部108として機能するCPU2は、再生が指示されたシナリオ情報400に対応付けられたWS情報(写)350が保存されているか否かを判断する。すなわち、CPU2は、指定されたシナリオの再生が最初であるか否かを判断する。再生が指示されたシナリオ情報400に対応付けられたWS情報(写)350が保存されている場合(ステップS140においてYESの場合)には、処理はステップS142へ進み、そうでなければ(ステップS140においてNOの場合)、処理はステップS150へ進む。
【0182】
ステップS142において、シナリオ管理部108として機能するCPU2は、保存されているWS情報(写)350のうち、現在のWS情報300の内容と最も保存日が新しいWS情報(写)350の内容とを比較することで変更点を抽出する。続くステップS144において、シナリオ管理部108として機能するCPU2は、抽出した変更点のうち、再生が指示されたシナリオ情報400に記述されているオブジェクトを抽出する。さらに続くステップS146において、シナリオ管理部108として機能するCPU2は、ステップS144において何らかのオブジェクトが抽出されたか否かを判断する。ステップS144において何らかのオブジェクトが抽出された場合(ステップS146においてYESの場合)には、処理はステップS148へ進み、そうでなければ、処理はステップS150へ進む。
【0183】
ステップS148において、シナリオ管理部108として機能するCPU2は、ステップS144において抽出された変更点の数および/または内容をユーザに通知する(図37および図39参照)。ユーザは、これらの通知に基づいて、シナリオ情報400またはワークスペース上のオブジェクトを修正したり、その説明内容を変更後の状況に応じたものに変更したりする。そして、処理はステップS150へ進む。
【0184】
ステップS150において、シナリオ管理部108として機能するCPU2は、現在のWS情報300を複製してWS情報(写)350を生成する。すなわち、CPU2は、次回のシナリオ再生時にワークスペース上の変更点の有無を判断するための情報を保存する。そして、処理はステップS152へ進む。
【0185】
ステップS152において、シナリオ管理部108として機能するCPU2は、再生が指示されたシナリオページを特定する。すなわち、CPU2は、選択された制御ウィンドウ160内の再生ボタンがいずれのシナリオ番号およびシナリオページ番号に関連付けられたものであるかを判断する。なお、1つのシナリオに複数のサブシナリオが含まれる場合には、いずれのサブシナリオを再生するかについても特定する。
【0186】
続くステップS154において、シナリオ管理部108として機能するCPU2は、シナリオ情報400からステップS152において特定したシナリオ番号およびシナリオページ番号に関連付けて定義されている記述に基づいて、表示対象オブジェクトの識別番号および付与されている表示属性の内容を取得する。続くステップS156において、シナリオ管理部108として機能するCPU2は、WS情報300からステップS154において取得した識別番号に対応するオブジェクトの記述を読出す。さらに続くステップS158において、シナリオ管理部108として機能するCPU2は、ステップS156において取得したオブジェクトの記述と、ステップS154において取得した付与されている表示属性とに基づいて、対象オブジェクトの表示用情報を取得する。さらに続くステップS160において、シナリオ管理部108として機能するCPU2は、すべての対象オブジェクトについて、表示用情報を取得したか否かを判断する。未だ表示用情報を取得していない対象オブジェクトがあれば(ステップS160においてNOの場合)、ステップS156以下の処理が繰返される。これに対して、すべての対象オブジェクトについての表示用情報を取得していれば(ステップS160においてYESの場合)、処理はステップS162へ進む。
【0187】
ステップS162において、シナリオ管理部108として機能するCPU2は、ステップS158において取得した(1つまたは複数の)表示用情報に基づいて、シナリオページをレンダリングしたビュー表示を生成し、出力装置6からシナリオ表示ウィンドウ180として出力する。そして、処理はステップS170へ進む。
【0188】
ステップS170において、シナリオ管理部108として機能するCPU2は、シナリオ再生中に編集操作がユーザによって指示されたか否かを判断する。すなわち、CPU2は、シナリオ表示ウィンドウ180内に表示されるいずれかのオブジェクトがカーソルCRSなどによって選択されたか否かを判断する。シナリオ再生中に編集操作がユーザによって指示された場合(ステップS170においてYESの場合)には、処理はステップS172へ進み、そうでなければ(ステップS170においてNOの場合)、処理は終了する。
【0189】
ステップS172において、シナリオ管理部108として機能するCPU2は、編集操作が指示されたオブジェクトを特定し、その識別番号を取得する。続くステップS174において、シナリオ管理部108として機能するCPU2は、ユーザが行なった編集操作の内容を受付ける。続くステップS176において、CPU2は、ステップS172において受付けた編集操作の内容に基づいて、ステップS172において特定した識別番号に関連付けられたWS情報300の記述を更新する。さらに続くステップS178において、シナリオ管理部108として機能するCPU2は、シナリオ表示ウィンドウ180内のビュー表示を更新する。そして、処理はステップS170へ戻る。
【0190】
<本実施の形態による作用・効果>
本実施の形態に従うワークスペースにおいては、シナリオをワークスペース上のオブジェクトと動的に関連付けて作成できるので、シナリオ再生時に、ワークスペース上の目的とするオブジェクトの現在の状態を表示できる。同時に、複数回にわたってシナリオを再生する場合に、ワークスペース上のオブジェクトに対する編集操作によって、シナリオ再生毎にその表示内容が異なる場合が生じ得る。このような状況が好ましくない場合も想定されるが、本実施の形態に従うワークスペースにおいては、今回のシナリオ再生によって表示される内容が前回のシナリオ再生によって表示される内容から変化している場合には、ユーザにその旨および/または内容が通知される。
【0191】
この通知を受けて、ユーザは、必要に応じて、ワークスペース上のオブジェクトを再修正したり、シナリオを変更したり、シナリオに対応する説明内容を変更したりといった、各種の対応をとることができる。すなわち、シナリオ作成者またはシナリオを用いた説明者が予期していない変更がシナリオ内に表示されることを回避することができる。
【0192】
<第1変形例>
本実施の形態に従うワークスペースでは、画像や文書といった外部ファイルをオブジェクトとして扱うことができる。上述の図4に示すように、このような外部ファイルは、WS情報300とは別のファイル実体として存在しており、目的とする外部ファイルをリンクアドレス(src)を用いてWS情報300に定義することで、同一のワークスペース上で当該外部ファイルを他のオブジェクトと同時に扱うことができる。
【0193】
ところで、このような外部ファイルについても、前回のシナリオ再生時から今回のシナリオ再生時までの間に変更されている場合も想定される。このような外部ファイルの変更についても、シナリオ変更点として検出したい場合もある。以下、このような外部ファイルについての変更点を検出するための処理について説明する。
【0194】
より具体的には、シナリオ再生時に、当該時点におけるWS情報300の内容とともに、当該WS情報300が参照している外部ファイルの情報をあわせて保存する。この外部ファイルの情報としては、外部ファイルを複製した、ファイル実体そのものであってもよいが、ファイルサイズの低減および変更点の有無を判断するといった観点からは、以下のようなより簡素化した情報のみを保存することが好ましい。
【0195】
このようなより簡素化した情報としては、ワークスペースが参照している外部ファイルのファイル名および/またはファイルの更新日時を用いてもよいが、より好ましくは、外部ファイルのある状態を示す固有値(典型的には、外部ファイルから生成されるハッシュ値)が用いられる。そして、先に保存されているハッシュ値と、次回のシナリオ再生時に、当該時点の外部ファイルから算出されるハッシュ値とを比較して、その値が一致しているか否かが判断される。そして、両者が一致していなければ、前回のシナリオ再生時から今回のシナリオ再生時までの間に、いずれかの外部ファイルの内容が変更されたことがわかる。
【0196】
図44は、この発明の実施の形態の第1変形例に従うWS情報300の内容の一例を示す図である。図45は、この発明の実施の形態の第1変形例に従うシナリオ変更点検出機能の処理を説明するための図である。図46は、図45に示す外部ファイル情報600の内容の一例を示す図である。
【0197】
複数の外部ファイルがリンクとしてワークスペース上に組み込まれている場合を考える。この場合のWS情報300の内容としては、図44に示すようになる。すなわち、図44に示すWS情報300は、「salesplan.doc」という文書ファイルを参照するための記述321と、「map.jpg」という画像ファイルを参照するための記述322とを含む。
【0198】
このような外部ファイルがリンク付けられたワークスペースは、図45(a)に示すようなファイルを用いて提供される。すなわち、図44に示すような内容を含むWS情報300と、「salesplan.doc」および「map.jpg」を含むリンク対象の外部ファイル310とが用意される。このWS情報300に基づいてシナリオ情報400が新規作成された場合を考える。
【0199】
次に、図45(b)を参照して、このシナリオ情報400に対してシナリオ再生が指示されると、WS情報300が複製されることでWS情報(写)350が保存される。これと並行して、外部ファイル310の内容を特定するための情報を記述した外部ファイル情報600が生成され、保存される。上述したように、この外部ファイル情報600には、外部ファイルのファイル名、ファイルサイズ、更新日時といった当該時点の外部ファイルの状態を特定するための情報を記述してもよいが、本変形例においては、外部ファイルのある状態を示す固有値(典型的には、外部ファイルから生成されるハッシュ値)を用いる構成について例示する。
【0200】
具体的な一例として、図46には、外部ファイル情報600に記述される内容の一例を示す。すなわち、外部ファイル情報600は、外部ファイル「salesplan.doc」についての記述610と、外部ファイル「map.jpg」についての記述620とを含む。この記述610は、外部ファイル「salesplan.doc」に割当てられたオブジェクトの識別番号(object id)を示す値(この例では、「11」)を要素値として含む<object id>タグ611と、対象の外部ファイルのファイル名を要素値として含む<src>タグ612と、対象の外部ファイルから算出されたハッシュ値を要素値として含む<hash value>タグ613とを含む。また、記述620についても、記述610と同様に、<object id>タグ621と、<src>タグ622と、<hash value>タグ623とを含む。
【0201】
なお、ハッシュ値の算出方法については、公知の方法を用いることができるので、詳細な説明は行なわない。
【0202】
次に、図45(c)を参照して、シナリオの再生が再度指示された場合には、上述の本実施の形態と同様に、当該時点のWS情報300と、先に保存されているWS情報(写)350とが比較され、WS情報300に直接的に定義されているオブジェクトに関する変更点の検出処理が行なわれる。並行して、当該時点における外部ファイル310の各々からハッシュ値が算出され(外部ファイル情報)、この算出された外部ファイル情報と先に保存されている外部ファイル情報600とが比較され、WS情報300に間接的に定義されているオブジェクト(外部ファイル)に関する変更点の検出処理が行なわれる。
【0203】
このような変更点検出処理が採用することで、WS情報300に直接的に記述されているオブジェクトだけではなく、WS情報300に間接的に記述されている外部ファイルについても、前回のシナリオ再生時から変更点の有無をユーザに通知することができる。
【0204】
本変形例によれば、外部ファイルの情報全体を保存しておくのではなく、外部ファイルのある状態を示す固有値(ハッシュ値)が保存されるので、記憶容量などが過大に増大することを回避できる。それに伴って、ワークスペース上に多数の外部ファイルが存在する場合であっても、それらに対する変更点の有無をより効率的に検出することができる。
【0205】
<第2変形例>
上述の実施の形態においては、シナリオ情報400に記述されているすべてのオブジェクトについての変更の有無を判断する構成について例示した。しかしながら、シナリオを用いて説明する内容によっては、オブジェクトのうち重要なものとそうでないものが存在する場合がある。このような場合には、重要なオブジェクトについての変更の有無のみが分かれば十分であることも多いと考えられる。すなわち、重要ではないオブジェクトの変更(たとえば、背景オブジェクトの色の変更など)については、シナリオの本旨とは関係ないので、そのような変更を排除することがより効率的であると考えられる。
【0206】
そこで、シナリオ情報400の基づいてシナリオを最初に再生する際に、予め変更の有無を判断する対象とすべきオブジェクトを指定することができると、より効率的である。以下、このような処理について例示する。
【0207】
図47は、この発明の実施の形態の第2変形例に従うシナリオ再生時の操作を説明するための図である。図48は、図47に示す操作によって生成されるWS情報(写)350の内容の一例を示す図である。
【0208】
本変形例においては、ユーザは、指定したシナリオ情報400に対する再生指示によって表示されるシナリオページ編集ウィンドウ182上で、マウスに対するドラッグ操作などによって、変更の有無を判断する対象とすべき対象オブジェクトを指定する。具体的には、ユーザは、表示されるカーソルCRSを移動させて、対象オブジェクトを囲むような対象範囲198を指定する。
【0209】
このシナリオ再生時には、当該時点のWS情報300が複製されて、WS情報(写)350として保存されるが、このWS情報(写)350に対して、この対象範囲198に含まれるオブジェクトとそれ以外のオブジェクトとを識別するための情報が付加される。より具体的な一例として、図48に示すように、WS情報(写)350には、対象オブジェクトを特定するための<check/>タグ352が付与される。すなわち、図47に示す例では、オブジェクトOBJ4(object id=4)が対象オブジェクトとして指定されており、これに対応して、図48に示すWS情報(写)350の<object id=4>タグ内には、<check/>タグ352が付与される。
【0210】
なお、このような対象オブジェクトの指定方法は、上述ような範囲で指定する方法に限られず、オブジェクト単位での指定、シナリオページ単位での指定、シナリオページに対する検索結果の基づく指定などを採用してもよい。
【0211】
本変形例においては、上述した図43のフローチャートのステップS144において、この<check/>タグ352に基づく処理が行われる。より具体的には、CPU2は、WS情報300とWS情報(写)350との比較によって抽出した変更点のうち、再生が指示されたシナリオ情報400に記述されており、かつ、<check/>タグ352が付与されているオブジェクトを抽出する。すなわち、<check/>タグ352が付与されていないオブジェクトについては、変更点としての抽出対象から除外される。その他の処理は、上述の実施の形態と同様であるので、詳細な説明は繰返さない。
【0212】
上述のように、本変形例に従うワークスペースにおいては、シナリオ情報400に定義されるオブジェクトのうち、前回のシナリオ再生時からの変更の有無を判断すべき対象のオブジェクトを設定することが可能である。そして、前回のシナリオ再生時に記憶されたWS情報300定義内容(WS情報(写)350および/またはハッシュ値)と、今回のシナリオ再生時のWS情報300における定義内容との間の相違点のうち、当該対象オブジェクトとして設定されたオブジェクトに関する相違点のみが抽出される。
【0213】
本変形例によれば、シナリオが多数ページにわたるような場合に、重要性の低いオブジェクトを含む多数のオブジェクトについての変更点が通知されると、かえって効率が低下する場合も多い。このような場合に、予めシナリオ作成者が目的とする説明の内容などに基づいて重要であると考えるオブジェクトについてのみ、前回のシナリオ再生時から変更されているか否かを知ることができる。これによって、より効率的にシナリオ機能を活用することができる。
【0214】
<第3変形例>
上述の実施の形態においては、ワークスペースの状態がシナリオの内容に逐次反映される構成について例示した。しかしながら、シナリオの重要性などに応じて、シナリオをワークスペースから切離すようにしてもよい。すなわち、シナリオ作成時におけるワークスペースの状態を保存しておき、この保存したワークスペースの状態に基づいてシナリオを再生するようにしてもよい。以下、このような処理について説明する。
【0215】
図49は、この発明の実施の形態の第3変形例に従うシナリオ情報および関連するファイルの状態を説明するための図である。図50は、この発明の実施の形態の第3変形例に従うWS情報300#の内容の一例を示す図である。図51は、この発明の実施の形態の第3変形例に従うシナリオ巻き戻し処理を説明するための図である。
【0216】
本変形例においては、ユーザが何らかのシナリオを作成した後、当該シナリオをワークスペースから切離すための指示を与えることができる。このようなワークスペースからの切離しの指示によって、シナリオ情報400ならびにWS情報300および外部ファイル310が複製されて、独立したファイルとして新たに生成される。
【0217】
より具体的には、図49(a)に示すように、シナリオ情報400と、当該シナリオ情報400の作成元となった、WS情報300および外部ファイル310とが存在している状態で、ユーザによるシナリオの切離し指示が与えられると、それぞれのファイルが複製される。すなわち、図49(b)に示すように、当該時点のシナリオ情報400、WS情報300、外部ファイル310がそれぞれ、シナリオ情報400#、WS情報300#、外部ファイル310#として複製される。なお、このとき、それぞれのファイルは、元のファイルと区別するために、それぞれのファイル名が変更される。たとえば、以下に示すように、複製時のタイムスタンプがファイル名に付与された新たなファイルが採用される。
【0218】
シナリオ情報:SC.xml→SC_200903181502.xml.backup
WS情報:WS.xml→WS_200903181502.xml
外部ファイル:
salesplan.doc→salespalan.doc.200903181502.backup
map.jpg→map.jpg.200903181502.backup
シナリオ情報400#、WS情報300#、外部ファイル310#は、いわゆるローカルエリアに保存されており、他の処理装置PCによってその内容が変更されることが禁止される。
【0219】
また、WS情報300には、外部ファイル310のファイル名を参照情報として記述しているので、上述のような外部ファイル310のファイル名が変更された場合には、WS情報300と外部ファイル310との間の対応関係を更新する必要がある。より具体的には、図50に示すように、WS情報300から生成されたWS情報300#においては、外部ファイルを示すリンクアドレス(src)の値が元の外部ファイル310のファイル名から、新たに生成された外部ファイル310#のファイル名を示す値に変更されている。より具体的には、WS情報300#は、新たに生成された外部ファイル310#に含まれる「salespalan.doc.200903181502.backup」を要素値として含む<src>タグ361と、同じく「map.jpg.200903181502.backup」を要素値として含む<src>タグ362とが記述される。これにより、ファイル名が変更された外部ファイルであっても、WS情報300と外部ファイル310との間の対応関係を維持することができる。
【0220】
すなわち、本変形例においては、ユーザによって切離操作がなされると、当該操作時点のWS情報300における定義内容を含むWS情報300#が生成され、このWS情報300#を参照することで、シナリオ情報400(または、シナリオ情報400#)に定義されているオブジェクトを、WS情報300の定義内容(すなわち、ワークスペースの状態)とは独立して表示再生できる。
【0221】
図49に示すような、シナリオ情報400#、WS情報300#、外部ファイル310#のセットを用いることで、シナリオ作成後にワークスペースに対して行なわれた変更に影響を受けることなく、同じ内容のシナリオを再生することができる。
【0222】
さらに、上述の実施の形態に従うワークスペースにおいて、図49に示すような、シナリオ情報400#、WS情報300#、外部ファイル310#のセットを保存しておくことで、シナリオの内容をシナリオ作成時の状態に巻戻すこともできる。すなわち、図51に示すように、シナリオ情報400#、WS情報300#、外部ファイル310#を用いて、それぞれシナリオ情報400、WS情報300、外部ファイル310を上書きすることで、シナリオ作成時(もしくは、バックアップを行った時点)の状態に巻戻すことができる。
【0223】
この巻戻し処理においては、上述の図49における処理と反対の処理を行なうことになる。すなわち、ローカルエリアに保存されているファイルのファイル名を元のファイル名に変更するともに、上述の図50と同様に、WS情報300(元のWS情報300#)と外部ファイル310(元の外部ファイル350#)との間の対応関係が更新される。
【0224】
すなわち、WS情報300をWS情報300#の内容に更新し、この更新後のWS情報300に基づいてシナリオ再生することで、WS情報300#の生成が指示された時点、すなわちユーザによって切離しが指示された時点の状態で表示する。このような処理を行なうことで、任意の時点で、シナリオ作成時の状態に巻戻すことができる。
【0225】
本変形例によれば、非常に重要なシナリオなどについて、ワークスペース上の状態に影響を受けないように管理することができる。さらに、何らかの不具合があった場合に、任意のタイミングで、ワークスペースおよびシナリオを元の状態に戻すこともできる。
【0226】
<第4変形例>
上述の実施の形態においては、シナリオの内容とは独立して、ワークスペースに対する変更が許可される構成について例示したが、場合によっては、シナリオの内容に応じて、ワークスペースに対する変更に対する警告を行なう場合も好ましい場合がある。以下では、このような構成について例示する。
【0227】
ワークスペース上における何らかのオブジェクトの削除は、WS情報300におけるオブジェクト定義の削除を意味する。本変形例においては、このオブジェクト定義が削除される前に、当該オブジェクトがシナリオに参照されているか、すなわちシナリオ情報400に削除対象のオブジェクトをリンクする参照情報が含まれているか否かが判断される。そして、シナリオ情報400に削除対象のオブジェクトに対する参照情報が含まれている場合には、当該オブジェクトの削除を指示したユーザに対して、シナリオに使用されている旨の警告を与えて、シナリオの意図しない変更の発生を抑制する。たとえば、外部ファイル310がシナリオに使用されているか否かについては、外部ファイル情報600に記述されているオブジェクトの識別番号を基づいて判断される。
【0228】
図52は、この発明の実施の形態の第4変形例に従うオブジェクトの削除に対する警告処理を説明するための図である。図53は、この発明の実施の形態の第4変形例に従うオブジェクトの削除に対する警告処理の表示例を示す図である。図54は、この発明の実施の形態の第4変形例に従うシナリオの復元処理を説明するための図である。
【0229】
図52を参照して、シナリオ作成後に当該シナリオが一度でも再生されると、WS情報300および外部ファイル310に加えて、シナリオ情報400と、WS情報(写)350と、外部ファイル情報600とが生成される。この状態において、ユーザがワークスペース上のいずれかの外部ファイルのオブジェクトを削除する編集操作を行なうと、削除対象のオブジェクトの識別情報が外部ファイル情報600に記述されているか否かが確認される。ここで、削除対象のオブジェクトの識別番号が外部ファイル情報600に記述されていなければ、そのまま削除対象のオブジェクト(および、対応する外部ファイル310)が削除される。
【0230】
これに対して、削除対象のオブジェクトの識別番号が外部ファイル情報600に記述されていれば、ユーザに対して、削除対象のオブジェクトがシナリオに使用されている旨の警告が通知される。より具体的には、図53に示すように、警告ウィンドウ700が表示される。この警告ウィンドウ700には、「削除しようとするオブジェクトはシナリオに使用されています。」という警告メッセージとともに、「削除しますか?」という確認メッセージが表示される。また、警告ウィンドウ700には、対象のオブジェクトに対する削除を許可するための「はい」ボタン702と、対象のオブジェクトに対する削除をキャンセルするための「いいえ」ボタン704とが選択可能に表示される。そして、ユーザが「はい」ボタン702を選択すると、対象のオブジェクトが削除され、ユーザが「いいえ」ボタン704を選択すると、対象のオブジェクトに対する削除は中止される。なお、警告ウィンドウ700には、オブジェクトの名称や識別番号(id)を同時に表示するようにしてもよい。
【0231】
このように、ワークスペース上で編集操作を行なうユーザに対して、シナリオに関連しているオブジェクトの変更(特に、削除)については、その実行前に警告がなされるので、シナリオが不用意に変更されてしまう事態を回避できる。
【0232】
さらに、ワークスペース上から削除されてしまっても、シナリオ再生時には、正常に表示されるように、削除対象のオブジェクトをローカルエリアに保存しておいてもよい。具体的には、図54に示すように、WS情報300において対象のオブジェクトの定義が削除された後であって、対応する外部ファイル310が削除される前に、削除対象の外部ファイル310が複製されて、実体ファイル310Aとしてローカルエリアに保存される。それとともに、シナリオ情報400における当該実体ファイル310の参照先が変更される。
【0233】
このような操作によって、実体ファイル310が削除後であっても、シナリオ情報400に基づいて削除前と同じシナリオが再生できる。
【0234】
本変形例によれば、予め作成されているシナリオに影響を与えるようなワークスペースに対する変更操作に対して警告を行なうので、シナリオ作成者などが意図しないシナリオ内容の変更をより確実に抑制することができる。
【0235】
<その他の変形例>
上述したシナリオおよびシナリオページの記述形式、それらの記録方法、およびシナリオの再生方法などについては、上述した実施の形態のものに限定されるものではない。例えば、シナリオおよびシナリオページは、参照情報(リンク)の順序付の集合として記述することもできる、あるいは、別途リスト等の形式で保持したオブジェクトの表示属性をシナリオ再生時に処理装置PCにおいて解釈可能な形式に変換して利用する形式でもよい。
【0236】
また、上述の実施の形態においては、あるユーザが作業する処理装置PC上でシナリオ表示を行なう場合の構成について例示したが、処理装置PCに接続されたプロジェクター装置などでシナリオ表示の内容をより大型のスクリーンなどに投射するような使用形態も想定される。あるいは、サーバ装置SRVにWS情報300およびシナリオ情報400を格納する場合には、当該シナリオを作成したユーザが説明を行なう先のユーザに向けて、サーバ装置SRV上のWS情報300およびシナリオ情報400の格納先のアドレスを示した電子メールなどを送付し、当該電子メールを受取ったユーザが自身の処理装置PC上でシナリオ表示を見るような使用形態も想定される。さらに、あるユーザが作成したWS情報300およびシナリオ情報400のファイル自体を電子メールなどによって、説明を行なう先のユーザに向けて送信するような使用形態であってもよい。
【0237】
<その他の実施の形態>
本発明に係るプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明に係るプログラムに含まれ得る。
【0238】
さらに、本発明に係るプログラムは、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明に係るプログラムに含まれ得る。
【0239】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記憶媒体とを含む。
【0240】
さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
【0241】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0242】
2 CPU、4 内部バス、6 出力装置、8 通信インターフェイス、10 入力装置、12 ハードディスク、14 メモリ、16 CD−ROMドライブ、16a CD−ROM、18 FDドライブ、18a フレキシブルディスク、100 処理部、102 操作管理部、104 ビュー管理部、106 オブジェクト管理部、108 シナリオ管理部、110 空間管理部、112 入出力部、114 作業メモリ、120 WS格納部、120a WS情報、130 入出力制御装置、300 ワークスペース(WS)情報、400 シナリオ情報、NW ネットワーク、PC,PC1〜PCN 情報処理装置(処理装置)、SRV サーバ装置。
【特許請求の範囲】
【請求項1】
仮想的な作業空間を提供する情報処理装置であって、
前記作業空間と前記作業空間に含まれるオブジェクトとを定義する第1情報を管理するための第1管理手段と、
前記第1情報に基づいて、前記仮想作業空間の一部または全部の内容を表示するための第1表示手段と、
前記仮想作業空間に含まれる特定のオブジェクトを指定する第2情報を管理するための第2管理手段と、
前記第1情報を参照することで、前記第2情報において指定される前記特定のオブジェクトを表示するための第2表示手段と、
前記第2表示手段によって前記特定のオブジェクトが表示されるときの、前記第1情報における定義内容の少なくとも一部を記憶する記憶手段と、
前記特定のオブジェクトの前回表示時に記憶された前記第1情報における定義内容の少なくとも一部と、前記特定のオブジェクトの今回表示時における前記第1情報における定義内容の少なくとも一部とを比較することで、今回の前記特定のオブジェクトの表示内容が前回の表示内容から変更されたか否かを判断する判断手段とを備える、情報処理装置。
【請求項2】
前記判断手段によって今回の前記特定のオブジェクトの表示内容が前回の表示内容から変更されたと判断されたときに、変更点の数および変更内容の少なくとも一方を通知するための通知手段をさらに備える、請求項1に記載の情報処理装置。
【請求項3】
前記記憶手段は、前記第1情報における定義内容の全体を記憶し、
前記判断手段は、
前記特定のオブジェクトの前回表示時に記憶された前記第1情報における定義内容と、前記特定のオブジェクトの今回表示時における前記第1情報における定義内容との間の相違点を抽出するための手段と、
当該抽出された定義内容の相違点のうち、前記第2情報において指定される前記特定のオブジェクトに関する相違点を抽出するための手段とを含む、請求項1または2に記載の情報処理装置。
【請求項4】
前記判断手段は、
前記第2情報において指定される特定のオブジェクトのうち、前回の表示内容からの変更の有無を判断すべき対象のオブジェクトの設定を受付ける手段と、
前記特定のオブジェクトの前回表示時に記憶された前記第1情報における定義内容の少なくとも一部と、前記特定のオブジェクトの今回表示時における前記第1情報における定義内容の少なくとも一部との間の相違点のうち、前記対象のオブジェクトとして設定されたオブジェクトに関する相違点を抽出するための手段とを含む、請求項1〜3のいずれか1項に記載の情報処理装置。
【請求項5】
前記記憶手段は、前記第1情報に定義されたファイルのある状態を示す固有値を記憶する、請求項1〜4のいずれか1項に記載の情報処理装置。
【請求項6】
ユーザ操作に応答して、当該時点の前記第1情報における定義内容を含む第3情報を生成するための生成手段と、
前記第3情報を参照することで、前記第2情報において指定される前記特定のオブジェクトを、前記第1情報の定義内容とは独立して表示する第3表示手段とをさらに備える、請求項1〜5のいずれか1項に記載の情報処理装置。
【請求項7】
前記第1情報を前記第3情報の内容に更新するための更新手段をさらに備え、
前記第1表示手段は、前記第2情報において指定される前記特定のオブジェクトを、前記第3情報が生成された時点の状態で表示する、請求項6に記載の情報処理装置。
【請求項8】
情報処理装置を用いて仮想的な作業空間を提供する方法であって、前記情報処理装置が以下のステップを実行し、前記以下のステップは、
前記作業空間と前記作業空間に含まれるオブジェクトとを定義する第1情報を管理するステップと、
前記第1情報に基づいて、前記仮想作業空間の一部または全部の内容を表示するステップと、
前記仮想作業空間に含まれる特定のオブジェクトを指定する第2情報を管理するステップと、
前記第1情報を参照することで、前記第2情報において指定される前記特定のオブジェクトを表示するステップと、
前記特定のオブジェクトが表示されるときの、前記第1情報における定義内容の少なくとも一部を記憶するステップと、
前記特定のオブジェクトの前回表示時に記憶された前記第1情報における定義内容の少なくとも一部と、前記特定のオブジェクトの今回表示時における前記第1情報における定義内容の少なくとも一部とを比較することで、今回の前記特定のオブジェクトの表示内容が前回の表示内容から変更されたか否かを判断するステップとを備える、方法。
【請求項9】
コンピュータを仮想的な作業空間を提供する情報処理装置として機能させるプログラムであって、前記プログラムは、前記コンピュータに、
前記作業空間と前記作業空間に含まれるオブジェクトとを定義する第1情報を管理するステップと、
前記第1情報に基づいて、前記仮想作業空間の一部または全部の内容を表示するステップと、
前記仮想作業空間に含まれる特定のオブジェクトを指定する第2情報を管理するステップと、
前記第1情報を参照することで、前記第2情報において指定される前記特定のオブジェクトを表示するステップと、
前記特定のオブジェクトが表示されるときの、前記第1情報における定義内容の少なくとも一部を記憶するステップと、
前記特定のオブジェクトの前回表示時に記憶された前記第1情報における定義内容の少なくとも一部と、前記特定のオブジェクトの今回表示時における前記第1情報における定義内容の少なくとも一部とを比較することで、今回の前記特定のオブジェクトの表示内容が前回の表示内容から変更されたか否かを判断するステップとを実行させる、プログラム。
【請求項1】
仮想的な作業空間を提供する情報処理装置であって、
前記作業空間と前記作業空間に含まれるオブジェクトとを定義する第1情報を管理するための第1管理手段と、
前記第1情報に基づいて、前記仮想作業空間の一部または全部の内容を表示するための第1表示手段と、
前記仮想作業空間に含まれる特定のオブジェクトを指定する第2情報を管理するための第2管理手段と、
前記第1情報を参照することで、前記第2情報において指定される前記特定のオブジェクトを表示するための第2表示手段と、
前記第2表示手段によって前記特定のオブジェクトが表示されるときの、前記第1情報における定義内容の少なくとも一部を記憶する記憶手段と、
前記特定のオブジェクトの前回表示時に記憶された前記第1情報における定義内容の少なくとも一部と、前記特定のオブジェクトの今回表示時における前記第1情報における定義内容の少なくとも一部とを比較することで、今回の前記特定のオブジェクトの表示内容が前回の表示内容から変更されたか否かを判断する判断手段とを備える、情報処理装置。
【請求項2】
前記判断手段によって今回の前記特定のオブジェクトの表示内容が前回の表示内容から変更されたと判断されたときに、変更点の数および変更内容の少なくとも一方を通知するための通知手段をさらに備える、請求項1に記載の情報処理装置。
【請求項3】
前記記憶手段は、前記第1情報における定義内容の全体を記憶し、
前記判断手段は、
前記特定のオブジェクトの前回表示時に記憶された前記第1情報における定義内容と、前記特定のオブジェクトの今回表示時における前記第1情報における定義内容との間の相違点を抽出するための手段と、
当該抽出された定義内容の相違点のうち、前記第2情報において指定される前記特定のオブジェクトに関する相違点を抽出するための手段とを含む、請求項1または2に記載の情報処理装置。
【請求項4】
前記判断手段は、
前記第2情報において指定される特定のオブジェクトのうち、前回の表示内容からの変更の有無を判断すべき対象のオブジェクトの設定を受付ける手段と、
前記特定のオブジェクトの前回表示時に記憶された前記第1情報における定義内容の少なくとも一部と、前記特定のオブジェクトの今回表示時における前記第1情報における定義内容の少なくとも一部との間の相違点のうち、前記対象のオブジェクトとして設定されたオブジェクトに関する相違点を抽出するための手段とを含む、請求項1〜3のいずれか1項に記載の情報処理装置。
【請求項5】
前記記憶手段は、前記第1情報に定義されたファイルのある状態を示す固有値を記憶する、請求項1〜4のいずれか1項に記載の情報処理装置。
【請求項6】
ユーザ操作に応答して、当該時点の前記第1情報における定義内容を含む第3情報を生成するための生成手段と、
前記第3情報を参照することで、前記第2情報において指定される前記特定のオブジェクトを、前記第1情報の定義内容とは独立して表示する第3表示手段とをさらに備える、請求項1〜5のいずれか1項に記載の情報処理装置。
【請求項7】
前記第1情報を前記第3情報の内容に更新するための更新手段をさらに備え、
前記第1表示手段は、前記第2情報において指定される前記特定のオブジェクトを、前記第3情報が生成された時点の状態で表示する、請求項6に記載の情報処理装置。
【請求項8】
情報処理装置を用いて仮想的な作業空間を提供する方法であって、前記情報処理装置が以下のステップを実行し、前記以下のステップは、
前記作業空間と前記作業空間に含まれるオブジェクトとを定義する第1情報を管理するステップと、
前記第1情報に基づいて、前記仮想作業空間の一部または全部の内容を表示するステップと、
前記仮想作業空間に含まれる特定のオブジェクトを指定する第2情報を管理するステップと、
前記第1情報を参照することで、前記第2情報において指定される前記特定のオブジェクトを表示するステップと、
前記特定のオブジェクトが表示されるときの、前記第1情報における定義内容の少なくとも一部を記憶するステップと、
前記特定のオブジェクトの前回表示時に記憶された前記第1情報における定義内容の少なくとも一部と、前記特定のオブジェクトの今回表示時における前記第1情報における定義内容の少なくとも一部とを比較することで、今回の前記特定のオブジェクトの表示内容が前回の表示内容から変更されたか否かを判断するステップとを備える、方法。
【請求項9】
コンピュータを仮想的な作業空間を提供する情報処理装置として機能させるプログラムであって、前記プログラムは、前記コンピュータに、
前記作業空間と前記作業空間に含まれるオブジェクトとを定義する第1情報を管理するステップと、
前記第1情報に基づいて、前記仮想作業空間の一部または全部の内容を表示するステップと、
前記仮想作業空間に含まれる特定のオブジェクトを指定する第2情報を管理するステップと、
前記第1情報を参照することで、前記第2情報において指定される前記特定のオブジェクトを表示するステップと、
前記特定のオブジェクトが表示されるときの、前記第1情報における定義内容の少なくとも一部を記憶するステップと、
前記特定のオブジェクトの前回表示時に記憶された前記第1情報における定義内容の少なくとも一部と、前記特定のオブジェクトの今回表示時における前記第1情報における定義内容の少なくとも一部とを比較することで、今回の前記特定のオブジェクトの表示内容が前回の表示内容から変更されたか否かを判断するステップとを実行させる、プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52】
【図53】
【図54】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52】
【図53】
【図54】
【公開番号】特開2010−287158(P2010−287158A)
【公開日】平成22年12月24日(2010.12.24)
【国際特許分類】
【出願番号】特願2009−142198(P2009−142198)
【出願日】平成21年6月15日(2009.6.15)
【出願人】(000001270)コニカミノルタホールディングス株式会社 (4,463)
【Fターム(参考)】
【公開日】平成22年12月24日(2010.12.24)
【国際特許分類】
【出願日】平成21年6月15日(2009.6.15)
【出願人】(000001270)コニカミノルタホールディングス株式会社 (4,463)
【Fターム(参考)】
[ Back to top ]