開発者向け
ElectronでReact/Salesforceなデスクトップアプリを作ってみた - SkyVisualEditor Blog
ElectronでSalesforce1をネイティブアプリ化できるか? - Qiita
Electron ネタ。React も使ってたりと面白い内容。
Lightning
Creating Lightning Components with React | Christophe Coenraets
React.js を使用した Lightning Component のサンプル。
React のコードもそうですが webpack.config.js
の書き方とか参考になりました。
それにしても Lightning Component の requirement checklist というところに「Angular や React などはサポートしていません」って明記されてたんですね。
以下、該当箇所を引用。
Use of third party MV* frameworks is not currently supported with Lightning. Any Lightning package that uses Angular or React or other third party DOM-based templating frameworks will automatically fail the security review until such time as we provide custom lightning components to properly encapsulate these frameworks. This is to avoid template injection attacks resulting from double interpolation. In order to use another framework as part of a package that uses Lightning, please use an iframe or Visualforce container until approved Lightning containers are published.
Lightning Components for Record Home Pages - Peter Knolle
flexipage:availableForRecordHome
を implement して、LEX のレコードホームページのカスタマイズで利用できる Lightning Component の作り方?あんまちゃんと読んでない。。。
Spring'16 リリースノート関連
Spring '16 - Developer Tidbits - Peter Knolle
リリースノートの中から開発者向けに気になる機能6つ。
1. Visualforce for Lightning Experience
LEX で Visualforce が利用可能になります(レコードのレイアウト編集で、コンポーネントとして Visualforce が選べる)。
ややこしいけど Lightning Component を Visualforce 内に表示する機能 (Lightning Component for Visualforce: LC4VF) は Winter'16 でリリース済。
2. User's Theme
ユーザーが現在 Salesforce Classic を使用しているのか LEX を使用しているのかを判定する変数およびメソッドが追加されました。
Visualforce の場合 $User.UITheme
と $User.UIThemeDisplayed
、Apex には UserInfo.getUiTheme()
および UserInfo.getUiThemeDisplayed()
が追加されています。
Trailhead では sforce.one
オブジェクトで Classic か LEX か判断するように記載されてましたが、ようやくきちんとした判定用の変数/メソッドが追加されましたね。
(参考: https://developer.salesforce.com/trailhead/ja/lex_dev_visualforce/lex_dev_visualforce_multipurpose_pages)
値は Theme1
~ Theme4d
, Theme4t
+αまであるそうな。
$User.UITheme
と $User.UIThemeDisplayed
の使い分けがわかりませんが、開発者ガイドによると
https://developer.salesforce.com/docs/atlas.en-us.200.0.pages.meta/pages/pages_variables_global_useruitheme.htm
The difference between the two variables is that
$User.UITheme
returns the look and feel the user is supposed to see, while $User.UIThemeDisplayed returns the look and feel the user actually sees.
なので、たとえば LEX 有効なユーザが IE10 でページにアクセスした場合に違いが出たりとか?(未確認)
3. Unit Test Suites
本サイトでも何回か紹介したテストスイートの話。
4. Set Created Date in Unit Tests
テストメソッド内で、Test.setCreatedDate([レコードのId], date)
でレコードに CreatedDate
が設定できます。
なぜか日本語のリリースノートから抜けてる。。。
5. Sandbox Post Copy Script
SandboxPostCopy
インターフェースを実装したクラスを用意すると、Sandbox の作成・リフレッシュ後に自動的に実行するスクリプトが作れます。
6. New Apex Site Class Methods
Site
名前空間にメソッドがいくつか追加されたらしいです。