FileMakerのWebビューアで使うカレンダーを調べてみた

更新

2019-01-20

fmSimpleCalendarをGitHubに公開しました


こんにちは。
株式会社フルーデンスの小巻です。

fmOAuthでGoogleカレンダーの連携をしていて、せっかくならGoogleカレンダーに近いUIで実装したい、と思うようになりました。

そこで、Webビューアでカレンダーを表示する際に、良さそうなライブラリーなどを調べたので、紹介したいと思います。

利用する際には、ライセンスなど確認してください。

FullCalendar

https://fullcalendar.io
https://github.com/fullcalendar/fullcalendar

filemaker-webviewer-calendar-library1

FileMakerで、カレンダーといえば FullCalendar というくらい、定番だと思います。
海外では、FullCalendarを組み込んだファイルを販売している会社があるので、相性がよいのだと思います。

実際につかったことがありますが、使いやすく日本語の情報も多いので、少し調べれば比較的簡単に実装できると思います。
ドキュメントがわかりやすくまとまっているので、読めば理解できると思います。

ライセンス

MIT License

Wikipediaより
https://ja.wikipedia.org/wiki/MIT_License

要約すると、MIT Licenseとは次のようなライセンスである。
このソフトウェアを誰でも無償で無制限に扱って良い。ただし、著作権表示および本許諾表示をソフトウェアのすべての複製または重要な部分に記載しなければならない。
作者または著作権者は、ソフトウェアに関してなんら責任を負わない。

FullCalendar Scheduler

https://fullcalendar.io/scheduler/

filemaker-webviewer-calendar-library7

先ほど紹介した FullCalendar のアドオンです。

ライセンスが、FullCalendarと違うため、利用の際は確認してください。

ライセンス

https://fullcalendar.io/scheduler/license/

続きを読む →

fmOAuth(0.0.2)の機能を使ってFileMakerとGoogleカレンダーの連携や、Gmailをダウンロードしてみた

こんにちは。
株式会社フルーデンスの小巻です。

先日、2つの簡単な記録を書きました。

fmOAuth(0.0.2)に、GmailのAPI(ダウンロードと送信)を実装しています

fmOAuth(0.0.2)に、OAuth認証(Google)に任意のアプリを利用できる機能を実装しています

伝わらないと思い、あたらめて動きを動画にしてみました。
動画をみていただけると、どんなことができるかわかるかと思います。

今回は、サンプルファイルを大きく修正していますので、リリース後にダウンロードしていただければと思います。

引き続き、開発していきます!

このあとは、Webビューアを使って、カレンダーを実装したいと思います。

API連携のテストには “テキストを挿入” がおすすめ

こんにちは。
株式会社フルーデンスの小巻です。

FileMaker 16 より URL から挿入 が大きく改良されました。
cURLオプション を使えるようになった点がすごく大きいですね。

知らない方も多いようですが、バージョン15でも httpspost などは使えてたんですよね。

https://www.filemaker.com/help/15/fmp/ja/#page/FMP_Help%2Finsert-from-url.html

[URL から挿入] は、http、https、httppost、httpspost、ftp、ftps、および file プロトコルをサポートします。FileMaker Pro は、URL によってターゲットフィールドに指定されたリソースをダウンロードします。

ただ、外部サービスとの連携をする際には、デフォルトの機能ではできないことが多く、私は BaseElementsプラグイン を利用して、cURLコマンドを実行していました。

https://baseelementsplugin.zendesk.com/hc/en-us/articles/203843738-BE-HTTP-POST

BE_HTTP_POST ( url ; parameters { ; username ; password } )

Does a http POST function and returns the results. This uses the curl library so output will be similar to that. This is used in conjunction with the BE_HTTP_Set_Custom_Header function to set custom headers in advance and the BE_HTTP_Response_Code and BE_HTTP_Response_Headers functions to get the result values after the POST is complete.

話を戻しまして。

API連携をする際に、cURLオプションに色々と記述するわけですが、FileMakerの計算式で書くには、少ししんどいケースがあります。

続きを読む →

fmOAuth(0.0.2)に、OAuth認証(Google)に任意のアプリを利用できる機能を実装しています

こんにちは。
株式会社フルーデンスの小巻旭洋です。

タイトルからは少し分かりづらいかもしれませんが、同意画面を fmOAuth ではなく、任意のアプリに置き換えることができるように実装しています。

ということで、自分のGoogleアカウントでコンソールにログインし、アプリを作成してもらい、引数を渡していただければ利用できます。

自分のアプリを作成する方法は、別で記事を書きます。

fmOAuthの同意画面

デフォルトでは、以下のような同意画面です。

fmoauth-002-google-oauth-application1

任意のアプリの同意画面

コンソールでアプリを作成し、アプリの情報をスクリプト引数で渡すと、以下のような同意画面になります。

fmoauth-002-google-oauth-application2

スクリプト(画像)

fmoauth-002-google-oauth-application3

スクリプト(コード)

# 
# ──────────────────── Parameter
# 
# case fmOAuth
# 
If [ True // fmOAuth ] 
	テキストを挿入 [ 選択 ; $scopeList ; 「https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/drive https://mail.google.com/」 ] 
	変数を設定 [ $param ; 値: JSONSetElement (  "{}" ;  [ "scopeList" ; $scopeList ; JSONString ] ) ] 
End If
# 
# case Your Google App
# 
If [ False // Set CustomFunction from Your Google App Information ] 
	変数を設定 [ $appId ; 値: z_yourGoogleAppId ] 
	変数を設定 [ $secret ; 値: z_yourGoogleAppSecret ] 
	変数を設定 [ $redirect ; 値: z_yourGoogleAppRedirect ] 
	テキストを挿入 [ 選択 ; $scopeList ; 「https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/drive https://mail.google.com/」 ] 
	変数を設定 [ $param ; 値: JSONSetElement (  "{}" ;  [ "appId" ; $appId ; JSONString ] ;  [ "secret" ; $secret ; JSONString ] ;  [ "redirect" ; $redirect ; JSONString ] ;  [ "scopeList" ; $scopeList ; JSONString ] ) ] 
End If
# 
# ──────────────────── Perform Script
# 
スクリプト実行 [ 「0307.Get Refresh Token Google ( appId ; secret ; redirect ; scopeList )」 , ファイル: 「fmoauth」 ; 引数: $param ]
# 
# ──────────────────── Response Data
# 
If [ IsEmpty ( FilterValues ( JSONListKeys ( Get ( スクリプトの結果 ) ; "" ) ; "refresh_token" ) ) ] 
	# error
	フィールド設定 [ USER::googleRefreshToken ; Get ( スクリプトの結果 ) ] 
Else
	# ok
	フィールド設定 [ USER::googleRefreshToken ; JSONGetElement ( Get ( スクリプトの結果 ) ; "refresh_token" ) ] 
End If
# 

1件のコメント

fmOAuth(0.0.2)に、GmailのAPI(ダウンロードと送信)を実装しています

こんにちは。
株式会社フルーデンスの小巻旭洋です。

久しぶりのブログです。みなさまご無沙汰しております。

去年(2017年)の年末に fmOAuth というサービスのベータバージョン(0.0.1)をリリースしました。

リリースした後、しばらく開発することができなかったのですが、少し時間ができたので継続して開発を進めています。

今回のリリース(0.0.2)では Gmail のAPIにアクセスできるようにスクリプトを追加しました。

そのため、Gmailをダウンロードできるようになり、API経由でのメール送信ができるようになりました。

メール送信については、ファイルメーカーのスクリプトステップでメール送信できるので不要かと思いましたが、せっかくですので実装しました。
(ちなみに、現在のところはプレーンテキストの送信になります。)

Gmail API

fmoauth-002-gmail-api-download-send1

Gmail API レスポンスデータ(画像)

fmoauth-002-gmail-api-download-send2

Gmail API レスポンスデータ(JSON)

{
	"messages" : 
	[
		{
			"id" : "1617d8aa4f69f846",
			"threadId" : "1617d8aa4f69f846"
		},
		{
			"id" : "1617d87efe69da91",
			"threadId" : "1617d87efe69da91"
		},
		{
			"id" : "1617d3c7d8bba069",
			"threadId" : "1617d3c7d8bba069"
		},
		{
			"id" : "1602efb1eafc3062",
			"threadId" : "1602efb1eafc3062"
		},
		{
			"id" : "1602edd4d91518e5",
			"threadId" : "1602edd4d91518e5"
		}
	],
	"resultSizeEstimate" : 5
}
fmperception-diff-viewer

FMPerception の diff を見やすくするためのファイルを作ってみた

fmperception-diff-viewer3

こんにちは。
株式会社フルーデンスの小巻旭洋です。

FMPerception の diff を見やすくするためのファイルを作成しました。

FileMakerの開発者であれば、FMPerceptionBaseElementsInspectorPro、などを使っている人が多いと思います。

私は、以前は BaseElements を利用していましたが FMPerception がリリースされてからは BaseElements をほとんど利用していません。

ということで、普段は FMPerception を利用しているのですが FMPerception の diff のレポートが、少し分かりづらいなと感じています。
(もしかしたら私のやり方が悪いのかもしれませんので、認識が間違っていたらご指摘ください。)

そこで、diffを見やすくしたいなと思いささっと作成しました。

GitHubにて公開していますので、宜しければ見てみてください。

fmperception-diff-viewer

https://github.com/teruhirokomaki/fmperception-diff-viewer

まだ分析ツールを購入していない開発者の方

因みに、分析ツールを利用せずに「データベースデザインレポート(DDR)をHTMLでエクスポートしてブラウザで見てる。」なんて人は今すぐに分析ツールを買いましょう。
開発者や開発会社であれば、買わない理由がないですし、積極的にサードパーティのツールを導入して自分の時間を効率よく使いましょう。

FMPerception や BaseElements のレビューは、追って記事にしたいと思います。

setsumeikai_seminar
1件のコメント

9月12日のWebセミナーで利用したデモファイルのダウンロードについて

こんにちは。
株式会社フルーデンスの小巻旭洋です。

Webセミナーにご参加頂きまして、ありがとうございます。

以下のフォームに入力して頂けますと、Webセミナーで利用したデモファイルをダウンロードできます。

GitHubで公開しましたので、ご自由にダウンロードして頂ければと思います。

ダウンロード

https://github.com/teruhirokomaki/filemaker-webseminar-curloption

デモファイルのイメージ

cURLオプションを使ってDropboxを操作しよう

バージョン16で改良された「URLから挿入」と「cURLのオプション」を活用し、Dropboxを操作するデモをご紹介します。外部サービスと連携し、カスタム Appをより便利に活用しましょう。
– Dropboxにある各種データの情報を取得する
– FileMakerからDropboxに各種データをアップロードする
– Dropboxにある各種データのテンポラリーなURLを取得し閲覧する
– その他活用方法など

※メールが届くまで少し時間がかかるかもしれませんので、ご了承ください。

setsumeikai_seminar
2件のコメント

9月5日のWebセミナーで利用したデモファイルのダウンロードについて

こんにちは。
株式会社フルーデンスの小巻旭洋です。

Webセミナーにご参加頂きまして、ありがとうございます。

以下のフォームに入力して頂けますと、Webセミナーで利用したデモファイルをダウンロードできます。

GitHubで公開しましたので、ご自由にダウンロードして頂ければと思います。

ダウンロード

https://github.com/teruhirokomaki/filemaker-webseminar-json

JSON関数を使って外部サービスの情報を取得しよう

バージョン16で登場した新しいJSON関数について、どのような使い方が出来るかデモを通してご紹介します。外部サービスと連携し、カスタム Appをより便利に活用しましょう。
– 住所から緯度経度を取得する
– 2つの緯度経度から距離を取得する
– 外部サービスからJSONデータを取得する方法
– 取得したJSONデータをフィールドに設定する
– 取得したJSONデータからレコードを作成する
– その他活用方法など

※メールが届くまで少し時間がかかるかもしれませんので、ご了承ください。

addfmcal-google-calendar
2件のコメント

FileMakerのカレンダーとGoogleカレンダーの同期を試みる

addfmcal-google-calendar

更新

2019-01-20

fmSimpleCalendarをGitHubに公開しました


こんにちは。
株式会社フルーデンスの小巻旭洋です。


追記:2017-12-25
2017/12/23のFM-Tokyoにて発表した内容の一部を記事にしました。

Integromatを使いFileMakerとGoogleカレンダーを簡単に連携する
https://frudens.jp/filemaker-google-integration-integromat/


追記:2017-12-13
FileMakerからGoogleやMicrosoftなどのAPIに簡単に連携できる “fmOAuth” というファイルをリリースしました。
ベータバージョンですが、宜しければ以下のURLよりダウンロードしてご利用頂ければと思います。
https://frudens.jp/fmoauth/


以前 FileMaker Go でカレンダー機能を実装してみた という記事をかきました。

カレンダーを表示するロジックが形になってきたので、今回はGoogleカレンダーとの同期にチャレンジしてみようと思います。

Googleカレンダーのデータを参照するためにググってみると「カレンダーを公開設定」にして。。。というブログが多いです。

しかし、Googleカレンダーを公開することは考えていないので、今回は OAuth でアクセスすることにしました。

GoogleのAPIにアクセスできるので、色々なことができるようになります。

あまり認知されていないかもしれませんが Google Fusion Tables というデータベースにも、アクセスできます。

続きを読む →

filemaker-google-integration
2件のコメント

ModularFileMaker の #Parameters の使い方と活用方法について

こんにちは。
株式会社フルーデンスの小巻旭洋です。

FileMaker開発者がスクリプト引数を使う場合、多くの方が Goya社の SetProperty ( Name ; Value ), GetScriptProperty ( propertyName ) を使っていると思います。

https://www.goya.com.au/category/blogtags/script-parameters

今回は SetProperty ( Name ; Value ) と同じように使えるカスタム関数 #Parameters の紹介です。
多少の違いはありますが、どちらを使っても同じことが実現できますので、お好みで使って頂ければと思います。
私は #Parameters を利用しています。

#Parametersとは

ModularFileMaker にあるモジュールのひとつです。
ダウンロードは FileMakerStandards.orgGitHub からダウンロードできます。

カスタム関数の Created を確認すると Jeremy Bante さんの名前があるので、おそらく Jeremy Bante さんが最初に作られたのだと思います。


追記:2017/03/28
尊敬する Jeremy さんよりコメントを頂きました。
英語が苦手なため少し心配ですが追記致しました。

#Parameters の開発には Jeremy Bante さんは、もちろんのこと Dan Smith さん Matt Petrowsky さんも、関数の設計と実装に大きく関わっているとのことです。
尊敬する開発者の皆様に心から感謝致します。

Jeremy Bante

Dan Smith

Matt Petrowsky

Six Fried Rice
http://sixfriedrice.com/wp/

大変ありがたく使わせて頂いております。
感謝の気持ちでいっぱいです。
海外の開発者のかたは、オープンなのでいつもいつも勉強させて頂いております。

上記のURLを見て頂き、実際のファイルを確認するのが一番早いですが、英語に抵抗がある方もいると思うので、簡単に使い方を紹介できればと思い記事にしました。

続きを読む →

shortcuts-filemaker-1

FileMakerの任意のメニューをショートカットに登録する

こんにちは。
フルーデンスの小巻です。

皆さんは普段からショートカットを使っていますか。
できる限りキーボード操作で開発ができると生産性は高まりますよね。

今回は、FileMakerの “スクリプトデバッガ” をショートカットに登録したいと思います。

macユーザーのほとんどの方が、BetterTouchToolを使っていると思いますので「ショートカットはBetterTouchToolで登録してるので。」という方には不要かもしれません。

今回はOSのショートカットに登録します。

続きを読む →

sublime-text-filemaker-syntax
1件のコメント

FileMaker のコードを Sublime Text 3 で シンタックスハイライトする

今年の「FileMaker カンファレンス 2017」の開催要項が発表されました。
10月23日(月)から3日間、パシフィコ横浜で開催されます。

インハウス開発者の皆様はスキルアップや情報収集のために、ぜひご参加をご予定ください。

http://www.filemaker.com/jp/conference/2017/

こんにちは。
フルーデンスの小巻です。

FileMakerのバージョン14から、コードを書くときに補完してくれるようになったので、以前に比べてかなり開発しやすくなってきました。
ただ、カスタム関数やデータビューア、複雑な計算式を書く際には、FileMakerの “式の編集” ではコードの見通しが悪くなります。

そもそも「複雑な計算式を書かないようにする」という点を意識すべきではありますが・・・

皆さんは、エディターとか使うのでしょうか?

私は好きなエディターでコードを書きたいので、色々なエディターを試してきました。

IntelliJ IDEA、Sublime Text、CotEditor、TextMate、Brackets、Atom、Vim・・・
色々と使いましたが、いまは Sublime Text の使用頻度が高いです。

ということで、自分のために Sublime Text で、FileMakerのコードをハイライトするようにしました。

しいてあげれば

  • エディターで書くことで検索できる
  • 他の開発者と共有しやすい
  • FileMakerがクラッシュしても大丈夫
  • 誤ってエスケープしても大丈夫

とかがメリットでしょうかね。早速、設定してみます。

続きを読む →