---
title: SearchInterface Visualforce component (Deprecated)
slug: '1270'
canonical_url: https://docs.coveo.com/en/1270/
collection: coveo-for-salesforce
source_format: adoc
---
# SearchInterface Visualforce component (Deprecated)
> **Deprecated**
>
> This feature is still available, but no longer supported as of the August 2023 release of Coveo for Salesforce version [5.2](https://docs.coveo.com/en/n5bj0150#august-2023-release-v5-2-initial-release).
The SearchInterface Visualforce component takes care of wrapping the [JsSearch Visualforce component](https://docs.coveo.com/en/1285/) and includes the correct script and different resource references, as well as the necessary resources needed to create a full search interface.
Including this component in a Visualforce page lets you create a full search page using the Interface Editor.
## Usage
Reference it in your Visualforce page as you would for any other Apex component, using the namespace prefix of the Coveo package.
```xml
```
## Resources included with this component
This component includes the exact same resources as the [JsSearch Visualforce component](https://docs.coveo.com/en/1285/).
## JavaScript code included and executed with this component
* Since it wraps the [JsSearch Visualforce component](https://docs.coveo.com/en/1285/), all the code described in that page is executed.
This includes the creation of the [Search Endpoint](https://coveo.github.io/search-ui/classes/searchendpoint.html), with the [search token](https://docs.coveo.com/en/56/) and its renewal mechanism.
* The `.coveo('init')` call to initialize the search interface (see [jQuery extension](https://docs.coveo.com/en/364/)).
## Options
These options are set directly on the Apex component.
### name
This option is empty by default.
This specifies the name of the Visualforce component that should act as your search interface.
When a `name` is specified, it becomes the default value of the [`searchHub`](#searchhub) option.
```xml
```
Where you can replace `` with the name you want to specify for your SearchInterface Visualforce component.
### catalog
> **Note**
>
> The `catalog` option is exclusive to CloudCraze and Salesforce B2B (see [Add the Coveo Searchbox in your Salesforce B2B and D2C Commerce Storefront search page](https://docs.coveo.com/en/2925#step-4-add-the-coveo-searchbox-in-your-salesforce-b2b-and-d2c-commerce-storefront-search-page)).
This option is empty by default.
This specifies the [catalog ID](https://docs.coveo.com/en/3180#step-1-retrieve-the-catalog-entity-name) that the SearchInterface Visualforce component must use.
```xml
```
Where you can replace `` with the ID of the catalog that you want your SearchInterface Visualforce component to use.
### filter
This option is empty by default.
This adds a query expression (or filter) inside the [search token](https://docs.coveo.com/en/56/) generated for the current page.
This filter is executed on every query.
Since it's included in the cryptographically signed JWT token, client-side code can't tamper with this.
```xml
```
Where you can replace `` with the filter you want to add to the search token generated for the current page (for example, `@sfkbid`).
### searchHub
The name of the [search hub](https://docs.coveo.com/en/1342/) to be sent to [Coveo Analytics](https://docs.coveo.com/en/182/).
This option should have the same value as [`name`](#name).
Since it's included in the cryptographically signed JWT token, client-side code can't tamper with this.
```xml
```
Where you replace `` with the name of the search hub when reporting events to [Coveo Analytics](https://docs.coveo.com/en/182/).
> **Note**
>
> If you read the [documentation about the Analytics component](https://coveo.github.io/search-ui/components/analytics.html), you'll realize that it's also possible to set the `searchHub` using the option on the component itself.
> However, we recommend that you set the `searchHub` on the SearchInterface Visualforce component.
>
> * If you use the `data-search-hub` property on the Analytics Component, then the search hub attribute will be passed in the content of the request, as the `originLevel1` property.
> * If you use the `searchHub` option in the Apex component, then the search hub attribute is passed in the header of the request, in the JWT search token.
> **Important**
>
> Having a conflicting search hub in the body of the request and the search token results in the analytics event being rejected.
> The response from the service looks like this:
>
> ```text
You are not authorized to insert events in search hub X since your token restricts you to Y.
```
### debug
The default value is `false`.
Setting this value to `true` causes the debug version of the JavaScript libraries to be used.
The `debug` versions aren't minified.
In a production environment, use the minified version for faster download times of the resources as well as marginally faster execution time.
For debugging purposes, you can enable this option to read the source code more easily.
```xml
```
### userGroups
This is the list of user groups to append to the current user, separated by semicolons.
Each of these user groups is added in the [search token](https://docs.coveo.com/en/56/).
Since it's included in the cryptographically signed JWT token, client code can't tamper with this.
These user groups are used in Coveo UA as additional reporting dimensions.
```xml
```
Where you can replace ``, ``, and `` by respectively the name of the user groups to append to the current user.
You can add as many user groups as you want.
### additionalUserIdentities
List of user identities to append to the current user, separated by semicolons.
Each of these identities are added in the [search token](https://docs.coveo.com/en/56/) and allow a given user to add other identities that this user should have.
```xml
```
You can specify other security providers with `param=value` separated by commas where:
* `name` is the identity name
* `provider` is the security provider name.
The default value is `Email Security Provider`.
* `type` is user or group.
The default value is `User`.
Since it's included in the cryptographically signed JWT token, client code can't tamper with this.
**Example**
This could allow users not logged into Salesforce to be able to query as if they were another anonymous user and allow them to see public items.
This could also be used to map a Salesforce user to an Active Directory user, or any other system.
### anonymousUser
Specifies the identity to use for non-logged in users.
```xml
```
Where you replace `` with the identity you want to use for non-logged in users (for example, `anonymous@user.com`).
### searchContext
```xml
```
This allows you to create an additional context inside your search page (see [Send Apex context to a JavaScript search interface](https://docs.coveo.com/en/1169/)).