社内システム育成日記

デイサービスでの簡単なシステムをファイルメーカーで作成しています。備忘録を綴っていきます。

Notion APIの活用方法を探っています

▼前回ご紹介しました、Notion APIの話題です。 hotspiringday.hatenablog.com

まずは個人で活用してみようと思い、読書記録を作ってみました。

youtu.be

FileMakerから本の情報を簡単に入力し、感想など入力します。 f:id:hotspiringday:20210625215122j:plain

本のこの部分、この数字は書籍を特定するISBNコードです。 ja.wikipedia.org

このコードから本の名前や著者などの情報を取得できます。

ピッ!と読み取れれば良いのですが、今回はこのコードだけ手で入力することにして、本のタイトルと著者、表紙の画像リンクを引っ張ってきます。

APIは色々ありますが、登録不要なこちらを利用させてもらいました。

openBD | 書誌情報・書影を自由に

Notion APIはデータベースを作成することはできないため、あらかじめNotion 内にデータベースを作っておく必要があります。

Notion API

f:id:hotspiringday:20210625215900p:plain

今回はこのように作ってみました。表紙だけリンクであとはテキスト形式です。 f:id:hotspiringday:20210625215940p:plain

FileMakerからURLを挿入、cURLオプションを使ってNotion にデータを送ります。 f:id:hotspiringday:20210625220451p:plain ▲モザイクで隠れているのはtokenです

変数$jsonにはこのような情報が入っています。 f:id:hotspiringday:20210625220818p:plain

APIを色々と組み合わせることによって、簡単に読書記録を作ることができました。

FileMakerとNotion を連携させてみました。

Notionをご存知でしょうか?

Notionは簡単に言うと Evernoteの進化版のようなものです。 メモにも使えるし、Wikipediaみたいなページを作ることもでき、簡易的なデータベース機能もあります。

作ったページは共有したり、複数の端末から接続できます。

YoutubeでNotionを検索すると、色んな活用法が紹介されています。

youtu.be

そのNotion のAPIが公開されたので、さっそくFileMakerとも連携させてみました。

Notion API

FileMakerを業務で使う場合、5人以上で使う場合はFileMaker ServerやFileMaker Cloudを契約していると思いますが、5人以下の場合はちょっと勿体無い気がしてしまうかもしれません。

個人用データベースの延長で使いたいというニーズには、FileMakerのシングルライセンスとNotion がちょうど良いかもしれません。

Notionのデータベース機能とクラウドで共有できるところと、FileMakerのレイアウトやUIの作りこみ易さのコラボです◎

このコラボは訪問記録にも良いでしょうし、一部の情報をNotion を使って社外に出すような使い方も良いかなと思います。

よりClosedな情報はFileMakerで、社外に出すための情報はFileMakerで体裁を整えたものをAPIでNotion に送るようなイメージです。

FileMaker Goは開発はできないけど使うことはできて無料なので、ファイルだけFileMakerの開発者に作ってもらって、Notion と連携すればランニングコストはゼロでそこそこ便利な仕組みが使えてしまいます。

FileMaker Goで写真を撮ったり、バーコード読み取ったり… 色々な活用方法がありそうです!

JSON形式でのVirtual List活用【FileMaker】

hotspiringday.hatenablog.com

前回は緯度経度から2点間の距離を計算する方法をご紹介しました。

この話題、私が事務局として仲間に入れてもらっている、介護meetsFileMakerでも先日LTしました。

介護 meets FileMaker #4 みんなでわいわい集まって、医療×介護情報連携システムをFMで開発された事例をお聞きしよう! | Peatix

この記事では、LTでは時間がなくてご紹介できなかった、計算した距離のデータをバーチャルリストで表示させるところをご紹介したいと思います。

デモで、2つのテーブル(スポットAとスポットB)を用意しました。 スポットAは拠点となりそうな場所、スポットBは食べログさんから参照した、福岡 焼き鳥 人気ランキングTOP20のうちTOP10を参照しています。

tabelog.com

▼スポットA f:id:hotspiringday:20210514094222p:plain

▼スポットB f:id:hotspiringday:20210514094230p:plain

画面の動きはこんな感じ

f:id:hotspiringday:20210514115512g:plain

スポットAを選択すると、焼き鳥屋さんとの距離を計算して一度それらをグローバル変数にしています。 f:id:hotspiringday:20210514115726p:plain

▼バーチャルリストのテーブル定義 f:id:hotspiringday:20210514115818p:plain

距離というフィールドはなく、$$resultという変数を作るタイミングで距離を計算しています。 f:id:hotspiringday:20210514120155p:plain

この変数はFileMaker data API から実行スクリプトで作ってもらう形に合わせてみました。 バーチャルリストのテーブルは使い回す前提ですし、その方が良いと思いました。 f:id:hotspiringday:20210514121029p:plain

バーチャルリストだと、例えば今後お寿司屋さんのデータが入るスポットCというテーブルが新たにできたとして、結果を表示するレイアウトを作る手間が省けます。 ほぼスクリプトを追加するだけですね。

以前は改行区切りのリストを変数にしたバーチャルリストを作っていましたが、FileMakerJSON関数やdata APIを実行スクリプトを活用し、一旦JSON形式にすることで開発が楽になっています。

※バーチャルリストってそもそも何?という方はこちらの動画がわかりやすいのでぜひご覧ください。

community.claris.com

国土地理院API、ヒュべニの式を使って住所から距離を計算しました【FileMaker】

家から近いラーメン屋、コンビニ…など、距離順に情報を並べたい時があります。

距離を計算するためには、まず住所から緯度経度を求め、2つの緯度経度から距離を計算します。 平面だったら三平方の定理で簡単なのですが、地球は丸いのでちょっと複雑になります。

住所から緯度経度を求める

住所から緯度経度を求めるAPIはいくつかあります。 GoogleAPIでも良いのですが、クレジットカードを登録する必要があり、使いすぎたらお金がかかる仕様になっていて、ちょっと不安です。 そこでとっても良心的なサービス ”国土地理院API”です。

登録なしで利用できます。大量にアクセスするのはやめてくださいね、と注意書きがあります。 マスタ登録するたびにリクエストする、といった常識的な使い方をしていきます。

FileMakerではURLを挿入スクリプトでリクエストします。 返ってきた結果(JSON形式)をちょっと形を整えて、緯度フィールド、経度フィールドに値を入れます。 (結果に[]がついていたのでそれを取り除いたり)

ヒュベニの式を使う

f:id:hotspiringday:20210508164400p:plain

計算式を丸ごと載せてしまうとこんな感じです。 地球の丸みも考慮した計算ができるんですね!

ポータルとボタンバーを使うと、距離を出すためだけのテーブル(家とラーメン屋なら家IDとラーメン屋IDをもったテーブル)を作らずとも、近い距離のリストを表示することができます。 f:id:hotspiringday:20210409105353p:plain

ポータルのフィルタに計算式を入れることができるので、例えば15km圏内のリストを表示させることができます。

ただ、FileMakerのポータルのソートは、フィールドを指定しないとできないので、距離が近い順に並べようと思うと一度どこかフィールドに入れる必要があります。 (私はバーチャルリストを作って、ソートをかけました!)

自社システムで初めての確定申告も無事終了!

昨年8月に開業してから、初めての確定申告を無事に終えることができました!

簿記3級の本と、個人事業主のための本で一通り確定申告するための知識を得て、FileMakerで仕訳をすれば簡単に確定申告で必要な数字が出てくるようにしてみました!

f:id:hotspiringday:20210408220005p:plain

▲こんな感じです。

勘定科目マスタ、仕訳帳、仕訳詳細を用意し、仕訳詳細にはFg借方、Fg貸方が用意されています。 仕訳詳細を集計すれば、青色申告するための数字は大体手に入ります。

なかなか使い勝手が良く、取引発生主義で入力できています!

f:id:hotspiringday:20210408220632p:plain

自分で使うだけなのでそんなに凝ったものではないですが、請求書や領収書も発行できるようになっていて、結構可愛くて気に入っています。

FileMaker選手権に参加しました。

昨年末から年始にかけて募集されていたFileMaker選手権に応募し、審査員特別賞をいただきました!

news.mynavi.jp

FileMaker選手権は前回最後に開催されたのが2014年、私がFileMakerを知ったのが2017年の終わり頃なので、初めての応募できるチャンスでした。

FileMakerを始めたころ、2014年の受賞作品の中身を見ながら「こういう風に作るんだ〜」と学んでいたので、今回そこに受賞作品として掲載されることに感慨深さがあります。

hotspiringday.hatenablog.com

私が作ったのはヴァイオリン教室アプリです。 友人がヴァイオリンの先生をしていて、その話から着想しています。 (アプリのテーマカラーはかなりその教室に影響されていますw)

f:id:hotspiringday:20210320122221j:plain

youtu.be

ヴァイオリン教室のように1対1でのサービスは、記憶を頼りにしてしまいがちですが、記録をつけることで客観的に分析することができるのではないでしょうか。

IT化の必要に迫られている分野ではないかもしれませんが、コンテストに出たりプロを目指すような本気な生徒さんが通うような教室には良いかもしれません。

マネージャー的な役割をヴァイオリンの先生が担うとすれば、ぜひFileMakerを導入しこのアプリを元にオリジナルなデータベースを作って欲しいです。

これを元にカスタマイズするとしたら、

  • 動画の撮影・共有

  • 楽譜の書き込み・共有

  • ご家族や他の先生との連携

など色々できるかなと思います。もちろん他の楽器のレッスンにも応用可能です!

受賞したアプリは制作期間2日ほど。締め切り間際に慌てて提出したもので、機能も最小限。 これだけで痒いところに手が届く業務システムにはならないと思うので、ぜひカスタマイズして使ってもらえると嬉しいです🐧

f:id:hotspiringday:20210320124301j:plain

▲いただいた賞品です!かなり贅沢なハムをいただきました😆 ありがとうございます。

*追記* Podcastでハムをもらって嬉しかったとお話ししています。笑

open.spotify.com

昨年のカンファレンス動画がYouTubeにあがっています!

昨年11月に行われたFileMakerのカンファレンス ”Claris Engage Japan2020” 初のオンライン開催でしたが、そのおかげもあり、たくさんのセッションがアップされました。

私も平成生まれの開発者枠(Next Generation)で、初登壇させていただきました。 hotspiringday.hatenablog.com

youtu.be

昨年は個人事業主として活動していくにあたり、発信活動に挑戦した1年でした。 初めてホームページを作ったり、動画制作に挑戦したり…

全然中身のないものですが、実は音声配信も始めました。弟との雑談です。 open.spotify.com

開発もものづくりですが、発信のコンテンツを作るのはまた違ったむずかしさがありますね。

初めてのことばかりで失敗も多い1年でしたが、まずは色々と挑戦して今年も頑張りたいと思います。 (新年の挨拶っぽくなりましたが、あけましておめでとうございます。言ってなかったですね。)

あけましておめでとうございます🎉

昨年末に登壇した株式会社サポータス主催 さぽらぼの内容もぜひご覧いただければと思います。 www.youtube.com

定期的に開催されるセミナーで、FileMakerに興味がある方にはおすすめです。