Edited at

開発組織(Developer Edition)をサインアップした後にやることリスト

More than 1 year has passed since last update.


やることリスト

自分はだいたいこんなことやってますよっ、てやつ。適宜ご参考にして下さい。


1. マイドメインを登録する

なぜかデフォルトの (ap|ap2).salesforce.com のままで使っている人がいまだに多いのだけど、よく慣れたSalesforce開発者は自分用の組織を3桁くらい持っているのが普通であり、そのうちの2,3は同時にログインすることになったりするので、同一ドメインでログインCookieが上書きされるのきついのです。いちいち他のブラウザとか立ち上げてられない。


2. プロファイルのIPアドレス制限を 0.0.0.0 - 255.255.255.255 に設定

たかだかDE組織にいちいちIP制限かけられたくないよ、という場合。これ設定しておくと他人とアカウント共有する場合に毎回承認メールが飛ぶのを防ぐ効果もある。


3. パスワードポリシーの有効期間をNeverに

90日で自動エクスパイアとかうざいので。そもそも強制リセット意味あるのかね。


上記の自動化

上記のうち1以外はMetadata API経由でスクリプト化することが可能。画面開かなくてもコマンドラインでできる。たぶんいちばん楽なのはJSforceのCLIを使う方法。

$ jsforce

> .authorize
logged in as user01@mydemo.example.org
> metadata.update('SecuritySettings',{fullName:'Security',passwordPolicies:{expiration:'Never'}})
{ fullName: 'Security', success: true }
> metadata.update('Profile', {fullName:'Admin',loginIpRanges:{startAddress:'0.0.0.0',endAddress:'255.255.255.255'}})
{ fullName: 'Admin', success: true }

1.もスクレイピングで何とかなりそうだけど、そこまではあまりやりたくない&自動化沼にはまりそう。これぐらいで十分。

ちなみにJSforceの .authorizeコマンドはOAuth2でリフレッシュトークンまで取得できるので、一旦セットアップしておくととても便利です。Zsh環境ならjsforce-zsh-completions使えば接続済みのアカウントから補完できるので

$ jsforce -c admin@

-- connections --
admin@demo01.example.org admin@demo02.example.org
admin@mypartner.example.net admin@mycustomer.example.com

みたいにして接続先を選んでパスワード要らずのサインインができます。

ただし取得したリフレッシュトークンはOSのファイルに保存されてるので取扱には注意しましょう。