+ Start a Discussion
Dev SFDC 15Dev SFDC 15 

Empty record sent when using entityFields="*" in Visualforce apex:canvasApp element

Hi all. We started noticing a few days ago (10/20/2017) that a couple of Visualforce pages we have that make use of the "apex:canvasApp" component are not working because the option for entityFields="*" does not appear to be working correctly. Can anyone confirm this or know how to work around this? Or if there has been a change to the Salesforce platform to cause this? Documentation on the canvas framework for Version 41.0, Winter '18 show that this should still work.

We have a simple Visualforce page that looks like:
<apex:page standardController="Account">
<apex:canvasApp namespacePrefix="mynamespace" applicationName="MyAppName" maxHeight="infinite" width="100%" entityFields="*" />
which we then include on the Account layout.

In particular, we are using entityFields="*" so we send all fields on the Account record to us in the canvas request. Unfortunately, the "record" field in the canvas request is empty (context.environment.record == {}). We are able to reproduce this in our developer edition org with another canvas app, and we are able to find a workaround in development by specifying a specific list of fields -- e.g. entityFields="Id,Name,Website". However, this is not okay for our package since (a) we want all fields and (b) changing this would require a new package.

Given what we are seeing, we think this is an issue in the Salesforce platform and do not know how to proceed. Has anyone else seen this issue or know if something has changed in the Salesforce platform that would cause this issue?

Thank you in advance!
Scott W LeonardScott W Leonard
I have also seen this issue, and we saw that the existing canvas app in our dev org still sent the record. We did not try to create a new canvas app, but I am going to do that now as well to see if we can reproduce the issue. Changing the entityFields property to specific fields did not solve the issue for us, but since we did not try it in a new canvas app the situation may be a little different.