(57)【特許請求の範囲】
【請求項１】
コンテンツ管理システムにより、プロジェクトに対応するプロジェクトフォルダであって、前記コンテンツ管理システムの複数のユーザで共有される前記プロジェクトフォルダを記憶することと、
前記コンテンツ管理システムにより、前記プロジェクトに関連付けられるコンテンツアイテムを前記プロジェクトフォルダ内に記憶することと、
前記コンテンツ管理システムにより、第１コンテンツアイテム内の第１コメント及び第２コンテンツアイテム内の第２コメントを抽出することと、
前記コンテンツ管理システムにより、前記プロジェクトに関連付けられるプロジェクトデータであって、前記複数のユーザのうちの第１ユーザにより前記第１コンテンツアイテムに関してなされた前記第１コメントと、前記複数のユーザのうちの第２ユーザにより前記第２コンテンツアイテムに関してなされた前記第２コメントとを含む前記プロジェクトデータを記憶することと、
前記コンテンツ管理システムにより、前記プロジェクトフォルダの選択を受け付けることと、
前記プロジェクトフォルダの前記選択の受け付けに応じて、選択された前記プロジェクトフォルダに対応する前記プロジェクトに関連付けられる前記プロジェクトデータを取得することと、
前記コンテンツ管理システムにより、前記第１コメントの第１表現及び前記第２コメントの第２表現を含めて、前記プロジェクトデータの少なくとも一部を含むプロジェクトフォルダビューを生成することと、
前記コンテンツ管理システムにより、クライアントデバイスに、クライアントデバイスのディスプレイ上で前記プロジェクトフォルダビューを提示させることと、
を含む方法。
【請求項２】
請求項１の方法であって、さらに、
前記コンテンツ管理システムにより、タスクを指し示す前記第１コメント内の文字パターンを検出することと、
前記文字パターンの検出に応じて、前記コンテンツ管理システムにより、前記第１コメントを、前記第１コメントに対応するタスク記述を有するタスクへ変換することと、
前記タスク及び前記第２コメントを含む前記プロジェクトフォルダビューを生成することと、
を含む方法。
【請求項３】
請求項１の方法であって、さらに、
前記コンテンツ管理システムにより、前記第１コメント内の第１タグを検出することと、
前記コンテンツ管理システムにより、前記第２コメント内の第２タグを検出することと、
前記第１タグ及び前記第２タグに従って前記プロジェクトフォルダビューを配置することと、
を含む方法。
【請求項４】
請求項２の方法であって、さらに、
前記コンテンツ管理システムにより、前記タスク記述内の第１タグを検出することと、
前記コンテンツ管理システムにより、前記第２コメント内の第２タグを検出することと、
前記第１タグ及び前記第２タグに従って前記プロジェクトフォルダビュー内の前記タスク及び前記第２コメントを配置することと、
を含む方法。
【請求項５】
請求項１の方法であって、前記第１コメントの前記第１表現は、前記第１コメントに関連付けられる前記第１コンテンツアイテムに対応する第１コンテンツアイテム識別子を含み、前記第２コメントの前記第２表現は、前記第２コメントに関連付けられる前記第２コンテンツアイテムに対応する第２コンテンツアイテム識別子を含む、方法。
【請求項６】
請求項１の方法であって、前記プロジェクトフォルダビューは、前記プロジェクトに関連付けられるコンテンツアイテム、コメント、タスク及びタグへアクセスするために選択可能な、複数のグラフィカル要素を含む、方法。
【請求項７】
１つ以上のプロセッサにより実行された場合に前記プロセッサに動作を行わせる命令群の１つ以上のシーケンス、を含む非一時的なコンピュータ読取可能な媒体であって、前記動作は、
コンテンツ管理システムにより、プロジェクトに対応するプロジェクトフォルダであって、前記コンテンツ管理システムの複数のユーザで共有される前記プロジェクトフォルダを記憶することと、
前記コンテンツ管理システムにより、前記プロジェクトに関連付けられるコンテンツアイテムを前記プロジェクトフォルダ内に記憶することと、
前記コンテンツ管理システムにより、第１コンテンツアイテム内の第１コメント及び第２コンテンツアイテム内の第２コメントを抽出することと、
前記コンテンツ管理システムにより、前記プロジェクトに関連付けられるプロジェクトデータであって、前記複数のユーザのうちの第１ユーザにより前記第１コンテンツアイテムに関してなされた前記第１コメントと、前記複数のユーザのうちの第２ユーザにより前記第２コンテンツアイテムに関してなされた前記第２コメントとを含む前記プロジェクトデータを記憶することと、
前記コンテンツ管理システムにより、前記プロジェクトフォルダの選択を受け付けることと、
前記プロジェクトフォルダの前記選択の受け付けに応じて、選択された前記プロジェクトフォルダに対応する前記プロジェクトに関連付けられる前記プロジェクトデータを取得することと、
前記コンテンツ管理システムにより、前記第１コメントの第１表現及び前記第２コメントの第２表現を含めて、前記プロジェクトデータの少なくとも一部を含むプロジェクトフォルダビューを生成することと、
前記コンテンツ管理システムにより、クライアントデバイスに、クライアントデバイスのディスプレイ上で前記プロジェクトフォルダビューを提示させることと、
を含む、非一時的なコンピュータ読取可能な媒体。
【請求項８】
請求項７の非一時的なコンピュータ読取可能な媒体であって、さらに、
前記コンテンツ管理システムにより、タスクを指し示す前記第１コメント内の文字パターンを検出することと、
前記文字パターンの検出に応じて、前記コンテンツ管理システムにより、前記第１コメントを、前記第１コメントに対応するタスク記述を有するタスクへ変換することと、
前記タスク及び前記第２コメントを含む前記プロジェクトフォルダビューを生成することと、
を行わせる命令群を含む、非一時的なコンピュータ読取可能な媒体。
【請求項９】
請求項７の非一時的なコンピュータ読取可能な媒体であって、さらに、
前記コンテンツ管理システムにより、前記第１コメント内の第１タグを検出することと、
前記コンテンツ管理システムにより、前記第２コメント内の第２タグを検出することと、
前記第１タグ及び前記第２タグに従って前記プロジェクトフォルダビューを配置することと、
を行わせる命令群を含む、非一時的なコンピュータ読取可能な媒体。
【請求項１０】
請求項８の非一時的なコンピュータ読取可能な媒体であって、さらに、
前記コンテンツ管理システムにより、前記タスク記述内の第１タグを検出することと、
前記コンテンツ管理システムにより、前記第２コメント内の第２タグを検出することと、
前記第１タグ及び前記第２タグに従って前記プロジェクトフォルダビュー内の前記タスク及び前記第２コメントを配置することと、
を行わせる命令群を含む、非一時的なコンピュータ読取可能な媒体。
【請求項１１】
請求項７の非一時的なコンピュータ読取可能な媒体であって、前記第１コメントの前記第１表現は、前記第１コメントに関連付けられる前記第１コンテンツアイテムに対応する第１コンテンツアイテム識別子を含み、前記第２コメントの前記第２表現は、前記第２コメントに関連付けられる前記第２コンテンツアイテムに対応する第２コンテンツアイテム識別子を含む、非一時的なコンピュータ読取可能な媒体。
【請求項１２】
請求項７の非一時的なコンピュータ読取可能な媒体であって、前記プロジェクトフォルダビューは、前記プロジェクトに関連付けられるコンテンツアイテム、コメント、タスク及びタグへアクセスするために選択可能な、複数のグラフィカル要素を含む、非一時的なコンピュータ読取可能な媒体。
【請求項１３】
システムであって、
１つ以上のプロセッサと、
１つ以上のプロセッサにより実行された場合に前記プロセッサに動作を行わせる命令群の１つ以上のシーケンス、を含む非一時的なコンピュータ読取可能な媒体と、を備え、前記動作は、
コンテンツ管理システムにより、プロジェクトに対応するプロジェクトフォルダであって、前記コンテンツ管理システムの複数のユーザで共有される前記プロジェクトフォルダを記憶することと、
前記コンテンツ管理システムにより、前記プロジェクトに関連付けられるコンテンツアイテムを前記プロジェクトフォルダ内に記憶することと、
前記コンテンツ管理システムにより、第１コンテンツアイテム内の第１コメント及び第２コンテンツアイテム内の第２コメントを抽出することと、
前記コンテンツ管理システムにより、前記プロジェクトに関連付けられるプロジェクトデータであって、前記複数のユーザのうちの第１ユーザにより前記第１コンテンツアイテムに関してなされた前記第１コメントと、前記複数のユーザのうちの第２ユーザにより前記第２コンテンツアイテムに関してなされた前記第２コメントとを含む前記プロジェクトデータを記憶することと、
前記コンテンツ管理システムにより、前記プロジェクトフォルダの選択を受け付けることと、
前記プロジェクトフォルダの前記選択の受け付けに応じて、選択された前記プロジェクトフォルダに対応する前記プロジェクトに関連付けられる前記プロジェクトデータを取得することと、
前記コンテンツ管理システムにより、前記第１コメントの第１表現及び前記第２コメントの第２表現を含めて、前記プロジェクトデータの少なくとも一部を含むプロジェクトフォルダビューを生成することと、
前記コンテンツ管理システムにより、クライアントデバイスに、クライアントデバイスのディスプレイ上で前記プロジェクトフォルダビューを提示させることと、
を含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願］
本出願は２０１６年１２月３０日に提出された係属中の米国特許出願第１５／３９５，２２０号の継続出願であり、その内容は、全体として参照によりここに取り入れられる。
【背景技術】
【０００２】
プロジェクトの管理においてユーザを支援する多くのソフトウェアアプリケーションが存在する。しばしば、それらソフトウェアアプリケーションは、複雑かつ使用することが困難である。多くの場合、多様なタスク、文書タイプ、スケジュール、通信、並びに他のプロジェクト関連のアクティビティ及びファイルを管理するために、いくつかの異なるソフトウェアアプリケーションを要する。プロジェクトを管理するためにこれら既存のシステムを使用することは、ユーザにとって、学習するのが困難であり、使用するのが面倒であり、時間が掛かることであり得る。
【発明の概要】
【０００３】
本開示の追加的な特徴及び利点が、これ以降の記述において説示され、一部はその記述から明らかとなり、又はここで開示される原理の実践により学習され得る。本開示のそれら特徴及び利点は、添付の特許請求の範囲において具体的に摘示される機器及び組合せの手段により実現され及び獲得され得る。本開示のそれら及び他の特徴は、以下の説明及び添付の特許請求の範囲からより充分に明白となり、又はここで説示される原理の実践によって学習され得る。
【０００４】
開示されるのは、コンテンツ管理システムにおいてプロジェクトを管理するための、システム、方法及び非一時的なコンピュータ読取可能な記憶媒体である。例えば、コンテンツ管理システムは、プロジェクトに関連付けられるデータを管理するためのプロジェクトフォルダ（例えば、共有フォルダ）を生成し得る。プロジェクトへの寄与者であるコンテンツ管理システムユーザ（例えば、複数のプロジェクトメンバ）で、プロジェクトフォルダを共有し得る。コンテンツ管理システムは、プロジェクトに関連するプロジェクトデータ（例えば、コンテンツアイテム、通信、コメント、タスクなど）をプロジェクトフォルダ内に記憶し得る。プロジェクトフォルダがユーザによって選択されると、コンテンツ管理システムは、プロジェクトフォルダ及び／又はプロジェクトに関連付けられるプロジェクトデータを、便利かつアクセスの容易なグラフィカルユーザインタフェースで提示するプロジェクトフォルダビューを生成し得る。コンテンツ管理システムは、プロジェクトに関連付けられる多様なコンテンツアイテムからのプロジェクトデータを集約し、そのプロジェクトデータを単一のグラフィカルユーザインタフェースで提示し得る。
【０００５】
開示されるのは、コンテンツ管理システムにおいてタスクを管理するための、システム、方法及び非一時的なコンピュータ読取可能な記憶媒体である。例えば、コンテンツ管理システムは、複数のプロジェクト及び／又はコンテンツアイテムをまたいで、ユーザに割り当てられるタスクデータを収集し、集約し及び／又は記憶し得る。ユーザは、具体的なプロジェクトについて、及び／又は全てのプロジェクトをまたいで、タスクを閲覧することを選択し得る。コンテンツ管理システムは、ユーザに関連付けられるタスクデータを提示するための単一のグラフィカルユーザインタフェースを生成し得る。コンテンツ管理システムは、ユーザがタスクをあるタスクステータスグラフィカル要素（例えば、タスクステータスコンテナ）から他のタスクステータスグラフィカル要素へ移動させて当該ユーザに関連付けられるタスクのステータスを変更することを可能にするグラフィカルユーザインタフェースを生成し得る。よって、ユーザは、当該ユーザに割り当てられたタスクを迅速かつ容易に閲覧することができ、及び、使用の容易なグラフィカルユーザインタフェースでタスクのステータスを更新することができる。
【図面の簡単な説明】
【０００６】
本開示の上述した及び他の利点及び特徴は、添付図面において例示されるその固有の実施形態を参照することにより明らかになるであろう。これら図面が本開示の例示的な実施形態のみを描いており、したがってそのスコープを限定するものとみなされるべきではないと理解しながら、ここでの原理を、次の添付図面の使用を通して、追加的な具体例及び詳細と共に記述し及び説明する：
【０００７】
【図１】いくつかの実施形態に係るデバイス及びネットワークの例示的な構成を示している。
【図２】コンテンツ管理システムにおいてプロジェクトデータを管理するための例示的なシステムのブロック図である。
【図３】プロジェクトフォルダを提示するための例示的なグラフィカルユーザインタフェースを示している。
【図４】プロジェクトフォルダビューを提示するための例示的なグラフィカルユーザインタフェースを示している。
【図５】新たなコンテンツアイテムをプロジェクトへ追加するための例示的なグラフィカルユーザインタフェースを示している。
【図６】選択されたプロジェクトフォルダへ追加されたコンテンツアイテムのビューを提示するための例示的なグラフィカルユーザインタフェースを示している。
【図７】特殊表現を含む例示的なテキストを示している。
【図８】選択されたプロジェクトフォルダへ追加されたコンテンツアイテムを提示する例示的なグラフィカルユーザインタフェースを示している。
【図９】選択されたプロジェクトの記述を提示するための例示的なグラフィカルユーザインタフェースを示している。
【図１０】選択されたプロジェクトに関連付けられるタスクを提示するための例示的なグラフィカルユーザインタフェースを示している。
【図１１】タグ付きプロジェクトデータを提示するための例示的なグラフィカルユーザインタフェースを示している。
【図１２】プロジェクトに関連付けられるコメントを提示するための例示的なグラフィカルユーザインタフェースを示している。
【図１３】最近アクセスされたコンテンツアイテムを提示する例示的なグラフィカルユーザインタフェースを示している。
【図１４】コンテンツ管理システムの具体的なユーザに関連付けられるタスクを提示するための例示的なグラフィカルユーザインタフェースを示している。
【図１５】新たなタスクを生成するための例示的なグラフィカルユーザインタフェースを示している。
【図１６】新たに生成されたタスクを提示する例示的なグラフィカルユーザインタフェースを示している。
【図１７】ユーザに関連付けられるタスクの列ビューを提示する例示的なグラフィカルユーザインタフェースを示している。
【図１８】タスクの状態を変更するための例示的なグラフィカルインタフェースを示している。
【図１９】コンテンツ管理システムにおいてプロジェクトを管理するための例示的な処理である。
【図２０】コンテンツ管理システムにおいてタスクを管理するための例示的な処理である。
【図２１Ａ】本技術の多様な実施形態を実装するための例示的なあり得るシステムの実施形態を示している。
【図２１Ｂ】本技術の多様な実施形態を実装するための例示的なあり得るシステムの実施形態を示している。
【発明を実施するための形態】
【０００８】
本開示の多様な実施形態が、以下で詳細に説明される。固有の実装が議論されるものの、それは例示の目的のためになされるに過ぎないことが理解されるべきである。当業者は、本開示の思想及びスコープから逸脱することなく、他のコンポーネント及び構成を使用し得ることを認識するであろう。
【０００９】
開示される技術は、ユーザがプロジェクトデータを管理するための容易で単純かつ便利な手法についての当分野におけるニーズに対処する。ここで説明するコンテンツ管理システムによって管理される共有プロジェクトフォルダへプロジェクトデータを編成することにより、ユーザは、単一の場所で特定のプロジェクトについての全てのプロジェクトデータへアクセスすることができる。そのうえ、コンテンツ管理システムは、ユーザが複数のソフトウェアアプリケーションを実行し又はプロジェクトデータを閲覧するために複数のユーザインタフェースとインタラクションしなくてもよいように、共有フォルダに記憶され及び／又はプロジェクトに関連付けられた複数のコンテンツアイテムをまたいでプロジェクトデータを集約するグラフィカルユーザインタフェースを生成することにより、プロジェクトデータを生成し及び提示することができる。追加的に、コンテンツ管理システムが、プロジェクトフォルダをプロジェクトのメンバ／ユーザに関連付けられたコンピューティングデバイスと同期させることから、プロジェクトメンバは、コンテンツ管理システムのサーバを通じて、又は（例えば、ユーザのデバイスがネットワークに接続されていない場合には）ユーザのデバイスのローカルファイルシステム上で、プロジェクトデータへアクセスすることができる。ここで開示される技術は、ユーザがプロジェクト管理タスクを実行するために、かつてユーザのデバイス上にインストールしなければならなかったソフトウェアアプリケーションの数を低減することにより、ユーザデバイス及びコンテンツ管理システムのサーバデバイスの双方の効率を改善する。そのうえ、全てのプロジェクトデータを（例えば、異なる複数のロケーションに代えて）一元的なロケーションに記憶することによって、ユーザデバイス及び／又はコンテンツ管理システムサーバは、プロジェクトに関連付けられたデータ（例えば、コンテンツアイテム、コメント、タスクなど）を見出し、集約し、処理し及び提示するために、より少ない処理しか行うことを要しない。
【００１０】
開示される技術の多様な実施形態を実装することに関し、例示的なシステム構成１００が図１に示されており、そこでは、コンテンツ及び他のデータを交換する目的で複数の電子デバイスがネットワークを介して通信する。そのシステムは、図１に示したネットワークのような、ワイドエリアネットワーク上での使用のために構成され得る。しかしながら、提示する原理は、電子デバイスの相互通信を促進する広範なネットワーク構成に適用可能である。例えば、図１におけるシステム１００のコンポーネントの各々を、ネットワーク内で局所化したやり方又は分散したやり方で実装することができる。
【００１１】
システム１００において、ユーザは、直接的な及び／又は間接的な通信によってネットワーク１０４へ接続されるクライアントデバイス１０２１、１０２２、…、１０２ｎ（“１０２”と総称）を通じて、コンテンツ管理システム１０６（例えば、オンラインで同期されるコンテンツ管理システム）とインタラクションし得る。コンテンツ管理システム１０６は、ここで説明されるサービスを提供するために必要な機能及び／又は動作を実行するように構成される、単一のコンピューティングデバイス（例えば、サーバ）又は複数のコンピューティングデバイス（例えば、複数のサーバ）を含み得る。コンテンツ管理システム１０６は、デスクトップコンピュータ、モバイルコンピュータ、モバイル通信装置（例えば、モバイルフォン、スマートフォン、タブレット）、スマートテレビ、セットトップボックス、及び／又は、任意の他のネットワーク対応コンピューティングデバイスといった、複数の異なる多様なクライアントデバイスからの接続をサポートし得る。クライアントデバイス１０２は、多様なタイプ、ケイパビリティ、オペレーティングシステムなどを有し得る。さらに、コンテンツ管理システム１０６は、複数のクライアントデバイス１０２からの接続を並行して受け入れてそれらとインタラクションし得る。
【００１２】
ユーザは、クライアントデバイス１０２i上にインストールされたクライアント側アプリケーションを介してコンテンツ管理システム１０６とインタラクションし得る。いくつかの実施形態において、クライアント側アプリケーションは、コンテンツ管理システムに固有のコンポーネントを含み得る。例えば、そのコンポーネントは、スタンドアローンのアプリケーション、１つ以上のアプリケーションプラグイン、及び／又はブラウザ拡張であり得る。しかしながら、ユーザは、クライアントデバイス１０２iに常駐するウェブブラウザなどのサードパーティアプリケーションであってコンテンツ管理システム１０６と通信するように構成される当該サードパーティアプリケーションを介して、コンテンツ管理システム１０６とインタラクションすることもできる。いずれのケースでも、クライアント側アプリケーションは、ユーザがコンテンツ管理システム１０６とインタラクションするためのユーザインタフェース（ＵＩ）を提示し得る。例えば、ユーザは、ファイルシステムに統合されるクライアント側アプリケーションを介して、又はウェブブラウザアプリケーションを用いて表示されるウェブページを介して、コンテンツ管理システム１０６とインタラクションし得る。
【００１３】
コンテンツ管理システム１０６は、ユーザがコンテンツアイテムを保存し、並びに、コンテンツアイテムの読み出し、修正、ブラウジング及び／又は共有といった多様なコンテンツ管理タスクを実行することを可能にし得る。さらに、コンテンツ管理システム１０６は、ユーザが複数のクライアントデバイス１０２からコンテンツへアクセスすることを可能にし得る。例えば、クライアントデバイス１０２iは、ネットワーク１０４を介してコンテンツ管理システム１０６へコンテンツをアップロードし得る。その後で、同じクライアントデバイス１０２i又は他の何らかのクライアントデバイス１０２jがコンテンツ管理システム１０６からそのコンテンツを読み出し得る。
【００１４】
多様なコンテンツ管理サービスを促進するために、ユーザは、コンテンツ管理システム１０６でアカウントを生成し得る。ユーザアカウントデータベース１５０は、アカウント情報を維持し得る。ユーザアカウントデータベース１５０は、登録されたユーザについてのプロファイル情報を記憶し得る。いくつかのケースにおいて、ユーザプロファイル内の個人情報は唯一、ユーザ名及び／又は電子メールアドレスであり得る。しかしながら、コンテンツ管理システム１０６を、誕生日、住所、請求情報といった追加的なユーザ情報を受け入れるように構成することもできる。
【００１５】
ユーザアカウントデータベース１５０は、アカウントタイプ（例えば、フリー又は支払い有り）、使用情報（例えば、ファイル編集履歴）、許可された最大記憶スペース、使用済み記憶スペース、コンテンツ記憶ロケーション、セキュリティ設定、個人構成設定、コンテンツ共有データなどといったアカウント管理情報を含み得る。アカウント管理モジュール１２４は、ユーザアカウントデータベース１５０内のユーザアカウントの詳細を更新し及び／又は取得するように構成され得る。アカウント管理モジュール１２４は、コンテンツ管理システム１０６内のいかなる数の他のモジュールとインタラクションするように構成されてもよい。
【００１６】
アカウントは、そのアカウントに関し許可された１つ以上のクライアントデバイス１０２からのデジタルデータ、文書、テキストファイル、音声ファイル、映像ファイルなどのコンテンツアイテムを記憶するために使用され得る。また、コンテンツアイテムは、フォルダ、プレイリスト、アルバムなどといったコンテンツアイテムを、様々な振る舞いと共にグループ化するためのコレクションをも含み得る。例えば、アカウントは、任意のユーザがアクセス可能な公開フォルダを含み得る。公開フォルダには、ウェブでアクセス可能なアドレスを割り当てることができる。公開フォルダのコンテンツへアクセスするために、ウェブでアクセス可能なアドレスへのリンクが使用され得る。他の例において、アカウントは、次を含み得る：写真向けに意図され、写真向けに調整された固有の属性及びアクションを提供する、写真コレクション；音声ファイルを再生し及び他の音声関連のアクションを実行する能力を提供する、音声コレクション；又は、他の特殊目的のコレクション。また、アカウントは、複数のユーザアカウントにリンクされ、複数のユーザアカウントにとって利用可能な、共有コレクション又はグループコレクションをも含み得る。１つの共有コレクションについて、複数のユーザに対する許可が相違してもよい。
【００１７】
コンテンツアイテムは、コンテンツストレージ１６０内に記憶され得る。コンテンツストレージ１６０は、１つのストレージデバイス、複数のストレージデバイス、又はサーバであり得る。代替的に、コンテンツストレージ１６０は、１つ以上の通信ネットワークを介してアクセス可能な、クラウドストレージプロバイダ又はネットワークストレージであり得る。コンテンツ管理システム１０６は、コンテンツ管理システム１０６によりどこにどのようにコンテンツアイテムが記憶されているのかをクライアントデバイス１０２が厳密に知らなくてもよいように、その複雑さ及び詳細をクライアントデバイス１０２から隠蔽し得る。いくつかの実施形態において、コンテンツ管理システム１０６は、クライアントデバイス１０２上に現れるものと同じコレクション階層で、コンテンツアイテムを記憶してもよい。しかしながら、コンテンツ管理システム１０６は、コンテンツアイテムを固有の順序、配置又は階層で記憶してもよい。コンテンツ管理システム１０６は、コンテンツアイテムを、ネットワークアクセス可能なストレージ（ＮＡＳ）デバイス内、ＲＡＩＤ（redundant  array  of  independent  disks）内などに記憶してもよい。コンテンツストレージ１６０は、ＦＡＴ、ＦＡＴ３２、ＮＴＦＳ、ＥＸＴ２、ＥＸＴ３、ＥＸＴ４、ＨＦＳ／ＨＦＳ＋、ＢＴＲＦＳといった１つ以上のパーティションタイプを用いてコンテンツアイテムを記憶してもよい。
【００１８】
また、コンテンツストレージ１６０は、コンテンツアイテムと、コンテンツアイテムタイプと、多様なアカウント、コレクション、又はグループに対するコンテンツアイテムの関係とを記述するメタデータをも記憶し得る。コンテンツアイテムについてのメタデータは、コンテンツアイテムの一部として記憶されてもよく、又は別個に記憶されてもよい。一変形例において、コンテンツストレージ１６０内に記憶される各コンテンツアイテムに、システム全体にわたって一意な識別子を割り当てることができる。
【００１９】
コンテンツストレージ１６０は、重複するコンテンツアイテム又はコンテンツアイテムの重複するセグメントを識別することにより、所要の記憶スペースの量を低減し得る。複数のコピーを記憶する代わりに、コンテンツストレージ１６０は、単一のコピーを記憶し、次いで、重複するものをその単一のコピーへリンク付けするためのポインタ又は他の仕組みを使用し得る。同様に、コンテンツストレージ１６０は、コンテンツアイテムの変更と、コンテンツアイテムの異なるバージョン（分岐したバージョンツリーを含む）と、変更履歴とを追跡するコンテンツアイテムバージョン制御を用いて、コンテンツアイテムをより効率的に記憶し、及びアンドゥ動作を行う能力を提供してもよい。変更履歴は、元のコンテンツアイテムのバージョンに適用された場合に変更後のコンテンツアイテムのバージョンを生み出す変更のセットを含み得る。
【００２０】
コンテンツ管理システム１０６は、１つ以上のクライアントデバイス１０２からのコンテンツアイテムの自動的な同期をサポートするように構成され得る。その同期は、プラットフォーム非依存であり得る。即ち、コンテンツアイテムは、タイプ、ケイパビリティ、オペレーティングシステムなどが多様な複数のクライアントデバイス１０２をまたいで同期され得る。例えば、クライアントデバイス１０２iは、クライアントソフトウェアを含んでよく、クライアントソフトウェアは、コンテンツ管理システム１０６にある同期モジュール１３２を介して、クライアントデバイス１０２iのファイルシステム内のコンテンツを、関連付けられているユーザアカウント内のコンテンツと同期させる。いくつかのケースにおいて、クライアントソフトウェアは、新たな、削除された、修正された、コピーされた、若しくは移動されたコンテンツアイテム又はコレクションといった、指定されたコレクション及びそのサブコレクション内のコンテンツに対するいかなる変更をも同期させ得る。クライアントソフトウェアは、別個のソフトウェアアプリケーションであってもよく、オペレーティングシステム内の既存のコンテンツ管理アプリケーションと統合されてもよく、又は、それらの何らかの組合せであってもよい。既存のコンテンツ管理アプリケーションと統合するクライアントソフトウェアの１つの例において、ユーザは、ローカルコレクション内でコンテンツアイテムを直接的に操作してもよく、一方で、バックグラウンドプロセスが変更についてローカルコレクションを監視し、それら変更をコンテンツ管理システム１０６へ同期させる。逆に、バックグラウンドプロセスは、コンテンツ管理システム１０６で更新されたコンテンツアイテムを識別し、それら変更をローカルコレクションに同期させ得る。クライアントソフトウェアは、同期動作の通知を提供してもよく、コンテンツ管理アプリケーション内でコンテンツステータスのの標識を直接的に提供してもよい。時折、クライアントデバイス１０２iは、利用可能なネットワーク接続を有しないかもしれない。このシナリオにおいて、クライアントソフトウェアは、リンク済みのコレクションをコンテンツアイテムの変更について監視し、それら変更を、後でネットワーク接続が利用可能であるときにコンテンツ管理システム１０６へ同期させるために待ち行列に入れてもよい。同様に、ユーザは、コンテンツ管理システム１０６との同期を、手動で開始し、停止し、一時停止し、又は再開し得る。
【００２１】
ユーザは、ユーザインタフェースモジュール１２２により生成され及びサービスされるウェブインタフェースを介して、コンテンツを閲覧し又は操作し得る。例えば、ユーザは、ウェブブラウザにおいて、コンテンツ管理システム１０６により提供されるウェブアドレスに案内され得る。コンテンツアイテムの新たなバージョンのアップロードといった、ウェブインタフェースを通じてなされるコンテンツストレージ１６０内のコンテンツの変更又は更新は、ユーザのアカウントに関連付けられる他のクライアントデバイス１０２へあらためて伝播され得る。例えば、各々自己のクライアントソフトウェアを有する複数のクライアントデバイス１０２を、単一のアカウントに関連付けることができ、そのアカウント内のコンテンツアイテムを、複数のクライアントデバイス１０２のそれぞれの間で同期させることができる。
【００２２】
コンテンツ管理システム１０６は、多様なクライアントデバイス１０２とインタフェースするための通信インタフェース１２０を含んでよく、アプリケーションプログラムインタフェース（ＡＰＩ）を介して、他のコンテンツ及び／又はサービスプロバイダ１０９１、１０９２、…、１０９n（“１０９”と総称）とインタラクションし得る。あるソフトウェアアプリケーションは、ユーザに代わって、ＡＰＩを介してコンテンツストレージ１６０へアクセスし得る。例えば、スマートフォン又はタブレットコンピューティングデバイス上で稼働するアプリといったソフトウェアパッケージは、ユーザが認証情報を提供する場合、コンテンツ管理システム１０６へプログラムにより直接的に呼を行って、コンテンツを読み取り、書き込み、生成し、削除し、共有し、又はさもなければ操作し得る。同様に、ＡＰＩは、ユーザがウェブサイトを通じてコンテンツストレージ１６０の全て又は一部へアクセスすることを可能にし得る。
【００２３】
また、コンテンツ管理システム１０６は、認証モジュール１２６を含んでもよく、認証モジュール１２６は、ユーザの認証情報、セキュリティトークン、ＡＰＩ呼び出し、及び特定のクライアントデバイスなどを検証して、許可されたクライアント及びユーザのみがコンテンツアイテムへアクセスできることを保証し得る。さらに、コンテンツ管理システム１０６は、集約的なファイル操作、ユーザアクション、ネットワーク使用量、合計使用済み記憶スペースと共に、他の技術、使用量又は商業上のメトリックについて、追跡及び報告をする分析モジュール１３４を含み得る。プライバシー及び／又はセキュリティポリシーは、コンテンツ管理システム１０６に記憶されたユーザデータへの未許可のアクセスを防止し得る。
【００２４】
コンテンツ管理システム１０６は、パブリックに又はプライベートにコンテンツを共有することを管理するための共有モジュール１３０を含み得る。コンテンツをパブリックに共有することは、コンテンツ管理システム１０６とネットワーク通信をする任意のコンピューティングデバイスからのコンテンツアイテムへのアクセスを可能にすることを含み得る。コンテンツをプライベートに共有することは、コンテンツストレージ１６０内のコンテンツアイテムを２つ以上のユーザアカウントにリンクさせ、それにより各ユーザアカウントがコンテンツアイテムへアクセスできるようにすることを含み得る。上記共有は、プラットフォーム非依存のやり方で行われ得る。即ち、コンテンツは、タイプ、ケイパビリティ、オペレーティングシステムなどが多様な複数のクライアントデバイス１０２をまたいで共有され得る。また、コンテンツは、多様なタイプのユーザアカウントをまたいで共有され得る。
【００２５】
いくつかの実施形態において、コンテンツ管理システム１０６は、コンテンツストレージ１６０内の各コンテンツアイテムのロケーションを識別するコンテンツディレクトリを維持するように構成されてもよい。コンテンツディレクトリは、コンテンツストレージ内に記憶される各コンテンツアイテムについての一意のコンテンツエントリを含み得る。
【００２６】
コンテンツエントリは、コンテンツ管理システム内のコンテンツアイテムのロケーションを識別するために使用され得るコンテンツパスを含み得る。例えば、コンテンツパスは、コンテンツアイテムの名称と、コンテンツアイテムに関連付けられるフォルダ階層とを含み得る。例えば、コンテンツパスは、コンテンツアイテムが配置されるフォルダ又はフォルダのパス、並びにコンテンツアイテムの名称を含み得る。コンテンツ管理システム１０６は、コンテンツパスを使用して、適切なフォルダ階層内でコンテンツアイテムを提示し得る。
【００２７】
また、コンテンツエントリは、コンテンツストレージ１６０内のコンテンツアイテムのロケーションを識別するコンテンツポインタを含んでもよい。例えば、コンテンツポインタは、メモリ内のコンテンツアイテムの厳密な記憶アドレスを含み得る。いくつかの実施形態において、コンテンツポインタは、各々コンテンツアイテムの一部を含む複数のロケーションを指し示し得る。
【００２８】
コンテンツパス及びコンテンツポインタに加えて、コンテンツエントリは、コンテンツアイテムへのアクセスを有するユーザアカウントを識別するユーザアカウント識別子をも含み得る。いくつかの実施形態では、複数のユーザアカウント識別子が単一のコンテンツエントリに関連付けられてよく、コンテンツアイテムが複数のユーザアカウントにより共有されるアクセスを有することを指し示す。
【００２９】
コンテンツアイテムをプライベートに共有するために、共有モジュール１３０は、コンテンツアイテムに関連付けられるコンテンツエントリへユーザアカウント識別子を追加し、そのようにして追加されたユーザアカウントにコンテンツアイテムへのアクセスを認める、ように構成されてもよい。また、共有モジュール１３０は、コンテンツエントリからユーザアカウント識別子を除去して、コンテンツアイテムへのユーザアカウントのアクセスを制限する、ように構成されてもよい。
【００３０】
コンテンツをパブリックに共有するために、共有モジュール１３０は、ＵＲＬ（uniform  resource  locator）といったカスタムなネットワークアドレスを生成するように構成されてもよく、それにより、任意のウェブブラウザが、認証なしにコンテンツ管理システム１０６内のコンテンツへアクセスすることが可能とされる。これを達成するために、共有モジュール１３０は、生成されるＵＲＬ内にコンテンツ識別データを含めるように構成されてもよく、コンテンツ識別データは、要求されたコンテンツアイテムを適切に識別し及び返却するために後に使用され得る。例えば、共有モジュール１３０は、生成されるＵＲＬ内に、ユーザアカウント識別子及びコンテンツパスを含めるように構成され得る。ＵＲＬの選択の後、当該ＵＲＬに含まれるコンテンツ識別データがコンテンツ管理システム１０６へ送信されてもよく、コンテンツ管理システム１０６は、受信されるコンテンツ識別データを使用して適切なコンテンツエントリを識別し、及び当該コンテンツエントリに関連付けられるコンテンツアイテムを返却し得る。
【００３１】
ＵＲＬの生成に加えて、共有モジュール１３０は、コンテンツアイテムへのＵＲＬが生成されたことを記録するようにも構成され得る。いくつかの実施形態において、コンテンツアイテムに関連付けられるコンテンツエントリは、コンテンツアイテムへのＵＲＬが生成されたか否かを指し示すＵＲＬフラグを含み得る。例えば、ＵＲＬフラグは、コンテンツアイテムへのＵＲＬが生成されていないことを指し示すために当初０又は偽へ設定されるブール値であり得る。共有モジュール１３０は、コンテンツアイテムへのＵＲＬを生成した後、フラグの値を１又は真へ変更する、ように構成され得る。
【００３２】
いくつかの実施形態において、共有モジュール１３０は、生成されたＵＲＬを非アクティブ化するように構成されてもよい。例えば、各コンテンツエントリは、生成されたＵＲＬからの要求に応じてコンテンツを返却すべきか否かを指し示すＵＲＬアクティブフラグをも含み得る。例えば、共有モジュール１３０は、ＵＲＬアクティブフラグが１又は真に設定されている場合にのみ、生成されたリンクによって要求されるコンテンツアイテムを返却する、ように構成され得る。このように、ＵＲＬアクティブフラグの値を変更することにより、ＵＲＬが生成された対象のコンテンツへのアクセスを容易に制限することができる。これにより、ユーザがコンテンツアイテムを移動すること又は生成されたＵＲＬを削除することなく共有されるコンテンツアイテムへのアクセスを制限することが可能とされる。同様に、共用モジュール１３０は、ＵＲＬアクティブフラグの値を１又は真へ再変更することにより、ＵＲＬを再度アクティブ化することができる。したがって、ユーザは、新たなＵＲＬを生成する必要なく、コンテンツアイテムへのアクセスを容易に回復することができる。
【００３３】
コンテンツ管理システム１０６は、固有のコンポーネントを伴って提示されているが、当業者により理解されるべきこととして、システム１０６のアーキテクチャ上の構成は、単に１つのあり得る構成であって、より多くの又はより少ないコンポーネントを伴う他の構成もまた可能である。
【００３４】
図２は、コンテンツ管理システムにおいてプロジェクトデータを管理するための例示的なシステム２００のブロック図である。例えば、システム２００は、上述した図１のシステム１００に相当し得る。上述したように、システム２００は、コンテンツ管理システム１０６を含み得る。
【００３５】
いくつかの実装例において、コンテンツ管理システム１０６は、プロジェクトモジュール２０２を含み得る。例えば、プロジェクトモジュール２０２は、コンテンツ管理システム１０６上でインストールされ及び／又は稼働するソフトウェアモジュールであり得る。プロジェクトモジュール２０２は、プロジェクトフォルダ及びプロジェクトに関連付けられるプロジェクトデータを管理し得る。プロジェクトモジュール２０２は、プロジェクトデータをユーザ（例えば、プロジェクトメンバ）へ提示するためのプロジェクトフォルダビュー（例えば、グラフィカルユーザインタフェース）を生成し得る。プロジェクトモジュール２０２は、例えば、プロジェクトフォルダ２０４内のプロジェクトに関連付けられるコンテンツアイテム及び／又はプロジェクトデータをコンテンツストレージ１６０内に記憶し得る。
【００３６】
いくつかの実装例において、コンテンツ管理システム１０６は、コメントデータベース２０６を含み得る。例えば、コメントデータベース２０６は、プロジェクトフォルダ２０４内に保存されてもよく、又はプロジェクトフォルダ２０４とは別に保存されてもよい。コメントデータベース２０６は、具体的なプロジェクト又は多くの異なるプロジェクトに関連付けられるコメントを記憶し得る。例えば、プロジェクトモジュール２０２は、プロジェクトフォルダ２０４内に記憶されたコンテンツアイテムメタデータを含むコンテンツアイテムを読み取り、コンテンツアイテムからコメント（例えば、あるユーザから別のユーザへのメッセージ）を抽出し得る。プロジェクトモジュールは、各コメントについて多様な属性（例えば、プロジェクト識別子、著者識別子、受信者識別子、タグ、ソースコンテンツアイテム識別子など）を判定し得る。次いで、プロジェクトモジュール２０２は、プロジェクトモジュール２０２がコメント属性に基づいてコメントの場所を後に特定できるように、判定した属性に関連付けてコメントをコメントデータベース２０６内に記憶し得る。
【００３７】
いくつかの実装例において、プロジェクトモジュール２０２は、コメントを分析してそのコメントの属性を決定してもよい。例えば、プロジェクトモジュール２０２は、コメントが見出されたコンテンツアイテムに対応するコンテンツアイテム識別子に基づいて、ソースコンテンツアイテム属性を決定し得る。同様に、プロジェクトモジュール２０２は、対応するコンテンツアイテムが記憶されているプロジェクトフォルダに基づいて、コメントについてのプロジェクト識別子属性を決定し得る。例えば、ユーザが“Project  Widget”に対応するプロジェクトフォルダ２０４内に記憶されているコンテンツアイテムへコメントを追加した場合、プロジェクトモジュール２０２は、そのコメントについてのプロジェクト属性を“Project  Widget”として決定し得る。
【００３８】
プロジェクトモジュール２０２は、コメントを書いたユーザに関連付けられるユーザ識別子に基づいて、そのコメントについての著者識別子を決定し得る。例えば、コンテンツ管理システム１０６の各ユーザは、ユーザ識別子を割り当てられ得る。ユーザがコンテンツ管理システム１０６により管理されるコンテンツアイテムを編集する場合、コンテンツ管理システム１０６は、コンテンツアイテムに変更を行ったユーザ、及びコンテンツアイテムにどのような変更（例えば、編集、コメントなど）が行われたかを識別する、コンテンツアイテムについてのメタデータを記憶し得る。したがって、プロジェクトモジュール２０２は、コンテンツアイテムメタデータ内に記憶されるユーザ識別子に基づいて、著者識別子属性を決定し得る。
【００３９】
いくつかの実装例において、プロジェクトモジュールは、コメントに含まれる特殊表現に基づいて、コメント属性を判定してもよい。例えば、プロジェクトモジュール２０２は、コメントを分析して、コメントが当該コメント向けの属性を示す表現（例えば、プレフィクス、タグ、シンボルなど）を含むか否かを判定し得る。例えば、コンテンツ管理システム１０６は、コメントへ追加された場合に受信者識別子属性が後に続くことを指し示すユーザ識別子プレフィクス（例えば、“at”シンボル“@”）を定義し得る。例えば、ユーザは、“@kevin”を含むコメントを入力して、そのコメントをKevinという名のプロジェクトメンバ宛てとし得る。したがって、プロジェクトモジュール２０２は、コメントを分析して文字列“@kevin”を見出すと、当該コメントについての受信者属性がユーザ“Kevin”を含むと判定し得る。
【００４０】
同様に、コンテンツ管理システム１０６は、コメントへ追加された場合にコンテンツアイテム識別子属性が後に続くことを指し示すコンテンツアイテムプレフィクス（例えば、プラス“+”記号）を定義し得る。例えば、ユーザは、“+overview.pdf”を含むコメントを入力して、コメント内のコンテンツアイテムへのリンクを生成し得る。プロジェクトモジュール２０２は、コメントを分析して文字列“+overview.pdf”を見出すと、当該コメントについてのリンク付けされたコンテンツアイテム属性がコンテンツアイテム“overview.pdf”を含むと判定し得る。プロジェクトモジュール２０２は、例えば、ユーザがコメント内に埋め込まれたリンクを通じてコンテンツアイテムへアクセスできるように、コンテンツアイテムプレフィクスを前置されたコンテンツアイテム識別子をリンクに変換し得る。
【００４１】
いくつかの実装例において、コンテンツ管理システム１０６は、コメントに追加された場合にタグ属性が後に続くことを指し示すタグプレフィクス（例えば、ハッシュ“#”記号）を定義し得る。例えば、ユーザは、“#engineering”を含むコメントを入力して、コメントにサブジェクト、分類、又は他の何らかの情報をタグ付けし得る。プロジェクトモジュール２０２は、コメントを分析して文字列“#engineering”を見出すと、当該コメントについてのタグ属性がタグ“engineering”を含むと判定し得る。プロジェクトモジュール２０２は、例えば、以下に説明するように、コメント、タスク、又は他のプロジェクトデータを編成するためにタグを使用してもよい。
【００４２】
いくつかの実装例において、コンテンツ管理システム１０６は、コメントの冒頭に追加された場合にコメントをタスクへ変換すべきであることを指し示すタスクプレフィクス（例えば、前方及び後方角括弧“[]”）を定義し得る。例えば、ユーザは、コメントの冒頭に“[]”を含むコメントを入力して、当該コメントをタスクへ変換すべきであることを指し示し得る。プロジェクトモジュール２０２は、コメントを分析して、コメント及び／又はコメント属性が後に続いている文字列“[]”を見出すと、そのコメントをタスクへ変換し得る。プロジェクトモジュール２０２は、コメント属性をタスク属性として扱い、そのタスクの生成元のコメントをコメントデータベース２０６内に記憶することに加え又はその代わりに、そのタスク及びタスク属性をタスクデータベース２０８内に記憶し得る。例えば、タスクデータベース２０８は、プロジェクトフォルダ２０４内に保存されてもよく、プロジェクトフォルダ２０４とは別に保存されてもよい。
【００４３】
いくつかの実装例において、プロジェクトモジュール２０２は、コメントデータベース２０６及び／又はタスクデータベース２０８に記憶されるコメント、タスク、及び／又は属性に基づいて、多様なプロジェクトフォルダビューを生成し得る。例えば、プロジェクトモジュール２０２は、以下で詳細に説明するように、コメント属性及び／又はタスク属性に基づいて、コメントデータベース２０６及び／又はタスクデータベース２０８内のコメント及び／又はタスクをフィルタリングし、ソートし、集約し、及び／又はさもなければ編成することにより、以下で説明するグラフィカルユーザインタフェースを生成し得る。
【００４４】
いくつかの実装例において、システム２００は、クライアントデバイス２４０を含み得る。例えば、クライアントデバイス２４０は、上述したクライアントデバイス１０２iに相当し得る。クライアントデバイス２４０は、例えば、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、ウェアラブルデバイス、及び／又は任意の他のコンピューティングデバイスであり得る。図２は、１つのクライアントデバイス２４０（例えば、クライアントデバイス１０２i）のみを有するシステム２００を示しているが、システム２００は、プロジェクトを管理するためにコンテンツ管理システム１０６及び／又はプロジェクトモジュール２０２とインタラクションする多くのクライアントデバイス２４０（例えば、クライアントデバイス１０２i〜１０２n）を含んでもよい。例えば、プロジェクトの各メンバは、コンテンツ管理システム１０６及び／又はプロジェクトモジュール２０２により管理されるプロジェクトデータへアクセスするためにコンテンツ管理システム１０６と通信する、異なるクライアントデバイス２４０を有してもよい。
【００４５】
いくつかの実装例において、クライアントデバイス２４０は、コンテンツ管理システム（ＣＭＳ）クライアント２４２を含み得る。例えば、ＣＭＳクライアント２４２は、クライアントデバイス２４０のネイティブアプリケーションであり得る。例えば、ネイティブソフトウェアアプリケーションは、クライアントデバイス２４０のハードウェア及び／又はソフトウェア構成のために特に構築されるアプリケーションであり得る。したがって、以下で説明するＣＭＳクライアント２４２のグラフィカルユーザインタフェース（及び他の機能性）は、命令群、アプリケーションプログラムインタフェース（ＡＰＩ）、及びクライアントデバイス２４０にとってネイティブな他の技術を使用して実装されてよい。以下の多様なグラフィカルユーザインタフェースを生成し及び／又はここで説明する多様な機能を実装するために、ＣＭＳクライアント２４２は、プロジェクトモジュール２０２にネットワーク接続上で（例えば、ネットワーク１０４を介して）、プロジェクトデータ（例えば、プロジェクトコンテンツアイテム、プロジェクトメンバ識別子、コメント、タスクなど）を要求し得る。プロジェクトモジュール２０２は、プロジェクトフォルダ２０４、コメントデータベース２０６、及び／又はタスクデータベース２０８からプロジェクトデータを取得し、そのプロジェクトデータをＣＭＳクライアント２４２へ送信し得る。すると、ＣＭＳクライアント２４２は、ＣＭＳクライアント２４２により生成される多様なグラフィカルユーザインタフェース上でそのプロジェクトデータを提示し得る。
【００４６】
代替的に、ＣＭＳクライアント２４２は、クライアントデバイス２４０上で稼働するウェブブラウザによって実行されるウェブクライアントであってもよい。したがって、ＣＭＳクライアント２４０のグラフィカルユーザインタフェース（及び他の機能性）は、命令群、ＡＰＩ、及びクライアントデバイス２４０にとってネイティブではない他の技術を使用して実装されてもよい。例えば、ＣＭＳクライアント２４０は、非ネイティブなウェブコード又は命令群を用いるウェブアプリケーションとして構築され得る。以下で詳細に説明するように、ＣＭＳクライアント２４０は、クライアントデバイス２４０上のウェブブラウザへサービスしてもよく、ウェブブラウザは、ＣＭＳクライアント２４０を実行してグラフィカルユーザインタフェース（及び他の機能性）をユーザへ提示し得る。以下の多様なグラフィカルユーザインタフェースを生成し及び／又はここで説明する多様な特徴を実装するために、ＣＭＳクライアント２４２（例えば、ウェブブラウザ）は、プロジェクトモジュール２０２に多様なプロジェクトフォルダビュー（例えば、グラフィカルユーザインタフェース、ウェブページなど）を要求し得る。プロジェクトモジュール２０２は、プロジェクトデータ（例えば、プロジェクトコンテンツアイテム、プロジェクトメンバ識別子、コメント、タスクなど）を提示するためのプロジェクトフォルダビュー（例えば、以下に説明するグラフィカルユーザインタフェース）を生成し、ネットワーク接続上で（例えば、ネットワーク１０４を通じて）そのプロジェクトビューをＣＭＳクライアント２４２へ送信し得る。例えば、プロジェクトモジュール２０２は、プロジェクトフォルダ２０４、コメントデータベース２０６、及び／又はタスクデータベース２０８からプロジェクトデータを取得し、プロジェクトデータに基づいてプロジェクトフォルダビューを生成し、プロジェクトフォルダビューをＣＭＳクライアント２４２へ送信し得る。すると、ＣＭＳクライアント２４２は、クライアントデバイス２４０のディスプレイ上にプロジェクトフォルダビューを提示し得る。
【００４７】
いくつかの実装例において、クライアントデバイス２４０は、ＣＭＳデーモン２４４を含み得る。例えば、ＣＭＳデーモン２４４は、コンテンツ管理システム１０６とクライアントデバイス２４０との間のデータの同期を維持する、コンテンツ管理システム１０６のクライアントであってもよい。例えば、クライアントデバイス２４０は、被管理コンテンツ２５０を含み得る。被管理コンテンツ２５０は、コンテンツ管理システム１０６及び／又はＣＭＳデーモン２４４により管理される、クライアントデバイス２４０上のファイルシステムの一部であり得る。ＣＭＳデーモン２４４及び／又はコンテンツ管理システム１０６は、被管理コンテンツ２５０内に記憶されるコンテンツアイテムを、コンテンツストレージ１６０内に記憶されるコンテンツアイテムと同期させ得る。具体的には、クライアントデバイス２４０のユーザがプロジェクトフォルダ２０４に対応するプロジェクトのメンバである場合、ＣＭＳデーモン２４４及び／又はコンテンツ管理システム１０６は、プロジェクトフォルダ２０４及びプロジェクトフォルダ２５２が同じプロジェクトコンテンツアイテム及び／又はプロジェクトデータ（例えば、コメント、タスクなど）を含むように、プロジェクトフォルダ２０４及びプロジェクトフォルダ２５２を同期させ得る。したがって、クライアントデバイス２４０のユーザは、ＣＭＳクライアント２４２を通じて、又はクライアントデバイス２４０上のローカルファイルシステム（例えば、プロジェクトフォルダ２５２）を通じて、プロジェクトフォルダ２０４／２５２内に記憶されるプロジェクトデータへアクセスし得る。
【００４８】
図３は、プロジェクトフォルダを提示するための例示的なグラフィカルユーザインタフェース３００を示している。例えば、ＣＭＳクライアント２４２は、クライアントデバイス２４０のディスプレイ上にグラフィカルユーザインタフェース（ＧＵＩ）３００を提示し得る。いくつかの実装例において、ＧＵＩ３００は、コンテンツ管理システムのユーザに関連付けられるコンテンツ管理システムのデータを閲覧するための多様なグラフィカル要素を提示するサイドパネル３０１を含み得る。サイドパネル３０１は、以下に説明される各図には表現されないものの、ここで説明される各グラフィカルユーザインタフェースと共に、サイドパネル３０１が提示されてよい。図３に示した例において、ユーザは、ユーザが働いている会社及び／又はコンテンツ管理システム１０６内でビジネスアカウントが確立されている対象の会社に関連付けられるコンテンツを閲覧するために、グラフィカル要素３０２を選択済みである。グラフィカル要素３０２の選択を受け付けると、ＣＭＳクライアント２４２は、会社フォルダビュー３０３を提示し得る。他の例において、ユーザは、非ビジネス（例えば、個人）フォルダ及び／又は非ビジネスプロジェクトフォルダを閲覧するために、他のグラフィカル要素を選択してもよい。
【００４９】
いくつかの実装例において、フォルダビュー３０３は、プロジェクトフォルダを含み得る。例えば、フォルダビュー３０３は、プロジェクトフォルダ３０４及び／又はプロジェクトフォルダ３０８を提示し得る。ユーザは、グラフィカル要素３１４を選択することにより、コンテンツ管理システム１０６に新たなプロジェクトフォルダ（例えば、プロジェクトフォルダ３０４）を生成させ得る。プロジェクトフォルダ３０４及び／又は３０８は、コンテンツ管理システム１０６の他のユーザによりアクセス可能な共有フォルダであり得る。例えば、ほとんどのプロジェクトは、プロジェクトの目標を達成するために多様なタスクを行う人員のチームを含む。したがって、プロジェクトフォルダ３０４及び／又は３０８は、コンテンツ管理システム１０６の他のユーザ（例えば、プロジェクトメンバ）と共有され得る。各プロジェクトのメンバは、グラフィカル要素（例えば、画像、イニシャル、アバターなど）によりエリア３０６及び／又は３１０内で表現され得る。これらのプロジェクトメンバは、プロジェクトフォルダ３０４及び／又は３０８にそれぞれアクセスして、プロジェクトフォルダ３０４及び／又は３０８に対応するプロジェクトのためのプロジェクトコンテンツアイテム及び他のプロジェクトデータを閲覧し得る。ユーザは、プロジェクトフォルダを選択して、対応するプロジェクトに関する詳細を閲覧し得る。例えば、ユーザは、プロジェクトフォルダ３０４を選択して（例えば、プロジェクトを選択して）、ＣＭＳクライアント２４２に図４のＧＵＩ４００を提示させ得る。
【００５０】
図４は、プロジェクトフォルダビューを提示するための例示的なグラフィカルユーザインタフェース４００を示している。例えば、ＣＭＳクライアント２４２は、ユーザがプロジェクトフォルダ３０４を選択することに応じて、クライアントデバイス２４０のディスプレイ上にＧＵＩ４００を提示し得る。ＧＵＩ４００は、多様なコンテンツアイテム、コメント、タスク、タグ、及び／又は他のプロジェクトデータを提示するプロジェクトフォルダビュー４０２を提示し得る。例えば、ユーザは、グラフィカル要素４０４を選択して、ＣＭＳクライアント２４２に、プロジェクトフォルダビュー４０２内の選択されたプロジェクトに関連付けられるコンテンツアイテム及び／又はフォルダ（例えば、“Project  Widget”）を含むプロジェクトデータビュー４０５を提示させ得る。例えば、ＣＭＳクライアント２４２は、上述したように、プロジェクトモジュール２０２を通じてプロジェクトフォルダ２０４から、又はプロジェクトフォルダ２５２からローカルに、プロジェクトデータビュー４０５に提示されるコンテンツアイテム情報及び／又はプロジェクト情報を取得し得る。
【００５１】
いくつかの実装例において、プロジェクトデータビュー４０５は、プロジェクト構成パネル４０６を含み得る。例えば、プロジェクト構成パネル４０６は、プロジェクトメンバのグラフィカル表現４０８を含み得る。グラフィカル表現４０８は、メンバの顔の写真、イニシャル、アバター、及び／又は、選択されたプロジェクトのメンバを識別するためにユーザが認識できる他の何らかの視覚的表現を含み得る。いくつかの実装例において、プロジェクト構成パネル４０６は、プロジェクトへ新たなメンバを追加するためのグラフィカル要素４１０を含み得る。例えば、ユーザ（例えば、プロジェクトマネージャ）は、グラフィカル要素４１０を選択して、ＣＭＳクライアント２４２に、コンテンツ管理システムのユーザを選択させ及び／又は選択されたプロジェクトへ当該ユーザを追加するためのグラフィカルユーザインタフェースを提示させ得る。
【００５２】
いくつかの実装例において、プロジェクトデータビュー４０５は、プロジェクトフォルダ３０４内のフォルダの表現を含み得る。例えば、プロジェクトデータビュー４０５は、プロジェクトフォルダ３０４の多様なサブフォルダを表すグラフィカル要素４１４、４１６、及び／又は４１８を含み得る。ユーザは、サブフォルダ（例えば、グラフィカル要素４１４）を選択して、選択されたサブフォルダ内に記憶されるコンテンツアイテムを閲覧し得る。
【００５３】
いくつかの実装例において、プロジェクトデータビュー４０５は、プロジェクト（例えば、プロジェクトフォルダ）に新たなコンテンツアイテムを追加するためのグラフィカル要素４２０を含み得る。ここでの説明において、“プロジェクト”及び“プロジェクトフォルダ”という用語が互換可能に使用され得る。なぜなら、プロジェクトフォルダは、対応するプロジェクトの表現であり、プロジェクトデータを収容し、管理し、及び／又は編成するために使用されるからである。例えば、ユーザは、グラフィカル要素４２０を選択して、ＣＭＳクライアント２４２に、新たなコンテンツアイテムをプロジェクトへ追加するための図５のＧＵＩ５００を提示させ得る。
【００５４】
図５は、新たなコンテンツアイテムをプロジェクトへ追加するための例示的なグラフィカルユーザインタフェース５００を示している。例えば、グラフィカル要素４２０のユーザ選択の受け付けに応じて、ＣＭＳクライアント２４２は、クライアントデバイス２４０のディスプレイ上にグラフィカル要素５０２（例えば、ポップアップ、メニューなど）を提示し得る。
【００５５】
いくつかの実装例において、グラフィカル要素５０２は、選択されたプロジェクトへ新たなコンテンツアイテムを追加するためのオプションを提示し得る。例えば、グラフィカル要素５０２は、選択されたプロジェクトへファイルをアップロードするためのグラフィカル要素５０４を含み得る。ユーザは、グラフィカル要素５０４を選択して、ＣＭＳクライアント２４２に、コンテンツ管理システム１０６により管理される選択されたプロジェクトフォルダへアップロードすべきコンテンツアイテムをユーザが選択することを可能にするファイルブラウザを提示させ得る。グラフィカル要素５０２は、選択されたプロジェクト内に新たなフォルダを生成するためのグラフィカル要素５０６を含み得る。ユーザは、グラフィカル要素５０６を選択して、ＣＭＳクライアント２４２に、ユーザがコンテンツ管理システム１０６により管理される選択されたプロジェクトフォルダ内に新たなフォルダを生成し及び名称を付すことを可能にする新たなフォルダダイアログボックスを提示させ得る。グラフィカル要素５０２は、選択されたプロジェクト内の特定のタイプの新たなコンテンツアイテムを生成するためのグラフィカル要素５０８及び／又は５１０を含み得る。ユーザは、グラフィカル要素５０８又は５１０を選択して、ＣＭＳクライアント２４２に、ユーザがコンテンツ管理システム１０６により管理される選択されたプロジェクトフォルダ内の特定のタイプの新たなコンテンツアイテムを生成し及び名称を付すことを可能にする新たなコンテンツアイテムダイアログボックスを提示させ得る。グラフィカル要素５０２は、選択されたプロジェクト内のコンテンツアイテムへのリンクを追加するためのグラフィカル要素５１２を含み得る。ユーザは、グラフィカル要素５１２を選択して、ＣＭＳクライアント２４２に、コンテンツ管理システム１０６により管理される選択されたプロジェクトフォルダへ追加すべきコンテンツアイテムへのリンクをユーザが特定することを可能にするダイアログボックスを提示させ得る。ユーザはが選択されたプロジェクトフォルダへ新たなコンテンツアイテム、フォルダ、又はリンクを追加した後、ＣＭＳクライアント２４２は、新たなコンテンツアイテム、フォルダ、又はリンクされたコンテンツアイテムを、図６に示すように提示し得る。
【００５６】
図６は、選択されたプロジェクトフォルダへ追加されたコンテンツアイテムのビューを提示するための例示的なグラフィカルユーザインタフェース６００を示している。例えば、ＧＵＩ６００は、ＣＭＳクライアント２４２によりクライアントデバイス２４０のディスプレイ上に提示され得る。ＧＵＩ６００は、プロジェクトフォルダビューへ戻るためのグラフィカル要素６０２を含み得る。例えば、ユーザは、グラフィカル要素６０２を選択して、ＣＭＳクライアント２４２に、クライアントデバイス２４０のディスプレイ上にＧＵＩ４００、ＧＵＩ８００などを提示させ得る。
【００５７】
いくつかの実装例において、ＧＵＩ６００は、コンテンツエリア６０４を含み得る。例えば、コンテンツエリア６０４は、プロジェクトフォルダ３０４内の選択され、新たに追加され、又は新たに生成されたコンテンツアイテムのコンテンツを提示し得る。コンテンツエリア６０４は、コンテンツの静的なプレビュー（例えば、画像）を提示してもよい。コンテンツエリア６０４は、対応するコンテンツアイテムのコンテンツを編集し又は修正するためのエディタインタフェースを提供してもよい。
【００５８】
いくつかの実装例において、ＧＵＩ６００は、コメントエリア６０８を含んでよく、ユーザは、その中でコンテンツアイテムに関するコメントの追加又は閲覧を行い得る。例えば、ユーザは、エリア６０８を選択して、テキスト入力エリアを呼び出し得る。ユーザは、コメントを生成するためにテキスト入力を提供してよく、コメントは、コメントエリア６０８内に提示され得る。例えば、ユーザは、コメントエントリ６１０を生成し又は閲覧し得る。コメントエントリ６１０は、コメントエントリ６１０を生成したユーザのグラフィカル表現６１２を含み得る。コメントエントリ６１０は、テキストコメントデータ６１４を含み得る。いくつかの実装例において、ユーザは、ＣＭＳクライアント２４２及び／又はプロジェクトモジュール２０２により解釈され得る特殊な表現又は文字を含むテキスト入力を提供し得る。上述したように、特殊文字は、ユーザ識別子又はコンテンツアイテム識別子をコメントに追加するためにユーザにより入力されてもよい。図７を参照して以下に説明するように、コメントに基づいてタスクを生成するために、ユーザにより特殊文字が入力されてもよい。
【００５９】
図７は、特殊表現を含む例示的なテキスト７００を示している。例えば、ユーザは、テキスト入力を提供してコメント７００を生成する際に、ＣＭＳクライアント２４２及び／又はプロジェクトモジュール２０２が特殊な意味を有するように解釈し得る特殊文字及び／又は特殊表現をタイピング入力し得る。図７は、ＣＭＳクライアント２４２及び／又はプロジェクトモジュール２０２がいかにしてコンテンツ管理システム１０６により管理されるコメント、コンテンツ、タスク、又は任意の他のテキストデータ内の特殊文字及び／又は特殊表現の検出に反応するのかを示している。
【００６０】
図７に示すように、ユーザは、テキスト入力７１０を提供しており、テキスト入力７１０の冒頭にタスクプレフィクス７１２（例えば、“[]”）を含めている。ＣＭＳクライアント２４２及び／又はプロジェクトモジュール２０２は、テキスト入力７１０がＣＭＳクライアント２４２及び／又はプロジェクトモジュール２０２により対応するプロジェクト向けのタスクへ自動的に変換されることをユーザが望んでいるという標識として、タスクプレフィクス７１２を解釈し得る。
【００６１】
追加的に、テキスト入力７１０は、ユーザ識別子プレフィクス７１４（例えば、“@”）に続いて、ユーザ識別子の最初の数文字を含む。ＣＭＳクライアント２４２及び／又はプロジェクトモジュール２０２は、識別子プレフィクス７１４を、ユーザがテキスト入力７１０にユーザ識別子を挿入することを望んでいるという標識として解釈し得る。ＣＭＳクライアント２４２及び／又はプロジェクトモジュール２０２がユーザ識別子プレフィクス７１４を検出すると、ＣＭＳクライアント２４２は、ユーザ識別子プレフィクス７１４に続く数文字と一致するコンテンツ管理システムのユーザ識別子についての提案を含む提案７１６を提示し得る。図７の例では、ユーザ識別子プレフィクス７１４の後に、文字“Ke”が続き、ＣＭＳクライアント２４２は、文字“Ke”と一致するユーザ識別子“Kevin  Holm”を発見した。ＣＭＳクライアント２４２は、提案７１６においてユーザ識別子“Kevin  Holm”を提示してよく、ユーザは、提案７１６を選択して、提案されたユーザ識別子をテキスト入力７１０に追加させ得る。図７は１つの提案されたユーザ識別子のみを示しているが、ＣＭＳクライアント２４２は、複数のユーザ識別子がユーザ識別子プレフィクス７１４に続く一連の文字と一致する場合に、それら複数のユーザ識別子を提示してもよい。
【００６２】
いくつかの実装例において、ユーザは、テキスト入力７１０へのテキスト入力の提供を続行して、テキスト入力７２０を生成し得る。図７に示すように、ユーザがユーザ識別子提案７１６を選択した後、ユーザ識別子プレフィクス７１４は、選択されたユーザ識別子７２２によって除去（例えば、置換）され得る。
【００６３】
追加的に、ユーザは、コンテンツアイテムをテキスト入力７２０へリンクさせるためのテキスト入力を提供してもよい。例えば、ユーザは、コンテンツアイテム識別子プレフィクス７２４（例えば、“+”）と、それに続くコンテンツアイテム識別子の数文字とを含むテキスト入力７２０を提供し得る。ＣＭＳクライアント２４２及び／又はプロジェクトモジュール２０２がコンテンツアイテム識別子プレフィクス７２４を検出すると、ＣＭＳクライアント２４２は、コンテンツアイテム識別子プレフィクス７２４に続く数文字と一致するコンテンツアイテム識別子についての提案を含む提案７２６を提示し得る。図７の例では、コンテンツアイテム識別子プレフィクス７２４の後に“mo”という文字が続き、ＣＭＳクライアント２４２は“mo”という文字と一致するコンテンツアイテム“Mockup.jpeg”を発見した。ＣＭＳクライアント２４２は、提案７２６にコンテンツアイテム識別子“Mockup.jpeg”を提示してよく、ユーザは、提案７２６を選択して、ＣＭＳクライアント２４２にテキスト入力７２０にMockup.jpegへのリンクを追加させ得る。図７は１つの提案されたコンテンツアイテムのみを示しているが、ＣＭＳクライアント２４２は、複数のコンテンツアイテム識別子がコンテンツアイテム識別子プレフィクス７２４に続く一連の文字と一致する場合に、それら複数のコンテンツアイテムを提示してもよい。
【００６４】
いくつかの実装例において、ユーザは、テキスト入力７２０へのテキスト入力の提供を続行して、テキスト入力７３０を生成し得る。図７に示すように、ユーザがコンテンツアイテム提案７２４を選択した後、ＣＭＳクライアント２４２は、コンテンツアイテム識別子プレフィクス７１４を、選択されたコンテンツアイテム７２６へのリンク７３２で置き換え得る。
【００６５】
追加的に、ユーザは、テキスト入力７３０へタグを追加するためのテキスト入力を提供してもよい。例えば、ユーザは、タグプレフィクス７３４（例えば、“#”）と、それに続くタグの数文字（例えば、サブジェクト、分類、記述的な単語又はフレーズなど）とを含むテキスト入力７３０とを提供し得る。
【００６６】
ユーザがテキスト入力７３０を終了したことをＣＭＳクライアント２４２が検出すると（例えば、ユーザがコメントを提出し、対応するコンテンツアイテムをクローズし、最後の入力から閾値期間が経過した、など）、ＣＭＳクライアント２４２及び／又はプロジェクトモジュール２０２は、コメント（又はテキスト入力）を処理して、コメントの多様な属性を判定し、及び／又はコメントをタスクへ変換すべきかを判定し得る。次いで、ＣＭＳクライアント２４２及び／又はプロジェクトモジュール２０２は、コメント又はタスク及び関連する属性（例えば、プロジェクト識別子属性、著者識別子属性、ソースコンテンツアイテム属性、受信者ユーザ属性、リンク付きコンテンツアイテム属性、タグ属性など）を適切なデータベース（例えば、コメントデータベース２０６、タスクデータベース２０８）内に記憶し得る。
【００６７】
図８は、選択されたプロジェクトフォルダへ追加されたコンテンツアイテムを提示する例示的なグラフィカルユーザインタフェース８００を示している。例えば、ＧＵＩ８００は、ユーザが図６のグラフィカル要素６０２を選択したことに応じて、ＣＭＳクライアント２４２によりクライアントデバイス２４０のディスプレイ上に提示され得る。この例において、ユーザは、選択されたプロジェクトフォルダへコンテンツアイテム８０２を追加するために、グラフィカル要素５０２からオプションを選択している。コンテンツアイテム８０２がプロジェクトフォルダへ追加されると、ＣＭＳクライアント２４２及び／又はプロジェクトモジュール２０２は、コンテンツアイテム８０２を読み取り、コンテンツアイテムからコメント、タスク、タグ、及び他のプロジェクトデータを抽出し得る。ＣＭＳクライアント２４２は、上述したように、対応する属性データと共に、コメント及びタスクをコメントデータベース２０６及び／又はタスクデータベース２０８へそれぞれ追加し得る。
【００６８】
図９は、選択されたプロジェクトの記述を提示するための例示的なグラフィカルユーザインタフェース９００を示している。例えば、ユーザは、プロジェクト、プロジェクトメンバ、重要な文書、及び／又は他の情報を記述する情報プロジェクトデータビュー９０３（例えば、Ｗｉｋｉページ、概要など）を提示するためにグラフィカル要素９０２を選択し得る。プロジェクトデータビュー９０３は、プロジェクトメンバのうちの１人以上により生成されたコンテンツアイテム９０４（例えば、ファイル、文書、ウェブページなど）を提示し得る。
【００６９】
いくつかの実装例において、プロジェクトメンバがテキスト入力を提供し、グラフィックスを追加し、及び／又は他のコンテンツを提供することにより、プロジェクトデータビュー９０３内からコンテンツアイテム９０４を編集し得る。例えば、プロジェクトメンバは、コンテンツアイテム９０４にテキストを追加することによりコンテンツアイテム９０４を編集してよく、ＣＭＳクライアント２４２（又はプロジェクトモジュール２０２）は、図７を参照して説明したように、テキスト内の特殊な文字、パターン又は表現を解釈し得る。例えば、コンテンツアイテム９０４を編集しているユーザは、文字列９０６を入力として提供し得る。文字列９０６は、コンテンツアイテムリンクプレフィクス“+”と、後続する文字“jou”とを含み得る。ＣＭＳクライアント２４２は、コンテンツアイテムリンクプレフィクスを検出し、当該プレフィクスの検出に応じて、プレフィクスに続く数文字（例えば、“jou”）を含む識別子を有するコンテンツアイテムを判定し得る。次いで、ＣＭＳクライアント２４２は、判定したコンテンツアイテムを、ＧＵＩ９００上のグラフィカル要素９０８において提案として提示し得る。ユーザは、提案されたコンテンツアイテムのうちの１つを選択して、ＣＭＳクライアント２４２に、コンテンツアイテム９０４内にコンテンツアイテムへのリンクを追加させ得る。
【００７０】
いくつかの実装例において、グラフィカル要素９０８は、コンテンツアイテムプレフィクスに続く数文字と一致する識別子を有する新たなコンテンツアイテムを生成するための選択可能なアイテムを含み得る。ユーザが新たなコンテンツアイテムを生成することを選択すると、ＣＭＳクライアント２４２は、プロジェクトデータビュー９０３内に提示されるコンテンツアイテム９０４内に新たなコンテンツアイテムへのリンクを挿入し得る。
【００７１】
図１０は、選択されたプロジェクトに関連付けられるタスクを提示するための例示的なグラフィカルユーザインタフェース１０００を示している。例えば、ＧＵＩ１０００は、プロジェクトフォルダビュー４０２内に提示されるグラフィカル要素１００２のユーザ選択の受け付けに応じて、ＣＭＳクライアント２４２により提示され得る。ＧＵＩ１０００は、例えば、その時点で選択されているプロジェクトに関連付けられるタスクを管理するためのＧＵＩを提供するプロジェクトデータビュー１００３を含み得る。例えば、タスクは、プロジェクトレベル及び／又はコンテンツアイテムレベルで生成され得る。プロジェクトデータビュー１００３は、タスクがプロジェクトレベルタスクであるか又はコンテンツアイテム（例えば、ファイル）レベルタスクであるかに従ってタスクを提示し得る。例えば、プロジェクトレベルタスクは、プロジェクトデータビュー１００３の最上部に提示されてもよく、コンテンツアイテムレベルタスクは、プロジェクトレベルタスクの下に提示されてもよい。他の実装例は、タスクの提示の順序を逆にしてもよい。ＣＭＳクライアント２４２は、上述したように、プロジェクトモジュール２０２を通じてタスクデータベース２０８からプロジェクトデータビュー１００３内に提示されるタスク情報を取得し得る。
【００７２】
いくつかの実装例において、プロジェクトデータビュー１００３は、新たなプロジェクトレベルタスクを生成するためのグラフィカル要素１００４及びグラフィカル要素１００６を含み得る。例えば、ユーザは、グラフィカル要素１００４（例えば、テキスト入力コントロール）を選択し、テキストを入力して、新たなプロジェクトレベルタスクを記述し得る。ユーザは、図７を参照して上で説明した特殊な文字、パターン又は表現を含むテキストをタイピング入力して、コンテンツアイテムへのリンクを追加し、コンテンツ管理システム１０６の他のユーザ（例えば、プロジェクトメンバ）への言及を行い、及び／又は新たなタスクにタグ付けし得る。他のユーザがタスクにおいて言及される場合、プロジェクトモジュール２０２は、例えば、言及されたユーザへタスクを割り当て得る。ユーザは、グラフィカル要素１００４へテキスト入力を提供し終えると、グラフィカル要素１００６（例えば、ボタン）を選択して、ＣＭＳクライアント２４２及び／又はプロジェクトモジュール２０２に新たなプロジェクトレベルタスクを生成させ得る。プロジェクトレベルタスクが生成されると、プロジェクトモジュール２０２は、プロジェクトレベルタスク及び（上述したような）タスク属性をタスクデータベース２０８内に記憶し得る。例えば、ＣＭＳクライアント２４２は、プロジェクトモジュール２０２がタスクの属性を判定し及び当該タスクをタスクデータベース２０８内に記憶し得るように、プロジェクトレベルの新たなタスクについての記述をプロジェクトモジュール２０２へ送信してもよい。
【００７３】
いくつかの実装例において、プロジェクトデータビュー１００３は、選択されたプロジェクトに関連付けられるタスクのグラフィカル表現を提示し得る。プロジェクトデータビュー１００３は、タスク１００８を含み得る。例えば、タスク１００８は、グラフィカル要素１００４及びグラフィカル要素１００６へのユーザ入力に基づいて生成されるプロジェクトレベルタスクであり得る。プロジェクトデータビュー１００３は、タスク１０１０、１０１２、及び／又は１０１４を含み得る。タスク１０１０、１０１２及び／又は１０１４は、プロジェクトメンバがプロジェクトコンテンツアイテムの範囲内で又はプロジェクトコンテンツアイテムを参照してタスクを生成する場合に生成されるコンテンツレベルタスクであり得る。
【００７４】
各タスク１００８〜１０１４は、多様な属性を含み得る。例えば、タスク１００８は、タスク記述を含み得る。タスク記述は、タスク１００８のテキストによる説明であり得る。タスク１００８は、受信者属性１０２０を含み得る。例えば、プロジェクトメンバが“@”においてタスクで言及されている場合に、ＣＭＳクライアント２４２及び／又はプロジェクトモジュール２０２は、言及されたプロジェクトメンバが当該タスクを割り当てられたと判定してもよい。タスク１００８は、コンテンツアイテム属性１０２２を含み得る。例えば、プロジェクトコンテンツアイテムがタスク内で“+”と共に言及されている場合、ＣＭＳクライアント２４２及び／又はプロジェクトモジュール２０２は、タスク内の言及されたコンテンツアイテムへのリンクを生成し、言及されたコンテンツアイテムがそのタスクに関連する（例えば、その属性である）と判定し得る。タスク１００８は、タグ属性１０２４を含み得る。タスク１００８がタグプレフィクス（例えば、“#”記号）を含む場合、ＣＭＳクライアント２４２及び／又はプロジェクトモジュール２０２は、タグプレフィクスの直後に続く文字列に基づいて、そのタスクのタグ属性を判定し得る。タスク１００８は、著者又は生成者属性１０２６を含み得る。例えば、ＣＭＳクライアント２４２は、上述したように、どのプロジェクトメンバが対応するタスクを生成したかを判定し得る。各コンテンツアイテムタスク１０１０、１０１２、及び／又は１０１４は、対応するタスクの生成元であったコンテンツアイテムのテキスト又は他のグラフィカル表現を含み得る。例えば、コンテンツアイテムタスク１０１０、１０１２、及び／又は１０１４は、それぞれ、ソースコンテンツアイテム属性１０１１、１０１３、及び／又は１０１５を含み得る。例えば。
【００７５】
例えば、プロジェクトデータビュー１００３により提示されるタスクの各々は、異なるプロジェクトメンバにより生成され、及び／又は異なるプロジェクトコンテンツアイテムの範囲内から生成され、若しくは異なるプロジェクトユーザインタフェースから生成され得る。例えば、タスク１００４は、プロジェクトフォルダビュー４０２及び／又はプロジェクトデータビュー１００３内から生成され得る一方で、タスク１０１０は、プロジェクトコンテンツアイテム（例えば、コンテンツアイテム８０２）内から生成され得る。別の例として、タスク１０１０は、コンテンツアイテム“Design.pdf”内から生成され得る一方で、タスク１０１４は、コンテンツアイテム“Schedule.url”内から生成され得る。タスク１０１０は、プロジェクトメンバ“Ben  Berliner”により生成され得る一方で、タスク１０１２は、プロジェクトメンバ“Phil  Bowman”により生成された。
【００７６】
いくつかの実装例において、ユーザは、タスクを選択して、選択されたタスクの状態を変更してもよい。例えば、ユーザは、タスクに関連付けられるチェックボックスを選択して、そのタスクが完了したことを指し示し得る。ユーザがチェックボックスを選択すると、ＣＭＳクライアント２４２は、対応するタスクの状態を完了済みへ変更し、そのタスクをプロジェクトデータビュー１００３から除去し得る。
【００７７】
いくつかの実装例において、ユーザは、タスクを選択して、そのタスクの属性を修正してもよい。例えば、ユーザは、タスクのテキスト記述を選択して、ＣＭＳクライアント２４２に、タスク編集用グラフィカルユーザインタフェース（例えば、図１５のグラフィカル要素１５０２）を提示させ得る。ユーザは、ＣＭＳクライアント２４２に選択されたタスクの多様な属性を変更させるための入力を提供し得る。すると、ＣＭＳクライアント２４２は、更新されたタスク情報をプロジェクトモジュール２０２へタスクデータベース２０８における記憶のために送信し、更新されたタスク情報をプロジェクトデータビュー１００３内で提示し得る。
【００７８】
図１１は、タグ付きプロジェクトデータを提示するための例示的なグラフィカルユーザインタフェース１１００を示している。例えば、ＧＵＩ１１００は、ユーザがプロジェクトフォルダビュー４０２に提示されたグラフィカル要素１１０２を選択したことに応じて、ＣＭＳクライアント２４２により提示され得る。例えば、グラフィカル要素１１０２のユーザ選択の受け付けに応じて、ＣＭＳクライアント２４２は、タグ付けされたプロジェクトデータの表現を含むプロジェクトデータビュー１１０３を提示し得る。ＣＭＳクライアント２４２は、プロジェクトモジュール２０２を通じて、コメントデータベース２０６、タスクデータベース２０８及び／又はプロジェクトフォルダ２０４から、タグ付きプロジェクトデータを取得し得る。代替的に、ＣＭＳクライアント２４２は、クライアントデバイス２４０上のローカルプロジェクトフォルダ２５２からタグ付きプロジェクトデータを取得してもよい。
【００７９】
いくつかの実装例において、プロジェクトデータビュー１１０３は、タグによって編成されるタグ付きプロジェクトデータを提示し得る。例えば、タグは、特殊な文字又は表現が先行する（例えば、前置される）文字列であり得る。上述したように、タグ用のプレフィクスは、ハッシュ記号“#”であり得る。タグの例は、“#engineering”、“#planning”、及び／又は“#design”を含み得る。ＣＭＳクライアント２４２は、プロジェクトモジュール２０２にタグ付きプロジェクトデータを要求し得る。その要求に応じて、プロジェクトモジュール２０２は、コメントデータベース２０６、タスクデータベース２０８、及び／又はプロジェクトフォルダ２０４を、タグ付きデータ（例えば、コメント、タスク、コンテンツアイテムなど）を求めて検索し、タグ付きデータのコレクションを生成し得る。いくつかの実装例において、タグ付きデータのコレクションは、タグにより編成され又はソートされ得る。例えば、全ての“#engineering”タグがコレクション内で一緒にグループ化されてもよい。全ての“#planning”タグがコレクション内で一緒にグループ化されてもよい。代替的に、ＣＭＳクライアント２４２は、プロジェクトモジュール２０２からのタグ付きデータのコレクションの受信後に、タグ付きデータをソートしてもよい。タグ付きデータのコレクションを生成した後、プロジェクトモジュール２０２は、プロジェクトデータビュー１１０３における提示のために、タグ付きプロジェクトデータのコレクションをＣＭＳクライアント２４２へ送信し得る。
【００８０】
いくつかの実装例において、ＣＭＳクライアント２４２は、図１１に示すように、プロジェクトデータに関連付けられるタグに従って複数のグループ又は複数のセクションへ編成されたタグ付きプロジェクトデータを提示し得る。例えば、プロジェクトデータビュー１１０３は、タグ付きプロジェクトデータ１１１２及び／又は１１１４を含む“#engineering”タグのグループ又はセクション１１１０を提示し得る。ＣＭＳクライアント２４２は、プロジェクトデータ１１１２及び／又は１１１４が“#engineering”タグを含むと判定した場合に、セクション１１１０内にプロジェクトデータ１１１２及び／又は１１１４を含め得る。同様に、データビュー１１０３は、タグ付きプロジェクトデータ１１２２を含む“#planning”タグのグループ又はセクション１１２０を提示し得る。ＣＭＳクライアント２４２は、プロジェクトデータ１１２２が“#planning”タグを含むとＣＭＳクライアント２４２が判定した場合に、セクション１１２０内にプロジェクトデータ１１２２を含め得る。
【００８１】
いくつかの実装例において、プロジェクトデータビュー１１０３は、多様なタイプの及び／又は多様なプロジェクトメンバからのタグ付きデータを含み得る。例えば、プロジェクトデータビュー１１０３は、双方とも“#engineering”タグを含むタスク１１１２及びコメント１１４を含み得る。プロジェクトデータビュー１１０３は、“#engineering”タグを含むプロジェクトメンバ“Ben    Berliner”によって生成されたコメント１１４と、“#planning”タグを含むプロジェクトメンバ“Phil  Bowman”によって生成されたタスク１１２２とを含み得る。このように、プロジェクトデータビュー１１０３は、複数またいだプロジェクトコンテンツアイテム、コメント、タスク、及び／又はプロジェクトメンバからのタグを含み得る。
【００８２】
図１２は、プロジェクトに関連付けられるコメントを提示するための例示的なグラフィカルユーザインタフェース１２００を示している。例えば、ＧＵＩ１２００は、ユーザがプロジェクトフォルダビュー４０２に提示されたグラフィカル要素１２０２を選択したことに応じて、ＣＭＳクライアント２４２により提示され得る。例えば、グラフィカル要素１２０２のユーザ選択の受け付けに応じて、ＣＭＳクライアント２４２は、選択されたプロジェクトに関連付けられるコメントの表現を含むプロジェクトデータビュー１２０３を提示し得る。ＣＭＳクライアント２４２は、プロジェクトモジュール２０２を通じて、コメントデータベース２０６からコメントを取得してもよい。代替的に、ＣＭＳクライアント２４２は、クライアントデバイス２４０上のローカルプロジェクトフォルダ２５２からコメントを取得してもよい。
【００８３】
いくつかの実装例において、プロジェクトデータビュー１２０３は、多様なプロジェクトコンテンツアイテムに関連付けられるコメントを含み得る。例えば、プロジェクトデータビュー１２０３は、コメント１２１０、１２１２及び／又は１２１４を含み得る。コメント１２１０、１２１２及び／又は１２１４は、例えば、対応するコメントがいつ生成され又は作成されたかによって順序付けされて提示され得る。例えば、コメント１２１０が直近の（例えば、最新の）コメントである場合、コメント１２１０は、プロジェクトデータビュー１２０３の最上部に提示されてもよい。コメント１２１２及び１２１４は、コメント１２１０の下に、新しいものから古いものへの時間順で列挙され得る。いくつかの実装例において、コメントは、プロジェクトデータビュー１２０３の下部のコメントを最新とし、プロジェクトデータビュー１２０３の上部に向けて次第に古くなるコメントが提示されるという時間順で提示されてもよい。各コメント１２１０、１２１２及び／又は１２１４は、コメントの著者についての識別子（例えば、グラフィカル要素１２１６、テキスト１２１８）、コメントがいつ生成されたかの標識１２２０、コメントが生成されたコンテンツアイテムについての識別子１２２２、及び／又は、コメントを表現するテキスト１２２４を含み得る。
【００８４】
図１３は、最近アクセスされたコンテンツアイテムを提示する例示的なグラフィカルユーザインタフェース１３００を示している。例えば、ＧＵＩ１３００は、プロジェクトデータビュー１３０３内に提示されるグラフィカル要素１３０２を選択するユーザ入力の受け付けに応じて、ＣＭＳクライアント２４２により提示され得る。ＧＵＩプロジェクトデータビュー１３０３を生成するために、ＣＭＳクライアント２４２は、プロジェクトフォルダ２０４内に記憶されているプロジェクトコンテンツアイテムがアクセス（例えば、閲覧、修正、生成、移動など）された時間（例えば、タイムスタンプ）を示すプロジェクトデータをプロジェクトモジュール２０２から受信してもよい。例えば、タイムスタンプは、ファイルシステムデータに基づいて、及び／又はプロジェクトフォルダ内のコンテンツアイテムに対する変更を追跡する変更ログに基づいて判定されてもよい。プロジェクトフォルダ２０４はクライアントデバイス２４０上のプロジェクトフォルダ２５２と同期されることから、コンテンツアイテムに関連付けられるタイムスタンプは、対応するコンテンツアイテムがクライアントデバイス２４０上でアクセスされた時間を表してもよい。代替的に、プロジェクトフォルダ２５２内に記憶されているプロジェクトコンテンツアイテムがアクセス（例えば、閲覧、修正、生成、移動など）された時間（例えば、タイムスタンプ）を、ＣＭＳクライアント２４２が決定してもよい。プロジェクトフォルダ２５２はコンテンツ管理システム１０６上のプロジェクトフォルダ２０４と同期されることから、コンテンツアイテムに関連付けられるタイムスタンプは、対応するコンテンツアイテムがコンテンツ管理システム１０６又はプロジェクトと同期しているクライアントデバイス２４０（図示せず）と同様の他のクライアントデバイス上でアクセスされた時間を表してもよい。
【００８５】
いくつかの実装例において、プロジェクトデータビュー１３０３は、最近アクセスされたプロジェクトコンテンツアイテムのグラフィカル表現を含み得る。例えば、プロジェクトデータビュー１３０３は、最近アクセスされたプロジェクトコンテンツアイテムのグラフィカル表現１３１０及び／又はグラフィカル表現１３２０を含み得る。例えば、プロジェクトデータビュー１３０３は、最近アクセスされたプロジェクトコンテンツアイテムの時間順の表現を提示し得る。ＣＭＳクライアント２４２は、例えば、直近にアクセスされたプロジェクトコンテンツアイテムの表現（例えば、表現１３１０）をプロジェクトデータビュー１３０３の最上部に提示し、段々と過去になるプロジェクトコンテンツアイテム（例えば、表現１３２０）を直近にアクセスされたプロジェクトコンテンツアイテムより下に時間順に提示することによって、プロジェクトデータビュー１３０３を生成し得る。ユーザは、例えば、より遠い過去にアクセスされたコンテンツアイテムを閲覧するために、プロジェクトデータビュー１３０３を上へ向けてスクロールし得る。
【００８６】
プロジェクトデータビュー１３０３内の各コンテンツアイテム表現（例えば、表現１３１０、表現１３２０など）は、対応するプロジェクトコンテンツアイテムの識別子（例えば、名称、ディレクトリ、パスなど）を提示してもよい。プロジェクトデータビュー１３０３内の各コンテンツアイテム表現は、対応するプロジェクトコンテンツアイテムが最後にいつアクセスされたかの標識を提示してもよい。
【００８７】
いくつかの実装例において、プロジェクトデータビュー１３０３内の各コンテンツアイテム表現は、対応するプロジェクトコンテンツアイテムのコンテンツの表現を提示してもよい。例えば、表現１３１０は、コンテンツ表現１３１２を含み得る。表現１３２０は、コンテンツ表現１３２２を含み得る。例えば、コンテンツ表現１３１２／１３２２は、対応するコンテンツアイテムのコンテンツの静的なプレビュー画像であり得る。代替的に、コンテンツ表現１３１２／１３２２は、対応するコンテンツアイテムの編集可能な又は修正可能な表現であり得る。いくつかの実装例において、ユーザは、コンテンツ表現１３１２／１３２２への入力を提供して、コンテンツ表現１３１２／１３２２内に提示されたコンテンツに関して、スクロール、ズーム、印刷、又は他の何らかのアクションを実行し得る。いくつかの実装例において、ユーザは、コンテンツ表現１３１２／１３２２又は対応するコンテンツアイテム識別子を選択して、選択されたコンテンツアイテムのためのエディタアプリケーションで対応するコンテンツアイテムを開いてもよい。
【００８８】
図１４は、コンテンツ管理システム１０６の具体的なユーザに関連付けられるタスクを提示するための例示的なグラフィカルユーザインタフェース１４００を示している。例えば、ＧＵＩ１４００は、ユーザがタスクメニュー１４０２のうちでグラフィカル要素１４０４を選択したことに応じて、ＣＭＳクライアント２４２によりクライアントデバイス２４０のディスプレイ上に提示され得る。例えば、タスクメニュー１４０２は、ＧＵＩ１４００上のサイドパネル３０１及び／又はここで説明する他のグラフィカルユーザインタフェースのいずれかにおいて提示され得る。
【００８９】
いくつかの実装例において、ＧＵＩ１４００は、ユーザタスクビュー１４２０を提示し得る。例えば、ユーザタスクビュー１４２０は、特定のユーザに関連付けられるタスクを提示し得る。例えば、（例えば、グラフィカル要素１４１４により指し示される）ユーザ“Phil  Bowman”がクライアントデバイス２４０及び／又はＣＭＳクライアント２４２を使用しており、コンテンツ管理システム１０６にログインしている場合、ユーザタスクビュー１４２０は、ユーザ“Phil  Bowman”に関連付けられる（例えば、生成者である、割当て先であるなど）タスクを提示し得る。ＣＭＳクライアント２４２は、例えば、プロジェクトモジュール２０２を通じてタスクデータベース２０８から、ユーザタスクビュー１４２０内での提示のために、ユーザに関連付けられるタスクを記述するタスク情報を取得してもよい。代替的に、ＣＭＳクライアント２４２は、クライアントデバイス２４０上の被管理コンテンツ２５０からローカルで、ユーザに関連付けられるタスクを記述するタスク情報を取得してもよい。
【００９０】
いくつかの実装例において、ユーザタスクビュー１４２０内のタスクは、ＧＵＩ１４００により示され及びグラフィカル要素１４１２により指し示されているように、リストビューで提示され得る。例えば、ユーザタスクビュー１４２０は、期限日により並べられ又は優先順位付けされたタスクを提示してもよい。ユーザタスクビュー１４２０は、期限日によりタスクをフィルタリングしてもよい。例えば、ユーザタスクビュー１４２０は、次の７日、１０日、２週間などの間に期限が到来するタスクを提示してもよい。ユーザタスクビュー１４２０は、未完了及び／又は進行中のタスクを提示してもよい。
【００９１】
いくつかの実装例において、ユーザタスクビュー１４２０は、異なる複数のプロジェクトをまたいでタスクを提示し得る。例えば、ユーザがグラフィカル要素１４０４を選択すると、ＣＭＳクライアント２４２は、ユーザに関連付けられるタスクであって、コンテンツ管理システム１０６により管理される多様なプロジェクトからのそれらタスクを提示し得る。例えば、ユーザタスクビュー１４２０は、具体的なユーザに関連付けられている、プロジェクト１４４０（例えば、“Project  Widget”）からのタスク１４４２及び１４４４を提示し得る。ユーザタスクビュー１４２０は、具体的なユーザ及びプロジェクト１４５０（例えば、“Project  Awesome”）に関連付けられているタスク１４５２及び１４５４を提示し得る。ユーザタスクビュー１４２０は、具体的なユーザ及びプロジェクト１４６０（例えば、“Project  Opie”）に関連付けられているタスク１４６２を提示し得る。上述したように、ユーザは、タスク又はタスクチェックボックスを選択して、対応するタスクの状態を変更し得る。
【００９２】
いくつかの実装例において、ユーザタスクビュー１４２０は、具体的なプロジェクトに関連付けられるタスクを提示し得る。例えば、ユーザは、グラフィカル要素１４０６を選択して、ユーザタスクビュー１４２０にタスクをプロジェクトでフィルタリングさせ得る。言い換えると、グラフィカル要素１４０６が選択された場合に、ユーザタスクビュー１４２０は、他のプロジェクトに関連付けられるタスクを隠しながら（例えば、見せない、フィルタリングで除外するなど）、グラフィカル要素１４０６に関連付けられるプロジェクトに関連付けられるタスクを提示し得る。したがって、ＣＭＳクライアント２４２は、グラフィカル要素１４０６の選択を受け付けると、プロジェクト１４５０及び１４６０に関連付けられるタスク１４５２、１４５４及び１４６２を隠しながら、プロジェクト１４４０に関連付けられるタスク１４４２及び１４４４を含むユーザタスクビュー１４２０を生成し及び提示し得る。同様に、ＣＭＳクライアント２４２は、グラフィカル要素１４０８の選択を受け付けると、プロジェクト１４５０に関連付けられるタスクを含むユーザタスクビュー１４２０を提示し及びプロジェクト１４４０及び１４６０に関連付けられるタスクを隠蔽し得る。ＣＭＳクライアント２４２は、グラフィカル要素１４１０の選択を受け付けると、プロジェクト１４６０に関連付けられるタスクを含むユーザタスクビュー１４２０を提示し、プロジェクト１４４０及び１４５０に関連付けられるタスクを隠蔽し得る。
【００９３】
図１５は、新たなタスクを生成するための例示的なグラフィカルユーザインタフェース１５００を示している。例えば、ＧＵＩ１５００は、図１４のＧＵＩ１４００に相当し得る。ＣＭＳクライアント２４２は、例えば、ユーザタスクビュー１４２０内に提示されるグラフィカル要素１５０１をユーザが選択することに応じて、ＧＵＩ１５００を提示し得る。グラフィカル要素１５０１のユーザ選択の受け付けに応じて、ＣＭＳクライアント２４２は、ＧＵＩ１５００上にグラフィカル要素１５０２（例えば、ウィンドウ、ポップアップ、ダイアログボックス）を提示し得る。
【００９４】
いくつかの実装例において、グラフィカル要素１５０２は、新たなタスクを定義するための入力コントロールを含み得る。入力コントロールは、テキスト入力ボックス、プルダウンメニュー、カレンダーコントロール、及び／又は他のよく知られたユーザ入力コントロールを含み得る。テキスト入力コントロールは、図７を参照して上述した特殊な文字、表現、プレフィクスなどを含むテキスト入力を受け付けてよく、ＣＭＳクライアント２４２は、上述したように、プレフィクス付きのテキストをタスク属性へ解釈し、翻訳し又は変換し得る。ユーザがテキストコントロールにテキスト入力を提供すると、ＣＭＳクライアント２４２は、図７を参照して上述したように、テキスト入力に基づいて、ユーザ、プロジェクトメンバ、コンテンツアイテムなどについての提案を提示し得る。
【００９５】
いくつかの実装例において、グラフィカル要素１５０２は、新たなタスクを記述するための入力コントロール１５０４を含み得る。例えば、ユーザは、新たなタスクのタイトル、サブジェクト、及び／又は説明を提供するために、入力コントロール１５０４にテキスト入力を提供し得る。グラフィカル要素１５０２は、新たなタスクをプロジェクトに関連付けるための入力コントロール１５０６を含み得る。例えば、ユーザは、新たなタスクが関連付けられるプロジェクトについての識別子を提供するために、入力コントロール１５０６にテキスト入力を提供し得る。グラフィカル要素１５０２は、新たなタスクの期限日を特定するための入力コントロール１５０８を含み得る。例えば、ユーザは、タスクの完了の期限である日付を特定するために、入力コントロール１５０６にテキスト入力を提供してもよい。代替的に、入力コントロール１５０６は、ユーザがカレンダー表現から期限日を選択することを可能にする当該カレンダー表現を提示してもよい。
【００９６】
いくつかの実装例において、グラフィカル要素１５０２は、タスクをコンテンツ管理システム１０６のユーザに割り当てるための入力コントロール１５１０を含み得る。例えば、ユーザは、タスクの割り当て先であるユーザの名前を特定するテキスト入力を入力コントロール１５１０に提供し得る。グラフィカル要素１５０２は、タスクに関する詳細を提供するための入力コントロール１５１２を含み得る。例えば、ユーザは、タスクの概要説明を提供し、関連するコンテンツアイテムを指し示し、関連するユーザ若しくはプロジェクトメンバを指し示し、及び／又は新たなタスクに関係するタグ若しくは任意の他の情報を含めるために、入力コントロール１５１２にテキスト入力を提供し得る。グラフィカル要素１５０２は、新たなタスクの現在の状態又はステータスを指し示すための入力コントロール１５１４を含み得る。例えば、ユーザは、新たなタスクの現在の状態を特定するテキスト入力を提供し得る。入力コントロール１５１４がプルダウンメニューコントロールである場合、ユーザは、予め定義されるステータス（例えば、要着手（to  do）、進行中（in  progress）、完了済み（completed）など）のセットからタスクの現在のステータスを選択し得る。ユーザは、グラフィカル要素１５０２内のタスクの定義を終えると、グラフィカル要素１５１６（例えば、ボタン）を選択して、ＣＭＳクライアント２４２に、プロジェクトフォルダ２５２内に及び／又はプロジェクトモジュール２０２を通じてタスクデータベース２０８内にその新たなタスクを保存させ得る。
【００９７】
図１６は、新たに生成されたタスクを提示する例示的なグラフィカルユーザインタフェース１６００を示している。例えば、ＧＵＩ１６００は、図１４のＧＵＩ１４００に相当し得る。ＣＭＳクライアント２４２は、ユーザがグラフィカル要素１５１６を選択して新たなタスクを保存したことに応じて、ＧＵＩ１６００を提示し得る。例えば、ＧＵＩ１６００は、グラフィカル要素１５０２により受け付けられるユーザ入力に基づいて定義される通りに、プロジェクト１４６０に関連付けられるタスク１６０２を提示し得る。
【００９８】
図１７は、ユーザに関連付けられるタスクの列ビューを提示する例示的なグラフィカルユーザインタフェース１７００を示している。例えば、ＣＭＳクライアント２４２は、ユーザがグラフィカル要素１７０４を選択したことに応じて、ユーザタスクビュー１４２０の列表現を提示し得る。ユーザは、例えば、グラフィカル要素１４１２（例えば、リストビュー用）及び／又はグラフィカル要素１７０４（例えば、列ビュー用）をそれぞれ選択することによって、ユーザのリストビューとタスクビューとの間の切り替えを行い得る。
【００９９】
ユーザタスクビュー１４２０上にユーザタスクの列ビューを提示する際、ＣＭＳクライアント２４２は、それぞれのタスク状態を表すグラフィカル要素１７１０、１７２０及び／又は１７３０を提示し得る。各グラフィカル要素１７１０、１７２０及び／又は１７３０は、エリア（例えば、列、行、セクションなど）を定義し得る。タスクの現在の状態が対応するグラフィカル要素１７１０、１７２０及び／又は１７３０によって表されるタスク状態に相当する場合に、グラフィカル要素１７１０、１７２０及び／又は１７３０のエリア内にそのタスクが提示され得る。例えば、グラフィカル要素１７１０は、対応するタスク１７１２及び／又は１７１４がまだ開始されていないことを指し示す“要着手”状態を表し得る。グラフィカル要素１７２０は、対応するタスク１７２２が開始されたがまだ完了していないことを指し示す“進行中”状態を表し得る。グラフィカル要素１７３０は、対応するタスク１７３２が完了したことを指し示す“完了済み”状態を表し得る。他のタスク状態を表す他のグラフィック要素が提示されてもよい。
【０１００】
いくつかの実装例において、ユーザは、タスクの状態を変更するために、ユーザタスクビュー１４２０に入力を提供し得る。例えば、ユーザは、タスク１７１４内のチェックボックスを選択して、タスク１７１４が完了したことを指し示し得る。タスク１７１４が完了したことを指し示すユーザ入力を受け付けると、ＣＭＳクライアント２４２は、タスク１７１４が完了したことを指し示すタスク１７１４の表現１７３２を、グラフィカル要素１７３０により定義されるエリア内で提示し得る。例えば、ＣＭＳクライアント２４２は、グラフィカル要素１７１０からタスク１７１４を除去し、グラフィカル要素１７３０により定義されるエリア内にタスク１７１４（今やタスク１７３２である）を提示し得る。
【０１０１】
図１８は、タスクの状態を変更するための例示的なグラフィカルインタフェース１８００を示している。例えば、ＧＵＩ１８００は、上述した図１７のＧＵＩ１７００に相当し得る。
【０１０２】
いくつかの実装例において、ユーザは、タスクをグラフィカル要素１７１０、１７２０及び／又は１７３０により定義されるエリアへドラッグ及びドロップすることによって、タスクの状態を変更し得る。例えば、ユーザは、タスク１８０２を選択し及びグラフィカル要素１７１０からグラフィカル要素１７２０へドラッグして、ＣＭＳクライアント２４２に、タスク１８０２の状態を“要着手”から“進行中”へ変更させ得る。同様に、ユーザは、タスク１８０４を選択し及びグラフィカル要素１７２０からグラフィカル要素１７３０へドラッグして、ＣＭＳクライアント２４２に、タスク１８０２の状態を“進行中”から“完了済み”へ変更させ得る。ユーザは、タスク１８１０を選択し及びグラフィカル要素１７１０からグラフィカル要素１７３０へドラッグして、ＣＭＳクライアント２４２に、タスク１７３０により指し示される通りにタスク１８１０の状態を“要着手”から“完了済み”へ変更させ得る。また、ユーザは、例えば、グラフィカル要素１７３０及び／又は１７２０からグラフィカル要素１７１０及び１７２０へタスクを移動させることにより、タスク状態を変更するための入力を提供し得る。ユーザがタスクの状態を変更すると、ＣＭＳクライアント２４２は、変更されたタスク状態を含む更新されたタスク情報を、コンテンツ管理システム１０６によって管理されるタスクデータベース２０８内での記憶のためにプロジェクトモジュール２０２へ送信し得る。
【０１０３】
［例示的な処理］
図１９は、コンテンツ管理システムにおいてプロジェクトを管理するための例示的な処理１９００である。例えば、処理１９００は、プロジェクトデータを管理するため、並びに、ユーザ（例えば、プロジェクトメンバ）が単一のプロジェクト管理アプリケーション及び／又はグラフィカルユーザインタフェースの範囲内でプロジェクトデータを閲覧し及び管理することを可能にするグラフィカルユーザインタフェースを提示するために、ＣＭＳクライアント２４２及び／又はプロジェクトモジュール２０２により実行され得る。以下のステップは、各ステップで説明される動作を実行するコンピューティングデバイスへの参照と共に説明される。そのコンピューティングデバイスは、コンテンツ管理システム１０６に対応するサーバ、及び／又はクライアントデバイス２４０に対応し得る。これらステップは、プロジェクトモジュール２０２及び／又はＣＭＳクライアント２４２により実行され得る。
【０１０４】
ステップ１９０２において、コンピューティングデバイスは、プロジェクトに対応するプロジェクトフォルダを記憶し得る。例えば、プロジェクトフォルダは、共有フォルダであり得る。コンピューティングデバイスは、プロジェクト目標を達成するためにプロジェクトタスク、コンテンツアイテムなどについて協働しているプロジェクトの複数の共有フォルダメンバ（例えば、ユーザ）を共有し得る。コンピューティングデバイスは、コンテンツ管理システム１０６のユーザからの入力の受け付けに応じて、コンテンツ管理システム１０６により管理される新たな共有フォルダを生成するために、プロジェクトフォルダを生成し得る。
【０１０５】
ステップ１９０４で、コンピューティングデバイスは、プロジェクトフォルダ内にコンテンツアイテムを記憶し得る。例えば、コンピューティングデバイスは、ユーザがコンテンツアイテムをプロジェクトにアップロードすることに応じて、コンテンツアイテムをプロジェクトフォルダ内に記憶してもよい。コンピューティングデバイスは、上述したように、ユーザがプロジェクト又はプロジェクトフォルダビュー内に新たなコンテンツアイテムを生成することに応じて、プロジェクトフォルダ内にコンテンツアイテムを記憶してもよい。コンピューティングデバイスは、ユーザが標準的なファイルシステムオペレーションを使用してコンテンツアイテムをプロジェクトフォルダ内に移動させることに応じて、コンテンツアイテムをプロジェクトフォルダ内に記憶してもよい。コンピューティングデバイスは、コメント、タスク、又はＣＭＳクライアント２４２との間の他のインタラクションにおいて、ユーザがコンテンツアイテムにリンク付けし又は言及することに応じて、コンテンツアイテムをプロジェクトフォルダ内に記憶してもよい。
【０１０６】
ステップ１９０６で、コンピューティングデバイスは、プロジェクトに関連付けられるプロジェクトデータを記憶し得る。例えば、プロジェクトフォルダ内に記憶されるコンテンツアイテムは、コメント、タスク、タグ及び他のプロジェクトデータを含み得る。コンピューティングデバイスは、コンテンツアイテムを読み取って、プロジェクトコンテンツアイテムに含まれるコメント、タスク及び／又はタグを判定し、そのコメント、タスク及び／又はタグを上述したようにプロジェクトデータベース及び／又はプロジェクトフォルダ内に記憶し得る。コンピューティングデバイスは、プロジェクトコンテンツアイテムの外部で生成されたコメント、タスク及び／又はタグを記憶してもよい。例えば、コンピューティングデバイスは、上述したグラフィカルユーザインタフェースのいずれかにおいてユーザにより生成されたコメント、タスク及び／又はタグを記憶し得る。
【０１０７】
ステップ１９０８において、コンピューティングデバイスは、プロジェクトフォルダのユーザ選択を受け付け得る。例えば、ユーザは、図３のＧＵＩ３００からプロジェクトフォルダを選択し得る。
【０１０８】
ステップ１９１０で、コンピューティングデバイスは、選択されたプロジェクトフォルダに対応するプロジェクトに関連付けられるプロジェクトデータを取得し得る。例えば、コンピューティングデバイスは、上述した多様なデータベースからプロジェクトデータ（例えば、タスク、コメント、タグなど）を取得し得る。コンピューティングデバイスは、コンテンツ管理システム１０６のサーバ又はクライアントデバイス２４０に記憶されているプロジェクトフォルダからプロジェクトデータを取得してもよい。コンピューティングデバイスは、プロジェクトに関連付けられ及び／又はプロジェクトフォルダ内に記憶されているコンテンツアイテムのうちからプロジェクトデータを取得してもよい。
【０１０９】
ステップ１９１２で、コンピューティングデバイスは、プロジェクトフォルダビューを生成し得る。例えば、プロジェクトフォルダの選択の受け付け及び／又はプロジェクトデータの取得に応じて、コンピューティングデバイスは、図４〜図１３のグラフィカルユーザインタフェースを参照しながら上で説明したように、プロジェクトデータを提示するプロジェクトフォルダビューを提示し得る。
【０１１０】
ステップ１９１４で、コンピューティングデバイスは、クライアントデバイスにプロジェクトフォルダビューを提示させ得る。例えば、コンピューティングデバイスがコンテンツ管理システム１０６のサーバであり、ＣＭＳクライアント２４２がウェブブラウザである場合、当該サーバは、ＣＭＳクライアント２４２へウェブページを送信して、ＣＭＳクライアント２４２にプロジェクトフォルダビューをクライアントデバイス２４０のディスプレイ上に提示させ得る。コンピューティングデバイスがコンテンツ管理システム１０６のサーバであり、ＣＭＳクライアント２４２がネイティブブラウザである場合、当該サーバは、ＣＭＳクライアント２４２へプロジェクトデータを送信して、ＣＭＳクライアント２４２に、ＣＭＳクライアント２４２のネイティブＧＵＩ内でプロジェクトフォルダビューをクライアントデバイス２４０のディスプレイ上に提示させ得る。代替的に、クライアントデバイス２４０上のＣＭＳクライアント２４２が、プロジェクトフォルダのローカル同期バージョンからプロジェクトデータを取得し、ローカルプロジェクトデータに基づいてプロジェクトフォルダビューを提示してもよい。
【０１１１】
図２０は、コンテンツ管理システムにおいてタスクを管理するための例示的な処理２０００である。例えば、処理２０００は、ユーザタスクデータを管理するため、並びに、ユーザ（例えば、プロジェクトメンバ）がタスクデータを閲覧し及び管理することを可能にするグラフィカルユーザインタフェースを提示するために、ＣＭＳクライアント２４２及び／又はプロジェクトモジュール２０２により実行され得る。以下のステップは、各ステップで説明される動作を実行するコンピューティングデバイスへの参照と共に説明される。そのコンピューティングデバイスは、コンテンツ管理システム１０６に対応するサーバ、及び／又はクライアントデバイス２４０に対応し得る。これらステップは、例えば、プロジェクトモジュール２０２及び／又はＣＭＳクライアント２４２により実行され得る。
【０１１２】
ステップ２００２で、コンピューティングデバイスは、１つ以上のプロジェクトに関連付けられるタスクを記憶し得る。例えば、コンピューティングデバイスは、上述したように、タスクをタスクデータベース内に記憶してもよい。コンピューティングデバイスは、上述したように、１つ以上のプロジェクトフォルダ内にタスクを記憶してもよい。
【０１１３】
ステップ２００４で、コンピューティングデバイスは、具体的なユーザに関連付けられるタスクデータを求める要求を受け付け得る。例えば、プロジェクトモジュール２０２は、ＣＭＳクライアント２４２から、具体的なユーザに関連付けられるタスクデータを求める要求を受け付け得る。
【０１１４】
ステップ２００６で、コンピューティングデバイスは、具体的なユーザに関連付けられるタスクを判定し得る。例えば、プロジェクトモジュール２０２は、その具体的なユーザに割り当てられた及び／又は当該ユーザにより生成されたタスクを求めて、タスクデータベース２０８を検索し得る。
【０１１５】
ステップ２００８で、コンピューティングデバイスは、ユーザタスクビューを生成し得る。例えば、ユーザタスクビューは、ステップ２００６での判定の通りに、具体的なユーザに関連付けられるタスクを含み得る。それらタスクは、図１４及び図１６に示したように、リストビューに編成されてもよく、及び／又はプロジェクトでグループ化されてもよい。それらタスクは、図１７及び図１８に示したように、列ビューに編成されてもよく、及び／又はタスク状態でグループ化されてもよい。
【０１１６】
ステップ２０１０で、コンピューティングデバイスは、具体的なユーザに関連付けられるタスクにフィルタを適用し得る。例えば、ステップ２００８は、オプション的なステップであってよく、プロジェクトフィルタ、時間フィルタ及び／又はタスク状態フィルタが、具体的なユーザに関連付けられるタスクへ適用される。例えば、コンピューティングデバイスは、選択されたプロジェクトに関連しないタスクがユーザタスクビューからフィルタリングで除外される（例えば、隠蔽される）ように、選択されたプロジェクトに基づいてプロジェクトフィルタを適用してもよい。コンピューティングデバイスは、現在時刻から設定時間量の範囲内にない期限日を有するタスクがユーザタスクビューからフィルタリングで除外される（例えば、隠蔽される）ように、設定時間量（例えば、７日、２週間、１ヶ月など）に基づいて時間フィルタを適用してもよい。コンピューティングデバイスは、完了済みであり又は何らかの他の状態にあるタスクをユーザタスクビューからフィルタリングで除外するタスク状態フィルタを適用してもよい。
【０１１７】
ステップ２０１２で、コンピューティングデバイスは、クライアントデバイスに、クライアントデバイスのディスプレイ上にユーザタスクビューを提示させ得る。例えば、コンピューティングデバイスがコンテンツ管理システム１０６のサーバであり、ＣＭＳクライアント２４２がウェブブラウザである場合、当該サーバは、ＣＭＳクライアント２４２へウェブページを送信して、ＣＭＳクライアント２４２にユーザタスクビューをクライアントデバイス２４０のディスプレイ上に提示させ得る。コンピューティングデバイスがコンテンツ管理システム１０６のサーバであり、ＣＭＳクライアント２４２がネイティブブラウザである場合、当該サーバは、ＣＭＳクライアント２４２へユーザタスクデータを送信して、ＣＭＳクライアント２４２に、ＣＭＳクライアント２４２のネイティブＧＵＩ内でユーザタスクデータをクライアントデバイス２４０のディスプレイ上に提示させ得る。代替的に、クライアントデバイス２４０上のＣＭＳクライアント２４２が、被管理コンテンツ２５０からユーザタスクを取得してもよい。
【０１１８】
図２１Ａ及び図２１Ｂは、例示的なあり得るシステムの実施形態を示している。本技術を実践する際に、より適切な実施形態が当業者にとって明らかとなるであろう。また、当業者は、他のシステムの実施形態が可能であることを容易に理解するであろう。
【０１１９】
図２１Ａは、旧来のシステムバスコンピューティングシステムアーキテクチャ２１００を示しており、当該システムのコンポーネントは、バス２１０５を用いて互いに電気的な通信関係にある。例示的なシステム２１００は、処理ユニット（ＣＰＵ又はプロセッサ）２１１０と、システムバス２１０５とを含み、システムバス２１０５は、読取り専用メモリ（ＲＯＭ）２１２０及びランダムアクセスメモリ（ＲＡＭ）２１２５といったシステムメモリ２１１５を含む多様なシステムコンポーネントをプロセッサ２１１０へ連結する。システム２１００は、プロセッサ２１１０へ直接接続され、プロセッサ２１１０に近接し、又はプロセッサ２１１０の一部として集積される高速なメモリのキャッシュを含み得る。システム２１００は、プロセッサ２１１０による迅速なアクセスのために、メモリ２１１５及び／又は記憶デバイス２１３０からキャッシュ２１１２へデータをコピーし得る。このようにして、キャッシュは、データを待つ間のプロセッサ２１１０の遅延を回避するパフォーマンスブーストを提供し得る。これら及び他のモジュールは、多様なアクションを実行するようにプロセッサ２１１０を制御し又はそのようにプロセッサ２１１０を制御するように構成され得る。他のシステムメモリ２１１５もまた、使用のために利用可能であってよい。メモリ２１１５は、異なる性能特性を有する複数の異なるタイプのメモリを含んでもよい。プロセッサ２１１０は、任意の汎用プロセッサ、及び、プロセッサ２１１０を制御するように構成される、記憶デバイス２１３０内に記憶されるモジュール１  ２１３２、モジュール２  ２１３４及びモジュール３  ２１３６といったハードウェアモジュール又はソフトウェアモジュール、並びに、ソフトウェア命令群が実際のプロセッサ設計へ取り入れられる特殊目的のプロセッサを含んでもよい。プロセッサ２１１０は、本質的には、複数のコア若しくはプロセッサ、バス、メモリコントローラ又はキャッシュなどを含む、完全に自己完結型のコンピューティングシステムであってもよい。マルチコアプロセッサは、対称的であっても非対称的であってもよい。
【０１２０】
コンピューティングデバイス２１００とのユーザインタラクションを可能にするために、入力デバイス２１４５は、スピーチのためのマイクロフォン、ジェスチャ又はグラフィカル入力のためのタッチ感応型スクリーン、キーボード、マウス、動き入力及びスピーチなどといった、いかなる数の入力機構を表してもよい。また、出力デバイス２１３５は、当業者に知られている複数の出力機構のうちの１つ以上であってよい。いくつかの事例において、マルチモーダルシステムにより、ユーザがコンピューティングデバイス２１００とやり取りするために複数のタイプの入力を提供することが可能になり得る。通信インタフェース２１４０は、概して、ユーザ入力及びシステム出力を管轄し及び管理し得る。どういった具体的なハードウェア構成に関しても動作上の制限は無く、したがって、ここでの基本的な特徴は、改良されるハードウェア又はファームウェア構成について、それらが開発された際に容易に置き換えられてよい。
【０１２１】
記憶デバイス２１３０は、不揮発性メモリであり、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ（ＲＡＭ）２１２５、読み取り専用メモリ（ＲＯＭ）２１２０、及びそれらのハイブリッドといった、コンピュータによりアクセス可能なデータを記憶し得るハードディスク又は他のタイプのコンピュータ読取可能な媒体であってよい。
【０１２２】
記憶デバイス２１３０は、プロセッサ２１１０を制御するためのソフトウェアモジュール２１３２、２１３４、２１３６を含み得る。他のハードウェア又はソフトウェアモジュールも考えられる。記憶デバイス２１３０は、システムバス２１０５へ接続され得る。ある観点において、具体的な機能を実行するハードウェアモジュールが、その機能を遂行するために、プロセッサ２１１０、バス２１０５、ディスプレイ２１３５といった必要なハードウェアコンポーネントとの関連において、コンピュータ読取可能な媒体内に記憶されるソフトウェアコンポーネントを含んでもよい。
【０１２３】
図２１Ｂは、説明した方法の実行並びにグラフィカルユーザインタフェース（ＧＵＩ）の生成及び表示の際に使用され得るチップセットアーキテクチャを有するコンピュータシステム２１５０を示している。コンピュータシステム２１５０は、開示された技術を実装するために使用され得るコンピュータハードウェア、ソフトウェア及びファームウェアの一例である。システム２１５０は、識別された計算を実行するように構成されるソフトウェア、ファームウェア及びハードウェアを実施可能な任意の数の物理的な及び／又は論理的な個別のリソースを表すプロセッサ２１１０を含み得る。プロセッサ２１１０は、プロセッサ２１１０への入力及びプロセッサ２１１０からの出力を制御し得るチップセット２１６０と通信し得る。この例において、チップセット２１６０は、ディスプレイなどの出力２１６５へ情報を出力し、例えば磁気媒体及びソリッドステート型の媒体を含み得る記憶デバイス２１７０に対し情報を読み書きし得る。また、チップセット２１６０は、ＲＡＭ２１７５からのデータの読み取り、及びＲＡＭ２１７５へのデータの書き込みをも行い得る。多様なユーザインタフェースコンポーネント２１８５とインタフェースするためのブリッジ２１８０が、チップセット２１６０とインタフェースするために提供されてもよい。そうしたユーザインタフェースコンポーネント２１８５は、キーボード、マイクロフォン、タッチ検出及び処理回路、並びにマウスといったポインティングデバイスなどを含み得る。概して、システム２１５０への入力は、マシンにより生成されるものであれ、及び／又は人間により生成されるものであれ、多様なソースのいずれに由来してもよい。
【０１２４】
チップセット２１６０は、様々な物理インタフェースを有し得る１つ以上の通信インタフェース２１９０ともインタフェースし得る。そうした通信インタフェースは、有線及び無線のローカルエリアネットワーク用、ブロードバンド無線ネットワーク用、及びパーソナルエリアネットワーク用のインタフェースを含み得る。ここで開示されるＧＵＩを生成し、表示し及び使用するための方法のいくつかの応用例は、物理インタフェース上で順序付けられたデータセットを受信すること、又は、ストレージ２１７０若しくは２１７５内に記憶されたデータをプロセッサ２１１０により分析してマシン自体により生成することを含み得る。さらに、マシンは、ユーザインタフェースコンポーネント２１８５を介してユーザから入力を受け取り、プロセッサ２１１０を使用してこれらの入力を解釈することによって、ブラウジング機能といった適切な機能を実行し得る。
【０１２５】
理解され得ることとして、例示的なシステム２１００及び２１５０は、１つよりも多くのプロセッサ２１１０を有してもよく、又は、より大規模な処理キャパシティを提供するために共にネットワーク化されたコンピューティングデバイスのグループ若しくはクラスタの一部であってもよい。
【０１２６】
説明の簡明さのために、いくつかの事例において、本技術は、デバイス、デバイスのコンポーネント、ソフトウェアで具現化される方法におけるステップ若しくはルーチン、又はハードウェアとソフトウェアとの組合せを含む機能ブロックを含む個々の機能ブロックを含むものとして提示されてもよい。
【０１２７】
ここで説明したステップ、動作、機能、又は処理のいずれも、ハードウェアとソフトウェアモジュールとの組合せによって、単独で、又は他のデバイスと組合せて、実行され又は実装されてよい。一実施形態において、ソフトウェアモジュールは、クライアントデバイスのメモリに及び／又はコンテンツ管理システムの１つ以上のサーバに常駐するソフトウェアであって、そのモジュールに関連付けられるソフトウェアがプロセッサにより実行された場合に１つ以上の機能を実行する当該ソフトウェアであってもよい。メモリは、非一時的なコンピュータ読取可能な媒体であってもよい。
【０１２８】
いくつかの実施形態において、コンピュータ読取可能な記憶デバイス、媒体、及びメモリは、ビットストリームなどを含む、ケーブル又は無線信号を含んでもよい。但し、言及される場合、非一時的なコンピュータ読取可能な記憶媒体は、エネルギー、キャリア信号、電磁波及び信号自体といった媒体を、明示的に除外している。
【０１２９】
上述した例に係る方法は、記憶されているか又はさもなければコンピュータ読取可能な媒体から利用可能であるコンピュータ実行可能な命令群を用いて実装され得る。そのような命令群は、例えば、汎用コンピュータ、特殊目的のコンピュータ、又は特殊目的の処理デバイスに、ある機能又は機能の集合を実行させるか又はさもなければ実行するように構成する命令群及びデータを含み得る。コンピュータリソースのうち使用される部分は、ネットワーク上でアクセス可能であってよい。コンピュータ実行可能な命令群は、例えば、バイナリ、アセンブリ言語などの中間的なフォーマットの命令群、ファームウェア又はソースコードであってもよい。命令群、使用される情報、及び／又は、説明した例に係る方法の最中に生成される情報を記憶するために使用され得るコンピュータ読取可能な媒体の例は、磁気若しくは光ディスク、フラッシュメモリ、不揮発性メモリを具備するＵＳＢデバイス、及びネットワーク化記憶デバイスなどを含む。
【０１３０】
これら開示に係る方法を実装するデバイスは、ハードウェア、ファームウェア及び／又はソフトウェアを備えてよく、多様な形状因子のどういったものをとってもよい。そうした形状因子の典型的な例は、ラップトップ、スマートフォン、小規模な形状因子のパーソナルコンピュータ及びパーソナルデジタルアシスタントなどを含む。また、ここで説明した機能性は、周辺機器又はアドインカードで具現化されてもよい。そうした機能性は、さらなる例として、異なるチップ間で回路基板上で、又は単一のデバイスにおいて稼働する異なる複数の処理上で実装されてもよい。
【０１３１】
命令群、そうした命令群を伝達するための媒体、それらを実行するためのコンピューティングリソース、及びそのようなコンピューティングリソースをサポートするための他の構造は、これらの開示において説明した機能を提供するための手段である。
【０１３２】
添付の特許請求の範囲のスコープ内の複数の観点を説明するために、多様な例及び他の情報が使用されているものの、そうした例における具体的な特徴又は構成に基づいて示唆されるべき特許請求の範囲の限定は無く、なぜなら、当業者はそれら例を用いて広範な実装を導出できるはずだからである。さらに、いくつかの主題が、構造的特徴及び／又は方法ステップ群の例に固有の言語で説明されているかもしれないが、理解されるべきこととして、添付の特許請求の範囲において定義される主題は、必ずしもそれら説明された特徴又は動作に限定されない。例えば、そのような機能性は、異なる形で分散されてもよく、又はここで識別されたもの以外のコンポーネントにおいて実行されてもよい。むしろ、説明された特徴及びステップ群は、添付の特許請求の範囲のスコープ内のシステム及び方法のコンポーネントの例として開示されている。
【図１】
0006854041.tif 000002
【図２】
0006854041.tif 000003
【図３】
0006854041.tif 000004
【図４】
0006854041.tif 000005
【図５】
0006854041.tif 000006
【図６】
0006854041.tif 000007
【図７】
0006854041.tif 000008
【図８】
0006854041.tif 000009
【図９】
0006854041.tif 000010
【図１０】
0006854041.tif 000011
【図１１】
0006854041.tif 000012
【図１２】
0006854041.tif 000013
【図１３】
0006854041.tif 000014
【図１４】
0006854041.tif 000015
【図１５】
0006854041.tif 000016
【図１６】
0006854041.tif 000017
【図１７】
0006854041.tif 000018
【図１８】
0006854041.tif 000019
【図１９】
0006854041.tif 000020
【図２０】
0006854041.tif 000021
【図２１Ａ】
0006854041.tif 000022
【図２１Ｂ】
0006854041.tif 000023