YoutubeでInside Dreamforce '18の動画リストが公開されていました。
下記のような動画がまとめられている再生リストです。
Inside Dreamforce '18: SWAG
Inside Dreamforce '18: DREAMOJI
Inside Dreamforce '18: The Heart of Dreamforce: The Campground
YoutubeでInside Dreamforce '18の動画リストが公開されていました。
下記のような動画がまとめられている再生リストです。
レポートの検索条件には$User.EmployeeNumberというようなグローバル変数を指定することはできません。こうした条件指定を行いたい場合は数式項目でフラグを用意する方法での対応が必要になります。
IF(EmployeeNumber__c = $User.EmployeeNumber ,true , false)
これでログインユーザの従業員番号情報と一致する従業員番号を持つデータを判別するといったことが可能になります。
動的に絞り込みたい条件分数式項目が必要になりますがこの方法で動的な条件指定が可能になります。詳細はこちらのヘルプにまとめられていました。
またURLパラメータをつかった絞り込みを行う方法があります。ClassicとLightning Experienceでパラメータの指定方法が異なるので設定の際には注意が必要ですが状況に応じて活用できそうです。
Dreamforce2018の登録情報で困ったことがあったのでContact usから問い合わせしてみました。ログイン後のMy INFOのメニューからアクセスできます。
Contact usのリンクをクリックすると表示される問い合わせフォームはこんな感じでした。氏名、メールアドレスとDreamforceの登録番号が必要になります。
また問い合わせ内容によってTopicがわかれていました。
問い合わせフォームに質問を入力すると登録完了の通知メールが来ます。数日後にサポート担当の方から回答メールが届く流れでした。
Dreamforceの参加登録を6月に行ったのですが8月から別の職場で勤務することになったので参加申込時に登録した会社名を変更する必要がありました。登録情報の変更ページを見ても会社名の変更ができないようになっていたので問い合わせフォームから相談しました。
ちなみに登録時にSalesforceアカウントで認証が必要になるのですがそちらはDeveloper Edtionのアカウントで登録していたので特に影響はありませんでした。
「勤務先が変わったので登録した会社名を次の会社名にに変更したいです」
↓
「会社名の変更ですね。登録情報を確認したところ個人組織のアカウントで登録されているみたいです。ご希望の会社名に変更する場合はその会社の組織で認証登録が必要です。」
↓
「前の会社の名前のままにはできないので、別の内容に変更できませんか?」
↓
「Independent (独立/自営)への変更なら可能です。変更が適用されるのは3から5営業日です。」
↓
「ありがとうございます。お願いします。」
・・・という感じでやりとりが進み無事に会社名の登録情報が更新されました。参加登録時には会社名のチェックはそれほど厳しくありませんが、変更の場合は認証時のSalesforceアカウントでチェックが入るみたいです。
後は変更後の登録情報で改めてDreamforceの登録通知メールも届くようになっていました。そちらで正しく変更されているかを確認できました。
2019年以降のDraemforce参加登録後に困ったことがあれば同じようにContact usのような問い合わせページが用意されていると思います。サポート担当の方とのやりとりは英語になりますがGoogle翻訳レベルでも特に問題なくやりとりできました。
SalesforceオブジェクトのName項目とデータ型選択についてです。
Name項目はレコード作成の際に必須となる項目で、「テキスト型」と「自動採番型」の2種類から選択できます。
テキスト型は値を自由に入力したい場合に使用します。取引先名や商談名とよく目にする使われ方をしているデータ型です。
もう一つの自動採番型はデータ登録後に自動で値を生成してくれるデータ型です。重複しないユニークな値が生成されるので申請や請求などを管理するオブジェクトで利用できます。
自動採番型は指定した文字列を表示できるプレフィックスの機能も用意されています。文字数の上限がありプレフィックスが利用できる文字数も決まっているので長い値にしたい場合は注意が必要です。
プレフィックスの機能で「2018-01-01-00001」というように本日日付+自動採番された値という組み合わせの値を生成することができます。採番で00001というように5桁用意したとしてレコード数が5桁分使い切ると0に戻るのではなく6桁目を生成します。はじめに余裕を持って桁を確保しておくのがいいと思います。
ApexとName項目のテキスト型の組み合わせで一つ面白い使い方ができます。
上で記載したとおりテキスト型は必須項目のため画面から未入力で保存しようとするとエラーとなります。
ですがApexから登録する場合はこのエラー判定がスキップされます。
この方法でデータを作成するとName項目にはレコードIDがセットされて登録されます。
これはカスタムオブジェクトでのみ適用される仕様で標準オブジェクトの場合はApex経由でもエラーとなります。
この仕組みを利用してApexでデータを作成してName項目にレコードIDをセットして自動採番の代わりにしようと思いつく場合があるかもしれません。ですがレコードIDをセットして管理する方法は下記の問題が発生します。
テキスト型のためユーザが自由に値を書き換えることが可能です。Name項目 = レコードIDというルールは保証されなくなります。もしもレコードIDを見える位置に表示したい場合は数式項目を用意した方が確実です。
テキスト型はユニークチェックは実行されないため同じ値のデータを作成することが可能です。そのため自動採番の代わりとして運用しようとすると思わぬトラブルが発生します。Apexを経由して作成する前提のオブジェクトと考えたとしてもこうしたデータを作成できてしまう時点で品質が低下していまいます。
Apexでの作成が前提としたルールがあったとしても状況に応じてどうしても手作業で新規データ登録を行う場面が出てくると思います。仮にBeforeトリガを用意して保存後に値を入れ直す処理を実装したとしてもユーザは一度何かしらの値を入力する必要があるため無用な混乱を招いてしまいます。
以上の理由からName項目にレコードIDをセットして自動採番の代わりにするという運用は個人的にオススメできません。無理に複雑な仕組みで運用するのではなく自動採番型で管理するのが良いと思います。
Name項目はルックアップ項目で目立つ位置に表示されます。
自動採番された番号だと直感的に選択しにくいような用途のオブジェクトの場合はテキスト型で管理するのがいいと思います。ルックアップ検索時はName項目の他に別の項目を表示することが可能です。同じ値のデータと区別がしずらい場合はこの仕組みで判別できると思います。
Lightning Experienceでも動くVisualforce開発のサンプルコードを作ってみました。Lightning Design SystemとAngularJS 1をつかった開発のサンプルになります。
GitHub - tyoshikawa1106/apex-trailblazer-pack: Apex Trailblazer Pack
Visualforceの開発といえばapexタグをつかった開発ですが、2015年頃にHTML5とJavascript中心の開発が推奨されるようになりました。
2015年にはLightning Design SystemというCSSフレームワークも公開されました。独自タグを使わなくてもSalesforceのデザインに合わせた画面開発が可能になっているのでapexタグに頼らずにJavascript Remotingの仕組みで開発していくとより使いやすい画面を開発できると思います。
Dreamforce2018のHeroku関連セッションを紹介する特設サイトが公開されています。
TrailBlazer Communityにより詳細な情報が共有されているのでそちらも確認しておくと良さそうでした。
Trailblazer Communityに同時通訳用レシーバの貸し出しフォームについての共有がありました。
フォームのPDFについてはコメント欄に添付があります。
現地で記載するのは大変だと思うので先に印刷して準備しておいたほうが良さそうです。