You are here:
Configuring Dual Data Sources (Managed Package)
For the managed package runtime, a dual data source combines Apex remote and Apex REST technologies to support hybrid applications for both web apps and mobile apps. The Salesforce web environment uses Apex remote technology, and the parallel mobile app uses the Apex REST API, requiring configuration for dual environments.
This information is for Omnistudio for Managed Packages. For Omnistudio on standard runtime, see Omnistudio Help.
For optimal flexibility and easier implementation, use an Integration Procedure as a data source to execute multiple actions in a single server call. See Configuring an Integration Procedure Data Source (Managed Package).
To configure a dual data source:
- On the Vlocity Cards tab, click New to configure a data source for a new cards component, or select an existing component to configure its data source.
-
In the Cards Designer, in the Layout or Cards pane, from the Data
Source picklist, select Dual.

-
In the Desktop ApexRemote Config section, follow these steps:
-
In the Remote Class box, enter the name of the remote class, for example, CpqAppHandler.
-
In the Remote Method box, enter the name of the method the remote class invokes.
For example, the method in the CpqAppHandler remote class is getCartsItemsGet Cart Items.
-
Click + Add Input Map Variable to add input variables to the map that is passed to the remote method.
Context variables allow the map to inherit values from variables in a parent Layout or Card. By defining CartId as {{params.id}}, the remote method receives an inherited value (an Account ID) from the layout or card, not the literal string
{{params.id}}. -
Click +Add Options Map Variable to add option variables to the map that is passed to the remote method.
-
In the Result JSON Path box, you can specify a path to a specific node in the JSON-formatted response. If the information resides specifically in the CartId node, set the Result JSON Path to CartId.
-
-
In the Mobile Hybrid RemoteApex Config section, follow
these steps:
-
In the Endpoint box, enter the Apex REST endpoint URL.

-
Specify the REST method:
-
GET—Requests data specified by the parameters of the URL. -
POST—Sends JSON data specified in the Body text area.
You can use Context Variables to pass inherited values with either method.
-
-
(Optional). Enter values for these properties:
-
To drill down to a specific dataset, in the Result JSON Path field, enter a path. For example, enter records.results, which drills down to the
resultsarray and passes the array to the card or card layout. -
To sort data by a specific data field, enter the field name in the Order By input field.
-
To reverse the order of the data returned, select True from the Reverse Order picklist.

-
Set a Timeout value in milliseconds.
The timeout value controls the time that the framework waits for the designated data source to return a response. Timeouts improve handling user interactions with long running processes. Setting an appropriate timeout value allows the application and users to react accordingly to long wait times.
-
Set an Interval value in milliseconds.
The card component's data source refreshes continuously at the given interval and checks for changes in data source records. If changes are found, the layout or card component reloads. Setting an interval enables recursive updates of records.
-
-
- To preview a cards component using real data, add a test variable that the query can use to return live data. See Testing Data Source Settings.

