以下に添付図面を参照して、情報処理システム、情報処理装置、出力制御方法、及びプログラムの実施の形態を詳細に説明する。ここでは、情報処理システム、情報処理装置、出力制御方法、及びプログラムをポータルサイトを公開するWebシステムに適用した例を示す。
(第1の実施の形態)
図1は、第1の実施の形態に係るWebシステムのネットワーク構成の一例を示す図である。図1に示すWeb(World Wide Web)システム100は、各種のアプリケーションD3などを集めたポータルサイトをWeb上に公開するサーバ装置1や、アプリケーションD3のお知らせ記事をサーバ装置1に投稿する投稿端末2や、ポータルサイトを閲覧する閲覧端末3などを有する。投稿端末2及び閲覧端末3はLAN(Local Area Network)や公衆回線やインターネットなどの通信ネットワーク4を介してサーバ装置1に接続し、投稿や閲覧などのサービスを利用する。
サーバ装置1は、情報処理装置である。サーバ装置1は、アプリケーションD3や投稿記事情報D1(お知らせ記事を含む情報)などを管理し、アプリケーションD3やお知らせ記事を閲覧端末3に提供する。サーバ装置1は、通信ネットワーク4上に設けた1台又は複数台の情報処理装置により構成する。複数台の場合、例えば各情報処理装置に機能を分散し、投稿端末2や閲覧端末3からの要求を各情報処理装置が連携して処理するクラウドコンピューティングの形態で実施する。なお、以下では、説明を理解しやすいようにサーバ装置1を1台の情報処理装置として説明する。
投稿端末2は、PC(Personal Computer)やスマートフォンなどの情報処理端末である。投稿端末2は、担当者により入力されたお知らせ記事(記事情報)とメタ情報(閲覧条件情報)とから投稿記事情報D1を生成し、その生成した投稿記事情報D1をサーバ装置1に投稿する。メタ情報は、詳しくは後に述べるが、お知らせ記事の閲覧対象者を制限するための情報である。
閲覧端末3は、ポータルサイトの閲覧客が操作するPCやスマートフォンなどの情報処理端末である。閲覧端末3は、サーバ装置1にアクセスし、ポータルサイトのアプリケーションD3を利用する。また閲覧端末3は、利用するアプリケーションD3についてお知らせ記事がある場合に、そのお知らせ記事を取得して表示する。
図2は、Webシステム100におけるお知らせ記事の投稿及び閲覧に係る主な要素の関係を示す図である。
図2に示すように、Webシステム100において、サーバ装置1は、記事管理手段1aと、記事出力制御手段1bと、契約アプリ情報管理手段1cと、アプリ利用条件管理手段1dとを有する。
記事管理手段1aは、投稿端末2からの送信により投稿された投稿記事情報D1をメモリM1に蓄積する手段を有する。また、記事管理手段1aは、記事出力制御手段1bから依頼があると、メモリM1に蓄積した投稿記事情報D1の内の所定条件に該当する投稿記事情報D1を記事出力制御手段1bに出力する手段(特定手段)を有する。ここで、投稿記事情報D1は、記事情報D11とメタ情報D12とを含む、何れかのアプリケーションD3(図1参照)についての情報であるものとする。
記事出力制御手段1bは、閲覧端末3から契約者情報D2を受け取る手段(取得手段)を有する。また、記事出力制御手段1bは、閲覧端末3に出力する記事情報D11を上記契約者情報D2に対応するものに制限する制御手段を有する。更に、記事出力制御手段1bは、記事情報D11を閲覧端末3に出力する出力手段を有する。契約者情報D2は、例えば、端末ID、ログイン時のユーザID若しくはテナントID、閲覧端末3のIPアドレスなど、契約者の個人又は団体を識別することができる情報である。
契約アプリ情報管理手段1cは、アプリケーションD3(図1参照)のアプリ識別情報D4とアプリケーションD3の利用契約が結ばれている契約者情報D2との対応関係を管理する。
アプリ利用条件管理手段1dは、契約者が契約したアプリケーションD3の識別情報(アプリ識別情報)D4と、そのアプリケーションD3の利用条件を示す情報(利用条件情報)D5との対応関係を管理する。
次に、図2に示すWebシステム100の記事情報の投稿及び閲覧に係る動作について説明する。先ず、投稿端末2から送信された投稿記事情報D1を記事管理手段1aがメモリM1に蓄積する(S1)。
続いて、閲覧端末3がポータルサイトへアクセスし、記事情報D11の要求を行うと、記事出力制御手段1bが閲覧端末3の契約者情報D2を取得する(S2)。
そして、続くステップS3〜ステップS7の処理において、記事出力制御手段1bは、閲覧端末3に出力する記事情報D11を閲覧端末3から取得した契約者情報D2に基づいて所定のものに制限する。
先ず、記事出力制御手段1bは、契約アプリ情報管理手段1cから、上記契約者情報D2に対応するアプリ識別情報D4を取得する(S3)。
続いて記事出力制御手段1bは、上記契約者情報D2と、ステップS3で取得したアプリ識別情報D4とに基づき、アプリ利用条件管理手段1dから、上記契約者情報D2に対応し且つ当該アプリ識別情報D4に対応する利用条件情報D5を取得する(S4)。
続いて記事出力制御手段1bは、記事管理手段1aに対し、ステップS3で取得したアプリ識別情報D4とステップS4で取得した利用条件情報D5とを出力し、投稿記事情報D1の出力を要求する(S5)。
記事管理手段1aは、記事出力制御手段1bからの上記出力の要求により、メモリM1に蓄積した投稿記事情報D1の中からメタ情報D12の設定が上記アプリ識別情報D4の設定と上記利用条件情報D5の設定とに対応するものを特定し、その特定した投稿記事情報D1を記事出力制御手段1bに出力する(S6)。
記事出力制御手段1bは、記事管理手段1aにより出力された投稿記事情報D1の記事情報D11をアクセス元の閲覧端末3が閲覧できるように出力する(S7)。
以上に示す構成において、「メモリM1」が、本発明に係る「記憶手段」を構成する。「取得手段」が、本発明に係る「取得手段」を構成する。「制御手段」と「契約アプリ情報管理手段1c」と「アプリ利用条件管理手段1d」と「特定手段」とが本発明に係る「特定手段」を構成する。「出力手段」が本発明に係る「出力手段」を構成する。また、「制御手段」が本発明に係る「第1の抽出手段」と「第2の抽出手段」とを構成する。「契約アプリ情報管理手段1c」が本発明に係る「第1の対応情報」を構成する。「アプリ利用条件管理手段1d」が本発明に係る「第2の対応情報」を構成する。「特定手段」が本発明に係る「契約記事特定手段」を構成する。更に、「契約者情報D2」が本発明に係る「所属情報」を構成する。これらの構成により、サーバ装置1は閲覧端末3に出力する記事情報をアクセス元に該当するものに制限する。
以下では、上記Webシステム100に構成される各装置のハードウエア構成と機能構成の一例を示す。なお、以下では上記契約者情報D2を「テナントID」として説明する。
(各装置のハードウエア構成)
図3は、サーバ装置1のハードウエア構成の一例を示すハードウエアブロック図である。図3に示すように、サーバ装置1は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、HDD(Hard Disk Drive)14、及び通信I/F15を有する。各部は、バス16などを介して接続されている。
CPU11は、サーバ装置1全体の制御を司る中央演算処理装置である。ROM12は、BIOS(Basic Input/Output System)やファームウェア等の固定プログラムを記憶する読み出し専用の不揮発性メモリである。RAM13は、CPU11がプログラム実行時の作業領域などとして利用する、情報の書き換え自在の揮発性メモリである。
HDD14は、制御プログラムやデータなどを記憶する外部記憶装置である。制御プログラムの記憶領域には、OS(Operating System)や、Webサーバプログラムや、データベース管理プログラムや、各種アプリケーションのプログラムや、各種アプリケーションの記事情報の投稿機能と閲覧機能とに係るプログラムなどが記憶されている。データ記憶領域には、Webページ画面等の画面情報や、データベースのデータファイル等が記憶されている。また、データ記憶領域の一部は、投稿記事情報D1(図2参照)を蓄積するメモリM1(図2参照)などとして割り当てられている。
通信I/F15は、通信ネットワーク4を介して外部機器と通信を行うNICである。
図4は、投稿端末2のハードウエア構成の一例として示すPCのハードウエアブロック図である。図4に示すように、投稿端末2は、CPU21、ROM22、RAM23、HDD24、I/O(Input/Output)25、LCD(Liquid Crystal Display)26、入力装置27、及び通信I/F28を有する。各部は、バス29などを介して接続されている。LCD26及び入力装置27は、I/O25を介して接続されている。
CPU21は、投稿端末2全体の制御を司る中央演算処理装置である。ROM22は、BIOS等の固定プログラムを記憶する読み出し専用の不揮発性メモリである。RAM23は、CPU21がプログラム実行時の作業領域などとして利用する、情報の書き換え自在の揮発性メモリである。
HDD24は、制御プログラムやデータなどを記憶する外部記憶装置である。制御プログラムの記憶領域には、OSや、汎用のWebブラウザなどのプログラムが記憶されている。
LCD26は、各種画面情報(Webページ等)を表示する液晶表示ディスプレイである。入力装置27は、キーボードやマウスなどの入力装置である。
通信I/F28は、通信ネットワーク4を介して外部機器と通信を行うNICである。
閲覧端末3は、投稿端末2と同様に、コンピュータ構成のハードウエアを有し、HDD等にOSや汎用のWebブラウザなどのプログラムがインストールされている。この構成の更なる説明は、投稿端末2のハードウエア構成の説明の繰り返しになるため、ここでは省略する。
(機能構成)
続いて、各装置の機能構成について説明する。
図5は、サーバ装置1、投稿端末2、及び閲覧端末3のそれぞれの主な機能構成の一例を示す機能ブロック図である。
サーバ装置1は、図3に示すハードウエア構成においてCPU11がROM12やHDD14の対応プログラムをRAM13に読み出して実行することにより、Webサーバ101や、記事管理部102や、記事出力制御部103や、画面情報生成部104などの機能を実現する。
Webサーバ101は、通信I/F15(図3参照)を制御して投稿端末2(又は閲覧端末3)とTCP/IP通信を行う。更に、Webサーバ101は、Webブラウザ204(又はWebブラウザ304)とHTTP(Hypertext Transfer Protocol)通信を行い、Webブラウザ204(又はWebブラウザ304)からGET命令があると所定の画面情報(入力生成画面やWebページなど)を要求元のWebブラウザ204(又はWebブラウザ304)に返し、POST命令があると記事管理部102や記事出力制御部103などに処理を依頼する。Webサーバ101は本発明に係る「送信手段」を構成する。
記事管理部102は、Webサーバ101が受信した投稿記事情報D1(図10参照)を保存するなどして管理し、記事出力制御部103などからの依頼により、保存した投稿記事情報D1を出力する。一例として、記事管理部102は、投稿記事情報D1を指定フォルダに保存し、記事出力制御部103から依頼があると、その指定フォルダから該当する投稿記事情報D1をマッチングなどを行って出力する。
記事出力制御部103は、Webサーバ101に接続されたWebブラウザ304に出力する記事情報D11(図10参照)を対応するものに制限する。具体的には、記事出力制御部103は、Webサーバ101により取得された閲覧端末3のテナントIDを検索対象とするSQL文を生成し、データベースDB(図6参照)からアプリ識別情報や利用条件情報などを抽出する。更に、記事出力制御部103は、その抽出結果に該当する投稿記事情報D1を記事管理部102から取得し、それらの投稿記事情報D1に含まれる記事情報D11を画面情報生成部104に出力する。
画面情報生成部104は、記事出力制御部103が出力する記事情報D11を含む画面情報(Webページ)を生成し、その生成した画面情報を記事出力制御部103に返す。
投稿端末2は、図4に示すハードウエア構成においてCPU21がROM22やHDD24のOSやWebブラウザなどのプログラムをRAM23に読み出して実行することにより、入力受付部201や、表示出力部202や、通信処理部203や、Webブラウザ204などの機能を実現する。
入力受付部201は、入力装置27(図4参照)からの入力信号をI/O25(図4参照)を介して受け付ける。表示出力部202は、CPU21(図4参照)が生成した表示情報をI/O25(図4参照)を介してLCD26(図4参照)へ出力する。通信処理部203は、通信I/F28(図4参照)を制御してサーバ装置1とTCP/IP通信を行う。Webブラウザ204はWebサーバ101とHTTP通信を行い、HTML(HyperText Markup Language)等のWebページの構文解析や、表示情報の描画等を行う。
閲覧端末3は、閲覧端末3においてCPUがROMやHDDのOSやWebブラウザなどをRAMに読み出して実行することにより、入力受付部301や、表示出力部302や、通信処理部303や、Webブラウザ304などの機能を実現する。表示出力部302と、通信処理部303と、Webブラウザ304とが、本発明に係る「表示手段」を構成する。なお、各部は、それぞれ、投稿端末2の入力受付部201、表示出力部202、通信処理部203、Webブラウザ204の説明の繰り返しになるため、これ以上の説明を省略する。
(テーブル構成)
図6は、サーバ装置1が有するデータベースのテーブル構成の一例を示す図である。図6に示すデータベースDBは、契約アプリ情報管理手段1c(図2参照)としての契約アプリ情報テーブルT1と、アプリ利用条件管理手段1d(図2参照)としてのアプリ利用条件テーブルT2とを有する。
具体的に、契約アプリ情報テーブルT1は、テナントID設定項目t11と可否情報設定項目t12とを有する。
テナントID設定項目t11のデータ部には、テナントIDを設定する。図6においては、テナントIDの一例として「001」、「002」、・・・を設定したものを示している。
可否情報設定項目t12は、ポータルサイトに登録されているアプリケーション毎に設けた設定項目で、各設定項目の項目名にアプリ識別情報が登録されている。各可否情報設定項目t12のデータ部には、該当するアプリケーションの契約可否を示す契約可否情報を設定する。図6に示す例では、上記アプリ識別情報として、アプリ名や識別コードを示す「アプリA」、「アプリB」、「アプリC」、「アプリD」、及び「アプリXYZ」の登録例を示している。また、上記契約可否情報として「可」を示す「TRUE」と「否」を示す「FALSE」の設定例を示している。
契約アプリ情報テーブルT1は、テナントID設定項目t11に設定されるテナントIDと、各可否情報設定項目t12に設定される契約可否情報とにより一レコードが構成される。
アプリ利用条件テーブルT2は、テナントID「001」のテーブル例を示したものである。アプリ利用条件テーブルT2は、アプリ識別情報設定項目t21と利用条件設定項目t22とを有する。
アプリ識別情報設定項目t21のデータ部にはアプリ識別情報を設定する。
利用条件設定項目t22は、利用条件毎に設けた設定項目で、各設定項目の項目名に利用条件項目の名称が登録されている。各利用条件設定項目t22のデータ部には利用条件情報を設定する。図6に示す例では、上記利用条件項目の名称として、「保守契約」や、「ライセンス期限」や、「有償・無償」などの登録例を示している。また、上記利用条件情報については利用条件項目毎に対応するデータを設定したものを示している。例えば「保守契約」は「有」を示す「TRUE」と「無」を示す「FALSE」を設定している。「ライセンス期限」は期限があるものについては期限の日付情報を設定し、期限がないものについては「なし」を設定している。「有償・無償」は「有償」又は「無償」を設定している。
アプリ利用条件テーブルT2は、アプリ識別情報設定項目t21に設定されるアプリ識別情報と、利用条件設定項目t22に設定される利用条件情報とにより一レコードが構成される。
なお、図示を省略しているが、テナントID「001」以外のテナントID「002」、「003」、・・・の各アプリ利用条件テーブルも同様の設定項目を有し、各テナントIDに対応するデータがそれぞれに設定されている。
契約アプリ情報テーブルT1やアプリ利用条件テーブルT2の各設定項目のデータは、ポータルサイトの利用者がアプリケーションの契約や契約内容の更新などを行った際に随時設定されるものとする。
(画面構成)
続いて、投稿端末2が投稿記事を投稿する投稿記事入力画面(入力生成画面)の画面構成について示す。
図7は、上記投稿記事入力画面の画面構成の一例を示す図である。図7に示す投稿記事入力画面G1は、投稿記事情報D1(図10参照)の記事情報D11(図10参照)を受け付けるための入力ボックスB1や、投稿記事情報D1のメタ情報D12(図10参照)を受け付けるためのメタ情報設定ボックスを有する。
上記メタ情報設定ボックスは、設定ボックスB2と、設定ボックスB3と、設定ボックスB4とを有する。
設定ボックスB2は、メタ情報D12(図10参照)の内の第1メタ情報D121(図10参照)を受け付けるためのメタ情報設定ボックスである。設定ボックスB2は、アプリ識別情報のリストをプルダウン表示して1つのアプリ識別情報を選択させる構成のものであり、矢印X1の先にプルダウン表示した場合の例を示している。設定ボックスB2は、リストL1からアプリ識別情報の1つを選択する選択操作を受け付け、それを第1メタ情報として受け付ける。図7に示す設定ボックスB2は、上記第1メタ情報としてリストL1の「アプリC」L10が受け付けられた状態を示したものである。
設定ボックスB3及び設定ボックスB4は、メタ情報D12(図10参照)の内の第2メタ情報D122(図10参照)を受け付けるためのメタ情報設定ボックスである。設定ボックスB3は、閲覧対象の制限項目のリストをプルダウン表示して1つの制限項目を選択させる構成のものであり、矢印X2の先にプルダウン表示した場合の例を示している。設定ボックスB3は、リストL2から制限項目の1つを選択する選択操作を受け付け、それを第2メタ情報として受け付ける。図7に示す設定ボックスB3は、上記制限項目として上記リストL2の「保守契約」L20が選択された状態を示したものである。
設定ボックスB4は、設定ボックスB3に設定された制限項目に付随する条件を選択可能に表示し、選択された1つを第2メタ情報D122(図10参照)の付加条件情報として設定する。図7に示す例では、設定ボックスB3に上記制限項目として「保守契約」が選択されている。このため、設定ボックスB4は、当該「保守契約」に付随する「有り」又は「無し」の条件を選択可能に表示し、この内の選択された1つ(図7に示す例では「有り」)を付加条件情報として設定する。
図7に示す設定例は、入力ボックスB1に入力された記事情報「アプリCをご利用の皆様へお知らせ・・・」の閲覧対象を、「アプリC」を契約し且つアプリCの保守契約を結んでいるユーザに限定する場合のものである。
図7に示す投稿記事入力画面G1は、更に、指示を受け付けるための操作ボタンとして、投稿ボタンb1や、一時保存ボタンb2や、削除ボタンb3などを有する。
投稿ボタンb1は、投稿記事情報D1の生成と、生成した投稿記事情報D1のサーバ装置1への送信を指示するための操作ボタンである。一時保存ボタンb2は、作成途中のデータをHDD24(図4参照)などに保存する指示を行うための操作ボタンである。削除ボタンb3は、作成途中のデータをクリアする指示を行うための操作ボタンである。
(全体シーケンス)
続いて、記事情報の投稿及び閲覧に係る全体動作について説明する。サーバ装置1は、投稿端末2(Webブラウザ204)や閲覧端末3(Webブラウザ304)などからのアクセスにより、Webサーバ101が各Webブラウザ204、304からの要求に応答する。Webサーバ101は、その要求がGET要求の場合、所定の応答画面情報を要求元へ送信し、POST要求の場合、記事管理部102や記事出力制御部103などに処理を依頼し、その処理結果を含む画面情報を要求元へ送信する。以下に示す全体シーケンスでは、全体の流れを理解しやすくするために、Webサーバ101の図示を省略して説明する。
図8は、記事情報の投稿及び閲覧に係る全体動作のシーケンス図である。図8において、ステップS11〜ステップS13までが記事情報の投稿処理のシーケンスを示し、ステップS14〜ステップS20までが閲覧処理のシーケンスを示している。
先ず、投稿端末2(Webブラウザ204)がサーバ装置1から投稿記事入力画面G1(図7参照)を取得するなどして投稿記事情報の生成処理を行う(S11)。
続いて投稿端末2(Webブラウザ204)は、投稿記事情報の保存を要求する要求情報をサーバ装置1に送信する(S12)。
サーバ装置1では、記事管理部102が、投稿端末2(Webブラウザ204)から送信された上記要求情報に含まれる投稿記事情報を指定フォルダに保存する(S13)。
その後、閲覧端末3(Webブラウザ304)が、サーバ装置1のポータルサイトにアクセスし、閲覧を要求する要求情報をサーバ装置1に送信する(S14)。閲覧端末3(Webブラウザ304)は、この手続きの際に、サーバ装置1にテナントIDを送信する。
サーバ装置1は、閲覧端末3(Webブラウザ304)から送信されたテナントIDに対応する記事情報を、記事出力制御部103により次のように取得する。
先ず、記事出力制御部103は、契約アプリ情報テーブルT1にアクセスし、当該テナントIDが契約している契約アプリのアプリ識別情報を取得する(S15)。例えば、テナントID「001」の場合、記事出力制御部103は、契約アプリ情報テーブルT1(図6参照)のテナントID設定項目t11が「001」の対応レコードから、可否情報設定項目t12の設定値が「TRUE」の、可否情報設定項目t12の項目名(つまりアプリ識別情報)を取得する。
更に、記事出力制御部103は、アプリ利用条件テーブルT2にアクセスし、上記テナントIDとステップS15で取得した上記アプリ識別情報とに基づいて各契約アプリの利用条件情報を取得する(S16)。例えばテナントIDが「001」で、ステップS15で取得したアプリ識別情報が「アプリA」と「アプリC」であったとする。その場合、記事出力制御部103は、テナントID「001」のアプリ利用条件テーブルT2(図6参照)のアプリ識別情報設定項目t21が「アプリA」と「アプリC」のそれぞれの対応レコードから、各利用条件設定項目t22の利用条件項目の名称と利用条件情報とを取得する。
続いて、記事出力制御部103は、記事管理部102に対し、ステップS15で取得したアプリ識別情報とステップS16で取得した利用条件情報(利用条件項目の名称を含む)とをペアにして出力し、ペア情報により特定される記事情報の出力を依頼する(S17)。例えばテナントIDが「001」で、ステップS15で取得したアプリ識別情報が「アプリA」と「アプリC」であったとする。その場合、アプリ利用条件テーブルT2(図6参照)の設定例に従うと、アプリ識別情報(「アプリA」)と利用条件情報(「保守契約:TRUE」、「ライセンス期限:なし」、「有償・無償:無償」)がペアとなる。もう一つのペアは、アプリ識別情報(「アプリC」)と利用条件情報(「保守契約:FALSE」、「ライセンス期限:なし」、「有償・無償:無償」)となる。
この依頼により、記事管理部102は、指定フォルダ内の複数の投稿記事情報の中から投稿記事情報の特定処理を行う(S18)。
そして、記事管理部102は、特定処理により特定した投稿記事情報を記事出力制御部103に出力する(S19)。
記事出力制御部103は投稿記事情報を受け取ると、その記事本体(記事情報)を画面情報生成部104において画面情報に含め、その画面情報をサーバ装置1が要求元の閲覧端末3(Webブラウザ304)に送信する(S20)。
次に、各装置において行われる各種処理の処理フローについて説明する。
先ず、図4に示すハードウエア構成の投稿端末2が実行する投稿記事情報生成処理フローについて説明する。続いて、投稿記事情報特定処理フロー、閲覧処理フローの順に説明する。
(投稿端末2における投稿記事情報生成処理フロー)
図9は、投稿端末2のCPU21が実行する投稿記事情報生成処理フローの一例を示す図である。先ず、投稿端末2のCPU21(Webブラウザ204、通信処理部203)は、投稿記事入力画面G1(図7参照)をサーバ装置1のWebサーバ101に要求し、Webサーバ101から投稿記事入力画面G1を受け取る(S31)。
続いて、CPU21(Webブラウザ204)は、受け取った投稿記事入力画面G1をLCD26に表示する(S32)。具体的に、Webブラウザ204は投稿記事入力画面G1の表示を表示出力部202に指示し、表示出力部202が投稿記事入力画面G1をLCD26に表示させる。
続いて、CPU21(Webブラウザ204)は、投稿記事入力画面G1の入力ボックスや設定ボックス等の入力を受け付ける(S33)。具体的に、CPU21(Webブラウザ204)は、入力ボックスB1(図7参照)における記事情報(テキスト等)の入力や、設定ボックスB2(図7参照)における第1メタ情報の設定や、設定ボックスB3(図7参照)と設定ボックスB4(図7参照)とにおける第2メタ情報の設定などを、入力受付部201を介して受け付ける。CPU21(Webブラウザ204)は、受け付けたデータをRAM23に保存する。
続いて、CPU21(Webブラウザ204)は、投稿記事入力画面G1の操作ボタンの操作を受け付ける。操作ボタンの内の投稿ボタンb1(図7参照)の操作があると、投稿記事情報D1(図10参照)を生成する(S34)。具体的に、CPU21(Webブラウザ204)は、入力ボックスB1で受け付けた記事情報に記事情報タグJ1(図10参照)を付加する。また、設定ボックスB2に設定された第1メタ情報(本例ではアプリ識別情報)に第1タグJ2(図10参照)を付加する。更に、設定ボックスB3及び設定ボックスB4に設定された第2メタ情報(制限項目とその付加条件情報)に第2タグJ3(図10参照)を付加する。
そして、CPU21(Webブラウザ204、通信処理部203)は、ステップS34で生成した投稿記事情報D1をサーバ装置1のWebサーバ101に送信する(S35)。
(投稿記事情報)
図10は、投稿記事入力画面G1(図7参照)のテキスト入力及び選択入力により生成された投稿記事情報の記事情報とメタ情報の一例を示す図である。図10に示す投稿記事情報D1は、XML(Extensible Markup Language)ファイルやHTMLファイルなどの同一ファイル内に記事情報D11とメタ情報D12とを含む。記事情報D11は、投稿記事入力画面G1の入力ボックスB1に入力された記事情報であり、記事情報を識別する識別子として記事情報タグJ1が付加されている。メタ情報D12は、本例では、第1メタ情報D121と第2メタ情報D122とを有する。第1メタ情報D121は、投稿記事入力画面G1の設定ボックスB2に設定された情報(本例ではアプリ識別情報)であり、第1メタ情報であることを識別する識別子として第1タグJ2が付加されている。第2メタ情報は、設定ボックスB3と設定ボックスB4とに設定された情報(本例では制限項目とその付加条件情報からなる「アプリの利用条件の設定情報」)であり、第2メタ情報であることを識別する識別子として第2タグJ3が付加されている。
(サーバ装置1における記事情報の投稿及び閲覧に係る処理フロー)
続いて、図3に示すハードウエア構成のサーバ装置1が実行する記事情報の投稿及び閲覧に係る処理フローについて説明する。
図11は、サーバ装置1のCPU11が実行する記事情報の投稿及び閲覧に係るプログラムの処理フローの一例を示す図である。処理の主体となる機能部については図5を参照する。
先ず、CPU11(Webサーバ101)は通信I/F15の受信データから要求情報を取り出し、要求情報に含まれる要求を読み取る(S41)。
続いて、CPU11(Webサーバ101)は、上記要求が投稿記事入力画面G1の取得を要求するものであるかを判定する(S42)。
上記要求が投稿記事入力画面G1の取得を要求するものである場合(ステップS42:Yes判定)、CPU11(Webサーバ101)は、要求元に投稿記事入力画面G1を送信する(S43)。
そして、ステップS43の処理後、CPU11(Webサーバ101)はステップS41の処理に戻り、次の要求情報を受け付ける。
一方、上記要求が投稿記事入力画面G1の取得を要求するものでない場合(ステップS42:No判定)、CPU11(Webサーバ101)は、上記要求が保存を示すものであるかを判定する(S52)。
上記要求が保存を示すものである場合(ステップS52:Yes判定)、CPU11(記事管理部102)は、要求情報に含まれる投稿記事情報を指定フォルダに保存する(S53)。具体的には、Webサーバ101が記事管理部102に依頼し、記事管理部102が要求情報に含まれる投稿記事情報を指定フォルダに保存する。
そして、ステップS53の処理後、CPU11(Webサーバ101)はステップS41の処理に戻り、次の要求情報を受け付ける。
一方、ステップS52において上記要求が保存を示すものでない場合(ステップS52:No判定)、CPU11(Webサーバ101)は、上記要求が閲覧要求であるかを判定する(S61)。
上記要求が閲覧要求でない場合(ステップS61:No判定)、CPU11(Webサーバ101)は、上記要求に対応する別処理を行うなどしてステップS41に戻る。
上記要求が閲覧要求である場合(ステップS61:Yes判定)、CPU11(Webサーバ101)は閲覧端末3から送信されたテナントIDを取得する(S62)。続く処理は、Webサーバ101からの依頼により記事出力制御部103が行う。
先ず、CPU11(記事出力制御部103)は、ステップS62で取得したテナントIDを使用してSQL文を生成する(S63)。例えばテナントIDが「001」の場合、次に示す抽出条件のSQL文を生成する。
先ず、契約アプリ情報テーブルT1(図6参照)を対象に、テナントID設定項目t11が「001」の対応レコードから、可否情報設定項目t12の設定値が「TRUE」の、可否情報設定項目t12の項目名(つまりアプリ識別情報)を全て抽出する。次に、テナントID「001」のアプリ利用条件テーブルT2(図6参照)を対象に、先に抽出したアプリ識別情報毎に各利用条件設定項目t22の利用条件項目の名称と利用条件情報とを全て抽出する。
ステップS63に続き、CPU11(記事出力制御部103)は、ステップS63で生成したSQL文に基づいて、アプリ識別情報抽出処理を行い(S64)、続いて利用条件情報抽出処理を行う(S65)。具体的に、記事出力制御部103は上記SQL文によりデータベースDBにアクセスし、先ず契約アプリ情報テーブルT1を対象にアプリ識別情報抽出処理を行い、その処理結果を使用して、アプリ利用条件テーブルT2を対象に利用条件情報抽出処理を行う。
ここで、上記アプリ識別情報抽出処理と上記利用条件情報抽出処理について、テナントIDが「001」の場合を例にとり、図6に示すテーブル構成例を参照しながら説明する。
先ずアプリ識別情報抽出処理において、記事出力制御部103は、契約アプリ情報テーブルT1のテナントID設定項目t11が「001」の対応レコードから、可否情報設定項目t12の設定値が「TRUE」の、可否情報設定項目t12の項目名(つまりアプリ識別情報)を全て抽出する。図6に示す例では、可否情報設定項目t12の項目名が「アプリA」と、「アプリB」と、「アプリC」と、「アプリD」と、「アプリXYZ」のそれぞれの設定値が「TRUE」に設定されている。従って、上記アプリ識別情報抽出処理により、アプリ識別情報として上記「アプリA」と、上記「アプリB」と、上記「アプリC」と、上記「アプリD」と、上記「アプリXYZ」とが抽出される。
続いて、利用条件情報抽出処理において、テナントID「001」のアプリ利用条件テーブルT2から、上記アプリ識別情報抽出処理により抽出した各アプリ識別情報の、各利用条件設定項目t22の利用条件項目の名称と利用条件情報とを、アプリ識別情報毎に抽出する。例えばアプリAであれば、利用条件項目の名称と利用条件情報として「保守契約:TRUE」、「ライセンス期限:なし」、「有償・無償:無償」を抽出する。その他の「アプリB」や、「アプリC」や、「アプリD」や、「アプリXYZ」についても、同様に、利用条件項目の名称と利用条件情報とを抽出する。
これにより、アプリ識別情報と利用条件情報(利用条件項目の名称と利用条件情報)とよりなるペア情報を得る。因みに「アプリA」についてのペア情報は、アプリ識別情報(「アプリA」)と利用条件情報(「保守契約:TRUE」、「ライセンス期限:なし」、「有償・無償:無償」)となる。「アプリC」についてのペア情報は、アプリ識別情報(「アプリC」)と利用条件情報(「保守契約:FALSE」、「ライセンス期限:なし」、「有償・無償:無償」)となる。
ここで、図11の続きを説明する。ステップS65に続き、CPU11(記事出力制御部103)は、投稿記事情報特定処理を行う(S66)。具体的には、記事出力制御部103からの依頼により、記事管理部102が投稿記事情報特定処理を行う。当該投稿記事情報特定処理では、指定フォルダに蓄積されている投稿記事情報D1(図10参照)から、ステップS65で得られたペア情報の設定に対応するものを特定する。例えば、記事管理部102は、指定フォルダ内の投稿記事情報D1(図10参照)のメタ情報D12と上記ペア情報とを比較し、メタ情報D12の設定が上記ペア情報において指定されている設定に対応する投稿記事情報を特定し、その投稿記事情報を閲覧対象として記事出力制御部103に出力する。ステップS66の具体的な処理フローの例については後述する。
続いて、CPU11(記事出力制御部103)は、記事管理部102から出力された投稿記事情報の記事情報を含む画面情報を生成する(S67)。具体的には、記事出力制御部103が画面情報生成部104に上記記事情報を出力し、画面情報生成部104が当該記事情報を含むポータルサイトの画面情報を生成する。記事情報が無い場合、画面情報生成部104は、その旨を示す情報を含めるなどしてポータルサイトの画面情報を生成する。画面情報が生成されると、記事出力制御部103はWebサーバ101にその処理結果を返す。
続いて、CPU11(Webサーバ101)は、ステップS67で生成した画面情報を要求元の閲覧端末3(Webブラウザ304)に送信する(S68)。
そして、ステップS68の処理後、CPU11(Webサーバ101)はステップS41の処理に戻り、次の要求情報を受け付ける。
(投稿記事情報特定処理フロー)
図12は、図11のステップS66に示す投稿記事情報特定処理の一例を示すフロー図である。先ず、記事管理部102は、指定フォルダに投稿記事情報D1があるかを判定する(S71)。
指定フォルダに投稿記事情報D1がある場合(ステップS71:Yes判定)、記事管理部102は、指定フォルダから投稿記事情報D1を一つ取得する(S72)。
続いて、記事管理部102は、ステップS72で取得した投稿記事情報D1に含まれるメタ情報D12の第1メタ情報D121とステップS65で得たペア情報のアプリ識別情報とを比較する(S73)。
そして、記事管理部102は、上記第1メタ情報D121が上記ペア情報のアプリ識別情報とマッチするかを判定する(S74)。具体的には、第1メタ情報D121が示すアプリ識別情報と上記ペア情報のアプリ識別情報とが同じものを差す場合にマッチすると判定する。
記事管理部102は、アプリ識別情報がマッチすると判定した場合(ステップS74:Yes判定)、更に、上記メタ情報D12の第2メタ情報D122の設定と、アプリ識別情報がマッチしたペア情報の利用条件情報(利用条件項目の名称を含む)の設定とを比較する(S75)。
そして、記事管理部102は、上記第2メタ情報D122の設定が上記利用条件情報の設定にマッチしているかを判定する(S76)。具体的には、第2メタ情報D122が示す「制限情報」と上記ペア情報が示す「利用条件項目の名称」とを比較し、上記「制限情報」にマッチする「利用条件項目の名称」があるかを判定する。そして、マッチするものがある場合に、上記「制限情報」の「付加条件情報」と、マッチした「利用条件項目の名称」の「利用条件情報」とを比較し、それらがマッチしているかを判定する。例えばこのサイクルにおいて指定フォルダから取得した投稿記事情報D1の上記「制限情報(付加条件情報)」の設定が「保守契約(あり)」で、上記「利用条件項目名」が「保守契約」の上記「利用条件情報」の設定が「TRUE」であったとする。この場合、「TRUE」は「あり」に相当し、互いの設定が同じであることを示すため、マッチすると判定する。一方、「保守契約」の上記「利用条件情報」の設定が「FALSE」であった場合には、マッチしないと判定する。
記事管理部102は、利用条件情報がマッチしていると判定した場合(ステップS76:Yes判定)、当該投稿記事情報を要求元の閲覧対象の記事であると特定し、そのコピーをRAM13に保存する(S77)。
ステップS77の処理後、記事管理部102は、ステップS71に戻り、未処理の投稿記事情報D1について同様の処理を繰り返す。ステップS74がNo判定の場合や、ステップS76がNo判定の場合にも、記事管理部102は、ステップS71に戻り、未処理の投稿記事情報D1について同様の処理を繰り返す。ここで、他の1つの投稿記事情報D1において、第2メタ情報D122の「制限情報(付加条件情報)」の設定が「有償・無償(無償)」であったとし、上記ペア情報の上記利用条件情報に指定されている「有償・無償」の設定の「無償」にマッチしたとする。その場合、当該投稿記事情報も要求元の閲覧対象の記事であるとして特定されることになる。
そして、ステップS71がNo判定になると、RAM13に保存した投稿記事情報の全てを記事出力制御部103に出力する(S78)。
(閲覧端末3における記事情報の閲覧処理フロー)
図13は、閲覧端末3の記事情報の閲覧処理の一例を示すフロー図である。先ず、閲覧端末3のCPU(Webブラウザ304)がサーバ装置1(Webサーバ101)にアクセスし、ポータルサイトの閲覧を要求する(S81)。閲覧端末3のCPU(Webブラウザ304)は、その閲覧要求の手続きの際に、サーバ装置1(Webサーバ101)にテナントIDを送信する。
続いて、CPU(Webブラウザ304)は、サーバ装置1(Webサーバ101)から送信されるポータルサイトの画面情報(記事情報含む)をLCDに表示する(S82)。
図14は、サーバ装置1が閲覧端末3に送信するポータルサイトの画面情報の記事情報表示欄の表示例を示す図である。図14に示す記事情報表示欄G2には、サーバ装置1が出力を制限した、アクセス元に該当する記事情報D11−1のみが表示される。
(変形例1)
第1の実施の形態の変形例1として、第2メタ情報D122(図10参照)に複数の制限項目を設けた場合のものについて示す。以下、第1の実施の形態と異なる箇所について説明する。
図15は、変形例1の投稿記事入力画面の画面構成の一例を示す図である。図15に示す投稿記事入力画面G11は、第1の実施の形態に係る投稿記事入力画面G1(図7参照)に更に条件追加ボタンB5を設けたものである。
条件追加ボタンB5は、第2メタ情報の制限項目の追加を指示するための操作ボタンである。条件追加ボタンB5の操作の度に、投稿記事入力画面G11に制限項目の設定ボックスB3(図7参照)が1つ追加される。
図15は、制限項目の設定ボックスB3を1つ追加した状態を示したものである。設定ボックスB3−1が設定ボックスB3(図7参照)に対応し、設定ボックスB3−2が新たに追加した設定ボックスに対応する。また、設定ボックスB4―1が設定ボックスB4(図7参照)に対応し、設定ボックスB4−2が設定ボックスB3−2の付加条件情報を設定する設定ボックスに対応する。
図15に示す追加の設定ボックスB3−2は、制限項目を示すリスト(図7に示すリストL2に対応するもの)において「有償・無償」が受け付けられたときの状態を示している。また、設定ボックスB4―2は、設定ボックスB3−2の「有償・無償」の設定に基く「無償」又は「有償」の選択条件の表示後の、その内の選択された1つ(図15に示す例では「無償」)が付加条件情報として設定されたときの状態を示している。
図16は、投稿端末2において投稿記事入力画面G11(図15参照)のテキスト入力及び選択入力により生成される投稿記事情報の記事情報とメタ情報の一例を示す図である。図16に示す投稿記事情報D1は、2つの第2メタ情報(第2メタ情報122−1、第2メタ情報122−2)を有する。第2メタ情報122−1は、設定ボックスB3−1(図15参照)と設定ボックスB4−1(図15参照)とに設定された情報の組合せである。図16には、第2メタ情報122−1の一例として図15に示す「保守契約」と「有り」との組合せを示している。図16に示すように第2メタ情報122−1にはそれを示す識別子として第2タグJ3−1が付加される。第2メタ情報122−2は、設定ボックスB3−2(図15参照)と設定ボックスB4−2(図15参照)とに設定された情報の組合せである。図16には、第2メタ情報122−2の一例として図15に示す「有償・無償」と「無償」との組合せを示している。図16に示すように第2メタ情報122−2にはそれを示す識別子として第2タグJ3−2が付加される。それ以外については、第1の実施の形態に係る投稿記事情報D1(図10参照)のデータ構成と同様である。従って、ここにおいてはこれ以上の説明を省略する。
次に、第2メタ情報D122(図10参照)に複数の制限項目を設けた場合のサーバ装置1による投稿記事情報特定処理について説明する。サーバ装置1は、図11に示す投稿記事情報特定処理において次の変形処理を行う。サーバ装置1は、ステップS62で取得した1つの投稿記事情報に付加されている第2メタ情報の各設定がペア情報において全て指定されているものを特定する。具体的に、サーバ装置1では、図12の投稿記事情報特定処理フローのステップS75とステップS76において次のように処理する。
記事管理部102は、ステップS75において第2メタ情報D122−1の設定と、アプリ識別情報がマッチしたペア情報の利用条件情報(利用条件項目の名称を含む)の設定とを比較する。更に、第2メタ情報D122−2の設定と、アプリ識別情報がマッチしたペア情報の利用条件情報(利用条件項目の名称を含む)の設定とを比較する。
そして、記事管理部102は、ステップS76において上記第2メタ情報D122−1と上記第2メタ情報D122−2の設定が上記利用条件情報の設定にマッチしているかを判定する。具体的には、第2メタ情報D122−1が示す「制限情報」と上記ペア情報が示す「利用条件項目の名称」とを比較し、上記「制限情報」にマッチする「利用条件項目の名称」があるかを判定する。また、第2メタ情報D122−2が示す「有効・無効」と上記ペア情報が示す「利用条件項目の名称」とを比較し、上記「有効・無効」にマッチする「利用条件項目の名称」があるかを判定する。
そして、マッチした場合に、各「制限情報」の「付加条件情報」と、それぞれのマッチした「利用条件項目の名称」の「利用条件情報」とを比較し、何れの設定もマッチしているかを判定する。例えば図16に示す投稿記事情報D1を比較判定の対象とすると、上記ペア情報に、第2メタ情報122−1の設定と同様に「保守契約」が「あり」に設定され、更に第2メタ情報122−2の設定と同様に「有償・無償」が「無償」に設定されている場合に、マッチすると判定する。上記ペア情報の設定に第2メタ情報の設定が1つでも含まれていなければマッチしないと判定する。
以上の変形により、第2メタ情報として複数の制限項目を設けた投稿記事情報を含ませることもできる。
以上により、投稿記事情報に第2メタ情報として複数の制限項目を含ませることにより、それらの全てに該当する閲覧対象者に限り当該投稿記事情報の記事を閲覧させることが可能になる。
(変形例2)
第1の実施の形態の変形例2として、投稿記事情報に閲覧対象機器の種類を示す属性を示す情報を設ける場合について示す。以下、第1の実施の形態と異なる箇所について説明する。
(画面構成)
図17は、変形例2に係る投稿記事入力画面の画面構成の一例を示す図である。図17に示す投稿記事入力画面G21は、第1の実施の形態に係る投稿記事入力画面G1(図7参照)に制限項目として「複合機」や「デバイス」などの閲覧対象機器の種類を示す属性を示す情報(以下、機器情報とする)を設けたものである。
設定ボックスB3は、第1の実施の形態に示す設定ボックスB3(図7参照)に対応し、閲覧対象の制限項目のリストをプルダウン表示して1つの制限項目を選択させる構成の第2メタ情報設定ボックスである。変形例2では第2メタ情報として上記閲覧対象機器を受け付ける。矢印X3の先にプルダウン表示した場合の例を示すようにリストL3に制限項目として「閲覧対象機器」を含めている。設定ボックスB3は、リストL3から制限項目の1つを選択する選択操作を受け付け、それを第2メタ情報として受け付ける。図17に示す設定ボックスB3は、上記制限項目として上記リストL3の「閲覧対象機器」L30が選択されたときの状態を示している。
設定ボックスB4は、第1の実施の形態に示す設定ボックスB4(図7参照)に対応し、設定ボックスB3に設定された制限項目に付随する条件を選択可能に表示し、選択された1つを第2メタ情報の付加条件情報として設定する。図17に示す例では、設定ボックスB3に上記制限項目として「閲覧対象機器」が選択されている。このため、設定ボックスB4は、当該「閲覧対象機器」に付随する「複合機」や「デバイス」などの機器情報を選択可能に表示し、この内の選択された1つ(図17に示す例では「複合機」)を付加条件情報として設定する。
(投稿記事情報)
続いて、投稿記事入力画面G21(図17参照)を介して生成される投稿記事情報のデータ構成について説明する。
図18は、投稿記事入力画面G21(図17参照)のテキスト入力及び選択入力により生成された投稿記事情報の記事情報とメタ情報の一例を示す図である。設定ボックスB3(図17参照)と設定ボックスB4(図17参照)とに設定された閲覧対象機器と機器情報(本例では「複合機」)は、投稿記事情報D1において第2タグJ3が付加され、第2メタ情報D122として設定される。
(テーブル構成)
図19は、変形例2に係るテーブル構成の一例を示す図である。変形例2に係るテーブル構成は、第1の実施の形態に示すテーブル構成のアプリ利用条件テーブル(例えばアプリ利用条件テーブルT2(図6参照))に対し、利用条件設定項目t22の1つとして更に「閲覧対象機器」の項目を登録したものである。「閲覧対象機器」の項目のデータ部には、機器情報(「複合機」や「デバイス」など)が設定される。
以上の変形により、第2メタ情報に機器情報を含ませることにより当該投稿記事情報の記事の閲覧対象機器を限定することが可能になる。閲覧者は、閲覧機器が複合機か他のデバイスであるかにより、その機器に向けた記事を閲覧することが可能になる。
(変形例3)
第1の実施の形態の変形例3として、投稿記事情報に有効期限情報を更に設けたものについて示す。以下、第1の実施の形態と異なる箇所について説明する。
図20は、変形例3のWebシステム200におけるお知らせ記事の投稿及び閲覧に係る主な要素の関係を示す図である。図20は、第1の実施の形態のWebシステム100(図2参照)において、投稿記事情報D1のメタ情報D12に有効期限を示す日時などの情報(有効期限情報)D120を追加し、更に、記事管理手段1aに投稿記事情報の有効期限を判定する有効期限判定手段10aを追加したものである。「有効期限判定手段10a」と「記事管理部102」とが本発明に係る「除外手段」を構成する。上記有効期限を判定するタイミングは、例えば投稿端末2からの投稿記事情報D1の受付時や、記事出力制御手段1bからの投稿記事情報D1の出力の依頼時や、定期的なタイミングや、それぞれを任意に組合せたものなど、適宜設定して良い。本例では、投稿記事情報D1の受付時と、投稿記事情報D1の出力の依頼時とに行う場合について示す。
有効期限判定手段10aは、サーバ装置1の機能ブロック図(図5参照)に示す記事管理部102が備える。記事管理部102は、変形例3では、第1の実施の形態に示す機能に加え、有効期限を判定する機能を有する。なお、有効期限の判定はサーバ装置1が計時する日時と比較するなどして行うものとする。
具体的には、記事管理部102は、投稿記事情報D1(図23参照)の保存前に投稿記事情報D1の有効期限情報D120(図23参照)を読み取り、投稿記事情報D1が有効期限を経過したもの(有効期限切れ)でないかを判定する。そして、記事管理部102は、投稿記事情報D1が有効期限を経過したものである場合、投稿元の投稿端末2に有効期限エラーを通知し、当該投稿記事情報D1の保存を行わない。
また、記事管理部102は、記事出力制御部103(図5参照)から投稿記事情報D1の出力依頼があると、保存した投稿記事情報D1の有効期限を判定して有効期限内の投稿記事情報D1を出力する。記事管理部102は、投稿記事情報D1が有効期限を経過している場合に、その投稿記事情報D1について削除処理や指定外のフォルダへの移動処理などを行う。
図21は、変形例3に係る投稿記事入力画面の画面構成の一例を示す図である。図21に示す投稿記事入力画面G31は、第1の実施の形態に係る投稿記事入力画面G1(図7参照)において、有効期限設定ボックスB6を更に追加したものである。
有効期限設定ボックスB6は、日付カレンダーを表示し、そこで日付を有効期限情報として選択させる構成のものであり、矢印X4の先にカレンダー表示した場合の例を示している。有効期限設定ボックスB6は、カレンダーL4から日付を選択する選択操作を受け付け、それを有効期限を示す第3メタ情報として受け付ける。図21に示す投稿記事入力画面G31の有効期限設定ボックスB6は、上記第3メタ情報としてリストL4の「2016年8月31日」L40が受け付けられたときの状態を示している。
図22は、変形例3に係る、記事情報の投稿及び閲覧に係る全体動作のシーケンス図である。ここでは、第1の実施の形態に係る全体動作のシーケンス図(図8参照)とは異なるステップS13−1、ステップS13−2、ステップS13−3、及びステップS18−1の動作について説明する。
ステップS13−1では、記事管理部102が、投稿端末2(Webブラウザ204)から送信された投稿記事情報D1(図23参照)の有効期限情報D120を読み取る。そして、その有効期限情報D120が有効期限外を示す場合、ステップS13−2で、記事管理部102は、有効期限エラーを示す情報を送信元の投稿端末2に送信する。
一方、有効期限情報D120が有効期限内を示す場合は、ステップS13−3で、記事管理部102は、その投稿記事情報D1を指定フォルダに保存する。
また、ステップS18−1では、記事管理部102は、ステップS18において特定した投稿記事情報D1が有効期限内のものであるかを有効期限情報D120から判定する。そして、ステップS19で、記事管理部102は、ステップS18−1で有効期限内のものと判定した投稿記事情報D1のみを記事出力制御部103に出力する。なお、記事管理部102は、投稿記事情報D1が有効期限を経過している場合、その投稿記事情報D1について削除処理や指定外のフォルダへの移動処理などを行う。
続いて、投稿端末2における投稿記事情報生成処理について説明する。変形例3に係る投稿記事情報生成処理フローは第1の実施の形態に係る投稿記事情報生成処理フロー(図9参照)と比較してステップS33と、ステップS34と、ステップS35の後処理とが異なる。
ステップS33では、CPU21(Webブラウザ204)は、更に有効期限設定ボックスB6(図21参照)の入力を受け付ける。
ステップS34では、CPU21(Webブラウザ204)は、更に、有効期限設定ボックスB6に設定された有効期限情報に第3タグJ4(図23参照)を付加する。
ステップS35の処理後、CPU21(Webブラウザ204、通信処理部203)は、サーバ装置1(Webサーバ101)から有効期限のエラー通知があると、ステップS33に戻り、有効期限情報の再入力を受け付ける。
続いて、投稿端末2において生成される投稿記事情報のデータ構成について説明する。
図23は、投稿記事入力画面G31(図21参照)のテキスト入力及び選択入力により生成された投稿記事情報の記事情報とメタ情報の一例を示す図である。図23に示す投稿記事情報D1には、有効期限設定ボックスB6(図21参照)に設定された有効期限情報に対して識別子として第3タグJ4が付加されたものが含まれる。それ以外については、第1の実施の形態に係る投稿記事情報D1(図10参照)のデータ構成と同様であるので、ここでの説明を省略する。
続いて、サーバ装置1における処理について説明する。
図24は、サーバ装置1のCPU11が実行する記事情報の投稿及び閲覧に係るプログラムの処理フローの一例を示す図である。図24には、第1の実施の形態に係る投稿及び閲覧に係る処理(図11参照)と異なるステップS521〜ステップS524の処理を示している。ステップS41において読み取られた要求が保存要求である場合(ステップS52:Yes判定)、Webサーバ101からの依頼により記事管理部102が次の処理を行う。
先ず、CPU11(記事管理部102)は、保存要求のあった投稿記事情報D1(図23参照)の有効期限情報D120を読み取る(S521)。
続いて、CPU11(記事管理部102)は、有効期限情報D120が有効期限内を示しているかを判定する(S522)。
有効期限情報D120が有効期限内を示す場合(ステップS522:Yes判定)、CPU11(記事管理部102)は、当該投稿記事情報D1を指定フォルダへ保存し(S53)、ステップS41の処理に戻る。
有効期限情報D120が有効期限外を示す場合は(ステップS522:No判定)、CPU11(記事管理部102)は、有効期限エラーを示す情報を送信元の投稿端末2に送信し(S523)、当該投稿記事情報D1を削除する(S524)。ステップS524の処理後は、ステップS41の処理に戻る。
図25は、第1の実施の形態に係る投稿及び閲覧に係る処理(図11参照)のステップS66についての、変形例3に係る投稿記事情報特定処理の一例を示すフロー図である。当該投稿記事情報特定処理について第1の実施の形態に示す投稿記事情報特定処理のフロー図(図12参照)と異なる、ステップS76(Yes判定)の処理後のステップS761〜ステップS763の処理について説明する。
CPU11(記事管理部102)は、第2メタ情報D122(図23参照)の設定が利用条件情報の設定にマッチしていると判定すると(ステップS76:Yes判定)、続いて、当該投稿記事情報D1(図23参照)の有効期限情報D120(図23参照)を読み取る(S761)。
続いて、CPU11(記事管理部102)は、有効期限情報D120が有効期限内を示しているかを判定する(S762)。
有効期限情報D120が有効期限内を示す場合(ステップS762:Yes判定)、CPU11(記事管理部102)は、当該投稿記事情報D1をRAM13に保存し(S77)、ステップS71の処理に戻る。
有効期限情報D120が有効期限外を示す場合(ステップS762:No判定)、CPU11(記事管理部102)は、当該投稿記事情報D1を指定フォルダから削除し(S763)、ステップS71の処理に戻る。なお、CPU11(記事管理部102)は、当該投稿記事情報D1を削除する代わりに、当該投稿記事情報D1を指定フォルダから指定外のフォルダへ移動する移動処理を行っても良い。
以上のように、投稿記事情報に有効期限をメタ情報として付加し、サーバ装置1で投稿記事情報が有効期限内かを判定することにより、閲覧端末3に有効期限内の記事のみを表示させることが可能になる。
(変形例4)
第1の実施の形態の変形例4として、投稿記事情報に国や地域を示すエリア情報を設けた場合のものについて示す。以下、第1の実施の形態と異なる箇所について説明する。
図26は、変形例4のWebシステム300に係るお知らせ記事の投稿及び閲覧に係る主な要素の関係を示す図である。ここでは、第1の実施の形態のWebシステム100(図2参照)に対して次の変形を行っている。図26に示す投稿記事情報D1はメタ情報D12に制限項目としてエリア情報を設けている。アプリ利用条件管理手段1dは、アプリ識別情報D4(図2参照)と利用条件情報D5(図2参照)の代わりに、契約者情報とエリア情報との対応関係を管理するものとして設けている。
このような構成において、変形例4のWebシステム300はステップS4及びステップS5において次のように動作する。記事出力制御手段1bは、アプリ利用条件管理手段1dから契約者情報D2に対応するエリア情報D6を取得する(S4)。更に、記事出力制御手段1bは、ステップS3で取得したアプリ識別情報D4とステップS4で取得したエリア情報D6とを記事管理手段1aに出力し、これらに該当する投稿記事情報D1の出力を要求する(S5)。
続いて変形の対象となる箇所の具体的な構成について説明する。
(テーブル構成)
図27は、変形例4に係るサーバ装置1の、アプリ利用条件管理手段1d(図26参照)として設けたテーブルのテーブル構成の一例を示す図である。変形例4では、第1の実施の形態に示すアプリ利用条件テーブルT2(図6参照)の代わりに、エリア管理テーブルT3を設けている。
エリア管理テーブルT3は、テナントID設定項目t31と、エリア情報設定項目t32とを有する。テナントID設定項目t31のデータ部には、契約アプリ情報テーブルT1(図6参照)のテナントID設定項目t11と同様にテナントIDを設定する。エリア情報設定項目t32のデータ部には、テナントIDが属する国や地域を示すエリア情報を設定する。
エリア管理テーブルT3は、テナントID設定項目t31に設定されるテナントIDと、エリア情報設定項目t32に設定されるエリア情報とにより一レコードが構成される。
(画面構成)
図28は、変形例4に係る投稿記事入力画面の画面構成の一例を示す図である。図28に示す投稿記事入力画面G41は、第1の実施の形態に係る投稿記事入力画面G1(図7参照)において、制限項目として国や地域の項目を設けたものである。
設定ボックスB3−3は、閲覧対象の制限項目のリストをプルダウン表示して1つの制限項目を選択させる構成のものであり、矢印X5の先にプルダウン表示した場合の例を示している。設定ボックスB3−3は、リストL5から制限項目の1つを選択する選択操作を受け付け、それを第2メタ情報として受け付ける。図28の投稿記事入力画面G41の設定ボックスB3―3は、上記制限項目として上記リストL5の「国」L50が選択された状態を示している。
設定ボックスB4−3は、設定ボックスB3−3に設定された制限項目に付随する条件を選択可能に表示し、選択された1つを第2メタ情報の付加条件情報として設定する。図28に示す例では、設定ボックスB3−3に上記制限項目として「国」が選択されている。このため、設定ボックスB4−3は、当該「国」に付随する各国の国名を選択可能に表示し、この内の選択された1つ(図28に示す例では「日本」)を付加条件情報として設定する。
(投稿記事情報)
続いて、投稿記事入力画面G41への入力により生成される投稿記事情報のデータ構成について説明する。
図29は、投稿記事入力画面G41(図28参照)のテキスト入力及び選択入力により生成された投稿記事情報の記事情報とメタ情報の一例を示す図である。図28に示す投稿記事情報D1には、設定ボックスB3−3(図28参照)及び設定ボックスB4−3(図28参照)に設定されたエリア情報(本例では「国:日本」)に識別子として第4タグJ5が付加され、当該エリア情報が第2メタ情報D122として設定される。
(サーバ装置1における閲覧に係る処理)
続いて、サーバ装置1(CPU11)の閲覧に係る処理について図11を参照しながら説明する。ステップS63において、CPU11(記事出力制御部103)は、SQL文を次のように生成する。例えばテナントIDを「001」とする。この場合、先ず、契約アプリ情報テーブルT1(図6参照)を対象に、テナントID設定項目t11が「001」の対応レコードから、可否情報設定項目t12の設定値が「TRUE」の、可否情報設定項目t12の項目名(つまりアプリ識別情報)を全て抽出する。次に、エリア管理テーブルT3(図27参照)を対象に、テナントID設定項目t31が「001」の対応レコードから、エリア情報設定項目t32の設定値(本例ではエリアA)を抽出する。
ステップS64において、CPU11(記事出力制御部103)は、ステップS63で生成したSQL文に基づいて、アプリ識別情報抽出処理を行い、続くステップS65において、エリア情報抽出処理を行う。具体的に、記事出力制御部103は上記SQL文によりデータベースDBにアクセスし、先ず契約アプリ情報テーブルT1を対象にアプリ識別情報抽出処理を行い、続いて、エリア情報管理テーブルT3を対象にエリア情報抽出処理を行う。これにより、アプリ識別情報とエリア情報のペア情報を生成する。
続いて、ステップS66の処理を図12を参照しながら説明する。CPU11(記事管理部102)は、アプリ識別情報がマッチすると判定した場合(ステップS74:Yes判定)、ステップS75において、上記メタ情報D12の第2メタ情報D122と、アプリ識別情報がマッチしたペア情報が有するエリア情報とを更に比較する。
そして、CPU11(記事管理部102)は、ステップS76において、上記第2メタ情報D122が上記エリア情報にマッチするかを判定する。例えば第2メタ情報D122が「国:日本」で、上記ペア情報に含まれるエリア情報(本例ではエリアA)が日本国内を示すものである場合に、マッチすると判定する。
以上により、投稿記事情報に第2メタ情報として国や地域などのエリア情報を含ませることにより、そのエリアに該当する閲覧対象者に限り当該投稿記事情報の記事を閲覧することが可能になる。
(変形例5)
第1の実施の形態の変形例5として、投稿記事情報に対し、アプリケーションの外部連携する対象(外部連携対象)についての制限情報を設けた場合のものについて示す。ここで「外部連携対象」とは、アプリケーションが外部連携する先、例えば外部ストレージサービスやドライブ等、のことを差している。以下、第1の実施の形態と異なる箇所について説明する。
図30は、変形例5のWebシステム400に係るお知らせ記事の投稿及び閲覧に係る主な要素の関係を示す図である。ここで、変形例5のWebシステム400は、第1の実施の形態のWebシステム100(図2参照)に対して次の変形を行ったものである。アプリ利用条件管理手段1dの利用条件情報D5に外部連携対象の識別情報の項目を設けている。また、投稿記事情報D1のメタ情報D12に外部連携対象についての制限情報を示す項目を設けている。記事出力制御手段1bは、アプリ識別情報D4と利用条件情報D5の取得に加えて、アプリケーションの外部連携対象1fから外部連携対象1fの消耗情報D7を取得する手段(第3の抽出手段)を有するように変形を行ったものである。上記消耗情報は、外部連携対象1fがストレージサービスの場合、ストレージの残容量等に相当する。
このような構成において、変形例5のWebシステム400は、ステップS4からステップS5において次のように動作する。記事出力制御手段1bはアプリ利用条件管理手段1dから利用条件情報D5の1つとして外部連携対象の識別情報を取得する(S4)。そして、記事出力制御手段1bは、ステップS4で取得した識別情報が示す外部連携対象1fにアクセスし、当該外部連携対象1fの消耗情報D7を取得する(S4−1)。更に、記事出力制御手段1bは、ステップS3で取得したアプリ識別情報D4と、ステップS4で取得した利用条件情報D5と、ステップS4−1で取得した消耗情報D7とを記事管理手段1aに出力し、これらに該当する記事情報D11の出力を要求する(S5)。
(機能構成)
続いて変形の対象となる箇所の具体的な構成について説明する。
図31は、変形例5に係るサーバ装置1の主な機能構成の一例を示す機能ブロック図である。
図31に示すサーバ装置1は、第1の実施の形態に示すサーバ装置1の機能(図5参照)に、更に外部連携サービスの1つとして外部ストレージサービス106の機能を明示したものである。
外部ストレージサービス106は、ストレージを管理し、アプリケーションに所定容量のストレージを提供するサービスである。
記事出力制御部103は、データベースから抽出した利用条件情報に外部ストレージサービス106の識別情報が含まれている場合、その外部ストレージサービス106にアクセスし、消耗情報D7(図30参照)としてストレージの残容量を取得する。そして、記事出力制御部103は、その残容量を制限情報に含む投稿記事情報D1(図30参照)を記事管理部102から取得する。
(テーブル構成)
図32は、変形例5に係るアプリ利用条件管理手段1d(図30参照)としてデータベースに設けたテーブルのテーブル構成の一例を示す図である。図32に示すアプリ利用条件テーブルT2は、第1の実施の形態に示すアプリ利用条件テーブルT2(図6参照)の利用条件設定項目t22に対し、利用条件項目の名称として「外部連携」を更に登録したものとなっている。「外部連携」項目のデータ部には外部連携サービスの識別情報を設定する。本例においては、テナントID「003」についての設定例を示している。ここでは、外部連携サービスの識別情報として、外部ストレージサービスやドライブ名を示す識別情報を設定している。
(画面構成)
図33は、変形例5に係る投稿記事入力画面の画面構成の一例を示す図である。図33に示す投稿記事入力画面G51は、第1の実施の形態に係る投稿記事入力画面G1(図7参照)において、外部連携の制限項目を設けたものである。
設定ボックスB3−4は、「外部連携」を含む閲覧対象の制限項目のリストをプルダウン表示し、リストから受け付けた制限項目を設定する。
設定ボックスB4−4は、設定ボックスB3−4に「外部連携」が設定された場合に、外部連携サービスを示すリストをプルダウン表示し、リストから外部連携サービスの1つを選択する選択操作を受け付け、それを第2メタ情報として受け付ける。
設定ボックスB4−5は、設定ボックスB4−4に設定された外部連携サービスに付随する条件を選択可能に表示し、選択された1つを第2メタ情報の付加条件情報として受け付ける。具体的に外部連携サービスに付随する条件とは、外部連携サービスの消耗度合の基準を示す情報(消耗基準情報)のことである。図33に示す投稿記事入力画面G51の設定例では、設定ボックスB3−4が「外部連携」が選択され、設定ボックスB4−4が「外部ストレージサービスA」が選択されたものを示している。この場合、設定ボックスB4−5は、上記消耗基準情報として多段階の残容量を選択可能に表示し、その内の1つの選択操作を受け付ける。本例では「残容量1ギガバイト以下」を受け付けた状態を示している。消耗基準情報の一例として示す当該「残容量1ギガバイト以下」は、外部ストレージサービスAのストレージの残容量が「1ギガバイト以下」のユーザに閲覧を制限することを表している。
(投稿記事情報)
続いて、投稿端末2において生成される投稿記事情報のデータ構成について説明する。
図34は、投稿記事入力画面G51(図33参照)のテキスト入力及び選択入力により生成された投稿記事情報の記事情報とメタ情報の一例を示す図である。図34に示す投稿記事情報D1には、設定ボックスB4−4(図33参照)及び設定ボックスB4−5(図33参照)に設定された情報に識別子として第2タグJ3が付加され、当該情報が第2メタ情報D122として設定される。
(全体シーケンス)
続いて、記事情報の投稿及び閲覧に係る全体動作について説明する。
図35は、変形例5に係る全体動作のシーケンス図である。変形例5に係るサーバ装置1では、第1の実施の形態に示す全体シーケンス(図8参照)においてステップS16−1からステップS16−2の処理を追加して行う。
記事出力制御部103は、ステップS16において取得した利用条件情報に外部連携対象の識別情報(ここでは、外部ストレージサービスAとする)が含まれていた場合、更に外部ストレージサービス106にアクセスし、残容量情報を取得する(S16−1)。
そして、記事出力制御部103は、ステップS16で取得した利用条件情報(利用条件項目の名称を含む)にステップS16−1で取得した残容量情報をセットする(S16−2)。
こうして、記事出力制御部103は、残容量情報をセットした利用条件情報とステップS15で取得したアプリ識別情報とのペア情報を記事管理部102に出力し、そのペア情報により特定される記事情報の出力を依頼する(S17)。
上記ペア情報は、テナントIDが「003」で、アプリ利用条件テーブルT2(図32参照)の設定例に従うと次のようになる。但し、以下では、アプリ識別情報が「アプリA」と「アプリC」のペア情報のみ示し、「アプリB」のペア情報については記載を省略する。
前者の「アプリA」についてはアプリ利用条件テーブルT2の外部連携の項目に「なし」が設定されている。このため、利用条件情報は外部連携の情報を含まず、そのペア情報は、アプリ識別情報(「アプリA」)、利用条件情報(「保守契約:TRUE」、「ライセンス期限:なし」、「有償・無償:無償」)となる。
後者の「アプリC」についてはアプリ利用条件テーブルT2の外部連携の項目に「外部ストレージサービスA」が設定されている。このため、利用条件情報は、外部連携の情報として外部ストレージサービスAや、外部ストレージサービスAから取得された残容量情報を含む。従って、そのペア情報は、アプリ識別情報(「アプリC」)、利用条件情報(「保守契約:FALSE」、「外部ストレージサービスA:残容量500メガバイト」、「ライセンス期限:なし」、「有償・無償:無償」)となる。なお、残容量情報として示す「残容量500メガバイト」は一例である。残容量情報は、そのときのストレージの使用量に応じて、この例では、1ギガバイトを超える所定の最大使用可能容量から0バイトまでの値をとり得るものとする。
この依頼により、記事管理部102は、指定フォルダ内の複数の投稿記事情報の中から、メタ情報の設定が上記ペア情報の設定に対応する投稿記事情報の特定処理を行う(S18)。例えば、図34に示すように、投稿記事情報D1の第2メタ情報D122において外部連携対象として「外部ストレージサービスA」が設定され、制限情報として「残容量1ギガバイト以下」が設定されているとする。その場合、記事管理部102は、上記ペア情報に含まれる「外部ストレージサービスA」の残容量を示す値が1ギガバイト以下である場合に、当該投稿記事情報D1を閲覧対象の記事であると判定する。一方、記事管理部102は「外部ストレージサービスA」の残容量を示す値が1ギガバイトを超えている場合は、当該投稿記事情報D1を閲覧対象の記事でないと判定する。本例では、上記ペア情報に「外部ストレージサービスA:残容量500メガバイト」が設定されており、「外部ストレージサービスA」の残容量を示す値が1ギガバイト以下である。このため、記事管理部102は当該投稿記事情報D1を閲覧対象の記事であると判定する。
(サーバ装置1における記事情報の投稿及び閲覧に係る処理フロー)
ここで、サーバ装置1における処理について説明する。
図36は、サーバ装置1のCPU11が実行する記事情報の投稿及び閲覧に係るプログラムの処理フローの一例を示す図である。図36には、第1の実施の形態に係る処理(図11参照)と異なるステップS651〜ステップS653の処理を示している。CPU11(記事出力制御部103)は、ステップS65の利用条件情報抽出処理後、抽出した利用条件情報に外部連携対象の識別情報が含まれているかを判定する(S651)。
外部連携対象の識別情報が含まれていない場合(ステップS651:No判定)、CPU11(記事出力制御部103)は、ステップS66の投稿記事情報特定処理に移行する。
一方、外部連携対象の識別情報が含まれている場合(ステップS651:Yes判定)、CPU11(記事出力制御部103)は、当該識別情報が示す外部ストレージサービス106にアクセスし、残容量情報を取得する(S652)。
更に、CPU11(記事出力制御部103)は、残容量情報を利用条件情報にセットしたペア情報を生成する(S653)。
そして、CPU11(記事出力制御部103)は、投稿記事情報特定処理を行う(S66)。
図37は、図36のステップS653に続いて行われるステップS66の投稿記事情報特定処理の一例を示すフロー図である。当該投稿記事情報特定処理について第1の実施の形態に係る投稿記事情報特定処理(図12参照)と異なるステップS74−1〜ステップS74−3の処理について説明する。
記事管理部102は、アプリ識別情報がマッチすると判定した場合(ステップS74:Yes判定)、続いて、ステップS72で取得した投稿記事情報D1の第2メタ情報D122に外部連携の識別情報が設定されているかを判定する(S74−1)。
外部連携の識別情報が設定されていると判定した場合(ステップS74−1:Yes判定)、記事管理部102は、アプリ識別情報がマッチしたペア情報の利用条件情報に上記外部連携の識別情報がセットされているかを判定する(S74−2)。
上記外部連携の識別情報がセットされていると判定した場合(ステップS74−2:Yes判定)、記事管理部102は、利用条件情報にセットされている上記外部連携についての消耗情報(残容量情報)が上記第2メタ情報D122に設定されている上記外部連携についての制限情報を満たすかを判定する(S74−3)。例えば、上記残容量情報が500メガバイトで当該制限情報が「残容量1ギガバイト以下」であった場合、制限情報を満たすと判定する。
上記消耗情報が上記制限情報を満たす場合(ステップS74−3:Yes判定)、記事管理部102は、上記第2メタ情報D122に設定されているその他の条件が利用条件情報にセットされたものとマッチするかを判定する(S75)。
ステップS74−1がNo判定の場合、ステップS75に移行する。ステップS74−2がNo判定の場合、ステップS71に移行する。ステップS74−3がNo判定の場合、ステップS71に移行する。
図38は、アプリ利用条件テーブルT2(図32参照)の設定例において、テナントID「003」の閲覧端末の閲覧対象記事の一例を示す図である。
図38に示す記事情報D110は、第1メタ情報に「アプリA」を含み、第2メタ情報に保守契約(有り)を含む投稿記事情報の記事情報である。
図38に示す記事情報D111は、第1メタ情報に「アプリC」を含み、第2メタ情報に外部ストレージサービスA(残容量1ギガバイト以下)を含む投稿記事情報の記事情報である。
記事情報D110は、投稿記事情報のメタ情報の設定がアプリ利用条件テーブルT2(図32参照)の「アプリA」の「保守契約」の設定と同じであることにより、テナントID「003」の閲覧端末の閲覧対象記事として特定されたものである。
記事情報D111は、投稿記事情報のメタ情報の設定がアプリ利用条件テーブルT2(図32参照)の「アプリC」の「外部連携」の設定と同じであり、更に、外部ストレージサービスAから取得した残容量情報が第2メタ情報の設定「残容量1ギガバイト以下」に該当していることにより、テナントID「003」の閲覧端末の閲覧対象記事として特定されたものである。
以上により、投稿記事情報に第2メタ情報としてアプリケーションの外部連携対象についての制限情報を含ませることにより、その制限情報を満たす閲覧対象者に限り当該投稿記事情報の記事を閲覧することが可能になる。
(変形例6)
第1の実施の形態の変形例6として、投稿記事情報のメタ情報に含まれるエリア情報に応じて、投稿記事情報を管轄エリアのサーバ装置に転送する形態のものを示す。以下、第1の実施の形態と異なる箇所について説明する。
図39は、変形例6のWebシステム600のネットワーク構成の一例を示す図である。図39に示すWebシステム600は、管轄エリア毎のサーバ装置1−1、1−2、・・・と、管轄エリアに属し、その管轄エリアのサーバ装置にアクセスする投稿端末2−1、2−2、・・・及び閲覧端末3−1、3−2、・・・を有する。
サーバ装置1−1、1−2、・・・は、それぞれ、第1の実施の形態に係るサーバ装置1において振分手段1e(図40参照)を設けた装置である。投稿端末2−1、2−2、・・・は、それぞれ、第1の実施の形態に係る投稿端末2であり、管轄エリアのサーバ装置にアクセスするように設定されている。閲覧端末3−1、3−2、・・・もまた、第1の実施の形態に係る閲覧端末3であり、管轄エリアのサーバ装置にアクセスするように設定されている。
図40は、変形例6のWebシステム600に係るお知らせ記事の投稿及び閲覧に係る主な要素の関係を示す図である。第1の実施の形態のWebシステム100(図2参照)において振分手段1eを更に設けたものである。ここでは、振分手段1eに係る記事管理手段1aのみ示し、その他の既出の要素については図示を省略している。
振分手段1eは、投稿端末から投稿された投稿記事情報D1のエリア情報に基づき投稿記事情報D1を管轄エリアのサーバ装置の振分手段1eに転送する。また、振分手段1eは、投稿記事情報が自装置を管轄とするものである場合に、自装置の記事管理手段1aに保存を依頼する。
以下では、サーバ装置1−1と、この管轄エリアの投稿端末2−1及び閲覧端末3−1を例に、各サーバ装置1−1、1−2、・・・が備える振分手段1eについて説明する。
振分手段1eは次のように動作する。投稿端末2−1から投稿記事情報D1が投稿されると(S1−1)、投稿記事情報D1に含まれるエリア情報のエリアを管轄するサーバ装置に投稿記事情報D1を転送する(S1−2)。その管轄エリアが自装置の管轄エリアである場合は投稿記事情報D1の保存を自装置の記事管理手段1aに依頼する(S1−4)。また、振分手段1eは、他のサーバ装置から投稿記事情報が転送されると(S1−3)、その投稿記事情報D1の保存を自装置の記事管理手段1aに依頼する(S1−4)。
(機能構成)
続いて、サーバ装置1−1の機能構成について説明する。
図41は、サーバ装置1−1の主な機能構成の一例を示す機能ブロック図である。サーバ装置1−1は、第1の実施の形態に示すサーバ装置1の機能(図5参照)に、対応プログラムの実行により更に振分処理部105の機能を実現したものである。
Webサーバ101は、第1の実施の形態に示した機能に加え、振分処理部105により転送が指示されると、振分処理部105により指定される転送先(他のWebサーバ)へ投稿記事情報D1を転送する。
振分処理部105は、Webサーバ101が受信した投稿記事情報D1のエリア情報を読み取り、管轄エリアテーブルから上記エリア情報に対応付けられているサーバ装置(Webサーバ)を特定する。そして、振分処理部105は、Webサーバ101に対し、特定したサーバ装置(Webサーバ)への当該投稿記事情報の転送を指示する。
(テーブル構成)
図42は、上記管轄エリアテーブルのテーブル構成の一例を示す図である。管轄エリアテーブルT4は、管轄エリア設定項目t41と管轄サーバ設定項目t42とを有する。管轄エリア設定項目t41のデータ部には、国や地域などのエリアを示すエリア情報を設定する。管轄サーバ設定項目t42のデータ部には、管轄エリア設定項目t41のデータ部に設定したエリアを管轄するサーバ装置のIPアドレスなどのアクセス情報を設定する。
(画面構成)
図43は、投稿記事入力画面の画面構成の一例を示す図である。図43に示す投稿記事入力画面G61は、第1の実施の形態に示す投稿記事入力画面G1(図7参照)において、変形例3に示す投稿記事入力画面G41(図28参照)の設定ボックスB3−3及び設定ボックスB4−3を設定ボックスB3−8及び設定ボックスB4−8として加えたものである。
(投稿記事情報)
図44は、投稿記事入力画面G61(図43参照)のテキスト入力及び選択入力により生成された投稿記事情報の記事情報とメタ情報の一例を示す図である。図44に示す投稿記事情報D1は、第1の実施の形態に示す投稿記事情報D1(図10参照)において、メタ情報D12に第4メタ情報D123を追加したものである。第4メタ情報D123は、投稿記事入力画面G61(図43参照)において設定ボックスB3−8と設定ボックスB4−8に設定された情報であり、投稿記事情報の生成時に識別子として第6タグJ6が付加される。第6タグJ6が付加された第4メタ情報D123は、振分処理部105による振分処理において読み取られる。
(振分処理フロー)
次に、サーバ装置1−1における振分処理に係る処理フローについて説明する。
図45は、第1の実施の形態に示す、記事情報の投稿及び閲覧に係る処理フロー図(図11参照)に追加して実施する振分処理フローの一例を示す図である。当該振分処理フローは上記要求が保存を示すものである場合(ステップS52:Yes判定)にWebサーバ101の依頼に基づいて振分処理部105が実施する。
先ず、CPU11(振分処理部105)は、要求情報に含まれる投稿記事情報D1(図44参照)の第6タグJ6が付加されているエリア情報(第4メタ情報D123)を読み取る(S521)。
そして、CPU11(振分処理部105)は、管轄エリアテーブルT4(図42参照)から、ステップS521で読み取ったエリア情報に対応する管轄サーバ装置へのアクセス情報を取得する(S522)。
続いて、CPU11(振分処理部105)は、ステップS522で取得したアクセス情報が自装置のものかを判定する(S523)。
ステップS522で取得したアクセス情報が自装置のものである場合は(ステップS523:Yes判定)、CPU11(記事管理部102)が当該投稿記事情報を自装置の指定フォルダに保存する(S53)。
ステップS522で取得したアクセス情報が自装置のものでない場合には(ステップS523:No判定)、CPU11(Webサーバ101)が、ステップS522で取得されたアクセス情報により指定されるサーバ装置(Webサーバ)へ、当該投稿記事情報の保存を要求する(S524)。
ステップS53とステップS524の処理後は、ステップS41の処理に戻る。
(サーバ装置1−1における閲覧処理フロー)
サーバ装置1−1は、閲覧における投稿記事情報特定処理において、投稿記事情報D1(図44参照)の第1メタ情報D121と第2メタ情報D122を対象に比較判定を行うことになる。従って、第4メタ情報D123のエリア情報は投稿に係る処理においてのみ使用されることになり、閲覧に係る処理においては処理の対象から除外される。
以上により、投稿記事情報のメタ情報に含まれるエリア情報により、サーバ装置が管轄外の投稿記事情報を受け付けた場合に、その投稿記事情報を管轄エリアのサーバ装置に転送することが可能になる。これにより、閲覧端末は、管轄内の投稿記事情報のみを閲覧することが可能になる。
本実施形態及び各変形例においては、記事出力制御手段1bがアプリ識別情報D4と利用条件情報D5とを取得し、記事管理手段1aに対して当該アプリ識別情報D4と当該利用条件情報D5とに対応する投稿記事情報D1の出力を要求する構成のものを示した。しかし、記事出力制御手段1bは、契約アプリ情報管理手段1cからアプリ識別情報D4を取得して記事管理手段1aにアプリ識別情報D4に対応する投稿記事情報D1の出力を要求する構成のものに変形しても良い。この場合であっても、アプリ識別情報により記事情報の特定が可能となる。
以上により、実施形態及び各変形例では、利用者(個人又は団体)毎に該当するお知らせ記事を出力することができるため、利用者がお知らせ記事の中から該当するお知らせ記事を探したり、利用者に関係のない無駄なお知らせ記事を確認したりするという手間をなくすことが可能になる。
実施形態及び各変形例で実行されるプログラムは、ROMやHDDなどのメモリ部に予め組み込まれて提供するものとしているが、これに限定されるものではない。実施形態及び各変形例で実行されるプログラムを、コンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供してもよい。例えば、インストール可能な形式または実行可能な形式のファイルで、フレキシブルディスク、CD−R、DVD(Digital Versatile Disk)、ブルーレイディスク(登録商標)、半導体メモリ等の記録媒体に記録して提供してもよい。
また、実施形態及び各変形例で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、実施形態及び各変形例で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。