JP6120650B2 - コンテンツ管理装置、コンテンツ管理方法及びプログラム - Google Patents

コンテンツ管理装置、コンテンツ管理方法及びプログラム Download PDF

Info

Publication number
JP6120650B2
JP6120650B2 JP2013079731A JP2013079731A JP6120650B2 JP 6120650 B2 JP6120650 B2 JP 6120650B2 JP 2013079731 A JP2013079731 A JP 2013079731A JP 2013079731 A JP2013079731 A JP 2013079731A JP 6120650 B2 JP6120650 B2 JP 6120650B2
Authority
JP
Japan
Prior art keywords
user
content
information
request
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.)
Active
Application number
JP2013079731A
Other languages
English (en)
Other versions
JP2014203300A5 (ja
JP2014203300A (ja
Inventor
健介 平田
健介 平田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2013079731A priority Critical patent/JP6120650B2/ja
Priority to US14/244,798 priority patent/US20140304324A1/en
Publication of JP2014203300A publication Critical patent/JP2014203300A/ja
Publication of JP2014203300A5 publication Critical patent/JP2014203300A5/ja
Application granted granted Critical
Publication of JP6120650B2 publication Critical patent/JP6120650B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、コンテンツ管理装置、コンテンツ管理方法及びプログラムに関する。
近年、ネットワークインフラの整備によるネットワーク回線が高速化し、グリッドコンピューティング技術が向上している。これに伴い、サーバーコンピュータ側で文書ファイルや帳票データの管理や各種処理を行う形態として、クラウドコンピューティングシステムが普及し始めている。
ユーザーは、クライアントコンピュータのブラウザからインターネットを介してクラウドサービスのWebページにアクセスし、文書ファイルや帳票データのアップロード、ダウンロード、表示又は共有を行うことができる。
クラウドサービスには、マイクロブログ機能を含むものが存在する。マイクロブログ機能とは、コミュニケーションサービスの1つである。マイクロブログ機能では、サービスにアカウントを持つユーザーが短いメッセージを投稿することができる。ユーザーによる投稿それぞれには、固有の識別子が割り当てられる。
さらに、「タイムライン」と呼ばれるユーザー専用のWebページには、自身の投稿と「フォロー」したユーザーの投稿、及び自身が所属するグループへの投稿が表示される。これにより、ユーザーは、フォローやグループを介したコミュニケーションをとることができる。ここで、「フォロー」とは、他のユーザーの投稿を自分のWebページで表示できるようにユーザーを登録することである。また、「グループ」とは、所属組織や担当プロジェクトなど共通の性質をもつユーザーで分類したユーザー群である。
グループへの投稿は、グループに所属するユーザーのWebページにのみ表示される。上記のようなマイクロブログサービスとしては、例えばSalesforce.comのChatterが挙げられる。
文書ファイルや帳票データなどのコンテンツを管理するサービスと、マイクロブログサービスとを連携する仕組みも知られている。このような連携においては、コンテンツへのアクセスURL情報をマイクロブログサービスに投稿することで、他のユーザーにコンテンツの存在を共有することができる。ユーザーは、マイクロブログサービスのタイムラインに表示されるアクセスURL情報からコンテンツにアクセスすることができる。
コンテンツ管理においてユーザーやグループによるコンテンツへのアクセス制御は重要な要件である。従来のコンテンツを管理するシステムやマイクロブログサービスのような情報共有システムにおけるアクセス制御方法としては、ディレクトリサービスシステムによる一元管理、システム間での連携などによるものが知られている。
さらに、近年では、アプリケーションプラットフォームのOS(Operating System)からクラウドコンピューティングシステムへの移行に伴い、セキュリティドメインが異なる様々なクラウドサービスが増加してきている。これにより、異なるサービス間での連携も増えつつある。
セキュリティドメインがクラウドサービス間で異なる場合には、アクセス制御もWeb上で実施する必要があり、ディレクトリサービスシステムでアクセス制御を一元管理することはできない。
特許文献1においては、このような問題を解決する技術が開示されている。すなわち、特許文献1には、コンテンツの回覧要求をしたユーザーとコンテンツオーナーのソーシャルグラフ情報(ユーザーの相関関係)やグループ属性とにより、Web上でアクセス制御する方法が開示されている。
特開2011−128775号公報
しかしながら、特許文献1に記載のアクセス制御方法では、マイクロブログサービスでコンテンツを共有した場合に、マイクロブログサービスで共有されているにも関わらずコンテンツを参照することができないという不整合が発生する場合がある。このような場合、ユーザーは、マイクロブログサービスで共有されたコンテンツへのリンクを押下して初めてコンテンツへのアクセス権がないことに気づくことになり利便性に欠けるという問題があった。
本発明はこのような問題点に鑑みなされたもので、マイクロブログサービスにおけるユーザー間の共有関係と、コンテンツのアクセス権とを連動させることによりユーザーの利便性を向上させることを目的とする。
そこで、本発明は、コンテンツを管理する管理手段と、前記コンテンツの共有リクエストを受けた場合、当該共有リクエストを行った第1のユーザーの権限を用いて、前記コンテンツに関する情報を投稿管理サービスに投稿する投稿手段と、前記投稿手段により前記投稿管理サービスに投稿された投稿を識別するための投稿識別子を前記コンテンツと関連付けて格納する格納手段と、前記コンテンツの表示要求を受け付ける受付手段と、前記受付手段が前記表示要求を受け付けた場合、当該表示要求を行った第2のユーザーの権限を用いて、当該表示要求されたコンテンツに関連付けられている前記投稿識別子に対応する投稿の取得要求を、前記投稿管理サービスに送信する送信手段と、前記送信手段で送信した取得要求に対応する投稿が取得できるかどうか判断する判断手段と、前記判断手段で前記取得要求に対応する投稿が取得できると判断した場合は、前記表示要求されたコンテンツの表示を許可し、前記判断手段で前記取得要求に対応する投稿が取得できないと判断した場合は、前記表示要求されたコンテンツの表示を拒否する表示制御手段と、を有することを特徴とする。
本発明によれば、マイクロブログサービスにおけるユーザー間の共有関係と、コンテンツのアクセス権とを連動させることによりユーザーの利便性を向上させることができる。
コンテンツ共有システムの構成を示す図である。 クライアント装置、マイクロブログサービス及び文書管理サービスのハードウェア構成を示す図である。 マイクロブログサービス上で動作するソフトウェアモジュールの構成を示す図である。 ログイン画面及び認可画面の一例を示す図である。 ユーザー情報、グループ情報、クライアント情報及びトークン情報を示す図である。 メッセージ情報及びコメント情報の一例を示す図である。 タイムライン画面の一例を示す図である。 文書管理サービスのソフトウェアモジュール構成を示す図である。 文書情報、メッセージ情報、ユーザー情報及び認証トークン情報を示す図である。 ログイン画面の一例を示す図である。 プレビュー画面の一例を示す図である。 共有先選択画面の一例を示す図である。 共有許可指定画面の一例を示す図である。 文書登録画面の一例を示す図である。 プレビュー画面を表示する処理のシーケンス図である。 図15に示すステップS1506における文書管理サービスの処理を示すフローチャートである。 マイクロブログサービスへメッセージ投稿される際のシーケンス図である。
以下、本発明の実施形態について図面に基づいて説明する。
<システム構成>
図1は、コンテンツ共有システムの構成を示す図である。コンテンツ共有システムは、クライアント装置101と、マイクロブログサービス提供サーバ装置102と、文書管理サービス提供サーバ装置103とを備えている。
クライアント装置101、マイクロブログサービス提供サーバ装置102及び文書管理サービス提供サーバ装置103は、ネットワーク100により互いに通信可能に接続されている。
ネットワークとしては、例えば、インターネット等のLAN、WAN、電話回線、専用デジタル回線、ATM(Asynchronous Transfer Mode)やフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等が挙げられる。
また、ネットワークは、これらの組み合わせにより実現される、いわゆる通信ネットワークであってもよい。ネットワークは、データの送受信が可能であればよい。各サービス間の通信手段は、異なっていてもよい。例えば、クライアント装置101からマイクロブログサービス提供サーバ装置102への通信手段と、文書管理サービス提供サーバ装置103への通信手段とは異なっていてもよい。
クライアント装置101は、マイクロブログサービス提供サーバ装置102及び文書管理サービス提供サーバ装置103に対してリクエストを発行する。マイクロブログサービス提供サーバ装置102は、クライアント装置101や文書管理サービス提供サーバ装置103からのリクエストに応じて、メッセージの書き込みや読み出し、ユーザー情報の提供を行う。
マイクロブログサービス提供サーバ装置102は、ユーザーから投稿されたメッセージやコメントなどの情報を管理する。マイクロブログサービス提供サーバ装置102は、投稿管理サービスを実行する装置の一例である。
文書管理サービス提供サーバ装置103は、コンテンツ管理サービスを実行する装置の一例であり、コンテンツとしての文書を管理する。文書管理サービス提供サーバ装置103は、クライアント装置101からのリクエストに応じて、文書の登録、削除、閲覧、更新等といった文書管理(コンテンツ管理)を行う。なお、文書管理サービス提供サーバ装置103が処理対象とする文書は、電子データの文書である。
文書管理サービス提供サーバ装置103は、文書を一意に識別するURLと紐づけて記憶する。文書管理サービス提供サーバ装置103に記憶されている文書は、文書管理サービス提供サーバ装置103の管理するユーザー間で共有される。文書管理サービス提供サーバ装置103は、コンテンツ管理装置の一例である。
コンテンツ共有システムは、文書管理サービス提供サーバ装置103が提供する文書管理サービスにおいて管理される文書に関する情報をマイクロブログサービス提供サーバ装置102が提供するマイクロブログサービスに投稿する。このことにより、文書をマイクロブログサービスの登録ユーザー間で共有する仕組みが提供される。
なお、本実施の形態においては、文書管理サービス及びマイクロブログサービスをそれぞれ異なる装置が実行することとして説明する。しかし、これらサービスは、コンテンツ共有システムが有するいずれかの装置において実現されればよい。他の例としては、マイクロブログサービスと文書管理サービスとは、同一装置内に設けられていてもよい。
<ハードウェア構成>
図2は、図1のクライアント装置101、マイクロブログサービス提供サーバ装置102及び文書管理サービス提供サーバ装置103のハードウェア構成を示す図である。CPU201は、内部バスで接続される各デバイス(後述のROM、RAM他)を直接又は間接的に制御し、後述する各種機能を実現するためのプログラムを実行する。
ROM202は、BIOS等を格納している。RAM(直接記憶装置)203は、CPU201のワーク領域として利用されたり、後述の各種機能を実現するためのソフトウェアモジュールをロードするための一時記憶として利用されたりする。
HDD204は、基本ソフトウェアであるOS(Operating System)やソフトウェアモジュールのプログラムを記憶している。入力装置205は、不図示のキーボードやポインティングデバイスなどである。出力装置206は、ディスプレイなどの表示装置である。I/F207は、ネットワーク100に接続するためのインターフェースである。
これらハードウェアでは、装置の起動後、CPU201によりBIOSが実行されOSがHDD204からRAM203に実行可能にロードされる。CPU201は、OSの動作に従って後述する各種ソフトウェアモジュールのプログラムをHDD204からRAM203に随時、実行可能にロードする。各種ソフトウェアモジュールのプログラムは、上記各デバイスの協調によりCPU201によって実行され動作する。
また、I/F207は、ネットワーク100に接続されており、OSの動作に従ってCPU201により制御され、上述した通信手段による通信を実現している。
また、図2に示すCPU201、ROM202、RAM203、I/F207やHDD204などのコンピュータハードウェア資源を仮想化してもよい。さらに、仮想化されたソフトウェアを動作させるためのプラットフォームを公開するクラウドプラットフォーム上でソフトウェアを動作させてもよい。クラウドプラットフォーム上のソフトウェアのプログラムは、クラウドプラットフォームが有するRAM203に展開され、CPU201で実行される。
大量のコンピュータ資源はクラウドプラットフォームにより仮想化されているため、ソフトウェアはクラウドプラットフォームのバックグラウンドで動作するコンピュータ資源を意識する必要はない。代表的なクラウドプラットフォームの形態には、OSやWebアプリケーションを登録できるものがある。
本例においては、クラウドプラットフォームの形態は問わない。クラウドプラットフォーム上のソフトウェアは、仮想化されたI/F207を介して上述した通信手段による通信を実現する。
<クライアント装置101>
クライアント装置101は、情報処理を行うためのクライアントコンピュータである。クライアント装置101で動作する各ソフトウェアモジュールは前述したように、CPU201によってHDD204に記憶されているプログラムがRAM203にロードされ、CPU201によって実行されることにより実現される。
クライアント装置101は、I/F207を介してネットワーク100に接続されている。クライアント装置101は、永続記憶装置を接続したコンピュータであってもよいし、一時記憶装置のみによって構成されたThin Client構成をとってもよい。
クライアント装置101は、Webブラウザ104を有している。クライアント装置101は、Webブラウザ104を用いてマイクロブログサービス300や文書管理サービス800にリクエストを行う。Webブラウザ104は、マイクロブログサービス300や文書管理サービス800から受信したHTMLを解析し、解析結果を表示装置に表示するなど各種情報を出力装置206としての表示装置に表示する。
<マイクロブログサービス提供サーバ装置102のソフトウェアモジュール構成>
図3は、マイクロブログサービス提供サーバ装置102上で動作するソフトウェアモジュール(マイクロブログサービス300)の構成を示す図である。各ソフトウェアモジュールは、CPU201によって図2で示したHDD204に記憶されているプログラムがRAM203にロードされ実行されることにより実現される。
マイクロブログサービス300は、送受信部301と、制御部302と、ページ生成部303と、認証部304と、メッセージ管理部305とを有している。DB306は、認証部304及びメッセージ管理部305により参照されるDBであり、図2に示すHDD204等に記憶されているものとする。
送受信部301は、クライアント装置101のWebブラウザ104や文書管理サービス800との通信を処理する。制御部302は、送受信部301が受け付けたリクエストに従って処理を実行する。ページ生成部303は、Webブラウザ104にレスポンスを返すためのWebページを生成する。
認証部304は、ログインリクエストしてきたユーザーの認証を行い、さらにユーザー情報やグループ情報、クライアント情報、トークン情報といったアクセス権を管理する。認証部304がアクセス権を管理する際に参照される認証データは、DB306に記憶されている。
メッセージ管理部305は、メッセージデータをDB306に格納し、要求に応じてDB408のメッセージの取得及びメッセージの更新を行う。DB306には、マイクロブログサービス300のメッセージデータ及び前述のアクセス権に関する情報が格納されている。
<マイクロブログサービス300の認証・認可>
図4は、ログイン画面400及び認可画面410の一例を示す図である。ログイン画面400及び認可画面410は、マイクロブログサービス300のページ生成部303により生成され、クライアント装置101のWebブラウザ104により表示される。
Webブラウザ104からマイクロブログサービス300にリクエストが行われると、送受信部301は、リクエストを受け付ける。続いて、制御部302により処理が認証部304に割り振られる。
認証部304は、リクエストを割り振られると、認証セッションが有効かどうか判断を行う。そして、認証部304は、制御部302に認証セッションが有効か無効かの結果を通知する。
制御部302は、認証セッションが無効である場合には、ページ生成部303にログイン画面400を生成させ、リクエストに対してログイン画面400を応答する。制御部302は、認証セッションが有効である場合には、リクエストに応じてページ生成部303に認可画面410及び後述するタイムライン画面(図7)を生成させる。制御部302は、リクエストに対して、生成した認可画面410及びタイムライン画面を応答する。
認証部304は、認証トークンにより認証セッションを管理する。認証部304は、認証に成功した場合に、認証トークンをWebブラウザ104に返す。Webブラウザ104は、認証トークンをリクエストに付加することで認証を継続することができる。マイクロブログサービス300へのすべてのリクエストは認証部304によりセッション管理される。
なお、マイクロブログサービス300がリクエストを受信した際には、認証部304による認証セッションの確認が必ず行われるが、以降の説明においては、説明の簡略化のため、各リクエストにおける認証セッションの確認処理に関する説明は省略する。
図4に示すように、ログイン画面400は、ユーザー名401、パスワード402及びログインボタン403を有している。ユーザー名401及びパスワード402は、マイクロブログサービス300への認証に必要なユーザー名とパスワードとの入力欄である。ログインボタン403が押下されると、Webブラウザ104は、入力されたユーザー名401とパスワード402とをパラメータとして含むログリンリクエストをマイクロブログサービス300に送信する。
認可画面410は、認可メッセージ411、許可ボタン412及び拒否ボタン413を有している。認可画面410は、文書管理サービス800にマイクロブログサービス300で管理する情報へのアクセス許可(認可)を与えてよいかを、ユーザーに確認する画面である。認可の方法としてOAuthプロトコルが一般的であり、認可画面410は、OAuthプロトコルで規定される認可画面の一例である。
文書管理サービス800は、マイクロブログサービス300の情報を生成、取得、更新、削除する際にWebブラウザ104を経由してマイクロブログサービス300にスコープをパラメータとして認可リクエストを送信する。
スコープとは、認可許可する範囲を示すものである。本実施形態にかかる文書管理サービス800は、マイクロブログサービス300の情報取得とメッセージ投稿とを認可の範囲としてスコープ指定する。
マイクロブログサービス300の送受信部301が認可リクエストを受信すると、制御部302は、ページ生成部303に認可画面410の生成を指示する。そして、制御部302は、Webブラウザ104からの認可リクエストに対して認可画面410を応答する。
認可メッセージ411は、認可に関する情報をユーザーに提示するメッセージである。図4に示す例においては、認可メッセージ411として、文書管理サービス800に対して、スコープで指定されたマイクロブログサービス300の情報取得及びメッセージ投稿の認可を求めるメッセージを表示している。
許可ボタン412が押下されると、Webブラウザ104は、マイクロブログサービス300に認可許可リクエストを送信する。拒否ボタン413が押下されると、Webブラウザ104は、マイクロブログサービス300に認可拒否リクエストを送信する。
マイクロブログサービス300の送受信部301が認可許可リクエストを受け付けると、認証部304は、認可コードを発行する。認可コードは、Webブラウザ104を経由して文書管理サービス800に送信される。
文書管理サービス800は、受信した認可コードとクライアント情報とをパラメータとしてマイクロブログサービス300にトークン取得リクエストする。マイクロブログサービス300は、トークン取得リクエストを受信すると、リクエストされたクライアント情報と後述のクライアント情報520(図5)との一致を確認し、トークン情報530を発行する。
マイクロブログサービス300は、トークン取得リクエストの応答としてアクセストークン532及びリフレッシュトークン533を文書管理サービス800に返す。文書管理サービス800は、マイクロブログサービス300へのリクエストにアクセストークン532を付加する。これにより、文書管理サービス800は、マイクロブログサービス300のスコープした範囲を対象としたリクエストを行うことができる。
リフレッシュトークン533は、アクセストークン532を更新するためのトークンである。マイクロブログサービス300は、トークン更新リクエストでリフレッシュトークン及びクライアント情報を受信すると、それぞれと自身が記憶しているリフレッシュトークン533及びクライアント情報520との一致を確認する。
マイクロブログサービス300は、クライアント情報520の一致が確認できると、アクセストークン532とリフレッシュトークン533との更新を行う。マイクロブログサービス300は、トークン更新リクエストの応答として、更新した新しいアクセストークン532及びリフレッシュトークン533を返す。
アクセストークン532及びリフレッシュトークン533には、使用有効期限が設けられている。アクセストークン532の使用有効期限が切れたタイミングにおいて、リフレッシュトークン533を用いたアクセストークン532の更新が行われる。
図5は、マイクロブログサービス300の認証部304で管理されDB306に記憶されているユーザー情報500、グループ情報510、クライアント情報520及びトークン情報530の一例を示す図である。
ユーザー情報500は、マイクロブログサービス300に登録されている登録ユーザーに関する情報である。ユーザー情報500は、ユーザーID501、ユーザー名502、パスワード503、アイコンファイルパス504、フォローしているユーザーID505、フォローされているユーザーID506及び所属グループID507を含んでいる。
ユーザーID501は、ユーザー情報500を一意に識別する識別子である。ユーザー名502及びパスワード503は認証に必要なユーザー名及びパスワードである。アイコンファイルパス504は、ユーザーを示すアイコン画像の格納先ファイルパスである。
フォローしているユーザーID505は、ユーザーがフォローしているユーザーのユーザーIDであり、複数のユーザーIDを記憶することができる。フォローされているユーザーIDは、ユーザーがフォローされているユーザーのユーザーIDであり、複数のユーザーIDを記憶することができる。フォローについては後述する。
所属グループID507は、ユーザーが所属しているグループのグループIDであり、複数のグループIDを記憶することができる。
グループ情報510は、マイクロブログサービス300の登録ユーザーが属するグループに関する情報である。グループ情報510は、グループID511、グループ名512、所属ユーザーID513及び公開情報514を含んでいる。ユーザーは、グループを生成し、生成したグループに所属することができる。
グループID511は、グループ情報510を一意に識別する識別子である。グループ名512は、グループに付与された名前である。所属ユーザーID513は、グループに所属するユーザーIDであり、複数のユーザーIDを記憶することができる。公開情報514は、グループに所属しているユーザー以外のユーザーがアクセスできるかどうか判断するためのフラグであり、公開か非公開が設定される。
クライアント情報520は、クライアントID521及びシークレット522を含んでいる。クライアントID521は、マイクロブログサービス300に接続するクライアントのクライアント情報520を一意に識別するための識別子である。シークレット522は、クライアントに対するパスワードである。
クライアントID521及びシークレット522は、マイクロブログサービス300によって発行される。クライアント装置101は、クライアントID521及びシークレット522を用いて、マイクロブログサービス300に認可許可リクエストを行うことができる。
トークン情報530は、ユーザーID531、アクセストークン532、リフレッシュトークン533及びスコープ534を含んでいる。トークン情報530は、マイクロブログサービス300による認可によって発行されるトークンを管理する情報である。ユーザーID531は、トークンが発行されたユーザーIDである。
アクセストークン532は、クライアント装置101がリクエストする際に使用されるトークンである。リフレッシュトークン533は、アクセストークン532を更新するためのトークンである。スコープ534は、認可する範囲を指定する情報である。
<マイクロブログサービス300のマイクロブログ機能>
マイクロブログサービス300は、マイクロブログ機能を提供する。マイクロブログ機能とは、ユーザーがマイクロブログサービス300に投稿したメッセージを他のユーザーや特定のグループ内で共有する機能である。ユーザーは、メッセージ投稿、グループへのメッセージ投稿、共有されたメッセージ参照等を行うことができる。またマイクロブログサービス300は、投稿されたメッセージに対してコメントする機能も提供している。
図6は、メッセージ情報700及びコメント情報710の一例を示す図である。メッセージ情報700は、マイクロブログサービス300に対して投稿されたメッセージに関する情報である。コメント情報710は、マイクロブログサービス300に対して投稿されたコメントに関する情報である。
メッセージ情報700は、メッセージID701、メッセージ702、リンク703、ユーザーID704、投稿先705及び時刻706を含んでいる。メッセージ情報700は、マイクロブログサービス300がメッセージの投稿要求であるメッセージ投稿リクエストを受け付けた際にメッセージ管理部305によって生成され、DB306に格納される。
メッセージID701は、メッセージ情報700を一意に識別する投稿識別子である。メッセージ702は、投稿されたメッセージ文字列である。リンク703は、投稿されたURLである。ユーザーID704は、投稿したユーザーIDである。
投稿先705は、投稿した宛先である。投稿先705は、投稿したユーザーが投稿内容であるメッセージを共有するユーザーを示すメッセージ共有ユーザーを示す情報である。投稿先705には、より具体的には、ユーザーIDやグループIDが格納される。
また、投稿先705には、ユーザーIDやグループIDが複数格納されていてもよい。なお、投稿先705には登録されないが、投稿ユーザーも当然投稿内容を共有するものであり、メッセージ共有ユーザーに含まれる。メッセージの宛先が指定されていない場合には、投稿先705には何も格納されない。時刻706は、投稿した日時である。なお、メッセージ共有ユーザーは、投稿内容共有ユーザーの一例である。
このように、マイクロブログサービス300のメッセージ情報700において、メッセージIDと、投稿先のユーザーID及びグループIDとが対応付けられている。メッセージIDは、投稿識別子の一例である。グループIDは、投稿内容共有ユーザー情報の一例である。
コメント情報710は、コメントID711、コメント712、メッセージID713、ユーザーID714及び時刻715を含んでいる。コメント情報710は、マイクロブログサービス300がコメント投稿リクエストを受け付けた際にメッセージ管理部305によって生成され、DB306に格納される。
コメントID711は、コメント情報710を一意に識別する識別子である。コメント712は、投稿されたコメント文字列である。メッセージID713は、コメントしたメッセージ情報700のメッセージIDである。ユーザーID714は、コメントしたユーザーIDである。時刻715は、コメントした日時である。
なお、メッセージ情報700及びコメント情報710は、DB306に格納される。すなわち、DB306は、メッセージIDとメッセージ共有ユーザー情報とを対応付けて記憶する。
図7は、タイムライン画面の一例を示している。タイムライン画面610は、「userA」のユーザーのタイムライン画面である。タイムライン画面620は、「userB」のユーザーのタイムライン画面である。タイムライン画面630は、「Group2」のグループのタイムライン画面である。
マイクロブログサービス300は、ユーザーの認証に成功すると、認証したユーザーのタイムライン画面を生成し、Webブラウザ104に返す。
ユーザーのタイムライン画面610,620は、ユーザー情報表示領域(611、621)、メッセージ投稿領域(612、622)及びコメント投稿領域(613〜615、623,624)を含んでいる。
ユーザー情報表示領域(611、621)は、ユーザーアイコン及びユーザー名を含んでいる。ユーザーアイコンとして、アイコンファイルパス504で指定される領域に格納されている画像が表示される。ユーザー名には、ユーザー名502の情報が表示される。
メッセージ投稿領域(612、622)は、メッセージ入力欄、リンク入力欄及び投稿ボタンを含んでいる。投稿ボタンが押下されると、Webブラウザ104は、メッセージ入力欄及びリンク入力欄に入力されている情報をパラメータとして含むメッセージ投稿リクエストをマイクロブログサービス300に送信する。マイクロブログサービス300は、メッセージ投稿リクエストを受信すると、メッセージ情報700を生成する。マイクロブログサービス300は、その後タイムライン画面を再生成し、Webブラウザ104に返す。
コメント投稿領域(613〜615、623,624)は、メッセージ表示領域、コメント表示領域、コメント入力欄及びコメントボタンを含んでいる。メッセージ表示領域は、メッセージを投稿したユーザーのユーザーアイコン、ユーザー名、投稿先、メッセージ及びリンクを含んでいる。
ユーザーアイコンは、ユーザーID704に紐づくアイコンファイルパス504に格納された画像である。投稿先は、投稿先705に格納されるユーザーID又はグループIDに紐づくユーザー名502、グループ名512である。
コメント表示領域は、メッセージ表示領域に表示されるメッセージのメッセージID701と一致するメッセージID713を持つコメント情報を時刻715の新しい順に表示する。コメント表示領域は、コメント投稿したユーザーのユーザーアイコン、ユーザー名502及びコメント712を含んでいる。
ユーザーアイコンは、ユーザーID714に紐づくアイコンファイルパス504に保存された画像である。コメントボタンが押下されると、Webブラウザ104は、コメント入力欄の入力データをパラメータとして含むコメント投稿リクエストをマイクロブログサービス300に送信する。マイクロブログサービス300は、コメント投稿リクエストを受信すると、コメント情報710を生成後、タイムライン画面を再生成し、Webブラウザ104に返す。
コメント投稿領域613は、userBがGroup1に対して投稿したメッセージに対してuserCとuserDのコメントが表示されている例である。コメント投稿領域614は、userDがGroup2に対して投稿したメッセージとリンクが表示されている例である。
コメント投稿領域615は、userDがuserAに対して投稿したメッセージとリンクが表示されている例である。コメント投稿領域623は、コメント投稿領域613と同じものである。コメント投稿領域624は、userCがuserBに対して投稿したメッセージとリンクが表示されている例である。
自ユーザーのタイムライン画面に表示されるメッセージ情報700は次の3つの条件を満たすものとする。第1の条件は、ユーザーID704がユーザーID501又はフォローしているユーザーID505と一致することである。第2の条件は、投稿先705のユーザーIDが自ユーザーのユーザーID501と一致することである。第3の条件は、投稿先705のグループIDが所属グループID507と一致することである。
またユーザーのタイムライン画面は、他ユーザーのタイムライン画面も参照することができる。他ユーザーのタイムライン画面はタイムライン画面中のユーザー名にリンクされており、リンクが押下されることにより表示される。
他ユーザーのタイムラインに表示されるメッセージ情報700は、次の3つの条件を満たすものとする。第1の条件は、ユーザーID704が自ユーザー又は表示ユーザーのユーザーID501と一致することである。第2の条件は、ユーザーID704が表示ユーザーのフォローしているユーザーID505と一致することである。第3の条件は、投稿先705のグループIDが表示ユーザーの所属グループID507と一致し、かつ公開情報514が公開に設定されていることである。
以上の条件を満たすメッセージ情報700とメッセージに紐づくコメント情報710とがユーザーのタイムライン画面に表示される。
なおコメント表示領域の表示順はコメント表示領域に表示するメッセージ情報700の時刻706及びコメント情報710の時刻715のうち最新の時刻で、時刻の新しい順である。
図7のタイムライン画面630は、「Group2」のタイムライン画面である。グループのタイムライン画面630は、タイムライン画面中のグループ名にリンクされており、リンクが押下されることにより表示される。
グループのタイムライン画面は、グループ情報表示領域631、メッセージ投稿領域632及びコメント投稿領域633を含んでいる。グループ情報表示領域631には、グループ名512の情報が表示される。メッセージ投稿領域632は、ユーザーのタイムライン画面におけるメッセージ投稿領域(612、622)と同様であるが、グループを投稿先として投稿される。コメント投稿領域633は、ユーザーのタイムライン画面におけるメッセージ投稿領域(613〜615、623,624)と同様である。
グループのタイムライン画面630に表示されるメッセージ情報700は、次の条件を満たすこととする。第1の条件は、投稿先705のグループIDが表示グループのグループID511と一致することである。第2の条件は、表示グループのグループID511と自ユーザーの所属グループID507が一致することである。第3の条件は、表示グループの公開情報514が公開に設定されていることである。
上記の条件を満たすメッセージ情報700及びメッセージに紐づくコメント情報710がグループのタイムライン画面に表示される。なおコメント表示領域の表示順は、コメント表示領域に表示するメッセージ情報700の時刻706、コメント情報710の時刻715のうち最新の時刻で、時刻の新しい順である。
<マイクロブログサービス300のWebAPI>
マイクロブログサービス300は、WebAPIを提供する。WebAPIとは、リクエストに応じてマイクロブログサービス300で管理する情報の登録、取得、更新、削除を行う機能である。マイクロブログサービス300で管理する情報としては、ユーザー情報500、グループ情報510、トークン情報530、メッセージ情報700、コメント情報710がある。
クライアント装置101などから、WebAPIへのリクエストを行うためには先述の認可を行いリクエストにアクセストークン532、クライアントID521、シークレット522を付加する必要がある。
WebAPIへのリクエストとしては、ユーザー情報500、グループ情報510、メッセージ情報700又はコメント情報710それぞれを登録、取得、更新、削除するリクエストがある。WebAPIへのリクエストとしては、他にトークン更新リクエスト、ユーザータイムライン取得リクエスト、グループタイムライン取得リクエストがある。
トークン更新リクエストは、アクセストークン532を更新するためのリクエストである。マイクロブログサービス300は、トークン更新リクエストのパラメータとしてリフレッシュトークン533、クライアントID521、シークレットを付加することで、アクセストークン532とリフレッシュトークン533とを再発行し応答する。
ユーザータイムライン取得リクエストは、パラメータに指定されたユーザーID501のタイムラインを取得するリクエストである。ユーザータイムライン取得リクエストで取得できる情報は図7のユーザーのタイムライン画面のコメント投稿領域(613〜615、623、624)に表示されるメッセージ情報700及びコメント情報710である。ユーザータイムライン取得リクエストで取得できるメッセージ情報700の条件は、先述のユーザーのタイムライン画面に表示されるメッセージ情報700の条件と同じである。
グループタイムライン取得リクエストは、パラメータに指定されたグループID511のタイムラインを取得するリクエストである。グループタイムライン取得リクエストで取得できる情報は、図7のグループのタイムライン画面のコメント投稿領域(633)に表示されるメッセージ情報700及びコメント情報710である。グループタイムライン取得リクエストで取得できるメッセージ情報700の条件は、先述のグループのタイムライン画面に表示されるメッセージ情報700の条件と同じである。
WebAPIから情報取得するリクエストには、クエリーをパラメータとして指定することができる。クエリーとは、データの検索条件である。マイクロブログサービス300は、クエリーに指定された検索条件に合致する情報を返す。例えばメッセージ情報取得リクエストに複数のメッセージID701をクエリーとして指定した場合、マイクロブログサービス300は、管理するメッセージ情報700からクエリーで指定されたメッセージID701と一致するメッセージ情報700を返す。
<文書管理サービス提供サーバ装置のソフトウェアモジュール構成>
図8は、文書管理サービス提供サーバ装置103のソフトウェアモジュール(文書管理サービス800)の構成を示す図である。文書管理サービス800は、文書共有サービス801と認証サービス811とを有している。文書共有サービス801は、送受信部802と、制御部803と、ページ生成部804と、文書管理部805と、メッセージ情報管理部806とを有している。認証サービス811は、送受信部812と、制御部813と、ユーザー管理部814と、トークン管理部815とを有している。
なお、各ソフトウェアモジュールのプログラムは、図2で示したHDD204に記憶されており、前述したようにCPU201によってRAM203にロードされ、実行されることにより各ソフトウェアモジュールが実現されるものである。
また、DB807は、文書共有サービス801により参照されるDBであり、図2に示すHDD204等に記憶されている。同様に、DB816は、認証サービス811により参照されるDBであり、HDD204等に記憶されている。
送受信部802は、クライアント装置101のWebブラウザ104や、マイクロブログサービス300、認証サービス811との通信を処理する。制御部803は、送受信部802が受け付けたリクエストに従って処理を実行する。ページ生成部804は、Webブラウザ104にレスポンスを返すためのWebページを生成する。
文書管理部805は、DB807に格納されている文書及び後述の文書情報1400を管理する。文書管理部805は、例えば、制御部803からの要求に応じて文書及び文書情報1400の登録、取得、更新、削除を行う。
メッセージ情報管理部806は、メッセージ情報1410を、DB807上で管理する。メッセージ情報管理部806は、例えば、要求に応じてメッセージ情報1410の登録、取得、更新、削除を行う。ここでメッセージ情報1410は、文書及び文書情報1400と、マイクロブログサービス300上のメッセージとを関連付ける情報である。
なお、DB807には、文書、文書情報1400及びメッセージ情報1410に加えて、文書共有サービス801のユーザー設定情報等も格納される。
認証サービス811の送受信部812は、文書共有サービス801との通信を処理する。制御部813は、送受信部812が受け付けたリクエストに従って処理を実行する。ユーザー管理部814は、DB816に格納されている後述のユーザー情報1420を管理する。ユーザー管理部814は、例えば制御部813からの要求に応じてユーザー情報1420の登録、取得、更新、削除を行う。
トークン管理部815は、ユーザー情報1420と同じくDB816に格納される後述の認証トークン情報1430及びマイクロブログアクセストークン情報1440を管理する。トークン管理部815は、例えば制御部813からの要求に応じて認証トークン情報1430及びマイクロブログアクセストークン情報1440の登録、取得、更新、削除を行う。
<文書管理サービス800における管理情報>
図9は、文書情報1400、メッセージ情報1410、ユーザー情報1420、認証トークン情報1430及びマイクロブログアクセストークン情報1440を示す図である。文書情報1400及びメッセージ情報1410は、文書共有サービス801のDB807に格納される情報である。
文書情報1400は、コンテンツとしての文書に関する情報、すなわちコンテンツ情報である。文書情報1400は、文書に関する付加情報である。文書情報1400は、文書ID1401、文書保存先1402、ユーザーID1403、文書名1404、共有したメッセージID1405、共有許可したユーザーID及びグループID1406を含んでいる。
文書ID1401は、文書を一意に識別する識別子である。文書保存先1402は、文書へのアクセスに必要なファイルパスやURL等を示す情報である。なお、文書は、文書管理サービス提供サーバ装置103のHDD204に格納されている。他の例としては、文書は、他の装置に記憶されていてもよい。この場合には、記憶する装置へのアクセスに必要な情報が文書保存先1402に格納される。
ユーザーID1403は、文書管理サービス800において、文書の作成及び登録を行ったユーザー、すなわち作成ユーザーを表す識別子である。文書名1404は、文書のタイトルであり、ユーザーが任意に決定できる文字列である。
共有したメッセージID1405は、マイクロブログサービス300に文書情報1400を投稿した際に発行される投稿識別子である。すなわち、共有したメッセージID1405は、マイクロブログサービス300のメッセージID701に対応する情報である。
共有許可したユーザーID及びグループID1406は、文書の作成ユーザーが文書の共有を許可したユーザーIDやグループIDである。ここで、共有許可したユーザーID及びグループID1406は、文書(コンテンツ)を共有すべきユーザーを示す文書共有ユーザー(コンテンツ共有ユーザー)の一例である。
また、文書情報1400には、これ以外に、文書のサイズや、ページ数等の文書に関する任意の情報が含まれてもよい。
メッセージ情報1410は、文書管理サービス提供サーバ装置103に格納されている文書に対し、マイクロブログサービス300に投稿されたメッセージに関する情報を含んでいる。メッセージ情報1410は、メッセージID1411、マイクロブログURL1412、メッセージ投稿ユーザーID1413、投稿先1414及び文書ID1415を含んでいる。
メッセージID1411は、マイクロブログサービス300上でメッセージを一意に識別す識別子である。メッセージID1411は、メッセージが投稿された際にマイクロブログサービス300により発行される投稿識別子である。
マイクロブログURL1412は、マイクロブログサービス300へアクセスするためのURLである。マイクロブログURL1412には、例えば、マイクロブログサービス300のWebサービスのエンドポイントURLが格納される。
メッセージ投稿ユーザーID1413は、マイクロブログサービス300上でのメッセージを投稿したユーザーのユーザーIDである。投稿先1414は、マイクロブログサービス300上におけるメッセージ投稿先ユーザーのID又は、投稿先グループのIDを示す情報である。文書ID1415は、文書情報1400とメッセージ情報1410とを関連づけるための識別子である。
なお、共有したメッセージID1405や、共有許可したユーザーID及びグループID1406を文書IDに対応付ける文書情報1400やメッセージ情報1410は、DB807に記憶されている。
ユーザー情報1420、認証トークン情報1430及びマイクロブログアクセストークン情報1440は、認証サービス811のDB816に格納される情報である。ユーザー情報1420は、文書管理サービス800の利用者として登録されているユーザーの情報である。
ユーザー情報1420は、ユーザーID1421及びパスワード1422を含んでいる。ユーザーID1421は、文書管理サービス800内でのユーザーを一意に識別する識別子である。パスワード1422は、ユーザーがWebブラウザ104を介して、文書管理サービス800へログインする際に、ユーザーID1421と共に、認証に使用されるパスワードである。また、ユーザー情報1420には、これ以外に、氏名や、メールアドレス等のユーザーに関する任意の情報が含まれてよい。
認証トークン情報1430は、文書管理サービス800へログイン済みのユーザーの認証情報である。認証トークン情報1430は、認証トークン1431、ユーザーID1432及び時刻1433を含んでいる。認証トークン1431は、認証済みであることを証明するための少なくとも文書管理サービス800内で一意の文字列である。ユーザーID1432は、認証済みのユーザーのユーザーIDを示す情報である。時刻1433には、認証トークン1431の有効期限を決定するための日付や、時刻が格納される。
マイクロブログアクセストークン情報1440は、文書管理サービス800が、マイクロブログサービス300にアクセスする際に必要なユーザーの認可情報である。マイクロブログアクセストークン情報1440は、ユーザーID1441、マイクロブログURL1442、アクセストークン1443及びリフレッシュトークン1444を含んでいる。
ユーザーID1441は、文書管理サービス800上のユーザーを識別する識別子である。ユーザーID1441は、ユーザー情報1420のユーザーID1421と対応している。マイクロブログURL1442は、マイクロブログアクセストークン情報1440が使用されるべきマイクロブログのURLであり、メッセージ情報1410のマイクロブログURL1412と対応する。
アクセストークン1443は、ユーザーID1441でマイクロブログURL1442にアクセスする際に必要な認可情報を含む文字列である。また、リフレッシュトークン1444は、マイクロブログサービス300で発行される、アクセストークン1443の更新に必要なトークンである。
<文書管理サービス800の認証>
図10は、クライアント装置101のWebブラウザ104により表示される文書管理サービスログイン画面900の一例を示す図である。文書管理サービスログイン画面900は、文書管理サービス800のページ生成部804により生成される。
Webブラウザ104から文書管理サービス800にリクエストが行われると、送受信部802がリクエストを受け付ける。続いて、制御部803から、送受信部802を通して、認証サービス811に認証チェック要求が送信される。
この際、制御部803は、リクエストに認証トークン1431が含まれるか確認し、含まれる場合には、認証サービス811に認証トークンを渡す。認証サービス811は、送受信部812で要求を受け付ける。続いて、制御部813が、トークン管理部815に認証トークン情報1430の有効性のチェックを依頼する。
制御部813は、トークン管理部815から認証トークン1431が有効であるか否かの結果を受け取る。制御部813は、送受信部812を介して、有効か否かの結果を文書共有サービス801に送信する。
認証トークン1431の有効性のチェックの際には、認証トークン情報1430が参照され、対象となる認証トークン1431が記憶されているか、時刻1433から有効期限が切れていないか等がチェックされる。文書共有サービス801の制御部803は、認証トークン1431が無効だった場合にページ生成部804に文書管理サービスログイン画面900の生成を指示する。
そして、制御部803は、リクエストに対し、生成した文書管理サービスログイン画面900を応答する。制御部803は、認証トークン1431が有効だった場合にはリクエストに応じて、後述するプレビュー画面1000等を生成し応答する。
文書管理サービスログイン画面900は、ユーザー名901、パスワード902及びログインボタン903を含んでいる。ユーザー名901及びパスワード902は、文書管理サービス800への認証に必要なユーザーID及びパスワードの入力欄である。ログインボタン903が押下されると、Webブラウザ104は、ユーザー名901及びパスワード902に入力された情報をパラメータとして含むログインリクエストを、文書管理サービス800に送信する。
認証サービス811の制御部813は、ログインリクエストが行われると、妥当性のチェックを行う。制御部813は、ログインリクエストに含まれるユーザー名901とパスワード902との組み合わせが、ユーザー情報1420において対応付けられて存在しているかを確認する。
ログインリクエストに含まれる組み合わせがユーザー情報1420に存在している場合には、制御部813は、認証トークン情報1430を発行する。そして、制御部813は、認証トークン情報1430をDB816に格納すると共に、認証トークン1431をWebブラウザ104に返す。
Webブラウザ104は、取得した認証トークン1431をリクエストに付加することで認証を継続することができる。文書管理サービス800へのすべてのリクエストは認証サービス811により認証管理される。文書管理サービス800がリクエストを受信した際には認証情報の確認が必ず行われるが、説明の簡略化のため、認証情報の確認は以降、その説明を省略する。
<文書共有サービス801の文書プレビュー>
図11は、クライアント装置101のWebブラウザ104により表示される文書のプレビュー画面1000の一例を示す図である。プレビュー画面1000は、文書共有サービス801のページ生成部804により生成される。
プレビュー画面1000の生成処理においては、まず、Webブラウザ104から文書共有サービス801に、文書を識別する情報を含む、文書プレビューリクエストが送信される。送受信部802がリクエストを受け付けると、制御部803は、文書管理部805から文書情報1400を取得する。
ここで、Webブラウザ104から送信される、文書を識別する情報とは、例えば、文書ID1401を含むURLなどでよい。制御部803は、このURLに含まれる文書ID1401を参照することで、要求に合った文書情報1400を、文書管理部805から取得することができる。
制御部803は、取得した文書情報1400を参照し、ページ生成部804に、Webブラウザ104で表示可能なプレビュー画面1000の生成を指示する。さらに、制御部803は、送受信部802を通して、生成されたプレビュー画面1000をWebブラウザ104に返す。
プレビュー画面1000には、文書情報1400の文書保存先1402を参照して取得した文書画像1010を表示すると共に、文書名1002や、ユーザー名1001等を表示する。また、プレビュー操作を行う領域1020には、ページ送りを行うためのボタン1021や、表示ページの指定を行う入力エリア1022が表示される。メッセージ投稿領域1030は、マイクロブログサービス300へメッセージ投稿するための領域である。
メッセージ投稿領域1030は、メッセージ入力欄1031、リンク情報1032、マイクロブログで共有ボタン1033及び共有許可指定ボタン1034を含んでいる。リンク情報1032には、プレビュー中の文書を識別するための文書ID1401を含むURLが表示される。文書ID1401を含むURLにWebブラウザ104からリクエストが送信されると、文書ID1401により特定される文書のプレビュー画面1000が表示される。
マイクロブログで共有ボタン1033が押下されると、Webブラウザ104は、メッセージ入力欄1031に入力されているメッセージとリンク情報1032とをパラメータとして含む共有リクエストを文書共有サービス801に送信する。共有リクエストを受け付けた文書共有サービス801は、後述の共有先選択画面1100を生成し、Webブラウザ104に返す。共有先選択画面1100の生成方法及び共有先選択画面1100の詳細は後述する。
共有許可指定ボタン1034が押下されると、Webブラウザ104は、文書共有サービス801に共有許可指定リクエストを送信する。共有許可指定リクエストを受け付けた文書共有サービス801は、後述の共有許可指定画面1200を生成し、Webブラウザ104に返す。共有許可指定画面1200の生成方法及び共有許可指定画面1200の詳細は後述する。
<文書共有サービス801の共有先選択>
図12は、クライアント装置101のWebブラウザ104により表示される共有先選択画面1100の一例を示す図である。共有先選択画面1100は、文書共有サービス801のページ生成部804により生成される。共有先選択画面1100は、図11に示すプレビュー画面1000のメッセージ入力欄1031に入力されたメッセージの投稿先のユーザーやグループを選択するための画面である。
共有先選択画面1100は、ユーザー名1101、選択領域1102及び共有ボタン1103を含んでいる。選択領域1102には、投稿先の選択肢として、文書管理サービス800に登録されている登録ユーザーや登録ユーザーの所属するグループ等が表示されている。
共有ボタン1103が押下されると、Webブラウザ104は、選択領域1102の選択項目、入力ユーザー名をパラメータとして含む共有リクエストを文書共有サービス801に送信する。共有リクエストは、メッセージを共有するユーザーを登録するリクエストである。文書共有サービス801の文書管理部805は、送受信部802が受信した共有リクエストに従い、メッセージ情報700の投稿先705にメッセージ共有ユーザー情報としてユーザーID又はグループIDを登録する。
選択領域1102における全てのユーザーがチェックされた場合は、ユーザーやグループを指定せずにメッセージが投稿される。選択領域1102における全てのフォローユーザーがチェックされた場合は、ログインユーザーのフォローしているユーザーID505を投稿先705としてメッセージが投稿される。
選択領域1102における全てのフォローされているユーザーがチェックされた場合は、ログインユーザーのフォローされているユーザーID506を投稿先705としてメッセージが投稿される。選択領域1102におけるユーザーやグループが選択された場合は、選択されたユーザーやグループを投稿先705としてメッセージが投稿される。選択領域1102において任意のユーザーが入力された場合は、入力ユーザーのユーザーID、グループIDを投稿先705としてメッセージが投稿される。
なお選択領域に表示されるユーザーやグループは、ログインユーザーのフォローしているユーザーID505とフォローしているユーザーID506とである。
メッセージの投稿が行われると、文書共有サービス801の送受信部802は、メッセージ投稿に指定された投稿先705を受信する。すなわち、送受信部802による処理は、メッセージの投稿ユーザーから、メッセージを共有すべきユーザー及びグループのうち少なくとも一方の選択を受け付ける第1の選択処理の一例である。
マイクロブログサービス300へのメッセージ投稿の前に共有先選択画面1100にマイクロブログサービス300に登録されているユーザーやグループが表示されるので、ユーザーは、表示された中から所望の共有先を指定することができる。
また、共有先選択画面1100には、投稿ユーザーのユーザー情報500において、フォローしているユーザーID505や、フォローされているユーザーID506に登録されているユーザー等が選択可能に表示されている。これにより、所望の投稿先の選択のためのユーザー操作を簡略化することができる。
<文書共有サービス801の共有許可選択>
図13は、クライアント装置101のWebブラウザ104により表示される共有許可指定画面1200の一例を示す図である。共有許可指定画面1200は、送受信部802がマイクロブログサービス300から受信したユーザー情報500及びグループ情報510に基づいて、文書共有サービス801のページ生成部804により表示される。ここで、ユーザー情報500及びグループ情報510は、マイクロブログサービス300の登録情報の一例である。
共有許可指定画面1200は、図11に示すプレビュー画面1000に表示されている文書に対し、文書オーナーが共有を許可するユーザーを指定するための画面である。共有許可指定画面1200は、文書オーナー、すなわち文書を作成したユーザーに対してのみ表示される画面であり、共有許可指定は、文書オーナーのみが行うことができる。すなわち、送受信部802の処理は、第2の受信処理の一例である。また、ページ生成部804の処理は、共有許可指定画面を生成する第2の画面生成処理の一例である。
共有許可指定画面1200は、ユーザー名1201、選択領域1202、ユーザー指定領域1203及び指定ボタン1204を含んでいる。選択領域1202には、共有許可を指定するユーザー及びグループの選択肢として、文書管理サービス800に登録されている登録ユーザーや登録ユーザーの所属するグループ等が表示されている。
共有ボタン1103が押下されると、Webブラウザ104は、選択領域1202やユーザー指定領域1203の選択項目、入力ユーザー名をパラメータとして含む共有許可指定リクエストを文書共有サービス801に送信する。
文書共有サービス801の送受信部802は、共有許可指定リクエストを受け取る。すなわち、送受信部802は、文書の作成ユーザーから、文書を共有すべきユーザー及びグループのうち少なくとも一方の選択を受け付ける。文書管理部805は、共有許可指定リクエストに基づいて、選択項目、入力ユーザー名により共有許可したユーザーID及びグループID1406の値を変更する。
選択領域1202における全てのユーザーがチェックされたとする。この場合には、チェックされた内容が、Webブラウザ104から文書管理サービス800に送信される。文書管理サービス800においては、文書共有サービス801の送受信部802が、チェックされた内容を受信する。そして、文書共有サービス801の文書管理部805は、チェックされた内容に従い、共有許可したユーザーID及びグループID1406の値を、全ユーザーを示す値に変更する。
すなわち、送受信部802の処理は、文書オーナー(コンテンツの作成ユーザー)から文書(コンテンツ)の共有を許可すべきユーザー又はグループのうち少なくとも一方の選択を受け付ける第2の選択受付処理の一例である。
選択領域1202における文書オーナーがチェックされた場合は、文書管理部805は、共有許可したユーザーID及びグループID1406の値を削除する。選択領域1202において、文書オーナーに共有されたユーザー、グループ所属ユーザーがチェックされた場合は、文書管理部805は、共有許可したユーザーID及びグループID1406の値を文書オーナーのユーザーIDに変更する。
選択領域1202においてユーザー指定領域1203で全てのフォローユーザーがチェックされた場合には、文書管理部805は、ログインユーザーのフォローしているユーザーID505を共有許可したユーザーID及びグループID1406に格納する。また、選択領域1202においてユーザー指定領域1203で全てのフォローされているユーザーがチェックされるとする。この場合は、文書管理部805は、ログインユーザーのフォローされているユーザーID506を共有許可したユーザーID及びグループID1406に格納する。
選択領域1202において選択したユーザーが指定された場合には、以下の通り、ユーザー指定領域1203の指定に従い共有許可したユーザーID及びグループID1406の情報が格納される。なお、ユーザー指定領域1203に表示されるユーザーやグループはログインユーザーのフォローしているユーザーID505とフォローしているユーザーID506とである。
ユーザー指定領域1203でユーザーやグループが選択された場合は、文書管理部805は、選択されたユーザーIDやグループIDを共有許可したユーザーID及びグループID1406に格納する。選択領域1202においてユーザー指定領域1203で任意のユーザーが入力された場合は、文書管理部805は、入力されたユーザーのユーザーID、グループIDを共有許可したユーザーID及びグループID1406に格納する。
このように、共有許可指定画面1200においてマイクロブログサービス300に対しメッセージを投稿することのできるユーザーやグループを、ユーザーから選択可能に表示する。したがって、ユーザーは共有許可するユーザー及びグループを簡単な操作で指定することができる。
<文書共有サービス801への文書登録>
図14は、クライアント装置101のWebブラウザ104により表示される文書登録画面1300の一例を示す図である。文書登録画面1300は、クライアント装置101のWebブラウザ104から文書共有サービス801にアクセスして文書登録画面表示リクエストを送信した場合に、文書共有サービス801のページ生成部804により生成される。
文書登録画面1300には、登録する文書を指定するためのファイル名1301及び文書登録ボタン1302が含まれる。文書登録ボタン1302を押下することで、クライアント装置101から文書管理サービス800に対して、ファイル名1301が指された文書を送信するための文書登録リクエストが発行される。
ユーザーにより、文書登録画面1300の文書登録ボタン1302が押下されると、Webブラウザ104は、文書とともに文書登録リクエストを文書共有サービス801に送信する。文書登録リクエストを受け付けた文書共有サービス801は、文書のデータをHDD204に格納し、文書情報1400を生成する。
文書共有サービス801へ文書を登録する手段としては、他の例として、文書登録サービスを外部サービスとして設け、文書登録サービスの文書登録画面1300で文書登録する構成でもよい。その場合、文書登録サービスは、文書登録リクエストを受け付ける。そして、文書登録サービスは、文書共有サービス801にネットワーク100を介してWebAPIで文書登録リクエストを転送する。
文書共有サービス801のWebAPIは、マイクロブログサービス300のWebAPIと同様であり、文書共有サービス801で管理するデータを登録、取得、更新、削除する機能である。
<文書プレビュー画面表示>
図15は、プレビュー画面1000を表示する処理のシーケンス図である。プレビュー画面1000は、マイクロブログサービス300にログインした後、ユーザーのタイムライン画面610、620上に表示されている文書URLが押下された際に実行される。
まず、クライアント装置101のWebブラウザ104からのログインリクエストをマイクロブログサービス300が受け付ける(ステップS1501)。マイクロブログサービス300は、ログインリクエストを受け付けると、ログイン画面400を返す。さらに、マイクロブログサービス300は、Webブラウザ104において、ログイン画面400に入力された情報に基づいて、ユーザー認証を行う(S1502)。
マイクロブログサービス300は、認証に成功すると、ユーザーのタイムライン画面610、620を返す。ここでWebブラウザ104に表示されるユーザーのタイムライン画面610、620には、614、615、624のように文書管理サービス800へのリンクが投稿されている。またリンクには文書を識別するための文書ID1401も付加されている。
続いて、Webブラウザ104において、ユーザーのタイムライン画面610、620に表示されている文書管理サービス800へのリンクの押下を検知する(ステップS1503)。これにより、Webブラウザ104は、文書管理サービス800に対してプレビュー画面表示リクエストを送信する(S1504)。
文書管理サービス800に未ログインの場合には、文書管理サービス800から文書管理サービスログイン画面900が送信される(ステップS1505)。続いて、文書管理サービス800は、文書管理サービスログイン画面900に入力された内容に基づいて、ユーザー認証を行う。ユーザーが文書管理サービス800に既にログイン済みの場合にはS1505の処理は実行されない。
続いて、文書管理サービス800は、プレビュー画面表示リクエストされた文書をログインユーザーに対して表示可能かどうか、文書に対する投稿が可能かどうか、文書の共有指定が可能かどうかを判断する(ステップS1506)。なお、S1506における判断は図16を参照しつつ詳細を後述する。
続いて、文書管理サービス800は、ステップS1506において文書を表示可能と判断した場合に、プレビュー画面1000を生成し、プレビュー画面1000をWebブラウザ104に返す(ステップS1507)。以上で、プレビュー画面1000を表示する処理が完了する。
図16は、図15において説明したステップS1506における文書管理サービス800の処理を示すフローチャートである。すなわち、文書管理サービス800がWebブラウザ104からのプレビュー画面表示リクエストを受け付け、認証に成功した後、レスポンスを返すまでのフローである。
文書管理サービス800は、まずプレビュー画面表示リクエストを取得する(ステップS1601)。プレビュー画面表示リクエストには、当該リクエストを行ったリクエストユーザーに対して発行された認証トークンが付加されている。ここで、プレビュー画面表示リクエストは、文書(コンテンツ)の表示要求の一例である。また、リクエストユーザーは、表示要求の送信元ユーザーの一例である。ステップS1601の処理は、表示要求受付処理の一例である。また、認証トークンは、送信元ユーザーに対して発行された情報であり、送信元ユーザーを示す送信元ユーザー情報に相当する。
文書管理サービス800のユーザー管理部814は、認証トークンによりリクエストユーザーを特定する(S1602)。次に、文書管理サービス800の文書管理部805は、リクエストユーザーが文書の登録ユーザー、すなわち文書オーナーと一致するか否かを判断する。より具体的には、文書管理部805は、文書情報1400を参照し、リクエストユーザーのユーザーIDとユーザーID1403とを比較する。
両者が一致する場合、すなわち、リクエストユーザーが文書オーナーである場合には(ステップS1603,Yes)、ページ生成部804は、プレビュー画面1000を生成する(S1604)。
S1603において、リクエストユーザーと文書オーナーが一致する場合には、文書管理部805は、リクエストユーザーに対する文書の表示、文書に対するメッセージの投稿及び文書に対する共有許可指定を許可する。そして、ステップS1064においては、ページ生成部804は、文書管理部805による文書の表示許可の判断に基づき、プレビュー画面1000を表示する。
さらに、ページ生成部804は、文書管理部805による文書に対するメッセージの投稿許可の判断に基づき、プレビュー画面1000にマイクロブログで共有ボタン1033を付加する。さらに、ページ生成部804は、文書管理部805による文書に対する共有許可指定の許可の判断に基づき、プレビュー画面1000に共有許可指定ボタン1034を付加する。
一方、ステップS1603において、リクエストユーザーが文書オーナーに一致しない場合には(ステップS1603,No)、文書管理部805は、ステップS1605に進む。ステップS1605において、文書管理部805は、制御部803を介し、プレビュー画面表示リクエストにかかる文書の共有したメッセージID1405を取得する(ステップS1605)。
次に、送受信部802は、共有したメッセージID1405をパラメータとしてメッセージ情報取得リクエストを、マイクロブログサービス300に送信する(ステップS1606)。なおS1606におけるメッセージ情報取得リクエストの送信は、リクエストユーザーのアクセストークン1443で行われる。メッセージ情報取得リクエストは、投稿識別子としてのメッセージIDを含む投稿取得要求の一例である。ステップS1606の処理は、第1の送信処理の一例である。
マイクロブログサービス300においては、メッセージ情報取得リクエストを取得すると、トークン情報530を参照し、アクセストークンから、リクエストユーザーのユーザーIDを特定する。
次に、マイクロブログサービス300は、DB306に格納されているメッセージ情報700を参照し、リクエストユーザーが閲覧可能なメッセージ情報700を特定する。すなわち、マイクロブログサービス300は、リクエストユーザーがメッセージ共有ユーザーに指定されているメッセージ情報700を特定する。ここで、メッセージ共有ユーザーは、メッセージ情報700のユーザーID704及び投稿先705に登録されているユーザーである。
なお、本実施の形態においては、メッセージ情報700のユーザーID704及び投稿先705として登録されているユーザーをメッセージ共有ユーザーとすることとしたが、これに限定されるものではない。設計者等は、任意のユーザーをメッセージ共有ユーザーとして定め、これをメッセージ情報700等として登録することができる。
マイクロブログサービス300は、より具体的には、ユーザーID704又は投稿先705にリクエストユーザーのユーザーIDが格納されているメッセージ情報700をリクエストユーザーが閲覧可能なメッセージ情報700として特定する。
また、マイクロブログサービス300は、投稿先705に、リクエストユーザーが所属するグループのグループIDが格納されているメッセージ情報700をリクエストユーザーが閲覧可能なメッセージ情報700として特定する。なお、マイクロブログサービス300は、リクエストユーザーの所属するグループを特定する際には、ユーザー情報500又はグループ情報510を参照する。
以上、マイクロブログサービス300の処理により、メッセージ情報700が特定された場合には、特定されたメッセージ情報700が文書管理サービス800に送信される。メッセージ情報が特定されない場合には、メッセージ情報700は送信されない。
すなわち、文書管理サービス800は、リクエストユーザーがメッセージ共有ユーザーに指定されているメッセージ情報700が存在する場合に、このメッセージ情報700を取得することができる。すなわち、メッセージ情報700は、リクエストユーザーがメッセージ共有ユーザーとして指定されている場合にのみ送信される情報である。
文書管理サービス800は、メッセージ情報700の受信の有無により、リクエストユーザーがメッセージ共有ユーザーとして指定されているか否かを判断することができる。すなわち、メッセージ情報700は、リクエストユーザーがメッセージ共有ユーザーとして指定されているときに送信される一致情報の一例である。
続いて、文書管理部805は、ステップS1605において送信したメッセージ取得リクエストに対し、文書管理サービス800の送受信部802がメッセージ情報700を取得できたか否かを判断する(ステップS1607)。メッセージ情報700を取得できた場合には(ステップS1607,Yes)、文書管理部805は、プレビュー画面1000の表示を許可すると判断し、ステップS1609に進む。
ステップS1607において、メッセージ情報700を取得できなかった場合には(ステップS1607,No)、文書管理部805は、プレビュー画面1000の表示を拒否すると判断し、ステップS1608に進む。
ここで、ステップS1607の処理は、一致情報を受信する第1の受信処理及びプレビュー画面1000の表示の拒否を判断する表示制御処理の一例である。
ステップS1607において、メッセージ情報700を取得できなかった場合、すなわちリクエストがエラーだった場合には(ステップS1607,No)、ページ生成部804は、アクセスエラー画面を生成する(S1608)。アクセスエラー画面の詳細は省略するが、アクセス権限がなく文書プレビューできない旨のメッセージが記載された画面である。
このように、本実施の形態にかかるコンテンツ共有システムにおいては、リクエストユーザーが文書へのアクセス権を有しない場合には、プレビュー画面の表示を行わず、アクセスエラー画面を表示する。したがって、プレビュー画面が表示されたにもかかわらず、閲覧ユーザーにアクセス権がないために、文書へのリンクを拒否されるという不都合を解消することができる。
S1607において、メッセージ情報700を取得できた場合、すなわちリクエストに成功した場合(ステップS1607,Yes)、文書管理部805は、ステップS1609へ進む。すなわち、文書管理部805は、DB807から共有許可したユーザーID及びグループID1406を取得する(S1609)。
ここで、共有許可したユーザーID及びグループID1406には、文書の共有を許可すべき文書共有許可ユーザー(コンテンツ共有許可ユーザー)を示す情報、すなわちコンテンツ共有許可ユーザー情報が登録されている。
次に、文書管理部805は、リクエストユーザーのユーザーIDが共有許可したユーザーID及びグループID1406のユーザーIDとして指定されているかどうか判断する。S1610においてリクエストユーザーが共有許可したユーザーID及びグループID1406のユーザーIDとして指定されている場合(ステップS1610,Yes)、文書管理部805は、リクエストユーザーに対しメッセージの投稿などの共有を許可する。
そして、ページ生成部804は、共有ボタン1033を付加したプレビュー画面1000を生成する(ステップS1614)。なお、ステップS1614において生成されたプレビュー画面1000には、共有許可指定ボタン1034は付加されない。
一方、ステップS1610において、リクエストユーザーのユーザーIDが共有許可したユーザーID及びグループID1406のユーザーIDとして指定されていない場合(ステップS1610,No)、文書管理部805は、ステップS1611に進む。すなわち、文書管理部805は、DB807からリクエストユーザーが共有許可したグループID1406の所属ユーザーID513をマイクロブログサービス300から取得する(ステップS1611)。
続いて、文書管理部805は、リクエストユーザーのユーザーIDを参照し、リクエストユーザーがS1611で取得したグループ所属ユーザーとして指定されているかどうか判断する。
S1612においてリクエストユーザーが共有許可したグループID1406に所属している場合(ステップS1612,Yes)、文書管理部805は、リクエストユーザーに対しメッセージの投稿などの共有を許可する。そして、ステップS1614に進み、共有ボタン1033を付加したプレビュー画面1000が生成される。
一方、S1612においてリクエストユーザーが共有許可したグループID1406に所属していない場合(ステップS1612,No)、文書管理部805は、リクエストユーザーに対しメッセージなどの投稿の共有を拒否する。そして、ページ生成部804は、共有ボタン1033及び共有許可指定ボタン1034のいずれも含まないプレビュー画面1000を生成する(ステップS1613)。
そして、送受信部802は、ステップS1604、S1613、S1614、S1608で作成した画面をWebブラウザ104に返す(ステップS1615)。
ステップS1610,S1612の処理は、リクエストユーザーがコンテンツに対するメッセージの投稿の拒否を判断する第2の管理処理の一例である。
以上のように、本実施の形態のコンテンツ共有システムにおいては、文書オーナーに対してのみ表示可能な共有許可指定画面1200で指定されたユーザーやグループ所属ユーザーには共有ボタン1033を表示する。一方で、共有許可指定画面1200で指定されていないユーザーである場合には共有ボタン1033を表示しない。
これにより、メッセージの投稿を共有できるユーザーを限定することができる。さらに、ドキュメントオーナー以外のユーザーにより共有されることでドキュメントオーナーの知らないところで文書へのアクセス権が付加されるのを防ぐことができる。
<文書共有シーケンス>
図17は、文書管理サービス800が生成したプレビュー画面1000がWebブラウザ104に表示された後、マイクロブログサービス300へメッセージ投稿される際のシーケンス図である。
文書管理サービス800において生成されたプレビュー画面1000がWebブラウザ104に送信され、Webブラウザ104によりプレビュー画面1000が表示される(ステップS1701)。続いて、Webブラウザ104において、プレビュー画面1000のマイクロブログで共有ボタン1033の押下が検知される(ステップS1702)。
共有ボタン1033の押下に従い、Webブラウザ104は、文書管理サービス800に共有先選択リクエストを送信する(ステップS1703)。共有先選択リクエストにはメッセージ入力欄1031に入力されたメッセージがパラメータとして付加される。
以降、S1704〜S1708の処理は、文書管理サービス800がマイクロブログサービス300のWebAPIにリクエストするための認可フローである。マイクロブログサービス300の認可については先述したため説明を省略する。
ステップS1708に続き、文書管理サービス800の送受信部802は、マイクロブログサービス300にユーザー情報及びグループ情報取得リクエストを行う(ステップS1709)。そして、文書管理サービス800は、リクエストに対し、ログインユーザー(投稿ユーザー)のユーザー情報500及びグループ情報510(登録情報)を取得する(ステップS1710)(第2の受信処理)。ここで取得するグループ情報510は所属グループID507とグループID511の一致するグループ情報510である。
次に、ページ生成部804は、S1710で取得したユーザー情報500及びグループ情報510を用いて共有先選択画面1100を生成する。送受信部802は、生成された共有先選択画面1100をWebブラウザ104に返す(ステップS1711)。なお、ステップS1711の処理は、第1の画面生成処理の一例である。
次に、Webブラウザ104において、共有先選択画面1100の共有ボタン1133の押下を検知すると(ステップS1712)、文書管理サービス800に共有リクエストを送信する(S1713)。ここで、共有リクエストには、共有先選択画面1100の選択領域1102で選択された情報がパラメータとして付加される。
すなわち、ステップS1712の処理は、投稿ユーザーからメッセージを共有すべきユーザー又はグループのうち少なくとも一方の選択を受け付ける第1の選択受付処理の一例である。また、ステップS1703およびステップS1713の処理は、メッセージと投稿内容共有ユーザー情報とを受け付ける投稿内容受付処理の一例である。
次に、文書管理サービス800の送受信部802は、マイクロブログサービス300にメッセージ投稿リクエストを行う(ステップS1714)。メッセージ投稿リクエストのパラメータにはログインユーザーのユーザーID、S1703の共有先選択リクエストで受信したメッセージ、文書URL、共有先選択画面1100の説明で先述の投稿先が付加される。すなわち、ステップS1714の処理は、メッセージ共有ユーザー情報とメッセージとを含むメッセージ投稿リクエストをマイクロブログサービス300に送信する第2の送信処理の一例である。
マイクロブログサービス300は、文書管理サービス800からメッセージ投稿リクエストを受け付けると、メッセージ投稿リクエストに含まれるメッセージに対する投稿識別子であるメッセージIDを発行する。さらに、マイクロブログサービス300は、メッセージIDを含むメッセージ情報700を生成する。次に、マイクロブログサービス300は、メッセージID701を文書管理サービス800に返す(ステップS1715)。
このように、本実施の形態にかかるマイクロブログサービス300は、投稿識別子としてのメッセージIDを発行する投稿識別子管理装置として機能する。
さらに、マイクロブログサービス300は、メッセージ投稿リクエストを投稿識別子の発行指示として取得するものである。すなわち、ステップS1714の処理は、投稿識別子の発行指示としてメッセージ投稿リクエストを送信する第3の送信処理の一例である。また、ステップS1715の処理は、第3の受信処理の一例である。
なお、他の例としては、投稿識別子としてのメッセージIDの発行は、マイクロブログサービス300が実装されているマイクロブログサービス提供サーバ装置102以外の装置により行われてもよい。この場合には、マイクロブログサービス提供サーバ装置102以外の装置である投稿識別子管理装置は、発行したメッセージIDをマイクロブログサービス300に送信する。
次に、文書管理サービス800は、メッセージ投稿リクエストのレスポンスとして受信したメッセージIDを、共有したメッセージID1405に格納する。なおS1714、S1715のフローは共有先選択画面1100で選択又は入力されたすべてのユーザー、グループに対して繰り返し行われる。
ステップS1716において、投稿識別子としてのメッセージIDは、文書情報1400において、コンテンツとしての文書に対応付けて記憶手段に格納される。すなわち、ステップS1716の処理は、第1の管理処理の一例である。
なお、図16の処理フロー、図15、図17のシーケンスにおける文書管理サービス800の処理フローは文書管理サービス800のプログラムとしてHDD204に記憶されておいる。そして、このプログラムがCPU201によってRAM203にロードされ実行されることにより上記処理フローが実現される。
また図15、16、17で示す処理フロー中で参照される情報は、文書管理サービス800のプログラムによりHDD204に保存、RAM203にロードされ利用される。参照される情報としては、文書情報1400、メッセージ情報1410、ユーザー情報1420、認証トークン情報1430及びマイクロブログアクセストークン情報1440がある。
以上のように、本実施の形態にかかるコンテンツ共有システムにおいては、マイクロブログサービスに登録されているユーザー間の共有関係とコンテンツのアクセス権を関連付けることができる。これにより、ユーザーによるコンテンツや投稿に対する操作性を向上させることができる。
なお、上記説明においては、文書管理サービス800がマイクロブログサービス300へメッセージ投稿することとした。しかし、メッセージ投稿を行うのは文書管理サービス800以外のサービスや文書管理サービス提供サーバ装置103以外の装置であってもよい。例えば、文書管理サービス800以外の外部サービスがマイクロブログサービス300へメッセージを投稿してもよい。この場合には、メッセージIDを文書管理サービス800にWebAPIで通知してもよい。なお、この場合も、文書管理サービス800は、メッセージIDの通知を受け付けることとし、これをメッセージID1405に格納し、管理する。
これにより、他のサービスでメッセージ投稿され、文書が共有された場合においても、文書管理サービス800は、WebAPIでメッセージIDを受け取ることができアクセス制御することができる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
以上、上述した各実施形態によれば、マイクロブログサービスにおけるユーザー間の共有関係と、コンテンツのアクセス権とをコンテンツのアクセス権とを連動させることができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。

Claims (6)

  1. コンテンツを管理する管理手段と、
    前記コンテンツの共有リクエストを受けた場合、当該共有リクエストを行った第1のユーザーの権限を用いて、前記コンテンツに関する情報を投稿管理サービスに投稿する投稿手段と、
    前記投稿手段により前記投稿管理サービスに投稿された投稿を識別するための投稿識別子を前記コンテンツと関連付けて格納する格納手段と、
    前記コンテンツの表示要求を受け付ける受付手段と、
    前記受付手段が前記表示要求を受け付けた場合、当該表示要求を行った第2のユーザーの権限を用いて、当該表示要求されたコンテンツに関連付けられている前記投稿識別子に対応する投稿の取得要求を、前記投稿管理サービスに送信する送信手段と、
    前記送信手段で送信した取得要求に対応する投稿が取得できるかどうか判断する判断手段と、
    前記判断手段で前記取得要求に対応する投稿が取得できると判断した場合は、前記表示要求されたコンテンツの表示を許可し、前記判断手段で前記取得要求に対応する投稿が取得できないと判断した場合は、前記表示要求されたコンテンツの表示を拒否する表示制御手段と、
    を有することを特徴とするコンテンツ管理装置。
  2. 前記共有リクエストは、更に、前記第1のユーザーにより前記コンテンツの共有先として指定されたユーザー及びグループの少なくともいずれかの情報を含むことを特徴とする請求項1に記載のコンテンツ管理装置。
  3. 前記投稿管理サービスから、共有先候補となるユーザー及びグループに関する情報を取得する取得手段と、
    前記取得手段で取得した情報に基づいて、前記第1のユーザーに共有先を選択させるための共有先選択画面を生成する生成手段と、
    を有し、
    前記共有リクエストは、前記共有先選択画面で前記第1のユーザーにより前記コンテンツの共有先として指定されたユーザー及びグループの少なくともいずれかの情報を含むことを特徴とする請求項2に記載のコンテンツ管理装置。
  4. 前記表示制御手段は、
    前記判断手段で前記取得要求に対応する投稿が取得できると判断して、前記表示要求されたコンテンツの表示を許可した場合、さらに、前記第2のユーザーが前記コンテンツの共有を許可されているかどうか判断し、
    許可されていると判断した場合は、当該コンテンツと、当該コンテンツを更に共有するための共有ボタンとを表示するように制御し、
    許可されていないと判断した場合は、前記共有ボタンは表示せずに当該コンテンツを表示するように制御する、
    ことを特徴とする請求項に記載のコンテンツ管理装置。
  5. コンテンツを管理するコンテンツ管理装置により実行される、コンテンツ管理方法であって、
    コンテンツの共有リクエストを受けた場合、当該共有リクエストを行った第1のユーザーの権限を用いて、前記コンテンツに関する情報を投稿管理サービスに投稿する投稿ステップと、
    前記投稿ステップで前記投稿管理サービスに投稿された投稿を識別するための投稿識別子を前記コンテンツと関連付けて格納する格納ステップと、
    前記コンテンツの表示要求を受け付ける受付ステップと、
    前記受付ステップで前記表示要求を受け付けた場合、当該表示要求を行った第2のユーザーの権限を用いて、当該表示要求されたコンテンツに関連付けられている前記投稿識別子に対応する投稿の取得要求を、前記投稿管理サービスに送信する送信ステップと、
    前記送信ステップで送信した取得要求に対応する投稿が取得できるかどうか判断する判断ステップと、
    前記判断ステップで前記取得要求に対応する投稿が取得できると判断した場合は、前記表示要求されたコンテンツの表示を許可し、前記判断ステップで前記取得要求に対応する投稿が取得できないと判断した場合は、前記表示要求されたコンテンツの表示を拒否する表示制御ステップと、を有することを特徴とするコンテンツ管理方法。
  6. コンテンツの共有リクエストを受けた場合、当該共有リクエストを行った第1のユーザーの権限を用いて、前記コンテンツに関する情報を投稿管理サービスに投稿する投稿手段、
    前記投稿手段により前記投稿管理サービスに投稿された投稿を識別するための投稿識別子を前記コンテンツと関連付けて格納する格納手段、
    前記コンテンツの表示要求を受け付ける受付手段、
    前記受付手段が前記表示要求を受け付けた場合、当該表示要求を行った第2のユーザーの権限を用いて、当該表示要求されたコンテンツに関連付けられている前記投稿識別子に対応する投稿の取得要求を、前記投稿管理サービスに送信する送信手段、
    前記送信手段で送信した取得要求に対応する投稿が取得できるかどうか判断する判断手段、
    前記判断手段で前記取得要求に対応する投稿が取得できると判断した場合は、前記表示要求されたコンテンツの表示を許可し、前記判断手段で前記取得要求に対応する投稿が取得できないと判断した場合は、前記表示要求されたコンテンツの表示を拒否する表示制御手段、
    として、コンピュータを機能させるためのプログラム。
JP2013079731A 2013-04-05 2013-04-05 コンテンツ管理装置、コンテンツ管理方法及びプログラム Active JP6120650B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013079731A JP6120650B2 (ja) 2013-04-05 2013-04-05 コンテンツ管理装置、コンテンツ管理方法及びプログラム
US14/244,798 US20140304324A1 (en) 2013-04-05 2014-04-03 Content management apparatus, content management method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013079731A JP6120650B2 (ja) 2013-04-05 2013-04-05 コンテンツ管理装置、コンテンツ管理方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2014203300A JP2014203300A (ja) 2014-10-27
JP2014203300A5 JP2014203300A5 (ja) 2016-06-02
JP6120650B2 true JP6120650B2 (ja) 2017-04-26

Family

ID=51655257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013079731A Active JP6120650B2 (ja) 2013-04-05 2013-04-05 コンテンツ管理装置、コンテンツ管理方法及びプログラム

Country Status (2)

Country Link
US (1) US20140304324A1 (ja)
JP (1) JP6120650B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105656979B (zh) * 2014-12-05 2019-10-29 阿里巴巴集团控股有限公司 一种非结构化消息处理的方法、客户端、服务器及平台
KR101623742B1 (ko) * 2015-01-23 2016-05-25 주식회사 악어스캔 파일 연관 메시지 공유 방법 및 메시지 공유 시스템
US10063557B2 (en) 2015-06-07 2018-08-28 Apple Inc. Account access recovery system, method and apparatus
JP6414015B2 (ja) * 2015-10-27 2018-10-31 カシオ計算機株式会社 サーバ装置およびプログラム
US9832314B2 (en) * 2015-12-08 2017-11-28 Verizon Patent And Licensing Inc. Customer representative remote access for troubleshooting smartphones
CN110233886B (zh) * 2019-05-30 2021-07-20 华南理工大学 一种面向海量微服务的高可用服务治理系统及实现方法
US20220333810A1 (en) * 2019-12-13 2022-10-20 Mitsubishi Electric Corporation Model sharing system, model management apparatus, and control apparatus for air conditioning apparatus
JP7484292B2 (ja) 2020-03-25 2024-05-16 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
US11520480B2 (en) * 2020-04-15 2022-12-06 Tekion Corp Physical lock electronic interface tool
TWI750973B (zh) * 2020-12-25 2021-12-21 扉睿科技股份有限公司 基於安全導向暨群組分享之物聯網系統
JP2023128825A (ja) 2022-03-04 2023-09-14 富士フイルムビジネスイノベーション株式会社 情報処理装置及びコンピュータプログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8719325B2 (en) * 2003-02-28 2014-05-06 Microsoft Corporation Method to initiate server based collaboration on e-mail attachments
JP4944060B2 (ja) * 2008-04-10 2012-05-30 ディサークル株式会社 グループウェアサーバ装置、グループウェアサーバプログラム及びグループウェアサーバ装置の動作方法
US8775548B2 (en) * 2008-06-27 2014-07-08 Microsoft Corporation Extending sharing options of local computing resources
ES2853200T3 (es) * 2009-05-29 2021-09-15 Alcatel Lucent Sistema y procedimiento para acceder a contenido digital privado
JP2010282527A (ja) * 2009-06-08 2010-12-16 Fuji Xerox Co Ltd プログラム及び情報処理装置
US8245273B2 (en) * 2009-08-24 2012-08-14 International Business Machines Corporation Sharing referenced content through collaborative business applications
EP2315149B1 (en) * 2009-10-26 2019-11-20 Alcatel Lucent System and method for accessing private digital content
US20110137947A1 (en) * 2009-12-03 2011-06-09 International Business Machines Corporation Dynamic access control for documents in electronic communications within a cloud computing environment
US8510660B2 (en) * 2010-11-12 2013-08-13 Path, Inc. Method and system for tagging content
US8910295B2 (en) * 2010-11-30 2014-12-09 Comcast Cable Communications, Llc Secure content access authorization
CN107911284B (zh) * 2011-01-27 2021-05-18 谷歌有限责任公司 一种用于内容访问控制的方法
US9768969B2 (en) * 2011-06-08 2017-09-19 Sgrouples, Inc. Group authorization method and software
JP5802064B2 (ja) * 2011-06-21 2015-10-28 株式会社ミクシィ Snsにおける広告配信システム、及び広告配信方法
CN103166783A (zh) * 2011-12-14 2013-06-19 华为技术有限公司 资源的控制方法及装置
US9449183B2 (en) * 2012-01-28 2016-09-20 Jianqing Wu Secure file drawer and safe
US8640257B1 (en) * 2012-06-14 2014-01-28 Google Inc. Enabling user privacy for changes of access to shared content
US9286144B1 (en) * 2012-08-23 2016-03-15 Google Inc. Handling context data for tagged messages
US9794760B2 (en) * 2013-03-14 2017-10-17 Cisco Technology, Inc. Collaborative group and content management utilizing user activated collaboration threads
US8732853B1 (en) * 2013-03-22 2014-05-20 Dropbox, Inc. Web-based system providing sharable content item links with link sharer specified use restrictions

Also Published As

Publication number Publication date
JP2014203300A (ja) 2014-10-27
US20140304324A1 (en) 2014-10-09

Similar Documents

Publication Publication Date Title
JP6120650B2 (ja) コンテンツ管理装置、コンテンツ管理方法及びプログラム
US10599858B2 (en) Collection folder for collecting file submissions
CN106856475B (zh) 授权服务器以及认证协作系统
JP6323994B2 (ja) コンテンツ管理装置、コンテンツ管理方法及びプログラム
US10762474B2 (en) Electronic calendar devices
US11315054B2 (en) Communication system, communication method, and information processing apparatus
US11394715B2 (en) Proxy authorization of a network device
US9608972B2 (en) Service providing system and data providing method that convert a process target data into output data with a data format that a service receiving apparatus is able to output
EP2343866B1 (en) Network-based system for social interactions between users
KR20120105583A (ko) 통신 시스템에서 소셜 네트워크 서비스의 컨텐츠를 공유하기 위한 장치 및 방법
US9916308B2 (en) Information processing system, document managing server, document managing method, and storage medium
US11729228B2 (en) Systems and methods for sharing content externally from a group-based communication platform
EP3284031A1 (en) Collection folder for collecting file submissions
KR20230003228A (ko) 문서 공유 처리 방법, 장치, 기기, 매체와 시스템
JP5723338B2 (ja) データ共有システム
JP2014241113A (ja) コンテンツ管理装置、コンテンツ管理システム、コンテンツ管理方法及びプログラム
US20230092069A1 (en) Server apparatus
JP2016057737A (ja) サービス提供システム及びこれに用いる管理サーバー及び管理方法
JP7459649B2 (ja) クラウドシステム、情報処理システム、ユーザ登録方法
JP2020042439A (ja) 情報処理装置及び情報処理プログラム
JP2023095515A (ja) 情報処理装置、情報処理方法、プログラム、情報処理システム
JP2017215709A (ja) 情報処理システム、情報処理装置、及び情報処理方法
JP2015130132A (ja) 情報処理装置、プログラム、認証制御方法及び情報処理システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160404

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160404

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170215

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170328

R151 Written notification of patent or utility model registration

Ref document number: 6120650

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151