スーパーバッジ攻略 Aura Components Specialist その1

<追記>
スーバーバッジの名称が「Lightning Component Framework Specialist」から「Aura Components Specialist」に変更になりました。
ですが、内容は前のLightning Component Framework Specialistと同じですので、そのまま読み替えていただいて構いません。

認定上級Platformデベロッパー合格のために、試験の他にクリアしないといけないのがトレイルヘッドのスーパーバッチを取ること。
以前は、Salesforceからの課題提出みたいな感じだったんですが、最近試験パスが変わって試験+トレイルと言う形になっています。
今回はLightning Component Framework Specialistの攻略をやります。
おそらく書くことが多くなるので、何回かに分けて書くことになると思います。

スポンサーリンク

まずは内容を理解することから

今回のLightning Component Framework Specialistは個人的には一番難しいと思っています。
まず、Lightningの知識が浅かったので、技術的な難しさがあったこと。
もう一つは、説明文含め、全部英文だったので、これを理解するのに苦労しました。

なので、問題の攻略に入る前に内容を理解するところから。まずは、本文中の前置き部分を翻訳します。
僕は英語はからきしなので、ここからはGoogle先生の翻訳+僕のちょっとした手直しでお送りします。
(青字が僕のコメント)

Lightning Component Framework Specialist

本文の翻訳

あなたはこのスーパーバジェットを獲得するために何をするでしょうか

  1. Salesforce Lightning Design Systemマークアップを、完全に機能するLightningコンポーネントに変換します。
  2. Lightning Design SystemとカスタムCSSを使用したTheme Lightningコンポーネント
  3. Lightning App Builder、Lightning Experience、Salesforce App、およびLightningアプリケーションのSurface Lightningコンポーネント
  4. Apexコントローラメソッドを作成して呼び出し、カスタムオブジェクトからデータを読み取ります。
  5. 密接に結合されたコンポーネント間の通信を可能にするには、コンポーネントイベントとパブリックメソッドを使用します。
  6. 疎結合コンポーネント間の通信を可能にするアプリケーションイベントを作成して発生させる。
  7. ネイティブのSalesforce機能を呼び出すためにアプリケーションイベントを発生させます。
  8. デプロイメント環境で機能が使用可能かどうかに応じて、アプリケーション機能を動的に有効または無効にします。
  9. ライトニング・データ・サービスを使用して、カスタム・オブジェクト・データを読み書きします。
    Lightningコンポーネントで外部JavaScriptを作成して使用する。
  10. JavaScriptとCSSのトラブルシューティングを行います。

だいたい翻訳通りの文面で問題ないかと思いますが、Lightningコンポーネントを使用しての、データ操作や画面表示、イベント操作などを駆使してプログラムを行うといった内容となっています。
全然手直ししていない、Google先生すごい!

このSuperbadgeでテストされたコンセプト

  • Lightning App Builderで使用するためのコンポーネントの開発
  • Themingコンポーネント
  • JavaScriptを使用してユーザーの操作を処理する
  • コンポーネントのトラブルシューティング
  • UXのコントロールを動的に表示および隠す
  • カスタムオブジェクトデータの読み書き
  • コンポーネント間の通信
  • ネイティブSalesforceの機能を活用
  • Lightningコンポーネントでの外部JavaScriptの使用

所要時間:10時間 – 12時間

こちらも手直しなしで十分伝わります。Themingコンポーネントだけちょっと聞き慣れなかったのですが、要は特定のテンプレートにしたがって画面(コンポーネント)を表示すると言うニュアンスで問題ないかと思います。
所要時間は10〜12時間とのことですが、僕はもっとかかりましたね。
日数にして3日くらいかかったと思います。ここは人それぞれってことで。

プレワークとノート

  • ペンと紙をつかみなさい。あなたは、要件を読んでノートを書き留めたいかもしれません。
  • このsuperbadge用の新しいTrailhead Playgroundを作成します。この組織を他のモジュールやタスクに使用すると、チャレンジの検証に問題が発生する可能性があります。あなたのTrailhead PlaygroundにはすでにMy Domainが有効になっています。 [マイドメイン]設定を編集しないでください。 Trailhead Playgroundから身を守ることができます。
  • [Setup] > [Security] > [Session Settings]セクションで、パフォーマンスを向上させるために安全かつ永続的なブラウザキャッシュを有効にする設定を無効にして、コンポーネントキャッシュを無効にします。
  • このアンマネージドパッケージをインストールします。このパッケージには、このチャレンジを完了するために必要なApexロジックのスキーマがすべて含まれています。データスキーマを変更する必要はありません。このアンマネージドパッケージのインストールに問題がある場合は、Trailhead Playground Managementの手順に従ってください。
  • チャレンジ1でアンマネージドパッケージのインストールが検証された後、サンプルデータが自動的に組織に追加されます。何らかの理由で最初のチャレンジを通過した後に組織を変更した場合は、GenerateData.apxcにある静的メソッドinitData()を実行できます。
  • 要件文書で指定されている命名規則を使用して、展開が正しく行われるようにします。
  • 以下の詳細な要件を読んで、変更した組織のデータスキーマを確認してください。
  • コントローラ関数を記述するときは、関数foo(cmp、evt、hlp)ではなく、命名規則関数foo(component、event、helper)を使用してください。
  • イベントを実装する場合は、ベストプラクティスおよびアプリケーションでのイベントの使用状況に応じて適切なイベントタイプを選択する必要があります。

ここは課題をやる上での準備事項が書いてあります。こちらも手順にしたがって実施すれば問題ないでしょう。
一応、注意点としては他のバッチの課題でもそうなのですが、日本語で環境を作成するとコンピュータによる判定でラベル名などの判定が不一致となって不合格になることがあるので、多少読みづらくても英語の環境(システム管理者の言語をEnglishにする)にしましょう。

今回はここまで

次からはシステムの仕様になります。結構長文ですが、一気に載せたいと思います。

コメント