Tokyo Salesforce Developer Group Meetup #11

Preview:

Citation preview

Spring’16リリースノート輪読Lightning Component

Tokyo Salesforce Developer Group Meetup #11

自己紹介山﨑 真吾株式会社チームスピリット zaki___yamaBlog: http://dackdive.hateblo.jp/

Lightning Component はそんなに…前回のハイライト

PR

http://zaki-yama.github.io/salesforce-developers.info/ Python 製 静的サイトジェネレータ Pelican + GitHub Pages で作ってます

ニュースサイト作りました

本日お話すること• アクセス権チェックのより厳格な適用• Lightning Out ( ベータ )• Lightning コンポーネントトークン

( 開発者プレビュー )

本日お話しないこと• $A.error() の廃止 • format() による表示ラベルパラメータの動的な入力• 安全なクライアント側キャッシュによるパフォーマンスの改善• Sfdc JavaScript グローバルの削除• List または Map パラメータを使用した Apex コントローラでのエラーの解決

アクセス権チェックのより厳格な適用

アクセス権チェックのより厳格な適用• <aura:application> や

<aura:component> にaccess=“…” 属性が 必須 になります

• Spring’16: ブラウザコンソールで警告のみ ( デバッグモード限定 )

• Summer’16 以降 : アクセスできなくなる

access 属性の種類• private (aura:attribute のみ )

• 外部参照不可• public : デフォルト

• 同じ名前空間内で使用可能• global

• すべての名前空間で使用可能• 管理パッケージとして配布するコンポーネントはこれ?

https://developer.salesforce.com/docs/atlas.ja-jp.198.0.lightning.meta/lightning/access_intro.htm

WARNING の一例

よくわからないこと• 「コンポーネントを表示した時」ではなく

<ui:xxx> 系コンポーネントを操作した時に警告が表示されている?• バグくさい…

• ためしに access なしで管理パッケージ化、他組織にインストール• App Builder 使って S1, LEX で表示 → 警告出ない• <namespace:Foo /> でコードに埋め込み → 不可

• デフォルトで public => public なら省略可能?補足)なので、先ほど「必須」と書きましたが実際には「 global だけはちゃんと定義しないと、インストールして使ってもらうことができなくなりますよ」となるんじゃないかというのが今のところの解釈です。デフォルト public なのに全コンポーネントに access=“public” って書け、だとちょっと面倒ですよね。。。

Lightning Out ( ベータ )

Lightning Out ( ベータ )

• Lightning Component を Lightning の外でも使えるような仕組み• Visualforce 内での使用は Winter’16 から可能だった (LC4VF)• Spring’16 で Force.com 外からも利用可能に!→ ドキュメント見つからない問題 ( 英語版も )

公式ブログでも

参考 1: Visualforce で使う

参考 1: Visualforce で使う

• 専用の Lightning App を用意してコンポーネントを内包する• App は extends=“ltng:outApp” が必要

参考 1: Visualforce で使う• lightning.out.js は現在

<apex:includeLightning />• $Lightning.use -> createComponent

1. コンポーネント2. 属性3. 挿入位置4. callback

https://developer.salesforce.com/docs/atlas.ja-jp.198.0.lightning.meta/lightning/components_visualforce.htm( 注 : Winter’16)

参考 2: Force.com 外から呼ぶ

http://appirio.co.jp/category/tech-blog/2015/12/hello-world-lightning-out/

Spring’16 で多少は設定が楽になったのかなあ。。。といったところ

Lightningコンポーネントトークン( 開発者プレビュー )

Lightning コンポーネント トークン• コンポーネントの CSS 用に変数を定義できる• コンポーネントと独立したファイル

( ファイル名も指定されている )

トークンの使い方• defaultTokens.tokens ( ファイル名固定 )

• コンポーネントの CSS 側

標準設計トークン• 標準で用意された変数群

Lightning Component Developer Guide: Standard Design Tokenshttps://developer.salesforce.com/docs/atlas.en-us.200.0.lightning.meta/lightning/tokens_standard.htm

注 ) 使うときはdefaultTokens.tokens に

<aura:tokens extends=“force:base"> が必要

ありがとうございました

Recommended