セールスフォースの豆知識2.0

セールスフォースの開発に役立つTipsをメインに、セールスフォースの新機能や関連ニュースなどをお届けします。

Dreamforce 2019 Day0 〜Dreamforceへ行ってきます!〜

こんにちは。CI事業部の高橋です。

いよいよ明日19日からDreamforceが開催されます!

フレクトは7名でエントリーし、サンフランシスコに向かいました。

本日は現地の状況についてお伝えいたします。 

 

■Dreamforceとは?

salesforce.com社が開催する年1回のイベントです。

今年は11/19〜11/22の4日間開催されます。

Salesforceの新機能やサービスの発表を始め、

・多数のセッション

・事例紹介

・世界の開発者と会える。

・チャリティーイベント

と、内容盛りだくさんのイベントで、salesforceに携わる人であれば是非とも参加したいイベントです。

 

どこでやるの?

サンフランシスコです。日本からだと飛行機で約9時間かかります。

 

前日の様子

本日一足先に会場に足を運びましたが、Dreamforceのストラップやバックパックを持っている人が多数いて、イベントの規模の大きさを改めて実感しました。

また、サンフランシスコ自体もSalesforceのイベントに向けて広告がDreamforceのものに差し替えられており、 街中が活気にあふれていました。

f:id:flect-kohei:20191119154353j:plain

Dreamforce登録時にもらえるストラップとバックパックです。

f:id:flect-kohei:20191119154606j:plain

サンフランシスコもSalesforce一色です!

 

Dreamforce期間中に新しく発表された情報につきましては、本ブログにてアップしていきますので、是非ウォッチしてみてください。

 

Salesforceで利用する非同期処理について

こんにちは、なかやまです。

このブログはSalesforce Platform Advent Calendar 2017の15日目の投稿になります。

 

最近同僚から”トリガから呼び出したfutureメソッドがエラー(UNABLE_TO_LOCK_ROW)になるので、Queueableを使ってみたところエラーが解消されたのだが、果たしてこの使い方で良いのか!?”という相談を受けました。私自身Queueableを利用したことがなかったので、整理してみたいと思います。

※futureやQueueableは非同期処理のことです。

 

ちなみにSalesforceにはTrailheadというオンラインで利用できる学習教材があります。Trailheadをご存知の方でしたら、こちらのモジュールにチャレンジするとより理解できると思います。

参考) リファレンス:非同期Apex

 

はじめに

Salesforceで開発するには出来るだけ処理に負荷がかからないコードを書く必要があります。どの程度までOKなのかは、Webサイトにまとまっているので開発者は常に意識しましょう。ちなみに処理中にガバナを越えるとエラーが発生して処理が中断してしまいます。怖いですね。負荷をかけないために、非同期で実行できる様々な方法があります。1つずつみていきましょう。

参考)Apex ガバナ制限

 

Salesforceで利用できる非同期機能

現時点では、以下の4つの機能が提供されています。

  • @futureメソッド
  • Queuable (Winter'15〜)
  • Apex Batch
  • Scheduled

 

@futureメソッド

とある処理を非同期で呼ぶ時に利用します。今までSalesforce開発をしてきましたが、利用機会はそこまで多くありません。標準のトランザクションでどうしても処理ができない場合に利用します。

global class FutureMethodRecordProcessing
{
  // 1:メソッドにアノテーション@futureをつける。戻り値はvoid @future
  // 2:引数はプリミティブな変数のみ public static void processRecords(List<ID> recordIds) { // Get those records based on the IDs List<Account> accts = [SELECT Name FROM Account WHERE Id IN :recordIds]; // Process records } }

 

<ケース1:DML操作で同時に処理できないオブジェクトの更新>

SalesforceではDML処理で同一に処理できないオブジェクトがあります。例えば、取引先責任者(Contact)とユーザ(User)を同時に作成しようとするとエラーが発生します。この場合に取引先責任者(Contact)は現状のトランザクションで処理をし、成功したら@futureメソッド内で処理するようにします。

参考)DML 操作で同時に使用できない sObject 

※非同期処理にしてしまうと、呼ばれた先でエラーになった場合のハンドリングが面倒になるので、その辺りもしっかり設計した上で実装しましょうね。

 

<ケース2:トリガが呼ばれた場合にコールアウト>

オブジェクトのトリガをキーにコールアウトをしたいケースの場合もよくあります。Salesforceの中ではトリガ処理内でコールアウトをするとエラーが発生します。トリガ内で外部コールアウトをするためには、コールアウトOKな非同期メソッドを呼び出す必要があります。

@future(callout=true)

 

ちなみに、コールアウトの頻度が少ない場合(運用上そこまで大量レコードの更新がない、〇〇が変更された場合のみ)は、アウトバウンドメッセージという仕組みもあります。こちらは UI上で設定ができるようになってます、トリガと違って送信する値の加工ができないのですが、データ受け取り手側で頑張れるのであれば、こちらの方法も使えますよ。

↓ワークフローを使用したコールアウトのあたりを参考に

 

参考)リファレンス:アウトバウンドメッセージについて

 

<ケース3:ガバナの壁を超えてしまった>

 いくつかの項目は非同期として呼ぶことで、ガバナが緩和されます。

  • 発行される SOQL クエリの合計数 100→200
  • ヒープの合計サイズ 6 MB→12 MB
  • Salesforce サーバの最大 CPU 時間 10,000 ミリ秒→60,000 ミリ秒

ガバナが緩和されるのは嬉しいのですが、保守を続けていくうちにまたガバナの壁を越えることもあります。。そこで既存のfutureメソッド処理を分割して、futureメソッドを呼び続けるとうまくいく気がしますが、、動かしてみるとエラーになってしまいます。futureメソッドからfutureメソッドを呼ぶことはできないのです。もどかしい気がしますが、この辺りが次に紹介するQueuableで解消されます。

 

<futureの制限>

・1トランザクションで呼べるのは50個まで(トリガ内で1レコードにつき1コールするとガバナエラーになるよ。まとめて1コールで済むように実装しましょう)

・futureからfutureの呼び出しNG

・緩和されるガバナもあるよ

・メソッドの引数はプリミティブな変数のみ(sObjectを渡すことはできないそうです。なんでも非同期処理のため、処理をする際にオブジェクトの情報が変わってしまうことを想定しているそうです。へー。)

・複数のfutureメソッドが同時に実行される可能性がある(レコードのロックに注意)

・戻り値はvoid

・トリガでは正常終了しないとfutureメソッドが呼ばれない

参考) help:トリガ内から@futureメソッドを実行した際の動作について

 

Queuable

とある非同期処理を呼ぶことができます。ジョブIDが返却されるので画面上で監視もできます。さらにQueuableからQueuableを呼ぶこともできます。futureよりも重たい処理や制限のある処理を作りたい場合に使えます。

public class AsyncExecutionExample implements Queueable {
// 1:↑Queueableインターフェース
  // 2:void型。
public void execute(QueueableContext context) { Account a = new Account(Name='Acme',Phone='(415) 555-1212'); insert a; } }

// 呼び出し方(引数がある場合は、クラス生成時にパラメータとして渡したりする)
ID jobID = System.enqueueJob(new AsyncExecutionExample());

 

<ケース1:非同期処理が終わったら、別の非同期処理を呼ぶ>

futureメソッドでは実現できなかった、非同期処理から非同期処理を呼ぶことができます。トランザクションは分かれるものの、処理が重いものや外部コールアウトをするため処理時間がかかりそうなもの、を処理分割しておき順に起動することができます。

 

<ケース2:sObjectの情報をQueuableに渡して処理する>

futureメソッドの場合はプリミティブな変数のみでしたが、Queuableでは非プリミティブ変数の受け渡しが可能です。計算途中のオブジェクトを次の非同期処理に引き渡すことこともできそうですね。

 

<Queuableの制限> 

・1トランザクションで呼べるのは50個まで(futureと同じ)

・Queuableインターフェースを実装する 

参考)リファレンス:Queueable Apex 

 

Apex Batch

みんな大好きApex Batchです。Salesforceの中で大量データの処理をする場合は、間違いなく利用します。対象となるオブジェクトのクエリを定義し、そのクエリが200行ずつexecuteのメソッドとして呼ばれ、最後はfinishメソッドが呼ばれて処理が終わります。

バッチは画面からボタンを押したタイミングで起動したり、夜間バッチとしてスケジュールクラスから起動したりします。 

global class SearchAndReplace implements Database.Batchable<sObject>{
// 1:バッチ用インターフェース。
   global final String Query;
   global final String Entity;
   global final String Field;
   global final String Value;

   global SearchAndReplace(String q, String e, String f, String v){
      Query=q; Entity=e; Field=f;Value=v;
   }
  // 2:バッチ開始時に呼ばれるメソッド(変数整理したり)
   global Database.QueryLocator start(Database.BatchableContext BC){
      return Database.getQueryLocator(query);
   }
  // 3:バッチサイズ単位でコールされる。startメソッドの戻り値がに引数にきます
   global void execute(Database.BatchableContext BC, List<sObject> scope){
     for(sobject s : scope){
     s.put(Field,Value); 
     }
     update scope;
    }
  // 4:バッチ終了時にコールされる。ログを書き込んだりメール送信したりする
   global void finish(Database.BatchableContext BC){
   }
}


// バッチ登録。第2引数にはバッチサイズを指定できます
ID batchprocessid = Database.executeBatch(SearchAndReplace,200);

 

 

<ケース1:大量データのアップデート>

1回のトランザクションではガバナ制限になるような件数や重い処理をApex Batchとして分割して処理できます。バッチ処理によっては処理終了時に完了メールを送信したり、エラー情報をカスタムオブジェクトに書き込んだりします。

 

<Apex Batchの制限>

・対象となるのは500万レコード

・start、execute、finishで10回ずつコールアウトできる

・バッチサイズ(デフォルト200)は

 

参考) help: Batch Apex (Apex の一括処理) の制限

参考) Apex BatchApex Batchの一括処理の使用

 

Scheduled

特定の時間に起動する処理を書くことできます。だいたいがApex Batchを呼び出す処理に使われます。バッチ処理が必要ない場合は、スケジュールクラスに処理ロジックを書くこともあります。

スケジュールの登録は画面上からもできますが、分単位の設定ができません。細かく設定したい場合は、開発者コンソールよりスケジュール登録処理を呼ぶことで分単位の指定もできるようになります。ただし、登録されたスケジュールクラスが時間通りに実行されるとは限らず、負荷のかかった状態だと少し遅れて実行されることがありました。

 

global class scheduledMerge implements Schedulable {
// 1:スケジュールインターフェースを実装↑ global void execute(SchedulableContext SC) {
mergeNumbers M = new mergeNumbers(); } }

参考) Apex Scheduled

 

まとめ 

今日は色々な非同期処理を調べてみました。Queuableについては、非同期処理から非同期処理を呼ぶケースの場合に使ってみようと思います。非同期処理を作る場合は例外が発生したケースも想定してリカバリできるようにしておきましょうね。

future ちょっとした非同期用
Quauable 非同期処理から非同期処理を呼ぶケース
Apex Batch 大量レコードの処理
Schedule スケジュールした日時で起動させる

※同僚から質問を受けた内容だと、Queuableでロックエラーが発生しないのは偶然な気がしています。。手元に環境がないのでなんともですが。

 

今回は紹介しませんでしたが、プラットフォームイベントというイベント駆動なる仕組みもあるので気になる方はこちらも見ていただけると良いかも。

 

 

それでは、みなさま素敵なSalesforceライフを!

Lightning Mega Session報告+myLightningのご紹介

こんにちは!金森です。

Dreamforceから無事に帰国いたしました!!しばらくは1週間離れていた案件のキャッチアップでアップアップする予定です(笑)

 

今日はDreamforceの初日に参加した Lightning Mega SessionとmyLightningについてご紹介したいと思います。

A Mega Lightning Session: With T-Mobile, CROSSMARK & Salesforce Product Leaders

このセッションは、初日の11/6 11:30~と、3日目の11/8 13:30〜の2回実施されたLightning Mega Sessionの一つです。

今回、Mega Sessionが行われたのは、Lightningだけですので、Salesforceの力の入れ方がわかりますね。

Classic→Lightningへの変化

ClassicからLightningへの変化とは、

「データの可視化」→「ワークフロー」

への変化である、との説明にとても納得感がありました。

Classicに慣れていると、Lightningでのデータ表示の仕方に違和感を感じることもあると思いますが、ワークフローベースになっているのだ、と思うと納得感を持って変化についていけるかもしれません。

 

Lightnignは人を生産的にし、開発を早くする

「Lightningは人を生産的にするように設計されており、700以上の生産性を加速させる工夫を入れることで、40%の生産性アップを実現している」、と語られていました。

また、Lightning Platformは再利用可能なコンポーネントを使うことで、毎回一から作るより早く開発を進められます。セッションでは、

Create Once, Deploy Everwhere

と語られていましたが、これは弊社のようなSIerであれば特に,様々な場面で利用できるComponentを蓄積しておくことで、お客様に迅速に価値を届けることができるようになるのではないかなと思います。

 

f:id:kanamori_flect:20171113205054j:plain

 

この写真のように、Developerが作成したComponentをAdminがうまく利用してサービスを作っていく、というのが実現できると非常に良いですね。

myLightning

 

f:id:kanamori_flect:20171114095222j:plain

 今回のDreamforceの目玉のmyシリーズのLightning版ですが、この時点ではまだマーク・ベニオフ氏のメインキーノートの前でしたので、おそらくここが初出しだったのではないでしょうか?(この時点でブログ(英語です!!)では情報公開されていました)

 

myLightningはLightningを自分たちの会社に合わせてブランディングできる機能群をまとめたものです。上記のブログなどによると既存の機能も含めた下記の4つで構成されています。 

  • Theming and Design System 
  • App Builder with Dynamic Pages
  • Lightning Flow
  • Lightning Bolt

ブログでは上の三つにnew!がついていますが、「Theming」以外はWinter'18までにリリースされてるので、実はもうほとんど利用できます。「Theming」も2018年の早い段階でリリースされ追加コスト無しで利用できるとのことです。

(なぜか写真のスライドではLightning Boltが含まれていませんね) 

 

Theming and Design System

Lightningでブランドのロゴを設定したり、背景色/イメージを設定できる機能です。ビルトインテーマの他、数回のクリックで構築できるカスタムテーマが約300あるそうです。

下の写真はセッションで紹介されていた、T-Mobile社のLighningのページです。

よく見ると各パーツは見慣れたコンポーネントですが、パッと見た時の印象は全然違いますよね!

f:id:kanamori_flect:20171115125423j:plain

 

今日はここまで

 他の機能についても紹介しようか迷いましたが、「App Builder with Dynamic Pages」や「Lightning Flow」については個別で記事を作成したいと思います。Classicからの移行など、何かと大変なイメージもありますが、Lightningはやっぱり良いですね!今回のDreamforceではほとんど全ての場所でLightningでDemoが行われていたこともあり、Lightningの普及はどんどん進んでいくかと思います。

 

まだClassicの組織をお持ちの皆さん(弊社もですが、、、)、そろそろ移行を考えて見ませんか!?

 

 

Dreamforceは終わりましたが、そこで得た知見はまだまだありますので、整理して少しずつでもこちらで公開していきたいと思いますので、ぜひお付き合いください!!

 

DreamforceのBreakout Sessionsを聞いて

こんにちは、金森です。

Dreamforce、終わってしまいました!あっと言う間でしたー!!

出発直前はServerless Confの運営お手伝いをさせていただいており、もう色々お腹いっぱいですが、

少しずつ消化しながら、アウトプットもしていきたいと思います。

と言うことで、帰国前にまず一本!!

Breakout Sessionsを聞いたんです

Dreamforceはブースもとても多いですが、セッションもとても多いです。

その数、なんと今年は2700+!!

はい、正直、何聞けば良いかわかりませんでした、多すぎwww

 

とはいえ、マーク・ベニオフ氏の基調講演とプロダクトごとに新発表などが行われるKeynoteは外せません。

そこを中心にブース回る時間を考えながら、Breakout Sessionsや各シアターのセッションを見ていく形になります。

 

そう、Keynoteは外せないんです!!

外せないんですが、、、今回私は途中からKeynoteは諸先輩方にお任せして、

Breakout Sessionsという、日本のイベントなどでもよくある感じな技術セッションを中心に参加して来ました。

 

なぜって、、、?それはね

Breakout Sessionsがとても面白かったから

に決まってるじゃないですか!!

 (わがままを許してくれた先輩方に感謝です!!)

 

ということで、今回は聞いて回ったBreakout Sessionsから面白かったものをいくつかご紹介したいと思いますー

 

Scripting DX

f:id:kanamori_flect:20171110184204j:plain

 

SalesforceDXとCLIにgulpとTravis CIを組み合わせて、Salesforceでの開発でCIを回すお話です。

Github上で変更内容をPRすると、Travis CIが自動的にテストを実行してPRに結果が反映されます。

 

これぞまさにDXが実現したかったDeveloper Experienceの向上!!

「通常の開発では当たり前」と言ってしまえばそれまでですが、

今までできなかったことが実現できたのは事実です。

 

それにプラットフォーム上で動くプログラムをScratch Orgsという形で、

実際のプラットフォームとほぼ同等の環境でテストできるって実はすごいことじゃない?とも思ったりしました。

(なんでコンテナが嬉しかったのかって話ともつながりますよね)

 

DXの使い方のとても良いサンプルを見せていただきました。

デモのコードはここで公開されており、実際にデモの時のPRも見ることができます。

https://github.com/leboff/scriptingdx-dreamhouse

 

Microservice Architectures With Sales and Service Cloud

f:id:kanamori_flect:20171110185901j:plain

 

なぜ、マイクロサービスが必要になるのか、マイクロサービスのメリットは何かのお話の後、

Salesforceでいかにマイクロサービスを実現することができるか、が語られていました。

 

発表者曰く「Salesforce自体は、モノリシックである」とのこと。(それはそうですね)

しかし、

  • マイクロサービスとして提供されたサービスを利用すること
  • マイクロサービスとしてREST APIを提供すること

はできる、とお話しされていました。

f:id:kanamori_flect:20171110190737j:plain

 

その上で、ApexでのRESTの実装方法のTipsなどを紹介されていました。

マイクロサービスの構成要素としてSalesforceを活用する考え方にはハッとさせられました。

また、「Platform Events」ができたことにより非同期メッセージングが利用できるのもマイクロサービスへの推進力になりますね!

最終日の「Microservice Based Architecture Using Platform Events」も聴きたかったのですが聞けず残念!!

スライド公開が待ち遠しいです!

 

Unit Testing for Lightning Components

f:id:kanamori_flect:20171110191247j:plain

Lightning Componentのテストのお話です。

UIのテストはテストピラミッドの中で一番コストが高くなってしまいます。

Lightning Componentは今までUIのテストでしたが、単体テストができるようになるよ!とのお話です。

 

具体的には「Lightning Testing Service」を利用します。

https://github.com/forcedotcom/LightningTestingService

 

セッションではこちらを使ってJasmineのテストを動かしていました。

弊社でも最近Lightning Componentを利用する案件が増えているので、

ぜひ実案件でも利用していきたいですね!

 

まとめと感想

今回は私が気に入ったセッションをざっくり紹介させていただきました。

でもまだまだ紹介したいセッションもありますし、

今回紹介したセッションも実際に試して、もっと詳しい内容をお届けできればと思っています。

 

今回、Breakout Sessionで感じたことは「CI」はもちろん、

「マイクロサービス」「非同期メッセージング」などの比較的新しめ技術タームが

すでにアメリカでは当たり前になっているのだ、ということです。

 

さらにそれをSalesforceでの開発に適用している事例はとても刺激的でした。

これらは比較的自由度の高い、AWSなどのパブリッククラウド系の開発のプラクティスとして考えていましたが、

Salesforceでの開発でもこれらの考え方を活かしていけるとさらに面白いことができそうです。

色々と試したいことができてうずうずしてしまいますね!

おまけ:こんなこともありました

初日の最初の朝8:00からのセッションでは会場の火災報知器がなって会場から全員避難するということも。。。

その後は無事開催されていたので、何かのミスだったのかと思いますが、貴重な体験になりました(笑)

(でも中止になったセッションは面白そうだったので聴きたかった,,,)

 

 

 

Dreamforce17-Day4(本社訪問)

こんにちは、なかやまです。

Dreamforce17の4日目が終わりました。本日は会場もAMでほぼほぼ終了です。

個人的にはミドルサイズのコーディーを連れて帰るためにミニハック6問クリアをなんとしてもやりたいところです。。 

 

朝の天気はくもりです。昨日の夜は雨が降ったので、ぜんぜんOKー。

心なしかコーディーが応援してくれる気がします。頑張って持って帰るから、待ってて!

f:id:flect_nakayama_san:20171110174252p:plain

 

ミニハックチャレンジ

わざわざサンフランシスコにまで来て、なぜチャレンジするかと思われるかもしれません。それはデベロッパーであることと、チャレンジが成功するとおみやげが貰えるからです。問題は全部で10問あり、3問クリアするとどんぐりの形のBluetoothスピーカー。6問正解するとミドルコーディーのぬいぐるみがもらえます。完全コンプリートはもうちょっといいものだった気がします。日本から来た人でGETできた人はいるのかな。

このミニハックですが何が厳しいかというと時間がないことです。普段業務で利用してるApex/Visualforceなら無敵なのですが、ミニハックにはLightningやHeroku Einstein、Visual Workflowなど普段業務で利用しないところを問題として取り上げてくるので、そもそも知ってないとさらに時間がかかってしまうんですよね。そして英語で問題を読んでいるだけでさらに時間がかかりました。。

 

朝10:30頃にはGETできました。なんとか間に合ってよかった〜・・。

f:id:flect_nakayama_san:20171110174418p:plain

ミドルサイズのコーディーGET!!

f:id:flect_nakayama_san:20171110172822p:plain

 

 

 

 

West会場

ここ3回のリリースのロゴが入った映像。

f:id:flect_nakayama_san:20171110181144p:plain

VRアストロで川下りをしながらTrailheadのバッチを見つけて、バッチを手から飛び出すどんぐりでHITさせる。というゲームを体験してきました。周りから見ていると無音のなか左・右・上と手を動かすので、ここだけ見ると怪しい人です。

f:id:flect_nakayama_san:20171110181352p:plain

 

VRの横には大きなプラネタリウム。

f:id:flect_nakayama_san:20171110181306p:plain

 

フェリービルディング

観光本にも載っていたので、見てみたかった場所。ユニオンスクエアから歩いて来ました。

f:id:flect_nakayama_san:20171110173325p:plain

 

青空に白い建物がきれいです。

f:id:flect_nakayama_san:20171110173350p:plain

 

屋内は小売店で賑わっていました。中にはイートインできるお店も沢山ありました。

f:id:flect_nakayama_san:20171110175400p:plain

一番気になったのは、きのこ屋さんのきのこ山。この大きさのものが展示されているとちょっと興味わきますよね。

f:id:flect_nakayama_san:20171110180323p:plain

視界の半分が海と空って日常にないので新鮮です。ざざーという波の音もリラックスできました。

f:id:flect_nakayama_san:20171110180449p:plain

 

パートナー向けイベント座談会+本社オフィス見学

詳細はまた別の記事で書く予定です。どの打ち合わせスペースを見てもお家にいるようなリラックスできる空間で驚きました。

f:id:flect_nakayama_san:20171110175733p:plain

 光量も素敵。

f:id:flect_nakayama_san:20171110175846p:plain

 ソファーがいい。

f:id:flect_nakayama_san:20171110175918p:plain

 

メンバーより一言

参加メンバーより一言いただきましたので、紹介させてください。

 

クロッキー(イケメン社長)

Day4はSunnyvaleでのMTGのためDreamforceは朝わずかな参加のみ。
herokuブースにて永野さんのご対応、ありがとうございます。
毎年あっという間に終わってしまう寂しい感じ、また来年も楽しみに。(来年は11月より前の時期を希望)

f:id:flect_nakayama_san:20171110230042p:plain

 

むっとん(ビール大好き)

今日の一番の驚きは Salesforce Eastビルのエレベータがとても高速でありかつ乗り心地が非常にスムーズだったこと。このビルが建てられたのが 2013年、salesforceの進化には負けるかもしれませんがエレベータも進化しています。

f:id:flect_nakayama_san:20171110182235p:plain

 

まさお(サーバレス大好きっ子)

最終日のブースは途中からマリカーになってたり、口パクパフォーマンス大会(Lip Sync Battle というらしい)が始まったり、日本のイベントではあまり見ない面白さがありました。
Innovation Campはとても良い経験でしたが、次は英語でチャレンジしたい!
そして午前中だけでセッション5つ回りました(ドヤ)←そのせいでミニハックできなかった、、、orz

f:id:flect_nakayama_san:20171110172512p:plain

 

f:id:flect_nakayama_san:20171110172530p:plain

 

ケイジ(渋いおじさま)

今日はAMでほぼ閉会、午後は今回初めてダウンタウンを離れ、商談のためカルトレインでサニーベールへ。
考えてみたらUS本土で電車移動するのも生まれて初めてでした。
駅近くのモールで街路樹が色づいて綺麗。ダウンタウンより街としては魅力的ですねー。

f:id:flect_nakayama_san:20171110172359p:plain

 

NAOKI(暑いおじさま)

Dreamforceが終わり、Salesforce本社訪問後、
近くのFerry Building Marketplaceへ。
やっぱりSan Franciscoといったら海ですよね。次回はフェリーに乗るか。

f:id:flect_nakayama_san:20171110230101p:plain

 

政宗公(LOVEコストコ)

充実したサンフランシスコ滞在も、最後の夜です。Dreamforce会場でも、無料ランチが配られるのですが、温かい食べ物も欲しくなります。Moscone North近くにもあるローカルの「Super Duper Burgers」がイチオシです。ハンバーガーはいろいろ食べましたが、ここのは肉が最高にジューシーでした!

f:id:flect_nakayama_san:20171110181935p:plain

 

はまちゃん(メガネさん)

宿泊したのは歴史あるホテルなので、扉が手動。手前にドアを開きながら、中のスライド扉も開くので、なかなかテクニックが必要なのですー。

f:id:flect_nakayama_san:20171110182557p:plain 

サジー(NY育ちのおうじさま)

<お待ち下さい>

 

 

チームフレクトは明日の朝の便で日本に帰ります。

無事に帰国できますように。 

 

Dreamforce17-Day3(プロダクトキーノート)

こんにちは、なかやまです。

Dreamforce17の3日目が終わりました。

もうDreamforce終わっちゃいますね。寂しい。

 

SUCCESS CLOUD Keynote

今年が初めてのKeynoteです。Keynote中の写真を撮り忘れましたが、ここもAdmin向けのイベントに近い感じがしました。Keynoteの最後にLiveが始まってみんな夢中です。

f:id:flect_nakayama_san:20171109170327p:plain

 

dreamforce Quest 

自分の職務に合わせて指定された指示をクリアするとおみやげが1つ貰えるというチャレンジ企画がありました。Keynoteを見たり、ブースで話を聞いたり、会場を大移動してきました。

f:id:flect_nakayama_san:20171109170529p:plain

アストロ人形をGETです!「すでに持ってそうね」と言われそうですが、このアストロは違いますよ。服がdreamforce仕様です!あと被り物の色が若干オレンジに近い!

f:id:flect_nakayama_san:20171109170549p:plain

 

Expoの日本ブース訪問

Quipのデモをお願いしました。

f:id:flect_nakayama_san:20171109170628p:plain

あとEinstein 予測機能のロードマップなど。文章が日本語だと目に優しいですね。日本ブースで情報を仕入れてから英語セッションを聞くなどしてもよかったかも。

明日もamまでは空いているそうなので、日本に帰る前にサマリを聞きにいってみませんか!

 

Quip Keynote

写真が1つも撮れて無くて申し訳ないのですが、会場が湧くぐらい面白い時間がありました。あとGoogleにfacebookにamazonとQuipを導入している企業が多くて驚きました。めちゃくちゃ大手の実績があるやないかと。

今後はオリジナルのコンポーネントも追加できるようです。

 

MVPパーティー

晩御飯に超スペシャルなパーティーに呼んで頂けました。

f:id:flect_nakayama_san:20171109180351p:plain

何人かの方とお話させてもらいました。英語力が低すぎるのでどうなるかと思いましたが、なんとか会話が通じてよかった。。今回は通訳レシーバーなしでiPadメモを取っていたので、しばらく英語のセッションとか聞いて勉強してみたいな、とも思いました。しかしサンフランシスコに来てスキップ・ビート!の話がでるとは思わなかった。世界は広いです。

f:id:flect_nakayama_san:20171109180534p:plain

 

 

<その他>

朝ごはんを食べたお店。

f:id:flect_nakayama_san:20171109164113p:plain

サーモンとクリームチーズのベーグル。

f:id:flect_nakayama_san:20171109164143p:plain

これは昨日食べたカリフォルニアサンド。ボリューミーで腹持ちします。

f:id:flect_nakayama_san:20171109165010p:plain

 

エンジニアの皆様ミニハックにチャレンジしてますか?

ミニハックコーナーがいつも混み合ってるのですが、問題は受付で貰えるのでそれを開催中に解くことができます。チャレンジした結果の答え合わせをWest1Fのミニハックコナーの中で見てもらうぐらいです。

なかやまは3問をクリアしましたよ!残り3問を解くとミドルコーディーが貰えるのです。期限は明日のamぐらい。ブログを書いた後にチャレンジしてみます。。

 

メンバーより一言

参加メンバーより一言いただきましたので、紹介させてください。

クロッキー(イケメン社長)

Salesforceが何より大事にする価値観は”Trust”
TrustがあってCustomer successが実現する
Tralir blazerとは Customer successをドライブする人
・Customer Innovators
・Technology Disruptors
・Global Shapers

f:id:flect_nakayama_san:20171113163337p:plain

 

むっとん(ビール大好き)

Large Data Volumes(大容量データ)の扱いについてのセッションを聴いてみました。
「Salesforce社サポートに依頼すれば『数式』にカスタムindexを作成できる」という部分が自分の知識に抜けていました。
これに限らず、Salesforceは常に進化し続けるので最新の仕様を追うのは大事ですね。
※すべての数式に適用できるわけではないのでご注意ください。
※詳細は https://developer.salesforce.com/docs/atlas.ja-jp.210.0.salesforce_large_data_volumes_bp.meta/salesforce_large_data_volumes_bp/ldv_deployments_infrastructure_indexes.htm

f:id:flect_nakayama_san:20171109182353p:plain

 

 

まさお(サーバレス大好きっ子)

ししとうって英語でもshishitouですよ。知ってました?
今日はテックセッション中心に聞いてました。
マイクロサービス、イベント駆動、CI、どれもアメリカでは当たり前のプラクティスなんですね。
精進あるのみ、改めて勉強しなおそうと思う1日でした。(真面目ぶってみるテスト)

 

ケイジ(渋いおじさま)

会場中央のハワードStをつぶした芝生エリア、初日からいろんなアーティストがミニライブをやってて、通りすがるのが楽しみです。

f:id:flect_nakayama_san:20171109163106p:plain

 

NAOKI(暑いおじさま)

Dreamforceは16の会場/ホテルで行われていますが、
その中でパートナーのみに提供されている場所があります。
ここはパートナーの休憩だけでなく活発な商談・議論が行われていました。

f:id:flect_nakayama_san:20171109163613p:plain

 

 

政宗公(LOVEコストコ)

今日一番印象に残ったのは「Admin Keynote」すごい盛り上がりで、ある意味カルチャーショック。
最初から「TrailBlazerになろうぜ~」って歌いだすんですよ~。
Developerより圧倒的に多い米国Adminの力強さを感じました~。

f:id:flect_nakayama_san:20171109170105p:plain

 

 

はまちゃん(メガネさん)

dreamforceも3日目、ちょっと会場を抜け出してランチへ。ショッピングモールのフードコートでガッツリ肉!
って何日か前にも同じような事を書いた気が•••。ペッパー効いてて美味しかったからヨシ!

f:id:flect_nakayama_san:20171109170144p:plain

 

サジー(NY育ちのおうじさま)

側に居てびっくりすることがあるのですが、こちらではたまたま居合わせた人たちが何気ない会話から意気投合して急に商談に近い話を始めます。
最後どうなったかとても気になります。
そして、このアグレッシブさを見習わねば…

f:id:flect_nakayama_san:20171109163341p:plain

 

 

明日のAMでほぼほぼ終了です。午後はパートナー向けのイベントや本社訪問でSalesforceにお邪魔する予定です。

 

 

Dreamforce17-Day2(プロダクトキーノート)

こんにちは、なかやまです。

Dreamforce17の2日目が終わりました。プロダクトキーノート始まりましたね!

 

今日もいい天気です。

f:id:flect_nakayama_san:20171108145833p:plain

 

Breakouts:Be a Big Data Champion With Big Objects and Async SOQL(1)

開発者らしくタイトルで惹かれるものに参加してみました。イベント用のアプリがあるのでダウンロードしておくと、次にどこのセッションを見るかひと目でわかります。あとはセッションの合間に画面キャプチャをとっておくと、何を見たのか思い出しやすいです。

f:id:flect_nakayama_san:20171108150313p:plain

 

BigObjectの利用方法について聞きました。自分で手を動かしていないので短時間で知識が得れました(あとはスライド公開待ち)。将来的には標準・カスタムオブジェクトからBigObjectへの矢印もあるけど、現時点ではAsyncを使ってBigObject→BigObjectか。BigObject→標準orカスタムオブジェクトのみのようです。あとJob発行したら画面上からは消せないからWorkbenchをつかって消すという話も聞きました。APIが先に公開されるとGUIでは未対応の部分もあるのでそこは理解して使っていきましょう。

f:id:flect_nakayama_san:20171108151648p:plain

基調講演でも女性の登壇が目立ったのですが、開発者セッションでも女性登壇者がいて嬉しかったです。ブログ投稿とかも頑張ろうと思いました。

 

West 3F Einsteinのエリア

エスカレーターで登ります。。(人が歩いているエリアは2Fです)

f:id:flect_nakayama_san:20171108152856p:plain

 

3Fはアインシュタインのふさふさ髪の毛とメガネのカンバンがお出迎え。

f:id:flect_nakayama_san:20171108152925p:plain

 

中にはアインシュタインの機能ごとのブースと、スポンサーブース。

f:id:flect_nakayama_san:20171108153002p:plain

 

ブースの横では、ミニセッションコーナーがあります。

f:id:flect_nakayama_san:20171108153036p:plain

 

ブースでCommerce CloudのEinsteinの説明を聞いてきました。説明中にこの画面が表示されたので、この画面ってVisualforce?Lightning?とか質問をしてみました。

f:id:flect_nakayama_san:20171108153110p:plain

結果は2年前に買収したものだからApexでもLightningでもないよ、たぶん。ってことでした。そっかー。製品の統一感が出すぎていて、この見た目に騙されたっ。すっかりSalesforce Platformに乗ってる気になってました。

 

会場が広い。天井も高いし開放感良し。写真の後ろ側にはQuipのブースがあります。受付でチェックインするとQuipロゴの入ったモバイルチャージっぽいのもらいましたよ!

f:id:flect_nakayama_san:20171108153928p:plain

おみやげが魅力的すぎて、積極的にブースに聞きに行ってしまう。会場の端から端まで何往復もしてしまいました。。収穫物は最終日or帰国後に紹介しますー。

f:id:flect_nakayama_san:20171108162731p:plain

 

Developer Keynote

アプリはスマートに組み合わせてデリバリーせよ!と聞こえました。Dreamforce前に発表内容がメインな感じでした。別のブレイクアウトセッションではPlatformのRoadmapがメインのセッションもあるのですが、他のセッションとかぶってて行けなかったり。

f:id:flect_nakayama_san:20171108155209p:plain

 

最後にTrailheadにチャレンジ!のお知らせ。

f:id:flect_nakayama_san:20171108160647p:plain

Trailmix

年末までにクリアするとコーディーのバッチが貰えるそう!Trailmixの期間限定イベントですね!これからも増えそう。でももともと全部のバッジを持ってる人ってどうなるんだろう。。新しいアカウント作ってそっちで実行してからマージ?とか考えちゃいました。エンジニアのみんなは是非チャレンジしてみましょう!

f:id:flect_nakayama_san:20171108155346p:plain

 

Trailhead Keynote

Admin Keynoteに続く盛り上がりを見せたKeynoteでした。Trailhead単体のKeynoteは今回が初めてのようです。Salesforceユーザも大好きなTrailheadなので、参加者全員が嬉しくて仕方がない感じでした。私もTrailheadは大好きなので、色々な機能が追加されると嬉しいです。

 

画面はMy Trailheadのモジュールを作る画面のようです。自社用に作れるっていいですよね。学習プラットフォームがタダで使えるけど、会社で利用する場合は全社員分のライセンスがいるんだろうな。そうじゃないと全員分のチェックができないもんな〜。でも基調講演ってお金の話は出てこないので、この機能が有償だったらちょっと残念やも。freeならChatterが来た時ぐらいにステキな話です。

f:id:flect_nakayama_san:20171108155636p:plain

 

認定資格とTrailheadの統合や、トレイルブレイザーコミュニティー(旧サクセスコミュニティ)と、後何かのアカウントも一緒になるとか。スマートな検索とか(会場からはああ〜みたいな声が)

f:id:flect_nakayama_san:20171108154318p:plain

 

<その他>

どこかに置いてあったコーディーの可愛いカードを取ったら、ここにいけばいいことありそうと思ったので。歩いて行く。

f:id:flect_nakayama_san:20171108154853p:plain

 

来てみましたが、、中はスモークって言われたので見てません。誰か見てきてー!f:id:flect_nakayama_san:20171108154841p:plain

 

晩御飯

チャイナタウンの方にある。ワンタンメンを食べに行ってきました。スープがエビ味で美味しゅうございました。

f:id:flect_nakayama_san:20171108154212p:plain

 

f:id:flect_nakayama_san:20171108154224p:plain

 

メンバーより一言

参加メンバーより一言いただきましたので、紹介させてください。

 

クロッキー(イケメン社長)

Day2はProduct Keynoteがメイン、どこでもSFDCは#1 B2C&B2B Platformをメッセージしています。
これとは別にDreamPitchでYoshikiさんにご挨拶させてもらいました。

 

むっとん(ビール大好き)

KONE社が day 1 (製造業keynote)に続き、Service Cloud keynote で前面に出ているのが印象に残りました。
KONE社 は 2006年から Salesforce を使っている模様。
Salesforce標準機能をどう活用しているのか、近日中に公開予定のブログで触れたいと思います。

f:id:flect_nakayama_san:20171108160319p:plain

 

 

まさお(サーバレス大好きっ子)

日本だとあまりないSalesforceの書籍がこちらだとたくさん売ってます!
今日はtech系のセッションをたくさん聞けてとても有意義でした。
これらは後日blogなどでお知らせできればと思います!!

f:id:flect_nakayama_san:20171108161647j:plain

 

ケイジ(渋いおじさま)

多くのセッションでEinsteinがフィーチャーされています。

今回、Googleとの提携が発表されたことで、Einsteinがより効果的なサービスとなっていく可能性を感じる一コマ。GAのデータを元にしたMC x Einsteinの効率UPはいかほどのものでしょう、実際に案件で使ってみたいものです。

f:id:flect_nakayama_san:20171108153620p:plain

 

NAOKI(暑いおじさま)

Marketing CloudのKeynoteの一コマです。
Pitbullというラッパーをご存じですか?
グラミー賞まで受賞した彼が登壇し、自身のマーケティング戦略を語っています。
マーケティングは企業単位でなく個人単位の世界が既に実現されている現実となっています。

f:id:flect_nakayama_san:20171108151505p:plain

 

政宗公(LOVEコストコ)

Merketing Cloud のKeynoteで粋な演出。セッションの最後にメインスピーカーから「自分の椅子の下を見て!」と一言。
すぐに会場のあちこちから歓声が上がりました。事例にあった「Hotels.com」の$50のクーポンが置かれていたのでした。私の3つ隣のおじさんが当たって大喜びでした。

f:id:flect_nakayama_san:20171108165051p:plain

 

はまちゃん(メガネさん)

(お待ち下さい)

 

サジー(NY育ちのおうじさま)

(お待ち下さい)

 

 

明日もプロダクトキーノートですね。夜は日本のパートナーナイトというイベントがあるようです。フレクトからも何人か伺うのでお話させてください。

ちなみに明日のオススメはAdmin Keynoteです。できれば翻訳レシーバー無しで、日本人エリアからも離れて聞くことをおすすめします。世界中のAdminの熱さが体感できます^^

 

ここでしか味わえないものなので、是非チャレンジしてみてください♪

ではまた明日。