force.comデモ環境つくりました

47
FLECT ランチ勉強会 Force.com デモ環境つくりました Taiki Yoshikawa

Upload: taiki-yoshikawa

Post on 13-Apr-2017

1.072 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Force.comデモ環境つくりました

FLECTランチ勉強会

Force.comデモ環境つくりました

Taiki Yoshikawa

Page 2: Force.comデモ環境つくりました

- Profile -

Taiki Yoshikawahttp://tyoshikawa1106.hatenablog.com/

@tyoshikawa1106

+TaikiYoshikawa

tyoshikawa1106

tyoshikawa1106

Page 3: Force.comデモ環境つくりました

VisualforceとApexのサンプルを集めた Force.comデモ環境をつくりました

Page 4: Force.comデモ環境つくりました

ログインページです

Page 5: Force.comデモ環境つくりました

ちなみに少し前にログインページが 新しくなりました・・・なので

Page 6: Force.comデモ環境つくりました

過去の設定のまま放置していると・・・

Page 7: Force.comデモ環境つくりました

ホーム画面について

Page 8: Force.comデモ環境つくりました

ホーム画面はこんな感じ

Visualforceエリア

WebService API

Visualforce Page Link

Document Download

Page 9: Force.comデモ環境つくりました

Visualforceエリアについて

HTMLエリアはもうサポートされなくなります。 Visualforceエリアを使おう。

Page 10: Force.comデモ環境つくりました

WebServiceAPIについて

JavaScriptからApexを呼び出せます。 API消費数に注意。

Page 11: Force.comデモ環境つくりました

Visualforce Page Linkについて

Visualforce Pageへのリンクです。 古いバージョンのAngularJSでつくってあります。

Page 12: Force.comデモ環境つくりました

Document Downloadについて

ドキュメントオブジェクトにアップした ファイルをダウンロードするリンクのサンプルです。

Page 13: Force.comデモ環境つくりました

実際に画面を確認してみます

Page 14: Force.comデモ環境つくりました

よく使うカスマイズのサンプルもありますが メインはApexのサンプルコードです。

Page 15: Force.comデモ環境つくりました

- Sample Code -

SublimeTextやForce.com IDEでダウンロード

Page 16: Force.comデモ環境つくりました

Visualforce Page

Page 17: Force.comデモ環境つくりました

• Page • CSS • JavaScript

- Visualforce Page -

JSとCSSは別ページ。apex:includeで読み込む。

Page 18: Force.comデモ環境つくりました

Apex Class

Page 19: Force.comデモ環境つくりました

• Controller (メインの処理) • Helper (ビジネスロジック) • Dao (データアクセス) • Wrapper (必要に応じて)

- Apex Class -

1クラス, 1テストクラス

Page 20: Force.comデモ環境つくりました

- クラス構成 -

Controller

DaoHelper

Page 21: Force.comデモ環境つくりました

- Helperクラスのメリット -

引数の値を変更するだけでテストできる (ざっくり)

Page 22: Force.comデモ環境つくりました

Daoクラスはオブジェクト単位? ➜ 共通で使うならそっち。

Page 23: Force.comデモ環境つくりました

Apex Trigger

Page 24: Force.comデモ環境つくりました

• Trigger (トリガ種別判定) • Handler (メインの処理) • Helper (ビジネスロジック) • Dao (データアクセス)

- Apex Trigger -

1オブジェクト, 1トリガ

Page 25: Force.comデモ環境つくりました

- トリガの実装 -

Helperクラスを用意するとHandlerクラスがスッキリ

Page 26: Force.comデモ環境つくりました

共通クラス

Page 27: Force.comデモ環境つくりました

• 先頭にCommonをつける • テストクラスもきちんと用意

- 共通クラス -

Page 28: Force.comデモ環境つくりました

- 流用して使えると思う共通クラス -

汎用処理 (CommonUtil) テストデータ作成 (CommonTester)

Page 29: Force.comデモ環境つくりました

Schedule Batch

Page 30: Force.comデモ環境つくりました

• よくトラブルになるScheduleバッチ • ScheduleバッチのDesignPatternで解決

- Schedule Batch -

Page 31: Force.comデモ環境つくりました

• 赤枠のようなクラス構成でつくると スケジュールに登録済みでも編集できる

- Schedule Batch -

http://tyoshikawa1106.hatenablog.com/entry/2015/06/29/202657

Page 32: Force.comデモ環境つくりました

Apex Test

Page 33: Force.comデモ環境つくりました

- Apex Test -

Page 34: Force.comデモ環境つくりました

- Apex Test -

System.runAsは基本宣言する

http://tyoshikawa1106.hatenablog.com/entry/2014/04/24/003139

Page 35: Force.comデモ環境つくりました

- Apex Test -

HttpRequestのテストでは HttpCalloutMockが必要

http://tyoshikawa1106.hatenablog.com/entry/2013/09/08/213715

Page 36: Force.comデモ環境つくりました

- Apex Test -

CSV取込のテストデータは 静的リソースから取得

Page 37: Force.comデモ環境つくりました

- Apex Test -

マスタ系のテストデータは Test.loadで取り込む

http://tyoshikawa1106.hatenablog.com/entry/2013/07/04/222428

Page 38: Force.comデモ環境つくりました

VFページとCSV取込

Page 39: Force.comデモ環境つくりました

- VFページとCSV取込 -

取込件数が多い場合は バッチ処理に切り替え

Page 40: Force.comデモ環境つくりました

多言語化

Page 41: Force.comデモ環境つくりました

• トランスレーションワークベンチとカスタム表示ラベルで多言語化

• 標準プロファイルのラベルも翻訳されるのでテストクラス実装時に注意

- 多言語化 -

Page 42: Force.comデモ環境つくりました

- 多言語化 -

Page 43: Force.comデモ環境つくりました

System.debug

Page 44: Force.comデモ環境つくりました

- System.debug -

System.debugだけ表示できる

Page 45: Force.comデモ環境つくりました

Q & A

Page 46: Force.comデモ環境つくりました

https://www.youtube.com/playlist?list=PLFSi-6JPTf9glvEZhBJNYouZPXfd4PVIi

- おまけ -

勉強用の動画です

Page 47: Force.comデモ環境つくりました

Thank you