JP6323994B2 - コンテンツ管理装置、コンテンツ管理方法及びプログラム - Google Patents
コンテンツ管理装置、コンテンツ管理方法及びプログラム Download PDFInfo
- Publication number
- JP6323994B2 JP6323994B2 JP2013119886A JP2013119886A JP6323994B2 JP 6323994 B2 JP6323994 B2 JP 6323994B2 JP 2013119886 A JP2013119886 A JP 2013119886A JP 2013119886 A JP2013119886 A JP 2013119886A JP 6323994 B2 JP6323994 B2 JP 6323994B2
- Authority
- JP
- Japan
- Prior art keywords
- document
- user
- information
- management service
- service
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/26—Devices for calling a subscriber
- H04M1/27—Devices whereby a plurality of signals may be stored simultaneously
- H04M1/274—Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc
- H04M1/2745—Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips
- H04M1/2753—Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips providing data content
- H04M1/2757—Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips providing data content by data transmission, e.g. downloading
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Description
ユーザーは、クライアントコンピュータのブラウザからインターネットを介してクラウドサービスのWebページにアクセスし、文書ファイルや帳票データのアップロード、ダウンロード、表示又は共有を行うことができる。
更に、「タイムライン」と呼ばれるユーザー専用のWebページには、自身の投稿、「フォロー」したユーザーの投稿、及び自身が所属するグループへの投稿が表示される。これにより、ユーザーは、フォローやグループを介したコミュニケーションをとることができる。ここで、「フォロー」とは、他のユーザーの投稿を自分のWebページで表示できるようにユーザーを登録することである。また、「グループ」とは、所属組織や担当プロジェクト等共通の性質をもつユーザーで分類したユーザー群である。
グループへの投稿は、グループに所属するユーザーのWebページにのみ表示される。上記のようなマイクロブログサービスとしては、例えばSalesforce.comのChatterが挙げられる。
文書作成ユーザーと閲覧ユーザーとが異なる場合において、文書へのアクセス権制御を行う方法として従来では、文書作成者が閲覧者に対して個別に署名済みアクセストークンを付与する方法がある(特許文献1参照)。
しかしながら文書管理サービスとマイクロブログサービスとは、一般的に異なるサービスとして提供されており、セキュリティドメインが異なる。つまり、各々のサービスでユーザー管理がなされているため、文書管理サービスではマイクロブログサービスの特定グループに所属するユーザーだけに文書閲覧を許可することができない問題があった。
<システム構成>
図1は、コンテンツ共有システムの構成を示す図である。コンテンツ共有システムは、クライアント装置101と、マイクロブログサービス提供サーバ装置102と、文書管理サービス提供サーバ装置103とを備えている。
クライアント装置101、マイクロブログサービス提供サーバ装置102及び文書管理サービス提供サーバ装置103は、ネットワーク100により互いに通信可能に接続されている。ネットワークとしては、例えば、インターネット等のLAN、WAN、電話回線、専用デジタル回線、ATM(Asynchronous Transfer Mode)やフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等が挙げられる。また、ネットワークは、これらの組み合わせにより実現される、いわゆる通信ネットワークであってもよい。ネットワークは、データの送受信が可能であればよい。各サービス間の通信手段は、異なっていてもよい。例えば、クライアント装置101からマイクロブログサービス提供サーバ装置102への通信手段と、文書管理サービス提供サーバ装置103への通信手段とは異なっていてもよい。
マイクロブログサービス提供サーバ装置102は、ユーザーから投稿されたメッセージやコメント等の情報を管理する。マイクロブログサービス提供サーバ装置102は、投稿管理サービスを実行する装置の一例である。
文書管理サービス提供サーバ装置103は、コンテンツ管理サービスを実行する装置の一例であり、コンテンツとしての文書を管理する。文書管理サービス提供サーバ装置103は、クライアント装置101からのリクエストに応じて、文書の登録、削除、閲覧、更新等といった文書管理(コンテンツ管理)を行う。なお、文書管理サービス提供サーバ装置103が処理対象とする文書は、電子データの文書(ドキュメントや画像等の様々なファイル)である。文書管理サービス提供サーバ装置103は、文書を一意に識別するURLと紐づけて記憶する。文書管理サービス提供サーバ装置103に記憶されている文書は、文書管理サービス提供サーバ装置103の管理するユーザー間で共有される。文書管理サービス提供サーバ装置103は、コンテンツ管理装置の一例である。また、文書は、コンテンツの一例である。
なお、本実施の形態においては、文書管理サービス及びマイクロブログサービスをそれぞれ異なる装置が実行することとして説明する。しかし、これらサービスは、コンテンツ共有システムが有する何れかの装置において実現されればよい。他の例としては、マイクロブログサービスと文書管理サービスとは、同一装置内に設けられていてもよい。
図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により制御され、上述した通信手段による通信を実現している。
クライアント装置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としての表示装置に表示する。
図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ページを生成する。
メッセージ管理部305は、メッセージデータをDB306に格納し、要求に応じてDB306のメッセージの取得及びメッセージの更新を行う。DB306には、マイクロブログサービス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及びタイムライン画面を応答する。
なお、マイクロブログサービス300がリクエストを受信した際には、認証部304による認証セッションの確認が必ず行われるが、以降の説明においては、説明の簡略化のため、各リクエストにおける認証セッションの確認処理に関する説明は省略する。
認可画面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を応答する。
許可ボタン412が押下されると、Webブラウザ104は、マイクロブログサービス300に認可許可リクエストを送信する。拒否ボタン413が押下されると、Webブラウザ104は、マイクロブログサービス300に認可拒否リクエストを送信する。
マイクロブログサービス300の送受信部301が認可許可リクエストを受け付けると、認証部304は、認可コードを発行する。認可コードは、Webブラウザ104を経由して文書管理サービス800に送信される。
マイクロブログサービス300は、トークン取得リクエストの応答としてアクセストークン532及びリフレッシュトークン533を文書管理サービス800に返す。文書管理サービス800は、マイクロブログサービス300へのリクエストにアクセストークン532を付加する。これにより、文書管理サービス800は、マイクロブログサービス300のスコープした範囲を対象としたリクエストを行うことができる。
マイクロブログサービス300は、クライアント情報520の一致が確認できると、アクセストークン532とリフレッシュトークン533との更新を行う。マイクロブログサービス300は、トークン更新リクエストの応答として、更新した新しいアクセストークン532及びリフレッシュトークン533を返す。
アクセストークン532及びリフレッシュトークン533には、使用有効期限が設けられている。アクセストークン532の使用有効期限が切れたタイミングにおいて、リフレッシュトークン533を用いたアクセストークン532の更新が行われる。
ユーザー情報500は、マイクロブログサービス300に登録されている登録ユーザーに関する情報である。ユーザー情報500は、ユーザーID501、ユーザー名502、パスワード503、アイコンファイルパス504、フォローしているユーザーID505、フォローされているユーザーID506及び所属グループID507を含んでいる。
ユーザーID501は、ユーザー情報500を一意に識別する識別子である。ユーザー名502及びパスワード503は認証に必要なユーザー名及びパスワードである。アイコンファイルパス504は、ユーザーを示すアイコン画像の格納先ファイルパスである。
所属グループID507は、ユーザーが所属しているグループのグループIDであり、複数のグループIDを記憶することができる。
グループID511は、グループ情報510を一意に識別する識別子である。グループ名512は、グループに付与された名前である。所属ユーザーID513は、グループに所属するユーザーIDであり、複数のユーザーIDを記憶することができる。公開情報514は、グループに所属しているユーザー以外のユーザーがアクセスできるかどうか判断するためのフラグであり、公開か非公開が設定される。
クライアントID521及びシークレット522は、マイクロブログサービス300によって発行される。クライアント装置101は、クライアントID521及びシークレット522を用いて、マイクロブログサービス300に認可許可リクエストを行うことができる。
トークン情報530は、ユーザーID531、アクセストークン532、リフレッシュトークン533及びスコープ534を含んでいる。トークン情報530は、マイクロブログサービス300による認可によって発行されるトークンを管理する情報である。ユーザーID531は、トークンが発行されたユーザーIDである。
アクセストークン532は、クライアント装置101がリクエストする際に使用されるトークンである。リフレッシュトークン533は、アクセストークン532を更新するためのトークンである。スコープ534は、認可する範囲を指定する情報である。
マイクロブログサービス300は、マイクロブログ機能を提供する。マイクロブログ機能とは、ユーザーがマイクロブログサービス300に投稿したメッセージを他のユーザーや特定のグループ内で共有する機能である。ユーザーは、メッセージ投稿、グループへのメッセージ投稿、共有されたメッセージ参照等を行うことができる。またマイクロブログサービス300は、投稿されたメッセージに対してコメントする機能も提供している。
図6は、メッセージ情報700及びコメント情報710の一例を示す図である。メッセージ情報700は、マイクロブログサービス300に対して投稿されたメッセージに関する情報である。コメント情報710は、マイクロブログサービス300に対して投稿されたコメントに関する情報である。
メッセージID701は、メッセージ情報700を一意に識別する投稿識別子である。メッセージ702は、投稿されたメッセージ文字列である。リンク703は、投稿されたURLである。ユーザーID704は、メッセージを投稿したユーザーのユーザーIDである。
投稿先705は、メッセージが投稿された宛先である。また、投稿先705は、メッセージを投稿したユーザーが投稿内容であるメッセージを共有するユーザーを示すメッセージ共有ユーザーを示す情報である。投稿先705には、より具体的には、ユーザーIDやグループIDが格納される。また、投稿先705には、ユーザーIDやグループIDが複数格納されていてもよい。なお、投稿先705には登録されないが、投稿ユーザーも当然投稿内容を共有するものであり、メッセージ共有ユーザーに含まれる。メッセージの宛先が指定されていない場合には、投稿先705には何も格納されない。時刻706は、メッセージが投稿された日時である。
このように、マイクロブログサービス300のメッセージ情報700において、メッセージIDと、投稿先のユーザーID及びグループIDとが対応付けられている。
コメントID711は、コメント情報710を一意に識別する識別子である。コメント712は、投稿されたコメント文字列である。メッセージID713は、ユーザーがコメントしたメッセージ情報700のメッセージIDである。ユーザーID714は、コメントしたユーザーのユーザーIDである。時刻715は、コメントされた日時である。
なお、メッセージ情報700及びコメント情報710は、DB306に格納される。即ち、DB306は、メッセージIDとメッセージ共有ユーザー情報とを対応付けて記憶する。
マイクロブログサービス300は、ユーザーの認証に成功すると、認証したユーザーのタイムライン画面を生成し、Webブラウザ104に返す。
ユーザーのタイムライン画面610、620は、ユーザー情報表示領域(611、621)、メッセージ投稿領域(612、622)及びコメント投稿領域(613〜615、623、624)を含んでいる。
メッセージ投稿領域(612、622)は、メッセージ入力欄、リンク入力欄及び投稿ボタンを含んでいる。投稿ボタンが押下されると、Webブラウザ104は、メッセージ入力欄及びリンク入力欄に入力されている情報をパラメータとして含むメッセージ投稿リクエストをマイクロブログサービス300に送信する。マイクロブログサービス300は、メッセージ投稿リクエストを受信すると、メッセージ情報700を生成する。マイクロブログサービス300は、その後タイムライン画面を再生成し、Webブラウザ104に返す。
ユーザーアイコンは、ユーザーID704に紐づくアイコンファイルパス504に格納された画像である。投稿先は、投稿先705に格納されるユーザーID又はグループIDに紐づくユーザー名502、グループ名512である。
ユーザーアイコンは、ユーザーID714に紐づくアイコンファイルパス504に保存された画像である。コメントボタンが押下されると、Webブラウザ104は、コメント入力欄の入力データをパラメータとして含むコメント投稿リクエストをマイクロブログサービス300に送信する。マイクロブログサービス300は、コメント投稿リクエストを受信すると、コメント情報710を生成後、タイムライン画面を再生成し、Webブラウザ104に返す。
コメント投稿領域615は、userDがuserAに対して投稿したメッセージとリンクが表示されている例である。コメント投稿領域623は、コメント投稿領域613と同じものである。コメント投稿領域624は、userCがuserBに対して投稿したメッセージとリンクとが表示されている例である。
またユーザーのタイムライン画面は、他ユーザーのタイムライン画面も参照することができる。他ユーザーのタイムライン画面はタイムライン画面中のユーザー名にリンクされており、リンクが押下されることにより表示される。
他ユーザーのタイムラインに表示されるメッセージ情報700は、次の3つの条件を満たすものとする。第1の条件は、ユーザーID704が自ユーザー又は表示ユーザーのユーザーID501と一致することである。第2の条件は、ユーザーID704が表示ユーザーのフォローしているユーザーID505と一致することである。第3の条件は、投稿先705のグループIDが表示ユーザーの所属グループID507と一致し、かつ、公開情報514が公開に設定されていることである。
以上の条件を満たすメッセージ情報700とメッセージに紐づくコメント情報710とがユーザーのタイムライン画面に表示される。
なお、コメント表示領域の表示順はコメント表示領域に表示するメッセージ情報700の時刻706及びコメント情報710の時刻715のうち最新の時刻で、時刻の新しい順である。
グループのタイムライン画面は、グループ情報表示領域631、メッセージ投稿領域632及びコメント投稿領域633を含んでいる。グループ情報表示領域631には、グループ名512の情報が表示される。メッセージ投稿領域632は、ユーザーのタイムライン画面におけるメッセージ投稿領域(612、622)と同様であるが、グループを投稿先として投稿される。コメント投稿領域633は、ユーザーのタイムライン画面におけるメッセージ投稿領域(613〜615、623、624)と同様である。
上記の条件を満たすメッセージ情報700及びメッセージに紐づくコメント情報710がグループのタイムライン画面に表示される。なお、コメント表示領域の表示順は、コメント表示領域に表示するメッセージ情報700の時刻706、コメント情報710の時刻715のうち最新の時刻で、時刻の新しい順である。
マイクロブログサービス300は、WebAPIを提供する。WebAPIとは、リクエストに応じてマイクロブログサービス300で管理する情報の登録、取得、更新、削除を行う機能である。マイクロブログサービス300で管理する情報としては、ユーザー情報500、グループ情報510、トークン情報530、メッセージ情報700、コメント情報710がある。
クライアント装置101等から、WebAPIへのリクエストを行うためには先述の認可を行いリクエストにアクセストークン532、クライアントID521、シークレット522を付加する必要がある。
WebAPIへのリクエストとしては、ユーザー情報500、グループ情報510、メッセージ情報700又はコメント情報710のそれぞれを登録、取得、更新、削除するリクエストがある。WebAPIへのリクエストとしては、他にトークン更新リクエスト、ユーザータイムライン取得リクエスト、グループタイムライン取得リクエスト等がある。
ユーザータイムライン取得リクエストは、パラメータに指定されたユーザーID501のタイムラインを取得するリクエストである。ユーザータイムライン取得リクエストで取得できる情報は図7のユーザーのタイムライン画面のコメント投稿領域(613〜615、623、624)に表示されるメッセージ情報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等に記憶されている。
文書管理部805は、DB807に格納されている文書及び後述の文書情報1400を管理する。文書管理部805は、例えば、制御部803からの要求に応じて文書及び文書情報1400の登録、取得、更新、削除を行う。
メッセージ情報管理部806は、メッセージ情報1410を、DB807上で管理する。メッセージ情報管理部806は、例えば、要求に応じてメッセージ情報1410の登録、取得、更新、削除を行う。ここでメッセージ情報1410は、文書及び文書情報1400と、マイクロブログサービス300上のメッセージとを関連付ける情報である。
なお、DB807には、文書、文書情報1400及びメッセージ情報1410に加えて、文書共有サービス801のユーザー設定情報等も格納される。
トークン管理部815は、ユーザー情報1420と同じくDB816に格納される後述の認証トークン情報1430及びマイクロブログアクセストークン情報1440を管理する。トークン管理部815は、例えば制御部813からの要求に応じて認証トークン情報1430及びマイクロブログアクセストークン情報1440の登録、取得、更新、削除を行う。
図9は、実施形態1の文書管理サービス800のページ生成部804が生成し、クライアント装置101のWebブラウザ104で表示するログイン画面900の一例を示す図である。
Webブラウザ104から文書管理サービス800にリクエストが送信される。すると、送受信部802がリクエストを受け付け、制御部803から、送受信部802を通して、認証サービス811に認証チェック要求を送信する。この際、制御部803は、リクエストに認証トークン1331が含まれるか確認し、含まれる場合には、認証サービス811に認証トークンを渡す。認証サービス811は、送受信部812で要求を受け付けると、制御部813が、トークン管理部815に後述の認証トークン情報1330の有効性のチェックを依頼する。
制御部813は、トークン管理部815から認証トークンが有効であるか否かの結果を受け、その結果を、送受信部812を通して、文書共有サービス801に送信する。認証トークンの有効性のチェックには、認証トークン情報1330が参照され、該当する認証トークン1331が記憶されているか、時刻1333から有効期限が切れていないか等がチェックされる。文書共有サービス801の制御部803は、認証トークンが無効だった場合にページ生成部804でログイン画面900を生成し、リクエストに対してログイン画面900を応答する。制御部803は、認証トークンが有効だった場合にはリクエストに応じて、後述するプレビュー画面1000等を生成し応答する。
ログインリクエストは、認証サービス811の制御部813によって、妥当性のチェックが行われる。制御部813は、ログインリクエストに含まれるユーザー名901とパスワード902との組み合わせが後述のユーザー情報1320に存在しているかを確認する。存在している場合には、制御部813は、認証トークン情報1330を発行し、DB816に保持すると共に認証トークン1331をWebブラウザ104に返す。Webブラウザ104は、認証IDをリクエストに付加することで認証を継続することができる。文書管理サービス800へのすべてのリクエストは認証サービス811により認証情報管理される。文書管理サービス800がリクエストを受信した際には認証情報の確認が必ず行われるが本実施形態では認証情報の確認は以降、説明の簡略化のため省略する。
図10は、文書管理サービス800に含まれる、文書共有サービス801及び認証サービス811上で管理される、文書データ情報1300、メッセージ情報1310、ユーザー情報1320、認証トークン情報1330の一例を示す図である。
文書データ情報1300及びメッセージ情報1310は、文書共有サービス801のDB807に保存される文書データに関する情報である。
文書データ情報1300は、文書データに関する付加情報であり、文書ID1301、文書データ保存先1302、ユーザーID1303、文書名1304から構成される。文書ID1301は、文書データを一意に識別する識別子である。文書データ保存先1302は、文書データへのアクセスに必要なファイルパスやURL等を示す。ユーザーID1303は、文書データの登録を行った文書管理サービスにおけるユーザーを表す識別子である。文書名1304は、文書データのタイトルであり、ユーザーが任意に決定できる文字列である。文書データ情報1300等は、コンテンツ情報の一例である。
メッセージ情報1310は、文書共有サービス801に保存される文書データについて、マイクロブログサービス300に投稿されたメッセージに関する情報を保持するものである。メッセージ情報1310は、文書ID1311、投稿先グループID1312から構成される。文書ID1311は、文書データ情報1300とメッセージ情報1310とを関連づけるための識別子である。投稿先グループID1312は、マイクロブログサービス300上におけるメッセージ投稿先グループIDを示す。
ユーザー情報1320、認証トークン情報1330、マイクロブログアクセストークン情報1340は、認証サービス811のDB816に保存される文書データに関する情報である。ユーザー情報1320は、文書管理サービス800の利用者として登録されているユーザーの情報である。ユーザー情報1320は、ユーザーID1321、パスワード1322から構成される。ユーザーID1321は、文書管理サービス800内でのユーザーを一意に識別する識別子である。パスワード1322は、ユーザーがWebブラウザ104を介して、文書管理サービス800へログインする際に、ユーザーID1321と共に、認証に使用されるパスワードである。また、ユーザー情報1320には、これ以外に、氏名や、メールアドレス等のユーザーに関する任意の情報が含まれてよい。
マイクロブログアクセストークン情報1340は、文書管理サービス800が、マイクロブログサービス300にアクセスする際に必要なユーザーの認可情報である。マイクロブログアクセストークン情報1340は、ユーザーID1341、マイクロブログURL1342、アクセストークン1343、リフレッシュトークン1344から構成される。ユーザーID1341は、文書管理サービス800上のユーザーを識別する識別子であり、ユーザー情報1320のユーザーID1321と対応している。マイクロブログURL1342は、マイクロブログアクセストークン情報1340が使用されるべきマイクロブログのURLである。アクセストークン1343は、ユーザーID1341でマイクロブログURL1342にアクセスする際に必要な認可情報を含む文字列である。また、リフレッシュトークン1344は、マイクロブログサービス300で発行される、アクセストークン1343の更新に必要なトークンである。
図11は、文書共有サービス801のページ生成部804が生成し、クライアント装置101のWebブラウザ104で表示するプレビュー画面1000の一例を示す図である。
Webブラウザ104から文書共有サービス801に、文書を識別する情報を含む、文書プレビューリクエストが行われると、送受信部802がリクエストを受け付け制御部803が、文書管理部805から文書データ情報1300を取得する。ここで、Webブラウザ104から送信する文書を識別する情報とは、例えば、文書ID1301を含むURL等である。制御部803は、このURLに含まれる文書ID1301を参照することで、要求に合った文書データ情報1300を、文書管理部805から取得することができる。制御部803は、取得した文書データ情報1300を参照し、ページ生成部804にて、Webブラウザ104で表示可能なプレビュー画面1000を生成する。更に、制御部803は、送受信部802を通して、生成したプレビュー画面1000をWebブラウザ104に返す。プレビュー画面1000には、文書データ情報1300の文書データ保存先1302を参照して取得した文書データ画像1010が表示されると共に、文書名1002や、ユーザー名1001等が表示される。また、プレビュー操作を行う領域1020には、ページ送りを行うためのボタン1021や、表示ページの指定を行う入力エリア1022が表示される。
図12及び図13にて、文書管理サービス800への文書登録処理の流れを説明する。
図12は、クライアント装置101のWebブラウザ104から文書管理サービス800にアクセスして文書登録画面表示リクエストを行った場合の文書登録画面1100の一例を示す図である。文書登録画面1100には、登録する文書データを指定するためのファイル名1101、登録文書にアクセスするURLをマイクロブログサービスに投稿する際のメッセージ投稿先グループ1102、及び文書登録ボタン1103が含まれる。文書登録ボタン1103が押下されると、クライアント装置101から文書管理サービス800に対して、ファイル名1101で指定した文書データと、文書URLを投稿する投稿先グループIDと、を含む文書登録リクエストが発行される。文書登録画面1100は、登録する文書と、メッセージ投稿先グループと、を選択可能な画面の一例である。
S1204において制御部803は、送受信部802を通して文書管理サービス800からマイクロブログサービス300へのアクセストークン取得リクエストをマイクロブログサービス300へリダイレクトする。
S1204からS1209までで実施するアクセストークン取得のシーケンスについては、上述の<マイクロブログサービス300の認証・認可>で説明済みのため省略する。取得したアクセストークンはトークン管理部815がアクセストークン1343としてDB816に保存する。
S1211においてマイクロブログサービス300の認証部304は、DB306に保存しているトークン情報530から、受信されたアクセストークン532に一致するレコードのユーザーID531を取得する。そして認証部304は、取得したDB306に保存しているユーザー情報500からユーザーID531が一致するレコードの所属グループID507のリストを取得する。マイクロブログサービス300は、取得された所属グループID507のリストを文書管理サービス800へ送信する。
次にS1212にて、文書管理サービス800は、文書登録画面1100のメッセージ投稿先グループ1102に、受信した所属グループIDリストをセットしユーザーに選択できる形で文書登録画面1100をWebブラウザ104に送信する。
S1214において、文書管理サービス800の制御部803は、送受信部802を通じて文書登録リクエストを受信すると、文書管理部805を通して文書データをDB807に保存し、文書データ情報1300を生成する。そのとき、文書管理部805は、文書ID1311及び投稿先グループID1312をメッセージ情報1310としてDB807に保存する。
S1215で、文書管理サービス800のメッセージ情報管理部806は、アクセストークン1343、投稿先グループID1312と共に、文書データ保存先1302をメッセージとして書き込むための投稿リクエストをマイクロブログサービス300へ送信する。
以上で文書管理サービス800への文書登録処理が完了する。登録した文書データへは、Webブラウザ104でマイクロブログサービス300に接続し、前記メッセージに記載された文書データ保存先1302を実行することでアクセスすることができる。文書データ保存先1302が記載されたメッセージは、S1214にて指定した投稿先グループID1312に所属するユーザーのみがアクセス(閲覧)可能である。
図14は、文書管理サービス800への文書アクセス処理の流れを説明するフローチャートである。Webブラウザ104からマイクロブログサービス300にアクセスし、グループのタイムライン画面630に表示された文書データ保存先1302にアクセスすることで以下に記載の文書アクセス処理が開始される。つまり、文書管理サービス800は、文書データ保存先1302を介したアクセス要求を受け取ると、文書アクセス処理を開始する。文書のアクセス要求は、コンテンツに対する制御要求の一例である。
S1401にて、ユーザーはWebブラウザ104を介して文書管理サービス800にログインする。ログイン処理の詳細は<文書管理サービスの認証>にて記載済みのため省略する。
次にS1402において、制御部803は、文書管理部805を通じてアクセス対象の文書ID1301のユーザーID1303とS1401でログインしたユーザーID1321とが一致するかどうかを確認する。一致する場合は、制御部803は、アクセス対象の文書データを登録したユーザーと文書管理サービス800にログインしたユーザーとが同一であると判断する。そして、制御部803は、文書へのアクセス可能と判断し、S1407にてWebブラウザ104にプレビュー画面1000を送信する。
S1403において、制御部803は、文書ID1311に紐づいた投稿先グループID1312が存在した場合、S1404を実行する。
S1404において、制御部803は、認証サービス811のトークン管理部815を通じて、文書管理サービス800にログイン中のユーザーにおけるマイクロブログサービスへのアクセストークン1343を取得する。このときアクセストークン1343が存在しない場合、制御部813は、トークン管理部815を通じて、マイクロブログサービス300へアクセストークン取得リクエストを送信する。アクセストークン取得処理詳細は、上述の<マイクロブログサービス300の認証・認可>で説明済みのため省略する。
S1406にて、制御部803は、取得した所属グループIDリストに、S1403で取得した投稿先グループID1312が含まれているか否かを比較する。含まれていた場合、アクセス可能と判断し、S1407において、制御部803は、ページ生成部804を通じてWebブラウザ104にプレビュー画面1000を送信する。
S1406にて取得した所属グループIDリストに、S1403で取得した投稿先グループID1312が含まれていない場合、制御部803は、アクセス不可と判断してS1408を実行する。
以上により、文書管理サービス800における文書アクセス処理が完了する。
本実施形態の文書登録及び文書アクセス処理によれば、文書登録時及び、ユーザーの文書アクセス時にマイクロブログサービス300に対する所属グループIDリストの取得のためのAPIコールがそれぞれ1回のみ実施される。
本実施形態では、複数のマイクロブログサービスに対してそれぞれ文書にアクセスするためのURLを共有したいグループにメッセージ投稿し、文書へのアクセス制御を行う方法を説明する。
以下、複数のマイクロブログサービス300はそれぞれマイクロブログサービスA、マイクロブログサービスBとし、また実施形態1で記載済みの内容については説明を省略する。また、同一符号を付している場合は、同一の処理として説明を省略する。以下の実施形態においても同様である。
図15は、実施形態2のメッセージ情報1310のデータ構造の一例を示す図である。
マイクロブログURL1313は、マイクロブログサービス300へアクセスするためのURLであり、例えば、マイクロブログサービス300のWebサービスのエンドポイントURLが格納される。マイクロブログURL1313は、マイクロブログアクセストークン情報1340のマイクロブログURL1342と対応する。
図17は、実施形態2の文書管理サービス800の文書登録リクエスト受信時の処理の一例を示すフローチャートである。S1701からS1703までのログイン処理については<文書管理サービスの認証>にて記載済みのため省略する。
S1704からS1711まで及びS1712からS1719までは、文書管理サービス800がそれぞれマイクロブログサービスA及びマイクロブログサービスBからアクセストークン及び所属グループIDリストを取得する処理である。これはS1204からS1211までと同様の処理のため省略する。
次にS1720において、文書管理サービス800は、文書登録画面1600のメッセージ投稿先グループ1601に、受信した所属グループIDリストをセットしユーザーに選択できる形で文書登録画面1600をWebブラウザ104に送信する。
ユーザーによりWebブラウザ104に表示された文書登録画面1600の文書登録ボタン1103が押下される。すると、S1721において、文書データ、メッセージ投稿先グループIDを含む文書登録リクエストがWebブラウザ104から文書管理サービス800に送信される。
S1723で、文書管理サービス800のメッセージ情報管理部806は、アクセストークン1343、投稿先グループID1312と共に、文書データ保存先1302をメッセージとして書き込むための投稿リクエストをマイクロブログサービスAへ送信する。
投稿リクエストを受信したマイクロブログサービスAの制御部302は、認証部304を通じてアクセストークン1343がメッセージ書き込み許可されたアクセストークンであることを確認する。メッセージ書き込みが許可されたアクセストークンであれば、制御部302は、メッセージ管理部305を通じて文書データ保存先1302をメッセージとして投稿先グループID1312で指定されたグループ領域に書き込む(S1724)。
S1725、S1726はS1723及びS1724をマイクロブログサービスBに対して実行する処理であり、説明の簡略化のため省略する。
以上で実施形態2の文書管理サービス800への文書登録処理が完了する。
S1801からS1803まではS1401からS1403までで記載済みのため省略する。
また、S1806、S1808及びS1809は、それぞれS1405、S1407及びS1408で記載済のため省略する。
S1804にて、文書管理サービス800の制御部803は、メッセージ情報管理部806を通してメッセージ情報1310から、文書ID1311が一致する投稿先グループID1312、マイクロブログURL1313を取得する。制御部803は、取得したメッセージ情報1310のレコードすべての投稿先グループID1312について比較を行った場合、S1809を実行する。ここで、比較とは、後述するS1805〜S1807の処理のことである。
S1807において、制御部803は、S1406で取得した所属グループIDリストに、S1805で使用したマイクロブログURL1313とマイクロブログURL1342とが一致するレコードの投稿先グループID1312が含まれているかを確認する。
含まれていた場合、アクセス可能と判断し、S1808において、制御部803は、ページ生成部804を通じてWebブラウザ104にプレビュー画面1000を送信する。
以上で実施形態2の文書管理サービス800への文書アクセス処理が完了する。
本実施形態では、複数のマイクロブログサービスに対してそれぞれ文書にアクセスするためのURLを共有したいグループにメッセージ投稿し、文書へのアクセス制御を行う方法を説明する。
以下、複数のマイクロブログサービス300はそれぞれマイクロブログサービスA、マイクロブログサービスBとして実施形態を説明する。
実施形態3におけるメッセージ情報1310のデータ構造は、図15と同様である。
図19は、実施形態3におけるマイクロブログ識別子2002とマイクロブログURL1313との対応を表す表の一例を示す図である。文書管理サービス800のユーザーは、文書共有サービス801の利用開始時に事前に不図示のマイクロブログURL設定画面を操作することで対応表2001の作成を指示し、メッセージ情報管理部806が対応表2001をDB807に保存する。
実施形態3における文書登録画面は、図16と同様であり、対応表2001に記載されたマイクロブログ識別子2002が、メッセージ投稿先グループの候補(図16の例では、マイクロブログサービスA、マイクロブログサービスB)として表示される。
実施形態2の処理と異なるのは、S1723、S1724、S1725、S1726である。
S1723で、文書管理サービス800のメッセージ情報管理部806は、アクセストークン1343、投稿先グループID1312と共に組み合わせURL1901を、メッセージとして書き込むための投稿リクエストをマイクロブログサービスAへ送信する。ここで組み合わせURL1901は、メッセージ情報管理部806が、DB807に保存された対応表2001を参照して、マイクロブログURL1313に対応するマイクロブログ識別子2002と文書データ保存先1302とを組み合わせて生成したものである。マイクロブログ識別子2002は、投稿管理サービスにアクセスするための識別情報の一例である。
図20は、メッセージ情報管理部806が生成する組み合わせURL1901の一例を示す図である。メッセージ情報管理部806は、文書データ保存先1302とマイクロブログ識別子2002とを、URLとパラメータとの区切りを示すセパレータ文字列1902及び制御部803が解釈可能なパラメータ文字列1903で連結する。このことでメッセージ情報管理部806は、組み合わせURL1901を生成する。
投稿リクエストを受信したマイクロブログサービスAの制御部302は、認証部304を通じてアクセストークン1343がメッセージ書き込み許可されたアクセストークンであることを確認する。メッセージ書き込みが許可されたアクセストークンであれば、マイクロブログサービスAの制御部302は、S1724に処理を進める。S1724において、マイクロブログサービスAの制御部302は、メッセージ管理部305を通じて組み合わせURL1901をメッセージとして投稿先グループID1312で指定されたグループ領域に書き込む。
S1725、S1726はS1723及びS1724をマイクロブログサービスBに対して実行する処理であり、S1723、S1724と同様であるため省略する。
以上で実施形態3における文書管理サービス800への文書登録処理が完了する。
なお、以下では、図18と異なる点を主に説明する。
S1810にて、文書管理サービス800の制御部803は、メッセージ情報管理部806を通してメッセージ情報1310から、文書ID1311が一致する投稿先グループID1312、マイクロブログURL1313を取得する。
S1805において、制御部803は、マイクロブログURL1313に対してアクセストークン取得リクエストを送信する。この処理の詳細はS1404にて記載済みのため省略する。
以上で実施形態3における文書管理サービス800への文書アクセス処理が完了する。
上述した実施形態では、文書に対する制御の一例としてアクセス制御を例に説明を行ったが、これに限定されるものではなく、文書の更新制御にも適用することができる。
図22は、実施形態4のタイムライン画面の一例を示す図である。図22では、図7と異なる点について主に説明する。
コメント投稿領域6140はuserDがGroup2に対して投稿したメッセージとリンクとであり、その投稿に対してUserCのコメントが表示されている例である。コメント投稿領域6150はuserDがuserAに対して投稿したメッセージとリンクとが表示されている例である。コメント投稿領域6240はuserCがuserBに対して投稿したメッセージとリンクとが表示されている例である。コメント投稿領域6330はユーザーのタイムライン画面におけるメッセージ投稿領域(613、6140、6150、623、6240)と同様である。
本実施形態の制御部803は、認証トークンが有効だった場合にはリクエストに応じて、プレビュー画面1000等を生成し応答したり、後述する文書更新画面2700等を生成し応答したりする。
本実施形態の文書データ情報1300は、文書データに関する付加情報であり、文書ID1301、文書データ保存先1302、ユーザーID1303、文書名1304、更新バージョン1305から構成される。更新バージョン1305は、文書の更新バージョンであり、文書更新を実行するたびにバージョンがインクリメントされる。
S2401でメッセージ情報管理部806は、アクセストークン1343、投稿先グループID1312、文書データ保存先1302、文書データ更新リクエスト情報をメッセージとして書き込むための投稿リクエストをマイクロブログサービス300へ送信する。文書データ更新リクエスト情報は、文書データ保存先1302の文書データを更新するためのURL形式のリクエストであり、このURLには文書ID1301が含まれる。投稿リクエストを受信したマイクロブログサービス300の制御部302は、認証部304を通じてアクセストークン1343がメッセージ書き込み許可されたアクセストークンであることを確認する。メッセージ書き込みが許可されたアクセストークンであれば、制御部302は、S2402に処理を進める。S2402において、制御部302は、メッセージ管理部305を通じて文書データ保存先1302と文書データ更新リクエスト情報とをメッセージとして投稿先グループID1312で指定されたグループ領域に書き込む。文書管理サービス800のメッセージ情報管理部806は、マイクロブログサービス300から返却されるメッセージID701をメッセージ情報1310にメッセージID1314として保存する。
S2001にて、ユーザーは文書管理サービス800にログインする。ログイン処理の詳細は<文書管理サービスの認証>にて記載済みのため省略する。
次にS2002において、制御部803は、文書管理部805を通じてアクセス対象の文書ID1301のユーザーID1303とS2001でログインしたユーザーID1321とが一致するかどうかを確認する。一致する場合は、制御部803は、更新対象の文書データを登録したユーザーと文書管理サービス800にログインしたユーザーとが同一であると判断し、文書更新が可能と判断し、S2007で文書更新を実行する。文書更新処理については後述する。
一致しなかった場合、S2003において、制御部803は、メッセージ情報管理部806を通じ、文書ID1311に紐づいた投稿先グループID1312が存在するかどうかを確認する。投稿先グループID1312が存在しなかった場合、S2008において、制御部803は、文書更新不可と判断し、その旨を示すエラー情報をWebブラウザ104に送信する。
S2005にて、制御部803は、送受信部802を通じてアクセストークン1343と共に所属グループID取得リクエストをマイクロブログサービス300へ送信する。所属グループID取得リクエストを受信したマイクロブログサービス300は、アクセストークンに一致するマイクロブログサービス300のユーザーの所属グループIDリストを制御部803へ送信する。
S2007の文書更新処理では、制御部803が、Webブラウザ104から送受信部802を通じて受信した文書データを、文書管理部805を通してDB807に保存する。そのとき、文書管理部805は、Webブラウザ104から送受信部802を通じて受信した文書ID1301に紐づいたDB807内の文書データ保存先1302に文書データを保存する。更に、文書管理部805は、文書データ情報1300の更新バージョン1305をインクリメントする。
S2009にて、メッセージ情報管理部806は、アクセストークン1343、投稿先グループID1312と共に、文書更新情報をメッセージID1314のコメントとして書き込むための投稿リクエストをマイクロブログサービス300へ送信する。更新情報には更新した文書データの文書名が含まれる。
以上により、文書管理サービス800における文書更新処理が完了する。
実施形態4を実施形態2に適用した一例を以下に説明する。
図27は、実施形態5の文書管理サービス800の文書登録リクエスト受信時の処理の一例を示すフローチャートである。
S2601においてメッセージ情報管理部806はアクセストークン1343、投稿先グループID1312、文書データ保存先1302、文書データ更新リクエスト情報をメッセージとして書き込むための投稿リクエストをマイクロブログサービスAへ送信する。
投稿リクエストを受信したマイクロブログサービスAの制御部302は、認証部304を通じてアクセストークン1343がメッセージ書き込み許可されたアクセストークンであることを確認する。メッセージ書き込みが許可されたアクセストークンであれば、制御部302は、S2602の処理を実行する。S2602において、制御部302は、メッセージ管理部305を通じて文書データ保存先1302、文書データ更新リクエスト情報をメッセージとして投稿先グループID1312で指定されたグループ領域に書き込む。
S2603、S2604はS2601及びS2602をマイクロブログサービスBに対して実行する処理であり、説明の簡略化のため省略する。
文書登録を行ったユーザーが文書登録時に指定された投稿先グループID1312の所属から外れた場合、文書登録を行ったユーザーが文書更新するとS2009で投稿先グループID1312文書更新情報の投稿ができず文書更新情報をグループで共有できない。本実施形態では、文書登録を行ったユーザーが文書登録時に指定された投稿先グループID1312から抜けた場合は、文書更新を行わず文書登録を行ったユーザーに対し文書所有者変更を示唆する方法を説明する。
S2115において文書管理サービス800のメッセージ情報管理部806は、S2109で取得したマイクロブログアクセストークン情報1340のユーザーID1341を図29のメッセージ情報2200のユーザーID2204に保存する。ここで、図29は、文書管理サービス800が保持するメッセージ情報2200の一例を示す図である。メッセージ情報2200の2201から2203までの情報は1310から1313までと同等の情報である。
S2116にてメッセージ情報管理部806はアクセストークン1343、投稿先グループID1312、文書データ保存先1302、文書データ更新リクエスト情報をメッセージとして書き込むための投稿リクエストをマイクロブログサービス300へ送信する。
S2301からS2306まで及びS2311は、S2001からS2006まで及びS2008までで記載済みのため省略する。
S2307は、文書管理サービス800がマイクロブログサービス300からアクセストークン及び所属グループIDリストを取得する処理である。S2307にて、制御部803は、送受信部802を通じてアクセストークン1343、投稿先グループID1312と共に投稿先グループIDに所属するユーザーのユーザーIDリストを取得するリクエストをマイクロブログサービス300へ送信する。所属ユーザーIDリスト取得リクエストを受信したマイクロブログサービス300は、指定のグループIDに一致するマイクロブログサービス300の所属ユーザーIDリストを制御部803へ送信する。
一致するユーザーIDが存在しない場合は、S2312にて、制御部803は、更新エラーを文書管理サービス800のページ生成部804で生成させ、Webブラウザ104にエラー画面を返す。
また、S2313にて、文書管理サービス800のメッセージ情報管理部806は、アクセストークン1343、ユーザーID2204、文書所有者変更リクエスト情報をメッセージとして書き込むための投稿リクエストをマイクロブログサービス300へ送信する。この処理は、投稿リクエスト送信の処理の一例である。ここで、ユーザーID2204は、文書の登録者のユーザーIDであり、文書の登録者のタイムライン画面630に文書所有者変更リクエストがメッセージとして表示される。
また、S2310にて、メッセージ情報管理部806は、アクセストークン1343、投稿先グループID1312、文書更新情報をメッセージID1314のコメントとして書き込むための投稿リクエストをマイクロブログサービス300へ送信する。更新情報には更新した文書データの文書名が含まれる。
2401は、所有者変更対象の文書データの文書名1304と所有者のユーザーID1303とである。変更先ユーザーリスト2402は、文書管理サービス800が、S2307にて、マイクロブログサービス300から取得した所属ユーザーIDリストである。所有者変更ボタン2403が押下され、所属ユーザーIDリストで選択したユーザーIDと共に所有者変更リクエストが文書管理サービス800に送られる。すると、文書管理サービス800は、文書データ情報1300のユーザーID1303を更新する。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
Claims (8)
- コンテンツ管理装置であって、
文書を管理する文書管理手段と、
前記文書を公開する対象のグループを特定するためのグループ情報を有する投稿管理サービスが発行した、前記コンテンツ管理装置が前記投稿管理サービスにアクセスするためのアクセストークンを受信するアクセストークン受信手段と、
前記コンテンツ管理装置によって認証されたユーザーが、前記コンテンツ管理装置による前記投稿管理サービスへのアクセスを許可したことに応じて前記投稿管理サービスにより発行された認可コードを受信する認可コード受信手段と、
前記認可コード受信手段によって受信した認可コードと、クライアント情報とを用いて、前記投稿管理サービスにアクセスするためのアクセストークンを取得するリクエストを前記投稿管理サービスに送信する送信手段と、
前記送信手段によって送信されたリクエストに基づいて発行されたアクセストークンを送信し、前記ユーザーが所属するグループを特定するグループ情報を前記投稿管理サービスから受信するグループ情報受信手段と、
前記グループ情報受信手段によって受信したグループ情報と文書とを関連付けて登録するための文書登録画面を表示する表示手段と、
前記表示手段によって表示された文書登録画面において、文書を登録するための機能が選択された場合、前記文書登録画面において選択されたグループ情報と文書とを関連付けて保存する保存手段と、
前記投稿管理サービスにユーザーがアクセスし、前記保存手段により保存された文書の保存先である文書データ保存先がアクセスされたことで、前記文書データ保存先へのアクセス要求を前記コンテンツ管理装置が受信した場合、
前記文書データ保存先にアクセスしたユーザーのユーザー情報に紐付くアクセストークンを特定し、特定されたアクセストークンを前記投稿管理サービスに送信し、送信されたアクセストークンを用いて前記投稿管理サービスが特定したグループ情報を取得し、
取得したグループ情報が、前記文書データ保存先で特定される文書に紐づくグループ情報に含まれるか否かを確認することで、前記文書データ保存先にアクセスしたユーザーが前記文書データ保存先で特定される文書を制御することを許可する否かを判断する第1の判断手段と、
を有するコンテンツ管理装置。 - 前記コンテンツ管理装置に前記文書が登録された後に、
前記文書の保存先の情報を前記投稿管理サービスに送信する送信手段を更に有する請求項1に記載のコンテンツ管理装置。 - 前記投稿管理サービスにユーザーがアクセスし、前記保存手段により保存された文書の保存先である文書データ保存先がアクセスされたことで、前記文書データ保存先へのアクセス要求を前記コンテンツ管理装置が受信した場合、
前記文書データ保存先にアクセスしたユーザーと、前記文書データ保存先で特定される文書を前記保存手段によって保存したユーザーとが一致するかを判定する判定手段を更に有し、
前記判定手段によって一致すると判定された場合は、
前記文書データ保存先にアクセスしたユーザーが前記文書データ保存先で特定される文書を制御することを許可する請求項1又は2に記載のコンテンツ管理装置。 - 前記投稿管理サービスが複数の異なるサービスである場合、
前記文書登録画面は、
前記複数の異なるサービスから受信したグループ情報の中から、前記文書と紐付けるグループ情報を選択するための画面を提供する請求項1乃至3のいずれか1つに記載のコンテンツ管理装置。 - 前記制御は、
前記文書に対するアクセス、又は前記文書に対する更新である請求項1乃至4のいずれか1つに記載のコンテンツ管理装置。 - 前記判定手段によって一致しないと判定された場合は
前記文書データ保存先にアクセスしたユーザーのユーザー情報に紐付くアクセストークンを特定し、特定されたアクセストークンを前記投稿管理サービスに送信し、送信されたアクセストークンを用いて前記投稿管理サービスが特定したグループ情報を取得し、
取得したグループ情報が、前記文書データ保存先で特定される文書に紐づくグループ情報に含まれることを確認した後に、
前記投稿管理サービスに前記アクセストークンと、前記文書データ保存先にアクセスしたユーザーのグループ情報とを送信し、送信されたアクセストークンとグループ情報によって前記投稿管理サービスが特定したユーザー情報を前記コンテンツ管理装置が取得し、
取得したユーザー情報に前記文書データ保存先にアクセスしたユーザーのユーザー情報が含まれているかを確認した後に、
前記文書データ保存先にアクセスしたユーザーによる前記文書の更新を許可する否かを判断する第2の判断手段を更に有する請求項3に記載のコンテンツ管理装置。 - コンテンツ管理装置が実行するコンテンツ管理方法であって、
文書を管理する文書管理ステップと、
前記文書を公開する対象のグループを特定するためのグループ情報を有する投稿管理サービスが発行した、前記コンテンツ管理装置が前記投稿管理サービスにアクセスするためのアクセストークンを受信するアクセストークン受信ステップと、
前記コンテンツ管理装置によって認証されたユーザーが、前記コンテンツ管理装置による前記投稿管理サービスへのアクセスを許可したことに応じて前記投稿管理サービスにより発行された認可コードを受信する認可コード受信ステップと、
前記認可コード受信ステップによって受信した認可コードと、クライアント情報とを用いて、前記投稿管理サービスにアクセスするためのアクセストークンを取得するリクエストを前記投稿管理サービスに送信する送信ステップと、
前記送信ステップによって送信されたリクエストに基づいて発行されたアクセストークンを送信し、前記ユーザーが所属するグループを特定するグループ情報を前記投稿管理サービスから受信するグループ情報受信ステップと、
前記グループ情報受信ステップによって受信したグループ情報と文書とを関連付けて登録するための文書登録画面を表示する表示ステップと、
前記表示ステップによって表示された文書登録画面において、文書を登録するための機能が選択された場合、前記文書登録画面において選択されたグループ情報と文書とを関連付けて保存する保存ステップと、
前記投稿管理サービスにユーザーがアクセスし、前記保存ステップにより保存された文書の保存先である文書データ保存先がアクセスされたことで、前記文書データ保存先へのアクセス要求を前記コンテンツ管理装置が受信した場合、
前記文書データ保存先にアクセスしたユーザーのユーザー情報に紐付くアクセストークンを特定し、特定されたアクセストークンを前記投稿管理サービスに送信し、送信されたアクセストークンを用いて前記投稿管理サービスが特定したグループ情報を取得し、
取得したグループ情報が、前記文書データ保存先で特定される文書に紐づくグループ情報に含まれるか否かを確認することで、前記文書データ保存先にアクセスしたユーザーが前記文書データ保存先で特定される文書を制御することを許可する否かを判断する第1の判断ステップと、
を含むコンテンツ管理方法。 - コンピュータを、請求項1乃至6のいずれか1つに記載のコンテンツ管理装置の各手段として機能させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013119886A JP6323994B2 (ja) | 2013-06-06 | 2013-06-06 | コンテンツ管理装置、コンテンツ管理方法及びプログラム |
US14/293,464 US9971901B2 (en) | 2013-06-06 | 2014-06-02 | Content management apparatus and content management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013119886A JP6323994B2 (ja) | 2013-06-06 | 2013-06-06 | コンテンツ管理装置、コンテンツ管理方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014238651A JP2014238651A (ja) | 2014-12-18 |
JP6323994B2 true JP6323994B2 (ja) | 2018-05-16 |
Family
ID=52006388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013119886A Active JP6323994B2 (ja) | 2013-06-06 | 2013-06-06 | コンテンツ管理装置、コンテンツ管理方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9971901B2 (ja) |
JP (1) | JP6323994B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6354132B2 (ja) * | 2013-10-09 | 2018-07-11 | 富士ゼロックス株式会社 | 中継装置、中継システム及びプログラム |
JP6354407B2 (ja) * | 2014-07-11 | 2018-07-11 | 株式会社リコー | 認証システム、認証方法、プログラム及び通信システム |
JP6971597B2 (ja) * | 2017-03-10 | 2021-11-24 | キヤノン株式会社 | 情報処理装置、表示制御方法、及びプログラム |
JP6813403B2 (ja) * | 2017-03-25 | 2021-01-13 | エンブレース株式会社 | 医療・介護情報管理方法、医療・介護情報管理システム及び医療・介護情報管理プログラム |
US10599377B2 (en) | 2017-07-11 | 2020-03-24 | Roku, Inc. | Controlling visual indicators in an audio responsive electronic device, and capturing and providing audio using an API, by native and non-native computing devices and services |
US11062710B2 (en) | 2017-08-28 | 2021-07-13 | Roku, Inc. | Local and cloud speech recognition |
US11062702B2 (en) | 2017-08-28 | 2021-07-13 | Roku, Inc. | Media system with multiple digital assistants |
US10579808B2 (en) * | 2017-11-10 | 2020-03-03 | Facebook, Inc. | Systems and methods for generating previews of content protected by authentication protocols |
US11145298B2 (en) | 2018-02-13 | 2021-10-12 | Roku, Inc. | Trigger word detection with multiple digital assistants |
US11153305B2 (en) * | 2018-06-15 | 2021-10-19 | Canon U.S.A., Inc. | Apparatus, system and method for managing authentication with a server |
US12058123B2 (en) * | 2019-06-24 | 2024-08-06 | Nokia Technologies Oy | Apparatuses and methods relating to authorization of network functions |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000082001A (ja) * | 1998-09-04 | 2000-03-21 | Ai Soft Kk | データ管理装置およびデータ管理方法 |
JP2001202405A (ja) * | 2000-01-17 | 2001-07-27 | Fuji Xerox Co Ltd | タスク関与者間のコミュニケーション機能を有するプロジェクト管理装置およびプロジェクト管理方法 |
US20030023677A1 (en) * | 2001-07-25 | 2003-01-30 | Graham Morison Zuill | On-line project collaboration system |
JP2003256685A (ja) * | 2002-03-01 | 2003-09-12 | Toshiharu Kato | ボランティア活動・ビジネス活動支援方法 |
JP2004213265A (ja) | 2002-12-27 | 2004-07-29 | Hitachi Ltd | 電子文書管理装置、文書作成者装置、文書閲覧者装置、電子文書管理方法及び電子文書管理システム |
JP2004272380A (ja) * | 2003-03-05 | 2004-09-30 | Nippon Telegr & Teleph Corp <Ntt> | グループ認証方法及びシステム、サービス提供装置、認証装置、サービス提供プログラム及びそれを記録した記録媒体、認証プログラム及びそれを記録した記録媒体 |
US20060246884A1 (en) * | 2005-04-29 | 2006-11-02 | Siemens Communications, Inc. | Contact information sharing with mobile telephone |
US20070143475A1 (en) * | 2005-12-15 | 2007-06-21 | Brian Daigle | Identification services |
JP4977452B2 (ja) * | 2006-01-24 | 2012-07-18 | 株式会社リコー | 情報管理装置、情報管理方法、情報管理プログラム、記録媒体及び情報管理システム |
JP2008129930A (ja) * | 2006-11-22 | 2008-06-05 | I & Plus Co Ltd | 異なるブログ運営会社のウェブログを横断的に管理したポータルサイト |
US9602605B2 (en) * | 2007-10-26 | 2017-03-21 | Facebook, Inc. | Sharing digital content on a social network |
JP4944060B2 (ja) * | 2008-04-10 | 2012-05-30 | ディサークル株式会社 | グループウェアサーバ装置、グループウェアサーバプログラム及びグループウェアサーバ装置の動作方法 |
US7783646B2 (en) * | 2008-07-17 | 2010-08-24 | International Business Machines Corporation | System, method, and computer readable media for identifying and rating virtual universe objects |
JP4900847B2 (ja) * | 2008-08-19 | 2012-03-21 | 有限会社アール・シー・エス | コンテンツデータ管理装置及びそのプログラム |
US20100161758A1 (en) * | 2008-12-22 | 2010-06-24 | Mostafa Tofigh | Method and apparatus for enabling content sharing among endpoint devices |
US20110320560A1 (en) * | 2010-06-29 | 2011-12-29 | Microsoft Corporation | Content authoring and propagation at various fidelities |
US9280794B2 (en) * | 2012-03-19 | 2016-03-08 | David W. Victor | Providing access to documents in an online document sharing community |
-
2013
- 2013-06-06 JP JP2013119886A patent/JP6323994B2/ja active Active
-
2014
- 2014-06-02 US US14/293,464 patent/US9971901B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014238651A (ja) | 2014-12-18 |
US9971901B2 (en) | 2018-05-15 |
US20140365526A1 (en) | 2014-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6323994B2 (ja) | コンテンツ管理装置、コンテンツ管理方法及びプログラム | |
US12111894B2 (en) | User experience container level identity federation and content security | |
CN106856475B (zh) | 授权服务器以及认证协作系统 | |
JP6120650B2 (ja) | コンテンツ管理装置、コンテンツ管理方法及びプログラム | |
US10911428B1 (en) | Use of metadata for computing resource access | |
US12199988B2 (en) | Proxy authorization of a network device | |
US11102189B2 (en) | Techniques for delegation of access privileges | |
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 | |
US9455970B2 (en) | Information processing system, information processing apparatus, and authentication method | |
KR20200002985A (ko) | 데이터 공유 방법, 클라이언트, 서버, 컴퓨팅 장치 및 저장 매체 | |
US9537849B2 (en) | Service provision system, service provision method, and computer program product | |
US9871778B1 (en) | Secure authentication to provide mobile access to shared network resources | |
US9916308B2 (en) | Information processing system, document managing server, document managing method, and storage medium | |
US20170041504A1 (en) | Service providing system, information processing apparatus, program, and method for generating service usage information | |
US20210336950A1 (en) | Service providing system, login setting method, and information processing system | |
US11153293B1 (en) | Identity information linking | |
WO2016088199A1 (ja) | 印刷システム、方法、およびプログラム | |
CN108629188B (zh) | 管理设备和文档管理系统 | |
JP6303312B2 (ja) | サービス提供システム及び画像提供方法 | |
US20150040189A1 (en) | Service provision system, service provision method, and computer program product | |
US11995173B2 (en) | Service providing system, application usage method, and information processing system | |
JP2015127950A (ja) | 情報処理システム及び情報処理方法 | |
JP6604367B2 (ja) | 処理装置及び情報処理装置 | |
JP2015084516A (ja) | 情報処理システム、情報処理装置、及び情報処理方法 | |
JP2014241113A (ja) | コンテンツ管理装置、コンテンツ管理システム、コンテンツ管理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160525 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170606 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170719 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170815 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171004 |
|
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: 20180313 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180410 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6323994 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |