JP2009069899A - オブジェクト文書作成システム - Google Patents
オブジェクト文書作成システム Download PDFInfo
- Publication number
- JP2009069899A JP2009069899A JP2007234523A JP2007234523A JP2009069899A JP 2009069899 A JP2009069899 A JP 2009069899A JP 2007234523 A JP2007234523 A JP 2007234523A JP 2007234523 A JP2007234523 A JP 2007234523A JP 2009069899 A JP2009069899 A JP 2009069899A
- Authority
- JP
- Japan
- Prior art keywords
- document
- file
- objects
- diversion
- document file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
Abstract
【課題】オブジェクトを格納可能な文書の、複数人による同時編集を実現する。
【解決手段】オブジェクト文書を、その構成部品であるオブジェクトについて全て読み込み、オブジェクト単位でデータベースに登録し、サーバにて管理する。サーバはオブジェクト文書をそのオブジェクト単位で可視化表示し、オブジェクト単位で編集可能にする。
【選択図】図2
【解決手段】オブジェクト文書を、その構成部品であるオブジェクトについて全て読み込み、オブジェクト単位でデータベースに登録し、サーバにて管理する。サーバはオブジェクト文書をそのオブジェクト単位で可視化表示し、オブジェクト単位で編集可能にする。
【選択図】図2
Description
本発明は、文章や図等、様々な形態のデータを格納可能な文書ファイルを編集するためのシステムに適用して好適な技術に関する。
マイクロソフト社のプレゼンテーション作成ソフトウェアである、PowerPoint(登録商標)は、簡易且つ迅速にプレゼンテーション資料を作成できる。このため、ノートパソコンの普及に伴い、世界のオフィスに普及している。なお、これ以降は便宜のため、PowerPoint(登録商標)の代わりに「プレゼンソフト」、その文書ファイルを「オブジェクト文書」と呼ぶ。
会社によっては、プレゼンソフトが隅々まで深く浸透し、その結果として様々な情報のやり取りもオブジェクト文書にて行う事例もある。
なお、本発明に関連があると思われる先行技術文献を特許文献1に示す。
特開2006−323528号公報
なお、本発明に関連があると思われる先行技術文献を特許文献1に示す。
プレゼンソフトのオブジェクト文書は、基本的に単数人で作成し、編集することを想定している。このため、一つのオブジェクト文書を複数の部分に分割して、複数人で分担して作成する、という作業形態にはあまり向いていない。
また、プレゼンソフトによるオブジェクト文書の作成の際には、過去に作成したオブジェクト文書の一部の箇所を参照して、新たなオブジェクト文書を作成するという、いわゆる「コピーアンドペースト」が広く行われている。その際、プレーンテキストとは異なり、参照して流用したい箇所を探すことが困難である。
更に、プレーンテキストとは異なり、直接的に文章を抜き出すことが困難であるが故に、単一のオブジェクト文書を複数名が共同で作成する作業形態を採った場合や、作成者の異なる複数のオブジェクト文書同士において、用いられている字句や用語を統一し難い、という難点がある。
また、プレゼンソフトによるオブジェクト文書の作成の際には、過去に作成したオブジェクト文書の一部の箇所を参照して、新たなオブジェクト文書を作成するという、いわゆる「コピーアンドペースト」が広く行われている。その際、プレーンテキストとは異なり、参照して流用したい箇所を探すことが困難である。
更に、プレーンテキストとは異なり、直接的に文章を抜き出すことが困難であるが故に、単一のオブジェクト文書を複数名が共同で作成する作業形態を採った場合や、作成者の異なる複数のオブジェクト文書同士において、用いられている字句や用語を統一し難い、という難点がある。
本発明はかかる点に鑑みてなされたものであり、複数名によるオブジェクト文書作成及び編集を実現するシステムを提供することを目的とする。
上記課題を解決するための本発明によるオブジェクト文書作成システムは、サーバでは、異なるデータ構造を備えるオブジェクトを格納できるオブジェクト文書ファイルをファイル入出力部にて読み込む。読み込んだオブジェクト文書ファイルは、中に格納されているオブジェクトの関係を表示処理部で表示する情報を作成すると共に、オブジェクト関係テーブルに登録する。また、オブジェクトの中身はオブジェクトテーブルに登録する。このようなサーバにクライアントはアクセスして、表示処理部が生成した情報を表示する。
オブジェクト文書を構成するオブジェクトの中身と、その関係を全てデータベースに登録する。このことより、オブジェクト単位でオブジェクト文書を管理し、複数名による同時編集を可能にする。
本発明により、従来、複数名による同時編集が実質的に不可能であったオブジェクト文書の、オブジェクト単位での同時編集を実現する、オブジェクト文書作成システムを提供できる。
本発明の実施の形態を、図示を伴って詳細説明をする前に、本実施形態の概略を説明する。
本実施形態は、オブジェクトを埋め込むことが可能な文書を多人数で編集するためのツールと、そのツールを利用するシステムである。
オブジェクトを埋め込むことが可能な文書の一例として、本実施形態ではマイクロソフト社のプレゼンテーション作成ソフトウェアである、PowerPoint(登録商標)を対象とする。これ以降は便宜上、PowerPoint(登録商標)の代わりに「プレゼンソフト」、その文書ファイルを「オブジェクト文書」と呼ぶ。
本実施形態では、オブジェクト文書を、その構成部品であるオブジェクト単位に分解して、その中身と対応関係を全てデータベースに登録する。そして、オブジェクト文書全体のみならず、オブジェクト単位での編集を可能とする。編集の際には排他制御のための、オブジェクト単位でのロック機能を提供し、複数名で一つのオブジェクト文書を、論理矛盾を生じることなく同時に編集することを実現する。
また、オブジェクトの編集履歴をデータベースに管理することで、バージョン管理も実現する。
更に、オブジェクトの流用関係をデータベースに記録することで、欲しい情報(オブジェクト)の在り処を迅速に知り、作業効率を向上させる。
そして、流用が多く行われているオブジェクトのランキングを表示することで、使えるオブジェクトを即座に見つけることを実現する。
本実施形態は、オブジェクトを埋め込むことが可能な文書を多人数で編集するためのツールと、そのツールを利用するシステムである。
オブジェクトを埋め込むことが可能な文書の一例として、本実施形態ではマイクロソフト社のプレゼンテーション作成ソフトウェアである、PowerPoint(登録商標)を対象とする。これ以降は便宜上、PowerPoint(登録商標)の代わりに「プレゼンソフト」、その文書ファイルを「オブジェクト文書」と呼ぶ。
本実施形態では、オブジェクト文書を、その構成部品であるオブジェクト単位に分解して、その中身と対応関係を全てデータベースに登録する。そして、オブジェクト文書全体のみならず、オブジェクト単位での編集を可能とする。編集の際には排他制御のための、オブジェクト単位でのロック機能を提供し、複数名で一つのオブジェクト文書を、論理矛盾を生じることなく同時に編集することを実現する。
また、オブジェクトの編集履歴をデータベースに管理することで、バージョン管理も実現する。
更に、オブジェクトの流用関係をデータベースに記録することで、欲しい情報(オブジェクト)の在り処を迅速に知り、作業効率を向上させる。
そして、流用が多く行われているオブジェクトのランキングを表示することで、使えるオブジェクトを即座に見つけることを実現する。
オブジェクトの流用関係は、データベースに記録する他に、オブジェクト自身にも「タグ」として、その情報を埋め込む。
このように流用関係の情報を埋め込むことで、本実施形態のアプリケーションを離れてオブジェクト文書の編集を行っても、改めて本実施形態のアプリケーションにオブジェクト文書を登録することで、流用元の在り処を知ることができる。
このように流用関係の情報を埋め込むことで、本実施形態のアプリケーションを離れてオブジェクト文書の編集を行っても、改めて本実施形態のアプリケーションにオブジェクト文書を登録することで、流用元の在り処を知ることができる。
このような、オブジェクト毎の管理を実現するために、オブジェクト文書を構成する全てのオブジェクトを、ユニークに認識する情報を生成し、データベースで管理する。
全てのオブジェクトをユニークに認識する情報とは、シリアルナンバーであり、また文書ファイル名、文書のリビジョン番号、スライド番号そしてスライド中の順番の組み合わせである。
全てのオブジェクトをユニークに認識する情報とは、シリアルナンバーであり、また文書ファイル名、文書のリビジョン番号、スライド番号そしてスライド中の順番の組み合わせである。
従来、このような多人数による成果物の作成作業を支援する管理ツール(リビジョン管理システム)はあるものの、その種類はあまり多くない。
その殆どがプログラムのソースコード管理に用いられ、バイナリファイルであるオブジェクト文書の管理に用いられるケースは殆ど見受けない。
また、管理は全てファイル単位であり、ファイルの中身を管理する機能を提供する管理ツールは見受けない。
本実施形態は、リビジョン管理システムの管理の単位を、文書の中身であるオブジェクト(=部品)に及ぼすことで、オブジェクト単位の編集作業と、同一オブジェクト文書における同時多人数編集を実現する。
その殆どがプログラムのソースコード管理に用いられ、バイナリファイルであるオブジェクト文書の管理に用いられるケースは殆ど見受けない。
また、管理は全てファイル単位であり、ファイルの中身を管理する機能を提供する管理ツールは見受けない。
本実施形態は、リビジョン管理システムの管理の単位を、文書の中身であるオブジェクト(=部品)に及ぼすことで、オブジェクト単位の編集作業と、同一オブジェクト文書における同時多人数編集を実現する。
以下、本発明の実施の形態を、図1〜図26を参照して説明する。
図1は、本実施の形態の例である、オブジェクト文書作成支援システム101の全体を概略的に示す図である。
本実施形態のオブジェクト文書作成支援システム101は、会社内のLAN102上に構築され、ファイルサーバを兼用するwebサーバ103によって実現される、「webアプリケーション」と呼ばれるものである。このwebアプリケーションは、所定のcgi(Common Gateway Interface:webサーバにて動的にhtml文書を生成するプログラム。)にて実現される。すなわち、作業者105a、105b及び105cは手元のクライアントPC104a、104b及び104cを操作して、webサーバ103にアクセスし、所定のwebアプリケーションを実行する。
各人のクライアントPCには、webブラウザとプレゼンソフトがインストールされており、プレゼンソフトによってオブジェクト文書が編集可能になっている。
webブラウザによってwebサーバ103にアクセスして、webアプリケーションを実行すると、webブラウザを介してプレゼンソフトが起動され、webサーバ103の共有ディレクトリに作成されたオブジェクト文書を編集することができる。
そして、編集が終わると、編集終了がwebサーバ103に通知される。webサーバ103はこれに呼応して、共有ディレクトリ上にある、更新されたオブジェクト文書を読み込み、オブジェクト単位に分解して、内部のデータベースに登録する。
本実施形態のオブジェクト文書作成支援システム101は、会社内のLAN102上に構築され、ファイルサーバを兼用するwebサーバ103によって実現される、「webアプリケーション」と呼ばれるものである。このwebアプリケーションは、所定のcgi(Common Gateway Interface:webサーバにて動的にhtml文書を生成するプログラム。)にて実現される。すなわち、作業者105a、105b及び105cは手元のクライアントPC104a、104b及び104cを操作して、webサーバ103にアクセスし、所定のwebアプリケーションを実行する。
各人のクライアントPCには、webブラウザとプレゼンソフトがインストールされており、プレゼンソフトによってオブジェクト文書が編集可能になっている。
webブラウザによってwebサーバ103にアクセスして、webアプリケーションを実行すると、webブラウザを介してプレゼンソフトが起動され、webサーバ103の共有ディレクトリに作成されたオブジェクト文書を編集することができる。
そして、編集が終わると、編集終了がwebサーバ103に通知される。webサーバ103はこれに呼応して、共有ディレクトリ上にある、更新されたオブジェクト文書を読み込み、オブジェクト単位に分解して、内部のデータベースに登録する。
図2は、webサーバ103内の機能ブロック図である。
クライアントPC上で稼動するwebブラウザが発するアクセス要求は、webサーバプログラム202が受け取り、その要求するURLに応じて、各種cgiを実行する。
ユーザ認証cgi203は、ユーザマスタ204を参照して、ユーザ認証機能を提供する。
主機能cgi205は、Ajax(Asynchronous JavaScript + XML の略。webブラウザに実装されているJavaScript(登録商標)のHTTP通信機能を使って、webページのリロードを伴わずに、webサーバとXML形式のデータのやり取りを行って処理を進めていく、対話型webアプリケーションの実装形態。)を利用して、本実施形態の主要な機能を提供する。
クライアントPC上で稼動するwebブラウザが発するアクセス要求は、webサーバプログラム202が受け取り、その要求するURLに応じて、各種cgiを実行する。
ユーザ認証cgi203は、ユーザマスタ204を参照して、ユーザ認証機能を提供する。
主機能cgi205は、Ajax(Asynchronous JavaScript + XML の略。webブラウザに実装されているJavaScript(登録商標)のHTTP通信機能を使って、webページのリロードを伴わずに、webサーバとXML形式のデータのやり取りを行って処理を進めていく、対話型webアプリケーションの実装形態。)を利用して、本実施形態の主要な機能を提供する。
主機能cgi205は、
・ユーザがクライアントPC上のwebブラウザを通じて行った操作を受信して解析する操作解析部206と、
・その操作の解析結果に基づいて各種テーブル213を検索するデータベース検索部207と、
・その各種テーブル213の検索結果に基づいて、ユーザが使用するクライアントPCのwebブラウザに表示する画面を構成するhtml文書を作成する表示処理部208と、
・前述の各種テーブル213の検索結果に基づいて、共有ディレクトリ210にオブジェクト文書を作成したり、逆に共有ディレクトリ210のオブジェクト文書からオブジェクトを読み込むファイル入出力部209と、
・前述の各種テーブル213の検索結果に基づいて、ロックファイルディレクトリ211にオブジェクトロックファイルを作成したり、作成したオブジェクトロックファイルを削除するオブジェクトロック管理部212と
を備える。
・ユーザがクライアントPC上のwebブラウザを通じて行った操作を受信して解析する操作解析部206と、
・その操作の解析結果に基づいて各種テーブル213を検索するデータベース検索部207と、
・その各種テーブル213の検索結果に基づいて、ユーザが使用するクライアントPCのwebブラウザに表示する画面を構成するhtml文書を作成する表示処理部208と、
・前述の各種テーブル213の検索結果に基づいて、共有ディレクトリ210にオブジェクト文書を作成したり、逆に共有ディレクトリ210のオブジェクト文書からオブジェクトを読み込むファイル入出力部209と、
・前述の各種テーブル213の検索結果に基づいて、ロックファイルディレクトリ211にオブジェクトロックファイルを作成したり、作成したオブジェクトロックファイルを削除するオブジェクトロック管理部212と
を備える。
ここで、オブジェクトロックファイルとは、本実施形態の特色の一つである、一つの文書に属する複数のオブジェクトを、それぞれ異なるユーザが同時に編集することを許可するための、排他制御の仕組みである。この仕組みの詳細については後述する。
ファイル入出力部209は、文書ファイルから、データベース検索部207を経由して、各種テーブル213に所望のデータの読み出しや書き込みをするために、マイクロソフト社のWindows(登録商標)の機能である、OLE(Object Linking and Embedding:アプリケーションソフト間でデータを転送・共有するための仕組み)を用いる。OLEを用いることで、文書ファイルに含まれているオブジェクトや、オブジェクトに含まれるデータを取得することができる。
この機能を実現するために、ファイル入出力部209は、プレゼンソフトをライブラリとして利用する実施形態も考えられる。
この機能を実現するために、ファイル入出力部209は、プレゼンソフトをライブラリとして利用する実施形態も考えられる。
ファイルサーバプログラム214は、クライアントPCにネットワークストレージ機能を提供する。例えばマイクロソフト社のWindows(登録商標)で用いられる、SMB(Server Message Block)と呼ばれるプロトコルに準拠したものである。
図3は、クライアントPC上のwebブラウザ302でwebサーバ103をアクセスした結果、表示される、webアプリケーションの表示の一例である。
図3では、ログイン処理を行った直後の状態を示している。
ログインユーザ名303は、webアプリケーションにログインしたユーザ自身の名前を、ユーザマスタ204から読み込んで表示したものである。
「キーワードリスト」ボタン304は、後述するキーワードの一覧を表示する機能を実行するためのボタンである。
「パーツランキング」ボタン305は、後述するオブジェクトの流用頻度の順位を表示する機能を実行するためのボタンである。
「引用表示」ボタン317は、後述するオブジェクトの流用関係を表示する機能を実行するためのボタンである。
「文書新規作成」ボタン318は、後述するオブジェクト文書を新規に作成する際に押すボタンである。
図3では、ログイン処理を行った直後の状態を示している。
ログインユーザ名303は、webアプリケーションにログインしたユーザ自身の名前を、ユーザマスタ204から読み込んで表示したものである。
「キーワードリスト」ボタン304は、後述するキーワードの一覧を表示する機能を実行するためのボタンである。
「パーツランキング」ボタン305は、後述するオブジェクトの流用頻度の順位を表示する機能を実行するためのボタンである。
「引用表示」ボタン317は、後述するオブジェクトの流用関係を表示する機能を実行するためのボタンである。
「文書新規作成」ボタン318は、後述するオブジェクト文書を新規に作成する際に押すボタンである。
「キーワードリスト」ボタン304及び「パーツランキング」ボタン305の下には、スクロールバー309を境に、左側にディレクトリ表示欄306、右側に詳細表示欄307が設けられている。この表示形態は、Windows(登録商標)に備わっている「エクスプローラ」と呼ばれる、ファイル操作プログラムのユーザインターフェースを模している。
ディレクトリ表示欄306には、ログインユーザ名303に表示されているユーザがアクセス可能な「論理ドライブ」と、その内部構造をツリー形式にて表示する。「論理ドライブ」とは、webサーバ103のファイルサーバプログラム214によって提供される、共有ディレクトリ210のうち、前述のユーザがアクセスできる論理領域部分を指す。
ディレクトリ表示欄306には、ログインユーザ名303に表示されているユーザがアクセス可能な「論理ドライブ」と、その内部構造をツリー形式にて表示する。「論理ドライブ」とは、webサーバ103のファイルサーバプログラム214によって提供される、共有ディレクトリ210のうち、前述のユーザがアクセスできる論理領域部分を指す。
ディレクトリ表示欄306には、各項目毎にアイコンが設けられている。
論理ドライブアイコン310は、ユーザがアクセス可能な領域の最上位ディレクトリを示す。図3の表示例では、ユーザ自身のみアクセス可能な領域と、複数のユーザよりなるグループがアクセス可能な領域の、二つを示している。これらはファイルシステムに装備される周知のACL(Access Control List)によってアクセス権限が管理されている。
ACLにてユーザのアクセスが許可されている領域においては、ディレクトリの作成やディレクトリ名の変更、移動、消去が自由にできる。ユーザはディレクトリを編集することで、自由に文書を分類し、整理することができる。
論理ドライブアイコン310は、ユーザがアクセス可能な領域の最上位ディレクトリを示す。図3の表示例では、ユーザ自身のみアクセス可能な領域と、複数のユーザよりなるグループがアクセス可能な領域の、二つを示している。これらはファイルシステムに装備される周知のACL(Access Control List)によってアクセス権限が管理されている。
ACLにてユーザのアクセスが許可されている領域においては、ディレクトリの作成やディレクトリ名の変更、移動、消去が自由にできる。ユーザはディレクトリを編集することで、自由に文書を分類し、整理することができる。
図4は、共有ディレクトリ210の中身の一部のディレクトリ構造をツリー形式にて図示したものである。ちょうど、図3のディレクトリ表示欄306に表示されている内容と対応している。
管理対象ディレクトリ402は、表示処理部208がwebサーバプログラム202を通じてwebブラウザ302のディレクトリ表示欄306に表示させる論理ドライブアイコン310の、上位に位置するディレクトリである。ディレクトリ表示欄306では明示的には表示しないが、論理ドライブアイコン310に該当するディレクトリが設けられている。
図4中、「甲田三郎」ディレクトリと「企画グループ」ディレクトリが、論理ドライブアイコン310の表示対象である。
図4中、「業績報告」ディレクトリ、「定期報告」ディレクトリ、「市場調査」ディレクトリと「定期WG」ディレクトリが、フォルダアイコン311の表示対象である。
図4中、「07業績報告.D002.R001」、「07業績報告.D002.R002」、「07業績報告.D002.R003」、「06業績報告.D001.R001」及び「06業績報告.D001.R002」と書かれているものは、0バイトのファイルである。ファイル名のうち、「D」で始まる番号は後述する文書シリアルナンバーを、「R」で始まる番号は後述するリビジョンナンバーを示す。
しかし、文書ファイル名に含まれる文書シリアルナンバーとリビジョンナンバーは、webブラウザ302上では文書ファイル名としては表示されない。
このように、webブラウザ302上で表示される文書ファイル名と、実際に共有ディレクトリ210内に設けられる文書ファイル名には、文書シリアルナンバーとリビジョンナンバーを含んでいるか否かの違いがある。
管理対象ディレクトリ402は、表示処理部208がwebサーバプログラム202を通じてwebブラウザ302のディレクトリ表示欄306に表示させる論理ドライブアイコン310の、上位に位置するディレクトリである。ディレクトリ表示欄306では明示的には表示しないが、論理ドライブアイコン310に該当するディレクトリが設けられている。
図4中、「甲田三郎」ディレクトリと「企画グループ」ディレクトリが、論理ドライブアイコン310の表示対象である。
図4中、「業績報告」ディレクトリ、「定期報告」ディレクトリ、「市場調査」ディレクトリと「定期WG」ディレクトリが、フォルダアイコン311の表示対象である。
図4中、「07業績報告.D002.R001」、「07業績報告.D002.R002」、「07業績報告.D002.R003」、「06業績報告.D001.R001」及び「06業績報告.D001.R002」と書かれているものは、0バイトのファイルである。ファイル名のうち、「D」で始まる番号は後述する文書シリアルナンバーを、「R」で始まる番号は後述するリビジョンナンバーを示す。
しかし、文書ファイル名に含まれる文書シリアルナンバーとリビジョンナンバーは、webブラウザ302上では文書ファイル名としては表示されない。
このように、webブラウザ302上で表示される文書ファイル名と、実際に共有ディレクトリ210内に設けられる文書ファイル名には、文書シリアルナンバーとリビジョンナンバーを含んでいるか否かの違いがある。
図3に戻って説明を続ける。
フォルダアイコン311は、サブディレクトリを示す。
文書ファイルアイコン312は、文書ファイルそのものを指す。但し、本実施形態では実体のない空のファイルが設けられ、実体は各種テーブル213に格納されている。
各項目には、「+」で示されるプラス記号アイコン313と、「−」で示されるマイナス記号アイコン314と、「*」で示されるアスタリスク記号アイコン315、及び「R」アイコン316が表示されている。
プラス記号アイコン313は、当該項目が展開可能であることを示す。プラス記号アイコン313をクリックすると、マイナス記号アイコン314に変化して、当該項目に含まれる中身の項目がツリー形式で列挙表示される。
つまり、項目の中身が展開表示される。
マイナス記号アイコン314は、当該項目が展開済であることを示す。マイナス記号アイコン314をクリックすると、プラス記号アイコン313に変化して、ツリー形式で列挙表示されていた当該項目に含まれる中身の項目の表示が消える。つまり、表示されていた項目の中身が収納される。
プラス記号アイコン313とマイナス記号アイコン314は、前述のエクスプローラと全く同じ意味と機能である。
フォルダアイコン311は、サブディレクトリを示す。
文書ファイルアイコン312は、文書ファイルそのものを指す。但し、本実施形態では実体のない空のファイルが設けられ、実体は各種テーブル213に格納されている。
各項目には、「+」で示されるプラス記号アイコン313と、「−」で示されるマイナス記号アイコン314と、「*」で示されるアスタリスク記号アイコン315、及び「R」アイコン316が表示されている。
プラス記号アイコン313は、当該項目が展開可能であることを示す。プラス記号アイコン313をクリックすると、マイナス記号アイコン314に変化して、当該項目に含まれる中身の項目がツリー形式で列挙表示される。
つまり、項目の中身が展開表示される。
マイナス記号アイコン314は、当該項目が展開済であることを示す。マイナス記号アイコン314をクリックすると、プラス記号アイコン313に変化して、ツリー形式で列挙表示されていた当該項目に含まれる中身の項目の表示が消える。つまり、表示されていた項目の中身が収納される。
プラス記号アイコン313とマイナス記号アイコン314は、前述のエクスプローラと全く同じ意味と機能である。
アスタリスク記号アイコン315と「R」アイコン316は、本実施形態の特色であり、文書ファイルアイコン312にのみ表示される。アスタリスク記号アイコン315と「R」アイコン316は、当該文書が複数のバージョンを含んでいることを示す。
図3の表示例で説明する。
ユーザ「甲田三郎」がwebブラウザ302でwebサーバ103にアクセスすると、webサーバプログラム202を通じて、ユーザ認証cgi203によるログイン処理が行われる。その後、共有ディレクトリ210のアクセス可能な部分が、表示処理部208を通じて、webブラウザ302のディレクトリ表示欄306に表示される。
マウス等のポインティングデバイスで、ディレクトリ表示欄306に表示されている項目をクリックする等の操作を行うと、クリックによって選択された項目の情報が操作解析部206を通じてデータベース検索部207に送られる。データベース検索部207は所定の検索処理等をして、表示処理部208に所定の情報を送る。表示処理部208はそれら情報を受け取り、ユーザが選択した項目をハイライト表示すると共に、データベース検索部207から得た、選択された項目の詳細内容を、詳細表示欄307に表示する。
なお、詳細表示欄307に表示されるサムネイル画像308の数が多い場合は、詳細表示欄307の右側にもスクロールバー309が表示される。
ユーザ「甲田三郎」がwebブラウザ302でwebサーバ103にアクセスすると、webサーバプログラム202を通じて、ユーザ認証cgi203によるログイン処理が行われる。その後、共有ディレクトリ210のアクセス可能な部分が、表示処理部208を通じて、webブラウザ302のディレクトリ表示欄306に表示される。
マウス等のポインティングデバイスで、ディレクトリ表示欄306に表示されている項目をクリックする等の操作を行うと、クリックによって選択された項目の情報が操作解析部206を通じてデータベース検索部207に送られる。データベース検索部207は所定の検索処理等をして、表示処理部208に所定の情報を送る。表示処理部208はそれら情報を受け取り、ユーザが選択した項目をハイライト表示すると共に、データベース検索部207から得た、選択された項目の詳細内容を、詳細表示欄307に表示する。
なお、詳細表示欄307に表示されるサムネイル画像308の数が多い場合は、詳細表示欄307の右側にもスクロールバー309が表示される。
図3では、ディレクトリ表示欄306のうち「07業績報告」という、文書ファイルアイコン312にて示される項目が、マウスにてハイライト表示され、その中身が詳細表示欄307にサムネイル画像308にて示されている。
図3中、「07業績報告」と記されている項目(文書ファイル名)をマウスでダブルクリックすると、当該文書ファイル全体がオブジェクト文書として共有ディレクトリ210上に再構成された後、プレゼンソフトで編集できるようになる。
図3中、詳細表示欄307に表示されている各スライドのサムネイル画像をダブルクリックすると、当該スライドだけを含むオブジェクト文書として共有ディレクトリ210上に再構成された後、プレゼンソフトで編集できるようになる。
また、各スライドもツリー構造を構成しており、図3では図示をしていないが、後述する図6(c)に示すように、スライドに含まれる各パーツのサムネイル画像308が、詳細表示欄307に表示できるようになっている。このサムネイル画像308をダブルクリックすると、当該パーツだけを含む一枚のスライドよりなるオブジェクト文書が共有ディレクトリ210上に構成された後、プレゼンソフトで編集できるようになる。
ここでパーツとは、図8に示す、スライド703内に配置される各種オブジェクトを指す。また、「パーツ」という呼称は本実施形態のwebサーバ103上における、文書を構成する「部品」という意味を込めた、ユーザ向けの呼び名であり、プレゼンソフト上では「シェイプ」と呼ぶ。スライド及びパーツ(シェイプ)の詳細については後述する。
図3中、詳細表示欄307に表示されている各スライドのサムネイル画像をダブルクリックすると、当該スライドだけを含むオブジェクト文書として共有ディレクトリ210上に再構成された後、プレゼンソフトで編集できるようになる。
また、各スライドもツリー構造を構成しており、図3では図示をしていないが、後述する図6(c)に示すように、スライドに含まれる各パーツのサムネイル画像308が、詳細表示欄307に表示できるようになっている。このサムネイル画像308をダブルクリックすると、当該パーツだけを含む一枚のスライドよりなるオブジェクト文書が共有ディレクトリ210上に構成された後、プレゼンソフトで編集できるようになる。
ここでパーツとは、図8に示す、スライド703内に配置される各種オブジェクトを指す。また、「パーツ」という呼称は本実施形態のwebサーバ103上における、文書を構成する「部品」という意味を込めた、ユーザ向けの呼び名であり、プレゼンソフト上では「シェイプ」と呼ぶ。スライド及びパーツ(シェイプ)の詳細については後述する。
図5(a)、(b)、(c)及び(d)、そして図6(a)、(b)及び(c)は、ディレクトリ表示欄306における、表示状態の推移を示す図である。なお、画面の推移を引き起こすマウスのクリック操作を明示するために、クリックする対象にマウスカーソル502を配している。
図5(a)は、論理ドライブ「甲田三郎」と「企画グループ」が、論理ドライブアイコン310とプラス記号アイコン313にて表示されている。
図5(a)の論理ドライブ「甲田三郎」にあるプラス記号アイコン313をマウスでクリックすると、図5(b)に示す表示状態に変化する。
図5(b)は、論理ドライブ「甲田三郎」が、論理ドライブアイコン310とマイナス記号アイコン314にて表示されている。そして、フォルダ「業績報告」と「定期報告」が、フォルダアイコン311とプラス記号アイコン313にて表示されている。
ここまでは、前述のエクスプローラと同様の動作状態である。
図5(a)は、論理ドライブ「甲田三郎」と「企画グループ」が、論理ドライブアイコン310とプラス記号アイコン313にて表示されている。
図5(a)の論理ドライブ「甲田三郎」にあるプラス記号アイコン313をマウスでクリックすると、図5(b)に示す表示状態に変化する。
図5(b)は、論理ドライブ「甲田三郎」が、論理ドライブアイコン310とマイナス記号アイコン314にて表示されている。そして、フォルダ「業績報告」と「定期報告」が、フォルダアイコン311とプラス記号アイコン313にて表示されている。
ここまでは、前述のエクスプローラと同様の動作状態である。
図5(b)のフォルダ「業績報告」にあるプラス記号アイコン313と、論理ドライブ「企画グループ」にあるプラス記号アイコン313をマウスでクリックすると、図5(c)に示す表示状態に変化する。
図5(c)は、フォルダ「業績報告」が、論理ドライブアイコン310とマイナス記号アイコン314にて表示されている。そして、文書ファイル「07業績報告」と「06業績報告」が、文書ファイルアイコン312とプラス記号アイコン313とアスタリスク記号アイコン315にて表示されている。
図5(c)の文書ファイル「07業績報告」にあるアスタリスク記号アイコン315をマウスでクリックすると、図5(d)に示す表示状態に変化する。
図5(d)は、文書ファイル「07業績報告」が、複数のバージョンを伴って表示されている。そして、「R」アイコン316の前にあったアスタリスク記号アイコン315が、げた記号アイコン503に変化している。
図5(c)は、フォルダ「業績報告」が、論理ドライブアイコン310とマイナス記号アイコン314にて表示されている。そして、文書ファイル「07業績報告」と「06業績報告」が、文書ファイルアイコン312とプラス記号アイコン313とアスタリスク記号アイコン315にて表示されている。
図5(c)の文書ファイル「07業績報告」にあるアスタリスク記号アイコン315をマウスでクリックすると、図5(d)に示す表示状態に変化する。
図5(d)は、文書ファイル「07業績報告」が、複数のバージョンを伴って表示されている。そして、「R」アイコン316の前にあったアスタリスク記号アイコン315が、げた記号アイコン503に変化している。
図6(a)は、図5(d)の文書ファイル「07業績報告 V1.2」を一部抜粋表示するものである。
図6(a)の文書ファイル「07業績報告 V1.2」にあるプラス記号アイコン313をマウスでクリックすると、図6(b)に示す表示状態に変化する。
図6(b)は、文書ファイル「07業績報告 V1.2」が、げた記号アイコン503と、「R」アイコン316と、マイナス記号アイコン314と、文書ファイルアイコン312にて表示されている。そして、「シート1」、「シート2」、「シート3」及び「シート4」が、シートアイコン602にて表示されている。
図6(b)の表示形態によって、文書ファイル「07業績報告 V1.2」は、「シート1」、「シート2」、「シート3」及び「シート4」を含んでいることが一目瞭然で判る。
図6(a)の文書ファイル「07業績報告 V1.2」にあるプラス記号アイコン313をマウスでクリックすると、図6(b)に示す表示状態に変化する。
図6(b)は、文書ファイル「07業績報告 V1.2」が、げた記号アイコン503と、「R」アイコン316と、マイナス記号アイコン314と、文書ファイルアイコン312にて表示されている。そして、「シート1」、「シート2」、「シート3」及び「シート4」が、シートアイコン602にて表示されている。
図6(b)の表示形態によって、文書ファイル「07業績報告 V1.2」は、「シート1」、「シート2」、「シート3」及び「シート4」を含んでいることが一目瞭然で判る。
図6(c)は、図6(b)で「シート2」をクリックしてハイライト表示した際の、webブラウザ302における表示状態を示す。
「シート2」をハイライト表示させると、詳細表示欄307には、「シート2」に含まれているパーツが、サムネイル画像308として縮小表示されている。
このように、文書ファイルの中身についても、ツリー構造形式にて詳細表示が行われる。
「シート2」をハイライト表示させると、詳細表示欄307には、「シート2」に含まれているパーツが、サムネイル画像308として縮小表示されている。
このように、文書ファイルの中身についても、ツリー構造形式にて詳細表示が行われる。
図7は、オブジェクト文書の構造を示す概念図である。
オブジェクト文書702は、一つ以上のスライド703の集合体である。
図8は、スライドの構造を示す概念図である。
スライド703は、一つ以上のオブジェクトが置かれる、論理的なキャンパスである。
オブジェクトとしては主に、
・テキストを書き込み、表示する、テキストボックスオブジェクト803と、
・テーブルを構成する、テーブルオブジェクト802と、
・画像を構成する、画像オブジェクト804と
がある。
なお、テーブルオブジェクト802は一つ以上のセル805の集合体であり、各セル805にはテキストが格納可能になっている。
これらスライドに配置されるオブジェクトは、ユーザに対しては、webブラウザ302の表示内容において「パーツ」(部品)という呼び名で示している。
オブジェクト文書702は、一つ以上のスライド703の集合体である。
図8は、スライドの構造を示す概念図である。
スライド703は、一つ以上のオブジェクトが置かれる、論理的なキャンパスである。
オブジェクトとしては主に、
・テキストを書き込み、表示する、テキストボックスオブジェクト803と、
・テーブルを構成する、テーブルオブジェクト802と、
・画像を構成する、画像オブジェクト804と
がある。
なお、テーブルオブジェクト802は一つ以上のセル805の集合体であり、各セル805にはテキストが格納可能になっている。
これらスライドに配置されるオブジェクトは、ユーザに対しては、webブラウザ302の表示内容において「パーツ」(部品)という呼び名で示している。
図9(a)及び(b)は、オブジェクト文書702とスライド703とパーツの関係を概念的に説明する図である。
前述の図7及び図8より、オブジェクト文書702とスライド703とパーツは、図9(a)に示すように、一対多の親子関係が成り立つ。
これをシンプルに書き表すと、図9(b)のようになる。
本実施形態では、これら各点を全て等しく「オブジェクト」として取り扱う。
オブジェクト文書702、スライド703、そしてパーツを全てオブジェクトとして取り扱う。
オブジェクト文書702は、オブジェクトであると共に、オブジェクトの集合体でもある。
前述の図7及び図8より、オブジェクト文書702とスライド703とパーツは、図9(a)に示すように、一対多の親子関係が成り立つ。
これをシンプルに書き表すと、図9(b)のようになる。
本実施形態では、これら各点を全て等しく「オブジェクト」として取り扱う。
オブジェクト文書702、スライド703、そしてパーツを全てオブジェクトとして取り扱う。
オブジェクト文書702は、オブジェクトであると共に、オブジェクトの集合体でもある。
図10は、各種テーブル213のフィールドを示す図である。
文書テーブル1002は、オブジェクト文書の文書ファイルを管理するテーブルである。
文書シリアルナンバーとは、文書ファイルが作成される毎に付与される連番であり、ユニーク(unique:重複がない)なものである。
文書テーブル1002は、オブジェクト文書の文書ファイルを管理するテーブルである。
文書シリアルナンバーとは、文書ファイルが作成される毎に付与される連番であり、ユニーク(unique:重複がない)なものである。
文書リビジョンテーブル1003は、文書ファイルとリビジョンの関係を管理するテーブルである。
すなわち、文書ファイルは、編集を行う度毎にリビジョン(バージョン番号)が上がるが、文書リビジョンテーブル1003はこれを管理するテーブルである。
リビジョンシリアルナンバーとは、リビジョンが作成される毎に付与される連番であり、ユニークなものである。つまり、文書ファイルが作成された時と、文書ファイルが更新される度に付与されるものである。
このように、一つの文書ファイルに複数のリビジョンが存在するので、文書シリアルナンバーとリビジョンシリアルナンバーとは一対多の関係になる。
すなわち、文書ファイルは、編集を行う度毎にリビジョン(バージョン番号)が上がるが、文書リビジョンテーブル1003はこれを管理するテーブルである。
リビジョンシリアルナンバーとは、リビジョンが作成される毎に付与される連番であり、ユニークなものである。つまり、文書ファイルが作成された時と、文書ファイルが更新される度に付与されるものである。
このように、一つの文書ファイルに複数のリビジョンが存在するので、文書シリアルナンバーとリビジョンシリアルナンバーとは一対多の関係になる。
リビジョンオブジェクトテーブル1004は、リビジョンとオブジェクトの関係を管理するテーブルである。
一つのリビジョンには、多数のオブジェクトが属する。つまり、図9(b)のツリー構造そのものである。
オブジェクトシリアルナンバーとは、オブジェクトが作成される毎に付与される連番である。
一つのリビジョンに複数のオブジェクトが存在するので、リビジョンシリアルナンバーとオブジェクトシリアルナンバーとは一対多の関係である。
なお、このリビジョンオブジェクトテーブル1004を構成するレコードは、リビジョンシリアルナンバーとオブジェクトシリアルナンバーの組においてユニークであり、オブジェクトシリアルナンバーにおいてユニーク「ではない」ことに注意されたい。
一つのリビジョンには、多数のオブジェクトが属する。つまり、図9(b)のツリー構造そのものである。
オブジェクトシリアルナンバーとは、オブジェクトが作成される毎に付与される連番である。
一つのリビジョンに複数のオブジェクトが存在するので、リビジョンシリアルナンバーとオブジェクトシリアルナンバーとは一対多の関係である。
なお、このリビジョンオブジェクトテーブル1004を構成するレコードは、リビジョンシリアルナンバーとオブジェクトシリアルナンバーの組においてユニークであり、オブジェクトシリアルナンバーにおいてユニーク「ではない」ことに注意されたい。
オブジェクトテーブル1005は、オブジェクトを管理するテーブルである。
このオブジェクトテーブル1005を構成するレコードは、オブジェクトシリアルナンバーにおいてユニークである。
オブジェクトの種別とは、当該オブジェクトがどのようなものなのかを示すフィールドである。種別には、「文書」、「スライド」、「テキストボックス」、「テーブル」そして「画像」等がある。
親オブジェクトはオブジェクト文書そのものなので、「文書」である。
子オブジェクトはスライドなので、「スライド」である。
孫オブジェクトはスライドに配置されるものの種別が記入される。
このオブジェクトテーブル1005を構成するレコードは、オブジェクトシリアルナンバーにおいてユニークである。
オブジェクトの種別とは、当該オブジェクトがどのようなものなのかを示すフィールドである。種別には、「文書」、「スライド」、「テキストボックス」、「テーブル」そして「画像」等がある。
親オブジェクトはオブジェクト文書そのものなので、「文書」である。
子オブジェクトはスライドなので、「スライド」である。
孫オブジェクトはスライドに配置されるものの種別が記入される。
オブジェクトの実体とは、オブジェクトの中身を示す情報全てを指す。これは、当該オブジェクトが親オブジェクトの何処に位置しているのかを示す位置情報と、オブジェクト自身の中身そのものの情報よりなる。
位置情報は、「文書」には存在しない。「スライド」の場合は、「文書」の何番目のスライドであるかを示す情報になる。「テキストボックス」や「テーブル」等の場合は、スライド上の位置と大きさを示す情報よりなる。
中身そのものの情報は、「文書」と「スライド」には存在しない。「テキストボックス」の場合は、フォントの種類とテキストそのものである。「テーブル」の場合は、テーブルを構成する全てのセルの情報であり、「画像」の場合は、画像データそのものである。
位置情報は、「文書」には存在しない。「スライド」の場合は、「文書」の何番目のスライドであるかを示す情報になる。「テキストボックス」や「テーブル」等の場合は、スライド上の位置と大きさを示す情報よりなる。
中身そのものの情報は、「文書」と「スライド」には存在しない。「テキストボックス」の場合は、フォントの種類とテキストそのものである。「テーブル」の場合は、テーブルを構成する全てのセルの情報であり、「画像」の場合は、画像データそのものである。
なお、テーブルはそれ自体がセルというオブジェクトの集合体であるが、本実施形態では簡便のため、テーブルを更にセルというオブジェクトで細分化するような説明はしないこととする。但し、実施形態ではそのように実装することは可能であるし、またその方が理想的である。
また、プレゼンソフトには、ユーザが任意に複数のオブジェクトをまとめて、一つのオブジェクトとして扱う「グルーピング」という機能が備わっている。これも、上記のテーブルと同様に一つのオブジェクトとして扱い、記録することも、本実施形態の視野に含まれる。
また、プレゼンソフトには、ユーザが任意に複数のオブジェクトをまとめて、一つのオブジェクトとして扱う「グルーピング」という機能が備わっている。これも、上記のテーブルと同様に一つのオブジェクトとして扱い、記録することも、本実施形態の視野に含まれる。
旧オブジェクトシリアルナンバーは、オブジェクト自体が更新された時に、以前のオブジェクトシリアルナンバーを記述するフィールドである。
このフィールドを辿ることで、オブジェクト自身のリビジョン、すなわち変更履歴が把握できる。
このフィールドを辿ることで、オブジェクト自身のリビジョン、すなわち変更履歴が把握できる。
オブジェクト関係テーブル1006は、所定のリビジョンにおける、オブジェクトの親子関係を記述するテーブルである。これは図18において後に詳述する。
流用テーブル1007は、あるオブジェクトを作成する際に、他のオブジェクトから複写(コピー)して貼り付けた(ペースト)際に記録するテーブルである。このテーブルを見ることで、オブジェクトの流用頻度がわかる。
流用テーブル1007は、あるオブジェクトを作成する際に、他のオブジェクトから複写(コピー)して貼り付けた(ペースト)際に記録するテーブルである。このテーブルを見ることで、オブジェクトの流用頻度がわかる。
プレゼンソフトに限らず、所望の文書を作成する際に、既存の文書の一部を流用することは非常に多く行われている。
プレゼンソフトにおいて、オブジェクトは、プレゼンソフト上ではクリップボード経由で複写と貼り付け(コピーアンドペースト)が可能である。
あるオブジェクトが一から作成されたものなのか、或は他から流用されたものなのかがわかると、文書の作成効率の向上に寄与する。
例えば、以前作った文書の中の画像オブジェクトを、今作っている文書にそのまま貼り付けたい場合、ファイル名を覚えていればそのファイルを探すことはできる。しかし、ファイル名を忘れてしまった場合、そのファイルを探すことが非常に大変である。
サムネイル画像表示は、見た目で所望のオブジェクトを探すことを実現する。
流用元情報及び流用先情報は、オブジェクト同士の流用関係を辿ったり、ランキング表示を実現する。
これら情報が、目的のオブジェクトの探索に寄与する。
プレゼンソフトにおいて、オブジェクトは、プレゼンソフト上ではクリップボード経由で複写と貼り付け(コピーアンドペースト)が可能である。
あるオブジェクトが一から作成されたものなのか、或は他から流用されたものなのかがわかると、文書の作成効率の向上に寄与する。
例えば、以前作った文書の中の画像オブジェクトを、今作っている文書にそのまま貼り付けたい場合、ファイル名を覚えていればそのファイルを探すことはできる。しかし、ファイル名を忘れてしまった場合、そのファイルを探すことが非常に大変である。
サムネイル画像表示は、見た目で所望のオブジェクトを探すことを実現する。
流用元情報及び流用先情報は、オブジェクト同士の流用関係を辿ったり、ランキング表示を実現する。
これら情報が、目的のオブジェクトの探索に寄与する。
流用テーブル1007の各フィールドについて説明する。
流用テーブル1007のフィールドには、DocumentID_Me、VersionNo_Me、SlideNo_Me及びShepeNo_Meの、オブジェクト自身の諸元を示す情報と、DocumentID_Ref、VersionNo_Ref、SlideNo_Ref、ShepeNo_Refの、オブジェクト自身の流用元を示す情報が設けられている。
ここで、フィールド名の末尾の「_Me」はオブジェクト自身を意味する。
同様に、フィールド名の末尾の「_Ref」はオブジェクトの流用元を意味する。
流用テーブル1007のフィールドには、DocumentID_Me、VersionNo_Me、SlideNo_Me及びShepeNo_Meの、オブジェクト自身の諸元を示す情報と、DocumentID_Ref、VersionNo_Ref、SlideNo_Ref、ShepeNo_Refの、オブジェクト自身の流用元を示す情報が設けられている。
ここで、フィールド名の末尾の「_Me」はオブジェクト自身を意味する。
同様に、フィールド名の末尾の「_Ref」はオブジェクトの流用元を意味する。
DocumentID_Meは、当該オブジェクトが属する文書の文書番号を意味する。これは文書シリアルナンバーと等しい。
VersionNo_Meは、当該オブジェクトが属する文書のバージョン番号を意味する。これはリビジョンナンバーと実質的に等しい。
SlideNo_Meは、当該オブジェクトが属する文書ファイルに含まれているスライドの番号である。
ShepeNo_Meは、当該オブジェクトが属する文書のスライドに含まれているパーツ(シェイプ)の番号である。
VersionNo_Meは、当該オブジェクトが属する文書のバージョン番号を意味する。これはリビジョンナンバーと実質的に等しい。
SlideNo_Meは、当該オブジェクトが属する文書ファイルに含まれているスライドの番号である。
ShepeNo_Meは、当該オブジェクトが属する文書のスライドに含まれているパーツ(シェイプ)の番号である。
プレゼンソフトは、OLEを用いて、文書ファイルに含まれているオブジェクトについて、データを取得することができる。
この、OLEを利用する開発者向けに、スライドに含まれるテーブルオブジェクト802、テキストボックスオブジェクト803、画像オブジェクト804等については、他のオブジェクトと区別するために「シェイプ(Shape)」と呼んでいる。
この、OLEを利用する開発者向けに、スライドに含まれるテーブルオブジェクト802、テキストボックスオブジェクト803、画像オブジェクト804等については、他のオブジェクトと区別するために「シェイプ(Shape)」と呼んでいる。
プレゼンソフトに対してOLEを用いて文書ファイルを構成するオブジェクトの問い合わせを行うと、あるオブジェクトに直接的に属する全てのオブジェクトの情報を、順番の情報を伴って得ることができる。例えば、文書オブジェクトに問い合わせを行うと、文書オブジェクトに属する全てのスライドの情報を、スライドの番号を伴って得ることができる。同様に、スライドオブジェクトに問い合わせを行うと、スライドオブジェクトに属する全てのシェイプの情報を、シェイプの番号を伴って得ることができる。
上述のSlideNo_MeとShapeNo_Meは、OLEのプロセス間通信を通じて得ることができる番号である。
上述のSlideNo_MeとShapeNo_Meは、OLEのプロセス間通信を通じて得ることができる番号である。
図11は、流用テーブルのフィールドを説明する図である。
今、あるスライドに含まれているシェイプの一つである、テキストボックスオブジェクトに注目する。
テキストボックスオブジェクトは、それ自身を構成するために必須のデータが存在する。図11では、
・(テキストボックスオブジェクトの)シート内の位置、
・(テキストボックスオブジェクトの)大きさ、
・(テキストボックスオブジェクトに記述される文字の)フォント種類、
・(テキストボックスオブジェクトに記述される文字の)文字色、
・(テキストボックスオブジェクトに記述される文字の)文字修飾情報、
・(テキストボックスオブジェクトに記述される文字の)文字列データ
等の、各種フィールドが存在する。これらはオブジェクト自身を構成するために必須のフィールド群である。
今、あるスライドに含まれているシェイプの一つである、テキストボックスオブジェクトに注目する。
テキストボックスオブジェクトは、それ自身を構成するために必須のデータが存在する。図11では、
・(テキストボックスオブジェクトの)シート内の位置、
・(テキストボックスオブジェクトの)大きさ、
・(テキストボックスオブジェクトに記述される文字の)フォント種類、
・(テキストボックスオブジェクトに記述される文字の)文字色、
・(テキストボックスオブジェクトに記述される文字の)文字修飾情報、
・(テキストボックスオブジェクトに記述される文字の)文字列データ
等の、各種フィールドが存在する。これらはオブジェクト自身を構成するために必須のフィールド群である。
一方、プレゼンソフトは、シェイプを始めとする全てのオブジェクトに対して、ユーザ(開発者)が任意のフィールドと値を持たせることを許容している。これを「タグ」と呼んでいる。
開発者は、OLEによるプレゼンソフトとのプロセス間通信を通じて、文書ファイルを構成するオブジェクトに対し、任意の名前のフィールドよりなる「タグ」を作成し、それに任意の値を格納させることができる。
本実施形態では、この「タグ」を、当該オブジェクトが何処からコピー(流用)されたものなのかを示す情報として利用する。
本実施形態のwebサーバ103に文書ファイルを登録する動作を行うことにより、webサーバ103は、文書ファイルを構成する全てのオブジェクトに対し、このタグを記録すると共に、既に記録されているタグの更新を行う。
なお、webサーバ103に文書ファイルを登録する動作とは、作成或は更新した文書ファイルをwebサーバ103にアップロードし、webサーバ103が文書ファイルの内部を解析して、各種テーブル213に所定のデータを記録する動作を指す。
開発者は、OLEによるプレゼンソフトとのプロセス間通信を通じて、文書ファイルを構成するオブジェクトに対し、任意の名前のフィールドよりなる「タグ」を作成し、それに任意の値を格納させることができる。
本実施形態では、この「タグ」を、当該オブジェクトが何処からコピー(流用)されたものなのかを示す情報として利用する。
本実施形態のwebサーバ103に文書ファイルを登録する動作を行うことにより、webサーバ103は、文書ファイルを構成する全てのオブジェクトに対し、このタグを記録すると共に、既に記録されているタグの更新を行う。
なお、webサーバ103に文書ファイルを登録する動作とは、作成或は更新した文書ファイルをwebサーバ103にアップロードし、webサーバ103が文書ファイルの内部を解析して、各種テーブル213に所定のデータを記録する動作を指す。
オブジェクトには、任意の情報をタグという形で埋め込むことができる。
そして、クリップボード経由によるオブジェクトのコピーアンドペーストの動作において、埋め込まれたタグも一緒にコピーされる。
流用テーブル1007は、このタグをオブジェクト毎に記録し、管理し、更新する。
そして、クリップボード経由によるオブジェクトのコピーアンドペーストの動作において、埋め込まれたタグも一緒にコピーされる。
流用テーブル1007は、このタグをオブジェクト毎に記録し、管理し、更新する。
図12(a)及び(b)は、シェイプ内のタグの変化を説明する図である。
ある文書ファイルのあるスライドに含まれるシェイプは、二種類存在する。
一つは、プレゼンソフト内において完全に新規に作成されたシェイプ。或は、プレゼンソフト以外のソフトからデータを流用した場合も、この場合に含まれる。
もう一つは、プレゼンソフトの、既存の他のシェイプから複写された(コピーアンドペースト)シェイプ。
図12(a)は、これら二つの種類のシェイプの内部に記録されている、タグの内容を示す。
文書ファイル1202に含まれるスライド1203のうちの一つに、シェイプ1204aと1204bが存在する。
シェイプ1204aは、ユーザ(文書作成者)がプレゼンソフトを使用することによって新規に作成されたものである。そのため、タグは存在しない。
シェイプ1204bは、ユーザがプレゼンソフトを使用して、他の文書ファイル或は同じ文書ファイル1202内の他のシェイプからコピーアンドペーストされたものである。そのため、元のシェイプに記録されていたタグがそのまま含まれている。
ある文書ファイルのあるスライドに含まれるシェイプは、二種類存在する。
一つは、プレゼンソフト内において完全に新規に作成されたシェイプ。或は、プレゼンソフト以外のソフトからデータを流用した場合も、この場合に含まれる。
もう一つは、プレゼンソフトの、既存の他のシェイプから複写された(コピーアンドペースト)シェイプ。
図12(a)は、これら二つの種類のシェイプの内部に記録されている、タグの内容を示す。
文書ファイル1202に含まれるスライド1203のうちの一つに、シェイプ1204aと1204bが存在する。
シェイプ1204aは、ユーザ(文書作成者)がプレゼンソフトを使用することによって新規に作成されたものである。そのため、タグは存在しない。
シェイプ1204bは、ユーザがプレゼンソフトを使用して、他の文書ファイル或は同じ文書ファイル1202内の他のシェイプからコピーアンドペーストされたものである。そのため、元のシェイプに記録されていたタグがそのまま含まれている。
この状態で、文書ファイル1202をwebサーバ103に登録すると、webサーバ103は、OLEを通じて、文書ファイル1202を構成する全てのオブジェクトを読み込み、オブジェクトテーブル1005に記録すると共に、流用テーブル1007に、各々のオブジェクトのオブジェクトシリアルナンバーと、タグの記録を行う。
新規に作成されたシェイプ1204aの場合は、
・DocumentID_MeとDocumentID_Refには、同じ現在の文書シリアルナンバーを、
・VersionNo_MeとVersionNo_Refには、同じ現在の文書のリビジョンナンバーを、
・SlideNo_MeとSlideNo_Refには、同じ現在の文書のスライドの番号を、
・ShepeNo_MeとShepeNo_Refには、スライド内における当該シェイプの番号を、
記録する。
・DocumentID_MeとDocumentID_Refには、同じ現在の文書シリアルナンバーを、
・VersionNo_MeとVersionNo_Refには、同じ現在の文書のリビジョンナンバーを、
・SlideNo_MeとSlideNo_Refには、同じ現在の文書のスライドの番号を、
・ShepeNo_MeとShepeNo_Refには、スライド内における当該シェイプの番号を、
記録する。
他のシェイプからコピーアンドペースト(流用)されたシェイプ1204bの場合は、
・DocumentID_Meには、現在の文書シリアルナンバーを、
・VersionNo_Meには、現在の文書のリビジョンナンバーを、
・SlideNo_Meには、現在の文書のスライドの番号を、
・ShepeNo_Meには、スライド内における当該シェイプの番号を、
記録する。
その一方で、既に記録されているDocumentID_Ref、VersionNo_Ref、SlideNo_RefとShepeNo_Refは、そのままで手を付けない。
・DocumentID_Meには、現在の文書シリアルナンバーを、
・VersionNo_Meには、現在の文書のリビジョンナンバーを、
・SlideNo_Meには、現在の文書のスライドの番号を、
・ShepeNo_Meには、スライド内における当該シェイプの番号を、
記録する。
その一方で、既に記録されているDocumentID_Ref、VersionNo_Ref、SlideNo_RefとShepeNo_Refは、そのままで手を付けない。
以上のように、「_Ref」が付されているフィールドのタグは、当該シェイプが新規に作成されたときにのみ記録が行われる。このように、タグの付与に規則を定めることにより、「_Ref」が付されているタグに記録されている情報から、当該シェイプがどの文書のどのシートのどのシェイプから流用されたものなのかが明確に判る。
図12(a)のシェイプ1204bの場合、当該シェイプは、「文書シリアルナンバーが0001の、リビジョンナンバーが003の、5番目のスライドの3番目のシェイプ」からコピーアンドペーストされたものであることが判る。
そして、webサーバ103にて登録を行い、その後再びプレゼンソフトで編集を開始するべく、同じ文書ファイルのダウンロードを行うと、図12(b)に示されるように、「_Me」が付されているタグについては、現在の文書に合致した内容に変更される。
図12(b)の例で言えば、シェイプ1204bは、「文書シリアルナンバーが0002の、リビジョンナンバーが001の、4番目のスライドの5番目のシェイプ」であると共に、「文書シリアルナンバーが0001の、リビジョンナンバーが003の、5番目のスライドの3番目のシェイプ」からコピーアンドペーストされたものである。
そして、webサーバ103にて登録を行い、その後再びプレゼンソフトで編集を開始するべく、同じ文書ファイルのダウンロードを行うと、図12(b)に示されるように、「_Me」が付されているタグについては、現在の文書に合致した内容に変更される。
図12(b)の例で言えば、シェイプ1204bは、「文書シリアルナンバーが0002の、リビジョンナンバーが001の、4番目のスライドの5番目のシェイプ」であると共に、「文書シリアルナンバーが0001の、リビジョンナンバーが003の、5番目のスライドの3番目のシェイプ」からコピーアンドペーストされたものである。
図13は、シェイプと流用テーブルの具体例を示す。
シェイプ1204a及び1204bは、図12(b)の時点のタグが記録されている。
この状態は、流用テーブル1007では、図13に示すような状態で記録されている。
シェイプ1204aに該当するレコードでは、「_Me」のフィールド群には値が記録されているものの、「_Ref」のフィールド群は空欄のままである。これは、新規に作成されたシェイプについては、「_Me」のフィールド群にのみ値を記録する、というルールを定めていることによる。
シェイプ1204bに該当するレコードでは、「_Me」のフィールド群と「_Ref」のフィールド群の両方に値が記録されている。すなわち、シェイプに記録されているタグを見て、当該シェイプが新規作成されたものでないときは、双方のフィールド群を全て記録する。
このように記録ルールを定めることにより、「_Ref」フィールド群だけを注目すれば、直ちにコピーアンドペースト(流用)が行われたシェイプの存在、そのシェイプが属する文書、またその頻度を把握することができる。
シェイプ1204a及び1204bは、図12(b)の時点のタグが記録されている。
この状態は、流用テーブル1007では、図13に示すような状態で記録されている。
シェイプ1204aに該当するレコードでは、「_Me」のフィールド群には値が記録されているものの、「_Ref」のフィールド群は空欄のままである。これは、新規に作成されたシェイプについては、「_Me」のフィールド群にのみ値を記録する、というルールを定めていることによる。
シェイプ1204bに該当するレコードでは、「_Me」のフィールド群と「_Ref」のフィールド群の両方に値が記録されている。すなわち、シェイプに記録されているタグを見て、当該シェイプが新規作成されたものでないときは、双方のフィールド群を全て記録する。
このように記録ルールを定めることにより、「_Ref」フィールド群だけを注目すれば、直ちにコピーアンドペースト(流用)が行われたシェイプの存在、そのシェイプが属する文書、またその頻度を把握することができる。
図14は、流用テーブルの活用例を示す。
流用テーブル1007中で、現在注目しているレコードを、注目レコード1402とする。
注目レコード1402のうち、「_Ref」のフィールド群を注目する。
この「_Ref」のフィールド群と同じ値を「_Me」のフィールドに持つレコードが、「流用元」のレコード(シェイプ)である。
更に、この「_Ref」のフィールド群と同じ値を「_Ref」のフィールドに持つレコードが、「流用元のシェイプを流用している他のシェイプ」である。そして、そのシェイプが属する文書を見つけることで、現在注目しているシェイプが属する文書に関連する他の文書(自己の文書以外に流用元の文書から派生して作成された文書)を探すことができる。
流用テーブル1007中で、現在注目しているレコードを、注目レコード1402とする。
注目レコード1402のうち、「_Ref」のフィールド群を注目する。
この「_Ref」のフィールド群と同じ値を「_Me」のフィールドに持つレコードが、「流用元」のレコード(シェイプ)である。
更に、この「_Ref」のフィールド群と同じ値を「_Ref」のフィールドに持つレコードが、「流用元のシェイプを流用している他のシェイプ」である。そして、そのシェイプが属する文書を見つけることで、現在注目しているシェイプが属する文書に関連する他の文書(自己の文書以外に流用元の文書から派生して作成された文書)を探すことができる。
図15は、流用テーブルの活用例を示す。
流用テーブル1007中で、現在注目しているレコードを、注目レコード1502とする。
注目レコード1402のうち、「_Me」のフィールド群を注目する。
この「_Me」のフィールド群と同じ値を「_Ref」のフィールドに持つレコードが、「流用先」のレコード(シェイプ)である。そして、そのシェイプが属する文書を見つけることで、現在注目しているシェイプが属する文書に関連する他の文書(自己の文書から派生して作成された文書)を探すことができる。
流用テーブル1007中で、現在注目しているレコードを、注目レコード1502とする。
注目レコード1402のうち、「_Me」のフィールド群を注目する。
この「_Me」のフィールド群と同じ値を「_Ref」のフィールドに持つレコードが、「流用先」のレコード(シェイプ)である。そして、そのシェイプが属する文書を見つけることで、現在注目しているシェイプが属する文書に関連する他の文書(自己の文書から派生して作成された文書)を探すことができる。
図16は、流用テーブルの活用例を示す。
流用テーブル1007中、「_Ref」のフィールド群に注目する。
「_Ref」のフィールド群を並べ替えて、「_Ref」のフィールド群において重複するレコードの数のランク付けを行う。すると、シェイプ毎に流用の頻度を確認することができる。
流用の頻度の高いシェイプは、多くの文書に流用されている「使えるシェイプ」である可能性が高い。
流用テーブル1007中、「_Ref」のフィールド群に注目する。
「_Ref」のフィールド群を並べ替えて、「_Ref」のフィールド群において重複するレコードの数のランク付けを行う。すると、シェイプ毎に流用の頻度を確認することができる。
流用の頻度の高いシェイプは、多くの文書に流用されている「使えるシェイプ」である可能性が高い。
これら流用の状態を知るために、webブラウザ302には、「引用表示」ボタン317、「パーツランキング」ボタン305が表示され、利用可能になっている。
図17(a)及び(b)は、「引用表示」ボタン317及び「パーツランキング」ボタン305を押した際に表示される画面を示す。
図17(a)は、「引用表示」ボタン317を押した後の、詳細表示欄307の表示状態を示す。
シェイプである画像オブジェクトのサムネイル画像1702の下に、引用元情報1703と引用先情報1704が列挙されている。なお、サムネイル画像1702のシェイプは、一から作成されたものであるため、引用元情報1703は空欄となっている。
シェイプである画像オブジェクトのサムネイル画像1705の下に、引用元情報1706と引用先情報1707が列挙されている。なお、サムネイル画像1705のシェイプは、他の文書等から引用されていないものであるため、引用先情報1707は空欄となっている。
これら情報は、図14及び図15に示した検索を実行した結果を表示したものである。
図17(a)及び(b)は、「引用表示」ボタン317及び「パーツランキング」ボタン305を押した際に表示される画面を示す。
図17(a)は、「引用表示」ボタン317を押した後の、詳細表示欄307の表示状態を示す。
シェイプである画像オブジェクトのサムネイル画像1702の下に、引用元情報1703と引用先情報1704が列挙されている。なお、サムネイル画像1702のシェイプは、一から作成されたものであるため、引用元情報1703は空欄となっている。
シェイプである画像オブジェクトのサムネイル画像1705の下に、引用元情報1706と引用先情報1707が列挙されている。なお、サムネイル画像1705のシェイプは、他の文書等から引用されていないものであるため、引用先情報1707は空欄となっている。
これら情報は、図14及び図15に示した検索を実行した結果を表示したものである。
引用元情報或は引用先情報をマウス等でクリックすることにより、ディレクトリ表示欄306にて現在表示している文書の、詳細表示欄307にて現在表示しているシェイプのサムネイル画像から、ディレクトリ表示欄306では当該文書を表示し、詳細表示欄307では当該シェイプのサムネイル画像を表示する。
図17(b)は、「パーツランキング」ボタン305を押した後に作成される、webブラウザ302から新規に表示される新規ウィンドウ1711の表示状態を示す。
シェイプの引用先情報の数に応じて、最上位から下位へと列挙される。
シェイプである画像オブジェクトのサムネイル画像1712の右に、引用先一覧1713が表示されている。引用先一覧1713には四つのシェイプにおいて引用されていることが判る。
シェイプである画像オブジェクトのサムネイル画像1714の右に、引用先一覧1715が表示されている。引用先一覧1715には三つのシェイプにおいて引用されていることが判る。
シェイプであるテーブルオブジェクトのサムネイル画像1716の右に、引用先一覧1717が表示されている。引用先一覧1717には二つのシェイプにおいて引用されていることが判る。
以上のように、各サムネイル画像は、引用されているシェイプの多さで並べ替えられて表示される。
シェイプの引用先情報の数に応じて、最上位から下位へと列挙される。
シェイプである画像オブジェクトのサムネイル画像1712の右に、引用先一覧1713が表示されている。引用先一覧1713には四つのシェイプにおいて引用されていることが判る。
シェイプである画像オブジェクトのサムネイル画像1714の右に、引用先一覧1715が表示されている。引用先一覧1715には三つのシェイプにおいて引用されていることが判る。
シェイプであるテーブルオブジェクトのサムネイル画像1716の右に、引用先一覧1717が表示されている。引用先一覧1717には二つのシェイプにおいて引用されていることが判る。
以上のように、各サムネイル画像は、引用されているシェイプの多さで並べ替えられて表示される。
引用先一覧に表示されている引用先情報の一つをマウス等でクリックすることにより、ディレクトリ表示欄306にて現在表示している文書の、詳細表示欄307にて現在表示しているシェイプのサムネイル画像から、ディレクトリ表示欄306では当該文書を表示し、詳細表示欄307では当該シェイプのサムネイル画像を表示する。
以上、オブジェクトの流用元情報と、流用先情報について、シェイプに限って説明した。
しかし、流用元情報と流用先情報は、シェイプに限らない。
シートも、文書ファイルも同様である。
シートであれば、流用テーブル1007のフィールドには、DocumentID_Me、VersionNo_Me及びSlideNo_Me迄が記録され、ShepeNo_Meは空欄になる。
文書ファイルであれば、流用テーブル1007のフィールドには、DocumentID_Me及びVersionNo_Me迄が記録され、SlideNo_MeとShepeNo_Meは空欄になる。
ShepeNo_Meのみ空欄のオブジェクトを集めると、シート同士の流用関係を把握することができる。
DocumentID_Me及びVersionNo_Meの両方が空欄のオブジェクトを集めると、文書ファイル同士の流用関係を把握することができる。
しかし、流用元情報と流用先情報は、シェイプに限らない。
シートも、文書ファイルも同様である。
シートであれば、流用テーブル1007のフィールドには、DocumentID_Me、VersionNo_Me及びSlideNo_Me迄が記録され、ShepeNo_Meは空欄になる。
文書ファイルであれば、流用テーブル1007のフィールドには、DocumentID_Me及びVersionNo_Me迄が記録され、SlideNo_MeとShepeNo_Meは空欄になる。
ShepeNo_Meのみ空欄のオブジェクトを集めると、シート同士の流用関係を把握することができる。
DocumentID_Me及びVersionNo_Meの両方が空欄のオブジェクトを集めると、文書ファイル同士の流用関係を把握することができる。
これより、本実施形態における、文書内のオブジェクトの親子関係と、これを記録する仕組み、また文書編集における排他制御の仕組みを説明する。
図18(a)及び(b)は、所定の文書の所定のリビジョンにおける、オブジェクトの親子関係と、オブジェクト関係テーブル1006の対応を示す概略図である。なお、図18(a)は図9(b)と同じ図を用いているので、図9(a)と対比して見ることができる。
今、図18(a)のようなオブジェクトの関係があったとする。
Aは親オブジェクトである。
AにはB、C及びDという子オブジェクトが存在する。
BにはE、F及びGという孫オブジェクトが存在する。
図18(b)は、これら親子関係をオブジェクト関係テーブル1006に記述した例を示す。
親オブジェクトであるAには、子オブジェクトであるBとCとDを記述したレコードが存在する。
子オブジェクトであるBには、孫オブジェクトであるEとFとGを記述したレコードが存在する。
オブジェクトC、D、E、FそしてGには、それらの子となるオブジェクトが存在しないので、子オブジェクトシリアルナンバーのフィールドには、空を示す「Null」が記載される。
図18(a)及び(b)は、所定の文書の所定のリビジョンにおける、オブジェクトの親子関係と、オブジェクト関係テーブル1006の対応を示す概略図である。なお、図18(a)は図9(b)と同じ図を用いているので、図9(a)と対比して見ることができる。
今、図18(a)のようなオブジェクトの関係があったとする。
Aは親オブジェクトである。
AにはB、C及びDという子オブジェクトが存在する。
BにはE、F及びGという孫オブジェクトが存在する。
図18(b)は、これら親子関係をオブジェクト関係テーブル1006に記述した例を示す。
親オブジェクトであるAには、子オブジェクトであるBとCとDを記述したレコードが存在する。
子オブジェクトであるBには、孫オブジェクトであるEとFとGを記述したレコードが存在する。
オブジェクトC、D、E、FそしてGには、それらの子となるオブジェクトが存在しないので、子オブジェクトシリアルナンバーのフィールドには、空を示す「Null」が記載される。
ここで、オブジェクトの、親子関係のツリー構造を作成する手順を説明する。
オブジェクト関係テーブル1006を、所定のリビジョンシリアルナンバーを検索キーにして検索する。すると、当該リビジョンシリアルナンバーに属する全てのオブジェクトシリアルナンバーのレコードが得られる。
得られたレコードについて、最初のレコードから順に、親子関係を見る。具体的には、以下の通りである。
(1)最初のレコードのオブジェクトシリアルナンバーを一時変数に格納する。
(2)次のレコード以降については、子オブジェクトシリアルナンバーを見て、一時変数に格納したオブジェクトシリアルナンバーがあるか否かを見る。
(3)もしあれば、そのレコードのオブジェクトシリアルナンバーは親に該当するので、一時変数に格納していた先のオブジェクトシリアルナンバーを、当該レコードのオブジェクトシリアルナンバーに置き換える。なければ何もせずに次のレコードを見る。
以上(1)乃至(3)の動作を、レコードの最後に至るまで続けることにより、ツリー構造のトップに位置する、唯一の親のオブジェクトシリアルナンバーを得ることができる。
オブジェクト関係テーブル1006を、所定のリビジョンシリアルナンバーを検索キーにして検索する。すると、当該リビジョンシリアルナンバーに属する全てのオブジェクトシリアルナンバーのレコードが得られる。
得られたレコードについて、最初のレコードから順に、親子関係を見る。具体的には、以下の通りである。
(1)最初のレコードのオブジェクトシリアルナンバーを一時変数に格納する。
(2)次のレコード以降については、子オブジェクトシリアルナンバーを見て、一時変数に格納したオブジェクトシリアルナンバーがあるか否かを見る。
(3)もしあれば、そのレコードのオブジェクトシリアルナンバーは親に該当するので、一時変数に格納していた先のオブジェクトシリアルナンバーを、当該レコードのオブジェクトシリアルナンバーに置き換える。なければ何もせずに次のレコードを見る。
以上(1)乃至(3)の動作を、レコードの最後に至るまで続けることにより、ツリー構造のトップに位置する、唯一の親のオブジェクトシリアルナンバーを得ることができる。
図19は、本実施形態のwebアプリケーションをwebブラウザ上にて実行した際の、初期動作を示すフローチャートである。
webブラウザにてwebサーバにアクセスすると(S1901)、ログイン画面を構成するhtml文書が送信され、webブラウザ上にログイン画面が表示される(S1902)。そして、実質的にユーザによるユーザID及びパスワードの入力待ち状態になる(S1903)。ユーザがユーザID及びパスワードを入力すると、ユーザ認証cgi203が実行され、ユーザ認証が行われる(S1904)。
なお、ユーザ認証に失敗すると、エラー表示を伴って再度ログイン画面に戻るが、図19においては表記を省略している。
ユーザ認証に成功した後は、ユーザIDを検索キーにして、共有ディレクトリ210を検索し、当該ユーザがアクセス可能な論理ドライブ、ディレクトリ、そしてそれらディレクトリ内に存在する、当該ユーザが編集あるいは表示可能な文書の文書ファイル名を全て取得する(S1905)。
そして、得られたディレクトリ構造と文書ファイル名をツリー構造に表示するhtml文書を作成して、webブラウザへ送信し(S1906)、一連の処理を終了する(S1907)。
webブラウザにてwebサーバにアクセスすると(S1901)、ログイン画面を構成するhtml文書が送信され、webブラウザ上にログイン画面が表示される(S1902)。そして、実質的にユーザによるユーザID及びパスワードの入力待ち状態になる(S1903)。ユーザがユーザID及びパスワードを入力すると、ユーザ認証cgi203が実行され、ユーザ認証が行われる(S1904)。
なお、ユーザ認証に失敗すると、エラー表示を伴って再度ログイン画面に戻るが、図19においては表記を省略している。
ユーザ認証に成功した後は、ユーザIDを検索キーにして、共有ディレクトリ210を検索し、当該ユーザがアクセス可能な論理ドライブ、ディレクトリ、そしてそれらディレクトリ内に存在する、当該ユーザが編集あるいは表示可能な文書の文書ファイル名を全て取得する(S1905)。
そして、得られたディレクトリ構造と文書ファイル名をツリー構造に表示するhtml文書を作成して、webブラウザへ送信し(S1906)、一連の処理を終了する(S1907)。
本実施形態では、ユーザ認証をCookie認証にて実施する。多くの場合、webアプリケーションにおけるユーザ認証はCookie認証により実施される。Cookie認証の詳細は本実施形態にて説明する発明の内容と直接的には関係しないので、詳細な説明は省略する。
図20は、本実施形態のwebアプリケーションをwebブラウザ上にて実行した後、マーク307aをポインティングデバイスでクリックしたことによって実行される、詳細表示動作を示すフローチャートである。つまり、図3(a)から図3(b)に画面が遷移した際の動作を示すものである。
アイコンをクリックすると(S2001)、アイコンに埋め込まれていたURLが、webサーバ103に送信される。すると、webサーバプログラム202が受信したURL文字列は操作解析部206によって解析され、クリックされた対象は文書なのか否かが検証される(S2002)。
クリックされた対象が文書であれば、操作解析部206はデータベース検索部207にテーブルの検索を命じる。具体的には、URL文字列に含まれている文書シリアルナンバーを検索キーにして、文書リビジョンテーブル1003を検索し、該当するプロジェクトの最新のリビジョンシリアルナンバーを取得する(S2003)。
アイコンをクリックすると(S2001)、アイコンに埋め込まれていたURLが、webサーバ103に送信される。すると、webサーバプログラム202が受信したURL文字列は操作解析部206によって解析され、クリックされた対象は文書なのか否かが検証される(S2002)。
クリックされた対象が文書であれば、操作解析部206はデータベース検索部207にテーブルの検索を命じる。具体的には、URL文字列に含まれている文書シリアルナンバーを検索キーにして、文書リビジョンテーブル1003を検索し、該当するプロジェクトの最新のリビジョンシリアルナンバーを取得する(S2003)。
次に、操作解析部206は、データベース検索部207に再度テーブルの検索を命じる。具体的には、先にデータベース検索部207が取得した最新のリビジョンシリアルナンバーを検索キーにして、リビジョンオブジェクトテーブル1004を検索し、該当する最新のリビジョンシリアルナンバーに属する全てのオブジェクトシリアルナンバーを取得する(S2004)。
次に、操作解析部206は、データベース検索部207に再度テーブルの検索を命じる。具体的には、先にデータベース検索部207が取得した最新のリビジョンシリアルナンバーを検索キーにして、オブジェクト関係テーブル1006を検索し、該当する最新のリビジョンシリアルナンバーに属する全てのオブジェクトシリアルナンバーの親子関係のレコードを取得する。そして、全てのオブジェクトの親子関係を解析する(S2005)。
全てのオブジェクトの親子関係を解析し終わったら、表示処理部208にて展開表示処理を行い(S2006)、終了する(S2007)。
全てのオブジェクトの親子関係を解析し終わったら、表示処理部208にて展開表示処理を行い(S2006)、終了する(S2007)。
なお、ステップS2002において、クリックされたマークがオブジェクトを示すリンクであった場合(S2002のN)は、そのオブジェクトシリアルナンバーと、リビジョンシリアルナンバーに関係する全てのオブジェクトシリアルナンバーを、オブジェクト関係テーブル1006にて検索して取得する(S2008)。
図21は、文書を新規に作成する際の動作を示すフローチャートである。
「文書新規作成」ボタン318をクリックすると(S2101)、「文書新規作成」ボタン318に埋め込まれていたURLが、クリックすることによってwebサーバ103に送信される。すると、webサーバプログラム202が受信したURL文字列は操作解析部206によって解析され、その結果、データベース検索部207を通じてファイル入出力部209に命令する。具体的には、共有ディレクトリ210に空のオブジェクト文書ファイルを新規に作成する(S2102)。
「文書新規作成」ボタン318をクリックすると(S2101)、「文書新規作成」ボタン318に埋め込まれていたURLが、クリックすることによってwebサーバ103に送信される。すると、webサーバプログラム202が受信したURL文字列は操作解析部206によって解析され、その結果、データベース検索部207を通じてファイル入出力部209に命令する。具体的には、共有ディレクトリ210に空のオブジェクト文書ファイルを新規に作成する(S2102)。
次に、操作解析部206はデータベース検索部207を通じてオブジェクトロック管理部212に命令する。具体的には、ロックファイルディレクトリ211に、空のオブジェクト文書ファイルに該当するオブジェクトロックファイルを作成する(S2103)。
次に、操作解析部206はデータベース検索部207を通じて表示処理部208を制御し、クライアントPCのwebブラウザを通じて、クライアントPCにインストールされているプレゼンソフトを起動させ、共有ディレクトリ10に作成した空のオブジェクト文書ファイルを編集可能にする(S2104)。
次に、操作解析部206はデータベース検索部207を通じて表示処理部208を制御し、クライアントPCのwebブラウザを通じて、クライアントPCにインストールされているプレゼンソフトを起動させ、共有ディレクトリ10に作成した空のオブジェクト文書ファイルを編集可能にする(S2104)。
次に、webブラウザは、ユーザの操作による、プレゼンソフトの終了を待つ(S2105)。
プレゼンソフトが終了すると、「プレゼンソフトが終了した」という情報がwebブラウザを通じてwebサーバに通知される。そして、操作解析部206はデータベース検索部207を通じて、オブジェクト文書ファイルのクローズ処理を行う(S2106)。この処理の詳細は図22のフローチャートの説明にて後述する。
オブジェクト文書ファイルのクローズ処理を終えたら、操作解析部206はデータベース検索部207を通じてオブジェクトロック管理部に命令し、ロックファイルディレクトリ211に作成した、オブジェクトロックファイルの削除を行い(S2107)、一連の処理を終了する(S2108)。
プレゼンソフトが終了すると、「プレゼンソフトが終了した」という情報がwebブラウザを通じてwebサーバに通知される。そして、操作解析部206はデータベース検索部207を通じて、オブジェクト文書ファイルのクローズ処理を行う(S2106)。この処理の詳細は図22のフローチャートの説明にて後述する。
オブジェクト文書ファイルのクローズ処理を終えたら、操作解析部206はデータベース検索部207を通じてオブジェクトロック管理部に命令し、ロックファイルディレクトリ211に作成した、オブジェクトロックファイルの削除を行い(S2107)、一連の処理を終了する(S2108)。
図22は、オブジェクト文書をクローズする処理のフローチャートである。図21のステップS2106に相当する。
処理を開始すると(S2201)、操作解析部206はデータベース検索部207を通じてファイル入出力部209を制御し、共有ディレクトリ210にあるオブジェクト文書ファイルを読み込む処理を行う(S2202)。そして、オブジェクト文書ファイルを読み込んだ結果、更新が行われたか否かを判定する(S2203)。
処理を開始すると(S2201)、操作解析部206はデータベース検索部207を通じてファイル入出力部209を制御し、共有ディレクトリ210にあるオブジェクト文書ファイルを読み込む処理を行う(S2202)。そして、オブジェクト文書ファイルを読み込んだ結果、更新が行われたか否かを判定する(S2203)。
オブジェクト文書ファイルに編集がなされたことが判明した場合は(S2203のY)、操作解析部206はデータベース検索部207を通じてファイル入出力部209を制御し、共有ディレクトリ210にあるオブジェクト文書ファイルを詳細に読み込み、オブジェクト文書ファイルを構成するオブジェクトを全て読み出す(S2204)。そして、
・読み出した全てのオブジェクトを、オブジェクトテーブル1005に登録し(S2205)、
・新たなリビジョンシリアルナンバーを起こして付与し(S2206)、
・オブジェクトの流用関係を流用テーブル1007に登録する(S2207)。
また、文書リビジョンテーブル1003及び文書テーブル1002の更新も行う。
なお、ステップS2205、S2206及びS2207の順序は問わない。
こうして文書ファイルは変更されたので、操作解析部206はデータベース検索部207を通じて表示処理部208を制御し、該当する文書ファイルの表示内容を更新して(S2208)、終了する(S2209)。
・読み出した全てのオブジェクトを、オブジェクトテーブル1005に登録し(S2205)、
・新たなリビジョンシリアルナンバーを起こして付与し(S2206)、
・オブジェクトの流用関係を流用テーブル1007に登録する(S2207)。
また、文書リビジョンテーブル1003及び文書テーブル1002の更新も行う。
なお、ステップS2205、S2206及びS2207の順序は問わない。
こうして文書ファイルは変更されたので、操作解析部206はデータベース検索部207を通じて表示処理部208を制御し、該当する文書ファイルの表示内容を更新して(S2208)、終了する(S2209)。
図23は、既に存在する文書ファイルを編集する際の動作を示すフローチャートである。
webブラウザ上に表示されている、編集しようとする文書ファイル名をダブルクリックすると、処理が開始される(S2301)。すると、操作解析部206はデータベース検索部207を通じてオブジェクトロック管理部212に命令する。具体的には、ロックファイルディレクトリ211に、該当する文書ファイルに含まれる全てのオブジェクトについて、オブジェクトロックファイルが存在していないか否かを確認する(S2302)。もし、一つでもオブジェクトロックファイルが存在していれば、「編集不可」のエラーメッセージをwebブラウザに表示する処理を、表示処理部208を通じて行い(S2303)、終了する(S2310)。
webブラウザ上に表示されている、編集しようとする文書ファイル名をダブルクリックすると、処理が開始される(S2301)。すると、操作解析部206はデータベース検索部207を通じてオブジェクトロック管理部212に命令する。具体的には、ロックファイルディレクトリ211に、該当する文書ファイルに含まれる全てのオブジェクトについて、オブジェクトロックファイルが存在していないか否かを確認する(S2302)。もし、一つでもオブジェクトロックファイルが存在していれば、「編集不可」のエラーメッセージをwebブラウザに表示する処理を、表示処理部208を通じて行い(S2303)、終了する(S2310)。
もし、関係するオブジェクトロックファイルが全くない場合は、当該文書ファイルの編集が可能である。そこで、操作解析部206はデータベース検索部207を通じてオブジェクトロック管理部212に命令する。具体的には、ロックファイルディレクトリ211に、該当する文書ファイルに含まれる全てのオブジェクトについて、オブジェクトロックファイルを作成する(S2304)。
次に、操作解析部206はデータベース検索部207を通じてファイル入出力部209に命令し、共有ディレクトリ210に当該文書ファイルによって構成されるオブジェクト文書ファイルを作成する(S2305)。
次に、操作解析部206はデータベース検索部207を通じて表示処理部208を制御し、クライアントPCのwebブラウザを通じて、クライアントPCにインストールされているプレゼンソフトを起動させ、共有ディレクトリ10に作成したオブジェクト文書ファイルを編集可能にする(S2306)。
次に、操作解析部206はデータベース検索部207を通じて表示処理部208を制御し、クライアントPCのwebブラウザを通じて、クライアントPCにインストールされているプレゼンソフトを起動させ、共有ディレクトリ10に作成したオブジェクト文書ファイルを編集可能にする(S2306)。
次に、webブラウザは、ユーザの操作による、プレゼンソフトの終了を待つ(S2307)。
プレゼンソフトが終了すると、「プレゼンソフトが終了した」という情報がwebブラウザを通じてwebサーバに通知される。そして、操作解析部206はデータベース検索部207を通じて、オブジェクト文書ファイルのクローズ処理を行う(S2308)。
オブジェクト文書ファイルのクローズ処理を終えたら、操作解析部206はデータベース検索部207を通じてオブジェクトロック管理部に命令し、ロックファイルディレクトリ211に作成した、オブジェクトロックファイルの削除処理を行い(S2309)、終了する(S2310)。
プレゼンソフトが終了すると、「プレゼンソフトが終了した」という情報がwebブラウザを通じてwebサーバに通知される。そして、操作解析部206はデータベース検索部207を通じて、オブジェクト文書ファイルのクローズ処理を行う(S2308)。
オブジェクト文書ファイルのクローズ処理を終えたら、操作解析部206はデータベース検索部207を通じてオブジェクトロック管理部に命令し、ロックファイルディレクトリ211に作成した、オブジェクトロックファイルの削除処理を行い(S2309)、終了する(S2310)。
図24は、オブジェクトを編集する際の動作を示すフローチャートである。
webブラウザ上に表示されている、編集をしようとするスライド或は部品のサムネイルをダブルクリックすると、処理が開始される(S2401)。すると、操作解析部206はデータベース検索部207を通じてオブジェクトロック管理部212に命令する。具体的には、ロックファイルディレクトリ211に、該当するオブジェクトに関係する全てのオブジェクトについて、オブジェクトロックファイルが存在していないか否かを確認する(S2402)。もし、一つでもオブジェクトロックファイルが存在していれば、「編集不可」のエラーメッセージをwebブラウザに表示する処理を、表示処理部208を通じて行い(S2403)、終了する(S2410)。
webブラウザ上に表示されている、編集をしようとするスライド或は部品のサムネイルをダブルクリックすると、処理が開始される(S2401)。すると、操作解析部206はデータベース検索部207を通じてオブジェクトロック管理部212に命令する。具体的には、ロックファイルディレクトリ211に、該当するオブジェクトに関係する全てのオブジェクトについて、オブジェクトロックファイルが存在していないか否かを確認する(S2402)。もし、一つでもオブジェクトロックファイルが存在していれば、「編集不可」のエラーメッセージをwebブラウザに表示する処理を、表示処理部208を通じて行い(S2403)、終了する(S2410)。
もし、関係するオブジェクトロックファイルが全くない場合は、当該文書ファイルの編集が可能である。そこで、操作解析部206はデータベース検索部207を通じてオブジェクトロック管理部212に命令する。具体的には、ロックファイルディレクトリ211に、該当するオブジェクトを編集する際に排他ロックを実行することが必要である全てのオブジェクトについて、オブジェクトロックファイルを作成する(S2403)。このロックファイルの付与については後述する。
次に、操作解析部206はデータベース検索部207を通じてファイル入出力部209に命令し、共有ディレクトリ210に当該オブジェクトによって構成されるオブジェクト文書ファイルを作成する(S2405)。
次に、操作解析部206はデータベース検索部207を通じて表示処理部208を制御し、クライアントPCのwebブラウザを通じて、クライアントPCにインストールされているプレゼンソフトを起動させ、共有ディレクトリ10に作成したオブジェクト文書ファイルを編集可能にする(S2406)。
次に、操作解析部206はデータベース検索部207を通じて表示処理部208を制御し、クライアントPCのwebブラウザを通じて、クライアントPCにインストールされているプレゼンソフトを起動させ、共有ディレクトリ10に作成したオブジェクト文書ファイルを編集可能にする(S2406)。
次に、webブラウザは、ユーザの操作による、プレゼンソフトの終了を待つ(S2407)。
プレゼンソフトが終了すると、「プレゼンソフトが終了した」という情報がwebブラウザを通じてwebサーバに通知される。そして、操作解析部206はデータベース検索部207を通じて、オブジェクト文書ファイルのクローズ処理を行う(S2408)。
オブジェクト文書ファイルのクローズ処理を終えたら、操作解析部206はデータベース検索部207を通じてオブジェクトロック管理部に命令し、ロックファイルディレクトリ211に作成した、オブジェクトロックファイルの削除を行い(S2409)、一連の処理を終了する(S2410)。
プレゼンソフトが終了すると、「プレゼンソフトが終了した」という情報がwebブラウザを通じてwebサーバに通知される。そして、操作解析部206はデータベース検索部207を通じて、オブジェクト文書ファイルのクローズ処理を行う(S2408)。
オブジェクト文書ファイルのクローズ処理を終えたら、操作解析部206はデータベース検索部207を通じてオブジェクトロック管理部に命令し、ロックファイルディレクトリ211に作成した、オブジェクトロックファイルの削除を行い(S2409)、一連の処理を終了する(S2410)。
以上に述べたフローチャートのうち、図21、図23及び図24は、初期段階のステップが異なる以外は、実質的に同じ処理が行われる。
図25は、オブジェクトロックファイルの作成ルールを解説するための図である。
オブジェクトロックファイルとは、ロックファイルディレクトリ211に作成される、オブジェクトシリアルナンバーをファイル名に付した小さなファイルである。このオブジェクトロックファイルを作成することで、今編集をしようとするオブジェクトは編集をして良いのか否かを確認することができる。
オブジェクトロックファイルとは、ロックファイルディレクトリ211に作成される、オブジェクトシリアルナンバーをファイル名に付した小さなファイルである。このオブジェクトロックファイルを作成することで、今編集をしようとするオブジェクトは編集をして良いのか否かを確認することができる。
今、図25に示したような、オブジェクトのツリー構造があるものとする。
あるユーザがオブジェクトAを編集する場合は、Aに属する全ての下位のオブジェクトが、当該ユーザによって編集される可能性があることを意味する。そこで、オブジェクトAのみならず、B、C、D、E、F及びGについてもオブジェクトロックファイルを作成する。
あるユーザがオブジェクトAを編集する場合は、Aに属する全ての下位のオブジェクトが、当該ユーザによって編集される可能性があることを意味する。そこで、オブジェクトAのみならず、B、C、D、E、F及びGについてもオブジェクトロックファイルを作成する。
あるユーザがオブジェクトBを編集する場合は、Bに属する全ての下位のオブジェクトが、当該ユーザによって編集される可能性があることを意味する。そこで、オブジェクトBのみならず、E、F及びGについてもオブジェクトロックファイルを作成する。
しかし、これだけでは不足である。何故ならば、オブジェクトAの編集を許可してしまうと、オブジェクトBの編集も許可することになってしまい、編集の衝突が起きてしまうからである。つまり、この場合は、オブジェクトBの下位のオブジェクトのみならず、上位に存在するオブジェクトAについても、オブジェクトロックファイルを作成する必要が生じるのである。
しかし、これだけでは不足である。何故ならば、オブジェクトAの編集を許可してしまうと、オブジェクトBの編集も許可することになってしまい、編集の衝突が起きてしまうからである。つまり、この場合は、オブジェクトBの下位のオブジェクトのみならず、上位に存在するオブジェクトAについても、オブジェクトロックファイルを作成する必要が生じるのである。
あるユーザがオブジェクトCを編集する場合は、Cに属する全ての下位のオブジェクトが、当該ユーザによって編集される可能性があることを意味する。しかし、図25を見るとわかるように、Cには下位オブジェクトが存在しない。そこで、オブジェクトCと、上位にあるオブジェクトAについてもオブジェクトロックファイルを作成する。
一方、オブジェクトB、D、またBの下位オブジェクトE、F及びGはどうだろうか。これらは、CとAがロックされていても、編集を拒否する必要はない。つまり、編集の衝突は生じない。
一方、オブジェクトB、D、またBの下位オブジェクトE、F及びGはどうだろうか。これらは、CとAがロックされていても、編集を拒否する必要はない。つまり、編集の衝突は生じない。
あるユーザがオブジェクトEを編集する場合は、Eに属する全ての下位のオブジェクトが、当該ユーザによって編集される可能性があることを意味する。しかし、図25を見るとわかるように、Eには下位オブジェクトが存在しない。そこで、オブジェクトEと、上位にあるオブジェクトB、更にその上位にあるオブジェクトAについてもオブジェクトロックファイルを作成する。
以上より、オブジェクトロックファイルは、編集対象のオブジェクトと、その下位オブジェクトと、その上位オブジェクトについて作成する、というルールが成り立つ。
このような編集のルールを定めて、オブジェクトロックファイルを管理することにより、一つの文書ファイルについて複数名による同時編集が可能になる。
例えば、一つの文書ファイルに属する複数のスライドを、別々の担当者が同時に編集する、ということが実現できる。
このような編集のルールを定めて、オブジェクトロックファイルを管理することにより、一つの文書ファイルについて複数名による同時編集が可能になる。
例えば、一つの文書ファイルに属する複数のスライドを、別々の担当者が同時に編集する、ということが実現できる。
また、文書リビジョンテーブル1003を設けることにより、文書ファイルの全てのリビジョンを、webブラウザ上に列挙表示することもできる。つまり、マーク307a或は307bをダブルクリックすることで、文書リビジョンテーブル1003を検索し、当該文書ファイルに属する全てのリビジョンを列挙表示する。
このような機能を装備することで、編集履歴を明確に表示すると共に、過去のリビジョンに戻って編集し直すことも可能になる。
このような機能を装備することで、編集履歴を明確に表示すると共に、過去のリビジョンに戻って編集し直すことも可能になる。
更に、流用テーブル1007を設けることにより、あるオブジェクトを作成する際に、他のオブジェクトから複写(コピー)して貼り付けた(ペースト)動作を記録することができる。このテーブルに記録されている元のオブジェクトシリアルナンバーを集計すると、オブジェクトの流用頻度がわかる。つまり、「利用価値の高いオブジェクト」が一目瞭然でわかるので、オブジェクト文書を作成する際の生産性を向上できる。
この機能を実現するのが、「パーツランキング」ボタン305である。
この機能を実現するのが、「パーツランキング」ボタン305である。
オブジェクトテーブル1005のオブジェクト実体フィールドに含まれているテキストを抽出し、周知の形態素解析技術にて単語に分解し、ランキングを実行すると、キーワードのリストが得られる。この機能を実行するのが、「キーワードリスト」ボタン304である。
この機能により、複数メンバーで成果物を作成する際にしばしば起こりがちな、用語の不統一を防ぐことができる。
更に、キーワードがどのオブジェクトから抽出されたものかを記録するテーブルを用意すれば、複数のオブジェクト文書を跨る用語の統一を図るための、文書編集作業を、極めて効率的に遂行できる。つまり、当該テーブルを用いて、用語の不統一を引き起こした、問題となるオブジェクトを一覧表示し、それらオブジェクトに編集を施す。
これは、従来、テキストファイルであるプログラムのソースファイルを編集するテキストエディタや統合開発環境において、タグジャンプ機能と呼ばれ、従来より知られていた機能を、オブジェクト文書内のオブジェクトに適用する技術思想である。
この機能により、複数メンバーで成果物を作成する際にしばしば起こりがちな、用語の不統一を防ぐことができる。
更に、キーワードがどのオブジェクトから抽出されたものかを記録するテーブルを用意すれば、複数のオブジェクト文書を跨る用語の統一を図るための、文書編集作業を、極めて効率的に遂行できる。つまり、当該テーブルを用いて、用語の不統一を引き起こした、問題となるオブジェクトを一覧表示し、それらオブジェクトに編集を施す。
これは、従来、テキストファイルであるプログラムのソースファイルを編集するテキストエディタや統合開発環境において、タグジャンプ機能と呼ばれ、従来より知られていた機能を、オブジェクト文書内のオブジェクトに適用する技術思想である。
本実施形態には、以下のような応用例が考えられる。
(1)上述の実施形態では、一つの文書ファイルが一つのオブジェクト文書ファイルに対応していたが、一つの文書ファイルが複数のオブジェクト文書ファイルに対応するように、ツリー構造の階層を多段化してもよい。
この場合、文書ファイルを直接編集することはできなくなる代わりに、オブジェクト文書ファイルも一つのオブジェクトとして取り扱うこととなる。つまり、図23のフローチャートが実質的に不要になり、全ての編集は図24のフローチャートで表現される。また、オブジェクトロックも最上位はオブジェクト文書ファイルまでとなる。
(1)上述の実施形態では、一つの文書ファイルが一つのオブジェクト文書ファイルに対応していたが、一つの文書ファイルが複数のオブジェクト文書ファイルに対応するように、ツリー構造の階層を多段化してもよい。
この場合、文書ファイルを直接編集することはできなくなる代わりに、オブジェクト文書ファイルも一つのオブジェクトとして取り扱うこととなる。つまり、図23のフローチャートが実質的に不要になり、全ての編集は図24のフローチャートで表現される。また、オブジェクトロックも最上位はオブジェクト文書ファイルまでとなる。
(2)オブジェクト文書は前述のプレゼンソフトに留まらない。複数のオブジェクトを格納可能な文書と、それを取り扱うソフトであれば何でも本実施形態を適用可能である。
(3)主機能cgi205の機能の大半を、クライアントPCにインストールされているプレゼンソフト側に、プラグインとして組み込むことができる。
(4)webサーバ103とwebブラウザの代わりに、専用クライアントプログラムを用いたクライアント・サーバ型システムで、本実施形態を実装することができる。
(5)webブラウザ302にて形成されるユーザインターフェースは、図3のような形態に限られない。
図26(a)及び(b)は、クライアントPC上のwebブラウザ302でwebサーバ103をアクセスした結果、表示される、webアプリケーションの表示の、別の一例である。
図26(a)及び(b)に示すように、ウィンドウ分割を行わず、一つのウィンドウ内に文書名とそのツリー構造、そして文書を構成するオブジェクトのサムネイル画像を階層的に表示させることができる。
図26(a)において、文書ファイル名の左側に設けられているアイコン2602aをクリックすると、図26(b)に示すように、文書ファイル名の下に、文書を構成するスライドのサムネイル画像が展開表示される。
図26(b)において、文書ファイル名の左側に設けられているアイコン2602bをクリックすると、図26(a)に示すように、文書ファイル名の下に展開されていたスライドのサムネイル画像が消去され、展開されていたスライドが文書ファイル名へ収納されたようなイメージで表示される。
図26(a)及び(b)は、クライアントPC上のwebブラウザ302でwebサーバ103をアクセスした結果、表示される、webアプリケーションの表示の、別の一例である。
図26(a)及び(b)に示すように、ウィンドウ分割を行わず、一つのウィンドウ内に文書名とそのツリー構造、そして文書を構成するオブジェクトのサムネイル画像を階層的に表示させることができる。
図26(a)において、文書ファイル名の左側に設けられているアイコン2602aをクリックすると、図26(b)に示すように、文書ファイル名の下に、文書を構成するスライドのサムネイル画像が展開表示される。
図26(b)において、文書ファイル名の左側に設けられているアイコン2602bをクリックすると、図26(a)に示すように、文書ファイル名の下に展開されていたスライドのサムネイル画像が消去され、展開されていたスライドが文書ファイル名へ収納されたようなイメージで表示される。
(6)上述の実施形態では、共有ディレクトリに文書ファイルの実体を置かずに、文書ファイルを構成するオブジェクトに関する情報の全てと、オブジェクト間のツリー構造関係をデータベースに記録していた。
これとは相対する実施形態として、共有ディレクトリに文書ファイルの実体を置いてしまう実施形態も考えられる。
最低限必要なテーブルとして流用テーブルを設け、文書のリビジョンが上がる毎に新たなリビジョン番号をファイル名の中に付した文書ファイルを設ける。
つまり、この実施形態では、オブジェクトの分解と登録、オブジェクト同士のツリー構造関係は一切データベースに登録しない。文書ファイルの実体があるので、画面表示の際には直接文書ファイルからそれら内容を読み取ればよい。
このような、簡素な実施形態であっても、前述の実施形態とほぼ同等の機能、効果が期待できる。
これとは相対する実施形態として、共有ディレクトリに文書ファイルの実体を置いてしまう実施形態も考えられる。
最低限必要なテーブルとして流用テーブルを設け、文書のリビジョンが上がる毎に新たなリビジョン番号をファイル名の中に付した文書ファイルを設ける。
つまり、この実施形態では、オブジェクトの分解と登録、オブジェクト同士のツリー構造関係は一切データベースに登録しない。文書ファイルの実体があるので、画面表示の際には直接文書ファイルからそれら内容を読み取ればよい。
このような、簡素な実施形態であっても、前述の実施形態とほぼ同等の機能、効果が期待できる。
本実施形態においては、オブジェクト文書作成支援システムを開示した。
本実施形態のオブジェクト文書作成支援システムによって、従来、文書内のオブジェクトの出自が一目瞭然で判るようになると共に、引用頻度の高いオブジェクトがどの文書のどの場所にあるかが判るようになる。このため、欲しいオブジェクトの流用がスムーズにできるようになるので、オブジェクト文書の作成効率が向上する。
また、本実施形態のオブジェクト文書作成支援システムによって、従来、複数名による同時編集が実質的に不可能であったオブジェクト文書を、オブジェクト単位での同時編集が実現できるようになり、オブジェクト文書の作成効率が向上する。
本実施形態のオブジェクト文書作成支援システムによって、従来、文書内のオブジェクトの出自が一目瞭然で判るようになると共に、引用頻度の高いオブジェクトがどの文書のどの場所にあるかが判るようになる。このため、欲しいオブジェクトの流用がスムーズにできるようになるので、オブジェクト文書の作成効率が向上する。
また、本実施形態のオブジェクト文書作成支援システムによって、従来、複数名による同時編集が実質的に不可能であったオブジェクト文書を、オブジェクト単位での同時編集が実現できるようになり、オブジェクト文書の作成効率が向上する。
以上、本発明の実施形態例について説明したが、本発明は上記実施形態例に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含むことは言うまでもない。
101…オブジェクト文書作成支援システム、102…LAN、103…webサーバ、105a、105b、105c…作業者、104a、104b、104c…クライアントPC、202…webサーバプログラム、203…ユーザ認証cgi、204…ユーザマスタ、205…主機能cgi、206…操作解析部、207…データベース検索部、208…表示処理部、209…ファイル入出力部、210…共有ディレクトリ、211…ロックファイルディレクトリ、212…オブジェクトロック管理部、213…各種テーブル、214…ファイルサーバプログラム、302…webブラウザ、303…ログインユーザ名、304…「キーワードリスト」ボタン、305…「パーツランキング」ボタン、306…ディレクトリ表示欄、307…詳細表示欄、309…スクロールバー、310…論理ドライブアイコン、311…フォルダアイコン、312…文書ファイルアイコン、313…プラス記号アイコン、314…マイナス記号アイコン、315…アスタリスク記号アイコン、316…「R」アイコン、317…「引用表示」ボタン、318…「文書新規作成」ボタン、402…管理対象ディレクトリ、502…マウスカーソル、503…げた記号アイコン、602…シートアイコン、702…オブジェクト文書、703…スライド、802…テーブルオブジェクト、803…テキストボックスオブジェクト、804…画像オブジェクト、805…セル、1002…文書テーブル、1003…文書リビジョンテーブル、1004…リビジョンオブジェクトテーブル、1005…オブジェクトテーブル、1006…オブジェクト関係テーブル、1007…流用テーブル、1202…文書ファイル、1203…スライド、1204a、1204b…シェイプ、1402、1502…注目レコード、1702、1705、1712、1714、1716…サムネイル画像、1703、1706…引用元情報、1704、1707…引用先情報、1711…新規ウィンドウ、1713、1715、1717…引用先一覧、2602a、2602b…アイコン
Claims (5)
- 異なるデータ構造を備えるオブジェクトを格納できるオブジェクト文書ファイルを読み込むファイル入出力部と、
前記ファイル入出力部にて得られた、前記オブジェクト文書ファイルに格納されている前記オブジェクトの関係を表示する情報を作成する表示処理部と、
前記ファイル入出力部にて得られた、前記オブジェクト文書ファイルに格納されている前記オブジェクトの関係を登録するオブジェクト関係テーブルと、
前記ファイル入出力部にて得られた、前記オブジェクト文書ファイルに格納されている前記オブジェクトの中身を登録するオブジェクトテーブルと
を具備するサーバと、
前記サーバに接続され、前記表示処理部が作成した前記情報を表示するクライアントと
を具備することを特徴とする、オブジェクト文書作成システム。 - 前記サーバは更に、
前記オブジェクトの流用関係を記録する流用テーブルと
を具備し、
前記オブジェクト文書ファイルは、前記オブジェクト毎に任意の情報を格納可能であり、
前記ファイル入出力部は、前記オブジェクト文書ファイル中の前記オブジェクトに前記流用テーブルに記録される前記オブジェクトの流用関係の情報を格納することを特徴とする、請求項1記載のオブジェクト文書作成システム。 - 前記サーバは更に、
前記オブジェクト文書の編集履歴を記録する文書リビジョンテーブルを具備することを特徴とする、請求項1記載のオブジェクト文書作成システム。 - 前記オブジェクトテーブルは、編集前のオブジェクトの在り処を示すフィールドを有することを特徴とする、請求項1記載のオブジェクト文書作成システム。
- 前記サーバは更に、
前記クライアントの編集要求に対し、前記オブジェクトの関係に応じたオブジェクトロックファイルを作成するオブジェクトロック管理部を具備することを特徴とする、請求項1記載のオブジェクト文書作成システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007234523A JP2009069899A (ja) | 2007-09-10 | 2007-09-10 | オブジェクト文書作成システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007234523A JP2009069899A (ja) | 2007-09-10 | 2007-09-10 | オブジェクト文書作成システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009069899A true JP2009069899A (ja) | 2009-04-02 |
Family
ID=40606123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007234523A Pending JP2009069899A (ja) | 2007-09-10 | 2007-09-10 | オブジェクト文書作成システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009069899A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012022596A (ja) * | 2010-07-16 | 2012-02-02 | Fuji Xerox Co Ltd | プログラム及び情報処理装置 |
JP2016181250A (ja) * | 2015-03-23 | 2016-10-13 | ドロップボックス, インコーポレイテッド | コンテンツアイテムテンプレート |
US10402786B2 (en) | 2016-12-30 | 2019-09-03 | Dropbox, Inc. | Managing projects in a content management system |
US10719807B2 (en) | 2016-12-29 | 2020-07-21 | Dropbox, Inc. | Managing projects using references |
US10838925B2 (en) | 2018-11-06 | 2020-11-17 | Dropbox, Inc. | Technologies for integrating cloud content items across platforms |
US10942944B2 (en) | 2015-12-22 | 2021-03-09 | Dropbox, Inc. | Managing content across discrete systems |
US10970656B2 (en) | 2016-12-29 | 2021-04-06 | Dropbox, Inc. | Automatically suggesting project affiliations |
US11226939B2 (en) | 2017-12-29 | 2022-01-18 | Dropbox, Inc. | Synchronizing changes within a collaborative content management system |
JP7396136B2 (ja) | 2020-03-13 | 2023-12-12 | 株式会社リコー | 通信管理装置、通信システム、通信方法およびプログラム |
US11902039B2 (en) | 2020-04-30 | 2024-02-13 | Beijing Bytedance Network Technology Co., Ltd. | Interaction method and apparatus, and electronic device |
-
2007
- 2007-09-10 JP JP2007234523A patent/JP2009069899A/ja active Pending
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012022596A (ja) * | 2010-07-16 | 2012-02-02 | Fuji Xerox Co Ltd | プログラム及び情報処理装置 |
US11347762B2 (en) | 2015-03-23 | 2022-05-31 | Dropbox, Inc. | Intelligent scrolling in shared folder back integrated workspaces |
US11567958B2 (en) | 2015-03-23 | 2023-01-31 | Dropbox, Inc. | Content item templates |
US10216810B2 (en) | 2015-03-23 | 2019-02-26 | Dropbox, Inc. | Content item-centric conversation aggregation in shared folder backed integrated workspaces |
US11748366B2 (en) | 2015-03-23 | 2023-09-05 | Dropbox, Inc. | Shared folder backed integrated workspaces |
US10997188B2 (en) | 2015-03-23 | 2021-05-04 | Dropbox, Inc. | Commenting in shared folder backed integrated workspaces |
US10558677B2 (en) | 2015-03-23 | 2020-02-11 | Dropbox, Inc. | Viewing and editing content items in shared folder backed integrated workspaces |
US10635684B2 (en) | 2015-03-23 | 2020-04-28 | Dropbox, Inc. | Shared folder backed integrated workspaces |
US10042900B2 (en) | 2015-03-23 | 2018-08-07 | Dropbox, Inc. | External user notifications in shared folder backed integrated workspaces |
US11354328B2 (en) | 2015-03-23 | 2022-06-07 | Dropbox, Inc. | Shared folder backed integrated workspaces |
US11016987B2 (en) | 2015-03-23 | 2021-05-25 | Dropbox, Inc. | Shared folder backed integrated workspaces |
JP2016181250A (ja) * | 2015-03-23 | 2016-10-13 | ドロップボックス, インコーポレイテッド | コンテンツアイテムテンプレート |
US10452670B2 (en) | 2015-03-23 | 2019-10-22 | Dropbox, Inc. | Processing message attachments in shared folder backed integrated workspaces |
US10997189B2 (en) | 2015-03-23 | 2021-05-04 | Dropbox, Inc. | Processing conversation attachments in shared folder backed integrated workspaces |
US10942944B2 (en) | 2015-12-22 | 2021-03-09 | Dropbox, Inc. | Managing content across discrete systems |
US11816128B2 (en) | 2015-12-22 | 2023-11-14 | Dropbox, Inc. | Managing content across discrete systems |
US10970679B2 (en) | 2016-12-29 | 2021-04-06 | Dropbox, Inc. | Presenting project data managed by a content management system |
US10719807B2 (en) | 2016-12-29 | 2020-07-21 | Dropbox, Inc. | Managing projects using references |
US10776755B2 (en) | 2016-12-29 | 2020-09-15 | Dropbox, Inc. | Creating projects in a content management system |
US10970656B2 (en) | 2016-12-29 | 2021-04-06 | Dropbox, Inc. | Automatically suggesting project affiliations |
US11017354B2 (en) | 2016-12-30 | 2021-05-25 | Dropbox, Inc. | Managing projects in a content management system |
US11900324B2 (en) | 2016-12-30 | 2024-02-13 | Dropbox, Inc. | Managing projects in a content management system |
US10402786B2 (en) | 2016-12-30 | 2019-09-03 | Dropbox, Inc. | Managing projects in a content management system |
US11989694B2 (en) | 2016-12-30 | 2024-05-21 | Dropbox, Inc. | Managing projects in a content management system |
US11226939B2 (en) | 2017-12-29 | 2022-01-18 | Dropbox, Inc. | Synchronizing changes within a collaborative content management system |
US11194766B2 (en) | 2018-11-06 | 2021-12-07 | Dropbox, Inc. | Technologies for integrating cloud content items across platforms |
US10929349B2 (en) | 2018-11-06 | 2021-02-23 | Dropbox, Inc. | Technologies for integrating cloud content items across platforms |
US11593314B2 (en) | 2018-11-06 | 2023-02-28 | Dropbox, Inc. | Technologies for integrating cloud content items across platforms |
US11194767B2 (en) | 2018-11-06 | 2021-12-07 | Dropbox, Inc. | Technologies for integrating cloud content items across platforms |
US10896154B2 (en) | 2018-11-06 | 2021-01-19 | Dropbox, Inc. | Technologies for integrating cloud content items across platforms |
US11100053B2 (en) | 2018-11-06 | 2021-08-24 | Dropbox, Inc. | Technologies for integrating cloud content items across platforms |
US10838925B2 (en) | 2018-11-06 | 2020-11-17 | Dropbox, Inc. | Technologies for integrating cloud content items across platforms |
JP7396136B2 (ja) | 2020-03-13 | 2023-12-12 | 株式会社リコー | 通信管理装置、通信システム、通信方法およびプログラム |
US11902039B2 (en) | 2020-04-30 | 2024-02-13 | Beijing Bytedance Network Technology Co., Ltd. | Interaction method and apparatus, and electronic device |
JP7455232B2 (ja) | 2020-04-30 | 2024-03-25 | 北京字節跳動網絡技術有限公司 | インタラクション方法、装置及び電子機器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009069899A (ja) | オブジェクト文書作成システム | |
US7246316B2 (en) | Methods and apparatus for automatically generating presentations | |
EP1766539B1 (en) | Data compilation apparatus and method | |
US20060005124A1 (en) | User interface for complex process implementation | |
US20080021932A1 (en) | Locating, viewing and interacting with information sources | |
JP2011065546A (ja) | ファイル検索システム及びプログラム | |
JP6834060B2 (ja) | 文書整理支援システム | |
JP5512027B2 (ja) | 装置、システム、方法及びプログラム | |
López et al. | An efficient and scalable search engine for models | |
JPWO2004111877A1 (ja) | 情報処理方法及びその装置、及びそのプログラム | |
US9244707B2 (en) | Transforming user interface actions to script commands | |
JP5098605B2 (ja) | アノテーションプログラム、アノテーション装置 | |
JP2005242904A (ja) | 文書群分析装置、文書群分析方法、文書群分析システム、プログラムおよび記録媒体 | |
JP2005316699A (ja) | コンテンツ公開システム、コンテンツ公開方法、及びコンテンツ公開プログラム | |
JP6586050B2 (ja) | 管理装置、管理方法および管理プログラム | |
US7310643B2 (en) | Automatic capture of associations between content within a content framework system | |
US9542457B1 (en) | Methods for displaying object history information | |
Pouchard et al. | The earth system grid discovery and semantic web technologies | |
Pietron | Enhancing collaborative modeling | |
JP2005339580A (ja) | 文書データ管理装置およびプログラム | |
Miles-Board et al. | Supporting management reporting: a writable web case study | |
Lai et al. | Semantic-web supported knowledge management system: An approach to enhance collaborative building design | |
Schuchardt et al. | Applying content management to automated provenance capture | |
Chen et al. | Functional requirements of metadata system: from user needs perspective | |
US20230281009A1 (en) | Managing artifact information including finding a searched artifact information item |