問題
ユーザーがBox for Salesforceアプリから新しいBox Doc Genテンプレートを作成しようとすると、JSONの生成に失敗する可能性があります。 症状としては、読み込みスピナーがいつまでも表示されたり、[JSON string exceeds heap size limit (JSON文字列がヒープサイズの上限を超えています)] というエラーを示す赤いバナーが表示されたりします。
根本原因
根本原因は、Salesforceプラットフォームの制限 (特にApexヒープサイズの制限) に関連しています。 Box Doc Genによって生成されるJSON文字列は、オブジェクトに含まれる項目が多すぎると、このヒープサイズの上限を超える場合があります。 その結果、Salesforceが処理中にメモリ内で処理可能な範囲を超えてJSONペイロードが増加するため、生成処理は何も表示せずに失敗するか、ヒープサイズのエラーメッセージを表示して失敗します。
解決方法
Box for Salesforceには、ヒープの上限に達すると自動的に停止するロジックが用意されていますが、データの複雑さによってはエラーが発生する可能性があります。 その場合は、リクエストごとのデータ負荷を軽減するために、Box Doc Genのオーバーライド値を手動で調整してください。
- [Doc Gen Fields per Object (オブジェクトごとのDoc Gen項目数)]: 50フィールドから開始
- [Doc Gen Relationships per Object (オブジェクトごとのDoc Genリレーション数)]: 5リレーションから開始
ビデオ録画:
- https://www.loom.com/share/0d406be7c7354cfc81b574adc1ee76ce
- https://cloud.box.com/s/5pmsc96fzdnuhpsu0aqu5pdjfnzxhtmb
上記の変更を行った後、プラットフォームのキャッシュのクリアが必要になる場合があります。 値を増やす場合は、パフォーマンスや成功したかどうかを監視しながら、必要に応じて徐々に増やします。 項目が不足している場合は、JSONファイルに手動で追加してください。