---
schema_version: "1"
id: 519605e9d23d8fa8f68bc80622409a20a5f2c23eb38c49454971da3b1da39499
title: Scontrol
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/api_meta/meta_scontrol.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_scontrol.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: bd39393c6c4cf169be88b3946c2c596964a8d2fe4bba2e7c4e738c0d7673ee69
description: Deprecated. Represents an Scontrol component, corresponding to an s-control in the Salesforce user interface.
---
# Scontrol

Deprecated. Represents an Scontrol component, corresponding to an s-control in the Salesforce user interface.

![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png)

#### Important

Visualforce pages supersede s-controls. Organizations that haven't previously used s-controls can’t create them. Existing s-controls are unaffected and can still be edited.

This type extends the [MetadataWithContent](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_metadatawithcontent.htm "MetadataWithContent is the base type for all metadata types that contain content, such as documents or email templates. It extends Metadata. You can’t edit this object.") metadata type and inherits its content and fullName fields.

## Declarative Metadata File Suffix and Directory Location

The file suffix is .scf for the s-control file. The accompanying metadata file is named ScontrolName\-meta.xml.

Scontrol components are stored in the scontrols folder in the corresponding package directory.

## Version

Scontrols are available in API version 10.0 and later.

## Fields

This metadata type contains the following fields:

<table class="featureTable sort_table" summary="">



          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader  " id="d835533e117">Field Name</th>

              <th class="featureTableHeader  " id="d835533e120">Field Type</th>

              <th class="featureTableHeader  " id="d835533e123">Description</th>

            </tr>

          </thead>

          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d835533e117" data-title="Field Name"><span class="keyword parmname" id="content"><a name="content"><!-- --></a>content</span></td>

              <td class="entry" headers="d835533e120" data-title="Field Type">base64Binary</td>

              <td class="entry" headers="d835533e123" data-title="Description">Content of the s-control. Base 64-encoded binary data. Before making an API call,
                client applications must encode the binary attachment data as base64. Upon receiving
                a response, client applications must decode the base64 data to binary. This
                conversion is handled for you by a SOAP client. This field is inherited from the
                <a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_metadatawithcontent.htm" title="MetadataWithContent is the base type for all metadata types that contain content, such as documents or email templates. It extends Metadata. You can’t edit this object.">MetadataWithContent</a> component.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d835533e117" data-title="Field Name"><span class="keyword parmname" id="contentsource"><a name="contentsource"><!-- --></a>contentSource</span></td>

              <td class="entry" headers="d835533e120" data-title="Field Type">SControlContentSource <span class="ph" id="enum_link_component"><a name="enum_link_component"><!-- --></a>(<a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title">enumeration</a> of type string)</span>
              </td>

              <td class="entry" headers="d835533e123" data-title="Description">Required. Determines how you plan to use the s-control:<ul class="ul bulletList">
                  <li class="li">
                    <samp class="codeph nolang">HTML</samp>: Select this option if you want to enter the
                    content for your s-control in <a class="xref" href="#content"><span class="keyword parmname">content</span></a>.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">URL</samp>: Select this option if you want to enter the
                    link or URL of an external website in <a class="xref" href="#content"><span class="keyword parmname">content</span></a>.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">Snippet</samp>: Snippets are s-controls that are designed
                    to be included in other s-controls. Select this option if you want to enter the content
                    for your s-control snippet in <a class="xref" href="#content"><span class="keyword parmname">content</span></a>.
                  </li>

                </ul>
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d835533e117" data-title="Field Name"><span class="keyword parmname">description</span></td>

              <td class="entry" headers="d835533e120" data-title="Field Type">string</td>

              <td class="entry" headers="d835533e123" data-title="Description">Optional text that describes the s-control. This only displays to users with View All
                Data permission (administrator).</td>

            </tr>

            <tr>
              <td class="entry" headers="d835533e117" data-title="Field Name"><span class="keyword parmname">encodingKey</span></td>

              <td class="entry" headers="d835533e120" data-title="Field Type">Encoding
                (<a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title">enumeration</a> of type string)</td>

              <td class="entry" headers="d835533e123" data-title="Description">Required. The default encoding setting is Unicode: <samp class="codeph xml">UTF-8</samp>. Change it if you’re passing information to a URL that requires data in a
                different format. This option is available when you select <samp class="codeph nolang">URL</samp> as the value for <a class="xref" href="#contentsource"><span class="keyword parmname">contentSource</span></a>.</td>

            </tr>

            <tr>
              <td class="entry" headers="d835533e117" data-title="Field Name"><span class="keyword parmname" id="filecontent"><a name="filecontent"><!-- --></a>fileContent</span></td>

              <td class="entry" headers="d835533e120" data-title="Field Type">base64</td>

              <td class="entry" headers="d835533e123" data-title="Description">File contents displayed if you add this s-control to a custom link. The file can
                contain a Java applet, Active-X control, or any other type of content you want. This option
                only applies to s-controls with a value of <samp class="codeph nolang">HTML</samp> for
                <a class="xref" href="#contentsource"><span class="keyword parmname">contentSource</span></a>.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d835533e117" data-title="Field Name"><span class="keyword parmname">fileName</span></td>

              <td class="entry" headers="d835533e120" data-title="Field Type">string</td>

              <td class="entry" headers="d835533e123" data-title="Description">The unique name for the s-control. This name can contain only underscores and
                alphanumeric characters, and must be unique in your org. It must begin with a
                letter, not include spaces, not end with an underscore, and not contain two
                consecutive underscores. This field can’t be changed for components installed
                by a managed package. It’s only relevant if the <a class="xref" href="#filecontent"><span class="keyword parmname">fileContent</span></a> field also has a value. This field is
                available in API version 14.0.</td>

            </tr>

            <tr>
              <td class="entry" headers="d835533e117" data-title="Field Name"><span class="keyword parmname">fullName</span></td>

              <td class="entry" headers="d835533e120" data-title="Field Type">string</td>

              <td class="entry" headers="d835533e123" data-title="Description">The s-control developer name used as a unique identifier for API access. The
                <span class="keyword parmname">fullName</span> can contain only underscores and alphanumeric
                characters. It must be unique, begin with a letter, not include spaces, not end
                with an underscore, and not contain two consecutive underscores. If this
                field contained characters before version 14.0 that are no longer allowed, the
                characters were stripped out of this field, and the previous value of the field was
                saved in the <a class="xref" href="#field_name">name</a> field. This field is inherited from the <a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm" title="The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.">Metadata</a> component.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d835533e117" data-title="Field Name"><span class="keyword parmname" id="field_name"><a name="field_name"><!-- --></a>name</span></td>

              <td class="entry" headers="d835533e120" data-title="Field Type">string</td>

              <td class="entry" headers="d835533e123" data-title="Description">Required. The unique name for the s-control. It must contain alphanumeric characters
                only and begin with a letter. For example <samp class="codeph nolang">example_s_control</samp>.</td>

            </tr>

            <tr>
              <td class="entry" headers="d835533e117" data-title="Field Name"><span class="keyword parmname">supportsCaching</span></td>

              <td class="entry" headers="d835533e120" data-title="Field Type">boolean</td>

              <td class="entry" headers="d835533e123" data-title="Description">Required. Indicates whether the s-control supports caching (<samp class="codeph java">true</samp>) or not (<samp class="codeph java">false</samp>). Caching optimizes the
                page so that it remembers which s-controls are on the page when it reloads. This option only
                applies to HTML s-controls.</td>

            </tr>

          </tbody>

        </table>

## Declarative Metadata Sample Definition

The following sample creates the Myriad\_Publishing.scf s-control, which creates a link to the website specified in the s-control. The corresponding Myriad\_Publishing.scf-meta.xml metadata file follows the s-control file.

Myriad\_Publishing.scf file:

http://www.myriadpubs.com

Myriad\_Publishing.scf-meta.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Scontrol xmlns="http://soap.sforce.com/2006/04/metadata">
    <contentSource\>URL</contentSource\>
    <description\>s-control to open Myriad Publishing website.</description\>
    <encodingKey\>UTF-8</encodingKey\>
    <name\>Myriad Publishing</name\>
    <supportsCaching\>true</supportsCaching\>
</Scontrol\>

## Wildcard Support in the Manifest File

This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm).