設計情報

投稿者:SPIRERS ナレッジ向上チーム 2023年1月19日 (木)

申込/キャンセルフォームの簡易設計方法と考え方

よくお問い合わせいただく、キャンセルフォームの簡易設計と考え方についてご紹介します。
今回はすべて標準で提供される機能で構築できる内容です。

簡易フロー

今回のフローの全体は下図のような設定を想定しています。
申込を受け付ける申込フォームとキャンセルを受け付けるキャンセルフォームを準備します。
キャンセルフォームへの遷移方法は、
申込完了時に自動送信されるメールにURLを設定し、アクセスする形となります。

機能別説明

申込フォームのフロー・使用機能
▼使用する機能
DB機能 DB
ページ機能 申込ページ
ブロック機能 登録フォーム

申込ページには、データ登録用の登録フォームブロックを設置します。

キャンセルフォームのフロー・使用機能
▼使用する機能
DB機能 DB ※申込フォームと同じものを使用します
ページ機能 キャンセルページ
ブロック機能 削除フォーム
認証エリア キャンセルページ表示用の認証機能
※認証方式は、クリックログイン
DBは、申込フォームで使用したDBを利用します。

キャンセルページには、削除フォームブロックを設置します。
認証エリアは、キャンセルするユーザーを特定するために必要となります。

クリックログインを用いた認証方式は、有効期限のある認証パラメータ付きのURLをクリックするだけでログインできる機能です。
詳しくは 「認証エリア」をご覧ください。

また、認証エリアを使うには、主キー(必須かつ重複不可のフィールド)が必要です。
DB設定時に、メールアドレスなどを必須かつ重複不可のフィールドにしていただくか、ユーザーIDなど 自動発行の設定をお願いします。
自動発行の設定については、「 DBトリガの関数設定を使用した処理マッピング例」などをご参考ください。
考え方のポイント①
認証エリアを使用して、ユーザの特定
考え方のポイント②
クリックログインの認証方式を用いることで、パスワードレスに

設定内容

キャンセルフォームを追加する際の注意点をまとめました。

DBのメールアドレスフィールド

キャンセルフォームを追加するには、申込みされた方のメールアドレスが必須となります。
DBのフィールドにメールアドレスがない場合は追加ください。
メールアドレスフィールドを必須設定にしておけば、システム的に入力漏れが回避できるため、設定を行うことを推奨しています。

認証エリア
SPIRAL ver.2では、認証エリアを新規作成すると、キャンセル用のフォームブロックとそのページが自動で作成されます。
クリックログイン設定
削除フォームブロックが設置されたページの「セキュリティ」タブから、クリックログインの設定を行います。
下図のとおりクリックログインの設定を「許可する」に設定します。
クリックログインURLには有効期限を設定することが可能です。
キャンペーン期間などにあわせて有効期限を設定することで、よりセキュリティ性の高いアプリケーションが構築できます。

ver.2.21 時点では、ソース設定のみとなります。
修正を行う場合は、削除フォームのソースをわかりやすく解説したこちらの記事をぜひ参考ください。
(参考)削除フォームブロックのソース解説
メール配信設定
キャンセルフォームを追加する場合には、既存の申込フォームブロックのメール設定を変更する必要があります。
申込みされた方宛にお送りするサンクスメールの設定に、クリックログイン用のURLが生成される差し替えキーワードを追加で設定します。
送信するメールでは、クリックログイン用のURLに変換して送信されます。

設定より前に申込みされた方がいる場合は、本番環境の設定画面から個別に手動配信を行うこともできます。
操作方法など、詳しくは「フォームのメールアクション」をご覧ください。

注意点
クリックログイン用のURLは受信された方の専用のURLです。
URLが漏れてしまった場合、他人のなりすましが可能になってしまうため、URLに有効期限をつけて利用いただくことを推奨しております。

キャンセル処理について

キャンセル処理に関しては、以下の2つの方法があります。
物理削除:対象のレコード自体を削除する方法です。物理削除の場合、データの復活はできません。
論理削除:削除フラグを用意して対象レコードの削除有無を判別する方法です。
今回は、物理削除を採用しており、方法としても推奨しております。(データ保持の観点やデータ容量の問題などから)
論理削除を行う場合は、削除フラグの登録設定や重複不可になっているレコードを空更新するなどの考慮をお願いします。

最後に

クリックログイン認証をもちいたキャンセルフォームの設計と考え方をご紹介しました。
他にもこういう事が知りたいなどあれば、下記の「コンテンツに関しての要望はこちら」からご連絡ください。

コンテンツに関しての
要望はこちら