【Salesforce】クラスとページをAntで新規リリースした後はプロファイルで有効化する

クラウドの画像

Apache Antを使用して環境へクラス(ApexClass)やページ(ApexPage)をリリースすると システム管理者以外のプロファイルではデフォルトが無効となっています。 この後記載する手順に沿って、システム管理者以外のプロファイルを確認し、忘れずに有効化を行うようにしましょう。

クラスとVFページをApache Ant経由でリリースするとデフォルトで無効化になる

Apache Ant経由でクラスとページをリリースした場合、システム管理者以外のプロファイル(後から作成したカスタムプロファイルなど)ではクラスとページは無効な状態になっています。

そのため、それらのプロファイルに属するユーザーでログインした場合は無効なクラスやページを使用することが出来ないため、エラーなど正常に動作させることができません。

ちなみに、無効な状態になるのは新規にリリースしたクラスとページなので、既にリリースされているもので有効化されているのであれば問題ありません。 あくまで、「無 → 有」の状態になった場合に無効化されてますよ、というお話になります。

クラスやVFページを有効化する

Salesforceのプロファイル画面
クラス・VFページの有効化につながる内部リンク

プロファイルの画面から【有効な Apex クラス】や【有効な Visualforce ページアクセス】にアクセスします。 プロファイル画面の上部にページ内リンクがあるのでそこからもジャンプできます。

Salesforceのプロファイル画面
編集ボタンをクリック

後はそれぞれ無効になっているクラスとVFページを有効化すれば完了です。

Salesforceの画面Salesforceの画面
クラス・VFページの有効化画面

この手順を必要なプロファイルの分、繰り返します。

プロファイルをAntでリリースして有効化することも可能

プロファイルで持っている情報なので、当然プロファイルをAntでリリースすることで有効化することもできます。ですが、Antを使ってプロファイルをリリースすると思わぬトラブルを招くこともありますので、基本的には画面から有効化を行ったほうが良いと思います。

手順的には数ステップですから、安全のためにも画面からやりましょう。

ログイン時間帯の制限やログイン IP アドレスの制限は間違って飛ばすと…

新規にクラスとVFページが増えたら確認する

新規にクラスとVFページが増えた場合、システム管理者からは常に確認ができても、それ以外のプロファイルのユーザーからは使うことができません。

くれぐれも忘れずに確認するようにしましょう。