Reminder - Digital Publishing Suite (DPS) will End of Life on August 31st, 2019. 
Prerequisite knowledge
  • Application Setup and User administration.
  • DPS App Builder configuration
User level: All
Required Adobe products (retail)
Additional required other products (third-party/labs/open source)


Adobe is providing a plugin that integrates with customized DPS Viewers in order to provide presentation tracking and reporting for Sales Enablement use cases. This plugin initiates DPS-based presentations to your Accounts, Opportunities or Leads. The plugin is provided as an ‘unmanaged’ plug-in for turnkey installation. The total solution requires zero code development; however, the code is provided in case customization is desired. The connection between your instance and your DPS Application is via a custom library which can be created directly from the DPS Store Configurator.
This article will describe how to install the plug-in, create an OAuth connector, create a Salesforce-enabled DPS application, and use it all together.  The actual code is described in another article.   


Once the plugin is installed, a Sales Agent using the DPS Application with the SFDC Custom Library can:
  1. Select an Account, Opportunity and/or Lead from within the Salesforce1 mobile app and then choose a “Start Presentation” button to initiate the session.
  2. Authenticate themselves into their company’s SFDC instance;
  3. Choose “Start Recording” to begin capture of events;
  4. Choose “Stop Recording” to halt the recording process AND upload all captured events to SFDC. This includes the current session and any pending sessions collected previously while off-line.
  5. View collected Folio events and usage reports in desktop or mobile.
Data is recorded whether the agent’s device is connected or not.
Figure 1 - Solution Overview

Figure 1 - Solution Overview



Click on the following link and log in to your Salesforce instance with administration permissions.
This is the unmanaged plug-in:
After logging in, follow the prompts and choose the appropriate security level for your users. Continue through the dialog boxes.
Figure 2 - Installation Complete Confirmation

Figure 2 - Installation Complete Confirmation


Post-Install Instructions

You will need to run some code to complete the setup. This step sets up default values. The actual values can be changed during this step or can be modified later on from the DPS Setup tab/app.
  1. Open the Developer Console
  2. Choose the Debug->Open Execute Anonymous Code window.
Paste the following into the window…and then select ‘execute’.
DPS__c appSettings = DPS__c.getOrgDefaults(); appSettings.Time_Out__c = 30; appSettings.Top_Percent__c = 10; appSettings.Time_Period__c = 'Current FY'; appSettings.Folio_Conversion__c = false; appSettings.App_Url__c = 'mysfdc://v1/slot/library'; upsert appSettings; List<DPS_Event__c> eventList = new List<DPS_Event__c>(); eventList.add(new DPS_Event__c(Name = 'App Close', Event_Selected__c = false)); eventList.add(new DPS_Event__c(Name = 'App Startup', Event_Selected__c = false)); eventList.add(new DPS_Event__c(Name = 'Content Browse', Event_Selected__c = false)); eventList.add(new DPS_Event__c(Name = 'Content Exit', Event_Selected__c = false)); eventList.add(new DPS_Event__c(Name = 'Content View', Event_Selected__c = true)); eventList.add(new DPS_Event__c(Name = 'End of article reached', Event_Selected__c = false)); eventList.add(new DPS_Event__c(Name = 'Issue Download Started', Event_Selected__c = false)); eventList.add(new DPS_Event__c(Name = 'Overlay Started', Event_Selected__c = false)); eventList.add(new DPS_Event__c(Name = 'Overlay Stopped', Event_Selected__c = false)); upsert eventList; try{ System.Schedule('Update Top SalesPeople :30', '0 30 * * * ?', new TopOwnersBatch()); }catch(exception ex){ }
The installation is now complete.

DPS Plug-in Settings

Once the plug-in is installed, you will have two apps: “Setup” and “FolioEvents”. An “Adobe DPS Dashboard” is also added to the Dashboards.
Select the “Setup” tab (not the Setup) and configure as appropriate.  The default values are recommended for most applications.  However, you should upload your own icon.
The default configuration is shown below.
Figure 3 - DPS Settings

Figure 3 - DPS Settings


Event Timeout
The amount of time (minutes) a recording session will remain active before the system will automatically close the session for “time spent” reports that you may create such as “Average Seconds in a Slide.” It is meant to identify completed sessions for which no App Close or Content Exit event exists (e.g. The device is put to sleep). It is independent of OAuth timeouts.
App Url
URLScheme and path to your customized DPS application’s library tab. The actual URLScheme (e.g. mysfdc:// in the above) MUST match your application’s URL Scheme. Additionally, the path “v1/slot/” is fixed and must always be provided. The final term (e.g. library) should match the name of the custom slot you are targeting.
Folio Conversion
By default, when you convert a Lead to an Opportunity, the FolioEvent data associated with the Lead is lost. Enabling this field preserves the data with the newly converted Opportunity.
Top Percent Salespeople
Percentage of the overall sales team that falls within the Top Salespeople designation, by closed/won revenue, for the Adobe DPS reports.         
Top Salespeople Time Period
Overall time period used for the DPS Reports on Top Salespeople.
Imported Event Names
The DPS Viewer application will report a number of FolioEvents, which can be quite noisy. This control allows you to filter/exclude specific events. By default, only Content View events are recorded.
Upload a Logo
You can provide your own logo (recommended)—ideally the logo of your DPS Application. It will be displayed wherever you have inserted the “Start Presentation” action. The maximum size for the logo is 5MB.

Adding Start Presentation actions

It is up to the administrator to add the Start Presentation action into the appropriate layout. Only the Accounts, Opportunities and Lead Page Layouts are supported.
To add this action, choose App Setup -> Customize -> Accounts (or Opportunities or Leads) -> Page Layouts.
Figure 4 - Edit Page Layouts
Figure 4 - Edit Page Layouts
Drag “Start Presentation” from the top section.
To wherever you want it in the Page Layout in the lower section:
Select Save and repeat for Opportunity and Lead Page Layouts.
Also (recommended), you can drag the Folio Events item to the Related Lists areas. The Folio Event’s columns for display can be customized.
Figure 5 - Folio Events, Related List properties

Figure 5 - Folio Events, Related List properties


Create a Connected App

The DPS Customized application will connect to via OAuth2.0. It must have a “Connected App” to connect to. This is defined within Select the Salesforce “Setup” link (this requires Administrative privileges).
  1. Choose Create->Apps.
  2. In the Connected Apps sections, select NEW. Fill out the required fields and then select the Enable OAuth Settings.
Figure 6 - Create Connected App

Figure 6 - Create Connected App


  1. The Callback URL must contain the same exact URLScheme you used previously in the DPS Setup section (e.g. mysfdc://). It also must end with “success”.
  2. Finally, enable Full Access the OAuth scope and Save these changes.
You will be directed to details about the newly created Connected App. On this page will the “Consumer Key”. Make note of it or copy it. You will need it when creating the DPS Custom library.
Figure 7 - Connected App Confirmation Page

Figure 7 - Connected App Confirmation Page


Create an SFDC Enabled Custom Library

Using the DPS Storefront Configurator, select “iPad Combined Library and Store w/SFDC.”
Figure 8 - Store Configurator

Figure 8 - Store Configurator


On the next page (there is no need to provide an Adobe ID or password), provide the ClientId you took note of when creating the Connected App, and the URLScheme you have been using when setting up the plugin.
Figure 9 - Secondary page of the Store Configurator

Figure 9 - Secondary page of the Store Configurator


Apply any other changes you require, export the ZIP file, and use this archive file as the Custom Library implementation when building your app with DPS App Builder.

DPS App Builder

When creating your DPS application with DPS App Builder, note these settings unique to this setup.
Optional URL scheme
It’s not optional in this context and it must be identical to where you specified it in:
  • App Url within the DPS App Setup page;
  • Callback URL in the OAuth settings section of the Connected App creation;
  • URLScheme on the secondary page of the DPS Store Configurator
Navigation Toolbar
Select the Library icon, convert to custom library and then provide the path to the archive you created. You should also check the “Hide Title Bar” and “Auto Launch” checkboxes.
Figure 10 - Custom Library setup

Figure 10 - Custom Library setup


Usage (Salesforce1 Mobile app)

To initiate a Presentation, log in to your Salesforce in the Salesforce1 mobile app on your device. Select your Account, Opportunity or Lead and select “Start Presentation”.
(Note: If you provided an icon when setting up the plugi-n, it should be displayed here. If not, you will see “MagZ” OR the default DPS Icon.)

Usage (Customized DPS Application)

If you have set up the URLScheme correctly in all 4 places (!), then your customized DPS Sales Presentation application should open.
If you are logged in, you can start recording by selecting the “Start Recording” button. Otherwise, you will need to authenticate by selecting “Connect” and providing your Salesforce credentials. Salesforce will automatically connect to the correct instance based on your credentials.
Tapping on the Salesforce logo will take you back to the Salesforce1 application.
Once you have started a recording, the recording time should increment and you will see the number of recording sets queued up for upload to Salesforce. The upload will happen when you select “Stop Recording.”
The code in the Custom Library contains some sanity checks to automatically stop the recording when either:
  • The location of the device travels farther than ½ mile from the location where recording was started; or,
  • Recording has been on for over 2 hours.
Figure 11 - Active Recording banner

Figure 11 - Active Recording banner


Usage ( Dashboards and FolioEvents)

The DPS plug-in for Salesforce comes with a DPS Dashboard containing eight pre-defined charts. The time span and thresholds are defined in the DPS Setup app within
They are:
Most Popular Presentations: Overall – Simple popularity of folio presentations across all contexts of presentation (Accounts, Opportunities, and Leads).
Most Popular Presentations: Closed Won – Most popular folios for those Opportunities that were closed or won.
Most Popular Presentations: Convert Lead – Most popular folios presented to Leads that were converted to Opportunities.
Most Popular Slides: Overall – Simple popularity of articles viewed across all context of presentations (Accounts, Opportunities and Leads).
Most Popular Slides: Closed Won – Most popular articles that lead to Closed or Won Opportunities.
Most Popular Slides: Converted Leads – Most popular articles presented to Leads that ultimately converted to Opportunities.
Top Presentations for Top Salespeople – Top Folios by presenter.
Top Slides for Top Salespeople – Top Articles by presenter.
Figure 12 - Adobe DPS Dashboard
Figure 12 - Adobe DPS Dashboard
Additonally, the individual FolioEvents can be viewed by clicking on the FolioEvent app in Salesforce (desktop or mobile) or from the Related Events section of Accounts, Opportunites and Leads.
Figure 13 - FolioEvents display

Figure 13 - FolioEvents display



The above presents a turnkey solution that requires no code development.  However, it is only a single variant of possible solutions.  You do not need to use Adobe’s DPS Store Configurator nor are you required to start presentations from Salesforce1 Mobile.  This article provides a means to jump-start whatever experiences your enterprise requires.