GroupSession

我が社でもできる!?デジタルサイネージ 第6回

デジタルサイネージ編の第6回です。

今回は総括として、これまでの説明で足りない項目や注意点について記載していきます。

スケジュールの更新

デジタルサイネージ(本シリーズではウェルカムボードとして利用)は刻々と変化するスケジュールに対応しなければいけません。また、複数スケジュールの表示にも対応しなければいけません。
今回の事例では当日のスケジュールを集計し、1案件を標示させただけです。

スライドは自動再生するよう設定されているので、事前にスケジュールデータを更新するタイミングを決めて置き、このタイミングでスケジュールデータを更新する処理が必要です。また、複数スケジュールが存在する場合、スケジュールスライドを追加する処理、もしくは同一スライド内でスケジュール情報を更新する処理が必要です。

ds41
ds42

スケジュールの取得

今回は全員分のユーザーSIDを検索し、全員分のスケジュールを取得しました。
本件のやり方ですと確かにスケジュールの取得漏れはなくなるのですが、データアクセスに時間がかかります。
今回は「ほ げ」さんを追加しましたが、スケジュール参照用のユーザーを作成し、会議案内したいスケジュールに必ずスケジュール参照用のユーザーを加える事で1ユーザーのスケジュール検索だけで済みますのでスケジュール取得時間が大幅に短縮できます。

ds43

WEB APIによるアクセス

今回はGroupSessionからのスケジュール取得方法としてWEB APIを利用しています。
こちらはデータベース直接アクセスと異なり、情報の要求(リクエスト)を発行していからサーバー応答(レスポンス)までに数秒のタイムラグがあります。
ServerXMLHTTPの指定が同期の場合、サーバー応答が返ってくるまで他の処理はできなくなるので、この数秒の応答待ちが許容できない場合は非同期に切り替え、サーバーからの応答状態を確認する処理に切り替える必要があります。

objXmlHttp.Open "GET", url, False, strUName, strUPass    

objXmlHttp.send ""
objXmlHttp.Open "GET", url, True, strUName, strUPass

objXmlHttp.send ""
    
While objXmlHttp.readyState <> 4
    DoEvents
Wend
(上記内容は変数宣言やオブジェクトのセット箇所を端折っているためそのままコピーしても動作しません)

全体を振り返って

決して分かりやすい説明ではありませんでしたが、「既存のソフトウェア資産を用いて新しいことができる」ということが伝わっていれば十分です。
数十万を支払って作成するデジタルサイネージにはそれ相応の価値があります。しかし、社内向けであったり、簡易用途であるならばそこまでお金を掛けなくても「やり方があるんだ」という事を知っていただければ幸いです。

ABOUT ME
Nozomu.Kon
トータルソフトウェアコーディネーターがあなたのお困りを即時に解決!