2025年5月13日|カテゴリ:開発Tips
「チャット機能って作れますか?」
→ 「はい(作ったことないけど)」
これは開発者あるあるのひとつかもしれません。
FileMakerでチャット…と聞くとハードル高そうに思えますが、ポータルとリレーションをうまく組み合わせることで、シンプルな“なんちゃってチャットUI”は意外と簡単に実現できます。
今回はその基本設計を、初級者〜中級者向けにやさしく解説します。
【チャット】テーブル
・ID(主キー)
・送信者ID(例:ログインユーザーのアカウント名)
・受信者ID(またはルームID)
・メッセージ本文
・送信日時(タイムスタンプ)
※ 受信者IDを空欄にすれば「全体チャット」、値を入れれば「個別チャット」風にもできます。
FileMakerのポータル機能を使えば、メッセージの一覧表示は簡単です。
Set Variable [ $メッセージ ; 入力フィールド ]
New Record/Request
Set Field [ チャット::送信者ID ; Get(AccountName) ]
Set Field [ チャット::本文 ; $メッセージ ]
Set Field [ チャット::送信日時 ; Get(CurrentTimestamp) ]
Commit Records
Clear [ 入力フィールド ]
これだけで“送信”の処理が動きます。
「ユーザーごとの個別チャットがしたい!」というときは、チャットルームテーブルを1段追加します。
【チャットルーム】
・ルームID
・ユーザー1
・ユーザー2
これで「スレッドごとのチャット履歴」も実現できます。
FileMakerでのチャット機能は、「ポータル+リレーション+新規レコード」の組み合わせで驚くほど柔軟に組めます。
まずはシンプルな構成で試してみて、「送受信」「表示」「UI」を少しずつ進化させていくのがおすすめです。
“なんちゃってLINE”があなたのFileMakerアプリにもきっと作れます!