設計情報

投稿者: SPIRERS ナレッジ向上チーム 2022年7月5日 (火)

ウェビナー管理アプリ アプリ(DB・メール)設計・構築

最近ではWeb会議ツールを使用したセミナー、ウェビナーが主流となってきています。
参加する側は気軽に参加ができ、運営する側はWeb会議ツールを用意するだけでよく会場の手配などが不要なので、両者にメリットがありそうです。

そんなウェビナー管理ですが、SPIRALver.2では申込受付からウェビナー後の満足度アンケート、フォロー対応までを行うことができるウェビナー管理アプリの構築が可能です。
この記事は アプリ(DB・メール)設計・構築 のフェーズとなります。
関連記事はこちら
SPIRAL ver.2はプログラミング経験がなくても、オリジナルの業務アプリの制作・カスタマイズができるローコード開発プラットフォームです。
詳しくは SPIRAL ver.2 とはをご覧ください。

変更・改定履歴

  • 改定

    ウェビナー申込DBの重複制御(ウェビナーID+メールアドレス)のフィールド名称を「オリジナルキー(ウェビナーID+メールアドレス)」に変更
    ウェビナー申込DBのウェビナーIDとメールアドレスの2フィールド間ユニーク制約設定を追加

  • 改定

    ③申込完了メール および ④申込通知メールの設定を変更しサイト設計・構築に移替

  • 改定

    会員DBのフィールド追加、フィールドタイプの変更
    ウェビナーマスタDBのフィールド追加、セレクト項目の変更
    ウェビナー申込DBの使用していないフィールドの削除、フィールドの追加
    DBトリガの追加
    ⑥アンケート回答完了メールを追加、サイト設計・構築に記載

アプリ機能

SPIRAL ver.2はアプリを定義した後にDBやページ、フォームを設定することができます。
DB設定はアプリ機能にて行います。 詳しくは アプリ機能 をご覧ください。
今回はアプリ機能を使って「新規顧客DB」「会員DB」「ウェビナーマスタDB」「ウェビナー申込DB」を 作成します。

登場人物と業務フローの整理

ウェビナーに参加する「申込者」とウェビナーを運営する「販売促進部」、ウェビナーに登壇する「各部署」を登場人物としたウェビナー管理アプリを想定しました。
登場人物(ウェビナー管理アプリを使う人)
また、以下の業務を想定します。
業務フロー図を作成すると全体の業務が可視化され、頭の中に思い描いたイメージの整理にもなります。
簡単な業務フロー図を作成するのもおすすめです。
業務フロー図

アプリ(DB)設計・構築

整理した登場人物と業務フローを元に、アプリを作成していきます。
アプリ全体像
※ ウェビナー運営側操作画面(赤枠部分)については ユーザ・グループ・アプリロール・APIエージェント設定記事をご覧ください。
DBについて
今回は以下4つのDBを作成します。
詳しい作成手順は DB機能 をご覧ください。

▼新規顧客DBフィールド一覧
新規顧客情報を格納するDBです。ウェビナー告知メール配信で使用します。
項目名 フィールドタイプ DB上で必須な属性
会社名 テキスト なし
名前 テキスト
メールアドレス メールアドレス 入力制約:あり
ユニーク制約:あり
▼会員DBフィールド一覧
会員情報を格納するDBです。
項目名 フィールドタイプ DB上で必須な属性
会員ID テキスト 入力制約:あり
ユニーク制約:あり
インデックス:あり
メールアドレス メールアドレス 入力制約:あり
ユニーク制約:あり
※ログインIDとなるので必ず設定します
パスワード パスワード 入力制限
 最小文字数:6
 最大文字数:32
 文字種:数字,英小文字,英大文字,記号
 文字種数制限:4種
誕生日 日付 なし
▼ウェビナーマスタDBフィールド一覧
ウェビナー情報を格納するDBです。
項目名 フィールドタイプ DB上で必須な属性
サムネイル画像 ファイル なし
メイン画像 ファイル
ウェビナータイトル テキスト
開催日 日付 インデックス:あり
開始時間 時刻 なし
終了時間 時刻
公開フラグ セレクト セレクト項目
 1:非公開|2:公開

デフォルト値:非公開
※一覧への即時反映回避ために必ず設定します
インデックス:あり
ウェビナー概要 テキストエリア なし
ウェビナーURL テキストエリア 入力制限
 正規表現: https?://[\w!\?/\+\-_~=;\.,\*&@#\$%\(\)'\[\]]+
※URL形式( https から始まる半角英数記号の文字列のみ)に制限します
アーカイブフラグ セレクト セレクト項目
 1:非公開|2:公開

デフォルト値:非公開
※一覧への即時反映回避ために必ず設定します
インデックス:あり
YouTubeURL テキストエリア 入力制限
 正規表現: https?://[\w!\?/\+\-_~=;\.,\*&@#\$%\(\)'\[\]]+
※URL形式( https から始まる半角英数記号の文字列のみ)に制限します
登壇部署メールアドレス メールアドレス なし
残席 整数 デフォルト値:1000
インデックス:あり
▼ウェビナー申込DBフィールド一覧
ウェビナー申込情報やアンケート回答を格納するDBです。
項目名 フィールドタイプ DB上で必須な属性    
ウェビナーID テキスト 入力制約:あり
※別途、会員IDとの 2フィールド間ユニーク制約を行います
申込項目
会員ID テキスト 入力制約:あり
※別途、ウェビナーIDとの 2フィールド間ユニーク制約を行います
会員DB参照 参照フィールド 参照先DB:会員DB
参照レコード数:1レコード
ラベルフィールド:メールアドレス
ウェビナーマスタDB参照 参照フィールド 参照先DB:ウェビナーマスタDB
参照レコード数:1レコード
ラベルフィールド:ID
NULL更新用 テキスト なし
※入力項目なしでは登録フォームを保存することができないため、必ず設定します
アンケート回答フラグ セレクト セレクト項目
 1:未回答
 2:回答済み

デフォルト値:未回答
アンケート項目
【1】本日のウェビナー全般の満足度をお聞かせください。 セレクト セレクト項目
 1:全く参考にならなかった
 2:参考にならなかった
 3:どちらでもない
 4:参考になった
 5:大変参考になった
【2】システム導入について、どのようなお立場かお聞かせください。 セレクト セレクト項目
 1:自社で利用する立場
 2:自社での導入を検討する立場
 3:お客様に提案・販売する立場
 4:導入には関与しない立場
 5:その他
【3】本ウェビナーに関連して、ご要望がありましたらお聞かせください。 セレクト セレクト項目
 1:内製化サービスについて詳しく知りたい
 2:SPIRAL.ver2について詳しく知りたい
 3:導入事例について詳しく知りたい
 4:特にない
 5:その他
【4】ご意見・ご感想や、今後取り上げてほしいテーマあればお聞かせください。 テキストエリア なし
DBトリガについて
本アプリでは以下4つのレコードアクショントリガを設定します。

 ・【会員登録時】会員ID自動発番 トリガ
 ・【ウェビナー申込時】残席数の減算 トリガ
 ・【ウェビナー申込時】重複不可キーの作成 トリガ
 ・【ウェビナーキャンセル時】残席数の増加 トリガ

具体的な レコードアクション の処理発動条件をご案内します。


●【会員登録時】会員ID自動発番 トリガ
※会員DBの登録トリガで設定します
アクション先 自DB(会員DB)
アクション先への操作 更新
会員ID自動発番 処理
発動条件 指定しない
処理タイプ 更新
処理マッピング アクション先DBフィールド:会員ID = 格納値:’user’ || LPAD((ID), 10, 0)
※格納値設定は関数に切り替える必要があります
※(ID)には、DBフィールドの(ID)を入力した値、
 @xxxxx._idが入ります。
エラー処理 全てエラー終了

●【ウェビナー申込時】重複不可キーの作成 トリガ
※ウェビナー申込DBの登録トリガで設定します
アクション先 自DB(ウェビナー申込DB)
アクション先への操作 更新
重複不可キーの作成 処理
発動条件 指定しない
処理タイプ 更新
処理マッピング アクション先DBフィールド:ウェビナーID = 格納値:ウェビナーマスタDB参照
※格納値設定は関数に切り替える必要があります
※ウェビナーマスタDB参照には、DBフィールドのウェビナーマスタDB参照を入力した値、
 @xxxxx.xxxxxが入ります。
エラー処理 全てエラー終了

●【ウェビナー申込時】残席数の減算 トリガ
※ウェビナー申込DBの登録トリガで設定します
アクション先 他DB(ウェビナーマスタDB)
アクション先への操作 更新
識別キー 自DBフィールド:ウェビナーマスタDB参照
対象DBフィールド:(ID)
認証キー 設定なし
更新対象が存在しない場合 アクション先DBに更新せずに、正常終了
残席数を減算 処理
発動条件 指定しない
処理タイプ 更新
処理マッピング アクション先DBフィールド:残席 = 格納値:残席 - 1
※格納値設定は関数に切り替える必要があります
※残席には、DBフィールドの残席を入力した値、
 @xxxxx.xxxxxが入ります。
エラー処理 全てエラー終了

●【ウェビナーキャンセル時】残席数の増加 トリガ
※ウェビナー申込DBの削除トリガで設定します
アクション先 他DB(ウェビナーマスタDB)
アクション先への操作 更新
識別キー 自DBフィールド:ウェビナーマスタDB参照
対象DBフィールド:(ID)
認証キー 設定なし
更新対象が存在しない場合 エラー終了
残席数を増加 処理
発動条件 指定しない
処理タイプ 更新
処理マッピング アクション先DBフィールド:残席 = 格納値:残席 + 1
※格納値設定は関数に切り替える必要があります
※残席には、DBフィールドの残席を入力した値、
 @xxxxx.xxxxxが入ります。
エラー処理 全てエラー終了
以上でDB関連の設定は完了です。
どのフィールドタイプが適しているのか迷った場合は、 フィールドタイプの選び方 をご参考ください。
メールアクションについて
DB作成が完了したら次はメールアクション設定です。
業務フロー図を見てもらうとわかるように本アプリではウェビナー告知メールやリマインドメールなど、様々な用途のメール配信を行います。
▼ウェビナー管理アプリ 配信メール一覧
配信名 配信条件・配信先 機能
①非会員向けウェビナー告知メール 抽出ルール:なし
配信指定方法:レコード(会員DB参照 > メールアドレス)
アプリロールより一斉配信
②会員向けウェビナー告知メール 抽出ルール:なし
配信指定方法:レコード(会員DB参照 > メールアドレス)
アプリロールより一斉配信
③申込完了メール 抽出ルール:なし
配信指定方法:レコード(会員DB参照 > メールアドレス)
フォームブロックのメールアクション
(登録後、即時配信)
④申込通知メール 抽出ルール:なし
配信指定方法:レコード(ウェビナーマスタDB > 登壇部署メールアドレス)
フォームブロックのメールアクション
(登録後、即時配信)
⑤リマインドメール 抽出ルール:ウェビナー開催日の1日前
配信指定方法:複数レコード(会員DB参照 > メールアドレス)
スケジュールトリガ
メールアクション
(該当データがあれば、毎日13:00配信)
⑥アンケート回答完了メール 抽出ルール:なし
配信指定方法:レコード(会員DB参照 > メールアドレス)
フォームブロックのメールアクション
(更新後、即時配信)
※ ①非会員向けウェビナー告知メールと②会員向けウェビナー告知メールは、 アプリロール にて設定します。
※ ③申込完了メールと④申込通知メール、⑥アンケート回答完了メールは、 サイト管理 にて設定します。
ポイント①
DBトリガのメールアクションにおいて、宛先や配信の抽出条件、差替えキーワードに参照フィールドが追加されました。
各機能の詳細に関しては、下記をご覧ください。
DBトリガの非同期アクション
スケジュールトリガのメール配信アクション
⑤リマインドメールはスケジュールトリガ機能とメールアクション機能を組み合わせて設定しています。
(1)スケジュールトリガ設定
毎日13時00分にアクションが実行されるよう設定します。
表示名 ウェビナーリマインドメール トリガ
実行タイミング 毎日13時00分
(2)アクション設定
(1)のスケジュールトリガに紐づくアクションを設定します。差出人・コンテンツ部分は自由に入力します。
表示名 申込者へウェビナーリマインドメールを配信
アクションタイプ メール配信(複数レコード)
ステータス 有効
▼宛先
DB ウェビナー申込DB
指定方法 複数レコード
フィールド 会員DB参照 > メールアドレス
抽出 抽出する
トリガ日時との関係抽出:[ウェビナーマスタDB > 開催日][年月日][の○日前][1]
配信エラー除外 1回以上
▼差出人、コンテンツ
差出人、コンテンツ 差出人メールアドレスや件名・文面を自由に入力
以上でメール関連の設定は完了です。

最後に

設定後は動作確認を必ず行い、動作に問題がないか確認をしてください。
また、不具合やほかのやり方が知りたい等あれば、下記の「コンテンツに関しての要望はこちら」からご連絡ください。
アプリ(DB・メール)設計・構築が完了したので次はサイト設計・構築に進みます。

関連記事はこちら

解決しない場合はこちら コンテンツに関しての
要望はこちら