投稿者:Salesforce.com Japan | 投稿日:2017年7月16日(日) 07:08

Screen_shot_20170716_at_63251_am
2017年7月12日に開催された、"Lightning コンポーネント開発〜実装例から学ぶ開発のコツ" オンデマンド版を公開しました。
セッション資料&動画をこちらからご覧いただけます。

<セミナー時 Q&A>
Q.  [実装例1: 法人インフォで取引先更新] Salesforce1でも使えますか?
A.
取引先レコードレイアウトに配置した Lightning コンポーネントは、現時点では S1 レイアウトには表示されないため、そのまま使うことはできません。
S1 で利用したい場合は、取引先レコードからアクションでこの Lightning コンポーネントを起動できるようにすることが考えられます。かつ、正常に動作するように、コードの変更が必要です。


Q.  [実装例1: 法人インフォで取引先更新] 移転により管轄法務局が変わった場合、法人番号が変更され、法人番号がレコードに登録されていても法人インフォに存在しなくなると思いますが、その場合は取引先名で検索する必要がありますか?
A. はい。法人番号が法人インフォに存在しなくなった場合、その旨のメッセージがコンポーネントに表示され、「取引先名で検索」というボタンが出現します。このボタンを押していただいたら、取引先名で検索した結果が表示→一覧から法人を選択→取引先の情報を更新、となります。


Q: [実装例2: Chatterワードクラウド] ポイント3 "Apex コールアウトのタイムアウトが 10秒のため、Chatter フィードの取得件数の上限を設定できるようにしている" とのことですが、パラメータの受け渡しは簡単に実装できるものですか?
A.
Salesforceから、Heroku上に実装したアプリを呼び出す動きと理解して回答します。APEXでは、HTTPのリクエスト及びレスポンスを処理する標準クラスを備えていますので、簡単に実装できると考えます。今回の例では、次のような動きになります。

  • Chatterフィード・コメントの本文を取得し、JSON形式の文字列を組み立て
  • Heroku上に実装したアプリを呼び出すHTTPリクエスト文を作成
  • リクエストを実行し、返り値を処理

参考:
HttpRequest req = new HttpRequest();
req.setEndpoint('https://xxxx-yyyy-zzzz.herokuapp.com/wordlist');
req.setHeader('Content-Type','application/json');
req.setMethod('POST');
req.setBody(JSON.serialize(content));

HttpResponse res = new HttpResponse();
res = (new Http()).send(req);

return res.getBody();

参考: APEX Developers Guide


Q. [実装例3: なんでも関連リスト] コンポーネントは1画面に、いくつ出せますか?
A. 現時点での制限は「25個」です。(今回のコンポーネントに関わらずLightningコンポーネント全般の制限として)
ヘルプ: Lightningページの標準コンポーネント


Q. [共通] コンポーネントを作成するときに、様々な制約をどのように確認しながら作っていますか?
A. まずは、Help & Trainingの記載や、開発者向けドキュメントを参照します。実際に、Lightning コンポーネント開発において考慮すべき制約は、何かしらの数量(時間あたりの呼び出し数、一度に送れるデータ量など)であることが多いので、ある程度の設計が終わった段階や、ひとまず実装して機能が動くことを確認しつつ、当該箇所において制約がないかを確認する流れが多いように思います。

実案件におけるノウハウや知見は、Success Community や Meetup イベントなどの場で得られる事も多いと思いますので、ぜひコミュニティへも積極的に参加されることをおすすめします。

Success Community

Salesforce Trailblazer Communiry