Mark Hammer's blog

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

Trailhead モジュール:App Development Without Limits

※この内容は2019/6時点のものです。

Learn About Daily Rate Limits

https://trailhead.salesforce.com/ja/content/learn/modules/app-development-without-limits/app-development-without-limits-rate

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

【Challenge要約】

  • 「標準ユーザ」プロファイルをコピーし、「Data Entry - No API Access」プロファイルを作成してください。
    • 「システム管理者権限」セクションにある「API の有効化」のチェックを外し、保存してください。
  • (まだ作成していない場合は)「Limits Trail Connected App」接続アプリケーションを作成してください。
    • 接続アプリケーション名:Limits Trail Connected App
    • API参照名:Limits_Trail_Connected_App
    • 取引先責任者 メール:あなたのメールアドレス
    • 「Web アプリケーション設定」セクションの「開始URL」:https://trailhead.salesforce.com
  • 「Limits Trail Connected App」接続アプリケーションへのアクセス許可を割り当てた権限セット「Connected App Access」を作成してください。

Avoid Concurrency

https://trailhead.salesforce.com/ja/content/learn/modules/app-development-without-limits/app-development-without-limits-concurrency

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

【Challenge要約】

  • この未管理パッケージをインストールしてください。インストールに失敗する場合はこの記事(英語)の手順に従ってください。
  • 設定画面より、Apexクラス「CalloutController」を探してください。
  • Apexクラス「CalloutController」を以下の通り編集してください。
    • 既存のコールアウト部分のコードを、新しくContinuationクラスの変数 con を使用してコールバックハンドラ「processResponse」を呼び出すよう変更してください。
    • サーバからのレスポンスを待つためのコールバックハンドラとして、「processResponse()」メソッドを追加してください。

Tune Transactions

https://trailhead.salesforce.com/ja/content/learn/modules/app-development-without-limits/app-development-without-limits-transactions

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

【Challenge要約】

  • まだインストールしていない場合は、この未管理パッケージをインストールしてください。インストールに失敗する場合はこの記事(英語)の手順に従ってください。
  • 設定画面より、Apexクラス「TrailLoop」を探してください。
  • AllBadThings()」メソッドを以下の通り編集し、保存してください。
    • if文をSOQLのWhere句で置き換えてください。
    • update文をfor文の外に出してください。
    • メソッド名を「AllGoodThings()」に変更してください。

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

System.QueryException: List has no rows for assignment to SObject

というエラーが発生する場合は、Challenge用組織のユーザ言語を[English]に変更し、再度Challengeの確認を実施してください。
これはChallengeチェック時に SELECT Id FROM Profile WHERE Name = 'System Administrator' LIMIT 1 というSOQLが実行されますが、ユーザ言語が日本語だとプロファイル名が「システム管理者」となるため、SOQL結果が0件になるのが原因と思われます。