SlideShare a Scribd company logo
Sitecore Personalization for websites cached on CDN Servers
SAPIENTNITRO CMS PRACTICE
SapientNitro’s expertise on CMS is based
on years of work with some of the world’s
leading brands and marketers…
4
OUR RELATIONSHIPS AND EXPERIENCE WITH
MARKETING PLATFORM PARTNERS ARE SOLID
We have built strategic alliances with the leaders in the digital marketing technology vendor ecosystem
Cross-channel
Analytics Rich Media
Content
Management
Social Commerce
& Collaboration
Digital Asset
Management
Search
Relationship Marketing,
Campaign Management,
Production Automation
5
 We have been global strategic partners with Sitecore since
2010
 Executive level relationships, monthly & quarterly
partnership communications rhythm, data points and
measures
 Strategy and Co-Investment Plan that includes enablement
activities, Global / Regional Account Planning (with focus
on NA, Germany and APAC)
 Leveraging Sitecore partnership on Engineering and
Technology initiatives
Our Relationship with Sitecore
6
KEY SITECORE
CLIENTS
Context
The definition
8
Context
When building enterprise-scale distributed applications, we might face many
performance related challenges. Caching mechanisms can increase performance by storing
copies of data accessed frequently from external systems in a high-performance
subsystem thus,
 Reducing round-trips
 Moving content closer to clients
 Avoiding time-consuming processes of regenerating reusable content
 Improved Performance
 Better Availability
 Scalability
A wide variety of caching techniques exist for caching within web applications.
Some of them include:
 ASP. Net Caching
• Page Level Output Caching
• Fragment Caching, User Control Output Caching
• Caching API, Using the Cache Object
 IIS Caches
 Client Caching
9
Context
Enabling full Page level caching using some of the techniques mentioned above we may
lose out on the personalization features offered by Sitecore.
During the course of this session we will understand why caching is important and how
we can make the Sitecore personalization work even with full page level caching.
CACHING OPTIONS IN SITECORE
The details
11
Cache Types
 HTML Cache
 HTML Cache (also known as the Output cache) associated
with each managed Web site contains the output generated
by individual renderings under different conditions.
 Item Cache
 Contains objects of the Sitecore class
Sitecore.Data.Items.Item that are used in the code most of
the time.
 Data Cache
 Contains items of the Sitecore class ItemInformation,
pulled from the database whenever they are requested.
 Prefetch Cache
 Contains items that Sitecore accesses during and
immediately after initialization and items with children
that Sitecore often accesses as a group.
12
HTML Cache
 HTML output cache caches the actual HTML generated by the Sublayouts and Renderings.
You can configure the allowed size of the HTML cache and whether it should be enabled
or not for each of your managed websites.
<site name = "website" virtualFolder="/" physicalFolder="/"rootPath="/sitecore/content " startItem="/Home" database="web“
domain="extranet" cacheHtml="true" htmlCacheSize="10MB”
enablePreview="true" enableWebEdit="true"enableDebugger="true" disableClientData="false" />
 HTML output cache can be configured for each of the presentation controls. Each
presentation control can generate different output under different conditions, which
can result in multiple entries in a site HTML output cache for a single presentation
control.
 HTML output cache criteria for the presentation control can be set at the following
locations:
• In the Caching section of the rendering/sublayout definition item.
• In the Caching section of the properties of the presentation control when it is
assigned to a layout.
 HTML output cache can be specified to vary by on different parameters.
13
Item Cache
 Item cache contains objects of the Sitecore class Sitecore.Data.Items.Item, which are
used in the code most of the time. Item cache gets generated for each of the databases.
 When you request for an item, which isn’t present in the item cache, it will get it
from the data cache and then populate it in the item cache as an Item.
 The purpose for this cache is to gain performance so that the ItemInformation objects
don’t need to get parsed into an Item each time they are requested.
 Item cache size can be set for each of the databases in the /databases/database
section.
<cacheSizes hint = "setting">
<data>20MB</data>
<items>10MB</items>
<paths>500KB</paths>
<standardValues>500KB</standardValues>
</cacheSizes >
14
Data Cache
 Data cache contains items of the Sitecore class ItemInformation, which also is more or
less the item data pulled from the database.. Data cache gets generated for each of the
databases.
 Data cache gets populated whenever it is requested. The data is pulled from the
prefetch cache, if it present there; else it is pulled out of the database, put into
the prefetch cache and into then the data cache.
 The purpose of this cache is to minimize the amount of requests to the database. This
is extremely important for performance, as requesting items from the database is rather
expensive.
 Data cache size can be set for each of the databases in the /databases/database
section.
<cacheSizes hint = "setting">
<data>20MB</data>
<items>10MB</items>
<paths>500KB</paths>
<standardValues>500KB</standardValues>
</cacheSizes >
15
Prefetch Cache
 Prefetch cache contains items of the Sitecore class PrefetchData, which is more or less
item data pulled out from the database. Prefetch cache gets generated for each of the
databases.
 Prefetch cache gets populated by pulling items out of the database at Sitecore startup.
 The purpose of this cache is to trade longer startup times for faster load times at
runtime.
 The items which should be loaded at start up are specified in the config files
specified in /app_config/prefecth folder. The items which are loaded are a combination
of the items specified in the config file for the specific database, for instance
master.config, and the common.config file.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<cacheSize>20MB</cacheSize>
<template desc="reference">{EF295CD8-19D4-4E02-9438-94C926EF5284}</template>
<template desc="menu item">{998B965E-6AB8-4568-810F-8101D60D0CC3}</template>
16
Clearing of Caches
 HTML cache: The HTML is always cleared on publish. So whenever you publish even a
single item the complete cache is cleared. This is due to the fact, that parts of the
HTML can be built from multiple items, so the cache has no way of knowing if the item
being published has influence on the presentation.
 Item cache: The Item cache gets cleared for items once they are published or updated.
If you publish an item which might influence other items, these items are cleared as
well. For example if you publish standard values or a template, that clears more than a
single item. The item cache is rebuild incrementally when the items are requested
again.
 Data cache: The data cache gets cleared for items once they are published or updated.
It is rebuild incrementally when the items are requested again.
 Prefetch cache: The Prefetch cache gets cleared in the same way as the item and data
cache, but the items specified in the Prefetch config files are pre-fetched from the
database again.
CDN CACHING
The usage
18
WHAT IS CDN?
A content delivery network or content distribution network (CDN) is a large distributed
system of servers deployed in multiple data centers across the Internet. The goal of a
CDN is to serve content to end-users with high availability and high performance. CDNs
serve a large fraction of the Internet content today, including web objects (text,
graphics and scripts), downloadable objects (media files, software, documents),
applications (e-commerce, portals), live streaming media, on-demand streaming media, and
social networks. Some of the more known CDNs are Akamai, Amazon CloudFront, Cloudfare,
Fastly, MaxCDN, Cachefly etc.
19
CDN CATEGORIES
 PULL
 Transfer Protocol: None
 Pros:
• Requires virtually no setup at your end: all you have to do, is rewrite
the URLs to your files: replace your own domain name with the CDN’s domain
name.
 Cons:
• No flexibility. It will just re-sync files based on the TTL set.
• Results in redundant traffic because files are being pulled from the origin
server more often than they actually change
 PUSH
 Transfer Protocol: FTP, SFTP, WebDAV, Amazon S3
 Pros
• Flexibility as you can decide when files are synced, how often and if any pre-
processing should happen.
• No redundant traffic
 Cons
• Requires a fair amount of work at your end to sync files to the CDN
20
CDN Caching and TTL (Time-To-Live)
One of the most useful features to implement on a CDN-powered webpage is to define the
“Time To Live” (TTL) for file types. Time-To-Live (TTL) is a mechanism to limit the
lifetime of data in a network. Our Content Delivery Network (CDN) providers offer this
configuration setting. This will tell our CDN servers how long to wait before checking
for a changed/updated version of the file. When the time-to-live time has passed, a GET
request for an object triggers an IMS (If-Modified-Since) request to the origin server.
Personalization
Making Personalization work !!!
22
What is Personalization?
Personalization is the practice of dynamically tailoring your site based on individual
users characteristics or preferences.
A key feature of Sitecore is its ability to personalize content according to pre-
defined sets of criteria, defined by content authors or marketers .
23
Making Personalization Work on CDN Cached Pages
 Setup an Ajax Device in Sitecore that
will return the Rendering component
HTML based on the useAjax=true query
string parameter and the component
placeholder name that is passed
dynamically.
 Define an Ajax Layout that will be the
default layout to be used for an Ajax
Device. add an Ajax placeholder.
@using Sitecore.Mvc
@Html.Sitecore().Placeholder("ajax")
24
Making Personalization Work on CDN Cached Pages
 Create an Ajax Controller to handle
the Render action that will get
triggered when an item is queried for
Ajax Device and the placeholder name
for the component is passed as a query
string parameter.
Render action will identify the
rendering on the page that matches
the placeholder parameter passed in the
query string. It will then fetch the
HTML for the same using the
PipelineService to run the
mvc.renderRendering pipeline.
Create a Controller Rendering
RenderAjax that will call the Render
action of Ajax Controller.
public ActionResult Render(string placeholder)
{
var html = string.Empty;
foreach (var r in PageContext.Current.PageDefinition.Renderings.Where(r =>
r.Placeholder == placeholder))
{
try
{
using (var stringWriter = new StringWriter())
{
PipelineService.Get()
.RunPipeline("mvc.renderRendering", new RenderRenderingArgs(r,
stringWriter));
html += stringWriter.ToString();
}
}
catch (Exception ex)
{
Logger.Log(ex.Message, ExceptionCategory.Fatal);
}
}
return Content(html);
}
25
Making Personalization Work on CDN Cached Pages
 Associate the default Ajax Layout and
RenderAjax component with the Ajax
Device by adding it on the standard
values of the Base Page Templates.
26
Making Personalization Work on CDN Cached Pages
 Create a View Rendering for the Ajax
Container that will control the
addition of “Personalized-Content”
placeholder in the page edit or preview
mode so that we can benefit from OOTB
Sitecore personalization features in
preview or page edit mode.
In the normal mode it will add the
container div with a unique class name,
personalized-content, and the data
attributes for the page item url and
unique placeholder name.
Include the JavaScript that will
trigger the Ajax call for any div with
the unique class name personalized-
content by reading the data-item-name
and data-placeholder-name data
attributes. The Ajax url will be formed
as below:
@inherits WebViewPage
@using Sitecore.Mvc
@{
var str = "Personalized-Content" +
Sitecore.Mvc.Presentation.RenderingContext.Current.Rendering.Parameters["Unique
Identifier"];
if (Sitecore.Context.PageMode.IsPageEditor ||
Sitecore.Context.PageMode.IsPreview)
{
@Html.Sitecore().Placeholder(str)
}
else
{
var url = Request.Url.AbsolutePath;
var placeholder =
@Sitecore.Mvc.Presentation.RenderingContext.Current.Rendering.Placeholder + "/" +
@str;
var ajaxID = placeholder.Replace("/", string.Empty);
<div class="personalized-content" id="@ajaxID" data-placeholder-
name="@placeholder" data-item-name="@url" ></div>
27
Making Personalization Work on CDN Cached Pages
 Add the Ajax Container View rendering
before adding a personalized component.
Ajax Container should be placed in the
same placeholder as the personalized
component. Thereafter, add the
personalized component to the
“personalized-content” placeholder
added by the Ajax Container.
 Add a separate Ajax Container for each
personalized component added on the
page.
 In case multiple Personalized
Components are added on the same
placeholder then use the Rendering
Parameter “Unique Identifier” to make
the placeholder name unique by
appending a numeric value after the
personalized content
28
Making Personalization Work on CDN Cached Pages
 Define a rule on the CDN servers not to cache any urls that contain the query
string ?useAjax=true. Thus the output of the ajax urls will not get cached and the
request will always come to the server.
url = <<data-item-name>> + "?useAjax=true&placeholder=" + <<data-placeholder-name>>;
© 2013 SAPIENT CORPORATION | CONFIDENTIAL
Demo
Analytics
How to handle!!!
31
Enabling Sitecore Analytics Session on CDN
In order to access the Sitecore Analytics data for personalization rules that are
based on user visit information it is important to instantiate the Sitecore
Analytics session on CDN by dropping the Sitecore Analytics cookie in user’s
browser.
This can be achieved by adding a light weight ‘TrackExternal.aspx’ page in your web
application just to instantiate the Sitecore Analytics session from CDN. This page
will not have any code logic except a no-cache header.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TrackExternal.aspx.cs" Inherits=“sample.web.ui.website.TrackExternal"
%>
<%@ OutputCache Location="None" VaryByParam="none" %>
Include a Pixel tracking code(beacon) as below in your base layout that will
trigger a call to ‘TrackExternal.aspx’ page for every page request thus ensuring
that the Analytics session is available on CDN as well.
<img id="trackVisitor" src="@UriHtmlHelper.FormatAbsoluteUrl(Request.Url, "/TrackExternal.aspx")" alt="Tracking Image" height="1"
width="1" style="border-style:none;display:none;" />
© 2013 SAPIENT CORPORATION | CONFIDENTIAL
Q&A
© 2013 SAPIENT CORPORATION | CONFIDENTIAL
THANK YOU

More Related Content

What's hot

Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編
なべ
 
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
Sotaro Kimura
 
Spring Cloud Data Flow の紹介 #streamctjp
Spring Cloud Data Flow の紹介  #streamctjpSpring Cloud Data Flow の紹介  #streamctjp
Spring Cloud Data Flow の紹介 #streamctjp
Yahoo!デベロッパーネットワーク
 
AWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすかAWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすか
Shun Fukazawa
 
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Keigo Suda
 
Jack In The Box Nutritional Information
Jack In The Box Nutritional InformationJack In The Box Nutritional Information
Jack In The Box Nutritional Information
Drive Thru Diets
 
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
日本マイクロソフト株式会社
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
 
[最新バージョンの情報がDescription欄にございます]AWS Black Belt Online Seminar 2018 Amazon Connect
[最新バージョンの情報がDescription欄にございます]AWS Black Belt Online Seminar 2018 Amazon Connect[最新バージョンの情報がDescription欄にございます]AWS Black Belt Online Seminar 2018 Amazon Connect
[最新バージョンの情報がDescription欄にございます]AWS Black Belt Online Seminar 2018 Amazon Connect
Amazon Web Services Japan
 
Kubernetes Cost Optimization
Kubernetes Cost OptimizationKubernetes Cost Optimization
Kubernetes Cost Optimization
Shiho ASA
 
CodeBuildを身近にするためのはじめの一歩
CodeBuildを身近にするためのはじめの一歩CodeBuildを身近にするためのはじめの一歩
CodeBuildを身近にするためのはじめの一歩
淳 千葉
 
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
TakeshiFukae
 
MySQL INDEX+EXPLAIN入門
MySQL INDEX+EXPLAIN入門MySQL INDEX+EXPLAIN入門
MySQL INDEX+EXPLAIN入門infinite_loop
 
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
Yusuke Suzuki
 
データ分析基盤を支えるエンジニアリング
データ分析基盤を支えるエンジニアリングデータ分析基盤を支えるエンジニアリング
データ分析基盤を支えるエンジニアリング
Recruit Lifestyle Co., Ltd.
 
Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話
Katsunori Kanda
 
AWS Black Belt Techシリーズ Amazon CloudSearch
AWS Black Belt Techシリーズ Amazon CloudSearchAWS Black Belt Techシリーズ Amazon CloudSearch
AWS Black Belt Techシリーズ Amazon CloudSearch
Amazon Web Services Japan
 
스프링 시큐리티 구조 이해
스프링 시큐리티 구조 이해스프링 시큐리티 구조 이해
스프링 시큐리티 구조 이해
beom kyun choi
 
AWS Black Belt Techシリーズ Amazon VPC
AWS Black Belt Techシリーズ Amazon VPCAWS Black Belt Techシリーズ Amazon VPC
AWS Black Belt Techシリーズ Amazon VPC
Amazon Web Services Japan
 
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Daisuke Miyamoto
 

What's hot (20)

Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編
 
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
 
Spring Cloud Data Flow の紹介 #streamctjp
Spring Cloud Data Flow の紹介  #streamctjpSpring Cloud Data Flow の紹介  #streamctjp
Spring Cloud Data Flow の紹介 #streamctjp
 
AWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすかAWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすか
 
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
 
Jack In The Box Nutritional Information
Jack In The Box Nutritional InformationJack In The Box Nutritional Information
Jack In The Box Nutritional Information
 
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
 
[最新バージョンの情報がDescription欄にございます]AWS Black Belt Online Seminar 2018 Amazon Connect
[最新バージョンの情報がDescription欄にございます]AWS Black Belt Online Seminar 2018 Amazon Connect[最新バージョンの情報がDescription欄にございます]AWS Black Belt Online Seminar 2018 Amazon Connect
[最新バージョンの情報がDescription欄にございます]AWS Black Belt Online Seminar 2018 Amazon Connect
 
Kubernetes Cost Optimization
Kubernetes Cost OptimizationKubernetes Cost Optimization
Kubernetes Cost Optimization
 
CodeBuildを身近にするためのはじめの一歩
CodeBuildを身近にするためのはじめの一歩CodeBuildを身近にするためのはじめの一歩
CodeBuildを身近にするためのはじめの一歩
 
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
 
MySQL INDEX+EXPLAIN入門
MySQL INDEX+EXPLAIN入門MySQL INDEX+EXPLAIN入門
MySQL INDEX+EXPLAIN入門
 
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
 
データ分析基盤を支えるエンジニアリング
データ分析基盤を支えるエンジニアリングデータ分析基盤を支えるエンジニアリング
データ分析基盤を支えるエンジニアリング
 
Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話
 
AWS Black Belt Techシリーズ Amazon CloudSearch
AWS Black Belt Techシリーズ Amazon CloudSearchAWS Black Belt Techシリーズ Amazon CloudSearch
AWS Black Belt Techシリーズ Amazon CloudSearch
 
스프링 시큐리티 구조 이해
스프링 시큐리티 구조 이해스프링 시큐리티 구조 이해
스프링 시큐리티 구조 이해
 
AWS Black Belt Techシリーズ Amazon VPC
AWS Black Belt Techシリーズ Amazon VPCAWS Black Belt Techシリーズ Amazon VPC
AWS Black Belt Techシリーズ Amazon VPC
 
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
 

Viewers also liked

Sitecore responsive website imagery support
Sitecore responsive website imagery supportSitecore responsive website imagery support
Sitecore responsive website imagery support
Anindita Bhattacharya
 
Content search api in sitecore 8.1
Content search api in sitecore 8.1Content search api in sitecore 8.1
Content search api in sitecore 8.1
Anindita Bhattacharya
 
Sitecore enhancing content author experience
Sitecore enhancing content author experienceSitecore enhancing content author experience
Sitecore enhancing content author experience
Anindita Bhattacharya
 
Sug bangalore - front end coding workflow for sitecore sites
Sug bangalore - front end coding workflow for sitecore sitesSug bangalore - front end coding workflow for sitecore sites
Sug bangalore - front end coding workflow for sitecore sites
Anindita Bhattacharya
 
Social connected module and sitecore (facebook)
Social connected module and sitecore (facebook) Social connected module and sitecore (facebook)
Social connected module and sitecore (facebook) Anindita Bhattacharya
 
Sitecore experience platform part 2
Sitecore experience platform   part 2Sitecore experience platform   part 2
Sitecore experience platform part 2
Anindita Bhattacharya
 
Sitecore experience platform session 1
Sitecore experience platform   session 1Sitecore experience platform   session 1
Sitecore experience platform session 1
Anindita Bhattacharya
 
SUG Bangalore - Kick Off Session
SUG Bangalore - Kick Off SessionSUG Bangalore - Kick Off Session
SUG Bangalore - Kick Off Session
Anindita Bhattacharya
 
Introducing Sitecore - The Experience Platform
Introducing Sitecore - The Experience PlatformIntroducing Sitecore - The Experience Platform
Introducing Sitecore - The Experience Platform
Adrian IORGU
 
Azure CDN - Accelerated Availability & Performance
Azure CDN - Accelerated Availability & PerformanceAzure CDN - Accelerated Availability & Performance
Azure CDN - Accelerated Availability & Performance
BizTalk360
 
Iaetsd web personalization a general survey
Iaetsd web personalization a general surveyIaetsd web personalization a general survey
Iaetsd web personalization a general survey
Iaetsd Iaetsd
 
Google Is a Two Page Site
Google Is a Two Page SiteGoogle Is a Two Page Site
Google Is a Two Page Site
Martina Helene Welander
 
Dude, where does my data go?
Dude, where does my data go?Dude, where does my data go?
Dude, where does my data go?
Martina Helene Welander
 
Top Marketing Automation Statistics
Top Marketing Automation StatisticsTop Marketing Automation Statistics
Top Marketing Automation Statistics
edynamic
 
Sustav za upravljanje dokumentima DMS sustavi
Sustav za upravljanje dokumentima DMS sustaviSustav za upravljanje dokumentima DMS sustavi
Sustav za upravljanje dokumentima DMS sustavi
Inpro d.o.o.
 
Varnish Extend demo
Varnish Extend demoVarnish Extend demo
Varnish Extend demo
Varnish Software
 
Soccer Life Game
Soccer Life GameSoccer Life Game
Soccer Life Game
Rafael Rodrigo Leitão
 
Digital Finance Sitecore Finland: Michael Leander keynote presentation
Digital Finance Sitecore Finland: Michael Leander keynote presentationDigital Finance Sitecore Finland: Michael Leander keynote presentation
Digital Finance Sitecore Finland: Michael Leander keynote presentation
Michael Leander
 
The Challenges Of Building A Sitecore Digital Marketing Platform
The Challenges Of Building A Sitecore Digital Marketing PlatformThe Challenges Of Building A Sitecore Digital Marketing Platform
The Challenges Of Building A Sitecore Digital Marketing PlatformThomas Eldblom
 
Mathure Project
Mathure ProjectMathure Project
Mathure Project
Rafael Rodrigo Leitão
 

Viewers also liked (20)

Sitecore responsive website imagery support
Sitecore responsive website imagery supportSitecore responsive website imagery support
Sitecore responsive website imagery support
 
Content search api in sitecore 8.1
Content search api in sitecore 8.1Content search api in sitecore 8.1
Content search api in sitecore 8.1
 
Sitecore enhancing content author experience
Sitecore enhancing content author experienceSitecore enhancing content author experience
Sitecore enhancing content author experience
 
Sug bangalore - front end coding workflow for sitecore sites
Sug bangalore - front end coding workflow for sitecore sitesSug bangalore - front end coding workflow for sitecore sites
Sug bangalore - front end coding workflow for sitecore sites
 
Social connected module and sitecore (facebook)
Social connected module and sitecore (facebook) Social connected module and sitecore (facebook)
Social connected module and sitecore (facebook)
 
Sitecore experience platform part 2
Sitecore experience platform   part 2Sitecore experience platform   part 2
Sitecore experience platform part 2
 
Sitecore experience platform session 1
Sitecore experience platform   session 1Sitecore experience platform   session 1
Sitecore experience platform session 1
 
SUG Bangalore - Kick Off Session
SUG Bangalore - Kick Off SessionSUG Bangalore - Kick Off Session
SUG Bangalore - Kick Off Session
 
Introducing Sitecore - The Experience Platform
Introducing Sitecore - The Experience PlatformIntroducing Sitecore - The Experience Platform
Introducing Sitecore - The Experience Platform
 
Azure CDN - Accelerated Availability & Performance
Azure CDN - Accelerated Availability & PerformanceAzure CDN - Accelerated Availability & Performance
Azure CDN - Accelerated Availability & Performance
 
Iaetsd web personalization a general survey
Iaetsd web personalization a general surveyIaetsd web personalization a general survey
Iaetsd web personalization a general survey
 
Google Is a Two Page Site
Google Is a Two Page SiteGoogle Is a Two Page Site
Google Is a Two Page Site
 
Dude, where does my data go?
Dude, where does my data go?Dude, where does my data go?
Dude, where does my data go?
 
Top Marketing Automation Statistics
Top Marketing Automation StatisticsTop Marketing Automation Statistics
Top Marketing Automation Statistics
 
Sustav za upravljanje dokumentima DMS sustavi
Sustav za upravljanje dokumentima DMS sustaviSustav za upravljanje dokumentima DMS sustavi
Sustav za upravljanje dokumentima DMS sustavi
 
Varnish Extend demo
Varnish Extend demoVarnish Extend demo
Varnish Extend demo
 
Soccer Life Game
Soccer Life GameSoccer Life Game
Soccer Life Game
 
Digital Finance Sitecore Finland: Michael Leander keynote presentation
Digital Finance Sitecore Finland: Michael Leander keynote presentationDigital Finance Sitecore Finland: Michael Leander keynote presentation
Digital Finance Sitecore Finland: Michael Leander keynote presentation
 
The Challenges Of Building A Sitecore Digital Marketing Platform
The Challenges Of Building A Sitecore Digital Marketing PlatformThe Challenges Of Building A Sitecore Digital Marketing Platform
The Challenges Of Building A Sitecore Digital Marketing Platform
 
Mathure Project
Mathure ProjectMathure Project
Mathure Project
 

Similar to Sitecore Personalization on websites cached on CDN servers

Mini-Training: To cache or not to cache
Mini-Training: To cache or not to cacheMini-Training: To cache or not to cache
Mini-Training: To cache or not to cache
Betclic Everest Group Tech Team
 
XDC demo: CTA
XDC demo: CTAXDC demo: CTA
XDC demo: CTA
EOSC-hub project
 
Sharepoint Performance - part 2
Sharepoint Performance - part 2Sharepoint Performance - part 2
Sharepoint Performance - part 2Regroove
 
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
Docker, Inc.
 
System Architecture at DDVE
System Architecture at DDVESystem Architecture at DDVE
System Architecture at DDVE
Alvar Lumberg
 
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...
ColdFusionConference
 
Developing High Performance and Scalable ColdFusion Applications Using Terrac...
Developing High Performance and Scalable ColdFusion Applications Using Terrac...Developing High Performance and Scalable ColdFusion Applications Using Terrac...
Developing High Performance and Scalable ColdFusion Applications Using Terrac...
Shailendra Prasad
 
Blue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on AzureBlue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on Azure
Rob Habraken
 
SharePoint and Large Scale SQL Deployments - NZSPC
SharePoint and Large Scale SQL Deployments - NZSPCSharePoint and Large Scale SQL Deployments - NZSPC
SharePoint and Large Scale SQL Deployments - NZSPC
guest7c2e070
 
Large Scale SharePoint SQL Deployments
Large Scale SharePoint SQL DeploymentsLarge Scale SharePoint SQL Deployments
Large Scale SharePoint SQL Deployments
Joel Oleson
 
Microsoft India - BranchCache in Windows 7 and Windows Server 2008 R2 Overvie...
Microsoft India - BranchCache in Windows 7 and Windows Server 2008 R2 Overvie...Microsoft India - BranchCache in Windows 7 and Windows Server 2008 R2 Overvie...
Microsoft India - BranchCache in Windows 7 and Windows Server 2008 R2 Overvie...
Microsoft Private Cloud
 
your browser, my storage
your browser, my storageyour browser, my storage
your browser, my storage
Francesco Fullone
 
MongoDB Sharding Webinar 2014
MongoDB Sharding Webinar 2014MongoDB Sharding Webinar 2014
MongoDB Sharding Webinar 2014
Dylan Tong
 
Scale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabricScale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabricWim Van den Broeck
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
Amazon Web Services
 
Caching and Its Main Types
Caching and Its Main TypesCaching and Its Main Types
Caching and Its Main Types
HTS Hosting
 
Migrating Very Large Site Collections (SPSDC)
Migrating Very Large Site Collections (SPSDC)Migrating Very Large Site Collections (SPSDC)
Migrating Very Large Site Collections (SPSDC)kiwiboris
 
Analysis of Google Page Speed Insight
Analysis of Google Page Speed InsightAnalysis of Google Page Speed Insight
Analysis of Google Page Speed Insight
Sarvesh Sonawane
 
your browser, your storage
your browser, your storageyour browser, your storage
your browser, your storage
Francesco Fullone
 

Similar to Sitecore Personalization on websites cached on CDN servers (20)

Mini-Training: To cache or not to cache
Mini-Training: To cache or not to cacheMini-Training: To cache or not to cache
Mini-Training: To cache or not to cache
 
XDC demo: CTA
XDC demo: CTAXDC demo: CTA
XDC demo: CTA
 
Sharepoint Performance - part 2
Sharepoint Performance - part 2Sharepoint Performance - part 2
Sharepoint Performance - part 2
 
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
 
System Architecture at DDVE
System Architecture at DDVESystem Architecture at DDVE
System Architecture at DDVE
 
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...
 
Developing High Performance and Scalable ColdFusion Applications Using Terrac...
Developing High Performance and Scalable ColdFusion Applications Using Terrac...Developing High Performance and Scalable ColdFusion Applications Using Terrac...
Developing High Performance and Scalable ColdFusion Applications Using Terrac...
 
Blue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on AzureBlue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on Azure
 
Mysql wp memcached
Mysql wp memcachedMysql wp memcached
Mysql wp memcached
 
SharePoint and Large Scale SQL Deployments - NZSPC
SharePoint and Large Scale SQL Deployments - NZSPCSharePoint and Large Scale SQL Deployments - NZSPC
SharePoint and Large Scale SQL Deployments - NZSPC
 
Large Scale SharePoint SQL Deployments
Large Scale SharePoint SQL DeploymentsLarge Scale SharePoint SQL Deployments
Large Scale SharePoint SQL Deployments
 
Microsoft India - BranchCache in Windows 7 and Windows Server 2008 R2 Overvie...
Microsoft India - BranchCache in Windows 7 and Windows Server 2008 R2 Overvie...Microsoft India - BranchCache in Windows 7 and Windows Server 2008 R2 Overvie...
Microsoft India - BranchCache in Windows 7 and Windows Server 2008 R2 Overvie...
 
your browser, my storage
your browser, my storageyour browser, my storage
your browser, my storage
 
MongoDB Sharding Webinar 2014
MongoDB Sharding Webinar 2014MongoDB Sharding Webinar 2014
MongoDB Sharding Webinar 2014
 
Scale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabricScale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabric
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
 
Caching and Its Main Types
Caching and Its Main TypesCaching and Its Main Types
Caching and Its Main Types
 
Migrating Very Large Site Collections (SPSDC)
Migrating Very Large Site Collections (SPSDC)Migrating Very Large Site Collections (SPSDC)
Migrating Very Large Site Collections (SPSDC)
 
Analysis of Google Page Speed Insight
Analysis of Google Page Speed InsightAnalysis of Google Page Speed Insight
Analysis of Google Page Speed Insight
 
your browser, your storage
your browser, your storageyour browser, your storage
your browser, your storage
 

More from Anindita Bhattacharya

SUG Bangalore - Extending Sitecore Experience Commerce 9 Business Tools
SUG Bangalore - Extending Sitecore Experience Commerce 9 Business ToolsSUG Bangalore - Extending Sitecore Experience Commerce 9 Business Tools
SUG Bangalore - Extending Sitecore Experience Commerce 9 Business Tools
Anindita Bhattacharya
 
Sug bangalore - headless jss
Sug bangalore - headless jssSug bangalore - headless jss
Sug bangalore - headless jss
Anindita Bhattacharya
 
Sug bangalore - sitecore solr nuggets
Sug bangalore - sitecore solr nuggetsSug bangalore - sitecore solr nuggets
Sug bangalore - sitecore solr nuggets
Anindita Bhattacharya
 
Sug bangalore - sitecore commerce introduction
Sug bangalore - sitecore commerce introductionSug bangalore - sitecore commerce introduction
Sug bangalore - sitecore commerce introduction
Anindita Bhattacharya
 
SUG Bangalore - WFFM Customizations with Sanjay Singh
SUG Bangalore - WFFM Customizations with Sanjay SinghSUG Bangalore - WFFM Customizations with Sanjay Singh
SUG Bangalore - WFFM Customizations with Sanjay Singh
Anindita Bhattacharya
 
SUG Bangalore - Overview of Sitecore Experience Accelerator with Pratik Satik...
SUG Bangalore - Overview of Sitecore Experience Accelerator with Pratik Satik...SUG Bangalore - Overview of Sitecore Experience Accelerator with Pratik Satik...
SUG Bangalore - Overview of Sitecore Experience Accelerator with Pratik Satik...
Anindita Bhattacharya
 
SUG Bangalore - Decoding DXF with Prasath Panneer Chelvam
SUG Bangalore - Decoding DXF with Prasath Panneer ChelvamSUG Bangalore - Decoding DXF with Prasath Panneer Chelvam
SUG Bangalore - Decoding DXF with Prasath Panneer Chelvam
Anindita Bhattacharya
 
SUG Bangalore - Marketing Automation by Aji Viswanadhan
SUG Bangalore - Marketing Automation by Aji ViswanadhanSUG Bangalore - Marketing Automation by Aji Viswanadhan
SUG Bangalore - Marketing Automation by Aji Viswanadhan
Anindita Bhattacharya
 
SUG Bangalore - Sitecore EXM with Jisha Muthuswamy
SUG Bangalore - Sitecore EXM with Jisha MuthuswamySUG Bangalore - Sitecore EXM with Jisha Muthuswamy
SUG Bangalore - Sitecore EXM with Jisha Muthuswamy
Anindita Bhattacharya
 
Sugblr sitecore search - absolute basics
Sugblr sitecore search - absolute basicsSugblr sitecore search - absolute basics
Sugblr sitecore search - absolute basics
Anindita Bhattacharya
 
Sugblr problem solving coveo
Sugblr problem solving coveoSugblr problem solving coveo
Sugblr problem solving coveo
Anindita Bhattacharya
 
Sugblr deep dive data exchange framework with sitecore
Sugblr deep dive data exchange framework with sitecoreSugblr deep dive data exchange framework with sitecore
Sugblr deep dive data exchange framework with sitecore
Anindita Bhattacharya
 
Sugblr sitecore forms
Sugblr sitecore formsSugblr sitecore forms
Sugblr sitecore forms
Anindita Bhattacharya
 
What's new in Sitecore 9 by Kamruz Jaman
What's new in Sitecore 9 by Kamruz JamanWhat's new in Sitecore 9 by Kamruz Jaman
What's new in Sitecore 9 by Kamruz Jaman
Anindita Bhattacharya
 
Machine Learning with Microsoft by Nalin Mujumdar
Machine Learning with Microsoft by Nalin MujumdarMachine Learning with Microsoft by Nalin Mujumdar
Machine Learning with Microsoft by Nalin Mujumdar
Anindita Bhattacharya
 
Let's explore Helix by Gopikrishna Gujjula
Let's explore Helix by Gopikrishna GujjulaLet's explore Helix by Gopikrishna Gujjula
Let's explore Helix by Gopikrishna Gujjula
Anindita Bhattacharya
 
Sitecore with Azure AD and Multifactor Authentication
Sitecore with Azure AD and Multifactor AuthenticationSitecore with Azure AD and Multifactor Authentication
Sitecore with Azure AD and Multifactor Authentication
Anindita Bhattacharya
 
Sitecore Goals – Why, What & How
Sitecore Goals – Why, What & HowSitecore Goals – Why, What & How
Sitecore Goals – Why, What & How
Anindita Bhattacharya
 
SUGBLR - Salesforce Integration with Sitecore
SUGBLR - Salesforce Integration with SitecoreSUGBLR - Salesforce Integration with Sitecore
SUGBLR - Salesforce Integration with Sitecore
Anindita Bhattacharya
 
SUGBLR - Dependency injection in sitecore
SUGBLR - Dependency injection in sitecoreSUGBLR - Dependency injection in sitecore
SUGBLR - Dependency injection in sitecore
Anindita Bhattacharya
 

More from Anindita Bhattacharya (20)

SUG Bangalore - Extending Sitecore Experience Commerce 9 Business Tools
SUG Bangalore - Extending Sitecore Experience Commerce 9 Business ToolsSUG Bangalore - Extending Sitecore Experience Commerce 9 Business Tools
SUG Bangalore - Extending Sitecore Experience Commerce 9 Business Tools
 
Sug bangalore - headless jss
Sug bangalore - headless jssSug bangalore - headless jss
Sug bangalore - headless jss
 
Sug bangalore - sitecore solr nuggets
Sug bangalore - sitecore solr nuggetsSug bangalore - sitecore solr nuggets
Sug bangalore - sitecore solr nuggets
 
Sug bangalore - sitecore commerce introduction
Sug bangalore - sitecore commerce introductionSug bangalore - sitecore commerce introduction
Sug bangalore - sitecore commerce introduction
 
SUG Bangalore - WFFM Customizations with Sanjay Singh
SUG Bangalore - WFFM Customizations with Sanjay SinghSUG Bangalore - WFFM Customizations with Sanjay Singh
SUG Bangalore - WFFM Customizations with Sanjay Singh
 
SUG Bangalore - Overview of Sitecore Experience Accelerator with Pratik Satik...
SUG Bangalore - Overview of Sitecore Experience Accelerator with Pratik Satik...SUG Bangalore - Overview of Sitecore Experience Accelerator with Pratik Satik...
SUG Bangalore - Overview of Sitecore Experience Accelerator with Pratik Satik...
 
SUG Bangalore - Decoding DXF with Prasath Panneer Chelvam
SUG Bangalore - Decoding DXF with Prasath Panneer ChelvamSUG Bangalore - Decoding DXF with Prasath Panneer Chelvam
SUG Bangalore - Decoding DXF with Prasath Panneer Chelvam
 
SUG Bangalore - Marketing Automation by Aji Viswanadhan
SUG Bangalore - Marketing Automation by Aji ViswanadhanSUG Bangalore - Marketing Automation by Aji Viswanadhan
SUG Bangalore - Marketing Automation by Aji Viswanadhan
 
SUG Bangalore - Sitecore EXM with Jisha Muthuswamy
SUG Bangalore - Sitecore EXM with Jisha MuthuswamySUG Bangalore - Sitecore EXM with Jisha Muthuswamy
SUG Bangalore - Sitecore EXM with Jisha Muthuswamy
 
Sugblr sitecore search - absolute basics
Sugblr sitecore search - absolute basicsSugblr sitecore search - absolute basics
Sugblr sitecore search - absolute basics
 
Sugblr problem solving coveo
Sugblr problem solving coveoSugblr problem solving coveo
Sugblr problem solving coveo
 
Sugblr deep dive data exchange framework with sitecore
Sugblr deep dive data exchange framework with sitecoreSugblr deep dive data exchange framework with sitecore
Sugblr deep dive data exchange framework with sitecore
 
Sugblr sitecore forms
Sugblr sitecore formsSugblr sitecore forms
Sugblr sitecore forms
 
What's new in Sitecore 9 by Kamruz Jaman
What's new in Sitecore 9 by Kamruz JamanWhat's new in Sitecore 9 by Kamruz Jaman
What's new in Sitecore 9 by Kamruz Jaman
 
Machine Learning with Microsoft by Nalin Mujumdar
Machine Learning with Microsoft by Nalin MujumdarMachine Learning with Microsoft by Nalin Mujumdar
Machine Learning with Microsoft by Nalin Mujumdar
 
Let's explore Helix by Gopikrishna Gujjula
Let's explore Helix by Gopikrishna GujjulaLet's explore Helix by Gopikrishna Gujjula
Let's explore Helix by Gopikrishna Gujjula
 
Sitecore with Azure AD and Multifactor Authentication
Sitecore with Azure AD and Multifactor AuthenticationSitecore with Azure AD and Multifactor Authentication
Sitecore with Azure AD and Multifactor Authentication
 
Sitecore Goals – Why, What & How
Sitecore Goals – Why, What & HowSitecore Goals – Why, What & How
Sitecore Goals – Why, What & How
 
SUGBLR - Salesforce Integration with Sitecore
SUGBLR - Salesforce Integration with SitecoreSUGBLR - Salesforce Integration with Sitecore
SUGBLR - Salesforce Integration with Sitecore
 
SUGBLR - Dependency injection in sitecore
SUGBLR - Dependency injection in sitecoreSUGBLR - Dependency injection in sitecore
SUGBLR - Dependency injection in sitecore
 

Recently uploaded

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 

Recently uploaded (20)

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 

Sitecore Personalization on websites cached on CDN servers

  • 1. Sitecore Personalization for websites cached on CDN Servers
  • 3. SapientNitro’s expertise on CMS is based on years of work with some of the world’s leading brands and marketers…
  • 4. 4 OUR RELATIONSHIPS AND EXPERIENCE WITH MARKETING PLATFORM PARTNERS ARE SOLID We have built strategic alliances with the leaders in the digital marketing technology vendor ecosystem Cross-channel Analytics Rich Media Content Management Social Commerce & Collaboration Digital Asset Management Search Relationship Marketing, Campaign Management, Production Automation
  • 5. 5  We have been global strategic partners with Sitecore since 2010  Executive level relationships, monthly & quarterly partnership communications rhythm, data points and measures  Strategy and Co-Investment Plan that includes enablement activities, Global / Regional Account Planning (with focus on NA, Germany and APAC)  Leveraging Sitecore partnership on Engineering and Technology initiatives Our Relationship with Sitecore
  • 8. 8 Context When building enterprise-scale distributed applications, we might face many performance related challenges. Caching mechanisms can increase performance by storing copies of data accessed frequently from external systems in a high-performance subsystem thus,  Reducing round-trips  Moving content closer to clients  Avoiding time-consuming processes of regenerating reusable content  Improved Performance  Better Availability  Scalability A wide variety of caching techniques exist for caching within web applications. Some of them include:  ASP. Net Caching • Page Level Output Caching • Fragment Caching, User Control Output Caching • Caching API, Using the Cache Object  IIS Caches  Client Caching
  • 9. 9 Context Enabling full Page level caching using some of the techniques mentioned above we may lose out on the personalization features offered by Sitecore. During the course of this session we will understand why caching is important and how we can make the Sitecore personalization work even with full page level caching.
  • 10. CACHING OPTIONS IN SITECORE The details
  • 11. 11 Cache Types  HTML Cache  HTML Cache (also known as the Output cache) associated with each managed Web site contains the output generated by individual renderings under different conditions.  Item Cache  Contains objects of the Sitecore class Sitecore.Data.Items.Item that are used in the code most of the time.  Data Cache  Contains items of the Sitecore class ItemInformation, pulled from the database whenever they are requested.  Prefetch Cache  Contains items that Sitecore accesses during and immediately after initialization and items with children that Sitecore often accesses as a group.
  • 12. 12 HTML Cache  HTML output cache caches the actual HTML generated by the Sublayouts and Renderings. You can configure the allowed size of the HTML cache and whether it should be enabled or not for each of your managed websites. <site name = "website" virtualFolder="/" physicalFolder="/"rootPath="/sitecore/content " startItem="/Home" database="web“ domain="extranet" cacheHtml="true" htmlCacheSize="10MB” enablePreview="true" enableWebEdit="true"enableDebugger="true" disableClientData="false" />  HTML output cache can be configured for each of the presentation controls. Each presentation control can generate different output under different conditions, which can result in multiple entries in a site HTML output cache for a single presentation control.  HTML output cache criteria for the presentation control can be set at the following locations: • In the Caching section of the rendering/sublayout definition item. • In the Caching section of the properties of the presentation control when it is assigned to a layout.  HTML output cache can be specified to vary by on different parameters.
  • 13. 13 Item Cache  Item cache contains objects of the Sitecore class Sitecore.Data.Items.Item, which are used in the code most of the time. Item cache gets generated for each of the databases.  When you request for an item, which isn’t present in the item cache, it will get it from the data cache and then populate it in the item cache as an Item.  The purpose for this cache is to gain performance so that the ItemInformation objects don’t need to get parsed into an Item each time they are requested.  Item cache size can be set for each of the databases in the /databases/database section. <cacheSizes hint = "setting"> <data>20MB</data> <items>10MB</items> <paths>500KB</paths> <standardValues>500KB</standardValues> </cacheSizes >
  • 14. 14 Data Cache  Data cache contains items of the Sitecore class ItemInformation, which also is more or less the item data pulled from the database.. Data cache gets generated for each of the databases.  Data cache gets populated whenever it is requested. The data is pulled from the prefetch cache, if it present there; else it is pulled out of the database, put into the prefetch cache and into then the data cache.  The purpose of this cache is to minimize the amount of requests to the database. This is extremely important for performance, as requesting items from the database is rather expensive.  Data cache size can be set for each of the databases in the /databases/database section. <cacheSizes hint = "setting"> <data>20MB</data> <items>10MB</items> <paths>500KB</paths> <standardValues>500KB</standardValues> </cacheSizes >
  • 15. 15 Prefetch Cache  Prefetch cache contains items of the Sitecore class PrefetchData, which is more or less item data pulled out from the database. Prefetch cache gets generated for each of the databases.  Prefetch cache gets populated by pulling items out of the database at Sitecore startup.  The purpose of this cache is to trade longer startup times for faster load times at runtime.  The items which should be loaded at start up are specified in the config files specified in /app_config/prefecth folder. The items which are loaded are a combination of the items specified in the config file for the specific database, for instance master.config, and the common.config file. <?xml version="1.0" encoding="utf-8" ?> <configuration> <cacheSize>20MB</cacheSize> <template desc="reference">{EF295CD8-19D4-4E02-9438-94C926EF5284}</template> <template desc="menu item">{998B965E-6AB8-4568-810F-8101D60D0CC3}</template>
  • 16. 16 Clearing of Caches  HTML cache: The HTML is always cleared on publish. So whenever you publish even a single item the complete cache is cleared. This is due to the fact, that parts of the HTML can be built from multiple items, so the cache has no way of knowing if the item being published has influence on the presentation.  Item cache: The Item cache gets cleared for items once they are published or updated. If you publish an item which might influence other items, these items are cleared as well. For example if you publish standard values or a template, that clears more than a single item. The item cache is rebuild incrementally when the items are requested again.  Data cache: The data cache gets cleared for items once they are published or updated. It is rebuild incrementally when the items are requested again.  Prefetch cache: The Prefetch cache gets cleared in the same way as the item and data cache, but the items specified in the Prefetch config files are pre-fetched from the database again.
  • 18. 18 WHAT IS CDN? A content delivery network or content distribution network (CDN) is a large distributed system of servers deployed in multiple data centers across the Internet. The goal of a CDN is to serve content to end-users with high availability and high performance. CDNs serve a large fraction of the Internet content today, including web objects (text, graphics and scripts), downloadable objects (media files, software, documents), applications (e-commerce, portals), live streaming media, on-demand streaming media, and social networks. Some of the more known CDNs are Akamai, Amazon CloudFront, Cloudfare, Fastly, MaxCDN, Cachefly etc.
  • 19. 19 CDN CATEGORIES  PULL  Transfer Protocol: None  Pros: • Requires virtually no setup at your end: all you have to do, is rewrite the URLs to your files: replace your own domain name with the CDN’s domain name.  Cons: • No flexibility. It will just re-sync files based on the TTL set. • Results in redundant traffic because files are being pulled from the origin server more often than they actually change  PUSH  Transfer Protocol: FTP, SFTP, WebDAV, Amazon S3  Pros • Flexibility as you can decide when files are synced, how often and if any pre- processing should happen. • No redundant traffic  Cons • Requires a fair amount of work at your end to sync files to the CDN
  • 20. 20 CDN Caching and TTL (Time-To-Live) One of the most useful features to implement on a CDN-powered webpage is to define the “Time To Live” (TTL) for file types. Time-To-Live (TTL) is a mechanism to limit the lifetime of data in a network. Our Content Delivery Network (CDN) providers offer this configuration setting. This will tell our CDN servers how long to wait before checking for a changed/updated version of the file. When the time-to-live time has passed, a GET request for an object triggers an IMS (If-Modified-Since) request to the origin server.
  • 22. 22 What is Personalization? Personalization is the practice of dynamically tailoring your site based on individual users characteristics or preferences. A key feature of Sitecore is its ability to personalize content according to pre- defined sets of criteria, defined by content authors or marketers .
  • 23. 23 Making Personalization Work on CDN Cached Pages  Setup an Ajax Device in Sitecore that will return the Rendering component HTML based on the useAjax=true query string parameter and the component placeholder name that is passed dynamically.  Define an Ajax Layout that will be the default layout to be used for an Ajax Device. add an Ajax placeholder. @using Sitecore.Mvc @Html.Sitecore().Placeholder("ajax")
  • 24. 24 Making Personalization Work on CDN Cached Pages  Create an Ajax Controller to handle the Render action that will get triggered when an item is queried for Ajax Device and the placeholder name for the component is passed as a query string parameter. Render action will identify the rendering on the page that matches the placeholder parameter passed in the query string. It will then fetch the HTML for the same using the PipelineService to run the mvc.renderRendering pipeline. Create a Controller Rendering RenderAjax that will call the Render action of Ajax Controller. public ActionResult Render(string placeholder) { var html = string.Empty; foreach (var r in PageContext.Current.PageDefinition.Renderings.Where(r => r.Placeholder == placeholder)) { try { using (var stringWriter = new StringWriter()) { PipelineService.Get() .RunPipeline("mvc.renderRendering", new RenderRenderingArgs(r, stringWriter)); html += stringWriter.ToString(); } } catch (Exception ex) { Logger.Log(ex.Message, ExceptionCategory.Fatal); } } return Content(html); }
  • 25. 25 Making Personalization Work on CDN Cached Pages  Associate the default Ajax Layout and RenderAjax component with the Ajax Device by adding it on the standard values of the Base Page Templates.
  • 26. 26 Making Personalization Work on CDN Cached Pages  Create a View Rendering for the Ajax Container that will control the addition of “Personalized-Content” placeholder in the page edit or preview mode so that we can benefit from OOTB Sitecore personalization features in preview or page edit mode. In the normal mode it will add the container div with a unique class name, personalized-content, and the data attributes for the page item url and unique placeholder name. Include the JavaScript that will trigger the Ajax call for any div with the unique class name personalized- content by reading the data-item-name and data-placeholder-name data attributes. The Ajax url will be formed as below: @inherits WebViewPage @using Sitecore.Mvc @{ var str = "Personalized-Content" + Sitecore.Mvc.Presentation.RenderingContext.Current.Rendering.Parameters["Unique Identifier"]; if (Sitecore.Context.PageMode.IsPageEditor || Sitecore.Context.PageMode.IsPreview) { @Html.Sitecore().Placeholder(str) } else { var url = Request.Url.AbsolutePath; var placeholder = @Sitecore.Mvc.Presentation.RenderingContext.Current.Rendering.Placeholder + "/" + @str; var ajaxID = placeholder.Replace("/", string.Empty); <div class="personalized-content" id="@ajaxID" data-placeholder- name="@placeholder" data-item-name="@url" ></div>
  • 27. 27 Making Personalization Work on CDN Cached Pages  Add the Ajax Container View rendering before adding a personalized component. Ajax Container should be placed in the same placeholder as the personalized component. Thereafter, add the personalized component to the “personalized-content” placeholder added by the Ajax Container.  Add a separate Ajax Container for each personalized component added on the page.  In case multiple Personalized Components are added on the same placeholder then use the Rendering Parameter “Unique Identifier” to make the placeholder name unique by appending a numeric value after the personalized content
  • 28. 28 Making Personalization Work on CDN Cached Pages  Define a rule on the CDN servers not to cache any urls that contain the query string ?useAjax=true. Thus the output of the ajax urls will not get cached and the request will always come to the server. url = <<data-item-name>> + "?useAjax=true&placeholder=" + <<data-placeholder-name>>;
  • 29. © 2013 SAPIENT CORPORATION | CONFIDENTIAL Demo
  • 31. 31 Enabling Sitecore Analytics Session on CDN In order to access the Sitecore Analytics data for personalization rules that are based on user visit information it is important to instantiate the Sitecore Analytics session on CDN by dropping the Sitecore Analytics cookie in user’s browser. This can be achieved by adding a light weight ‘TrackExternal.aspx’ page in your web application just to instantiate the Sitecore Analytics session from CDN. This page will not have any code logic except a no-cache header. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TrackExternal.aspx.cs" Inherits=“sample.web.ui.website.TrackExternal" %> <%@ OutputCache Location="None" VaryByParam="none" %> Include a Pixel tracking code(beacon) as below in your base layout that will trigger a call to ‘TrackExternal.aspx’ page for every page request thus ensuring that the Analytics session is available on CDN as well. <img id="trackVisitor" src="@UriHtmlHelper.FormatAbsoluteUrl(Request.Url, "/TrackExternal.aspx")" alt="Tracking Image" height="1" width="1" style="border-style:none;display:none;" />
  • 32. © 2013 SAPIENT CORPORATION | CONFIDENTIAL Q&A
  • 33. © 2013 SAPIENT CORPORATION | CONFIDENTIAL THANK YOU

Editor's Notes

  1. But, let’s start talking a little bit about beliefs.