[SalesForce] What does ‘?scontrolCaching=1’ mean in a URL from a Visualforce page

I have a custom list button on the Account object that, once clicked on, auto-navigates a user to the defined Visualforce page which uses the Opportunity standardController.

I notice in the URL, it goes like: /apex/[visualforcePageName]?scontrolCaching=1.

What does '?scontrolCaching=1' mean? This doesn't happen for any other Visualforce pages that I have created.

I have a few s-controls but they are obviously very legacy.

Best Answer

In the Lightning Experience, scontrolCaching=1 does not appear to be appended to the URL when a custom List Button is clicked to redirect a user to a Visualforce page.

On the other hand, if you switch to Salesforce Classic, scontrolCaching=1 does appear to be present in the URL.

We can infer from the field name of the query string parameter that the purpose of having this parameter present is to set whether or not s-controls should support caching.

The purpose of s-controls were to allow developers to use internal or external code to add functionality to an org and could contain any type of content that you can normally display in a browser.

S-controls were superseded by Visualforce pages, and they can no longer be created by orgs that haven't previously used s-controls.

Caching an s-control means that the page is optimized so that it remembers which s-controls are on the page when it reloads. This option only applies to HTML s-controls.

S-controls can be embeded into Visualforce pages using the <apex:scontrol> Visualforce component.

I do not have any active s-controls in my org, but scontrolCaching=1 was still appended to the web address that resulted when I clicked the List Button during testing.

In summary, it appears that the scontrolCaching=1 query string parameter is likely present in the URL to enable caching for s-controls by default which are potentially present in Visualforce pages which use the <apex:scontrol> Visualforce component.