IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サイボウズ株式会社の特許一覧

特開2023-23848アプリ移動システム、アプリ移動方法、及びプログラム
<>
  • 特開-アプリ移動システム、アプリ移動方法、及びプログラム 図1
  • 特開-アプリ移動システム、アプリ移動方法、及びプログラム 図2
  • 特開-アプリ移動システム、アプリ移動方法、及びプログラム 図3
  • 特開-アプリ移動システム、アプリ移動方法、及びプログラム 図4
  • 特開-アプリ移動システム、アプリ移動方法、及びプログラム 図5
  • 特開-アプリ移動システム、アプリ移動方法、及びプログラム 図6
  • 特開-アプリ移動システム、アプリ移動方法、及びプログラム 図7
  • 特開-アプリ移動システム、アプリ移動方法、及びプログラム 図8
  • 特開-アプリ移動システム、アプリ移動方法、及びプログラム 図9
  • 特開-アプリ移動システム、アプリ移動方法、及びプログラム 図10
  • 特開-アプリ移動システム、アプリ移動方法、及びプログラム 図11
  • 特開-アプリ移動システム、アプリ移動方法、及びプログラム 図12
  • 特開-アプリ移動システム、アプリ移動方法、及びプログラム 図13
  • 特開-アプリ移動システム、アプリ移動方法、及びプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023023848
(43)【公開日】2023-02-16
(54)【発明の名称】アプリ移動システム、アプリ移動方法、及びプログラム
(51)【国際特許分類】
   G06F 21/62 20130101AFI20230209BHJP
【FI】
G06F21/62
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2021129747
(22)【出願日】2021-08-06
(11)【特許番号】
(45)【特許公報発行日】2022-10-07
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 令和3年2月25日、https://kintone.cybozu.co.jp/、https://kintone.cybozu.co.jp/update/main/2021-03.html#point7 令和3年3月14日、https://cybozu.com/ 令和3年7月26日、https://kintone.cybozu.co.jp/、https://kintone.cybozu.co.jp/update/main/2021-08.html#indev
(71)【出願人】
【識別番号】500022557
【氏名又は名称】サイボウズ株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】前田 浩邦
(72)【発明者】
【氏名】齋藤 祐太
(72)【発明者】
【氏名】川向 直樹
(57)【要約】      (修正有)
【課題】アプリを移動させる場合におけるユーザの手間を軽減するアプリ移動システム、アプリ移動方法及びプログラムを提供する。
【解決手段】サーバとユーザ端末が、インターネット又はLANなどのネットワークを介して接続するアプリ移動システムにおいて、サーバは、配置部、第1設定部、移動部及び第2設定部を備える。配置部は、情報共有が可能なユーザグループのうちの少なくとも1人が参加するスペース内又は外に、アプリを配置する。第1設定部は、アプリに、当該アプリの配置場所に応じた権限を設定する。移動部は、公開スペースと非公開スペースの間又はスペース内と外の間で、アプリを移動させる。第2設定部は、移動部により移動したアプリに、当該アプリの移動先に応じた権限を設定する。
【選択図】図10
【特許請求の範囲】
【請求項1】
情報共有が可能なユーザグループのうちの少なくとも1人が参加するスペース内又は外に、アプリを配置する配置手段と、
前記アプリに、当該アプリの配置場所に応じた権限を設定する第1設定手段と、
公開スペースと非公開スペースの間又は前記スペース内と外の間で、前記アプリを移動させる移動手段と、
前記移動手段により移動した前記アプリに、当該アプリの移動先に応じた権限を設定する第2設定手段と、
を含むアプリ移動システム。
【請求項2】
前記第1設定手段は、前記アプリに、当該アプリに固有の権限を設定し、
前記移動手段により前記アプリが移動しても、当該アプリに固有の権限の設定は維持される、
請求項1に記載のアプリ移動システム。
【請求項3】
前記アプリ移動システムは、前記移動手段により移動した前記アプリの移動先に応じた権限と、当該アプリに固有の権限と、の論理積に基づいて、当該アプリへのアクセスを制御するアクセス制御手段を更に含む、
請求項2に記載のアプリ移動システム。
【請求項4】
前記アプリ移動システムは、
複数の前記アプリに共通する権限を設定可能な第3設定手段と、
前記第3設定手段により設定された権限と、他の権限と、の論理積に基づいて、前記第3設定手段により権限が設定されたアプリへのアクセスを制御するアクセス制御手段と、
を更に含む請求項1~3の何れかに記載のアプリ移動システム。
【請求項5】
前記アプリ移動システムは、前記アプリの移動を指示するユーザがアプリ管理権限を有し、かつ、当該ユーザが前記アプリの移動先におけるアプリ作成権限を有するか否かを判定する判定手段を更に含み、
前記移動手段は、前記判定手段の判定結果に基づいて、前記アプリを移動させる、
請求項1~4の何れかに記載のアプリ移動システム。
【請求項6】
前記判定手段は、前記アプリの移動元が前記スペース内である場合には、当該アプリの移動を指示するユーザが当該スペースの管理権限を有しているか否かを更に判定する、
請求項5に記載のアプリ移動システム。
【請求項7】
前記アプリ移動システムは、共有される情報が分離されるように設定された前記スペースに関する前記アプリの移動を制限する制限手段を更に含む、
請求項1~6の何れかに記載のアプリ移動システム。
【請求項8】
前記移動手段は、所定の条件が満たされた場合に、前記アプリを移動させ、
前記アプリ移動システムは、前記所定の条件が満たされない場合に、前記アプリの移動を指示するユーザに、前記所定の条件が満たされない理由を通知する通知手段を更に含む、
請求項1~7の何れかに記載のアプリ移動システム。
【請求項9】
前記移動手段は、所定の条件が満たされた場合に、前記アプリを移動させ、
前記アプリ移動システムは、
前記所定の条件に基づいて、前記アプリを移動可能な前記スペースを検索する移動可能検索手段と、
前記移動可能検索手段の検索結果の中から、前記アプリの移動を指示するユーザによる、前記移動先の指定を受け付ける受付手段と、
を更に含み、
前記移動手段は、前記ユーザにより指定された移動先に、前記アプリを移動させる、
請求項1~8の何れかに記載のアプリ移動システム。
【請求項10】
前記アプリ移動システムは、前記アプリの移動先が前記スペース内である場合に、当該アプリを、当該スペース内における検索の対象にするスペース内検索手段を更に含む、
請求項1~9の何れかに記載のアプリ移動システム。
【請求項11】
情報共有が可能なユーザグループのうちの少なくとも1人が参加するスペース内又は外に、アプリを配置する配置手段と、
前記アプリに、当該アプリの配置場所に応じた権限を設定する第1設定手段と、
複数の前記スペース間で前記アプリを移動させる移動手段と、
前記移動手段により移動した前記アプリに、当該アプリの移動先に応じた権限を設定する第2設定手段と、
前記アプリの移動先が前記スペース内である場合に、当該アプリを、当該スペース内における検索の対象にするスペース内検索手段と、
を含むアプリ移動システム。
【請求項12】
情報共有が可能なユーザグループのうちの少なくとも1人が参加するスペース内又は外に、アプリを配置する配置ステップと、
前記アプリに、当該アプリの配置場所に応じた権限を設定する第1設定ステップと、
公開スペースと非公開スペースの間又は前記スペース内と外の間で、前記アプリを移動させる移動ステップと、
前記移動手段により移動した前記アプリに、当該アプリの移動先に応じた権限を設定する第2設定ステップと、
を含むアプリ移動方法。
【請求項13】
情報共有が可能なユーザグループのうちの少なくとも1人が参加するスペース内又は外に、アプリを配置する配置ステップと、
前記アプリに、当該アプリの配置場所に応じた権限を設定する第1設定ステップと、
複数の前記スペース間で前記アプリを移動させる移動ステップと、
前記移動手段により移動した前記アプリに、当該アプリの移動先に応じた権限を設定する第2設定ステップと、
前記アプリの移動先が前記スペース内である場合に、当該アプリを、当該スペース内における検索の対象にするスペース内検索ステップと、
を含むアプリ移動方法。
【請求項14】
情報共有が可能なユーザグループのうちの少なくとも1人が参加するスペース内又は外に、アプリを配置する配置手段、
前記アプリに、当該アプリの配置場所に応じた権限を設定する第1設定手段、
公開スペースと非公開スペースの間又は前記スペース内と外の間で、前記アプリを移動させる移動手段、
前記移動手段により移動した前記アプリに、当該アプリの移動先に応じた権限を設定する第2設定手段、
としてコンピュータを機能させるためのプログラム。
【請求項15】
情報共有が可能なユーザグループのうちの少なくとも1人が参加するスペース内又は外に、アプリを配置する配置手段、
前記アプリに、当該アプリの配置場所に応じた権限を設定する第1設定手段、
複数の前記スペース間で前記アプリを移動させる移動手段、
前記移動手段により移動した前記アプリに、当該アプリの移動先に応じた権限を設定する第2設定手段、
前記アプリの移動先が前記スペース内である場合に、当該アプリを、当該スペース内における検索の対象にするスペース内検索手段、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、アプリ移動システム、アプリ移動方法、及びプログラムに関する。
【背景技術】
【0002】
従来、複数のユーザが属するユーザグループで任意の情報を共有可能なシステムが知られている。例えば、非特許文献1には、ユーザグループのうちの少なくとも1人が参加するスペース内又は外に配置されたアプリにアクセス権を設定する技術が記載されている。例えば、非特許文献2には、複数のユーザで情報を共有可能なワークスペースに作成されたデータベースにアクセス権を設定し、他のワークスペースにデータベースが移動した場合に、移動先のワークスペースに応じたアクセス権を設定する技術が記載されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】「アプリにアクセス権を設定する」,インターネット,2021年7月30日検索,online,https://jp.cybozu.help/k/ja/user/app_settings/rights/app_rights.html
【非特許文献2】「Moving a base from one workspace to another workspace」,インターネット,2021年7月30日検索,online,https://support.airtable.com/hc/en-us/articles/215589438-Moving-a-base-from-one-workspace-to-another-workspace
【発明の概要】
【発明が解決しようとする課題】
【0004】
非特許文献1のようなシステムでは、公開スペースと非公開スペースの間又はスペース内と外の間で、アプリを移動させることが求められている。もし仮に、これらの間でアプリを移動できたとすると、移動先に応じたアクセス権を設定する必要がある。移動先に応じたアクセス権を自動設定できれば、ユーザの手間を軽減できると思われるが、非特許文献2のワークスペースは、非特許文献1のスペースとは概念が異なるので、非特許文献2の技術を非特許文献1の技術に適用することはできない。
【0005】
本開示の目的の1つは、アプリを移動させる場合におけるユーザの手間を軽減することである。
【課題を解決するための手段】
【0006】
本開示に係るアプリ移動システムは、情報共有が可能なユーザグループのうちの少なくとも1人が参加するスペース内又は外に、アプリを配置する配置手段と、前記アプリに、当該アプリの配置場所に応じた権限を設定する第1設定手段と、公開スペースと非公開スペースの間又は前記スペース内と外の間で、前記アプリを移動させる移動手段と、前記移動手段により移動した前記アプリに、当該アプリの移動先に応じた権限を設定する第2設定手段と、を含む。
【発明の効果】
【0007】
本開示によれば、アプリを移動させる場合におけるユーザの手間を軽減できる。
【図面の簡単な説明】
【0008】
図1】アプリ移動システムの全体構成の一例を示す図である。
図2】ポータル画面の一例を示す図である。
図3】ユーザグループ内に作成されたスペースの一例を示す図である。
図4】スペース画面の一例を示す図である。
図5】アプリ画面の一例を示す図である。
図6】アプリ設定画面の一例を示す図である。
図7】アクセス権設定画面の一例を示す図である。
図8】ダイアログが表示されたアプリ設定画面の一例を示す図である。
図9】アプリの移動前後におけるアクセス権の設定の一例を示す図である。
図10】アプリ移動システムで実現される機能を示す機能ブロック図である。
図11】ユーザグループデータベースのデータ格納例を示す図である。
図12】アプリデータベースのデータ格納例を示す図である。
図13】アプリ移動システムで実行される処理の一例を示すフロー図である。
図14】アプリ移動システムで実行される処理の一例を示すフロー図である。
【発明を実施するための形態】
【0009】
[1.アプリ移動システムの全体構成]
本開示に係るアプリ移動システムの実施形態の一例を説明する。図1は、アプリ移動システムの全体構成の一例を示す図である。例えば、アプリ移動システムSは、サーバ10及びユーザ端末20を含む。ネットワークNは、インターネット又はLAN等である。アプリ移動システムSは、少なくとも1つのコンピュータを含めばよく、図1の例に限られない。
【0010】
サーバ10は、サーバコンピュータである。制御部11は、少なくとも1つのプロセッサを含む。記憶部12は、RAM等の揮発性メモリと、ハードディスク等の不揮発性メモリと、を含む。通信部13は、有線通信用の通信インタフェースと、無線通信用の通信インタフェースと、の少なくとも一方を含む。
【0011】
ユーザ端末20は、ユーザのコンピュータである。例えば、ユーザ端末20は、パーソナルコンピュータ、タブレット端末、スマートフォン、又はウェアラブル端末である。制御部21、記憶部22、及び通信部23の各々のハードウェア構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。操作部24は、マウス、キーボード、又はタッチパネル等の入力デバイスである。表示部25は、液晶ディスプレイ又は有機ELディスプレイである。
【0012】
なお、記憶部12,22に記憶されるものとして説明するプログラム又はデータは、ネットワークNを介して供給されてもよい。サーバ10及びユーザ端末20のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)又は外部機器と直接的に接続するための入出力部(例えば、USB端子)が含まれてもよい。この場合、情報記憶媒体に記憶されたプログラム又はデータが、読取部又は入出力部を介して供給されてもよい。
【0013】
[2.アプリ移動システムの概要]
本実施形態では、クラウド型のグループウェアにアプリ移動システムSを適用した場合を例に挙げる。ユーザは、グループウェアを利用して他のユーザと任意の情報を共有可能である。例えば、ユーザは、テキスト、数値、表、図、画像、文書、動画、音声、その他の任意のファイル、又はこれらの組み合わせを共有可能である。例えば、ユーザグループ内で情報を共有可能である。
【0014】
ユーザグループは、情報を共有するユーザの集まりである。ユーザグループは、所定のページにログイン可能なユーザの集まりである。例えば、会社又は官公庁といった組織は、ユーザグループに相当する。組織内の部署又はチームも、ユーザグループに相当する。このため、1つの組織の中に複数のユーザグループが存在してもよい。ユーザグループには、少なくとも1人のユーザが属する。ユーザは、少なくとも1つのユーザグループに属する。
【0015】
本実施形態では、ユーザグループごとに、サブドメインが存在する。ユーザグループとサブドメインは、1対1で対応する。サブドメインによって、ユーザグループを識別可能である。例えば、グループウェアの提供会社のドメインが「abcde.com」だったとする。XYZ株式会社がグループウェアを利用する場合、「xyzcompany.abcde.com」といったサブドメインが割り当てられる。この場合、XYZ株式会社の社員の集まりがユーザグループに相当する。XYZ株式会社の社員は、上記サブドメインにアクセスしてグループウェアを利用する。
【0016】
例えば、あるユーザグループの管理者は、このユーザグループに招待したいユーザの氏名やメールアドレスといった情報を入力する。この情報が入力されると、ユーザのユーザID及びパスワードが生成されて、ユーザに招待メールが送信される。例えば、招待メールには、ユーザID及びパスワードと、ユーザグループのサブドメインにログインするためのURLと、が記載されている。ユーザが招待メールのURLを選択すると、ユーザグループのサブドメインにログインするためのログイン画面が表示部25に表示される。
【0017】
本実施形態では、ブラウザを利用してログイン画面等の各画面が表示される場合を説明するが、各画面は、グループウェアのアプリケーションを利用して各画面が表示されてもよい。ユーザがログイン画面からユーザID及びパスワードを入力すると、ユーザグループのサブドメインにログインし、ユーザグループへの参加が完了する。ユーザがユーザグループのサブドメインにログインすると、ポータル画面が表示部25に表示される。ポータル画面は、ユーザグループのサブドメインにおけるトップページに相当する。
【0018】
図2は、ポータル画面の一例を示す図である。ポータル画面SC1には、ユーザが、ユーザグループ内で情報を共有するための種々の画像が表示される。例えば、ポータル画面SC1は、ユーザが利用可能なアプリの一覧を示す表示領域A10と、ユーザが参加中のスペースの一覧を示す表示領域A11と、を含む。本実施形態では、グループウェアで利用可能な機能のうち、アプリを利用した情報共有の機能と、スペースを利用した情報共有の機能と、について説明する。
【0019】
アプリは、ユーザの業務を支援するためのツールである。アプリは、ユーザの仕事に合わせた業務システムということもできる。本実施形態では、表計算ソフトと同様の機能を有するアプリを例に挙げるが、アプリ自体は、公知の種々のタイプを利用可能である。例えば、文書作成ソフトと同様の機能を有するアプリ、画像編集ソフトと同様の機能を有するアプリ、又はプレゼンテーションソフトと同様の機能を有するアプリが提供されてもよい。
【0020】
ユーザは、グループウェアで予め用意されたアプリを利用することもできるし、自らアプリを作成することもできる。ユーザは、他のユーザ又は他のユーザグループで作成されたアプリを利用することもできる。例えば、アプリは、何らかの処理を実行するためのプログラム部分と、ユーザが閲覧する実データ部分と、を含む。プログラム部分は、ユーザが任意の計算式やコードを指定可能である。アプリのデータ形式は、アプリが有する機能に沿った形式であればよい。
【0021】
スペースは、ユーザ同士でコミュニケーションを取る場所である。スペースは、チーム単位でのコミュニケーションに使う機能ということもできる。スペースでは、参加者同士で議論したり、情報を共有したりすることができる。1つのユーザグループには、任意の数のスペースを作成可能である。スペースの参加者は、ユーザグループの全員であってもよいし、ユーザグループの一部であってもよい。ユーザは、スペースに参加しなければならないわけではない。ユーザは、スペースに参加していなくても、ユーザグループからの招待を受けていれば、ユーザグループ内の情報を閲覧可能である。
【0022】
例えば、ある会社がユーザグループに相当する場合、スペースは、この会社の部署又はチームである。ある部署又はチームの中で更にスペースが分けられてもよいし、複数の部署又はチームをまたがるようなスペースが存在してもよい。更に、社外の人間とコミュニケーションを取るためのスペースが存在してもよい。スペースでは、任意の情報がやり取りされる。本実施形態では、スペース内の情報と記載した箇所は、スペースの中でやり取りされている情報を意味する。
【0023】
本実施形態では、スペースの作成権限を有するユーザだけがスペースを作成できる場合を説明するが、スペースの作成権限の概念が特になくてもよい。例えば、スペースの作成権限を有するユーザは、スペースの参加者を指定する。参加者は、任意のユーザを指定可能である。スペースの作成後に、参加者の追加又は削除も可能である。本実施形態では、公開スペース、非公開スペース、及びゲストスペースの3種類のスペースが存在する場合を例に挙げる。
【0024】
公開スペースは、全てのユーザが参加可能なスペースである。本実施形態では、あるユーザグループの公開スペースの参加者が、このユーザグループから指定される場合を説明するが、他のユーザグループのユーザから指定されてもよい。即ち、あるユーザグループの公開スペースの参加者は、このユーザグループに招待されていないユーザであってもよい。公開スペース内の情報は、参加者だけが閲覧可能なわけではなく、参加者以外も閲覧可能である。あるユーザグループの公開スペース内の情報は、他のユーザグループのユーザも閲覧可能であってもよい。
【0025】
非公開スペースは、全てのユーザが参加可能なスペースである。あるユーザグループの非公開スペースの参加者は、全てのユーザから指定可能である。これらの点では、非公開スペースは、公開スペースと同様である。ただし、非公開スペース内の情報は、非公開スペースの参加者だけが閲覧可能である。この点では、非公開スペースは、公開スペースとは異なる。ユーザグループに招待されたユーザだったとしても、参加していない非公開スペース内の情報は閲覧できない。ユーザが非公開スペースの参加者として追加された場合には、非公開スペース内の情報を閲覧できるようになる。
【0026】
ゲストスペースは、ユーザグループに属さないユーザが参加可能なスペースである。この点で、ゲストスペースは、公開スペース及び非公開スペースとは異なる。どのユーザグループにも招待されていないユーザだったとしても、ゲストスペースへの参加者として指定可能である。ゲストスペース内の情報は、ゲストスペースの参加者だけが閲覧可能である。ユーザグループに招待されたユーザだったとしても、参加していないゲストスペース内の情報は閲覧できない。ゲストスペースへの招待の流れは、ユーザグループへの招待の流れと同様であってよい。ゲストスペースに招待された者には、ゲストスペースのURLを含む招待メールが送信される。以降、ゲストスペースに招待された者をゲストユーザと記載する。ゲストユーザは、ゲスト用のユーザIDを作成してゲストスペースに参加する。ゲストユーザは、参加したゲストスペース内の情報だけを閲覧できる。ゲストユーザは、公開スペース、非公開スペース、及び招待されていないゲストスペース内の情報を閲覧できない。ゲストユーザは、招待されているが、まだ参加していないゲストスペース内の情報も閲覧できない。
【0027】
以降、公開スペース、非公開スペース、及びゲストスペースを特に区別しない時は、単にスペースと記載する。スペースには、先述したアプリを配置可能である。スペースにアプリを配置するとは、スペースとアプリを関連付けることである。以降、スペースに配置されたアプリを、スペース内アプリと記載する。あるスペースのスペース内アプリの実データ部分は、このスペースでやり取りされる情報に相当する。
【0028】
本実施形態では、スペース外における情報共有も可能である。このため、スペース外に配置されたアプリも存在する。以降、スペース外に配置されたアプリを、スペース外アプリと記載する。スペース内アプリ及びスペース外アプリを特に区別しない時は、単にアプリと記載する。スペース外アプリは、どのスペースにも関連付けられていないアプリである。あるユーザグループのスペース外アプリが更新されると、このユーザグループの全部又は一部のユーザに通知が送信される。
【0029】
図3は、ユーザグループ内に作成されたスペースの一例を示す図である。例えば、ユーザグループG1は、ユーザU1~U10の10人が勤務する会社である。図3の例では、ユーザグループG1には、公開スペースSP1,SP2、非公開スペースSP3、SP4、及びゲストスペースSP5,SP6が作成されている。ユーザU1~U10は、これらのスペース外でコミュニケーションを取ることもできる。
【0030】
例えば、公開スペースSP1には、ユーザU1~U5が参加する。公開スペースSP1に参加していないユーザU6~U10及び他のユーザも、公開スペースSP1の情報を閲覧可能である。公開スペースSP2には、ユーザU6~U10が参加する。公開スペースSP2に参加していないユーザU1~U5及び他のユーザも、公開スペースSP2の情報を閲覧可能である。
【0031】
非公開スペースSP3には、ユーザU1,U2が参加する。非公開スペースSP3に参加していないユーザU3~U10及び他のユーザは、非公開スペースSP3の情報を閲覧できない。非公開スペースSP4には、ユーザU1,U3,U4が参加する。非公開スペースSP4に参加していないユーザU2,U5~U10及び他のユーザは、非公開スペースSP4の情報を閲覧できない。
【0032】
ゲストスペースSP5には、ユーザU1,U4,U5,U9,U10と、ゲストユーザU11,U12と、が参加する。ゲストスペースSP5に参加していないユーザU2,U3,U6~U8及び他のユーザは、ゲストスペースSP5の情報を閲覧できない。ゲストスペースSP6には、ユーザU1,U6,U7と、ゲストユーザU13,U14と、が参加する。ゲストスペースSP6に参加していないユーザU2~U5,U8~U10及び他のユーザは、ゲストスペースSP6の情報を閲覧できない。
【0033】
図3の例以外にも、アプリ移動システムSには、種々のユーザグループ及びスペースが存在する。図2のポータル画面SC1は、図3のユーザグループG1のユーザU1に対応する画面である。ポータル画面SC1の表示領域A10,A11には、ユーザがアクセス可能なアプリとスペースの一覧が示されるようにしてもよい。ユーザがアクセスできない非公開スペースは、表示領域A11に表示されないようにしてもよい。ユーザは、表示領域A11から任意のスペースを選択可能である。例えば、ユーザが表示領域A11から公開スペースSP1を選択すると、公開スペースSP1内の情報を閲覧するためのスペース画面が表示部25に表示される。
【0034】
図4は、スペース画面の一例を示す図である。スペース画面SC2は、スペース内アプリの一覧を示す表示領域A20と、スペースの参加者やフォローしたユーザの一覧を示す表示領域A21と、を含む。スペース画面SC2には、公開スペースSP1に作成されたスレッドでやり取りされている情報又はその他の種々の情報も表示可能である。ユーザは、表示領域A20から任意のスペース内アプリを選択可能である。ユーザが表示領域A20からスペース内アプリを選択すると、当該選択されたスペース内アプリの実データ部分を閲覧するためのアプリ画面が表示部25に表示される。
【0035】
図5は、アプリ画面の一例を示す図である。図5の例では、スペース内アプリの実データ部分が、表形式でアプリ画面SC3に表示される。本実施形態では、スペース内アプリにアクセス権が設定されている。ユーザは、自身のアクセス権に応じた操作が可能である。スペース外アプリも同様に、アクセス権が設定されている。図5のような表形式の場合、レコード又はフィールド単位でアクセス権が設定されてもよい。
【0036】
アプリのアクセス権は、アプリの設定の1つである。アプリの設定自体は、公知の設定が可能であり、アクセス権以外にも種々の設定が可能である。ユーザは、アプリ画面SC3からアプリの設定を指定できる。例えば、アプリ画面SC3のアイコンI30が選択されると、アプリ画面SC3に表示されたアプリの設定をするためのアプリ設定画面が表示部25に表示される。
【0037】
図6は、アプリ設定画面の一例を示す図である。アプリ設定画面SC4のように、アプリには、種々の設定が可能である。ここでは、アプリの設定のうち、アプリのアクセス権について説明する。例えば、ユーザがアプリ設定画面SC4の「アクセス権」の「アプリ」を選択すると、選択中のアプリのアクセス権を設定するためのアクセス権設定画面が表示部25に表示される。
【0038】
図7は、アクセス権設定画面の一例を示す図である。アクセス権設定画面SC5では、選択中のアプリを利用できるユーザを指定又は制限したり、アプリが属する後述のアプリグループを変更したりすることができる。本実施形態では、アプリのアクセス権として、アプリの配置場所に応じたアクセス権と、アプリ固有のアクセス権と、が存在する場合を例に挙げる。
【0039】
アプリの配置場所に応じたアクセス権とは、アプリの配置場所に共通するアクセス権である。例えば、非公開スペースであれば、参加者だけがアプリにアクセスできるので、非公開スペースの参加者だけがアクセス可能なことは、非公開スペースという配置場所に応じたアクセス権に相当する。公開スペース又はスペース外であれば、誰でもアプリにアクセスできるので、誰でもアクセス可能なことは、公開スペース又はスペース外という配置場所に応じたアクセス権に相当する。本実施形態では、図7のアプリグループも、アプリの配置場所に応じたアクセス権の1つに相当する。
【0040】
アプリグループは、複数のアプリのアクセス権を一括で管理するためのグループである。アプリグループを利用して、複数のアプリに一括でアプリのアクセス権を設定可能である。アプリグループを利用すれば、アクセス権以外にも、アプリの作成権限又は管理権限といった権限も一括で管理可能である。あるアプリグループに属するアプリ同士は、アクセス権の設定が同じである。
【0041】
アプリは、何れか1つのアプリグループに属する。本実施形態では、アプリの作成時には、デフォルトでパブリックというアプリグループに属する。例えば、アプリグループがパブリックのアプリは、アプリの作成者以外のユーザ(即ち、全てのユーザ)に公開可能である。パブリック以外にも、任意のアプリグループを作成可能である。本実施形態では、アプリグループの作成には、特別な権限が必要であるものとする。デフォルトのアプリグループをパブリックから他のアプリグループに変更することもできる。
【0042】
本実施形態では、スペース内アプリは、パブリックに属し、アプリグループを変更できないものとする。ただし、同じパブリックだったとしても、公開スペースのスペース内アプリと、非公開スペースのスペース内アプリと、はアクセス可能なユーザが異なる。公開スペースは、全てのユーザが閲覧可能なので、公開スペースのスペース内アプリのパブリックは、全てのユーザがアクセス可能の意味になる。非公開スペースは、参加者だけが閲覧可能なので、非公開スペースのスペース内アプリのパブリックは、参加者だけがアクセス可能の意味になる。非公開スペースのスペース内アプリは、アプリグループがパブリックだったとしても、全てのユーザがアクセス可能になるわけではない。
【0043】
スペース外アプリは、アプリグループをパブリックから他のアプリグループに変更可能である。他のアプリグループとしては、アプリの作成者だけがアクセス可能なプライベート、又は、アプリグループの作成権限があるユーザが作成した独自のアプリグループが存在してもよい。独自のアプリグループでは、ユーザ、ユーザグループ、及びユーザグループ内のグループに対して、このアプリグループに属するアプリの作成、管理、使用、及び削除といった操作を許可又は禁止できる。図7の例では、スペース内アプリなので、アプリグループを変更できないが、スペース外アプリであれば、アクセス権設定画面SC5からアプリグループの変更が可能である。
【0044】
アプリ固有のアクセス権は、個々のアプリに対して指定されたアクセス権である。あるアプリのアクセス権と、他のアプリのアクセス権と、は互いに別である。このため、同じアプリグループに属するアプリであったとしても、アプリ固有のアクセス権は、互いに独立した存在となる。図7の例であれば、入力フォームF50からアプリ固有のアクセス権の設定が可能である。例えば、ユーザ、組織、又はグループごとに、アクセス権の設定が可能である。アクセス権は、任意の項目を含むことができ、例えば、レコードの閲覧、レコードの追加、レコードの編集、レコードの削除、アプリの管理、ファイル読み込み、ファイル書き出しが可能である。
【0045】
本実施形態では、図6のアプリ設定画面SC4からアプリの配置場所を変更できるようにもなっている。例えば、アプリ設定画面SC4から「アプリを移動する」を選択すると、アプリを移動するためのダイアログが表示される。
【0046】
図8は、ダイアログが表示されたアプリ設定画面SC4の一例を示す図である。図8に示すように、ダイアログD40には、アプリの移動先のスペースを指定するためのボタンB41、アプリの移動先のスペースを検索するための入力フォームF42、及びアプリをスペース外に移動させるためのボタンB43が表示される。ユーザは、あるスペースのスペース内アプリを他のスペースに移動させる場合、ボタンB41を選択したうえで、入力フォームF42から移動先のスペースを検索及び指定する。
【0047】
ユーザは、スペース内アプリをスペース外に移動させる場合、ボタンB43を選択する。図8は、選択中のアプリがスペース内アプリである場合を示しているが、スペース外アプリが選択された場合、ボタンB43は表示されないようにしてもよい。本実施形態では、ゲストスペースのスペース内アプリの移動は禁止されている。また、ゲストスペースを移動先として指定することも禁止されている。ユーザがダイアログD40からアプリの移動先を選択すると、注意事項が表示されたうえでアプリを移動できる。アプリが移動すると、移動先に応じたアクセス権が設定される。
【0048】
図9は、アプリの移動前後におけるアクセス権の設定の一例を示す図である。図9の例では、公開スペースSP1のアプリが非公開スペースSP4に移動した場合を示す。図9に示すように、移動前後でアプリグループがパブリックであることは変わらないが、移動元の公開スペースSP1のパブリックは、全てのユーザがアクセス可能なことを意味するが、移動先の非公開スペースSP4のパブリックは、参加者であるユーザU1,U3,U4だけがアクセス可能なことを意味する。一方、アプリ固有のアクセス権は、移動前後で変化しない。実際にアプリに対するアクセスを制御する場合には、アプリグループにより定まるアクセス権と、アプリ固有のアクセス権と、の論理積となる。
【0049】
図9の例であれば、移動先の非公開スペースSP4に応じたアクセス権として、ユーザU1,U3,U4だけがアクセス可能であることが設定されている。アプリ固有のアクセス権として、ユーザU1,U2の設定と、全員に共通のEveryoneの設定と、が設定されている。ユーザU1の設定は両方に存在するので、ユーザU1には、アプリ固有のユーザU1の設定が適用される。ユーザU3,U4には、Everyoneの設定が適用される。ユーザU2は、アプリ固有のアクセス権が設定されているが、非公開スペースSP4の参加者ではないので、アプリにアクセスできない。他のユーザも同様に、Everyoneではあるが、非公開スペースSP4の参加者ではないので、アプリにアクセスできない。
【0050】
以上のように、本実施形態のアプリ移動システムSでは、個々のアプリに、配置場所に応じたアクセス権と、アプリ固有のアクセス権と、が設定されている。ゲストスペース以外に配置されたアプリは、ゲストスペース以外の任意の場所に移動可能である。アプリが移動すると、移動先に応じたアクセス権が設定されるが、アプリ固有のアクセス権は変更されない。このような構成を採用することにより、アプリが移動する場合におけるユーザの手間を軽減している。以降、アプリ移動システムSの詳細について説明する。
【0051】
[3.アプリ移動システムで実現される機能]
図10は、アプリ移動システムSで実現される機能を示す機能ブロック図である。本実施形態では、主な機能がサーバ10で実現される場合を説明する。データ記憶部100は、記憶部12を主として実現される。他の各機能は、制御部11を主として実現される。
【0052】
[データ記憶部]
データ記憶部100は、記憶部12を主として実現される。データ記憶部100は、グループウェアが提供する機能に必要なデータを記憶する。本実施形態では、このデータの一例として、ユーザグループデータベースDB1と、アプリデータベースDB2と、について説明する。
【0053】
図11は、ユーザグループデータベースDB1のデータ格納例を示す図である。ユーザグループデータベースDB1は、ユーザグループに関する情報が格納されたデータベースである。例えば、ユーザグループデータベースDB1には、ユーザグループID、ユーザグループ名、ポータルのURL、ユーザID、パスワード、スペースID、スペース名、スペース種別、及び参加者が格納される。新たなユーザグループが作成されると、このユーザグループに対応するレコードが新たに作成され、このユーザグループのユーザグループID等の情報が格納される。
【0054】
ユーザグループIDは、ユーザグループを識別可能なIDである。あるユーザグループのユーザグループIDには、このユーザグループに属するユーザを識別可能なユーザIDが関連付けられる。あるユーザグループのユーザグループIDには、このユーザグループに作成されたスペースを識別可能なスペースIDが関連付けられる。スペース種別は、スペースの種類を識別可能な情報である。本実施形態では、スペース種別は、公開スペース、非公開スペース、又はゲストスペースの3つのうちの何れかを示す。あるスペースのスペースIDには、このスペースの参加者のユーザIDが関連付けられる。なお、ゲストスペースは、ユーザグループとはデータとして分離されていてもよい。
【0055】
図12は、アプリデータベースDB2のデータ格納例を示す図である。アプリデータベースDB2は、アプリに関する情報が格納されたデータベースである。例えば、アプリデータベースDB2には、ユーザグループID、アプリID、アプリ名、配置場所情報、アプリの実データ部分、及びアプリ設定情報が格納される。新たなアプリが作成されると、このアプリに対応するレコードが新たに作成され、このアプリが作成されたユーザグループのユーザグループIDやアプリID等の情報が格納される。
【0056】
配置場所情報は、アプリの配置場所を識別可能な情報である。スペース内アプリであれば、スペースIDが配置場所情報として格納される。スペース外アプリであれば、スペース外であることを示す配置場所情報が格納される。スペース外アプリは、配置場所情報が格納されなくてもよい。この場合、配置場所情報が格納されないことは、スペース外アプリであることを意味する。
【0057】
アプリ設定情報は、アプリの設定内容を示す情報である。本実施形態では、アプリ設定情報は、アプリグループを識別可能なアプリグループ情報と、アプリに固有のアクセス権を識別可能な固有情報と、を含む。本実施形態では、スペース内アプリのアプリ設定情報は、パブリックであることを示すアプリグループ情報と、このスペース内アプリに設定された固有情報と、を含む。スペース外アプリのアプリ設定情報は、パブリック又は他のアプリグループを示すアプリグループ情報と、このスペース外アプリに設定された固有情報と、を含む。固有情報には、図7で説明したアプリ固有のアクセス権が示される。
【0058】
なお、データ記憶部100に記憶されるデータは、上記の例に限られない。データ記憶部100は、グループウェアが提供する機能に必要なデータを記憶すればよい。例えば、データ記憶部100は、個々のユーザに関する情報が格納されたユーザデータベースを記憶してもよい。データ記憶部100は、個々のユーザグループ又はスペース内で共有される情報の実データが格納されたデータベースを記憶してもよい。他にも例えば、データ記憶部100は、個々のアプリグループで定義された権限の設定内容を記憶してもよい。
【0059】
[配置部]
配置部101は、情報共有が可能なユーザグループのうちの少なくとも1人が参加するスペース内又は外に、アプリを配置する。例えば、アプリデータベースDB2において、あるアプリのアプリIDに関連付けられた配置場所情報として、あるスペースのスペースIDを設定することは、このスペースにこのアプリを配置することに相当する。アプリデータベースDB2において、あるアプリのアプリIDに関連付けられた配置場所情報として、スペース外を示す情報を設定することは、スペース外にこのアプリを配置することに相当する。
【0060】
例えば、配置部101は、あるスペースのスペース画面SC2からアプリが作成された場合、このスペースに、このアプリをスペース内アプリとして配置する。配置部101は、ポータル画面SC1からアプリが作成された場合、スペース外に、このアプリをスペース外アプリとして配置する。アプリの作成時に配置場所が指定される場合には、配置部101は、指定された配置場所に、作成されたアプリを配置すればよい。
【0061】
[第1設定部]
第1設定部102は、アプリに、当該アプリの配置場所に応じた権限を設定する。この権限は、アプリに関する何らかの権限であってよく、アクセス権に限られない。例えば、アプリ管理権限、移動権限、削除権限、設定変更権限、又はこれらの組み合わせであってもよい。配置場所と、この配置場所に応じた権限と、の関係は、データ記憶部100に定められているものとする。第1設定部102は、あるアプリの配置場所に関連付けられた権限が設定されるように、このアプリの権限を設定する。
【0062】
例えば、ある非公開スペースに配置されたスペース内アプリであれば、第1設定部102は、この非公開スペースの参加者だけがアクセス権を有するように、このスペース内アプリのアクセス権を設定する。あるゲストスペースに配置されたスペース内アプリであれば、第1設定部102は、このゲストスペースの参加者だけがアクセス権を有するように、このスペース内アプリのアクセス権を設定する。
【0063】
例えば、ある公開スペースに配置されたスペース内アプリであれば、第1設定部102は、全てのユーザがアクセス権を有するように、このスペース内アプリのアクセス権を設定する。スペース外に配置されたスペース外アプリであれば、第1設定部102は、このスペース外アプリが属するアプリグループに定義されたアクセス権を有するように、このスペース外アプリのアクセス権を設定する。
【0064】
本実施形態では、第1設定部102は、アプリに、当該アプリに固有の権限を設定する。後述の移動部108によりアプリが移動しても、当該アプリに固有の権限の設定は維持される。即ち、アプリに固有の権限は、アプリが移動しても変わらない。アプリに固有の権限は、ユーザの操作により変更される。
【0065】
[判定部]
判定部103は、アプリの移動を指示するユーザがアプリ管理権限を有し、かつ、当該ユーザがアプリの移動先におけるアプリ作成権限を有するか否かを判定する。アプリの移動を指示するユーザは、アプリ設定画面SC4を表示させたユーザである。アプリ管理権限は、アプリの設定変更や削除等の行為が許可されることである。アプリ作成権限は、スペース内又は外でアプリの作成が許可されることである。アプリ管理権限及びアプリ作成権限を有するユーザや組織等は、アプリグループに定義されている。例えば、判定部103は、スペース内アプリであれば、パブリックのアプリグループに関連付けられた管理権限及び作成権限に基づいて、アプリの移動を指示するユーザがこれらの権限を有するか否かを判定する。
【0066】
例えば、判定部103は、アプリの移動元がスペース内である場合には、当該アプリの移動を指示するユーザが当該スペースの管理権限を有しているか否かを更に判定してもよい。スペースの管理権限は、スペースの設定変更や削除等の行為が許可されることである。スペースの管理権限を有するユーザや組織等は、ユーザグループデータベースDB1等に定義されている。例えば、判定部103は、アプリデータベースDB2を参照し、アプリ設定画面SC4で設定対象となるアプリの現在の配置場所を特定する。判定部103は、当該特定された配置場所がスペース内である場合には、ユーザグループデータベースDB1を参照し、アプリの移動を指示するユーザが当該スペースの管理権限を有しているか否かを判定する。
【0067】
[制限部]
制限部104は、所定の条件に基づいて、アプリの移動を制限する。この条件は、アプリの移動を許可するか否かを判定するための条件であればよく、任意の条件を設定可能である。例えば、制限部104は、共有される情報が分離されるように設定されたスペースに関するアプリの移動を制限する。情報が分離されるとは、情報の公開範囲が他の場所とは異なることである。本実施形態では、ゲストスペースがこのスペースの一例に相当する。ゲストスペース内の情報は、ユーザグループに招待されたユーザだったとしてもゲストスペースの参加者でなければ閲覧できないので、公開スペース又は非公開スペース内の情報とは分離されていることになる。
【0068】
例えば、本実施形態のスペースは、ユーザグループに属さないゲストユーザが参加可能なゲストスペースを含む。制限部104は、ゲストスペースと他のスペースの間のアプリの移動を制限する。ゲストスペースと他のスペースの間のアプリの移動とは、ゲストスペースから他のスペースへのアプリの移動と、他のスペースからゲストスペースへのアプリの移動と、の少なくとも一方である。
【0069】
例えば、制限部104は、あるスペース内アプリの現在の配置場所がゲストスペースであれば、このスペース内アプリの移動を制限する。制限部104は、あるアプリがゲストスペースに移動しないように、このアプリの移動を制限する。アプリの移動を制限する方法自体は、任意の方法が可能であり、例えば、ゲストスペースのスペース内アプリは、アプリ設定画面SC4の「アプリを移動する」の項目を選択できないようにすること、この項目は選択できるがダイアログD40が表示されないこと、ダイアログD40が表示されるが移動を指示するボタンが選択できないこと、又はこのボタンは選択できるがその後にエラーになることであってもよい。
【0070】
なお、アプリの移動の条件は、ゲストスペースに関する条件以外にも任意の条件を設定可能である。例えば、アプリ自体に、所属スペースの変更機能が有効であるか否かの設定がなされてもよい。この場合、アプリのスペース機能がオンになっていること、及び、オプトイン設定としての当該機能がオンになっていることが条件となる。他にも例えば、判定部103が判定するような管理権限等も条件の1つになる。更に、パブリックのアプリグループでのアプリの作成権限があること、システム管理におけるアクセス権でのアプリの作成権限があること、移動先のスペースが非公開スペースの場合に非公開スペースの参加者であること、移動先が現在の場所と同じではないことが条件になってもよい。
【0071】
[通知部]
通知部105は、アプリの移動が制限される場合に、その理由を通知する。本実施形態では、移動部108は、所定の条件が満たされた場合に、アプリを移動させるので、通知部105は、所定の条件が満たされない場合に、アプリの移動を指示するユーザに、所定の条件が満たされない理由を通知する。この理由は、満たされなかった条件の内容である。理由の通知方法は、任意の方法であってよく、例えば、アプリ設定画面SC4の「アプリを移動する」の項目をマウスポインタが指し示した場合に理由を示す吹き出しを表示させること、アプリ設定画面SC4が表示された時点で理由を示すメッセージを表示させること、ダイアログD40に理由を示すメッセージを表示させること、又はダイアログD40の後のエラーの画面で理由を示すメッセージを表示させることであってもよい。理由は、視覚的な通知に限られず、音声を利用した聴覚的な通知であってもよい。なお、「アプリを移動する」の項目は、アプリを移動させる機能がオンになっている場合にのみ表示されてもよい。
【0072】
[移動可能検索部]
移動可能検索部106は、所定の条件に基づいて、アプリを移動可能なスペースを検索する。例えば、移動可能検索部106は、移動対象として指定されたアプリを移動可能なスペースを検索し、当該検索結果をダイアログD40に表示させる。本実施形態では、ゲストスペース以外であれば任意のスペースでアプリを移動可能なので、移動可能検索部106は、ユーザが属するユーザグループ内のスペースのうち、アプリの現在配置場所以外のスペースを、アプリを移動可能なスペースとして検索する。例えば、ユーザが入力フォームF42に何らかの文字列が入力された場合には、移動可能検索部106は、この文字列をスペース名として含むスペースを検索する。制限部104の処理で説明した条件が満たされないスペースは、検索結果にヒットしない。
【0073】
[受付部]
受付部107は、アプリの移動を指示するユーザによる、移動先の指定を受け付ける。本実施形態では、移動可能検索部106による検索が実行されるので、受付部107は、移動可能検索部106の検索結果の中から、アプリの移動を指示するユーザによる、移動先の指定を受け付ける。例えば、検索結果は、入力フォームF42のプルダウンメニュー上に表示される。ユーザは、プルダウンメニューから任意のスペースを指定可能である。受付部107は、プルダウンメニューに表示された検索結果のうちの何れかの指定を受け付ける。検索結果の表示方法自体は、公知の種々の方法を利用可能であり、プルダウンメニューに限られない。
【0074】
[移動部]
移動部108は、公開スペースと非公開スペースの間又はスペース内と外の間で、アプリを移動させる。アプリの移動とは、アプリの配置場所を変更することである。移動部108は、アプリデータベースDB2に格納された配置場所情報を更新することによって、アプリを移動させる。移動部108は、移動対象として指定されたアプリの配置場所を、現在の配置場所から移動先に変更する。本実施形態では、移動可能検索部106の検索結果の中から移動先が指定されるので、移動部108は、ユーザにより指定された移動先に、アプリを移動させる。
【0075】
公開スペースと非公開スペースの間のアプリの移動とは、公開スペースから非公開スペースへのアプリの移動と、非公開スペースから公開スペースへのアプリの移動と、の少なくとも一方である。スペース内と外の間のアプリの移動とは、スペース内からスペース外へのアプリの移動と、スペース外からスペース内へのアプリの移動と、の少なくとも一方である。
【0076】
例えば、移動部108は、スペース外アプリがパブリック以外の他のアプリグループである場合には、当該アプリのアプリグループがパブリックに変更されることを条件として、スペース内に移動させてもよい。移動部108は、パブリック以外の他のアプリグループにスペース外アプリが属する場合には、このスペース外アプリを移動させない。移動部108は、このスペース外アプリがパブリックのアプリグループに属することを条件として、このスペース外アプリをスペースに移動させる。アプリグループの変更は、スペース外アプリの移動前にユーザが手動で行うものとするが、何らかの確認のダイアログ等を表示させたうえで、自動的に変更されてもよい。
【0077】
本実施形態では、移動部108は、判定部103の判定結果に基づいて、アプリを移動させる。移動部108は、アプリの移動を指示するユーザがアプリ管理権限を有し、かつ、当該ユーザがアプリの移動先におけるアプリ作成権限を有すると判定されない場合には、アプリを移動させない。移動部108は、アプリの移動を指示するユーザがアプリ管理権限を有し、かつ、当該ユーザがアプリの移動先におけるアプリ作成権限を有すると判定された場合に、アプリを移動させる。
【0078】
本実施形態では、アプリの移動元がスペース内である場合には、当該アプリの移動を指示するユーザが当該スペースの管理権限を有しているか否かが更に判定されるので、アプリの移動の条件として、少なくとも3つの条件が存在することになる。移動部108は、これら3つの条件のうちの少なくとも1つが満たされない場合には、アプリを移動させない。移動部108は、これら3つの条件が全て満たされた場合に、アプリを移動させる。先述した他の条件も存在する場合には、移動部108は、原則として、全ての条件が満たされた場合に、アプリを移動させる。移動部108は、原則として、一部の条件が満たされない場合には、アプリを移動させない。
【0079】
なお、移動部108は、複数の非公開スペースの間でアプリを移動させることもできる。複数の非公開スペースの間のアプリの移動とは、ある非公開スペースから他の非公開スペースへのアプリの移動である。移動部108は、複数の公開スペースの間でアプリを移動させることもできる。
【0080】
[第2設定部]
第2設定部109は、移動部108により移動したアプリに、当該アプリの移動先に応じた権限を設定する。権限の意味は、第1設定部102で説明した通りである。例えば、移動先が非公開スペースであれば、第2設定部109は、この非公開スペースの参加者だけがアクセス権を有するように、この非公開スペースに移動したスペース内アプリのアクセス権を設定する。移動先が公開スペースであれば、第2設定部109は、全てのユーザがアクセス権を有するように、この公開スペースに移動したスペース内アプリのアクセス権を設定する。移動先がスペース外であれば、第2設定部109は、このスペース外アプリが属するアプリグループに定義されたアクセス権を有するように、このスペース外アプリのアクセス権を設定する。なお、複数の非公開スペースの間でアプリが移動した場合には、第2設定部109は、移動先である非公開スペースの参加者がアクセスできるように、アクセス権を設定する。
【0081】
[第3設定部]
第3設定部110は、複数のアプリに共通する権限を設定可能である。本実施形態では、この権限は、アプリグループによって定義される権限である。この共通の権限は、アプリグループ以外の名称で呼ばれる権限であってもよい。例えば、第3設定部110は、スペース内アプリに、全てのユーザに公開可能なことを示すパブリックのアプリグループを設定する。本実施形態では、スペース内アプリは、パブリックのアプリグループだけが可能なので、第3設定部110は、スペース内アプリに、パブリック設定を行う。スペース外アプリも、デフォルトの設定としては、パブリックのアプリグループになる。
【0082】
例えば、第3設定部110は、スペース外アプリに、パブリックのアプリグループ又は他のアプリグループを設定する。スペース外アプリは、パブリックを含む任意のアプリグループに属することができるので、第3設定部110は、アプリ管理権限を有するユーザにより指定されたアプリグループに属するように、スペース外アプリの設定を行う。個々のアプリグループの詳細な設定は、データ記憶部100に記憶されているものとする。例えば、アプリグループの詳細な設定として、ユーザや組織ごとに、アクセス権が指定されていてもよい。
【0083】
[アクセス制御部]
アクセス制御部111は、アプリに設定された権限に基づいて、アプリへのアクセスを制御する。本実施形態では、アクセス制御部111は、移動部108により移動したアプリの移動先に応じた権限と、当該アプリに固有の権限と、の論理積(AND条件)に基づいて、当該アプリへのアクセスを制御する。アクセス制御部111は、あるユーザが、アプリの移動先に応じた権限を有し、かつ、アプリに固有の権限を有する場合に、このユーザによるアプリへのアクセスを許可する。アプリ制御部は、あるユーザが、アプリの移動先に応じた権限と、アプリに固有の権限と、の少なくとも一方を有さない場合には、このユーザによるアプリへのアクセスを許可しない。
【0084】
例えば、アクセス制御部111は、第3設定部110により設定された権限と、他の権限と、の論理積に基づいて、第3設定部110により権限が設定されたアプリへのアクセスを制御する。他の権限は、第3設定部110により設定された権限以外の権限であればよく、第1設定部102又は第2設定部109により設定された権限である。第1設定部102及び第2設定部109以外にも権限を設定する機能が存在する場合、この機能により設定された権限が他の権限に相当すればよい。例えば、アクセス制御部111は、第3設定部110により設定された権限と、他の権限と、の両方によりアクセスが許可されているユーザに対し、アプリへのアクセスを許可する。
【0085】
[スペース内検索部]
スペース内検索部112は、アプリの移動先がスペース内である場合に、当該アプリを、当該スペース内における検索の対象にする。スペース内検索とは、スペース内の情報を検索対象とした検索である。スペース内検索では、スペース内の情報の全部又は一部がインデックスとなる。スペース内では、アプリ以外にもスレッド等の他の情報がやり取りされているので、スペース内検索では、他の情報も検索対象になる。スペース内検索部112は、アプリの移動先がスペースである場合に、このスペースのスペース内検索でこのアプリが検索対象となるように、スペース内検索のインデックスを作成する。アプリが移動した場合には、移動元のスペース内検索にはヒットしなくなる。移動先のスペース内検索に反映するための処理が完了すると、その旨のメッセージが表示されてもよい。
【0086】
例えば、スペース内検索部112は、図4のスペース画面SC2の「スペース内検索」の入力フォームから入力されたクエリに基づいて、スペース内検索を実行する。スペース内検索部112は、スペース画面SC2に表示中のスペースに移動したアプリの実データもスペース内検索のインデックスとする。本実施形態では、図2のポータル画面SC1から行われる全体検索と、図5のアプリ画面SC3等から行われるアプリ内検索と、も存在する。全文検索は、ユーザグループ内の全ての情報が検索対象になる。アプリ内検索は、アプリ内の実データが検索対象になる。
【0087】
[4.アプリ移動システムで実行される処理]
図13及び図14は、アプリ移動システムSで実行される処理の一例を示すフロー図である。図13及び図14の処理は、制御部11,21がそれぞれ記憶部12,22に記憶されたプログラムを実行することによって実現される。図13及び図14の処理が実行されるにあたり、ユーザは、何らかのユーザグループへの招待を受けているものとする。
【0088】
ユーザ端末20は、ユーザが招待されたユーザグループのサブドメインにアクセスし、ユーザが入力したユーザID及びパスワードに基づいて、サーバ10との間でログイン処理を実行する(S1)。ユーザ端末20は、ログイン処理が成功すると、ポータル画面SC1を表示部25に表示させる(S2)。ユーザ端末20は、ポータル画面SC1に対するユーザの操作を受け付ける(S3)。ポータル画面SC1からは任意の操作が可能であるが、ここでは、アプリを作成する操作、表示領域A10内のアプリを選択する操作、スペースを作成する操作、又は表示領域A11内のスペースを選択する操作が行われるものとする。ユーザが所定のログアウト操作をした場合(S3;ログアウト)、本処理は終了する。
【0089】
S3において、ユーザがアプリを作成する操作をした場合(S3;アプリ作成)、ユーザ端末20は、サーバ10との間で、アプリを作成するための処理を実行する(S4)。この処理自体は、公知の処理であってよく、サーバ10は、新たに作成されたアプリがスペース外に配置されるように、アプリデータベースDB2を更新する。S3において、ユーザが表示領域A10内のアプリを選択する操作をした場合(S3;アプリ選択)、ユーザ端末20は、サーバ10との間で、アプリ画面SC3を表示させるための処理を実行する(S5)。S5では、サーバ10は、アプリデータベースDB2を参照し、ユーザが選択したアプリに関する情報を取得し、アプリ画面SC3を表示させるためのデータを生成する。
【0090】
以降、アプリを利用した情報共有の処理が実行される。ここでは、アプリの設定変更の処理について説明する。ユーザ端末20は、アイコンI30が選択された場合に、サーバ10との間で、アプリ設定画面SC4を表示させるための処理を実行する(S6)。ユーザ端末20は、アプリ設定画面SC4に対するユーザの操作を受け付ける(S7)。アプリ設定画面SC4からは任意の操作が可能であるが、ここでは、アプリのアクセス権を設定する操作、又は、アプリを移動させる操作が行われるものとする。
【0091】
アプリのアクセス権を設定する操作が行われた場合(S7;アクセス権設定)、ユーザ端末20は、サーバ10との間で、アクセス権設定画面SC5を表示させるための処理を実行する(S8)。アクセス権設定画面SC5には、アプリデータベースDB2に格納された現状の設定が表示される。ユーザ端末20は、アクセス権設定画面SC5に対するユーザの操作を受け付ける(S9)。アクセス権設定画面SC5からは任意の操作が可能であるが、ここでは、アプリグループを変更する操作、又は、アプリ固有のアクセス権を設定する操作が行われるものとする。グループ内アプリは、パブリックのみが可能なので、アプリグループを変更する操作は受け付けられない。
【0092】
ユーザがアプリグループを変更する操作をした場合(S9;アプリグループ変更)、ユーザ端末20は、サーバ10との間で、アプリグループを変更するための処理を実行する(S10)。S10では、サーバ10は、ユーザが指定したアプリグループが設定されるように、アプリデータベースDB2を更新する。S9において、ユーザがアプリ固有のアクセス権を設定する操作をした場合(S9;固有設定)、ユーザ端末20は、サーバ10との間で、アプリ固有のアクセス権を設定するための処理を実行する(S11)。S11では、サーバ10は、ユーザが入力フォームF50から指定したユーザ又は組織等に、ユーザが入力フォームF50から指定した固有のアクセス権が設定されるように、アプリデータベースDB2を更新する。
【0093】
S7において、ユーザがアプリを移動させる操作をした場合(S7;アプリ移動)、ユーザ端末20は、サーバ10との間で、ダイアログD40を表示させるための処理を実行する(S12)。S12では、サーバ10は、アプリデータベースDB2を参照し、移動対象のアプリの配置場所等の情報を取得し、ダイアログD40のデータを生成する。ユーザ端末20は、ダイアログD40に対するユーザの操作に基づいて、サーバ10との間で、アプリを移動させるための処理を実行する(S13)。S13では、サーバ10は、ユーザがダイアログD40で指定した移動先に、移動対象のアプリが移動するように、アプリデータベースDB2を更新する。
【0094】
サーバ10は、S14で移動させたアプリに、移動先に応じたアクセス権を設定する(S14)。S14では、サーバ10は、移動先に応じたアプリグループが設定されるように、アプリデータベースDB2を更新する。先述したように、同じパブリックだったとしても、移動先が非公開グループであれば、非公開グループの参加者だけがアクセスできるような設定になる。
【0095】
S3において、ユーザがスペースを作成する操作をした場合(S3;スペース作成)、ユーザ端末20は、サーバ10との間で、新たなスペースを作成するための処理を実行する(S15)。スペースを作成する処理自体は、公知の処理を利用可能である。S3において、ユーザが表示領域A11内のスペースを選択する操作をした場合(S3;スペース選択)、ユーザ端末20は、サーバ10との間で、スペース画面SC2を表示させるための処理を実行する(S16)。S16では、サーバ10は、ユーザグループデータベースDB1を参照し、ユーザが指定したスペースに関する情報を取得し、スペース画面SC2のデータを生成する。
【0096】
ユーザ端末20は、スペース画面SC2に対するユーザの操作を受け付ける(S17)。スペース画面SC2からは任意の操作が可能であるが、ここでは、スペース内アプリを作成する操作、又は、スペース内アプリを選択する操作が行われるものとする。ユーザがスペース内アプリを作成する操作をした場合(S17;アプリ作成)、ユーザ端末20は、サーバ10との間で、アプリを作成するための処理を実行する(S18)。S18では、新たに作成されたアプリは、スペース内に配置される。S17において、ユーザがスペース内アプリを選択する操作をした場合(S17;アプリ選択)、S5の処理に移行し、アプリ画面SC3が表示される。
【0097】
本実施形態のアプリ移動システムSによれば、公開スペースと非公開スペースの間又はスペース内と外の間で移動したアプリに、このアプリの移動先に応じた権限を設定する。これにより、これらの間で移動したアプリに、移動先に応じた権限が自動的に設定されるので、手動で権限を設定するといったユーザの手間を軽減できる。更に、ユーザが手動で権限を設定する場合、設定ミスが生じて意図しない者に情報が公開される可能性があるが、移動先に応じた権限が設定されることにより、設定ミスによる情報公開を防止できる。その結果、機密情報等が漏洩するリスクを低減し、機密情報等のセキュリティ性が高まる。また、任意のスペースの間又はスペース外にアプリを移動できるようにすることで、アプリをコピーして新たに作成するといった手間が生じることもなくなる。
【0098】
また、アプリ移動システムSでは、アプリが移動しても、当該アプリに固有の権限の設定は維持される。これにより、アプリに固有の権限が勝手に書き換わってしまい、意図しない者に情報が公開されることを防止できる。その結果、機密情報等が漏洩したり、重要な情報が何者かによって書き換えられたりするといったことを防止できる。
【0099】
また、アプリ移動システムSは、アプリの移動先に応じた権限と、当該アプリに固有の権限と、の論理積に基づいて、当該アプリへのアクセスを制御する。これにより、個々のアプリに複雑な権限の設定をしなくても、これらの2つの権限を意識すればよいので、ユーザの手間を軽減できる。また、権限の論理積とすることで、情報が公開される範囲が狭まるので、意図しない者に情報が公開されるリスクを、より効果的に低減できる。
【0100】
また、アプリ移動システムSは、複数のアプリに共通する権限と、他の権限と、の論理積に基づいて、アプリへのアクセスを制御する。これにより、複数のアプリに共通する権限を一括して設定できるので、アプリに権限を設定するユーザの負担が軽減する。更に、他の権限も考慮してアプリへのアクセスを制御することによって、アプリのセキュリティ性も担保できる。
【0101】
また、アプリ移動システムSは、アプリの移動を指示するユーザがアプリ管理権限を有し、かつ、当該ユーザがアプリの移動先におけるアプリ作成権限を有するか否かを判定する。これにより、意図しない者によりアプリが移動されて情報が公開されることを防止できる。その結果、機密情報等が漏洩したり、重要な情報が何者かによって書き換えられたりするといったことを防止できる。
【0102】
また、アプリ移動システムSは、アプリの移動元がスペース内である場合には、当該アプリの移動を指示するユーザが当該スペースの管理権限を有しているか否かを判定する。これにより、意図しない者によりアプリが移動されて情報が公開されることを防止できる。特に、非公開スペースに配置されたアプリは、機密性が高いことが多いので、このような情報が漏洩したり、重要な情報が何者かによって書き換えられたりするといったことを防止できる。
【0103】
また、アプリ移動システムSは、ゲストスペースと他のスペースの間のアプリの移動を制限する。これにより、意図しない者にアプリが公開されることを防止したり、意図しない者によるアプリの持ち出しを防止したりできる。特に、ゲストスペースは、ユーザグループの部外者もアクセス可能なスペースなので、設定ミス等によって、このようなスペースに情報が公開されてしまうリスクを、より効果的に低減できる。
【0104】
また、アプリ移動システムSは、アプリを移動させる条件が満たされない場合に、アプリの移動を指示するユーザに、その理由を通知する。これにより、アプリを移動できない理由をユーザが把握しやすくなり、ユーザの利便性が高まる。
【0105】
また、アプリ移動システムSは、アプリを移動可能なスペースの検索結果の中から、アプリの移動を指示するユーザによる、移動先の指定を受け付ける。これにより、アプリを移動可能なスペースをユーザが把握しやすくなり、ユーザの利便性が高まる。
【0106】
また、アプリ移動システムSは、アプリの移動先がスペース内である場合に、当該アプリを、当該スペース内における検索の対象にする。これにより、アプリを移動した後に、移動先のスペース内で当該アプリの情報を検索できるので、移動先のスペースでより迅速に情報共有を行うことができる。
【0107】
[5.変形例]
なお、本開示は、以上に説明した実施の形態に限定されるものではない。本開示の趣旨を逸脱しない範囲で、適宜変更可能である。
【0108】
例えば、アプリ移動システムSは、スペースの種類に関係なく、複数のスペース間でアプリを移動可能であってもよい。この場合、移動部108は、複数のスペース間でアプリを移動させる。例えば、移動部108は、ある公開スペースから他の公開スペースにアプリを移動させる。この場合も、第1設定部102は、当該アプリに、移動先の公開スペースに応じたアクセス権を設定してもよい。変形例のアプリ移動システムSは、配置部101、第1設定部102、移動部108、第2設定部109、及びスペース内検索部112を有してもよい。これらの詳細は、実施形態で説明した通りである。
【0109】
変形例のアプリ移動システムSによれば、アプリの移動先がスペース内である場合に、当該アプリを、当該スペース内における検索の対象にする。これにより、アプリを移動した後に、移動先のスペース内で当該アプリの情報を検索できるので、移動先のスペースでより迅速に情報共有を行うことができる。
【0110】
例えば、実施形態では、アプリの移動元がゲストスペースである場合と、アプリの移動先がゲストスペースである場合と、におけるアプリの移動が禁止される場合を説明したが、これらの場合のアプリの移動が許可されてもよい。例えば、スペースの種類は、実施形態の例に限られず、任意の種類のスペースが存在してもよい。アプリの配置場所に応じた権限も任意の権限を設定可能であってよい。例えば、公開スペースごとに、独自の権限が設定されてもよいし、非公開スペースごとに、独自の権限が設定されてもよい。他にも例えば、ゲストスペースごとに、独自の権限が設定されてもよい。
【0111】
例えば、上記説明した各機能は、アプリ移動システムSにおける任意のコンピュータで実現されるようにすればよい。例えば、サーバ10で実現されるものとして説明した機能がユーザ端末20によって実現されてもよい。ユーザ端末20で実現されるものとして説明した機能がサーバ10によって実現されてもよい。各機能が複数のコンピュータで分担されてもよい。各機能は、1つのコンピュータによって実現されてもよい。
【符号の説明】
【0112】
S アプリ移動システム、N ネットワーク、10 サーバ、11,21 制御部、12,22 記憶部、13,23 通信部、20 ユーザ端末、24 操作部、25 表示部、100 データ記憶部、101 配置部、102 第1設定部、103 判定部、104 制限部、105 通知部、106 移動可能検索部、107 受付部、108 移動部、109 第2設定部、110 アクセス制御部、111 スペース内検索部、A10,A11,A20,A21 表示領域、D40 ダイアログ、DB1 ユーザグループデータベース、DB2 アプリデータベース、I30 アイコン、SC1 ポータル画面
SC2 スペース画面、SC3 アプリ画面、SC4 アプリ設定画面、SC4 アプリ設定画面、SC5 アクセス権設定画面。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
【手続補正書】
【提出日】2022-08-05
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
情報共有が可能なユーザグループのうちの少なくとも1人が参加するスペース内又は外に、アプリを配置する配置手段と、
前記アプリに、当該アプリの配置場所に応じた権限を設定する第1設定手段と、
公開スペースと非公開スペースの間又は前記スペース内と外の間で、前記アプリを移動させる移動手段と、
前記移動手段により移動した前記アプリに、当該アプリの移動先に応じた権限を設定する第2設定手段と、
を含むアプリ移動システム。
【請求項2】
前記第1設定手段は、前記アプリに、当該アプリに固有の権限を設定し、
前記移動手段により前記アプリが移動しても、当該アプリに固有の権限の設定は維持される、
請求項1に記載のアプリ移動システム。
【請求項3】
前記アプリ移動システムは、前記移動手段により移動した前記アプリの移動先に応じた権限と、当該アプリに固有の権限と、の論理積に基づいて、当該アプリへのアクセスを制御するアクセス制御手段を更に含む、
請求項2に記載のアプリ移動システム。
【請求項4】
前記アプリ移動システムは、
複数の前記アプリに共通する権限を設定可能な第3設定手段と、
前記第3設定手段により設定された権限と、他の権限と、の論理積に基づいて、前記第3設定手段により権限が設定されたアプリへのアクセスを制御するアクセス制御手段と、
を更に含む請求項1~3の何れかに記載のアプリ移動システム。
【請求項5】
前記アプリ移動システムは、前記アプリの移動を指示するユーザがアプリ管理権限を有し、かつ、当該ユーザが前記アプリの移動先におけるアプリ作成権限を有するか否かを判定する判定手段を更に含み、
前記移動手段は、前記判定手段の判定結果に基づいて、前記アプリを移動させる、
請求項1~4の何れかに記載のアプリ移動システム。
【請求項6】
前記判定手段は、前記アプリの移動元が前記スペース内である場合には、当該アプリの移動を指示するユーザが当該スペースの管理権限を有しているか否かを更に判定する、
請求項5に記載のアプリ移動システム。
【請求項7】
前記アプリ移動システムは、共有される情報が分離されるように設定された前記スペースに関する前記アプリの移動を制限する制限手段を更に含む、
請求項1~6の何れかに記載のアプリ移動システム。
【請求項8】
前記移動手段は、所定の条件が満たされた場合に、前記アプリを移動させ、
前記アプリ移動システムは、前記所定の条件が満たされない場合に、前記アプリの移動を指示するユーザに、前記所定の条件が満たされない理由を通知する通知手段を更に含む、
請求項1~7の何れかに記載のアプリ移動システム。
【請求項9】
前記移動手段は、所定の条件が満たされた場合に、前記アプリを移動させ、
前記アプリ移動システムは、
前記所定の条件に基づいて、前記アプリを移動可能な前記スペースを検索する移動可能検索手段と、
前記移動可能検索手段の検索結果の中から、前記アプリの移動を指示するユーザによる、前記移動先の指定を受け付ける受付手段と、
を更に含み、
前記移動手段は、前記ユーザにより指定された移動先に、前記アプリを移動させる、
請求項1~8の何れかに記載のアプリ移動システム。
【請求項10】
前記アプリ移動システムは、前記アプリの移動先が前記スペース内である場合に、当該アプリを、当該スペース内における検索の対象にするスペース内検索手段を更に含む、
請求項1~9の何れかに記載のアプリ移動システム。
【請求項11】
情報共有が可能なユーザグループのうちの少なくとも1人が参加するスペース内又は外に、アプリを配置する配置手段と、
前記アプリに、当該アプリの配置場所に応じた権限を設定する第1設定手段と、
複数の前記スペース間で前記アプリを移動させる移動手段と、
前記移動手段により移動した前記アプリに、当該アプリの移動先に応じた権限を設定する第2設定手段と、
前記アプリの移動先が前記スペース内である場合に、当該アプリを、当該スペース内における検索の対象にするスペース内検索手段と、
を含むアプリ移動システム。
【請求項12】
コンピュータが、
情報共有が可能なユーザグループのうちの少なくとも1人が参加するスペース内又は外に、アプリを配置する配置ステップと、
前記アプリに、当該アプリの配置場所に応じた権限を設定する第1設定ステップと、
公開スペースと非公開スペースの間又は前記スペース内と外の間で、前記アプリを移動させる移動ステップと、
前記移動手段により移動した前記アプリに、当該アプリの移動先に応じた権限を設定する第2設定ステップと、
実行するアプリ移動方法。
【請求項13】
コンピュータが、
情報共有が可能なユーザグループのうちの少なくとも1人が参加するスペース内又は外に、アプリを配置する配置ステップと、
前記アプリに、当該アプリの配置場所に応じた権限を設定する第1設定ステップと、
複数の前記スペース間で前記アプリを移動させる移動ステップと、
前記移動手段により移動した前記アプリに、当該アプリの移動先に応じた権限を設定する第2設定ステップと、
前記アプリの移動先が前記スペース内である場合に、当該アプリを、当該スペース内における検索の対象にするスペース内検索ステップと、
実行するアプリ移動方法。
【請求項14】
情報共有が可能なユーザグループのうちの少なくとも1人が参加するスペース内又は外に、アプリを配置する配置手段、
前記アプリに、当該アプリの配置場所に応じた権限を設定する第1設定手段、
公開スペースと非公開スペースの間又は前記スペース内と外の間で、前記アプリを移動させる移動手段、
前記移動手段により移動した前記アプリに、当該アプリの移動先に応じた権限を設定する第2設定手段、
としてコンピュータを機能させるためのプログラム。
【請求項15】
情報共有が可能なユーザグループのうちの少なくとも1人が参加するスペース内又は外に、アプリを配置する配置手段、
前記アプリに、当該アプリの配置場所に応じた権限を設定する第1設定手段、
複数の前記スペース間で前記アプリを移動させる移動手段、
前記移動手段により移動した前記アプリに、当該アプリの移動先に応じた権限を設定する第2設定手段、
前記アプリの移動先が前記スペース内である場合に、当該アプリを、当該スペース内における検索の対象にするスペース内検索手段、
としてコンピュータを機能させるためのプログラム。