はじめてのappexchangeアプリ開発 第2回

19
ははははは AppExchange ははははは – は 2 は

Upload: salesforce-developers-japan

Post on 16-Apr-2017

240 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: はじめてのAppExchangeアプリ開発 第2回

はじめての AppExchange アプリ開発 – 第 2 回

Page 2: はじめてのAppExchangeアプリ開発 第2回

小西 由通 Yoshimichi Konishi 株式会社セールスフォース・ドットコム

アライアンス本部テクニカルエバンジェリスト[email protected]

Page 3: はじめてのAppExchangeアプリ開発 第2回

ソーシャルアカウント

録画ビデオは Youtube 及びWebinar詳細ページにて公開されます ( 参加登録 URL と同じです )

本 Webinar は録画されています

Salesforce Developers Japan

Heroku JP@herokujp

@salesforcedevjp

Page 4: はじめてのAppExchangeアプリ開発 第2回

質問がある場合には ?

質問は最後まで待つ必要はありません ! Question の機能を使って質問をして下さい可能な場合は別のスタッフが質問について解答しますすぐに解答出来ない場合は、後ほどスピーカーが解答します

ライブ Q&A を最後に行います時間の許す限り、 Webinar の最後に Q & A の時間を設けます

開発者フォーラムを活用しましょうよりたくさんの質問がある場合は ?こちらをご利用下さいhttp://developer.salesforce.com/jp/forums

Page 5: はじめてのAppExchangeアプリ開発 第2回

Question 機能で質問をお願いします

Page 6: はじめてのAppExchangeアプリ開発 第2回

本日の話題

第 1 回のおさらい開発環境、開発したコンポーネントの構造、コードの概要

パケージング・ソースコード管理・アップグレード管理パッケージと未管理パッケージの違い、ソースコード管理ツールを使ったコード管理、バージョンアップのための開発の流れ

セキュアなコンポーネントの開発セキュリティリビュー

Page 7: はじめてのAppExchangeアプリ開発 第2回

第 1 回のおさらい

Page 8: はじめてのAppExchangeアプリ開発 第2回

開発環境

3種類の組織 開発組織 – 開発・単体のための組織 テスト組織 – インストールテスト・セキュリティリビューテスト環境用パッケージング組織 – AppExchange 登録用組織

組織の命名ルール複数組織を整理するために命名ルールを定めることをおすすめします。

開発・管理用ツール( MavensMate, GitHub )別組織へのコードのデプロイ、ソースコード管理にはツールを使うと便利です。

Page 9: はじめてのAppExchangeアプリ開発 第2回

開発環境

パッケージ組織

開発組織

テスト組織

MavensMate GitHubyk-lsd

yk-lsp

yk-lst

Page 10: はじめてのAppExchangeアプリ開発 第2回

開発環境

1. Lightning Experience 有効化

2. 私のドメイン設定

3. Lightning Experience のアプリケーションビルダー(パイロット)有効化

Page 11: はじめてのAppExchangeアプリ開発 第2回

開発の流れ

1. コンポーネントの属性・ UI を定義  .cmp 2. コンポーネントのパラメタを定義  .design3. ローカルコントローラー・ヘルパーの定義  .js4. リモートコントローラーの定義  .js5. リモートコントローラーテストの定義  .js

Page 12: はじめてのAppExchangeアプリ開発 第2回

パッケージング

パッケージ組織へのコードのデプロイ MavensMate を使って開発組織のコードをダウンロード。パッケージ組織にデプロイします。

パッケージングパッケージ組織で、管理パッケージを作成します。

テスト環境構築パッケージ組織の管理パッケージを、 URL を使ってインストールしテスト環境を構築します。

Page 13: はじめてのAppExchangeアプリ開発 第2回

パッケージング

ソースコード管理

アップグレード

Page 14: はじめてのAppExchangeアプリ開発 第2回

未管理パッケージ・管理パッケージ

無償

アップグレード不可

著作権保護不可

無償または有償 アップグレード可能 著作権保護可能 ISV パートナー向け機能 - ライセンス管理 - プッシュアップグレード

管理パッケージ未管理パッケージ

Page 15: はじめてのAppExchangeアプリ開発 第2回

ソースコード管理

GitHub を使ったソースコード管理の例MavensMate を使って開発組織からソースコードをダウンロードしましたが、そのコードを GitHub を使って管理します。ローカルのリポジトリ管理、リモートリポジトリの同期には、 GitHub Desktop を使います。

• Mavens Mate の役目: 組織からコードをダウンロード、異なる組織へローカルのコードをデプロイ

• GitHub の役目: ソースコード管理、チーム開発支援

Page 16: はじめてのAppExchangeアプリ開発 第2回

セキュアなコンポーネントの開発

Trustセールスフォースのコアバリューの 1 つが Trust (信頼)です。安全・安心なエンタープライズ・クラウドサービスをお客様へ提供するために、セキュアなコードを開発することはとても重要であると考えています。

セールスフォースのプラットフォームを活用して流通するコンポーネントに対してもセキュリティ上同様な品質が求められます。

AppExchange にコンポーネントを登録するためには、「セキュリティリビュー」という審査を受ける必要があります。

セールスフォースセキュアコーディングガイドラインhttps://developer.salesforce.com/page/JP:Secure_Coding_Guidelineセキュリティ早見表http://developerforcejp.s3.amazonaws.com/developer/cheatsheets/JP_SF_security_cs-2Pg_HR.pdf

Page 17: はじめてのAppExchangeアプリ開発 第2回

セキュアなコンポーネントの開発

教育

デザイン開発

テスト

リリース

アプリケーション開発ライフサイクル

• セキュア・コーディング教育

• デザイン時における、セキュリティの考

• セキュリティテストの自動化

教育

Page 18: はじめてのAppExchangeアプリ開発 第2回

セキュリティ Fix

オブジェクトレベルアクセス権限( CRUD) 、フィールドレベルアクセス権限( FLS)

ユーザーがオブジェクトやフィールドに対して適切な権限をもっているかどうかをチェックする。

- ユーザープロファイルへの参照が可能か、更新が可能かSchema.SObjectType.User.isAccessible()Schema.SObjectType.User.isUpdateable()

- ユーザープロファイルのフィールドへの参照が可能か、更新が可能かSchema.SObjectType.User.Fields.LanguageLocaleKey.isAccessible()Schema.SObjectType.User.Fields.LanguageLocaleKey.isUpdateable()

tyoshikawa1106 のブログ - SFDC : Apex とセキュリティチェックhttp://tyoshikawa1106.hatenablog.com/entry/2015/01/18/002051

Page 19: はじめてのAppExchangeアプリ開発 第2回

thank y u