Dean Thrasher - Behind the Paywall - SUGCON

Preview:

Citation preview

Organized by the Community, for the Community.

BEYOND CRM INTEGRATION: SALESFORCE AS CONTENT GATEKEEPER ON SITECORE 7+

Dean Thrasher

Organized by the Community, for the Community. 2SUGCON NORTH AMERICA 2015

#BEHINDTHEPAYWALL

Organized by the Community, for the Community. 3SUGCON NORTH AMERICA 2015

INTRODUCTION

Organized by the Community, for the Community.

ABOUT DEAN THRASHER

Email:Dean_Thrasher@epam.com

Twitter:@dthrasher

Linked in:https://www.linkedin.com/in/deanthrasher

Organized by the Community, for the Community. 5

ABOUT DEAN THRASHER

• Working with Sitecore for 5 years– Using Sitecore versions 5,

6, 7 and 8• .NET web development

for 15 years– ASP, ASP.NET WebForms,

ASP.NET MVC• Background in RM, DM,

DAM, WCM, ECM• Began working with

Salesforce 18 months ago

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 6

ABOUT THE COMPANY

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community.

SITECORE PRACTICE HIGHLIGHTS

90+Delivered Projects

150+ Experienced Professionals

14x Accolades Recognized

• Digital Strategists

• Solution Architects

• Sitecore Developers

• Visual Designers

• QA Engineers

• Business Analysts

• Usability Experts

• Support Specialists

• Project Managers

8+ Years of Successful Delivery50+Customers

4x

4x

Organized by the Community, for the Community. 8SUGCON NORTH AMERICA 2015

BACKGROUND

Organized by the Community, for the Community. 9

THE CLIENTStratas Advisorshttp://stratasadvisors.com

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 10

INTERACTIVE DATA TOOLSPresenting dynamic, interactive data

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 11

INTERACTIVE MAPSPresenting geospatial data

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 12

THE SOLUTION

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 13

THE BUILDING BLOCKS: SITECORE

• Manages public and members-only content

• Handles user authentication and authorization

• Allows users to update and reset passwords

• Allows users to manage profile information and newsletter subscriptions

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 14

THE BUILDING BLOCKS: SALESFORCE

• Receives leads from the site

• Manages accounts and contacts

• Defines available product subscriptions

• Determines which accounts and contacts have which products, and whether those subscriptions are still active

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 15

THE PUBLIC SITE

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 16

THE MEMBER DASHBOARD

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 17

THE ACCOUNT PROFILE

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 18SUGCON NORTH AMERICA 2015

REQUIREMENTS

Organized by the Community, for the Community. 19

PRODUCTS AND SUBSCRIPTIONS

• More than 165 distinct products offered• Products are often bundled together• Site content can be targeted to multiple

products • Subscriptions are offered to corporate

accounts• Subscriptions expire after a period of time

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 20

SITE USERS

• Anonymous users, or visitors• Site members– Prospects (no active subscriptions, see preview

content)– Subscribers (have an active subscription)

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 21

ACCOUNTS, CONTACTS AND LEADS

• Accounts have contacts• Accounts have subscriptions• A contact inherits its subscriptions from

the account to which it belongs• Contacts may be granted access to log in

to the site• Leads are generated from the website• Leads may be converted into contacts

later on• Leads are not allowed to log in to the site

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 22SUGCON NORTH AMERICA 2015

HOW WE DID IT

Organized by the Community, for the Community. 23SUGCON NORTH AMERICA 2015

SALESFORCE

Organized by the Community, for the Community. 24

WHICH SALESFORCE EDITON?

• Salesforce has different pricing tiers, offering different features and limits.

• You will need at least the Enterprise edition to be able to use the web service APIs

• Make sure you know the number of Salesforce users you have available in your instance

• Make sure you know how many and what kinds of Salesforce Sandboxes are available to you

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 25

WHICH SALESFORCE API?

• Salesforce has 10 different APIs!• Force.com: REST API vs. SOAP API • If SOAP, which WSDL?• Force.com Enterprise WSDL

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 26

SALESFORCE DATA MODEL: SALES OBJECTS

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 27

SALESFORCE DATA MODEL: PRODUCT OBJECTS

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 28

CUSTOM SALESFORCE FIELDS

• Contact– Contact type– Website access– Sitecore username– Sitecore password

• Asset– Subscription start

date– Subscription end

date

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 29

SALESFORCE SANDBOX

• Don’t develop or test against a production instance!• The type of sandbox determines:

– The amount of data you can have – How often you can refresh– What objects get populated

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 30SUGCON NORTH AMERICA 2015

HORROR STORY #1:KNOW YOUR LIMITS

Organized by the Community, for the Community. 31

SALESFORCE API LIMITS

• You can make a set number of API requests within a 24-hour period.

• This limit depends on Salesforce edition and the number of licensed users.

• The API limits are different for sandboxes and production instances.

• The API limits apply to all integrations and applications that communicate with an instance.

• Beware of usage spikes!SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 32

WEB SERVICE STYLE GUIDE

• Prefer “chunky” over “chatty” web services

• Request data in batches• Cache the information you receive• Check request usage against API limits

and determine when you’ve had enough• Design your application to survive an API

blackout or other service interruption

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 33SUGCON NORTH AMERICA 2015

SITECORE

Organized by the Community, for the Community. 34SUGCON NORTH AMERICA 2015

CACHING

Organized by the Community, for the Community. 35

CACHING USER DATA

• Logins and page views should be fast, so we want to avoid calling Salesforce web services when we can

• Salesforce determines who can log in and what they can see, but Sitecore enforces this policy

• Sitecore can then act as an SSO or claims-based authentication mechanism for other web properties

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 36

USER PROFILE CUSTOMIZATION

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 37SUGCON NORTH AMERICA 2015

HORROR STORY #2:ESCAPING THE SANDBOX

Organized by the Community, for the Community. 38

KEEP YOUR SANDBOX TIDY

• Your non-production Sitecore instances will need to communicate with a Salesforce Sandbox

• The Sandbox should have a reasonable approximation of production data

• Don’t put real customer email addresses in the Sandbox!

• Have checks on both the Sitecore and Salesforce side to prevent tests from triggering email, alerts, notifications, and workflow

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 39SUGCON NORTH AMERICA 2015

SECURITY

Organized by the Community, for the Community. 40

HYBRID SECURITY MODEL

1. Sitecore enforces login for members-only sections of the site

2. Custom code determines who is a subscriber

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 41

ENFORCING SITECORE LOGIN

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 42

PRODUCT CODE TAGS

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 43

PRODUCT CODES APPLIED TO PAGES

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 44

PRODUCT CODES AS USER ROLES

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 45

AM I SUBSCRIBED?

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 46

SECURITY CHECKS: MEMBER DASHBOARD

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 47

SECURITY CHECKS: SEARCH RESULTS

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 48

SECURITY CHECKS: TABLE OF CONTENTS

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 49

SECURITY CHECKS: ARTICLE CONTENT AND SIDEBAR WIDGETS

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 50SUGCON NORTH AMERICA 2015

SYNCRONIZATION

Organized by the Community, for the Community. 51

KEEPING SUBSCRIPTIONS IN SYNC

The site needs regular updates from Salesforce to keep user subscriptions current.

So:• Update member data as a background

task• Determine the synchronization schedule,

and disable tasks if necessary• Perform partial and full sync operations

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 52

TASK SCHEDULER

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 53SUGCON NORTH AMERICA 2015

LOGGING

Organized by the Community, for the Community. 54

LOGGING AND ERROR HANDLING

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 55SUGCON NORTH AMERICA 2015

HORROR STORY #3:SELF-DENIAL OF SERVICE ATTACK

Organized by the Community, for the Community. 56

TRIGGERS AND OUTBOUND MESSAGES

• Using triggers and outbound messages, you can create a “push” architecture instead of a “pull”

• Salesforce API limits do not apply to outbound messages

• Outbound messages can only send certain fields from certain objects

• Salesforce can batch messages – and choose when to send them

• Salesforce expects your message endpoint to acknowledge receipt

SUGCON NORTH AMERICA 2015

Organized by the Community, for the Community. 57SUGCON NORTH AMERICA 2015

WRAP UP & QUESTIONS

Organized by the Community, for the Community. 58SUGCON NORTH AMERICA 2015SUGCON NORTH AMERICA 2015

THANK YOU TO OUR SPONSORS!