JPタワーにあるSalesforceオフィスで開催された開発者向けMeetupに参加しました。今回で11回目です。
自分もSpring'16のApex新機能についてLTをやらせて貰いました。
LTでつかったスライドはこちらです。
小ネタですが、SlideShareにアップしたときに一部文字がちゃんと表示されないトラブルに遭遇しました。フォントを別のものに変更したら解決したので、LTのときとはフォントは別のものになっています。
新機能はいくつかありますが、個人的に特に抑えておきたいのは以下の機能です。
- Apexテストスイート
- Apexテスト失敗しきい値設定
- Apexからのレコードロック判定
- Connect API (Chatter in Apex)
※他にも便利な新機能はたくさんあったので、くわしくはスライドまたはリリースノートをご確認ください。
特にConnect APIの部分に興味を惹かれました。スライドにも記載しましたが、実際にVisualforceページで作ってみてデモ動画も用意してあります。
Connect API自体はずっと前からあったのですが、引数の準備などが少し複雑でちょっと入りづらい感じでした。ですが今回AngularJSをつかってJavaScript Remotingメインの処理で試してみたところ、すんなり実装することができました。
Connect APIはConnectApi.AnnouncementInputクラスやConnectApi.BannerPhotoクラスなど少し特殊な形で戻り値を受け取ることになり、戻ってくる値もさまざまな変数にセットされて戻ってきます。
ApexのSystem.debugでチェックすると、ちょっと確認しきれなかったのですが、JS側に渡してconsole.logで確認することで、確認しやすくなりました。
今回作成したサンプルコードはGitHubにアップしてあります。Connect APIは気になるけどちょっと良くわからないという人の力になれると思います。
また、今回自分の方で確認しきれなかったところで、Apexのレコードロック判定の話があります。LT後に米井さんからも少し補足して頂けましたが、ちょっと落とし穴があるみたいです。
LT終わった直後でソワソワしてちゃんと聞けてなかったのですが、以前ツイートしてくれていたレコードロック判定は「Apexからのレコードロックが有効」になっていないとExceptionになるという話だったと思います。(別の話だったらスミマセン。。)
こんな感じで思わぬ落とし穴があったりするので、一度自分のDeveloper環境で動かしてみると良さそうです。
まだちゃんと確認できていなくて今日あまり話せなかった部分については、また今度ちゃんと試してブログにまとめてみたいと思います。
今回のMeetupでもふだん話す機会のないような人たちともお話することができました。特にForce.com開発をやってるよって話が聞けたりしてとても楽しかったです。
最後に今回もSalesforceさんから🍕と🍺をごちそうになりました。すごくおいしかったです。ありがとうございました。