JP2021168198A - 協働スプレッドシート埋め込みおよび管理 - Google Patents
協働スプレッドシート埋め込みおよび管理 Download PDFInfo
- Publication number
- JP2021168198A JP2021168198A JP2021118934A JP2021118934A JP2021168198A JP 2021168198 A JP2021168198 A JP 2021168198A JP 2021118934 A JP2021118934 A JP 2021118934A JP 2021118934 A JP2021118934 A JP 2021118934A JP 2021168198 A JP2021168198 A JP 2021168198A
- Authority
- JP
- Japan
- Prior art keywords
- spreadsheet
- cell
- collaborative content
- management system
- document
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/197—Version control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Document Processing Apparatus (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】スプレッドシートネットワーク化実装は、協働機能性が制限される。【解決手段】協働コンテンツ管理システムは、スプレッドシート600内のコンテンツおよびスプレッドシートのセルの集合の部分710が埋め込まれている先のドキュメント内のコンテンツの相互同期を可能とする。ユーザが埋め込まれたスプレッドシート部分730のセルの集合を変更すると、スプレッドシートはその変更を反映するよう更新される。タスクの集合、例えばそのそれぞれが記述的テキストおよびひとつ以上の相互作用要素に関連付けられているタスクの集合、は、ユーザがタスクと相互作用できるように、スプレッドシートセルの集合に組み入れられる。スプレッドシートセルからのデータ値はドキュメントに埋め込まれ、スプレッドシートが更新されデータ値が変更されると、ドキュメント内の対応する埋め込まれたスプレッドシート部分730のデータ値が変更される。【選択図】図7
Description
開示される実施の形態は主にスプレッドシートの特徴に関し、特に協働オンライン環境におけるスプレッドシートの実装および管理に関する。
書類のオンライン協働共有は典型的には、複数のユーザがファイルにアクセスし編集することを許可するネットワークベースのファイル共有コンピュータシステムによって提供される。総じて、書類はワードプロセッサやスプレッドシートアプリケーションなどのネイティブアプリケーションの特定のタイプによって生成され、編集される。しかしながら、一般的に、スプレッドシートのオンラインまたはネットワーク化実装は協働機能性を制限し、その結果ユーザのグループにとってのスプレッドシートの利便性を減じることとなる。
ある実施の形態では、協働コンテンツ管理システムは協働コンテンツアイテムにアクセスする。協働コンテンツ管理システムは、スプレッドシートの選択された一部を受け付け、それをアクセスした協働コンテンツアイテムに埋め込む。協働コンテンツアイテムは、スプレッドシートの選択された一部が表示されるように、デバイスディスプレイのインタフェース内に表示される。協働コンテンツ管理システムは、協働コンテンツアイテムを介して、スプレッドシートの選択された一部内に含まれるデータに対する編集を受信する。協働コンテンツ管理システムは、協働コンテンツアイテム上で受信された編集に基づいてスプレッドシートを更新する。
協働コンテンツ管理システムは、タスクの集合を、スプレッドシートのひとつ以上のセルの集合に追加するための要求を受け付けてもよい。協働コンテンツ管理は、タスクの集合を含めるようにセルの集合を変更する。協働コンテンツ管理システムは、変更されたセルの集合を、変更されたセルの集合を表示するよう構成されたデバイスに提供する。ユーザは、例えばタスクを完了済みとマークすることによって、またはタスク内で他のユーザをタグ付けすることによって、タスクの集合のうちのタスクと相互作用してもよい。協働コンテンツ管理システムは、相互作用に基づいて、タスクに対応するセルの集合を変更する。
ある実施の形態では、協働コンテンツ管理システムは、スプレッドシートの第1セル内に含まれる第1データ値をドキュメントに埋め込むための要求を受け付ける。協働コンテンツ管理システムは、例えばスプレッドシート自体の構成を組み入れることなしに第1データ値に対応するテキストを含めるよう、ドキュメントを変更する。協働コンテンツ管理システムは、第1データ値がドキュメント内に表示されるように、デバイスディスプレイのインタフェース内にドキュメントを表示する。協働コンテンツ管理システムは、スプレッドシート内に含まれるひとつ以上のセルに対する編集であって、第1セルの第1データ値を第2データ値に変更する編集を受信してもよい。次いで、協働コンテンツ管理システムは、ドキュメント内に含まれる第1データ値を第2データ値で置き換えることによって、自動的に(例えば、リアルタイムで、またはスプレッドシートに対する編集が協働コンテンツ管理システムと同期された後)ドキュメントを更新する。
デバイスは、協働コンテンツ管理システムからスプレッドシートを受信する。スプレッドシートは、それぞれがコメントに関連付けられているセルの集合を含む。デバイスは、セルの集合のうちのひとつ以上が表示されるように、スプレッドシートを表示する。デバイスは、表示されたセルの第1集合に関連付けられたコメントを見るための要求を受け付ける。デバイスは、スプレッドシート内の、セルの第1部分集合に関連付けられた第1位置にコメントを含むインタフェース要素を表示する。デバイスがセルの第2部分集合に関連付けられた第2コメントを見るための要求を受信すると、デバイスは、表示されているインタフェース要素を、スプレッドシート内の、セルの第2部分集合に関連付けられた第2位置に移動させる。
本サマリおよび以下の詳細な説明で説明される特徴および利点は包括的なものではない。本開示の図面、明細書および請求の範囲に照らし、当業者には多くの追加的な特徴および利点が明らかとなろう。
図は説明の目的のみのために本技術の様々な例示的な実施の形態を図示するものである。当業者は、以下に示される構成及び方法の他の代替的な例示的実施の形態が以下に説明される技術の原理から離れることなく用いられ得ることを以降の記載から容易に理解する。
システム概要
図1は、コンテンツ管理システム100と、協働コンテンツ管理システム130と、クライアントデバイス120a、120b、120c(総称してまたは個々に「120」)と、を含むシステム環境を示す。コンテンツ管理システム100は、コンテンツアイテムをひとつ以上のクライアントデバイス120と共有する機能と、コンテンツ管理システム100とひとつ以上のクライアントデバイス120との間でコンテンツアイテムを同期する機能と、を提供する。
コンテンツ管理システム100によって保持されるコンテンツは、ドキュメント(文書)やスプレッドシートや協働コンテンツアイテムやテキストファイルや音声ファイルやイメージファイルやビデオファイルやウェブページや実行可能ファイルやバイナリファイルや他のコンテンツアイテムを参照するプレースホルダファイルなどの任意のタイプのコンテンツアイテムを含みうる。ある実装では、コンテンツアイテムは他のコンテンツアイテムの一部であってもよく、例えば、あるドキュメントに含まれるイメージがそうである。コンテンツアイテムはまた、フォルダや名前空間やプレイリストやアルバムなどの、他のコンテンツアイテムを一緒にグループ化する集合体を含んでもよい。コンテンツ管理システム100によって保持されるコンテンツは、フォルダやテーブルなどのある構成で、または他のデータベース構造(例えば、オブジェクト指向、キー/値など)で、整理されてもよい。
ある例示的な実施の形態では、コンテンツ管理システム100によって保持されるコンテンツは、ワードプロセッサやビデオおよびイメージエディタやデータベース管理システムやスプレッドシートアプリケーションやコードエディタなどの第三者アプリケーションを用いることにより生成されたコンテンツアイテムを含み、そのようなコンテンツアイテムはコンテンツ管理システム100とは独立している。
ある例示的な実施の形態では、コンテンツ管理システム100によって保持されるコンテンツは、協働コンテンツ管理システム130によって提供される協働インタフェースを用いて生成された、協働コンテンツアイテムなどのコンテンツアイテムを含む。種々の実装では、協働コンテンツアイテムは、コンテンツ管理システム100と共に、またはコンテンツ管理システム100の外で、協働コンテンツアイテム管理システム130によって保持されてもよい。協働インタフェースは、複数のユーザが同時に協働コンテンツアイテムを生成および編集し、同時に協働コンテンツアイテムにコメントし、同時に協働コンテンツアイテム内のタスクを管理することができるインタラクティブコンテンツアイテム協働プラットフォームを提供することができる。
ユーザは、コンテンツ管理システム100にアカウントを生成し、クライアントデバイス120からコンテンツ管理システム100にそのようなコンテンツを送信することによってコンテンツ管理システム100にコンテンツを格納してもよい。ユーザにより提供されユーザアカウントに関連付けられたコンテンツは種々の特権を有しうる。例えば、特権は、コンテンツアイテムのタイトルを見る許可、コンテンツアイテムの他のメタデータ(例えば、位置データ、アクセス履歴、バージョン履歴、生成/変更日付け、コメント、ファイル階層など)を見る許可、コンテンツアイテムの内容を読み出す許可、コンテンツアイテムのメタデータを変更する許可、コンテンツアイテムの内容を変更する許可、コンテンツアイテムにコメントする許可、コンテンツアイテムに対する他人のコメントを読み出す許可、他のユーザに対してコンテンツアイテム許可を与えたり除いたりする許可、を含みうる。
クライアントデバイス120は、ネットワーク110を通じて、コンテンツ管理システム100および協働コンテンツ管理システム130と通信する。ネットワークはデータ伝送に適した任意の通信ネットワークであってもよい。ある例示的な実施の形態では、ネットワーク110はインターネットであり、標準の通信技術および/またはプロトコルを用いる。したがって、ネットワーク110は、イーサネット、802.11、マイクロ波アクセスのための世界的互換性(WiMAX)、3G、4G、デジタル加入者ライン(DSL)、非対称移送モード(ATM)、インフィニティバンド、PCIエキスプレスアドバンスドスイッチングなどの技術を用いるリンクを含んでもよい。同様に、ネットワーク110で用いられるネットワーク用プロトコルは、マルチプロトコルラベルスイッチング(MPLS)、トランスミッションコントロールプロトコル/インターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキストトランスポートプロトコル(HTTP)、シンプルメールトランスファープロトコル(SMTP)、ファイルトランスファープロトコル(FTP)などを含んでもよい。ネットワーク110を介して交換されるデータは、ハイパーテキストマークアップ言語(HTML)、拡張マークアップ言語(XML)、ジャバスクリプトオブジェクトノーテーション(JSON)などを含む技術および/またはフォーマットを用いて表されてもよい。加えて、リンクのうちの全てまたはいくつかは、セキュアソケットレイヤ(SSL)、トランスポートレイヤセキュリティ(TLS)、仮想専用ネットワーク(VPN)、インターネットプロトコルセキュリティ(IPsec)などの従来の暗号化技術を用いて暗号化されてもよい。ある例示的な実施の形態では、エンティティは上述のものに代えてまたは加えて、慣用のおよび/または専用のデータ通信技術を用いる。
ある例示的な実施の形態では、コンテンツ管理システム100および協働コンテンツ管理システム130は単一のシステムに統合される。そのシステムは、システム100および130について本明細書で説明される機能を提供するよう構成されたひとつ以上のサーバを含んでもよい。
クライアントデバイス
図2は、ある例示的な実施の形態に係る、クライアントデバイス120のコンポーネントのブロック図を示す。クライアントデバイス120は、総じて、コンテンツ管理システム100およびクライアントデバイス120のユーザと通信するためのデバイスおよびモジュールを含む。クライアントデバイス120は、情報をユーザに提供するディスプレイ210を含み、あるクライアントデバイス120はタッチスクリーンを含む。クライアントデバイス120はまた、ネットワーク110を介してコンテンツ管理システム100と通信するためのネットワークインタフェース220を含む。例えば、1つ以上のコンピュータプロセッサ、ローカルの固定メモリ(RAM及びROM)、及び、オプションとしての着脱可能メモリ(例えば、SDカード)、電源、及び音声−ビデオ出力といった、クライアントデバイス120に含まれてもよいが図示されない追加的な構成要素がある。
ある例示的な実施の形態では、クライアントデバイス120は、カメラ230及びロケーションモジュール240などの、追加的な構成要素を含む。ロケーションモジュール240は、例えば、全地球測位衛星(GPS)信号、携帯電話基地局の三角測量、又は他の方法を用いてクライアントデバイス120の位置を決定する。ロケーションモジュール240は、位置データを取得し、コンテンツアイテムについてのメタデータに位置データを追加するために、クライアントアプリケーション200によって使用されてよい。
クライアントデバイス120は、クライアントデバイスを動作させ、コンテンツ管理システム100にアクセスするための様々なタイプのコンポーネントおよびモジュールを維持する。ソフトウエアモジュールは、オペレーティングシステム250または協働コンテンツアイテムエディタ270を含んでもよい。協働コンテンツアイテムエディタ270は、テキストドキュメントやコードファイルや混合メディアファイル(例えば、テキストおよびグラフィック)やプレゼンテーションなどの協働コンテンツアイテムを生成、閲覧および変更するよう構成される。各デバイス上のオペレーティングシステム250は、ローカルのファイル管理システムを提供し、コンテンツ管理システムクライアントアプリケーション200及び協働コンテンツアイテムエディタ270などの、様々なソフトウェアモジュールを実行する。アドレス帳290は、名前、電話番号、会社、電子メールアドレス、物理アドレス、ウェブサイトURLなどの、ユーザの連絡先についての情報を格納する。
クライアントデバイス120は、様々な方法で、コンテンツ管理システム100および協働コンテンツ管理システム130にアクセスする。クライアントデバイス120は、コンテンツ管理システムクライアントアプリケーション200などのネイティブアプリケーションまたはソフトウエアモジュールを通じてこれらのシステムにアクセスしてもよい。クライアントデバイス120はまた、ウェブブラウザ260を通じてコンテンツ管理システム100にアクセスしてもよい。代替として、クライアントアプリケーション200は、コンテンツ管理システム100へのアクセスと、オペレーティングシステム250によって提供されるローカルファイル管理システムとを統合してもよい。コンテンツ管理システム100へのアクセスがローカルファイル管理システムに統合された場合、コンテンツ管理システムにおいて維持されるファイル組織化スキームは、オペレーティングシステム250とクライアントアプリケーション200との共同により、クライアントデバイス120において、ローカルファイル構成物として表される。
クライアントアプリケーション200は、コンテンツ管理システム100および協働コンテンツ管理システム130へのアクセスを管理する。クライアントアプリケーション200は、クライアントアプリケーション200によってアクセスされるコンテンツへのインタフェースを生成する、ユーザインタフェースモジュール202を含み、この機能を実行する1つの手段である。生成されたインタフェースはディスプレイ210によってユーザへ提供される。クライアントアプリケーション200は、コンテンツ管理システム100のコンテンツストレージからアクセスされたコンテンツを、ローカルコンテンツ204に格納してもよい。ここではクライアントアプリケーション200内のものとして示されるが、ローカルコンテンツ204は、不揮発性ストレージ内にクライアントデバイス120のための他のデータと共に格納されてもよい。ローカルコンテンツ204がこのように格納される場合、コンテンツは、クライアントアプリケーション200がコンテンツ管理システム100と通信中でないときに、ユーザ及び協働コンテンツアイテムエディタ270のような他のアプリケーション又はモジュールに利用可能である。コンテンツアクセスモジュール206は、ローカルコンテンツ204への更新を管理し、クライアントデバイス120によって修正されたコンテンツをコンテンツ管理システム100上に維持されるコンテンツと同期するために、コンテンツ管理システム100と通信するものであり、この機能を実行するひとつの手段である。クライアントアプリケーション200は、スタンドアローンのアプリケーション、アプリケーションプラグイン、又はブラウザ拡張などの様々な形式をとってよい。
コンテンツ管理システム
図3は、ある例示的な実施の形態に係る、コンテンツ管理システム100のブロック図を示す。種々のコンテンツ管理サービスをより容易にするために、ユーザはコンテンツ管理システム100にアカウントを生成してもよい。アカウント情報はユーザアカウントデータベース316に維持されてもよく、この機能を実行するためのひとつの手段である。ユーザアカウントデータベース316は、登録ユーザについてのプロファイル情報を保持してもよい。ある場合には、ユーザプロファイルの個人情報はユーザ名および/または電子メールアドレスのみである。しかしながら、コンテンツ管理システム100はまた、パスワード復活情報や属性情報や支払い情報や他の詳細などの追加的なユーザ情報を受け入れるよう構成されてもよい。各ユーザは、ユーザIDおよびユーザ名に関連付けられる。簡便化を目的として、本明細書において、ユーザに「関連付け」られている協働コンテンツアイテムや他のデータなどの情報への参照は、協働コンテンツアイテムと、ユーザのユーザ識別子の上記形態のいずれかと、の間の関連を意味するものとして理解される。同様に、協働コンテンツアイテムおよびユーザに対するデータ処理動作は、協働コンテンツアイテムIDおよびユーザIDなどの導出識別子に対して行われる動作として理解される。例えば、ユーザIDと協働コンテンツアイテムIDとをリンクさせる情報をテーブル、ファイル、または他のストレージフォーマットで保持することにより、ユーザを協働コンテンツアイテムに関連付けることができる。例えば、協働コンテンツアイテムIDにより整理されるデータベーステーブルは、その協働コンテンツアイテムに関連付けられた各ユーザのユーザIDをリストする列を含んでもよい。他の例として、各ユーザIDについて、ファイルはそのユーザに関連付けられた協働コンテンツアイテムIDの集合をリストしてもよい。他の例として、単一のファイルは、個々のユーザと協働コンテンツアイテムとの関連を表す<ユーザID、協働コンテンツアイテムID>などのキー値ペアをリストしてもよい。同じタイプのメカニズムを用いることにより、ユーザと、コメントやスレッドやテキスト要素やフォーマット化属性などと、を関連付けてもよい。
ユーザアカウントデータベース316は、有料/無料の別などのアカウントタイプや、ファイル利用履歴などのユーザ毎の利用情報や、許されている最大ストレージスペースや、利用されているストレージスペースや、コンテンツストレージ位置や、セキュリティ設定や、個人構成設定や、コンテンツ共有データなどのアカウント管理情報を含んでもよい。アカウント管理モジュール304は、ユーザアカウントデータベース316におけるユーザアカウントの詳細を更新および/または取得するよう構成されてもよい。アカウント管理モジュール304は、コンテンツ管理システム100の他の任意の数のモジュールと相互に作用するよう構成されてもよい。
アカウントは、そのアカウントに関連付けられたひとつ以上のクライアントデバイスから、協働コンテンツアイテムや音声ファイルやビデオファイルなどのコンテンツアイテムを格納するために使用されてもよい。コンテンツアイテムは複数のユーザおよび/またはユーザアカウントと共有されてもよい。ある実装では、コンテンツアイテムを共有することは、共有モジュール310を用いて、コンテンツアイテムを二以上のユーザアカウントと関連付け、その関連付けられたユーザアカウントのうちのひとつで認証されたユーザがそのコンテンツアイテムへの指定されたアクセスレベルを有するようにユーザ権限を提供することを含んでもよい。すなわち、コンテンツアイテムは様々なタイプ、能力、オペレーティングシステム等の複数のクライアントデバイスの間で共有可能である。コンテンツアイテムはまた、様々なタイプのユーザアカウントの間で共有可能である。
上述の通り、個々のユーザには、共有されるコンテンツアイテムに対する異なるアクセス権限が割り当てられてもよい。ある場合、コンテンツアイテムに対するユーザの権限は、そのユーザについて明示的に設定されてもよい。ユーザの権限はまた、ユーザに関連付けられたタイプまたはカテゴリ(例えば、管理者ユーザまたはマネジャーの高度な権限)、ユーザのグループへの所属または機構の一部として特定されること(例えば、特定のチームの全てのメンバに対する指定された権限)、および/またはコンテンツアイテムへのユーザのアクセスのメカニズムまたはコンテキスト(例えば、ユーザがどこにいるか、ユーザがどのネットワーク上にいるか、ユーザがアクセスしているプログラムまたはAPIのタイプは何か、ユーザがコンテンツアイテムへのリンクをクリックしたか否か、等)、に基づいて設定されてもよい。加えて、デフォルトで、ユーザ、ユーザタイプ/グループ、または種々のアクセスメカニズムおよびコンテキストについて権限を設定してもよい。
ある実装では、共有コンテンツアイテムはユーザアカウントへの認証を必要とせずに、レシピエントユーザがアクセス可能であってもよい。これは、共有モジュール310が、コンテンツアイテムに関連付けられたリンクの活性化を通じてそのコンテンツアイテムへのアクセスを提供すること、または、グローバルにアクセス可能な共有フォルダを通じたアクセスを提供すること、を含みうる。
コンテンツはコンテンツストレージ318に保持されてもよく、これはこの機能を実行するための一つの手段である。コンテンツストレージ318は、ストレージデバイスや、複数のストレージデバイスや、サーバであってもよい。あるいはまた、コンテンツストレージ318は、ひとつ以上の通信ネットワークを介してアクセス可能なクラウドストレージプロバイダまたはネットワークストレージであってもよい。ある構成では、コンテンツ管理システム100は、クライアントデバイス上に現れる配置構成と同じ配置構成でコンテンツアイテムを保持する。しかしながら、コンテンツ管理システム100は自身の順序や構成や階層でコンテンツアイテムを保持してもよい。
コンテンツストレージ318は、コンテンツアイテムおよびコンテンツアイテムタイプおよびコンテンツアイテムと種々のアカウントやフォルダやグループとの関係を説明するメタデータを保持してもよい。コンテンツアイテムのメタデータは、コンテンツアイテムの一部として保持されてもよいし、別個に保持されてもよい。ある構成では、コンテンツストレージ318に保持される各コンテンツアイテムには、システム全体で一意の識別子が割り当てられてもよい。
コンテンツストレージ318は、重複したファイルやファイルの重複セグメントを特定することによって、要求されるストレージスペースの量を低減することができる。同一のコンテンツアイテムの複数の複製を保持する代わりに、コンテンツストレージ318は単一の複製を保持し、ポインタや他のメカニズムを使用して、重複しているものをその単一の複製にリンクさせてもよい。同様に、コンテンツストレージ318は、ファイルへの変更と、ファイルの異なるバージョン(分岐バージョンツリーなど)と、変更履歴と、を追跡するファイルバージョン制御メカニズムを用いてファイルを保持する。変更履歴は、元のファイルバージョンに適用された場合、変更後のファイルバージョンを生成する一組の変更を含んでもよい。
コンテンツ管理システム100は、この機能を実行するためのひとつの手段であるところの同期モジュール312を用いて、ひとつ以上のクライアントデバイスからのコンテンツを自動的に同期させる。同期はプラットフォーム不可知的である。すなわち、コンテンツは、種類、能力、オペレーティングシステム等の異なる、複数のクライアントデバイス120にわたって同期される。例えば、クライアントアプリケーション200は、コンテンツ管理システム100の同期モジュール312を介して、クライアントデバイス120のファイルシステム内のコンテンツを、システム100上で関連付けられているユーザアカウントのコンテンツと同期させる。クライアントアプリケーション200は、指定されたフォルダおよびそのサブフォルダ内のコンテンツへの任意の変更を、同期モジュール312と同期させる。そのような変更は、新たな、削除された、変更された、コピーされた、または移動されたファイルやフォルダを含む。同期モジュール312はまた、クライアントアプリケーション200に、クライアントデバイス120に関連付けられたコンテンツへの任意の変更を提供する。これは、クライアントデバイス120におけるローカルコンテンツと、コンテンツ管理システム100におけるコンテンツアイテムと、を同期させる。
競合管理モジュール314は、異なる複数のクライアントデバイス120に置かれたコンテンツアイテムの複数のバージョンの間に矛盾が存在するか否かを判定する。例えば、コンテンツアイテムがあるクライアントデバイスおよび第2クライアントデバイスにおいて変更された場合、コンテンツアイテムの異なるバージョンが各クライアントデバイスに存在しうる。同期モジュール312は、例えばコンテンツアイテム変更の変更時刻を特定することによって、そのようなバージョン競合を判定する。競合管理モジュール314は、複数のバージョンをマージすることや後に提出されたバージョンをクライアントデバイスに通知することなどの任意の適切な手段によって、バージョン間の競合を解決する。
ユーザは、ユーザインタフェースモジュール302によって生成されるウェブインタフェースを介して、コンテンツを視たり操作したりしてもよい。例えば、ユーザは、ウェブブラウザ260内で、コンテンツ管理システム100によって提供されるウェブアドレスへと辿り着いてもよい。ファイルの新たなバージョンのアップロードのように、ウェブインタフェースを通じてなされたコンテンツストレージ318のコンテンツへの変更や更新は、ユーザのアカウントに関連する他のクライアントデバイス120へと再同期されてもよい。複数のクライアントデバイス120は単一のアカウントと関連付けられていてもよく、そのアカウントのファイルは複数のクライアントデバイス120のそれぞれの間で同期されてもよい。
コンテンツ管理システム100は、アプリケーションプログラミングインタフェース(API)を介して他のコンテンツおよび/またはサービスプロバイダとのおよび種々のクライアントデバイス120とのインタフェースとしての通信インタフェース300を含んでもよい。APIはこの機能を実行するためのひとつの手段である。所定のソフトウエアアプリケーションは、ユーザの代わりに、APIを介してコンテンツストレージ318にアクセスする。例えば、スマートフォンやタブレット計算デバイス上のアプリケーションなどのソフトウエアパッケージはプログラム上、ユーザが資格証明を提供する場合、コンテンツ管理システム100を直接呼び出し、コンテンツを読み取り、書き込み、生成し、消去し、共有し、またはそうでなければ操作してもよい。同様に、APIは、ウェブサイトを通じてユーザがコンテンツストレージ318の全てまたは一部にアクセスすることを可能としてもよい。
コンテンツ管理システム100はまた、認証モジュール306を含んでもよい。認証モジュール306は、ユーザ資格情報やセキュリティトークンやAPIコールや特定クライアントデバイスなどを検証することにより、要求されているコンテンツアイテムへのアクセスが認証されるか否かを判定する。これはこの機能を実行するためのひとつの手段である。認証モジュール306は、ユーザアカウント用の一回限り使用できる認証トークンを生成してもよい。認証モジュール306は、各認証トークンに、有効期間または使用期限を割り当てる。認証トークンを要求元のクライアントデバイスに送信することに加えて、認証モジュール306は、認証トークンデータベース320に、生成された認証トークンを格納してもよい。認証トークンの検証要求を受けた後、認証モジュール306は、認証トークンデータベース320をチェックし、ユーザに割り当てられたマッチする認証トークンを探す。認証モジュール306がマッチする認証トークンを特定すると、認証モジュール306は、そのマッチする認証トークンがまだ正当であるか否かを判定する。例えば、認証モジュール306は、認証トークンが期限切れになっていないことまたは使用済みや無効というマークが付されていないことを確かめる。認証トークンを検証した後、認証モジュール306は、使い捨てトークンなどのマッチする認証トークンを無効化してもよい。例えば、認証モジュール306は、マッチする認証トークンに使用済みまたは無効というマークを付してもよいし、認証トークンデータベース320からマッチする認証トークンを削除してもよい。
ある例示的な実施の形態では、コンテンツ管理システム100は、コンテンツディレクトリを維持するためのコンテンツ管理モジュール308を含む。コンテンツディレクトリは、コンテンツストレージ318における各コンテンツアイテムの位置を特定し、クライアントアプリケーションがストレージ318内のコンテンツアイテムへのアクセスを要求することを可能とする。これは、この機能を行うひとつの手段である。コンテンツディレクトリのコンテンツエントリは、コンテンツストレージ318におけるコンテンツアイテムの位置を特定するコンテンツポインタを含んでもよい。例えば、コンテンツエントリは、メモリにおけるコンテンツアイテムのストレージアドレスを指定するコンテンツポインタを含んでもよい。ある例示的な実施の形態では、コンテンツエントリは、そのそれぞれがコンテンツアイテムの一部を含む複数の場所を指し示す複数のコンテンツポインタを含む。
コンテンツパスおよびコンテンツポインタに加えて、ある構成のコンテンツエントリはまた、コンテンツアイテムへのアクセスを有するユーザアカウントを特定するユーザアカウント識別子を含む。ある例示的な実施の形態では、複数のユーザアカウント識別子が単一のコンテンツエントリに関連付けられてもよく、これは、そのコンテンツアイテムが複数のユーザアカウントによる共有アクセスを有することを示す。
ある例示的な実施の形態では、コンテンツ管理システム100は、メールサーバモジュール322を含んでもよい。メールサーバモジュール322は、協働コンテンツアイテムを、協働コンテンツ管理システム100を用いる他のクライアントデバイスに送信してもよいし、他のクライアントデバイスから協働コンテンツアイテムを受信してもよい。メールサーバモジュールはまた、コンテンツ管理システムのユーザ間でメッセージを送受信するために用いられてもよい。
協働コンテンツ管理システム
図4は、ある例示的な実施の形態に係る、協働コンテンツ管理システム130のブロック図を示す。協働コンテンツアイテムは、協働コンテンツアイテムエディタ270を用いてユーザが生成および編集できるファイルであってもよく、協働コンテンツアイテム要素を含みうる。協働コンテンツアイテム要素は、テキスト、イメージ、アニメーション、ビデオ、音声、他のマルチメディア、テーブル、リスト、外部コンテンツへの参照、プログラムコード、タスク、タグまたはラベル、コメント、または任意の他のタイプのコンテンツなどの任意のタイプのコンテンツを含んでもよい。協働コンテンツアイテム要素は、著者識別子、属性、相互作用情報、コメント、共有ユーザ等と関連付けられてもよい。協働コンテンツアイテム要素はデータベースのエントリとして保持されてもよく、これにより、協働コンテンツアイテムを探して取得することが可能となる。コンテンツアイテムの他のタイプと同様に、協働コンテンツアイテムは複数のユーザおよびクライアントデバイス120で共有され、同期されてもよく、これはコンテンツ管理システム100の共有モジュール310および同期モジュール312を用いて行われる。ユーザは、クライアントデバイス120を操作することにより、協働コンテンツアイテムを生成および編集し、クライアントデバイス120の他のユーザと協働コンテンツアイテムを共有する。あるクライアントデバイス120による協働コンテンツアイテムへの変更は、その協働コンテンツアイテムに関連付けられたユーザの他のクライアントデバイス120に伝搬する。
図1の例示的な実施の形態では、協働コンテンツ管理システム130はコンテンツ管理システム100とは別体として示されており、それと通信することで、そのサービスを取得することができる。他の例示的な実施の形態では、協働コンテンツ管理システム130は、コンテンツ管理システム100のコンポーネントのサブシステムであって、種々のタイプのコンテンツアイテムについて協働サービスおよび共有サービスを提供する。コンテンツ管理システム100からのユーザアカウントデータベース316および認証トークンデータベース320は、本明細書で説明される協働コンテンツ管理システム130にアクセスするために用いられる。
協働コンテンツ管理システム130は、協働コンテンツアイテムに対するアクセスおよび編集を管理するための、また、協働コンテンツアイテムに対してなされた所定の変更についての通知を管理するための、種々のサーバを含んでもよい。協働コンテンツ管理システム130は、プロキシサーバ402と、協働コンテンツアイテムエディタ404と、バックエンドサーバ406と、協働コンテンツアイテムデータベース408と、アクセスリンクモジュール410と、コピージェネレータ412と、協働コンテンツアイテムディフェレンシエータ414と、セッティングモジュール416と、メタデータモジュール418と、リビジョンモジュール420と、通知サーバ422と、通知データベース424と、を含んでもよい。プロキシサーバ402は、クライアントアプリケーション200からの要求を処理し、それらの要求を協働コンテンツアイテムエディタ404に渡す。協働コンテンツアイテムエディタ404は、協働コンテンツアイテムを編集し生成するための、クライアントアプリケーション200のアプリケーション階層の要求を管理し、協働コンテンツアイテムに対するより低階層の処理タスクを処理すると共に必要に応じて協働コンテンツアイテムデータベース408とのインタフェースを行うためにバックエンドサーバ406と選択的に相互作用する。協働コンテンツアイテムデータベース408は、協働コンテンツアイテムと、コメントスレッドと、コメントと、を表す複数のデータベースオブジェクトを含む。データベースオブジェクトのそれぞれは、CCIデータベース408内での各オブジェクトの位置を示すコンテンツポインタに関連付けられてもよい。通知サーバ422は、通知をトリガする動作であって協働コンテンツアイテムに対して行われる動作を検出し、通知データベース424に通知を生成し、クライアントデバイスに通知を送信する。
クライアントアプリケーション200は、協働コンテンツアイテムに関する要求をプロキシサーバ402に送信する。総じて、要求は、ユーザのユーザID(「UID」)と、協働コンテンツアイテムの協働コンテンツアイテムID(「NID」)と、協働コンテンツアイテムのテキストなどの適切であれば追加的なコンテキスト情報と、を示す。プロキシサーバ402が要求を受け付けると、プロキシサーバ402はその要求を協働コンテンツアイテムエディタ404に渡す。プロキシサーバ402はまた、クライアントアプリケーション200に、特定された協働コンテンツアイテムプロキシサーバ402への参照を返す。その結果、クライアントアプリケーションは将来の要求について協働コンテンツアイテムエディタ404と直接通信できる。代替的な例示的な実施の形態では、クライアントアプリケーション200は最初、ユーザIDに割り当てられた特定の協働コンテンツアイテムエディタ404と直接通信する。
協働コンテンツアイテムエディタ404が要求を受信すると、それはその要求が直接実行可能か、またはバックエンドサーバ406によって実行可能かを判定する。その要求が協働コンテンツアイテムを追加するか、編集するか、またはそうでなければ変更する場合、その要求は協働コンテンツアイテムエディタ404によって扱われる。その要求がデータベースまたはインデクス照会に向けられている場合、その要求はバックエンドサーバ406によって実行される。例えば、協働コンテンツアイテムを閲覧するという、または、サーチタームに応じた協働コンテンツアイテムのリストを取得するという、クライアントデバイス120からの要求は、バックエンドサーバ406によって処理される。
アクセスモジュール410は協働コンテンツアイテムをクライアントデバイスに提供するための要求を受信する。いくつかの実施の形態では、アクセスモジュールは、例えば、著者による協働コンテンツアイテムの共有要求に応答して、協働コンテンツアイテムへのアクセスリンクを生成する。アクセスリンクはCCIの識別情報(すなわち、一意の識別子、コンテンツポインタなど)を含む、またはそれに関連するハイパーリンクとすることができる。ハイパーリンクには、コンテンツ管理システム内の任意の種類の関連メタデータ(著者、受信者、作成時刻など)を含めることもできる。いくつかの例示的な実施の形態では、アクセスモジュールは、ネットワーク110を介してユーザアカウントへのアクセスリンクを提供することもできるが、他の例示的な実施の形態では、アクセスリンクは、ユーザアカウントに提供されるかまたはアクセス可能にすることができ、クライアントデバイスを介してユーザ・アカウントを通じてアクセスされる。いくつかの実施の形態では、アクセスリンクはランディングページ(例えば、ウェブページ、デジタルストアフロント、アプリケーションログインなど)へのハイパーリンクであり、ハイパーリンクをアクティブにすることはクライアントデバイス上のランディングページを開く。ランディングページでは、ユーザアカウントに関連付けられていないクライアントデバイスがユーザアカウントを作成し、アクセスリンクに関連付けられた識別情報を使用して協働コンテンツアイテムにアクセスできるようにすることができる。さらに、アクセスリンクモジュールは、協働コンテンツアイテムにメタデータを挿入したり、協働コンテンツアイテムにメタデータを関連付けたり、要求された協働コンテンツアイテムに関連付けられたメタデータにアクセスしたりすることができる。
アクセスモジュール410は、他の方法を介して協働コンテンツアイテムを提供することもできる。例えば、アクセスモジュール410は、協働コンテンツアイテムをクライアントデバイスまたはユーザアカウントに直接送信し、クライアントデバイスがアクセス可能なデータベースに協働コンテンツアイテムを格納し、協働コンテンツアイテムの修正バージョン(例えば、コピージェネレータ412、CCIディフェレンシエータ414など)を提供するべく協働コンテンツ管理システムの任意のモジュールと相互作用し、協働コンテンツアイテムに関連付けられたコンテンツポインタを送信し、協働コンテンツアイテムに関連付けられたメタデータを送信し、またはネットワーク内のデバイス間で協働コンテンツアイテムを提供する他の任意の方法を行うことができる。アクセスモジュールは協働コンテンツアイテムデータベースの検索(すなわち、協働コンテンツアイテム、タイトル、またはメタデータタグに関連付けられたキーワードによる検索)を介して協働コンテンツアイテムを提供することもできる。
コピージェネレータ412は、協働コンテンツアイテムを複製することができる。一般に、コピージェネレータはクライアントデバイスが協働コンテンツアイテムに関連するアクセスリンクを選択するときに、協働コンテンツアイテムを複製する。コピージェネレータ412は、アクセスリンクに関連付けられた協働コンテンツアイテムにアクセスし、要求が受信されるたびに協働コンテンツアイテムの派生コピーを作成する。コピージェネレータ412は、協働コンテンツアイテムの各派生コピーを協働コンテンツアイテムデータベース408に格納する。一般に、コピージェネレータ412によって生成される協働コンテンツアイテムの各コピーは、要求が受信されたクライアントデバイスと、コピーを要求するクライアントデバイスに関連付けられたユーザアカウントと、の両方に関連付けられる。協働コンテンツアイテムのコピーが生成されると、新しい一意の識別子と、協働コンテンツアイテムのコピーのコンテンツポインタが作成される。さらに、コピージェネレータ412はメタデータを協働コンテンツアイテムに挿入したり、メタデータをコピーされた協働コンテンツアイテムと関連付けたり、コピーされることを要求された協働コンテンツアイテムに関連付けられたメタデータにアクセスしたりすることができる。
協働コンテンツアイテムディフェレンシエータ414は、2つの協働コンテンツアイテム間の差を決定する。いくつかの例示的な実施の形態では、協働コンテンツアイテムディフェレンシエータ414はクライアントデバイスがアクセスハイパーリンクを選択し、当該クライアントデバイスが以前にコピージェネレータ412を使用して派生コピーを作成した協働コンテンツアイテムにアクセスするときに、2つの協働コンテンツアイテム間の差を決定する。コンテンツアイテムディフェレンシエータは、比較された協働コンテンツアイテムのコンテンツ要素間の差異を示すことができる。協働コンテンツアイテムディフェレンシエータ414は2つの協働コンテンツアイテム、すなわち、異なる協働コンテンツアイテム間の差異を含む協働コンテンツアイテムを作成することができる。いくつかの例示的な実施の形態では、協働コンテンツアイテムディフェレンシエータが要求元クライアントデバイス120に差分協働コンテンツアイテムを提供する。ディフェレンシエータ414は差分協働コンテンツアイテムを協働コンテンツアイテムデータベース408に格納し、差分協働コンテンツアイテムの識別情報を生成することができる。さらに、ディフェレンシエータ414は、アクセスされ作成された協働コンテンツアイテムにメタデータを挿入し、アクセスされ作成された協働コンテンツアイテムにメタデータを関連付け、または差別化することを要求された協働コンテンツアイテムに関連付けられたメタデータにアクセスすることができる。
設定およびセキュリティモジュール416は、クライアントデバイス120、コンテンツ管理システム100、および協働コンテンツ管理システム130間の相互作用の間のセキュリティを管理することができる。さらに、設定およびセキュリティモジュール416は、協働コンテンツ管理システムのモジュール間の相互作用の間のセキュリティを管理することができる。例えば、クライアントデバイス120が協働コンテンツ管理システム100の任意のモジュール内で相互作用を試みると、設定およびセキュリティモジュール416は、相互作用を制限または不許可にすることによって、相互作用を管理することができる。同様に、設定およびセキュリティモジュール416は、協働コンテンツ管理システム130のモジュール間の相互作用を制限または不許可にすることができる。一般に、設定およびセキュリティモジュール416は、モジュール、システム100および130、デバイス120、ユーザアカウント、および協働コンテンツアイテムに関連するメタデータにアクセスして、取るべきセキュリティアクションを決定する。セキュリティアクションには、クライアントデバイス120およびユーザアカウントの認証を要求すること、コンテンツアイテムに対するパスワードを要求すること、協働コンテンツアイテムからメタデータを除去すること、協働コンテンツアイテムが編集、修正、保存、コピーされることを防ぐこと、または他の同様のセキュリティアクションが含まれる。さらに、設定およびセキュリティモジュールは、コンテンツ管理システム100、協働コンテンツ管理システム130、クライアントデバイス120、または協働コンテンツアイテムの任意の要素に関連する任意のタイプのメタデータにアクセスし、追加し、編集し、または削除することができる。
メタデータモジュール418は、協働コンテンツ管理システム内のメタデータを管理する。一般的に、メタデータは、協働コンテンツ管理システム内で、内部メタデータ、外部メタデータ、およびデバイスメタデータの3つの形式をとりうる。内部メタデータは協働コンテンツアイテム内のメタデータであり、外部メタデータはCCIに関連付けられたメタデータであるが、CCI自体には含まれず、保存されない。また、デバイスメタデータはクライアントデバイスに関連付けられる。メタデータモジュールは、いつでも、メタデータを変更、追加、または削除することによって、メタデータを管理できる。
内部メタデータの例としては、協働コンテンツアイテム内の識別情報(例:電子メールアドレス、名前、住所、電話番号、社会保障番号、アカウント番号、クレジットカード番号など)、コンテンツ要素に関連するメタデータ(例:場所、作成時刻、コンテンツ要素タイプ、コンテンツ要素サイズ、コンテンツ要素継続時間など)、コンテンツ要素に関連するコメント(例:協働コンテンツアイテム内の単語の定義およびそのコメントを作成したユーザアカウントへの帰属を与えるコメント)、または協働コンテンツアイテム内に含めることができるその他のメタデータなどがある。
外部メタデータの例としては、メタデータのカテゴリを示すコンテンツタグ、CCIに関連付けられたユーザアカウント(例:著者ユーザアカウント、編集ユーザアカウント、アクセスユーザアカウントなど)、履歴情報(例:以前のバージョン、アクセス時刻、編集時刻、著者時刻など)、セキュリティ設定、識別情報(例:一意の識別子、コンテンツポインタ)、協働コンテンツ管理システム130設定、ユーザアカウント設定、協働コンテンツアイテムに関連付けられるその他のメタデータなどがある。
デバイスメタデータの例としては、デバイスタイプ、デバイス接続性、デバイスサイズ、デバイス機能性、デバイスサウンドおよびディスプレイ設定、デバイスの場所、デバイスに関連付けられたユーザアカウント、デバイスセキュリティ設定、またはクライアントデバイス120に関連付けることができるその他のタイプのメタデータなどがある。
協働コンテンツアイテムリビジョンモジュール420は、差分協働コンテンツアイテムを校正するための、クライアントアプリケーション200のアプリケーション階層の要求を管理し、協働コンテンツアイテムに対するより低階層の処理タスクを処理すると共に必要に応じて協働コンテンツアイテムデータベース408とのインタフェースを行うためにバックエンドサーバ406と選択的に相互作用する。リビジョンモジュールは、差分協働コンテンツアイテムからのコンテンツ要素の何らかの組み合せであるリビジョン協働コンテンツアイテムを作成することができる。リビジョンモジュール420は、修正された協働コンテンツアイテムを協働コンテンツアイテムデータベースに記憶するか、または修正された協働コンテンツアイテムをクライアントデバイス120に提供することができる。さらに、リビジョンモジュール420は、アクセスされ作成された協働コンテンツアイテムにメタデータを挿入し、アクセスされ作成された協働コンテンツアイテムにメタデータを関連付け、または差別化することを要求された協働コンテンツアイテムに関連付けられたメタデータにアクセスすることができる。
コンテンツ管理システム100および協働コンテンツ管理システム130は、単一のコンピュータやクラウドベースのコンピュータ実装を含むネットワークコンピュータを用いて実装されてもよい。本明細書で説明されるコンテンツ管理システム100および協働コンテンツ管理システム130の動作は、ハードウエアを通じて、または、コンピュータストレージにインストールされ本明細書に記載される機能を実行するためにそのようなサーバのプロセッサによって実行されるコンピュータプログラムを通じて、制御可能である。これらのシステムは、本明細書で説明される動作のために必要な他のハードウエア要素を含み、それは、ネットワークインタフェースやプロトコル、データ入力用の入力デバイス、およびデータの表示、印刷または他の提示のための出力デバイスを含むが、これらは本明細書では説明されていない。同様に、システムの特徴を不明瞭にしないために、ファイヤウォールや負荷分散器や協働コンテンツアイテムサーバやフェィルオーバサーバやネットワーク管理ツールなどの従来の要素は示されていない。最後に、コンテンツ管理システム100および協働コンテンツ管理システム130の機能および動作は、コンピュータシステムへの実装を必要とするほど十分に複雑であり、人の心のなかで単なる精神的なステップにより実行されうるものではない。
コメント管理ユーザインタフェース
図5Aを参照すると、その中に協働コンテンツアイテムに関するいくつかのコメント504がなされている、「Draft Speech」というタイトルの、協働コンテンツアイテム502のページを伴う例示的ユーザインタフェースが示される。この例では、協働コンテンツアイテム502はテキストラインなどのコンテンツからなっており、これは段落ブロック508などに構成されてもよく、また協働コンテンツアイテム602はイメージやビデオやスプレッドシートや実行可能または解釈可能コードなどの任意の他のメディア形態を含んでもよい。
コンテンツレベルコメント
協働コンテンツアイテム502はゼロ以上のコンテンツレベルコメント504を有しうる。コンテンツレベルコメントは協働コンテンツアイテムの特定の部分に関連付けられてもよい。コンテンツアイテム内のコンテンツレベルコメント504の存在はコンテンツの下線(または色付き下線)部分510によって示されてもよく、あるいはまた、コンテンツレベルコメント504の存在を示すために、任意の他のフォーマッティングが用いられてもよい(例えば、コンテンツレベルコメントをコンテンツアイテムに繋ぐライン、上付き形態でのコメント番号、ハイライト化、「ホバーオーバ」ディスプレイインジケータなど)。コンテンツレベルコメントが関連付けられている先のコンテンツの部分510もスパンと称される。コンテンツレベルコメント504は重複するスパンに関連付けられてもよい;第1および第2コンテンツレベルコメント504a、504bはスパン「Now we are engaged in a great civil war, testing whether that nation, or any nation so conceived, and so dedicated, can long endure」に適用され、第3コメント504cはただスパン「This we may, in all propriety do」に関連付けられる。
コンテンツレベルコメント504は協働コンテンツアイテム502の本体の脇に配置されたコメントペイン512に設けられてもよい。各コンテンツレベルコメント504は著者514(ユーザ名で示される)と生成日時とを有する。単一のスパンについてのユーザ間の交換を形成するコメントの集合はスレッド518である。スレッドはそのスレッドに関連付けられているスパンの近くに表示される。図5Aの例では、三つのスレッド518a、518bおよび518cがあり、スレッド518aは全部で四つのコメント(二つが図示され、示されるように「さらに二つのコメント」がある)を有し、他のスレッドはそれぞれひとつのコメントを有する。
ユーザは新たなコメントを生成してもよいし、既存のコメントに返信してもよい。コメントを生成するために、ユーザはコンテンツアイテム内のスパンを選択し、例えばボタン522、メニューまたは他の入力を介してコメント機能を活性化する。ユーザ名および生成時刻を示す新たなコメント504がコメントペイン512内に表示され、ユーザは次いでコメントのテキストをそのなかに入力してもよい。ユーザは、協働コンテンツアイテムのテキストのフォーマット化でなされたように、コメントのテキストにテキストフォーマット化を適用してもよい。ユーザはまた、スレッド518における直近のコメントなどのコメント504のうちのひとつの中の返事フィールド516にテキストを入力することによって、スレッドに含めるコメントを生成してもよい。
ユーザが最初に協働コンテンツアイテムを開いたとき、コメントペイン512は閉じられていてもよく、その結果その中のコメントは隠されている。ユーザは、関連コメントを有するとしてフォーマットされているかそうでなければ示されているテキストを選択する(例えば、ダブルクリックする)ことによって、コンテンツレベルコメントを示すようコメントペイン512を活性化してもよい。ある実装では、コメントペイン512は、協働コンテンツアイテムが開かれたときに視認可能であってもよい。ペイン512は、ユーザによって閲覧可能な、協働コンテンツアイテム内のコンテンツレベルコメントの現在の数のカウンタ524を含む。各コメントは、コメントがアクティブであるか解決されたかについて、状態を有してもよい。カウンタ524は、全てのコメント、アクティブコメントまたは解決されたコメントを示すようコメントをフィルタするために、ユーザがそこから選択可能なメニューとして機能してもよい。
協働コンテンツアイテムはまた、ユーザが協働コンテンツアイテムをコンテンツ管理システム100の他のユーザと共有することを可能とする共有アイコン526を含んでもよい。共有アイコン526aがクリックされると、共有インタフェースがユーザに表示される。共有インタフェースは、協働コンテンツアイテムが共有される先のユーザのリストに、ユーザ名または電子メールアドレスを追加するためのフィールドを含んでもよい。共有インタフェースはまた、共有するユーザが、協働コンテンツアイテムを共有する要求を受信するユーザにメッセージを送信することを可能とするテキストフィールドを含んでもよい。
ユーザプリミティブ
いくつかの実施の形態では、協働コンテンツ管理システム130は、特定のテキストパターンを、協働コンテンツ管理システム130の種々の機能を活性化する機能プリミティブとして認識するように構成される。機能プリミティブの一つのタイプは、ユーザプリミティブである。ユーザプリミティブは、所定のトークンによって示され、その後にユーザのユーザ名が続く。ユーザプリミティブは、協働コンテンツアイテムのテキストまたはコメント内で使用され、特定のユーザを協働コンテンツアイテムまたはコメントにプログラム的に関連付ける。協調的に、ユーザ名を識別するユーザプリミティブの出現は、ユーザのメンションと呼ばれる。
いくつかの実施の形態では、ユーザプリミティブが@usernameの形をとり、ここで、「@」シンボルは協働コンテンツ管理システム130に対して、後続の文字列usernameがシステムユーザのユーザ名であることを示す所定のトークンである。図5Aを参照すると、ユーザプリミティブ520のいくつかの例が示されている。最初の文は、協働コンテンツアイテムのテキストにおいて、ユーザプリミティブ「@Bill_Seward」と「@John_Hay」を含む。ユーザプリミティブ「@Bill_Seward」もコメント504dのテキストに示されている。協働コンテンツ管理システム130は協働コンテンツアイテムのテキストおよびコメントを処理するときに、これらのプリミティブを認識する。
特定のユーザを示すユーザプリミティブがスレッドのスパンまたはコメントのテキスト内に現れると、協働コンテンツ管理システム130は、示されたユーザのユーザIDを、コメントを含むスレッドのオーディエンスに含める。これにより、メンションされたユーザは協働コンテンツアイテムにアクセスすると、自身がメンションされているスレッドの全体を見ることができる(協働コンテンツアイテムを開くときのスレッドへのアクセスがオーディエンスにおけるユーザのIDの存在によって決定されるため)。ユーザに通知するメカニズムについても同様であり、これは次に説明される。
いくつかの実施の形態では、ユーザプリミティブが協働コンテンツアイテムのどこかで発生するが、スレッドのスパンの外である場合、メンションされたユーザのユーザIDはオーディエンスに含まれる。たとえば、ユーザがスレッドのスパンと同じパラグラフでメンションされている場合、そのユーザのユーザIDがオーディエンスに含まれる。
コンテキストプリミティブ
ユーザプリミティブに加えて、協働コンテンツ管理システム130はコンテキストプリミティブをサポートしてもよい。コンテキストプリミティブはユーザプリミティブと同様に機能するが、コンテキストプリミティブはスレッドのオーディエンスに単一ユーザを追加する代わりに、ドキュメントのコンテキストを使用して、特定の役割(例えば、所有者、編集者など)に割り当てられたユーザまたはユーザのグループをスレッドのオーディエンスに追加することができる。コンテキストプリミティブは、所定のトークンと、それに続く所定の文字列とによって示される。それぞれの事前定義された文字列は、協働コンテンツ管理システム130から異なる機能を引き出す。ユーザは、コンテンツアイテムを編集しているときにコンテキストプリミティブを挿入する。
@docプリミティブを含む幾つかの実装では、協働コンテンツアイテムへのアクセスを有する全てのユーザを、プリミティブを含むスレッドのオーディエンスに含めることができる。この機能を達成するためのアルゴリズムは、以下の通りである。協働コンテンツ管理システム130は、スレッドのスパンまたはコメントコンテンツ内の「@doc」文字列を検出し、協働コンテンツアイテムデータベース408の協働コンテンツアイテムインデックスにアクセスする。協働コンテンツ管理システム130は協働コンテンツアイテムインデックスに従って、協働コンテンツアイテムに対する閲覧権限を有するユーザIDを決定し、それらのユーザIDをスレッドのaudience_listに追加する。あるいは以下で説明するように、システムはすべてのユーザ、認証されたユーザ、特定のグループの一部であるユーザなどの複数のユーザがオーディエンスメンバとして含まれるべきであることを示すエントリを、協働コンテンツアイテムオーディエンスリストに含むことができる。協働コンテンツアイテムが後でアクセスされると、「@doc」プリミティブを含むスレッドが、協働コンテンツアイテムを表示しているすべてのユーザに表示される。さらに、スレッド内の任意の通知生成アクティビティが、協働コンテンツアイテム内のすべてのユーザに報告される。
いくつかの実施の形態では、「@doc」プリミティブは、スレッドが作成された後でさえも協働コンテンツアイテムに追加される任意のユーザがコメントスレッドを見ることができるように、動的である。これは、協働コンテンツアイテムがコンパイルされるたびに、スレッドのスパンとスレッドのコメントテキストを再評価することによって達成できる。あるいはスレッドのaudience_listにユーザIDを直接追加する代わりに、協働コンテンツ管理システム130は「@doc」プリミティブが使用されたことを示す特別なID値を作成してもよい。したがって、協働コンテンツアイテムのコンパイル中に、協働コンテンツ管理システム130は、スレッドのaudience_listを参照することによって、特定のスレッドがオーディエンスユーザに表示されるべきかどうかをチェックする。協働コンテンツ管理システム130は、「@doc」プリミティブに関連付けられた特別なIDを検出すると、協働コンテンツアイテムデータベース408を参照して、どのユーザが閲覧許可を有するかを決定する。現在のユーザのユーザIDが協働コンテンツアイテムデータベース408に含まれている場合、協働コンテンツ管理システム130は、スレッドを現在のユーザに表示する。
さらに、協働コンテンツアイテムオーディエンスプリミティブに加えて、他のコンテキストプリミティブを実装することができる:
「@folder」プリミティブは協働コンテンツ管理システム130に、協働コンテンツアイテムを含むフォルダへのアクセス権を有するすべてのユーザがスレッドを見ることができるべきであることを知らせる。この場合、フォルダへのアクセス権を持つユーザの中には、協働コンテンツアイテムへのアクセス権を持たないものもある。この場合、協働コンテンツ管理システム130はフォルダへのアクセス権を有するすべてのユーザに協働コンテンツアイテムへのアクセス権を与えることができ、協働コンテンツアイテムへのアクセス権を持たないユーザがスレッドを見るための別個のインタフェースを提供することができ、または、協働コンテンツアイテムへのアクセス権を持たないユーザにスレッドに関する通知を電子メールで提供することができる。
「@editing」プリミティブは、協働コンテンツアイテムへの編集アクセスを有するすべてのユーザがスレッドのオーディエンスに含まれることを示す。協働コンテンツ管理システム130は、「@doc」プリミティブと同様にこれを構文解析する。ただし、協働コンテンツアイテムインデックスで協働コンテンツアイテムに関連付けられたすべてのユーザを取得する代わりに、編集アクセス権を持つユーザのみがスレッドのaudience_listに追加される。「@sharing」プリミティブ(共有権限を持つユーザのみがaudience_listに追加される)も同様の方法で実装される。
「@threads」プリミティブは、すでに協働コンテンツアイテムのスレッドに参加しているすべてのユーザを現在のスレッドのaudience_listに追加する。これを達成するために、「@threads」プリミティブを検出すると、協働コンテンツ管理システム130はcollaborativeContentItemIDに関連付けられた各スレッドオブジェクトにアクセスし、それらのスレッドのaudience_listにリストされたユーザを現在のスレッドのオーディエンスリストに追加する。
例示的な実施の形態に応じて、プリミティブに関連する特定の文字列は異なることができる。ユーザはユーザ、ユーザのカテゴリ、およびプリミティブに含まれるユーザのコンテキストカテゴリを選択するために、クライアントアプリケーションを使用して独自のコンテキストプリミティブを定義することもできる。加えて、コンテキストプリミティブは、協働コンテンツアイテムのコンパイル中にオーディエンスリストの再評価をトリガする、audience_list内の特別なIDを使用して動的にされ得る。
ファイルレベルのコメントインタフェース
協働コンテンツ管理システム130はまた、ファイルレベルのコメントを可能にし、例示的な実施の形態に応じて多数のユーザインタフェースを利用することができる。ファイルレベルのコメントはファイル自体に関連付けられ、ファイルが削除されるかコメント自体が削除されるまで、ファイルと一緒に保持される。これにより、ファイル上での反復ごとに維持されるファイルレベルでユーザ間の会話を行うことができる。本明細書に記載する方法はまた、ユーザがウインドウを変更することなく協働コンテンツアイテムをレビューして協働コンテンツアイテムにコメントを加えることができるように、協働コンテンツアイテムとファイルレベルのコメントとを同時に表示することも可能にする。ファイルレベルコメントはコンテンツレベルコメントと同じ特性を多く有し、同じ基礎となるデータ構造に依存する。ただし、ファイルレベルのコメントは協働コンテンツアイテムのスパンには関連付けられず、代わりにコンテンツアイテム全体に関連付けられる。これらの違いにもかかわらず、ファイルレベルコメントはスレッドを形成するために使用されてもよく、関連する著者、作成時刻、および日付を有してもよく、これらは例示的な実施の形態に応じて、コンテンツレベルコメントと同様の様式で表示されてもよい。
ファイルレベルのコメントは、協働コンテンツアイテムの特定のスパンに関連付けられていないため、ファイルレベルのコメントを表示するために異なるUI要素を使用できる。図5Bは、ファイルレベルのコメントを作成および表示するための実施の形態の例を示す。
図5Bは、協働コンテンツアイテムのタイトルに関連付けられたファイルレベルコメントを伴う例示的なユーザインタフェースを示す。図5Bには、図5Aと同じ6つのコメントと4つのスレッドが表示され、ファイルレベルのコメント528が追加されている。ファイルレベルのコメントは、コメントペイン512において、コンテンツレベルのコメントと共に表示される。ファイルレベルコメント528は、コンテンツレベルコメントのように協働コンテンツアイテム内の特定のスパンに対するものではなく、ドキュメント全体に関連付けられ、協働コンテンツアイテム530のタイトルに対するフォーマット化または強調表示、境界付けなどの視覚的に区別可能な特徴531によって、協働コンテンツアイテムにおいて示される。任意選択で、同じ視覚的に区別する特徴をコメント自体に適用することができ、その結果、ユーザは、どのコメントがファイルに関連付けられ、どのコメントがコンテンツアイテムの特定のスパンに関連付けられているかを知ることができる。図5Bはまた、コメントがコンテンツレベルのコメントではなくファイルレベルのコメントであることを示すために、ファイルレベルのプリミティブ532「@file」の使用を示す。
スプレッドシートの概要
図6は、スプレッドシートの例示的な部分を示す。図6のスプレッドシート600は、行605の集合の行および列610の集合の列を含むスプレッドシート内の座標にそれぞれ関連するセル625を含む。図6の例示的な実施の形態では行605は数字(「1」、「2」、「3」など)によって表され、列は文字(「A」、「B」、「C」など)によって表される。したがって、本明細書ではスプレッドシート600の各セルを、そのセルに対応する行および列を使用して参照することができる。例えば、図6の例示的な実施の形態におけるセルB2は、値「19」を含む。セル625内に含まれるコンテンツは、テキストデータ、オーディオデータ、イメージデータ、ビデオデータ、URL、構造化データ、非構造化データなどの任意のタイプのデータを含むことができる。同様に、セル625は、可視であってもよい追加の要素(ボタン、スイッチ、ダイヤル、または他の対話的要素など)、不可視であってもよい追加の要素(メタデータ、式、実行可能ファイル、バイナリファイル、プレースホルダファイルなど)、またはフォーマット化に関連していてもよい追加の要素(セルの高さまたは幅、セルの背景色、テキストの色、フォントタイプなど)を含むことができる。
上記のように、1つまたは複数のセル625を数式に関連付けることができる。例えば、第1セル内に含まれる値は、第2セルおよび第3セル内に含まれる値に対して作用する公式の結果とすることができる。そのような場合、第2または第3セル内の値が変更する場合、第1セル内に含まれる値は変更し得る。第1セル内に含まれる値は、3つのセルに対応する式によって、第2セルおよび第3セル内の値に依存するものとして参照することができる。スプレッドシート600は、SUM、STDDEV、MEAN、MODEなどを含む任意の適切な公式を含むことができる。スプレッドシート内に含まれる公式は例えば、スプレッドシート600に関連付けられた式のライブラリからユーザが選択するか、ユーザがプログラムすることができる。1つまたは複数のピボットテーブル、グラフ、形成テーブル、または任意の適切なデータ視覚化を、スプレッドシート600内に格納され、スプレッドシート600または別の文書またはプログラムに対応するインタフェース内に表示されるデータに基づいて生成することができる。
図6に示す例ではセルB1、C1、D1、およびE1はそれぞれ、月「1月」、「2月」、「3月」、および「4月」に関連付けられている。同様に、セルA2、A3、およびA4は、それぞれカテゴリ「Cats Adopted」、「Dogs Adopted」、および「Birds Adopted」に関連する。B2〜E2内の各セルは、セルの列に対応する1ヶ月以内に引き取られたネコの数を表す数を含む。同様に、B3〜E3およびB4〜E4における各セルは、対応する月内に引き取られた対応する動物の数を表す数を含む。行5のセルは、各月に引き取られた動物の総数を表す値を含む。
スプレッドシート600は、式620を含む。ユーザはセルの集合(セルB2、B3、およびB4を含むセル615など)を選択することができ、式(SUM式620など)を入力することができ、ターゲットセル(セルB5など)を入力することができ、B5内に含まれる結果の値は、セルB2、B3、およびB4内に含まれる値の合計である。図6の例示的な実施の形態では、(式620が入力された後の)セルB5内に含まれる値は46である。しかしながら、セルB2〜B4のいずれかに含まれる値が変更された場合、セルB5に含まれる値は変更される。例示的なスプレッドシート機能が図6に関して説明されているが、実際には本明細書で説明されるスプレッドシートが当技術分野の任意の適切なスプレッドシート機能を含むことができることを理解されたい。
スプレッドシートの一部のコンテンツアイテムへの埋め込み
協働コンテンツ管理システムは、第1のタイプのドキュメントを第2のタイプのドキュメントに埋め込むことを可能にすることができる。例えば、スプレッドシートの全部または一部をワープロドキュメント内に埋め込むことができる。しかしながら、スプレッドシートの少なくとも一部がワープロドキュメントに埋め込まれており、第1のユーザが1つ以上の埋め込まれたセルでワープロドキュメントを編集し、その編集が協働コンテンツ管理システムに記憶されたスプレッドシートに反映されない場合、協働コンテンツ管理システムに記憶されたスプレッドシートにアクセスする第2のユーザは、第1のユーザが行った編集を見ることができない場合がある。これにより、複数のドキュメントバージョンが作成され、ユーザ間で混乱が生じる可能性がある。協働コンテンツ管理システムによって保持されているスプレッドシートを、ワープロドキュメントに埋め込まれたスプレッドシートの一部に対する受信された編集に基づいて、更新することで、このような混乱を防ぐことができる。
図7は、協働コンテンツアイテムに埋め込まれているスプレッドシートの選択された一部を示す。協働コンテンツアイテム700はデータの構造を維持しながら、ドキュメント内に異なるタイプのデータを挿入することを可能にするドキュメントである。そのようなデータタイプの1つは、スプレッドシートセルの集合である。図7の例示的な実施の形態では、セルC2〜C4およびD2〜D4を含むスプレッドシート600の一部710を選択し、協働コンテンツアイテム700に埋め込むことができる。図7に示すように、部分710は、部分730として協働コンテンツアイテム700内に埋め込まれる。スプレッドシート部分710の構造は維持される(例えば、セル自体、セルの編成など)。いくつかの例示的な実施の形態では、選択されたセルのみが協働コンテンツアイテム700内に埋め込まれ、他の例示的な実施の形態(図7の例示的な実施の形態など)ではカテゴリセル(「Feb」、「Mar」、「Cats Adopted」、「Dogs Adopted」、「Birds Adopted」)も、それら自体が選択されていないにもかかわらず、協働コンテンツアイテム内に含まれる。
いくつかの例示的な実施の形態では、スプレッドシートの機能は、埋め込まれたスプレッドシート部分730用に維持される。例えば、埋め込まれたスプレッドシート部分730のセルのうちの1つまたは複数に式が関連付けられている場合、1つまたは複数のセル内の値への変更は、(埋め込まれたスプレッドシート部分730内に含まれているか否かにかかわらず)ターゲットセル内の値を変更させることができる。同様に、ユーザは、埋め込まれたスプレッドシート部分730内の1つまたは複数のセルの高さまたは幅、セル内のデータのフォントまたは色、セル自体の色などを変更することができる。
図7において、埋め込まれたスプレッドシート部分730は、協働コンテンツアイテム700内で、テキスト部分720とテキスト部分722との間に含まれる。このような場合、埋め込まれたスプレッドシート部分730は、スプレッドシート600のスプレッドシート部分710をコピーまたは参照することによって、ユーザ(協働コンテンツアイテム700の著者または協働者など)が構造化データを埋め込むことを可能にする。いくつかの実施の形態では、スプレッドシート部分710は、スプレッドシート識別情報、スプレッドシートの位置(ファイルディレクトリの位置またはURLなど)、部分710の識別情報、および部分に対応する各セルの識別情報のうちの1つ以上を、協働コンテンツアイテム700に(例えば、協働コンテンツアイテム内の、スプレッドシート部分が埋め込まれる位置と関連して、協働コンテンツアイテムのメタデータ内に)含めることによって参照される。これにより、ユーザは(例えば、スクラッチから、潜在的にスプレッドシートプログラム内で利用可能なツールがなくても)協働コンテンツアイテム700内に構造化データを作成する必要なく、テキスト720によって参照および/または導入された構造化データを含むことができるので有利である。
本明細書で説明する例示的な実施の形態は、スプレッドシート部分710と埋め込みスプレッドシート部分730との間の双方向同期を可能にする。例えば、スプレッドシート部分710に対して行われた編集は、埋め込まれたスプレッドシート部分730において実施され、埋め込まれたスプレッドシート部分730に対して行われた編集はスプレッドシート部分710において実施される。いくつかの例示的な実施の形態では、そのような編集は、スプレッドシート部分710または埋め込みスプレッドシート部分730のセル内に含まれるデータまたはコンテンツに対する変更、およびスプレッドシート部分710または埋め込み部分730の1つまたは複数のセルのセル内のデータの削除を含む。いくつかの例示的な実施の形態では、スプレッドシート部分710または埋め込みスプレッドシート部分730のセルに対する編集は、セルに関連するメタデータの変更、セルに関連する1つまたは複数の式の作成、除去、または修正、スプレッドシートへの行または列の追加、スプレッドシートからの行または列の除去、スプレッドシート内の1つまたは複数のセルのスプレッドシート内の新しい位置へのシフト、複数のセルのうちの1つまたは複数のセルの寸法の変更、セルに関連するフォント、フォントサイズ、またはフォント色の変更、セル色の変更、またはセルに対する他の任意の変更を含むことができる。いくつかの例示的な実施の形態では、スプレッドシート部分710および埋め込まれたスプレッドシート730のうちの一方に対する変更は、リアルタイムまたは実質的にリアルタイムで他方に適用され、一方、他の例示的な実施の形態では、変更は定期的に、ユーザ、デバイス、またはアプリケーションからのスプレッドシート部分を同期させる要求に応答して、トリガイベント(スプレッドシート600または協働コンテンツアイテム700のアクセスなど)に応答して、または任意の他の適切な基準に応答して実施される。
第1の実施の形態では、第1のユーザは、協働コンテンツ管理システム130に記憶されたスプレッドシート600からスプレッドシートの一部710を選択して、埋め込まれたスプレッドシート部分730として協働コンテンツアイテム700に埋め込むことができる。第2のユーザは例えば、値「18」を「16」に変更することによって、スプレッドシート730の埋め込まれた部分を編集することができる。これに応じて、協働コンテンツ管理システム130はセルC2の値を「18」から「16」に変更するなどして、スプレッドシート部分710を更新し、この編集を反映させる。第3のユーザはその後、スプレッドシート部分710内のセルD3の値を「20」から「19」に変更することができ、協働コンテンツ管理システム130は、埋め込みスプレッドシート部分730を更新して、値「20」を「19」に変更することができる。
第2の例示的な実施の形態では、第1のユーザは、協働コンテンツ管理システム130に格納された協働コンテンツアイテム700にスプレッドシート600の一部710を埋め込むことができる。次いで、協働コンテンツアイテム700は、第2のユーザによって第2のデバイスから開かれ、第3のユーザによって第3のデバイスから開かれる。第1のユーザは、例えば第1のデバイスからセルC2内の値「18」を「16」に変更することによって、スプレッドシート730の埋め込まれた部分を編集することができる。第2および第3のデバイスは第1のデバイスに同期され、第2のユーザおよび第3のユーザがそれぞれのデバイスから協働コンテンツアイテム700を見ると、それぞれのデバイスによって表示されるインタフェース内で、第1のユーザによって行われたセルC2内の編集を見ることができる。同様に、第2のユーザ及び第3のユーザのいずれかが、自身のデバイスによって表示された協働コンテンツアイテム700のバージョンを編集すると、他のユーザのデバイスによって表示された協働コンテンツアイテム700のバージョンはこの追加の編集を反映するように更新される。
第3の例示的な実施の形態では、第1のユーザが協働コンテンツ管理システム130に格納されたスプレッドシート600の一部710を協働コンテンツアイテム700内に埋め込むことができる。第2のユーザは例えば、スプレッドシート部分710がデバイスによって表示されるインタフェース内で見えるように、デバイス上でスプレッドシートを開くことによって、スプレッドシート600にアクセスすることができる。次に、第1のユーザは例えば、埋め込まれたスプレッドシート部分のセルの寸法を寸法の第1の集合から寸法の第2の集合に変更することによって、埋め込まれたスプレッドシート部分730に編集を行うことができる。スプレッドシート部分710に対する変更は、710のセルが第1の寸法から第2の寸法に変更されるように、協働コンテンツ管理システム130によって実行されうる。これに応答して、第2のユーザのデバイスによって表示されるインタフェースは、第2のユーザが第1のユーザによって行われた変更(例えば、スプレッドシート部分710のセルの寸法の変更)を見ることができるように更新される。
いくつかの例示的な実施の形態では、スプレッドシート部分710または埋め込みスプレッドシート部分730を修正し、その修正を部分710および730の他方に反映させるユーザの能力は、スプレッドシート600または協働コンテンツアイテム700に対応する許可の集合によって定義される。例えば、第1のユーザは、スプレッドシート600の部分710を、埋め込まれたスプレッドシート部分730として、協働コンテンツアイテム700内に埋め込むことができる。第1のユーザは、埋め込まれたスプレッドシート部分730を編集するための許可を第2のユーザに与えることができ、一方、第3のユーザには、埋め込まれたスプレッドシート部分を表示するための許可しか与えない。このような実施の形態では、第2のユーザが埋め込まれたスプレッドシート部分730に対して行った編集がスプレッドシート部分710内に実装されるが、第3のユーザが埋め込まれたスプレッドシート部分730に対して行った編集は許可されないか、またはスプレッドシート部分710内に実装されないかのいずれかである。いくつかの実施の形態では、スプレッドシート600および協働コンテンツアイテム700に対して行われた編集許可はそれぞれ、スプレッドシート部分710および埋め込まれたスプレッドシート部分730に適用されることに留意されたい。例えば、ユーザに協働コンテンツアイテム700を編集する許可が与えられた場合、ユーザが埋め込まれたスプレッドシート部分730に対して行った編集は、スプレッドシート部分710内に実装される。しかしながら、ユーザに協働コンテンツアイテム700を見るための許可しか与えられていない場合、ユーザは埋め込まれたスプレッドシート部分730を編集することができず、または第2のユーザによる埋め込まれたスプレッドシート部分への編集はスプレッドシート部分710内に実装されない。
図8は、スプレッドシートの選択された一部を協働コンテンツアイテムに埋め込むプロセスを示すフローチャートである。図8の実施の形態では、協働コンテンツアイテムが協働コンテンツ管理システムによってアクセス810される。協働コンテンツ管理システムは、スプレッドシートの一部の選択を受信する820。スプレッドシートの選択された部分は、アクセスされた協働コンテンツアイテムに埋め込まれる830。協働コンテンツ管理システムはデバイスによって表示されるインタフェース内に、協働コンテンツアイテムを表示する840。協働コンテンツアイテムにおけるスプレッドシートの選択された部分内のデータに対する編集は、協働コンテンツ管理システムによって受信される850。そして、協働コンテンツ管理システムは、協働コンテンツアイテム内に埋め込まれたスプレッドシートの部分に受信した編集が反映されるように、スプレッドシート860を更新する。
スプレッドシートタスク
スプレッドシートで協働を行う場合、スプレッドシート内でタスクを編成する機能は制限される。たとえば、スプレッドシートアプリケーションは、主にデータの保存と分析に使用されるため、協働プロジェクトでのタスクの編成には適していない。データの整理、グラフの作成など、より多くの機能にユーザがアクセスできるプラットフォームを提供すると同時に、スプレッドシートのセル内で一連のタスクを整理できるようにすることで、協働の効率性と編成を改善できる。本明細書に記載するように、セルはタスクの記述を含むことができ、タスクが完了したときにユーザが調節することができる対話式プログレストラッカを有することができ、異なるユーザが特定のタスクにグループのメンバをタグ付けまたは割り当てることができ、タスクの集合の全体的な進行状況を示すことができる(例えば、タスクの進行を表示する視覚的要素内)。
図9は、例示的な実施の形態に係る、スプレッドシートのセル内に含まれているタスクの集合を示す。図9のスプレッドシート900は、タスクの集合に対応するセルの集合A1からA5を含む。タスクの集合の各タスクは、セルの集合の異なるセル内に含まれる。タスクの集合のタスクを含む各セルは、ステータスインジケータ、プログレスバー、メータなどを介してタスクの進行を表示することができる。タスクの集合の全体的な進行は、タスクを含むセルのうちの1つまたは複数のステータスインジケータに基づいて完了結果を計算するように構成された式によって決定することができる。完了結果は、スプレッドシートの別のセル内、タスクの集合に対応するセルの1つ内、またはスプレッドシートや別のドキュメントのインタフェース要素内に表示することができる。図9のスプレッドシート900は、スタンドアロンのスプレッドシートドキュメントであってもよく、協働コンテンツアイテム内に埋め込まれてもよく、または任意の他の適切な形態をとってもよいことに留意されたい。
タスクの進行は、タスクを含むセル内のインタラクティブ要素を使用して設定できる。インタラクティブ要素の例には、調整可能なプログレスバー905(または「スライダバー」)、チェックボックス915、一組のチェックボックス920、一組のイエス/ノーボタン925、回転可能なノブ、データを含めることができるフィールドなどが含まれる。例えば、セルA1は、タスクの75%が完了したことを示す調整可能なプログレスバー905を有する。ステータスインジケータ910は、調整可能なプログレスバー905にリンクされ、調整可能なプログレスバー905が0%である場合に「未だ開始されていない」、調整可能なプログレスバー905が0%〜100%の間にある場合に「開始された」、および調整可能なプログレスバー905が100%である場合に「完了した」を状態にすることができる。ある実施の形態では、誰でもインタラクティブ要素を用いてタスクの進行を調節することができ、他の実施の形態ではタスクの進行を調節できる唯一のユーザは、タスクマネージャ、編集許可を有するユーザ、タスクにタグ付けまたは割り当てられたユーザ、およびタスクの集合に関連するプロジェクトに関与するユーザのうちの1つ以上を含む。
タスクの集合の全体的な進行は、全体的な進行に対応する完了結果を得るために、タスクの集合内の各タスクの完了パーセンテージを合計する、セルの集合のうちの1つまたは複数に関連する式を使用することによって計算することができる。いくつかの例示的な実施の形態では、各タスクの完了パーセンテージを合計することは(例えば、各タスクの複雑さまたは重要性に基づいて)タスクの集合内の個々のタスクに重み付けすることと、タスクの集合の全体的な完了を計算するためにタスクの完了パーセンテージに重みを適用することと、を含むことができる。タスクの重みは、ユーザによって定義することができ、デフォルトで設定することができ、タスクの集合内の他のタスクに対するそのタスクの複雑さまたは重要性に基づくことができ、タスクに関連する多数のサブタスクに基づくことができ、または他の適切なメトリックに基づいて計算することができる。いくつかの例示的な実施の形態では、タスクの集合に適用される重みの合計は1である。
一連のタスクの全体的な進行は、パーセント、円グラフ、プログレスバーなどで視覚的に表示されてもよい。例えば、タスクA1およびA2(それぞれ等しく重み付けされた)の全体的な進行を決定するために、タスクA1の進行(75%)およびタスクA2の進行(0%)は平均されて37.5%になる。同様に、タスクA3およびA4の全体的な進行を決定するために、タスクA3が0.2の重みで重み付けされ、タスクA4が0.8の重みで重み付けされ、完了結果は(100%)(0.2)+(50%)(0.8)=60%である。タスクA1およびA2の計算結果はセルB2内に表示され、タスクA3およびA4の計算結果はセルB4内に表示される。
タスクを含むセルは、タスク記述(例えば、タスクのタイトル、タスクに含まれる内容の説明的サマリなど)、タスクに対応する期日、タスクに割り当てられた人物(例えば、タスク内でタグ付けされた人物)、タスクのステータス、優先度インジケータ、および任意の関連情報またはドキュメントを含むことができる。図9に示された例では、セルA5に含まれるタスクにはタイトル945(「子犬を歩かせて獣医に連れて行く」)、タスクに割り当てられた人930(「Lovepreet and Rosemary」)、期限940(「8/31/17」)、および優先度935(「高優先度」)が含まれている。さらに、「pupvetrecords.docx」という名称のドキュメント950がセルA5に埋め込まれている。例示的な実施の形態では、ドキュメント950はセルA5内でリンクされる。ドキュメントリンクは、コンテンツ管理システムにおいて協働コンテンツアイテムとして格納されたドキュメントを識別することができる。いくつかの実施の形態では、スプレッドシート900へのアクセス権を有する誰でも、タスクの集合を見ることができる。他の実施の形態では、1つ以上のタスクがアクセス許可に関連付けられ、アクセス許可に関連付けられたユーザのみが、1つ以上のタスクを見ることができる。さらに他の実施の形態では、管理者のみがすべてのタスクを見ることができ、一方、タスクに割り当てられた、またはタグ付けされたユーザはそのタスクを見ることができるのみであり、そのユーザが割り当てられていない、またはタグ付けされていない他のタスクを見ることはできない。
タスクの集合のタスクは、タスク内でユーザにタグ付けすることによってユーザに割り当てられうる。協働コンテンツ管理システムの協働コンテンツアイテム(例えば、スプレッドシート)の第1のユーザは、タスク内で第2のユーザによってタグ付けされ得る。第1のユーザは、第1のユーザがタスク内でタグ付けされたかまたはタスクが割り当てられたという通知を受け取ることができ、この通知は、電子メールを通じて、テキストメッセージを介して、協働コンテンツ管理システムを通じて、などにより受け取られてもよい。タスク内でタグ付けされたユーザを表すもの(識別情報、ユーザ名、ユーザプリミティブ、画像など)は、タスクを含むスプレッドシートのセルに表示される。いくつかの例示的な実施の形態では、タスクの期限が近づくにつれて、タグ付けされたユーザにリマインダを送信することができる。例えば、リマインダはタスクが完了するまで定期的に、またはタスクのデッドラインの前の設定された間隔(例えば、デッドラインの1ヶ月前、1週間前、および1日前)で送信することができる。リマインダは、タスクを含むセル内に表示される情報(タスクのタイトル、期日など)、タスクに関連付けられた場所、タスクに関連付けられた開始時刻、タスクに関連付けられた添付などを含んでもよい。
いくつかの例示的な実施の形態では、第1のユーザが協働コンテンツ管理システム130に格納されたスプレッドシート900を第1のデバイスから開き、タスクの集合を含むようにスプレッドシート900内のセルA1〜A5を選択する。第1のユーザはセルA1〜A5を編集する要求を行い、この場合、各セルがタスクに対応し、タスクに関連付けられた情報(すなわち、タスクの説明、タスクに割り当てられた人物など)を含む。協働コンテンツ管理システム130は、スプレッドシート900を更新して、その情報を含めるようにする。第2のユーザは第2のデバイスからスプレッドシート900を開き、セルA1内に含まれるタスクの進行を反映するように調整可能プログレスバー905を変更する要求を行う。協働コンテンツ管理システム130は、調整可能プログレスバー905の変更を記述する情報を第2のデバイスから受信し、その情報に基づいてスプレッドシート900内のセルA1を更新する。第1のデバイスおよび第2のデバイスは協働コンテンツ管理システム130に対して同期され、第1のデバイスおよび第2のデバイスによって表示されるインタフェース内に表示されるスプレッドシート900は、セルA1内の調整可能プログレスバーへの変更を反映するように更新される。
図10は、スプレッドシート内のタスクを管理するプロセスを示すフローチャートである。図10の実施の形態では、協働コンテンツ管理システムは、スプレッドシートを表示するように構成されたデバイスにスプレッドシートを提供する1010。協働コンテンツ管理システムは、タスクの集合を、スプレッドシートのセルの集合に追加するための要求を受信する1020。協働コンテンツ管理システムは、タスクの集合を含めるようにセルの集合を変更する1030。タスクの集合を含む変更されたセルの集合はデバイスに提供される1040。協働コンテンツ管理システムは、タスクの集合のうちのあるタスクとの相互作用を記述する情報をデバイスから受け付け1050(例えば、上述のとおり)、相互作用に基づいて、セルの集合のうちのタスクに対応するセルを変更する1060。
スプレッドシートフィールドからコンテンツアイテムへのデータの埋め込み
いくつかの文脈では、ユーザが(例えば、スプレッドシート上の式を計算し、式が作用する先のセルの集合を必ずしも含めずに、結果を紙文書に書かれたレポートに組み込むことによって)協働コンテンツアイテム内のスプレッドシートのセル内に含まれる値を組み込むことを望むことがある。第1のセルの値がドキュメントに組み込まれ、第1のセルの値に対応する1つまたは複数のセルの値が第1のセルの値が新しい値に変更するように編集される場合、ドキュメント内の値は、新しい値に自動的に更新されなくてもよい。これにより、ドキュメント内に古いデータが作成される可能性があり、そのような値を手動で更新する必要がある場合がある。その結果、ドキュメント内のデータが最新であることを確認するための、問題が発生しやすく、エラーが発生しやすいプロセスが生じることになる。ドキュメント内のそのような値を自動的に(例えば、リアルタイムで)更新することによって、ドキュメント内のデータ管理が簡素化され、結果として、より良いユーザ体験をもたらし、ドキュメント内のデータエラーの蓋然性が低減される。
図11は、協働コンテンツ管理システム内のドキュメントに埋め込まれているスプレッドシートセルからのデータを示す。スプレッドシート1100のセルB2〜B4、C2〜C4、D2〜D4、およびE2〜E4内のデータ値はそれぞれ、2つのカテゴリ(スプレッドシート列に関連する「月」カテゴリ、およびスプレッドシート行に関連する「日」カテゴリ)に対応する。セルB1〜E1には月「Jan」、「Feb」、「Mar」、「Apr」がそれぞれ表示され、セルA2〜A4には日「Day 1」、「Day 2」、「Day 3」がそれぞれ表示される。例えば、セルD2は10のデータ値を含み、3月のDay 1に対応する。スプレッドシート1100のセル内に含まれるデータ値はスプレッドシート以外のドキュメント(例えば、ワードプロセッシングドキュメント、プレゼンテーションドキュメントなど)内に埋め込まれてもよく、ドキュメントは、ユーザデバイス1160によってアクセスされ、ユーザデバイスのインタフェース内に表示されてもよい。
図11は、協働コンテンツ管理システム内のドキュメントに埋め込まれているスプレッドシートセルからのデータを示す。スプレッドシート1100のセルB2〜B4、C2〜C4、D2〜D4、およびE2〜E4内のデータ値はそれぞれ、2つのカテゴリ(スプレッドシート列に関連する「月」カテゴリ、およびスプレッドシート行に関連する「日」カテゴリ)に対応する。セルB1〜E1には月「Jan」、「Feb」、「Mar」、「Apr」がそれぞれ表示され、セルA2〜A4には日「Day 1」、「Day 2」、「Day 3」がそれぞれ表示される。例えば、セルD2は10のデータ値を含み、3月のDay 1に対応する。スプレッドシート1100のセル内に含まれるデータ値はスプレッドシート以外のドキュメント(例えば、ワードプロセッシングドキュメント、プレゼンテーションドキュメントなど)内に埋め込まれてもよく、ドキュメントは、ユーザデバイス1160によってアクセスされ、ユーザデバイスのインタフェース内に表示されてもよい。
図11の例示的な実施の形態では、セルD2のデータ値1110は協働コンテンツアイテム1150内の第1の位置に埋め込まれる。協働コンテンツアイテム1150は、協働コンテンツ管理システムに記憶される。協働コンテンツアイテム1150は、ドキュメント内に異なるタイプのデータを挿入することを可能にするワードプロセッシング文書である。セルD2のデータ値1110は、協働コンテンツアイテム1150内のテキストのブロック内にテキストとして埋め込まれる。図11に示すように、データ値1110は、対応するセル構造(例えば、セル境界、フォーマット等)なしに協働コンテンツアイテム1150内に埋め込まれる。第1の例示的な実施の形態では、ユーザは協働コンテンツ管理システムに記憶されたスプレッドシート1100からのセルD2のデータ値1110を編集することができる。例えば、ユーザは、スプレッドシート内の第1のデータ値「10」を第2のデータ値「9」に変更することができる。協働コンテンツ管理システムは、スプレッドシート1100で行われた編集に応答して、協働コンテンツアイテム1150内のテキストを実質的にリアルタイムに「10」から「9」に更新する。
セルD5のデータ値1140は、セルD2のデータ値1110、セルD3のデータ値1120、およびセルD4のデータ値1130の合計からなる式の結果である。換言すれば、データ値1140は、3つのセルD2〜D4内の値に依存する。第1の実施の形態では、ユーザは、協働コンテンツ管理システムに記憶されたスプレッドシート1100からのセルD3のデータ値1120を、第1のデータ値「9」から第2のデータ値「10」に編集することができる。次に、協働コンテンツ管理システムは、協働コンテンツアイテム1150のテキストを「On Day 2, there were 9 adoptions」から「On Day 2, there were 10 adoptions」に更新する。データ値1140はデータ値1120に依存するので、協働コンテンツ管理システムはセルD5のデータ値が「26」から「27」に更新されてセルD3の値への変更を反映するように、セルD5内のデータ値を更新する。同様に、協働コンテンツ管理システムは、協働コンテンツアイテム1150のテキストを「In total, 26 dogs were adopted in March!」から「In total, 27 dogs were adopted in March!」に更新する。他の例示的な実施の形態では、セルD5のデータ値1140は、外挿式、カウント式(例えば、他のセルに関連するブール値のカウント)、または任意の他の適切な式の結果である。
いくつかの実施の形態では、協働コンテンツ管理システムは、表示対象のデータ値のためのドキュメント内の位置の選択を伴う、ドキュメントにデータ値を埋め込むための要求を受信する。ドキュメントは、ドキュメント内に、データ値のターゲット位置へのポインタを含むように変更され、該ポインタはそのデータ値が来ている元のスプレッドシートおよびセルを特定する。図11の実施の形態では、協働コンテンツ管理システムは、テキスト「On Day 3, the remaining」と「dogs were adopted」との間の位置に、協働コンテンツアイテム1150内のテキストとしてデータ値「7」を埋め込むための要求を受信する。その位置において、ポインタ1155は、データ値「7」が由来するスプレッドシートおよびセルを特定する。
図12は、スプレッドシートからのデータをドキュメントに埋め込むプロセスを示すフローチャートである。図12の実施の形態では、協働コンテンツ管理システムは、スプレッドシートの第1セル内に含まれる第1データ値をドキュメントに埋め込むための要求を受信する1210。協働コンテンツ管理システムは、第1セルの構成なしに第1データ値に対応するテキストを含めるよう、ドキュメントを変更する1220。第1データ値がドキュメント内に表示されるように、ドキュメントは、デバイスディスプレイのインタフェース内に表示される1230。スプレッドシートは、スプレッドシート内のひとつ以上のセルに対する編集を受け付ける1240、ここで、その編集は、第1セルの第1データ値を第1データ値から第2データ値に変えさせる。その編集に応じて、ドキュメント内に含まれる第1データ値を第2データ値に置き換えることによってドキュメントが自動的に更新される1250。
スプレッドシート内のコメントのナビゲーション
スプレッドシート(例えば、スプレッドシートドキュメント内の、または別のドキュメント内に埋め込まれたスプレッドシートの一部)に対して協働して作業しているとき、ユーザはセルの部分集合に関するコメントを作成し、他のユーザの注意をセルのその部分集合に向けたいと思うかもしれない。複数のユーザがコメントを作成しており、コメントがスプレッドシート内のセルの異なる部分集合にわたって散在している場合、一時的なインタフェース要素(例えば、スプレッドシート内のコメント位置を収容するために移動することができ、特定のインタフェース位置に固定されていないインタフェース要素)に、ユーザID、プロファイル画像、およびコメントに関連付けられたセルの部分集合の近くにあるユーザプリミティブなどの他の詳細と共にコメントを表示させることによって、コメント間をナビゲートするユーザの能力を改善することができる。
図13aから13cは、例示的な実施の形態に係る、スプレッドシート内のコメントのナビゲーションを示す。スプレッドシートにおいて、ユーザは、セルの集合(例えば、1つのセル、1つの行または列の複数のセル、または複数の行および/または列の複数のセル)に関連付けられたコメントを作成することができる。コメントは、ユーザによって作成されてもよく、または協働コンテンツ管理システム130によって含められてもよい。各コメントはインデックスに関連付けられ、インデックスを表すものは、セルの集合のうちのコメントに対応する1つまたは複数のセル内に表示されてもよい。コメントには、コメントに関連付けられたスプレッドシート内の代表セルの位置、コメントに対応する行または列、スプレッドシートへの最新の編集、スプレッドシートへの最新のコメント、コメントが受信された順序(他のコメントに対する)、コメントの作成者、セルの集合に関連付けられたコメントの数、セルの集合に関連付けられたタスク、セルの集合内でタグ付けされたユーザの識別情報、コメントに対応するディスカッションチェーン内のエントリまたはチャットメッセージの数、コメントに対するインデックスのユーザ選択、コメントのタイトル、コメント内の任意の添付などのうちの1つ以上に基づいて、インデックス番号を割り当てることができる。コメントは、コメントに関連付けられたセルの集合に対応するスプレッドシート内の位置に表示される、スプレッドシートのインタフェース要素内に表示されてもよい。
図13Aに示される例では、インタフェース要素1300は値「1000」を含むセルB5に関連付けられる。セルB5内の値は、セルB2〜B4に依存する式の結果である。インデックスインジケータ1310はセルB5と共に(例えば、データ値「1000」の左に)表示され、セルB5がコメントの集合のうちの第1のコメントに関連付けられていることを示す。インタフェース要素1300は、ユーザがコメントの集合内の次のコメントまたはコメントの集合の前のコメントにナビゲートすることを可能にするナビゲーションボタン1350の集合を有する。本明細書で使用される場合、「次のコメント」は現在または表示されているコメントに関連付けられたインデックス値の直後のインデックス値に関連付けられたコメント、順序付けられたコメント集合内の現在のコメントの直後のコメント、現在のコメントに最も近いコメント(例えば、同じ行または列内のコメント、または最も近い行または列内のコメント)、現在のコメントと同じユーザによって行われたコメント、現在のコメントに最も近い後の時間に行われたコメント、または任意の他の適切な要因に基づいて選択されたコメントを指すことができる。同様に、「前のコメント」は、現在または表示されているコメントに関連付けられたインデックス値の直前のインデックス値に関連付けられたコメント、順序付けられたコメント集合内の現在のコメントの直前のコメント、現在のコメントに前の時間または位置で最も近いコメントなどを指すことができる。協働コンテンツ管理システムは(例えば、ナビゲーションボタン1350の右矢印の選択を受け取ったことに応じて)次のコメントを表示するための要求を受け取ることができる。これに応答して、インタフェース要素1300は、(図13Bに示すように)次のコメント(セルC3内に含まれる)に対応する位置に移動される。同様に、次のコメントを表示するための要求を受け取ることができ、インタフェース要素1300は、(図13Cに示されるように)第3のコメント(セルE1内に含まれる)に対応する位置に移動することができる。
図13Aに示す例では、第1のユーザ「Sean」が「Geena」に向けて、セルB5内の値についての第1のコメントを行う。インタフェース要素1300は、第1のユーザ識別子または名前1345、第1のプロファイル画像1315、第1のコメント1320およびユーザプリミティブ1340を含む。スプレッドシートへのアクセス許可を有するユーザは第2のプロファイル写真1325によって表され、スプレッドシートを編集する許可を有するユーザには(テキスト応答を入力するための)応答ボックス1330および(画像、ドキュメント、グラフ、絵文字、GIFなどのファイルをコメントに添付するための)添付要素1335が提示される。
図13Bでは、インタフェース要素1300が図13Aに示す第1の位置から、代表セルC3内のインデックス1312に対応する第2の位置に移動する。いくつかの例示的な実施の形態では、セルB5により近いセルに他のコメントが関連付けられていないので、セルC3に関連付けられたコメントを第2のコメントまたは次のコメントとして選択することができる。インタフェース要素1300はスプレッドシートの一部がインタフェース要素1300の全部または一部を取り囲むように、第2の位置でスプレッドシート上に重ねられる。インタフェース要素1300は垂直に積み重ねられた2つのコメントを含み、第2のコメント1365の上に第1のコメント1360が積まれている。
図13Cでは、インタフェース要素1300は図13Bに示す第2の位置から、セルE1(第3のコメントを含む)に関連する第3の位置に移動する。図13Cの実施の形態では、インタフェース要素1300は列Eの値が見えるようにスプレッドシート上に重ねられる。図13Cに示される例では、投票に関連付けられたインタラクティブ要素1375およびグラフ1370がインタフェース要素1300内に表示される。スプレッドシートにアクセスするユーザは、インタラクティブ要素1375のボタンを選択することによって、投票に参加することができる。インタフェース要素1300内に含まれるコンテンツは、テキストデータ、オーディオデータ、イメージデータ、ビデオデータ、URL、構造化データ、非構造化データなどの任意のタイプのデータを含むことができる。
上述したように、スプレッドシート内の次のコメントにナビゲートするための要求を受け取ると、コメントに関連する情報を表示するインタフェースウィンドウ1300は、次のコメントに関連する新しい位置に移動される。いくつかの例示的な実施の形態では、インタフェースウィンドウ1300の新しい位置は、インタフェースウィンドウと、次のコメントに関連付けられた1つまたは複数のセルと、の重畳または部分的重畳を引き起こす。他の例示的な実施の形態では、インタフェースウィンドウ1300の新しい位置は次のコメントに関連付けられたセルと重ならない。インタフェースウィンドウ1300の新しい位置はまた、表示されたインタフェースウィンドウがコメントに関連する1つ以上のセルと部分的に重なる一方で、表示されたインタフェースウィンドウがセル内に表示されたデータと重ならないように選択されてもよい。いくつかの例示的な実施の形態では、インタフェースウィンドウ1300の新しい位置はコメントに関連付けられたセルから閾値距離だけ離れる。順序付けられたコメントの集合内の次のコメントが、スプレッドシートの表示部分内に示されていない1つ以上のセルに関連付けられている場合、スプレッドシートの表示部分は次のコメントに関連付けられた1つ以上のセルが表示されるようにシフトまたはスクロールされてもよく、スプレッドシートの表示部分がシフトされた後、インタフェースウィンドウ1300の位置が選択される。
図14は、スプレッドシート内でコメントをナビゲートするプロセスを示すフローチャートである。デバイスは、ひとつ以上の列およびひとつ以上の行へ編成されたセルの集合を含むスプレッドシートを受け付ける1410、ここで、セルの集合のうちの複数のセルの部分集合のそれぞれがコメントに関連付けられる。デバイスは、セルの部分集合のうちのひとつ以上が表示されるように、スプレッドシートを表示する1420。デバイスは、表示されたセルの第1部分集合に関連付けられた第1コメントを見るための要求を受信する1430。デバイスは、セルの第1部分集合に関連付けられた第1位置にインタフェース要素を表示する1440、ここで、インタフェース要素はセルの第1部分集合に関連付けられたコメントを含む。デバイスは、表示されたセルの第2部分集合に関連付けられた第2コメントを見るための要求を受信する1450。デバイスは、セルの第2部分集合に関連付けられた第2位置へ、表示されたインタフェース要素を移動させる1460、ここで、インタフェース要素はセルの第2部分集合に関連付けられた第2コメントを含む。
追加的な考慮
本明細書において、「ある実施の形態」または「例示的な実施の形態」への参照は、例示的な実施の形態との関連で説明される特定のフィーチャ、構成または特徴が少なくともひとつの実施の形態に含まれることを意味する。本明細書において様々な場所に現れるフレーズ「ある実施の形態では」は、必ずしも同じ実施の形態を指すものではない。
この説明では、「モジュール」という用語は、指定される機能を提供するための計算ロジックの物理的コンピュータ構成を指す。モジュールはハードウエア、ファームウエアおよび/またはソフトウエアで実装可能である。モジュールのソフトウエア実装に関し、当業者であれば、モジュールが、データ構造、メソッド、クラス、ヘッダ、および説明される機能を実行するのに適した他のコードオブジェクトを含むコードブロックを含むことを理解する。具体的な実装言語に依存して、モジュールはパッケージ、クラス、またはコンポーネントであってもよい。任意のコンピュータプログラミング言語が「モジュール」とは異なる用語を用いて同等の構成をサポートしうることは理解されるであろう。
本明細書で説明される名を挙げられたモジュールはそのようなモジュールのある実施の形態を表すのであって、他の例示的な実施の形態は他のモジュールを含みうることは理解される。加えて、他の例示的な実施の形態は、本明細書で説明されるモジュールを欠いてもよく、および/または、説明される機能をモジュール間で異なる態様で分散させてもよい。加えて、二つ以上のモジュールに帰せられる機能は単一のモジュールに組み入れられてもよい。本明細書で説明されるモジュールがソフトウエアとして実装される場合、モジュールはスタンドアローンプログラムとして実装可能であるが、また、例えばより大きなプログラムの一部として、複数の個別のプログラムとして、またはひとつ以上の静的にまたは動的にリンクされたライブラリとして他の手段を通じて実装されてもよい。これらのソフトウエア実装のいずれかにおいて、モジュールはシステムのコンピュータ可読永続ストレージデバイスに保持され、メモリにロードされ、システムのコンピュータのひとつ以上のプロセッサによって実行される。
本明細書における動作はまた、装置によって実行可能である。当該装置は、必要な目的のために特別に構成することができ、又は、コンピュータに格納されたコンピュータプログラムによって選択的に起動又は再構成された汎用コンピュータを含むことができる。そのようなコンピュータプログラムはコンピュータ可読ストレージ媒体に保持されてもよく、そのような媒体は、光学ディスクやCD−ROMやリードオンリーメモリ(ROM)やランダムアクセスメモリ(RAM)や磁気カードまたは光学カードや、電子的インストラクションを保持するのに適した任意のタイプの媒体のうちの任意のタイプなどであってもよいがそれに限定されない。上記のそれぞれはコンピュータシステムバスに接続される。さらに、本明細書で言及されるコンピュータは、単一のプロセッサを含むか、または計算能力向上のためにマルチプロセッサ設計を用いるアーキテクチャであってもよい。
本明細書で提示されるアルゴリズムは、生来的に、特定のコンピュータや他の装置に関連するわけではない。本明細書の教示にしたがうプログラムを伴う種々の汎用システムを用いることもでき、または、要求される方法ステップを行うことにより特化した装置を作成するのが便利かもしれない。さまざまなこれらのシステムの要求される構成は、上記の説明から明らかとなろう。加えて、本技術は特定のプログラム言語のいずれかを参照して説明されるわけではない。本明細書で説明される本技術の教示を実装するために種々のプログラム言語を用いることができ、上述の特定の言語への参照は本技術の実施可能性およびベストモードの開示のために提供される。
本技術を好適な実施の形態およびいくつかの代替的な例示的な実施の形態を参照して具体的に示し説明したが、本技術の精神および範囲から逸脱することなく、形状や詳細に係る種々の変更を行うことができることは当業者には理解されるであろう。
本明細書で用いられる場合、語「または」はアイテムの集合の任意の可能な並べ替えを指す。さらに、要素または他の要素「の少なくともひとつ」を規定する請求項の用語は、要素の集合の任意の可能な並べ替えを指す。
本開示は、添付の請求項の範囲内の態様を説明するための種々の例および他の情報を含むが、これらの例の特定のフィーチャや配置構成に基づいて、請求項の限定が暗示されることはない。本開示は、説明のために具体的な例示的な実施の形態および実装を含むが、その例示的な実施の形態および実装の範囲から逸脱せずに種々の変更をなすことができる。例えば、機能は異なるように分散されてもよいし、本明細書で特定されたもの以外のコンポーネントで実行されてもよい。本開示は、説明されるフィーチャを、その範囲内のシステムコンポーネント、物理構成および論理構成、および方法の非排他的例として含む。
最後に、明細書において使用された言葉は主に可読性及び説明の目的のために選択されたものであり、本発明の主題の輪郭を描いたり制限を加えたりするために選択されたものではない。従って、本技術の開示は説明のためを意図したものであって、以下の請求項において明らかにされる本技術の範囲を限定するものではない。
Claims (20)
- 協働コンテンツ管理システムがドキュメントにアクセスすることと、
前記協働コンテンツ管理システムが、前記協働コンテンツ管理システムによって保持されているスプレッドシートの一部の選択を受け付けることであって、前記スプレッドシートの前記一部の前記選択が、ひとつ以上のセルのひとつ以上の列およびひとつ以上の行への編成を含み、前記スプレッドシートが前記ドキュメントとは異なる、受け付けることと、
前記協働コンテンツ管理システムが、前記ひとつ以上のセルの前記ひとつ以上の列および前記ひとつ以上の行への前記編成が保存されるように、前記スプレッドシートの前記一部の前記選択を前記ドキュメントに埋め込むことと、
前記協働コンテンツ管理システムが、前記スプレッドシートの前記一部の前記選択の前記ひとつ以上のセルの前記ひとつ以上の列および前記ひとつ以上の行への前記編成が表示されるように、デバイスディスプレイのインタフェース内に、前記ドキュメントを表示させることと、
前記協働コンテンツ管理システムが、前記ドキュメントに対する編集を受け付けることであって、前記受け付けられた編集が前記ドキュメントに埋め込まれた前記スプレッドシートの前記一部の前記選択内に含まれるデータに対する編集を含む、受け付けることと、
前記協働コンテンツ管理システムが、前記ドキュメントに対する前記受け付けられた編集に基づいて、前記協働コンテンツ管理システムに保持されている前記スプレッドシートを更新することと、を含む方法。 - 前記協働コンテンツ管理システムが、前記スプレッドシート内に含まれるデータであって前記スプレッドシートの前記一部の前記選択に対応するデータに対する第2の編集を受け付けることと、
前記協働コンテンツ管理システムが、前記受け付けられた第2の編集に基づいて前記スプレッドシートを更新することと、をさらに含み、
前記スプレッドシートの前記一部の前記表示された選択が、前記受け付けられた第2の編集を反映するよう更新される請求項1に記載の方法。 - 前記ドキュメントが第1デバイスに表示され、前記編集が前記第1デバイスから受け付けられ、前記スプレッドシートが第2デバイスに表示され、前記第2の編集が前記第2デバイスから受け付けられる請求項2に記載の方法。
- 前記スプレッドシートの前記一部の前記選択が、前記ひとつ以上のセルに関連付けられたひとつ以上の式が保存されるように前記ドキュメントに埋め込まれる請求項1に記載の方法。
- 前記スプレッドシートの前記一部の前記選択内の前記ひとつ以上のセルが第1セルと第2セルとを含み、前記第1セルおよび前記第2セルは、前記第2セル内に含まれるデータの値が前記第1セル内に含まれるデータの値に基づくように式に関連付けられる請求項4に記載の方法。
- 前記受け付けられた編集が前記第1セル内に含まれる前記データに対する編集を含み、 前記方法はさらに、
前記協働コンテンツ管理システムが、前記第1セル内に含まれる前記データに対する前記受け付けられた編集と、前記第1セルおよび前記第2セルに関連付けられた前記式と、に基づいて、前記第2セル内に含まれるデータの前記値を更新することを含み、
前記スプレッドシートの前記一部の前記表示された選択が、前記第2セル内に含まれるデータの前記更新された値を反映するよう更新される請求項5に記載の方法。 - 前記スプレッドシートの前記一部の前記選択内に含まれる前記ひとつ以上のセルが第1セルを含み、前記スプレッドシートが前記スプレッドシートの前記一部の前記選択内に含まれない第2セルを含み、前記第1セルおよび前記第2セルが式に関連付けられる請求項4に記載の方法。
- 前記第2セル内のデータの値が前記第1セル内のデータの値と前記式とに基づき、前記受け付けられた編集が前記第1セル内に含まれる前記データに対する編集を含み、前記方法はさらに、
前記協働コンテンツ管理システムが、前記第1セル内に含まれる前記データに対する前記受け付けられた編集と、前記第1セルおよび前記第2セルに関連付けられた前記式と、に基づいて、前記第2セル内に含まれるデータの前記値を更新することを含む請求項5に記載の方法。 - 前記第1セル内のデータの値が前記第2セル内のデータの値と前記式とに基づき、前記方法はさらに、
前記協働コンテンツ管理システムが、前記第2セル内に含まれる前記データに対する第2の編集を受け付けることと、
前記協働コンテンツ管理システムが、前記第2セル内に含まれる前記データに対する前記受け付けられた第2の編集と、前記第1セルおよび前記第2セルに関連付けられた前記式と、に基づいて、前記第1セル内に含まれるデータの前記値を更新することと、を含み、
前記スプレッドシートの前記一部の前記表示された選択が、前記第1セル内に含まれるデータの前記更新された値を反映するよう更新される請求項5に記載の方法。 - 前記スプレッドシートの前記一部の前記選択に対する前記受け付けられた編集が前記ひとつ以上のセルのうちのひとつのセル内のデータの削除を含み、前記協働コンテンツ管理システムによって保持されている前記スプレッドシートを更新することが前記スプレッドシートの前記ひとつのセル内の前記データを削除することを含む請求項1に記載の方法。
- 前記スプレッドシートの前記一部の前記選択に対する前記受け付けられた編集が前記ひとつ以上のセルのうちのひとつのセルに関連付けられた式の生成を含み、前記協働コンテンツ管理システムによって保持されている前記スプレッドシートを更新することが前記スプレッドシートの前記ひとつのセルに関連付けて前記式を追加することを含む請求項1に記載の方法。
- 前記受け付けられた編集が前記スプレッドシートの前記一部の前記選択に対するフォーマット編集を含み、当該フォーマット編集が、セルサイズ変更、行の高さの変更、列の幅の変更、フォント変更、セルの色の変更、およびテキストの色の変更のうちのひとつ以上を含む請求項1に記載の方法。
- 前記受け付けられた編集が、前記スプレッドシートへの行または列の追加の要求、前記スプレッドシートからの行または列の削除の要求、および前記スプレッドシート内のひとつ以上のセルを前記スプレッドシート内の新たな位置にシフトさせる要求のうちのひとつ以上を含む請求項1に記載の方法。
- 前記スプレッドシートは前記スプレッドシートにアクセス可能なユーザの集合を特定するひとつ以上のアクセス許可に関連付けられており、前記ひとつ以上のアクセス許可によって特定されないユーザが前記ドキュメントを見る場合、当該ユーザは、前記ドキュメント内に含まれる前記スプレッドシートの前記一部の前記選択を見ることができない請求項1に記載の方法。
- 前記スプレッドシートは前記スプレッドシートを編集可能なユーザの集合を特定するひとつ以上の編集許可に関連付けられており、前記ひとつ以上の編集許可によって特定されないユーザが前記ドキュメントを見る場合、当該ユーザは、前記ドキュメント内に含まれる前記スプレッドシートの前記一部の前記選択を見ることはできるが、前記スプレッドシートの前記一部の前記選択を変更することはできない請求項1に記載の方法。
- 前記スプレッドシートは前記スプレッドシートの前記一部の前記選択内に含まれる前記データに対する前記編集を受け付けることに応じて、実質的にリアルタイムで更新される請求項1に記載の方法。
- プロセッサと、
実行可能コンピュータインストラクションを保持する非一時的コンピュータ可読保持媒体と、を備え、
前記実行可能コンピュータインストラクションは前記プロセッサによって実行された場合、前記プロセッサに、
ドキュメントにアクセスすることと、
スプレッドシートの一部の選択を受け付けることであって、前記スプレッドシートの前記一部の前記選択が、ひとつ以上のセルのひとつ以上の列およびひとつ以上の行への編成を含み、前記スプレッドシートが前記ドキュメントとは異なる、受け付けることと、
前記ひとつ以上のセルの前記ひとつ以上の列および前記ひとつ以上の行への前記編成が保存されるように、前記スプレッドシートの前記一部の前記選択を前記アクセスされたドキュメントに埋め込むことと、
前記スプレッドシートの前記一部の前記選択の前記ひとつ以上のセルの前記ひとつ以上の列および前記ひとつ以上の行への前記編成が表示されるように、デバイスディスプレイのインタフェース内に、前記ドキュメントを表示させることと、
前記ドキュメントに対する編集を受け付けることであって、前記受け付けられた編集が前記ドキュメントに埋め込まれた前記スプレッドシートの前記一部の前記選択内に含まれるデータに対する編集を含む、受け付けることと、
前記ドキュメントに対する前記受け付けられた編集に基づいて前記スプレッドシートを更新することと、を含むステップを行わせる協働コンテンツ管理システム。 - 前記ドキュメントはスプレッドシートではなく、前記スプレッドシートおよび前記ドキュメントの一方または両方は前記協働コンテンツ管理システムの外部のシステムによって保持される請求項17に記載の協働コンテンツ管理システム。
- インストラクションを保持する非一時的コンピュータ可読保持媒体であって、
前記インストラクションはプロセッサによって実行された場合、前記プロセッサに、
前記プロセッサが、ドキュメントにアクセスすることと、
前記プロセッサが、スプレッドシートの一部の選択を受け付けることであって、前記スプレッドシートの前記一部の前記選択が、ひとつ以上のセルのひとつ以上の列およびひとつ以上の行への編成を含み、前記スプレッドシートが前記ドキュメントとは異なる、受け付けることと、
前記プロセッサが、前記ひとつ以上のセルの前記ひとつ以上の列および前記ひとつ以上の行への前記編成が保存されるように、前記スプレッドシートの前記一部の前記選択を前記アクセスされたドキュメントに埋め込むことと、
前記プロセッサが、前記スプレッドシートの前記一部の前記選択の前記ひとつ以上のセルの前記ひとつ以上の列および前記ひとつ以上の行への前記編成が表示されるように、デバイスディスプレイのインタフェース内に、前記ドキュメントを表示させることと、
前記表示された協働コンテンツアイテムを介して前記プロセッサが、前記ドキュメントに対する編集を受け付けることであって、前記受け付けられた編集が前記ドキュメントに埋め込まれた前記スプレッドシートの前記一部の前記選択内に含まれるデータに対する編集を含む、受け付けることと、
前記プロセッサが、前記ドキュメントに対する前記受け付けられた編集に基づいて前記スプレッドシートを更新することと、を含むステップを行わせる非一時的コンピュータ可読保持媒体。 - 前記ドキュメントはスプレッドシートではなく、前記スプレッドシートおよび前記ドキュメントの一方または両方は前記ウェブサーバの外部のシステムによって保持される請求項19に記載のコンピュータ可読保持媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/802,457 | 2017-11-03 | ||
US15/802,457 US10437923B2 (en) | 2017-11-03 | 2017-11-03 | Collaborative spreadsheet embedding and management |
JP2020511313A JP6964182B2 (ja) | 2017-11-03 | 2018-08-29 | 協働スプレッドシート埋め込みおよび管理 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020511313A Division JP6964182B2 (ja) | 2017-11-03 | 2018-08-29 | 協働スプレッドシート埋め込みおよび管理 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021168198A true JP2021168198A (ja) | 2021-10-21 |
Family
ID=63684452
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020511313A Active JP6964182B2 (ja) | 2017-11-03 | 2018-08-29 | 協働スプレッドシート埋め込みおよび管理 |
JP2021118934A Pending JP2021168198A (ja) | 2017-11-03 | 2021-07-19 | 協働スプレッドシート埋め込みおよび管理 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020511313A Active JP6964182B2 (ja) | 2017-11-03 | 2018-08-29 | 協働スプレッドシート埋め込みおよび管理 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10437923B2 (ja) |
EP (1) | EP3665596A1 (ja) |
JP (2) | JP6964182B2 (ja) |
WO (1) | WO2019089117A1 (ja) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11971860B2 (en) | 2015-12-28 | 2024-04-30 | Dropbox, Inc. | Embedded folder views |
US11314692B1 (en) | 2017-10-18 | 2022-04-26 | Comake, Inc. | Workflow relationship management and contextualization |
US10762060B1 (en) * | 2017-10-18 | 2020-09-01 | Comake, Inc. | Electronic file management |
US10970349B1 (en) | 2017-10-18 | 2021-04-06 | Comake, Inc. | Workflow relationship management and contextualization |
US11409820B1 (en) | 2017-10-18 | 2022-08-09 | Comake, Inc. | Workflow relationship management and contextualization |
US11157505B2 (en) | 2017-10-18 | 2021-10-26 | Comake, Inc. | Dynamic presentation of searchable contextual actions and data |
US11741300B2 (en) | 2017-11-03 | 2023-08-29 | Dropbox, Inc. | Embedded spreadsheet data implementation and synchronization |
US10747560B2 (en) * | 2018-03-20 | 2020-08-18 | Microsoft Technology Licensing, Llc | Computerized task guidance across devices and applications |
US10540977B2 (en) | 2018-03-20 | 2020-01-21 | Microsoft Technology Licensing, Llc | Proximity-based engagement with digital assistants |
EP3738056A1 (en) * | 2018-04-18 | 2020-11-18 | Dropbox, Inc. | New comment navigation in a mobile document interface |
US10970275B2 (en) * | 2018-06-15 | 2021-04-06 | Sap Se | System and methods for providing a data store having linked differential data structures |
CA3110213A1 (en) | 2018-08-21 | 2020-02-27 | GrowthPlan LLC | Grid-based data processing with changeable cell formats |
US12032809B2 (en) * | 2018-12-19 | 2024-07-09 | Procore Technologies, Inc. | Computer system and method for creating, assigning, and interacting with action items related to a collaborative task |
US11120211B2 (en) * | 2019-04-23 | 2021-09-14 | Microsoft Technology Licensing, Llc | Combining spreadsheet recorded operations |
CN110175320B (zh) * | 2019-05-08 | 2024-04-30 | 抖音视界有限公司 | 文档标记方法和装置 |
CN110263286A (zh) | 2019-06-24 | 2019-09-20 | 北京字节跳动网络技术有限公司 | 在线协作文档的处理方法及设备 |
US11361155B2 (en) | 2019-08-08 | 2022-06-14 | Rubrik, Inc. | Data classification using spatial data |
US11023671B2 (en) * | 2019-08-08 | 2021-06-01 | Rubrik, Inc. | Data classification using spatial data |
US11328122B2 (en) * | 2019-08-08 | 2022-05-10 | Rubrik, Inc. | Data classification using spatial data |
US11561936B2 (en) * | 2019-08-21 | 2023-01-24 | Salesforce, Inc. | Building collaborative data processing flows |
CN112989773B (zh) * | 2019-12-13 | 2024-02-20 | 北京庖丁科技有限公司 | 用于同步更新数据的方法、装置、设备和计算机可读介质 |
CN111080270A (zh) * | 2019-12-31 | 2020-04-28 | 杨剑峰 | 协同系统应用设计方法、系统、装置、服务器和存储介质 |
US11544227B2 (en) * | 2020-06-18 | 2023-01-03 | T-Mobile Usa, Inc. | Embedded reference object and interaction within a visual collaboration system |
JP7555741B2 (ja) | 2020-07-13 | 2024-09-25 | 株式会社ディーバ | 共有セル管理装置、共有セル管理方法及び共有セル管理プログラム |
US12045749B2 (en) * | 2020-09-23 | 2024-07-23 | Delta Pds Co., Ltd. | Apparatus and method of processing work chat room |
CN112764974B (zh) * | 2021-01-28 | 2023-12-29 | 河北研云科技有限公司 | 信息资产在线管理方法及系统 |
US20220261761A1 (en) * | 2021-02-17 | 2022-08-18 | Atlassian Pty Ltd. | Displaying content in a collaborative work environment |
CN114997124A (zh) * | 2021-03-01 | 2022-09-02 | 北京字跳网络技术有限公司 | 表格内容处理方法、装置、设备、存储介质 |
JP2024508012A (ja) * | 2021-03-01 | 2024-02-21 | 北京字跳▲網▼絡技▲術▼有限公司 | 表内容処理方法、装置、機器、及び記憶媒体 |
CN115061601B (zh) * | 2021-03-01 | 2024-05-07 | 北京字跳网络技术有限公司 | 电子文档的处理方法、装置、终端和存储介质 |
CN115081412A (zh) * | 2021-03-01 | 2022-09-20 | 北京字跳网络技术有限公司 | 表格内容处理方法、装置、设备、存储介质 |
US11625527B1 (en) * | 2021-11-17 | 2023-04-11 | Oracle International Corporation | Method and system for creating, retrieving, and editing web service attachments in spreadsheets |
US11868706B1 (en) * | 2021-12-13 | 2024-01-09 | Notion Labs, Inc. | System, method, and computer program for syncing content across workspace pages |
US11687701B1 (en) | 2022-01-21 | 2023-06-27 | Notion Labs, Inc. | System, method, and computer program for enabling text editing across multiple content blocks in a system |
CN115328326A (zh) * | 2022-07-26 | 2022-11-11 | 北京达美盛软件股份有限公司 | 一种基于vr的表单配置方法和系统 |
WO2024062861A1 (ja) * | 2022-09-21 | 2024-03-28 | 株式会社レゾナック | 情報検索装置、方法、及びプログラム |
CN116938863A (zh) * | 2023-07-20 | 2023-10-24 | 北京字跳网络技术有限公司 | 表格内容分享方法、装置、计算机设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8307119B2 (en) * | 2006-03-31 | 2012-11-06 | Google Inc. | Collaborative online spreadsheet application |
WO2011130228A2 (en) | 2010-04-12 | 2011-10-20 | Google Inc. | Scrolling in large hosted data set |
US8539339B2 (en) | 2010-04-12 | 2013-09-17 | Google Inc. | Synthetic navigation elements for electronic documents |
US9286276B2 (en) * | 2012-06-11 | 2016-03-15 | Google Inc. | System and method of document embedding in collaborative editors |
US9460073B2 (en) * | 2013-02-27 | 2016-10-04 | Google Inc. | Systems and methods for mutations and operational transforms in a collaborative spreadsheet environment |
US10027644B2 (en) * | 2015-03-03 | 2018-07-17 | Microsoft Technology Licensing, Llc | Analysis with embedded electronic spreadsheets |
-
2017
- 2017-11-03 US US15/802,457 patent/US10437923B2/en active Active
-
2018
- 2018-08-29 WO PCT/US2018/048598 patent/WO2019089117A1/en unknown
- 2018-08-29 JP JP2020511313A patent/JP6964182B2/ja active Active
- 2018-08-29 EP EP18778618.1A patent/EP3665596A1/en not_active Withdrawn
-
2019
- 2019-03-13 US US16/352,428 patent/US20190213243A1/en not_active Abandoned
-
2021
- 2021-07-19 JP JP2021118934A patent/JP2021168198A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2021501386A (ja) | 2021-01-14 |
US20190213243A1 (en) | 2019-07-11 |
WO2019089117A1 (en) | 2019-05-09 |
JP6964182B2 (ja) | 2021-11-10 |
US20190138587A1 (en) | 2019-05-09 |
EP3665596A1 (en) | 2020-06-17 |
US10437923B2 (en) | 2019-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6964182B2 (ja) | 協働スプレッドシート埋め込みおよび管理 | |
US20230289519A1 (en) | Embedded spreadsheet data implementation and synchronization | |
US10296577B1 (en) | Spreadsheet comment navigation | |
US10282405B1 (en) | Task management in a collaborative spreadsheet environment | |
US10872062B2 (en) | Moderated collaborative editing in collaborative content items | |
JP6718016B2 (ja) | 協働コンテンツアイテムにおけるイメージ注釈 | |
US11381536B2 (en) | Mobile notifications for comment threads | |
US10437786B2 (en) | Interoperability between content management system and collaborative content system | |
US10585570B2 (en) | Author sharing and recipient creation of copied collaborative content items | |
US11423357B2 (en) | Reusable components for collaborative content items | |
US10462077B2 (en) | File-level comments in collaborative content items | |
US9753921B1 (en) | Comment management in shared documents | |
US11128691B2 (en) | In-collaborative content item notifications in shared collaborative content items | |
US9727544B2 (en) | Animating edits to documents | |
US9542377B2 (en) | Note browser | |
US10868784B2 (en) | Comment thread navigation in a mobile document interface | |
US20190121995A1 (en) | Interoperability Between Content Management System and Collaborative Content System | |
US20190325071A1 (en) | Comment navigation in a mobile document interface | |
WO2019202411A1 (en) | New comment navigation in a mobile document interface | |
US20240364758A1 (en) | Displaying pinned content in a user interface | |
US20240275730A1 (en) | Rate limiter state caching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210719 |