CookBook

Formaの実行画面でアクセスログを収集する

投稿日:2017-01-04 更新日:

このCookBookでは、Formaの実行画面で、アクセスログを収集する方法を紹介します。
サンプルでは、登録画面を開いた時点とデータ登録を実行した時点で、ログを収集します。
ログを収集することで、登録画面を開いたのみのアクセス数と実際に登録し処理を実施したアクセス数を、把握することができます。

完成イメージ


1. 画面上にスクリプトを配置し、Forma登録画面を開いた時点で、DBにアクセス情報を格納します。
2. 登録処理を実行した場合、Forma後処理にて、①で登録したデータのStatusを更新します。

im_cookbook_115418_1

完成サンプル

以下の完成サンプルをダウンロードしてご活用ください。

サンプルは以下の環境で動作を確認できます。

  • テナント環境セットアップで、サンプルデータがインポート済みであること

レシピ

  1. アクセスログを蓄積するテーブルを作成する。
  2. 画面表示時にアクセスログを取得するAjax処理を作成する。
  3. 登録時にアクセスログを更新するForma後処理を作成する。
  4. Formaアプリを作成する。
  5. 作成したFormaアプリにて、「Regist」ボタンをクリックする。

設定項目の詳細は、添付のサンプルを参照してください。

1. アクセスログを蓄積するテーブルを作成する。

アクセスログを蓄積するテーブルを作成します。
サンプルでは以下の最低限の情報を格納するテーブルを作成します。


log_id : 一意キー
user_cd : アクセスユーザ情報
title : アクセス画面を特定できる情報
status : アクセス状況(1:登録画面表示、2:登録処理実行)

2. 画面表示時にアクセスログを取得するAjax処理を作成する。

リクエストで、log_id・titleを受け取り、ユーザ情報を付加してデータベースに書き込む処理を作成します。
log_idは、画面表示毎で一意で採番され、Forma後処理で参照できる値である必要があります。
サンプルでは、上記の条件を満たし、Formaアプリにて作成されるプロセスキーを利用します。

詳細はサンプルを参照してください。
該当ソース:src/im_cookbook_115418/ajax/beacon.js

コラム
プロセスキーは、Formaが画面作成毎に一意で作成している値となります。
Forma実行画面、Forma後処理等で参照することができます。

3. 登録時にアクセスログを更新するForma後処理を作成する。

プロセスキーを主キーとして、statusを更新する処理を作成します。

詳細はサンプルを参照してください。
該当ソース:src/im_cookbook_115418/user_program/postprocess_beacon.js

4. Formaアプリを作成する。

アクセスログの取得対象となるFormaアプリを作成します。
画面アイテム「スクリプト」を配置し、2.で作成した処理に対し、リクエストを送信します。
log_idは、imfr_process_keyより取得します。
titleは、対象画面を区別するために、スクリプト内で任意に設定します。

詳細はサンプルを参照してください。

5. 作成したFormaアプリにて、「Regist」ボタンをクリックする。

作成したFormaアプリの登録画面を表示します。
画面表示時にアクセスログが取得され、登録ボタン押下時にアクセスログが更新されます。

-CookBook
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

IM-LogicDesignerで、Redmineカスタムクエリのチケット一覧を取得する方法

このCookBookでは、IM-LogicDesignerを使用してRedmineのチケット (issues) 一覧を取得する方法を紹介します。 Redmineは、外部からチケット一覧を取得するための …

no image

WebServer へのリクエスト情報から動的に BaseURL を決定する方法(Apache 編)

ここでは、WebServer(Apache)へのリクエスト情報から BaseURL を動的に決定する方法を BaseUrlProvider のサンプル実装、Apache との連携例と共に紹介します。 …

BloomMakerでワークフロー処理モーダルと動的処理対象者設定機能を利用してWorkflowコンテンツを作成する

このCookBookでは、BloomMakerで、ワークフロー処理モーダルと動的処理対象者設定機能を利用したWorkflowのコンテンツを作成する方法を紹介します。 本稿では、BloomMakerでワ …

IM-BISの処理画面でIMBoxのチャットを利用してコミュニケーションする方法

このCookBookでは、IM-BISの処理画面でIMBoxのチャットを利用してコミュニケーションする方法を紹介しています。 本稿では、案件単位にIMBoxのダイレクトメッセージ(以降DM)を作成し、 …

no image

スクリプト開発で利用できる close 関数のご紹介

この CookBook では、スクリプト開発で利用できる close 関数について紹介します。 スクリプト開発では作成した js ファイルの中に init と言う名前の関数を定義すると思いますが、この …