2025.1.9 【随時更新】 「Salesforce - 通知メール "Sandbox: ATTENTION: Sandbox の有効化に失敗しました" について( ICU ロケール有効化に関連)」
お世話になっております、ウフル カスタマーサポートでございます。
新年あけましておめでとうございます、本年もどうぞよろしくお願いいたします。
今年最初のカスタマーサポート通信は、仕事始めのメールチェック中に突然入ってきた謎のエラー通知メールについてのお話をさせて頂きます。
新年早々届いたエラー通知メール
新年早々多数のお客様より、「こんなメールを受け取ったんだけど、どう対処すればよいんでしょうか」と連絡を頂いております。
件名と内容は下記の通りです。
件名: Sandbox: ATTENTION: Sandbox の有効化に失敗しました
送信元:(返信不可) Salesforce CDN 管理者 <support@salesforce.com>
============
システム管理者様
お客様の Sandbox 組織 {SandboxOrgID} は、組織で使用されている API バージョンが 45 を下回るため、通知したとおりに ICU ロケール形式で有効化されませんでした。
Apex クラス、Apex トリガー、およびカスタム Visualforce ページを API バージョン 45 以上にアップグレードしてください。詳細は、ヘルプ記事「Apex クラス、Apex トリガー、および Visualforce ページの API バージョン」を参照してください。
この更新は数週間後に本番組織にも行われます。変更が完了したら、フォローアップの確認メールがお客様宛てに送信されます。
この段階的リリースについてご不明な点がある場合は、ナレッジ記事「JDK ロケール形式の廃止と ICU ロケール形式の有効化リリース更新」を参照してください。
よろしくお願い申し上げます。
Salesforce
============
このメールは、「ICUロケール形式の有効化」を既存組織に適用する際に、要件を満たさないために自動適用に失敗した、という内容になります。
Salesforce サクセスナビ - ICUロケール形式の有効化
https://successjp.salesforce.com/article/NAI-000651
============
Salesforce システム管理者は組織のデフォルトのロケールを設定できます。またユーザは個人設定ページで各自が使用するロケールを設定できます。このロケールにより、日付、時刻、通貨、住所、名前、数値などの表示形式(フォーマット)が制御されます。
(中略)
Salesforceでは、Salesforce Platform を常に最新の国際標準に準拠させる取り組みの一環として、Winter '20 で新しいロケール形式(ICUロケール形式)を採用しました。ICUロケール形式の採用により、世界中の ICU 準拠のアプリケーションとのインテグレーションが向上します。
============
従来 Salesforce では「JDKロケール」という別の形式が使用されていたのが、他アプリケーションと足並みを揃えてインテグレーションを円滑にするために新たな国際標準の「ICUロケール」への切り替えに着手した、という次第です。
Salesforce Summer ’24 リリースノート - ICU ロケール形式の有効化 (リリース更新)
https://help.salesforce.com/s/articleView?id=release-notes.rn_customization_globalization_enable_icu_locale_formats_release_update.htm&release=250&type=5&language=ja
============
どこからでもビジネスを行うには、International Components for Unicode (ICU) ロケール形式を採用します。ロケールによって、日付、時刻、通貨、住所、名前、数値の形式が制御されます。ICU は、これらの形式の国際標準を設定しています。ICU ロケール形式によって、プラットフォーム全体で一貫したエクスペリエンスが提供され、世界中の ICU 準拠のアプリケーションとのインテグレーションが向上します。この更新を有効にすると、Salesforce で Oracle の Java Development Kit (JDK) ロケール形式が ICU ロケール形式に置き換わります。この更新は Winter '20 で最初に使用可能になり、Spring ’24 からローリング方式で適用されます。
============
有効化失敗通知メールが送られる条件
このメールが送られる対象のお客様は下記の通りです。
-
Winter '20 (2019年10月中旬)以前に利用開始された組織のお客様
(Winter '20 以降の新規組織は上記の通りデフォルトで ICU ロケールが有効化されている) - API バージョン 45.0 未満の Apex クラス、Apex トリガ、および Visualforce ページが使用されている
上記ヘルプ通りにインスタンスや組織ごとに段階的に自動有効化が進んでいき、恐らく日本のお客様(APインスタンス、および Hyperforce JPN インスタンス)には Spring '25 リリースのタイミングでの有効化ということになったのでしょうか、まずプレビュー対象の Sandbox で有効化が実施され、要件を満たさない API バージョンのコンポーネントが含まれる組織で一斉にエラーが通知された、ということのようです。
「そもそも、ICUロケールって何か」という話なのですが、とりあえずはこのエラーがどういうもので、どのように対処すれば良いかというのが今回の主題なので、詳細については冒頭に引用した Salesforce サクセスナビをご覧いただければと存じます。(他システムとの連携をしていない場合はほぼ関係ないものと認識いただいて差し支えありません)
具体的な対処策
対処方法は以下のいずれかになります。
- Apex や Visualforce の API バージョンを 45.0 以上に上げる
- 自動更新が適用されないように設定メニューでオプトアウトをする
まず、API バージョンを上げる "積極的対処" の場合ですが、コードを自前で開発している場合はシンプルに「開発者の方に声をかけて対処してもらう」方法になりますので、お声がけの際に以下ヘルプのリンクを依頼の際の文面に追記すれば、あとは開発者の方が何とかしてくれるはずです。
Salesforce ヘルプ - API バージョンの更新
https://help.salesforce.com/s/articleView?id=sf.admin_locales_update_apis.htm&type=5
問題は「コード開発なんてやってない、API バージョンとか言われてもわからない」って場合です。
その場合は、殆どが「AppExchange でサードパーティのアプリを追加していたり、機能拡張をインストールしていたり」のはずです。
設定メニューの「Apex クラス」「Apex トリガ」「Visualforce ページ」一覧で、下記キャプチャをご参考に「API バージョン 45.0 未満」というリストビューを作成してみてください。
名前の左側にインストールアイコンが表示され、「名前空間プレフィックス」に記載があるものは、いずれも AppExchange 管理パッケージに含まれるものになります。
この場合の対処方法は以下の通りです。
- 使用していないアプリは削除する
- アプリを使用している場合は提供元ベンダーのサポート情報に沿って対処する(最新パッケージのアップデートなど)
どのコンポーネントがどのアプリに含まれるかは、設定メニューの「インストール済みパッケージ」で名前空間プレフィックス名にて照合ができますので、確認ができたら提供元のサポートサイトにて情報を収集します。
(Teamspirit や Fleekdrive/Fleekform などのサードパーティ系サービスを弊社経由でご契約のお客様は、まずは弊社担当者までご連絡をいただければ幸いです)
よくあるのが、それらのサードパーティ系アプリの30日間トライアルを申し込んで、期限が切れたまま放置していたというパターンです。
今回のアラートはそれらのパッケージについても対象となり、かつそういった放置状態のアプリは往々にしてバージョンが極めて古いものなので、これを機に不使用アプリの整理を行うのも良いかと思います。
現在進行形で使用しているサードパーティ系サービスでも、提供されているアプリが最新版でも古い API バージョンのコンポーネントを含んでいる、ということがあるかもしれません。
その場合は提供元ベンダーのサポート情報サイトにて「現在アップデートパッケージを準備しております、もう少々お待ちください」というアナウンスがされると思いますので、一旦は待機して更新を待ちましょう。
そのようなベンダー側の事情、または自社開発でも更新が間に合わないなどの場合、自動更新を一時的に無効化する必要も出てくるかと思います。
設定メニューの [ユーザーインターフェース] にあるこちらのチェックをオフにすることで、Summer '25 (今年5月~6月)まで自動更新を猶予することができますので、必要に応じて対処します。
[ICU ロケール形式をスケジュールされたロールアウトの一環として有効化]
往々にしてリリース更新系の情報はかなり頻繁に更新が発生しますので、情報更新がありましたら随時こちらの記事にも反映できればと存じます。
引き続きウフルカスタマーサポートをよろしくお願いいたします。
コメント