Mark Hammer's Blog

SalesforceやTrailheadに関する情報を投稿しているブログです。

Trailhead モジュール:プラットフォームイベントの基礎

※この内容は2018/4時点のものです。

イベント駆動型ソフトウェアアーキテクチャの理解

https://trailhead.salesforce.com/ja/modules/platform_events_basics/units/platform_events_architecture

  • 説明:日本語
  • Challenge:日本語選択問題

プラットフォームイベントの定義および公開

https://trailhead.salesforce.com/ja/modules/platform_events_basics/units/platform_events_define_publish

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

  • 以下内容でプラットフォームイベントを作成してください。
    • 表示ラベル:Order Event
    • 表示ラベル(複数形) :Order Events
    • 母音で始まる場合はチェック:チェックを入れる
    • 説明:Information about a customer order.

※著者注:設定項目に「表示ラベル(複数形)」が表示されない場合は、組織情報にて言語のデフォルト値を「英語」に設定してください。

  • 作成したプラットフォームイベントに、以下内容のカスタム項目を作成してください。
    • データ型:テキスト、項目の表示ラベル:Order Number、文字数:10
    • データ型:チェックボックス、項目の表示ラベル:Has Shipped

プラットフォームイベントの登録

https://trailhead.salesforce.com/ja/modules/platform_events_basics/units/platform_events_subscribe

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

  • プラットフォームイベント:Order_Event__e のApexトリガ「OrderEventTrigger」を作成してください。このトリガはApexトリガ「CloudNewsTrigger」と似ていますが、プラットフォームイベント:Order_Event__e に対し実行され、ケースの代わりにToDo(Task)を使用します。
  • 注文が発送 (event.Has_Shipped__c == true) された場合に、以下内容のToDo(Task)を作成するようにしてください。
    • 優先度(priority):’Medium’
    • 状況(status):’New’
    • 件名(subject): 'Follow up on shipped order ' + event.Order_Number__c
  • ToDo(Task)の任命先はあなたのユーザIDを使用してください。これはApexクラス「CloudNewsTrigger」に書かれたキューIDを取得するSQL文に似ている、Userオブジェクトに対しユーザーのフルネームを条件に指定したSQL文を用いることで実現できます。

Trailhead モジュール:Apex メタデータ API

※この内容は2018/4時点のものです。

Apex メタデータ API の使用開始

https://trailhead.salesforce.com/ja/modules/apex_metadata_api/units/apex_metadata_api_intro

  • 説明:日本語
  • Challenge:日本語選択問題

複数組織リリース用の自動メタデータ更新の作成

https://trailhead.salesforce.com/ja/modules/apex_metadata_api/units/apex_metadata_api_updates

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

  • public Apexクラス「UpdateContactPageLayout」を作成してください。
  • publicメソッド「addLayoutItem」をApexクラス「UpdateContactPageLayout」に追加してください。 「addLayoutItem」は Metadata.Layout型 を返り値の型とし、引数はなしとしてください。
  • メソッド「addLayoutItem」にて、Metadata.Operations.retrieveメソッドを使用して、取引先責任者ページレイアウトのメタデータを取得してください。 取得したメタデータを、Metadata.Metadata オブジェクトのリストである 「layoutsList」 という名前の変数に割り当ててください。
  • リスト「layoutsList」にあるレイアウトのうち最初のレイアウトを取得し、それをMetadata.Layout型 の 「layoutMetadata」 という名前の変数に割り当ててください。
  • Metadata.LayoutSection型の 「contactLayoutSection」 という名前の変数を作成し、nullに設定してください。
  • 変数「layoutMetadata」 の layoutSections プロパティを使用して、レイアウトセクションの反復処理により「Additional Information」セクションを探してください。
    「Additional Information」セクションが見つかった場合、そのセクションを変数「contactLayoutSection」に割り当ててください。
  • Metadata.LayoutColumnオブジェクトのリストである 「contactColumns」 という名前の変数を作成してください。
  • 変数「contactLayoutSection」 の layoutColumns プロパティを使用して得られた値を変数「contactColumns」に割り当ててください。
  • Metadata.LayoutItemオブジェクトのリストである 「contactLayoutItems」 という名前の変数を作成してください。
  • 変数「contactColumns」のリストの最初の要素の layoutItems プロパティを使用して得られた値を、変数「contactLayoutItems」に割り当ててください。
  • Metadata.LayoutItem型のオブジェクト「newField」を作成してください。
  • オブジェクト変数「newField」に以下の値を割り当ててください。
    • behavior:Metadata.UiBehavior.Edit
    • field: AMAPI__Apex_MD_API_Twitter_name__c
  • オブジェクト変数「newField」を「contactLayoutItems」メタデータ変数に追加してください。
  • 変数「layoutMetadata」を「addLayoutItem」メソッドの返り値としてください。

自動設定変更のためのシステム管理者ツールの作成

https://trailhead.salesforce.com/ja/modules/apex_metadata_api/units/apex_metadata_api_tools

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

  • public Apexクラス「MetadataExample」を作成してください。
  • Apexクラス「MetadataExample」にpublicメソッド「updateMetadata」を作成してください。「updateMetadata」メソッドの引数はなし、返り値の型はvoidとしてください。
  • Metadata.CustomMetadata型の「customMetadata」というオブジェクト変数を作成してください。
  • 変数「customMetadata」の fullname を 「MyNamespace__MyMetadataTypeName.MyMetadataRecordName」に設定してください。
  • Metadata.CustomMetadataValue型の「customField」というオブジェクト変数を作成してください。
  • 変数「customField」のfieldに「customField__c」を、valueに「New value」を設定してください。
  • 変数「customMetadata」のvaluesのリストに変数「customField」を追加してください。
  • Metadata.DeployContainer型の「deployContainer」というオブジェクト変数を作成してください。
  • 変数「deployContainer」に変数「customMetadata」を追加してください。
  • Metadata.Operations.enqueueDeploymentメソッドを使用して、メタデータをデプロイしてください。メソッドの戻り値は、Id型の変数「asyncResultId」に代入してください。
    enqueueDeploymentメソッドのコールバックパラメータにはnullを使用してください。

メタデータのリリースのテスト

https://trailhead.salesforce.com/ja/modules/apex_metadata_api/units/apex_metadata_api_testing

  • 説明:日本語
  • Challenge:日本語選択問題

Apex メタデータ API とセキュリティについて

https://trailhead.salesforce.com/ja/modules/apex_metadata_api/units/apex_metadata_api_security

  • 説明:日本語
  • Challenge:日本語選択問題

Trailhead モジュール:カスタムメタデータ型

※この内容は2018/4時点のものです。

カスタムメタデータ型の使用開始

https://trailhead.salesforce.com/ja/modules/custom_metadata_types/units/custom_metadata_types_overview

  • 説明:日本語
  • Challenge:日本語選択問題

カスタムメタデータ型の作成および管理

https://trailhead.salesforce.com/ja/modules/custom_metadata_types/units/custom_metadata_types_create

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

  • 以下内容のカスタムメタデータ型を作成してください。
    • 表示ラベル:VAT Data
    • 以下のカスタム項目を作成してください
      • データ型:テキスト、項目の表示ラベル:Country Name、文字数:10
      • データ型:パーセント、項目の表示ラベル:VAT Rate
  • 以下内容でカスタムメタデータレコードを作成してください。レコードの表示ラベルにはCountry Name項目と同じ値を使用します。
    • Country Name:Japan、VAT Rate:10%
    • Country Name:Germany、VAT Rate:19%

メタデータリレーション項目の使用

https://trailhead.salesforce.com/ja/modules/custom_metadata_types/units/custom_metadata_types_create_md_relationships

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

  • 以下内容のカスタムメタデータ型を作成してください。
    • 表示ラベル:Agency Service Providers
    • 以下のカスタム項目を作成してください
      • データ型:メタデータリレーション、関連先:Entity Definition、項目の表示ラベル:Object Type
      • データ型:メタデータリレーション、関連先:Field Definition、項目の表示ラベル:Agency Field、制御項目:Object Type
      • データ型:メール、項目の表示ラベル:Agency Owner Email

カスタムメタデータ型およびレコードの保護

https://trailhead.salesforce.com/ja/modules/custom_metadata_types/units/custom_metadata_types_manageability

  • 説明:日本語
  • Challenge:日本語選択問題

カスタムメタデータ型のパッケージ化

https://trailhead.salesforce.com/ja/modules/custom_metadata_types/units/custom_metadata_types_packaging

  • 説明:日本語
  • Challenge:日本語選択問題

カスタム設定の変換

https://trailhead.salesforce.com/ja/modules/custom_metadata_types/units/custom_metadata_types_convert

  • 説明:日本語
  • Challenge:日本語選択問題

Trailhead モジュール:Big Object の基礎

※この内容は2018/4時点のものです。

Big Object の使用開始

https://trailhead.salesforce.com/ja/modules/big_objects/units/big_objects_get_started

  • 説明:日本語
  • Challenge:日本語選択問題

カスタム Big Object の定義

https://trailhead.salesforce.com/ja/modules/big_objects/units/big_objects_define_custom_big_objects

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

  • 以下内容でカスタムBig Object:Rider_History__b.object を定義してください。
    • 項目
      • Start_Location_Lat__c
        • 項目の表示ラベル(Label): Start Location Latitude
        • 必須項目(Required): False
        • データ型(Type): 数値(Number)
        • ユニーク(Unique): False
        • 桁数(Precision): 7
        • 小数点の位置(Scale): 4
      • Start_Location_Long__c
        • 項目の表示ラベル(Label): Start Location Longitude
        • 必須項目(Required): False
        • データ型(Type): 数値(Number)
        • ユニーク(Unique): False
        • 桁数(Precision): 7
        • 小数点の位置(Scale): 4
      • Start_Time__c
        • 項目の表示ラベル(Label): Start Time
        • 必須項目(Required): True
        • データ型(Type): 日付/時間(DateTime)
        • ユニーク(Unique): False
      • End_Time__c
        • 項目の表示ラベル(Label): End Time
        • 必須項目(Required): False
        • データ型(Type): 日付/時間(DateTime)
        • ユニーク(Unique): False
      • Service_Type__c
        • 項目の表示ラベル(Label): Service Type
        • 文字数(Length): 16
        • 必須項目(Required): False
        • データ型(Type): テキスト(Text)
        • ユニーク(Unique): False
      • Rider_Account__c
        • 項目の表示ラベル(Label): Rider Account
        • 文字数(Length): 16
        • 必須項目(Required): True
        • データ型(Type): テキスト(Text)
      • Rider_Rating__c
        • 項目の表示ラベル(Label): Rider Rating
        • 必須項目(Required): False
        • データ型(Type): 数値(Number)
        • ユニーク(Unique): False
        • 桁数(Precision): 2
        • 小数点の位置(Scale): 1
    • インデックス
      • 名前(Full name): Rider_History_Index
      • 表示ラベル(Label): Rider History Index
      • インデックス項目
        • Rider_Account__c
          • ソート(Sort): DESC
        • Start_Time__c
          • ソート(Sort): DESC
  • 以下内容で権限セット rider_history.permissionset を定義してください。
    • インデックス項目以外の全項目に対し、参照アクセス権、編集アクセス権を付与してください。
  • あなたの組織に作成したカスタム Big Object:Rider_History__b.object の定義をリリースしてください。

Big Object のクエリ

https://trailhead.salesforce.com/ja/modules/big_objects/units/big_objects_querying

  • 説明:日本語
  • Challenge:日本語選択問題

Trailhead モジュール:AppExchange アプリケーション開発

※この内容は2018/3時点のものです。

AppExchange 開発環境について

https://trailhead.salesforce.com/ja/modules/isv_app_development/units/isv_app_development_landscape

  • 説明:日本語
  • Challenge:日本語選択問題

パートナー開発組織の作成と管理

https://trailhead.salesforce.com/ja/modules/isv_app_development/units/isv_app_development_env_hub_dev_orgs

  • 説明:日本語
  • Challenge:日本語選択問題

AppExchange アプリケーションのパッケージ化

https://trailhead.salesforce.com/ja/modules/isv_app_development/units/isv_app_development_packaging

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

このChallengeでは、管理パッケージを作成、配布するための組織(Org1)と作成したパッケージをインストールする組織(Org2)が必要です。
Org1には通常のDeveloper Edition組織、または環境ハブから作成したPartner Developer Edition組織が使用できます。
「Challengeを確認」は、Org2にて行います。
注意:Trailheadでは名前空間をサポートしていないため、管理パッケージを作成、配布するための組織(Org1)を他のChallengeで使用しないでください。

  • Org1で以下作業を実施してください。
    • 名前空間を設定してください。
    • 以下のカスタムオブジェクトを作成してください。
      • オブジェクト名:Module
      • 表示ラベル:Module
      • 表示ラベル(複数形):Modules
        • ※著者注:設定項目に「表示ラベル(複数形)」が表示されない場合は、組織情報にて言語のデフォルト値を「英語」に設定してください。
    • 上記カスタムオブジェクトを含むアプリケーションを作成してください。アプリケーション名は「Module Tracker」としてください。
    • 管理パッケージを作成してください。
  • Org2に、Org1で作成した管理パッケージをインストールしてください。

注意:Challengeを完了するには、Org2をTrailheadに接続する必要があります。

AppExchange アプリケーションのテスト

https://trailhead.salesforce.com/ja/modules/isv_app_development/units/isv_app_development_testing

  • 説明:日本語
  • Challenge:日本語選択問題

Trailhead モジュール:Salesforce Connect

※この内容は2018/3時点のものです。

Salesforce Connect の概要

https://trailhead.salesforce.com/ja/modules/lightning_connect/units/lightning_connect_introduction

  • 説明:日本語
  • Challenge:日本語選択問題

Salesforce Connect の設定

https://trailhead.salesforce.com/ja/modules/lightning_connect/units/lightning_connect_setup

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

  • 以下内容で新規外部データソースを作成してください。
  • 外部データソース「Mobile Devices」の「検証して同期」にて、「phone_plans」テーブルを同期してください。
  • 外部オブジェクト「phone_plans」のAPI参照名を「Phone_Plan__x」に変更するため、オブジェクト名を「Phone_Plan」に変更してください。
  • 外部データソース「Mobile Devices」の「検証して同期」にて、「phones」テーブルを同期してください。
  • 外部オブジェクト「phones」のAPI参照名を「Phone__x」に変更するため、オブジェクト名を「Phone」に変更してください。
  • 外部オブジェクトのテーブル名は変更しないでください。

外部データの統合

https://trailhead.salesforce.com/ja/modules/lightning_connect/units/lightning_connect_integrate

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

※前のユニット(Salesforce Connect の設定)のChallengeを完了している場合、この設定は既にあなたの組織に存在しています。

  • ユーザオブジェクトに以下内容のカスタム項目を作成してください。
    • データ型:テキスト
    • 項目の表示ラベル:Phone UUID
    • 項目名:Phone_UUID__c
    • ユニーク:チェックを入れる
    • 外部ID:チェックを入れる
  • 外部オブジェクト「Phone」の「UUID」項目を間接参照関係に変更してください。関連先は「ユーザ」に、対象項目は「Phone_UUID__c」に設定してください。
  • 既存のユーザレコードのうち、1レコードの「Phone_UUID」項目を「0000123442」に設定してください。

Trailhead モジュール:画面フローの配布

※この内容は2018/3時点のものです。

フロー配布の開始

https://trailhead.salesforce.com/ja/modules/screen_flow_distribution/units/screen_flow_distribution_intro

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

以下内容のフローを作成してください。

  • フローの名前:「Hello World」
  • フローの一意の名前:「Hello_World」
  • フローには画面要素を1つ設置してください。
  • 画面要素には「Hello, World!」と表示する表示テキスト項目を追加してください。
  • フローを有効化してください。

Salesforce 組織のページでのフローの表示

https://trailhead.salesforce.com/ja/modules/screen_flow_distribution/units/screen_flow_distribution_page

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

  • フローコンポーネントを取引先責任者レコードページに追加してください。表示するフローは「Hello World」を選択してください。
  • レコードページを有効化してください。ページのAPI参照名は「Contact_Record_Page」である必要があります。

※筆者注: 設定を正しく実施しても

Challenge Not yet complete... here's what's wrong: 
We couldn't find a Record page called "Contact Record Page".

というエラーが発生する場合は、LightningページのAPI参照名が「Contact_Record_Page」となっているか確認してください。

フローをレコードのアクションとして追加

https://trailhead.salesforce.com/ja/modules/screen_flow_distribution/units/screen_flow_distribution_action

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

  • 以下内容で、「Hello World」フローを実行するアクションを作成してください。
    • オブジェクト:取引先
    • アクション種別:フロー
    • 表示ラベル:Flow Action
  • 作成したアクションをページレイアウト「Account Layout」に追加してください。

Salesforce 組織のすべてのページでのフローの表示

https://trailhead.salesforce.com/ja/modules/screen_flow_distribution/units/screen_flow_distribution_everypage

  • 説明:日本語
  • Challenge:日本語選択問題

Salesforce 組織外のページでのフローの表示

https://trailhead.salesforce.com/ja/modules/screen_flow_distribution/units/screen_flow_distribution_external

  • 説明:日本語
  • Challenge:日本語選択問題

Trailhead モジュール:Apex テスト

※この内容は2018/3時点のものです。

Apex 単体テストの開始

https://trailhead.salesforce.com/ja/modules/apex_testing/units/apex_testing_intro

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

  • Apexクラス「VerifyDate」をテストしてください。「VerifyDate」のコードはここからコピーして開発者コンソールに貼り付けしてください。
  • Apexクラス「VerifyDate」は日付が適切な範囲内にあるかをテストするクラスです。範囲外の場合は、範囲内の月末の日付を返します。
  • 単体テスト用のApexクラス名は「TestVerifyDate」としてください。
  • 単体テストでは、Apexクラスに含まれるコードすべての行のシナリオをカバーする必要があります。結果としてコードカバレッジが100%になります。
  • このChallengeを確認する前に、テストクラスを少なくとも1回(開発者コンソールの[Run All]で)実行してください。

Apex トリガのテスト

https://trailhead.salesforce.com/ja/modules/apex_testing/units/apex_testing_triggers

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

  • Apexトリガ「RestrictContactByName」をテストしてください。「RestrictContactByName」のコードはここからコピーして開発者コンソールに貼り付けしてください。
  • 「RestrictContactByName」は、姓が「INVALIDNAME」である取引先責任者の挿入、更新をブロックするトリガです。
  • 単体テスト用のApexクラス名は「TestRestrictContactByName」としてください。
  • 単体テストでは、Apexトリガに含まれるコードすべての行のシナリオをカバーする必要があります。結果としてコードカバレッジが100%になります。
  • このChallengeを確認する前に、テストクラスを少なくとも1回(開発者コンソールの[Run All]で)実行してください。

Apex テストのテストデータの作成

https://trailhead.salesforce.com/ja/modules/apex_testing/units/apex_testing_data

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

以下を満たすApexクラスを作成してください。

  • Apexクラス名は「RandomContactFactory」とし、スコープは public としてください。
  • Apexクラスに @isTest アノテーションを使用してはいけません。
  • Apexクラスには、(@testMethod アノテーションを使用しない)「generateRandomContact」というpublic static method が必要です。
  • 「generateRandomContacts」メソッドは、最初の引数にIntegerを、2番目の引数にStringを設定する必要があります。 最初の引数は生成される取引先責任者の数、2番目の引数は生成される取引先責任者の姓です。
  • 「generateRandomContacts」メソッドの返り値の型は「List<Contact>」である必要があります。
  • 「generateRandomContacts」メソッドは、一貫して一意の名(FirstName)を持つ取引先責任者を生成する必要があります。
  • 例として、「generateRandomContacts」メソッドが返す取引先責任者の名はループ回数に基づいて命名することができます(つまり、「Test1」、「Test2」)。
  • 「generateRandomContacts」メソッドは、取引先責任者レコードをデータベースに挿入してはいけません。

Trailhead モジュール:Visualforce の基礎

※この内容は2018/3時点のものです。

Visualforce の使用開始

https://trailhead.salesforce.com/ja/modules/visualforce_fundamentals/units/visualforce_intro

  • 説明:日本語
  • Challenge:日本語選択問題

Visualforce ページの作成と編集

https://trailhead.salesforce.com/ja/modules/visualforce_fundamentals/units/visualforce_creating_pages

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

以下内容でVisualforceページを作成してください。

単純な変数と数式の使用

https://trailhead.salesforce.com/ja/modules/visualforce_fundamentals/units/visualforce_variables_expressions

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

ログインユーザの「名」を表示するVisualforceページを作成してください。

  • Visualforceページ名は「DisplayUserInfo」としてください。
  • 表示するユーザ情報はログインしているユーザから動的に生成する必要があります。

標準コントローラの使用

https://trailhead.salesforce.com/ja/modules/visualforce_fundamentals/units/visualforce_standard_controllers

  • 説明:日本語
  • Challenge:英語ハンズオン

    Challenge要約

    取引先責任者の標準コントローラを使用し、取引先責任者の「姓」「名」「取引先責任者所有者のメールアドレス」を表示するVisualforceページを作成してください。

  • Visualforceページ名は「ContactView」としてください。

  • 取引先責任者の標準コントローラを参照する必要があります。
  • 取引先責任者レコード情報を表示するために、標準コントローラを使用した以下の3つの変数が含まれている必要があります。
    • 取引先責任者所有者のメールアドレス

レコード、項目、テーブルの表示

https://trailhead.salesforce.com/ja/modules/visualforce_fundamentals/units/visualforce_output_components

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

「apex:outputField」コンポーネントを使用し、商談項目の一部を表示するVisualforceページを作成してください。

  • Visualforceページ名は「OppView」としてください。
  • 商談の標準コントローラを参照する必要があります。
  • 以下4つの項目を表示する「apex:outputField」コンポーネントが含まれている必要があります。
    • 商談名
    • 金額
    • 完了予定日
    • 商談の取引先名

フォームを使用したデータの入力

https://trailhead.salesforce.com/ja/modules/visualforce_fundamentals/units/visualforce_forms

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

以下内容で取引先責任者レコードを作成するためのVisualforceページを作成してください。

  • Visualforceページ名は「CreateContact」としてください。
  • 取引先責任者の標準コントローラを参照する必要があります。
  • 「apex:form」コンポーネントを使用する必要があります。
  • 以下3つの取引先責任者項目のための「apex:inputField」コンポーネントが必要です。
    • メール
  • 標準コントローラのsaveメソッドを使用する「apex:commandButton」コンポーネントが必要です。

標準リストコントローラの使用

https://trailhead.salesforce.com/ja/modules/visualforce_fundamentals/units/visualforce_standard_list_controllers

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

標準リストコントローラを使用して、レコード詳細ページへのリンクを含む取引先リストを表示するVisualforceページを作成してください。

  • Visualforceページ名は「AccountList」としてください。
  • 取引先の標準コントローラを参照する必要があります。
  • 「recordSetVar」属性に「accounts」を設定してください。
  • 「apex:repeat」コンポーネントを使用し、以下の通り設定してください。
    • 「apex:repeat」コンポーネントの「var」属性には「a」を設定してください。
    • HTMLリストタグである「<li>」を使用してください。
    • 「apex:outputLink」コンポーネントを使用して、各レコードの詳細ページにリンクしてください。

ヒント:レコード詳細ページにアクセスするには、例えば「/<record id>」のように、URLのルートにレコードIDを配置します。

静的リソースの使用

https://trailhead.salesforce.com/ja/modules/visualforce_fundamentals/units/visualforce_static_resources

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

以下内容でVisualforceページを作成してください。

  • Visualforceページ名は「ShowImage」としてください。
  • このファイルを静的リソースとしてアップロードしてください。名前は「vfimagetest」としてください。
  • 静的リソースのcatsディレクトリにあるkitten1.jpgイメージを表示する「apex:image」タグが必要です。

カスタムコントローラの作成および使用

https://trailhead.salesforce.com/ja/modules/visualforce_fundamentals/units/visualforce_custom_controllers

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

カスタムコントローラを使用して、状況が「New」のケースのリストを表示してください。

  • Visualforceページ名は「NewCaseList」としてください。
  • カスタムコントローラ Apex クラス「NewCaseListController」を作成し、以下を含めてください。
    • メソッド名が「getNewCases」のPublicメソッド
    • 返り値の型:「List<Case>」
    • IDと「ケース番号」項目を含むケースレコードのリストを返り値とする
    • 状況が「New」のケースのみを返すようフィルタリングする
  • Visualforceページ「NewCaseList」では「apex:repeat」コンポーネントを使用し、以下を設定してください。
    • 「apex:repeat」コンポーネントの「value」属性には「newCases」を使用してください。
    • 「apex:repeat」コンポーネントの「var」属性は「case」と設定してください。
    • 「apex:outputLink」コンポーネントにケースのIDを関連付けして、各ケースレコードの詳細ページへのリンクを作成してください。

Trailhead モジュール:Apex トリガ

※この内容は2018/3時点のものです。

Apex トリガの使用開始

https://trailhead.salesforce.com/ja/modules/apex_triggers/units/apex_triggers_intro

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

カスタム項目の値によって「郵便番号(請求先)」項目を「郵便番号(納入先)」項目に合わせるApexトリガを作成してください。

  • Apexトリガの名前は「AccountAddressTrigger」としてください。
  • 取引先オブジェクトに新しくカスタムチェックボックス項目を作成してください。チェックボックス項目の表示ラベルは「Match Billing Address」、項目名は「Match_Billing_Address」としてください。API参照名は「Match_Billing_Address__c」となります。
  • Apexトリガ「AccountAddressTrigger」が有効で、「郵便番号(請求先)」項目に値があり、チェックボックス項目「Match_Billing_Address__c」にチェックがある場合、「郵便番号(納入先)」項目に「郵便番号(請求先)」項目の値を挿入、または更新するようにしてください。

一括 Apex トリガ

https://trailhead.salesforce.com/ja/modules/apex_triggers/units/apex_triggers_bulk

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

フェーズが「Closed Won」となった商談にToDoを追加するApexトリガを作成してください。

  • Apexトリガの名前は「ClosedOpportunityTrigger」としてください。
  • Apexトリガ「AccountAddressTrigger」が有効で、フェーズが「Closed Won」の商談を追加、または更新した場合に件名が「Follow Up Test Task」であるToDoを作成してください。
  • ToDoを商談に関連付けるには、商談IDを「WhatId」項目に設定します。
  • このChallengeでは1回の操作で200レコード分のテストを行います。