Certification

[Salesforceデザイナー資格]Data Architecture and Management デザイナー

  • 2020.03.21

概要 本記事は、Salesforceのデザイナー資格であるData Architecture and Managementを受験するにあたって勉強した際の簡単なメモとなります。私が受験した時のバージョンはWinter’20でしたので、その時点での試験範囲に基づいております。 試験範囲 試験範囲については、リリースごとに変わる可能性があるので最新情報を確認する必要があります。詳細は下記から参照してください。http://tandc.salesforce.com/examguide_cert_data_archi_manage_designer.pdf 勉強内容 基本的な勉強方法は、上記の試験範囲に沿って必要な情報が公開されているヘルプサイトやブログ、Trailheadを参考にインプットをしました。 Data Modeling (20%) BigObject https://developer.salesforce.com/docs/atlas.en-us.bigobjects.meta/bigobjects/big_object.htm https://developer.salesforce.com/docs/atlas.en-us.bigobjects.meta/bigobjects/big_object_example_queueable.htm Roll up summary https://help.salesforce.com/articleView?id=fields_about_roll_up_summary_fields.htm&type=5 https://help.salesforce.com/articleView?id=fields_defining_summary_fields.htm&type=5 Relation https://help.salesforce.com/articleView?id=overview_of_custom_object_relationships.htm&type=5 External Object https://help.salesforce.com/articleView?id=external_object_define.htm&type=5 https://help.salesforce.com/articleView?err=1&id=ext_data_sync_database.htm&type=5 Data Skew https://trailhead.salesforce.com/content/learn/modules/large-data-volumes/design-your-data-model Person Account https://help.salesforce.com/articleView?id=account_person.htm&type=5 Custom Index https://help.salesforce.com/articleView?id=000325247&language=en_US%C2%A0&type=1&mode=1 Data Archiving Strategy http://www.salesforce.org/ask-architect-5-steps-effective-salesforce-data-management-strategy/ Data Storage https://help.salesforce.com/articleView?id=overview_storage.htm&type=5 https://help.salesforce.com/articleView?id=000318951&type=1&mode=1 Set Audit Field https://help.salesforce.com/articleView?id=000334139&type=1&mode=1 Outbound Message https://help.salesforce.com/articleView?err=1&id=workflow_managing_outbound_messages.htm&type=5 Conceptual Design(15%) Lightning Data https://appexchange.salesforce.com/appxStore?type=Data Data.com vs Lightning Data Service https://help.salesforce.com/articleView?id=000317679&type=1&mode=1 Merge https://help.salesforce.com/articleView?id=contacts_merge_classic.htm&type=5 Data.com Prospector and Clean https://help.salesforce.com/articleView?id=000318293&type=1&mode=1 Duplicate Rule https://help.salesforce.com/articleView?id=duplicate_rules_map_of_reference.htm&type=5 Translation workbench https://help.salesforce.com/articleView?id=customize_wbench.htm&type=5 Mater Data Management(10%) 特に参考サイトなし・・・ Metadata Management(7%) Event monitoring https://trailhead.salesforce.com/en/content/learn/modules/event_monitoring/event_monitoring_intro Custom Metadata Types https://help.salesforce.com/articleView?id=custommetadatatypes_package_install.htm&type=5 Package Custom Metadata Types and Record https://help.salesforce.com/articleView?id=custommetadatatypes_package_install.htm&type=5 Define Custom Settings https://help.salesforce.com/articleView?id=custommetadatatypes_package_install.htm&type=5 Metadata API https://help.salesforce.com/articleView?id=custommetadatatypes_package_install.htm&type=5 Audit Trail https://help.salesforce.com/articleView?id=custommetadatatypes_package_install.htm&type=5 Data Archiving(10%) Export Buckup data from Salesforce https://help.salesforce.com/articleView?id=admin_exportdata.htm&type=5 https://developer.salesforce.com/blogs/2015/03/salesforce-backup-and-restore-essentials-part-1-backup-overview-api-options-and-performance.html Outbound Message Actions https://help.salesforce.com/articleView?id=workflow_managing_outbound_messages.htm&type=5 Field Set https://help.salesforce.com/articleView?id=fields_about_field_sets.htm&type=5 Buckup and restore https://developer.salesforce.com/blogs/2015/03/salesforce-backup-and-restore-essentials-part-1-backup-overview-api-options-and-performance.html PK Chunking https://developer.salesforce.com/blogs/engineering/2015/03/use-pk-chunking-extract-large-data-sets-salesforce.html Field History Tracking https://help.salesforce.com/articleView?id=tracking_field_history.htm&type=5 Suspend Event https://developer.salesforce.com/blogs/engineering/2013/05/extreme-force-com-data-loading-part-3-suspending-events-that-fire-on-insert.html Deferred Sharing Calculation https://developer.salesforce.com/blogs/engineering/2013/08/extreme-force-com-data-loading-part-6-taking-advantage-of-deferred-sharing-calculation.html Dataloader CLI https://help.salesforce.com/articleView?id=command_line_intro.htm&type=5 Data backup and recovery Best Practice https://help.salesforce.com/articleView?id=000334121&language=en_US&type=1&mode=1 Data Governance(7%) Data Covernance Best Practice https://www.salesforce.com/video/1779731/ Reporting and Analytics(10%) Performance Turning https://developer.salesforce.com/blogs/engineering/2013/03/long-and-short-term-approaches-for-tuning-force-com-performance.html Custom Index https://developer.salesforce.com/blogs/engineering/2015/06/know-thy-salesforce-field-indexes-fast-reports-list-views-soql.html Run Report Faster https://developer.salesforce.com/docs/atlas.en-us.salesforce_reportperformance_cheatsheet.meta/salesforce_reportperformance_cheatsheet/reportperformance_cheatsheet.htm Improve Report Performance https://help.salesforce.com/articleView?id=improving_report_performance.htm&type=5 Sales Dashboard https://www.salesforce.com/blog/2019/01/sales-management-dashboards.html Report Consideration https://help.salesforce.com/articleView?id=platform_connect_considerations_reports.htm&type=5 Schedule Dashboard https://help.salesforce.com/articleView?id=dashboards_schedule_refresh.htm&type=5 Limit of Custom ReportTypes https://help.salesforce.com/articleView?id=reports_report_type_guidelines.htm&type=5 Data Migration(10%) Duplicate Rules https://help.salesforce.com/articleView?id=duplicate_rules_map_of_reference.htm&type=5 Data loading https://developer.salesforce.com/blogs/engineering/2013/06/extreme-force-com-data-loading-part-4-sequencing-load-operations.html Data aggregation https://developer.salesforce.com/docs/atlas.en-us.salesforce_large_data_volumes_bp.meta/salesforce_large_data_volumes_bp/ldv_deployments_case_studies_data_aggregation.htm  Limits and allocation […]

Spring’19の認定資格を更新

  • 2019.05.19

概要 本記事は、Salesforceに置けるSpring’19のリリース内容について各種認定資格を更新するためのTrailheadで学習したもののサマリとなります。なお、更新を行ったのは、下記の3つの認定資格となります。アドミニストレーター認定資格の更新 (Spring’19)https://trailhead.salesforce.com/ja/content/learn/modules/administrator-maintenance-spring19Platform アプリケーションビルダー認定資格の更新 (Spring ’19)https://trailhead.salesforce.com/ja/content/learn/modules/platform-app-builder-maintenance-spring19Platform デベロッパー資格の更新 (Spring ’19) https://trailhead.salesforce.com/ja/content/learn/modules/platform-developer1-maintenance-spring19 アドミニストレーター セールスプロセス全体のカスタマイズ リードと商談のフェーズをカスタマイズできるため、リードがどこでどのように商談に変更されたかを確認できる。 Lightning Experience の結合レポート 最大 5 つのブロックを含めた結合レポートを使用して、さまざまな種類の情報を 1 つのレポートに表示できる。各ブロックには、1 つの標準レポートタイプまたはカスタムレポートタイプからデータを表示できる。結合レポートは、複数のレポートタイプをまたがって Salesforce データを分析するのに適している。1つのオブジェクトの複数のビューを同時に取得することもできる。 Lightning Experience での取引先チームの削除取引先チームのメンバーを一括で削除することができる。 パートナー取引先のリレーションとデータ共有ルールの作成 パートナー取引先間のデータ共有において、取引先データリレーショナル共有ルールを作成して、取引先リレーションで対象レコードと関連づけることで実現できる。取引先リレーションデータ共有ルールは、取引先、取引先責任者、キャンペーン、ケース、リード、商談、注文、カスタムオブジェクトに適用できる。 マクロでの相対日付を使用した正確な日時の設定マクロで設定する 日付で具体的な日付ではなく、実行日から特定の日数が経過した相対日付を指定することできる。 Lightning ページから別のテンプレートへの切り替え Lightning アプリケーションビルダーで Lightning ページのプロパティを表示するときに、[テンプレート] 項目の横にある [変更] からできる。 アプリケーションビルダー Flow Builder を使用したより直感的なフローの作成 クラウドフローデザイナから大幅にUIが改善されたFlowビルダーで作成できるようになった。Flowビルダーでは、Adobe Flashをインストールする必要がない。 Lightning Web コンポーネントの作成 Lightning Web コンポーネントと Aura コンポーネント (元のモデル) の 2 つのプログラミングモデルを使用して、Lightning コンポーネントを作成できるようになった。Lightning Web コンポーネントは、HTML と最新の JavaScript を使用して作成されたカスタム HTML 要素である。Lightning Web コンポーネントと Aura コンポーネントは 1 つのページで共存および相互運用できる。どちらも Lightning コンポーネントとしてシステム管理者やエンドユーザに表示されます。現時点では、開発者コンソールで作成、編集することはできず、Salesforce CLIによりデプロイする必要がある。 VSCodeのExtensionを使うと良い。 リッチテキストコンポーネントは Quill テキストエディタを使用 リッチテキストコンポーネントは Quill テキストエディタを使用リッチテキストコンポーネントが Lightning Locker とスムーズに連携するように、テキストエディタを CKEditor から Quill に変更となった。CKEditor・・・WYSIWYG※1の一種で、ワードのような操作でHTMLが記述できるツールである。※1What You See Is What You Get(見たままが得られる)Quill・・・オープンソースのWYSIWYGエディタで、JavaScriptで作られていて、Webサイト上で手軽にWYSIWYG対応のテキスト編集機能を提供することができる。 標準およびカスタムユーザ権限に基づくコンポーネントの表示の設定ページを表示する ユーザの権限を基にコンポーネントの表示条件を設定して、Lightning ページをより動的にすることができるようになった。 デベロッパー Auth.VerificationResultクラスSystem.UserManagement.verifySelfRegistration メソッドの結果を保存する。このメソッドは、独自の検証ページを作成したときに呼び出す検証の結果を返す。ユーザが正常に作成された場合、検証状況とセッション ID が含まれる。 System.OrgLimitクラスインスタンスの名前、現在の値、および最大制限を返すメソッドが含まれます。getName() – 制限の名前を返す。getValue() – 使用制限値を返す。getLimit() – 制限の最大値を返す。 System.OrgLimits クラスすべての組織制限のリスト、またはすべての組織制限の名前と値の対応付けが含まれる。getAll() – OrgLimit インスタンスのリストを返す。getMap() – すべての OrgLimit インスタンスと制限名の対応付けをキーとして返す。 AppLauncher.LoginFormController クラスloginGetPageRefUrl(username, password, startUrl)メソッドこのメソッドは、特定のユーザ名とパスワードを使用してユーザをログインする。Lightning 環境でログインに成功した場合、ユーザは startUrl で指定されたページにリダイレクトされます。非 Lightning 環境では、メソッドによって返される startUrl を使用してリダイレクトをプログラムする。ログインに失敗すると、エラー文字列が返される。 Auth.AuthConfiguration クラスgetCertificateLoginEnabled(domainUrl)メソッド証明書ベースの認証が [私のドメイン] の URL で有効になっている場合、true を返す。getCertificateLoginUrl(domainUrl, startUrl)メソッド組織で証明書ベースの認証が有効になっている場合、[私のドメイン] の URL の証明書ベースの認証エンドポイントを返す。 Auth.SessionManagement クラスfinishLoginDiscovery(method, userId)メソッド[私のドメイン] のログイン検出ログインプロセスを完了する。 System.SObject クラスisSet(fieldName)メソッドクエリ対象の sObject 項目に関する情報を返す。sObject 項目が直接割り当てか SOQL クエリへの追加によって入力されている場合、true を返す。sObject 項目が設定されていない場合、false を返します。無効な項目が指定されている場合、SObjectException が発生する。isSet(field)メソッドクエリ対象の sObject 項目に関する情報を返す。sObject 項目が直接割り当てか SOQL クエリへの追加によって入力されている場合、true を返す。sObject 項目が設定されていない場合、false を返します。無効な項目が指定されている場合、SObjectException が発生する。 System.UserManagement クラスinitSelfRegistration(method, user)メソッドコミュニティセルフ登録用の独自の検証ページを作成するときに、このメソッドを使用して検証を呼び出す。sendAsyncEmailConfirmation(userId, emailTemplateId, networkId, startUrl)メソッドユーザのメールアドレスに検証用のメールメッセージを送信する。このメッセージには、ユーザが後でメールアドレスを検証するためにクリックする検証リンク (URL) が含まれます。メール検証を一括で送信できる。verifySelfRegistration(method, identifier, code, startUrl)メソッドコミュニティセルフ登録用の独自の検証ページを作成するときに、このメソッドを使用して検証を完了する。登録を行っている人が検証コードを正常に入力すると、ユーザが作成されてログインされる。 System.Test クラスstopTest()メソッドレコード変更プロセスとイベントプロセス (プロセスビルダーで作成) のスケジュール済みアクションを実行し、時間ベースの再開イベントを待機しているフローを再開します。 System.String クラスformat(stringToFormat, formattingArguments)メソッドformattingArguments パラメータ種別は、パラメータとして非文字列オブジェクトを許可するために List<String> の代わりに List<Object> を使用するようになった。第 1 引数をパターンとして扱い、第 2 引数を置換および形式設定に使用して文字列を返す。この置換および形式設定は、apex:outputText および Java MessageFormat クラスと同じ方法である。第 2 引数の List の非文字列型は、その型に存在する […]

[Salesforceデザイナー資格]Sharing and Visibilityデザイナー合格まで

  • 2019.03.13

概要 本記事では、Salesforceデザイナー資格のSharing and Visibilityデザイナー試験を受験して合格するまでに勉強した内容を簡単にまとめます 試験範囲 試験範囲については、リリースごとに変わる可能性があるので最新を確認する必要があります。 私が受験した時は、Winter’19でしたので、下記の内容となります。 http://tandc.salesforce.com/examguide_cert_sharing_visibility_designer.pdf 宣言的共有(67%) ・与えられた特定の顧客シナリオに従って、異なるタイプの情報へのユーザアクセスを許可および制限するために必要となる、該当するオブジェクトおよび項目レベルセキュリティ設定の適切な使用および制限について説明する ・与えられた特定の顧客シナリオに従って、適切なデータアクセス権をしかるべきユーザに付与する宣言的プラットフォームセキュリティ機能のすべてに必要な関連設定を説明する ・適切な表示およびコラボレーションの要件が満たされるように、取引先チームの使用事例を適切に評価し、取引先チームを実装する能力を示す ・セキュリティに関する考慮事項に留意しながら、グループやロールなどのセキュリティ機能を使用して、異なるグループにビューとフォルダを効果的に区分する方法を示し、レコードレベルのセキュリティに関する考慮事項とどのように異なるかを示す ・与えられた特定の顧客の組織階層に従って、レコード共有に対するロール階層の影響を説明する ・外部ユーザが関与する与えられたシナリオに従って、異なるタイプのコミュニティユーザ (社内、顧客コミュニティ、パートナーコミュニティなど) に適切にレコードを表示するために、セキュリティおよび共有設定をどのように利用できるかを説明する ・特定の顧客シナリオに従って、より複雑なセキュリティ要件に対処するために、Territory Management 2.0 をどのように適用するか、または適用しないかを認識している ・顧客の特定データストレージとデータ格納先について与えられた要件に従って、Salesforce の宣言的およびプログラミング的セキュリティ機能を適切に利用する市場のソリューションオプションを知っている ・共有およびセキュリティモデルについて与えられたアーキテクトの設計および設定に従って、共有および表示の検証方法を説明する ・共有およびセキュリティモデルについて与えられたアーキテクトの設計および設定に従って、共有および表示の検証方法を説明する パフォーマンス(8%) ・特定の複雑な顧客組織の設定に従って、Apex 共有 (および計算) がシステムパフォーマンスにどのような影響を与えるかを説明する ・特定の複雑な顧客組織の設定に従って、多数のユーザおよびレコードにおいてもメンテナンス可能なセキュリティモデルを設計する プログラミング的共有(25%) ・与えられたシナリオに従って、宣言的機能を使用すると満たせない要件を達成するために、プログラミング的共有機能を活用したソリューションを設計する ・与えられたシナリオに従って、データ表示に関連したプログラミング的カスタマイズ (Apex および Visualforce) のセキュリティリスクを最小限にする方法を説明する ・プログラミング的セキュリティソリューションを検証する単体テストを適切に設計する方法を示す ・プログラミング的ソリューションの設計時にオブジェクトおよび項目レベルの権限を適切に適用する方法を示す サンプル問題 1. あるリモートユーザから、自分が作成した非公開の取引先リストビューを実行すると特定の取引先が表示されないという苦情が寄せられました。この問題をトラブルシューティングするため、システム管理者はどのようにサポートできますか? 答えを 1 つ選んでください。 A. そのユーザの場所に VPN 接続して、リモートデスクトップセッションを確立する B. そのユーザからリストビューのリンク URL をメールで送ってもらい、調査する C. 別名でログイン機能を使用して、そのユーザがログインしたときに表示される内容を確認する D. 自分で問題を解決できるように、そのユーザを一時的にシステム管理者に設定する 2. ユニバーサルコンテナ社は営業部門のカスタムプロファイルを作成し、「参照」および「編集」のアクセス権をカスタムオブジェクトのカテゴリ項目に設定しました。営業部門プロファイルに割り当てられている 100 名のユーザのうち 3 名のカテゴリ項目に「参照のみ」のアクセス権を設定するように新たな依頼がありました。 アーキテクトはこの依頼にどのように対応できますか? 答えを 1 つ選んでください。 A. カテゴリ項目に「参照のみ」の権限セットを作成して、該当ユーザに割り当てる B. カテゴリに「編集」アクセス権がない新規プロファイルを作成して、該当ユーザに割り当てる C. カテゴリ項目セットを「参照のみ」に設定した新規ページレイアウトを該当ユーザ用に作成する D. カテゴリに「参照のみ」アクセス権を付与するカスタム権限を作成して、該当ユーザに割り当てる 3. ユニバーサルコンテナ社では、営業 VP が 6 か月ごとに商談チームの編成を変更します。各商談チームは次の人材で構成されています。 o AE (所有者) o 営業エンジニア o オーバーレイメンバー o 営業担当 アーキテクトは、商談チームのメンバーが適切な商談レコードにアクセスできるようメンバーを再編成するために、何を使用する必要がありますか? 答えを 1 つ選んでください。 A. ユーザ設定メニューで、[進行中の商談でチームメンバーを更新する] をクリックする B. デフォルトチームをクエリして進行中の商談を更新する Visualforce ページを構築する C. 商談レコードの詳細ページで、「チームメンバーの更新」機能を使用する D. 商談タブのホームページで、商談チームの一括再割り当てウィザードを使用する 4. ユニバーサルコンテナ社では、国内のコールセンター向けに、3 か月前に Service Cloud の大規模な展開に成功しました。最も顧客取引先の数が多い企業のひとつであるユナイテッドオートモーティブ社のオープンケースは 15,000 件を超えています。エージェントが、ユナイテッドオートモーティブ社に新規ケースをオープンするときに問題が発生しています。ケースを作成しようとすると、次のエラーメッセージが表示されます。 UNABLE_TO_LOCK_ROW このエラーは、ユナイテッドオートモーティブ社の取引先にのみ発生することがわかっています。再度ケースを保存しようとすると通常は保存できますが、問題の発生回数が増えているようです。 アーキテクトはどの選択肢を推奨すべきですか? 答えを 1 つ選んでください。 A. すべての取引先の共有ルールを見直し、カスタマーサービスチームにユナイテッドオートモーティブ社の取引先への「参照・更新」アクセス権を付与する B. ユナイテッドオートモーティブ社の取引先構造を見直して、取引先を複数の支店取引先に分割する C. すべてのケース共有ルールを見直して必要に応じて統合し、共有ルールの合計数を減らす D. カスタマーサービスプロファイルを見直し、適切なケース項目および取引先項目への「参照・更新」アクセス権を付与する 5. 適切な権限が付与された場合、レポートの作成と編集が可能となるライセンスタイプはどれですか? 答えを 2 つ選んでください。 A. Customer Community Plus B. Customer Community C. Customer Community Plus Login D. Partner Community Plus Login [回答] 1. C 2. B 3. D 4. B 5. A、C 勉強法 勉強法は、シンプルに試験範囲の事項についてSalesforceが提供するヘルプページ、開発者ドキュメントをひたすら読みながら、よくわからない部分は自分のDeveloper Editionで動作確認してみるというのを繰り返しました。 実際に学習に使用したリンクを下記にまとめましたので、参考にしてください。 アクセス制御の基礎 データアクセスの種別 https://developer.salesforce.com/docs/atlas.ja-jp.dat.meta/dat/dat_components.htm レコードへのアクセス https://help.salesforce.com/articleView?id=granting_access_to_records.htm&type=5 共有の直接設定によるユーザ共有と共有セットによるユーザ共有の相違点 https://help.salesforce.com/articleView?id=security_sharing_users_manual_and_sets.htm&type=5 ユーザレコードの共有の直接設定の制御 https://help.salesforce.com/articleView?id=security_sharing_owd_user_manual.htm&type=5 データローダを使用して手動で共有ルールを作成する方法 https://help.salesforce.com/articleView?id=000005614&language=ja&type=1 Apex を使用したレコードの共有 https://developer.salesforce.com/docs/atlas.ja-jp.apexcode.meta/apexcode/apex_bulk_sharing_creating_with_apex.htm エンタープライズテリトリー管理 https://help.salesforce.com/articleView?id=tm2_intro.htm&type=5 組み込みの共有動作 https://help.salesforce.com/articleView?id=sharing_across_objects.htm&type=5 暗黙的な共有 https://developer.salesforce.com/docs/atlas.ja-jp.draes.meta/draes/draes_object_relationships_implicit_sharing.htm 項目へのアクセスはどのように決まるのですか? https://help.salesforce.com/articleView?id=customize_fieldaccess.htm&type=5 項目のアクセス設定の変更 https://help.salesforce.com/articleView?id=modifying_field_access_settings.htm&type=5 データスキュー 所有権データスキュー https://developer.salesforce.com/docs/atlas.ja-jp.draes.meta/draes/draes_group_membership_data_skew.htm 親子データスキュー https://developer.salesforce.com/docs/atlas.ja-jp.draes.meta/draes/draes_object_relationships_parent_child_data_skew.htm 要約: パフォーマンス向上のためのデータのリレーションと更新の調整 https://developer.salesforce.com/docs/atlas.ja-jp.draes.meta/draes/draes_object_relationships_takeaway.htm Apex、Visualforce Apex および […]