SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Organized  by  the  Community,  for  the  Community.
SINGLE  PAGE  APPLICATION  
WITH  REAL  TIME  UPDATES  
IN  SITECORE
Richard  Seal
Organized  by  the  Community,  for  the  Community.
OVERVIEW
• Introductions…
• Who  are  ATP?
• Why  a  Single  Page  Application?
• What  were  the  challenges?
• How  we  did  it?
• Real  Time  Updates  – Scoring  &  News  Articles
• LiveBlog Market  Place  Module
Organized  by  the  Community,  for  the  Community.
WHO  ARE  THE  ATP
• The  Association  of  Tennis  Professionals
– Governing  body  of  men’s  professional  tennis.
– Player  ranking  &  tournaments
– ATP  World  Tour  finals  – end  of  year  tournament
• Some  stats:
– Ave  9-­‐10  Million  visits  per  month
– Ave  30  -­‐40  Million  page  hits
– 20  content  editors,  worldwide
SUGCON  NORTH   AMERICA  2015 3
Organized  by  the  Community,  for  the  Community.
WHY  A  SINGLE  PAGE  APPLICATION?
SUGCON  NORTH   AMERICA  2015 4
Organized  by  the  Community,  for  the  Community.
• Client  Driven
• Wanted  a  “USA  Today”  feel  to  the  site
• More  like  an  integrated  application  and  not  a  bunch  
of  disparate  web  pages.
• Sports  Based
– Users  should  be  less  than  a  click  away  from  live  scores  at  
all  times
– 2-­‐3  clicks  away  from  stats  too!
• Bandwidth  benefits
– User  does  not  have  to  download  the  “scaffolding”  of  the  
page  every  time.
WHY  A  SINGLE  PAGE  APPLICATION?
SUGCON  NORTH   AMERICA  2015 5
Organized  by  the  Community,  for  the  Community.
WHAT  CHALLENGES?
• Standard  SPA
– Server  Side:  API  Framework  to  pull  data.  No  presentation
– Client  Site:  JavaScript  application/framework  to  get  the  
data  and  present  it.
• Angular,  Backbone,  Ember  etc…
• We  could  do  that  in  Sitecore…  But:
– No  page  editing
– No  personalization
– No  caching  on  renderings
– Have  to  use  ItemWebApior  build  full  custom  Api to  get  
data.
SUGCON  NORTH   AMERICA  2015 6
Organized  by  the  Community,  for  the  Community.
CHALLENGES  CONT…?
• Other  cons:
– Page  rendering  speed.  Complex  designs  on  older  
machines,  mobile  devices  ==  Bad  user  experience.
– Not  great  for  SEO  without  a  custom  solution  (at  the  time  
of  building)
– Client  needed  to  support  older  versions  of  IE  that  did  not  
support  push  state.  So  needed  to  be  able  to  fall  back  to  a  
“classic”  style  website  in  those  situations
SUGCON  NORTH   AMERICA  2015 7
Organized  by  the  Community,  for  the  Community.
HOW  WE  DID  IT!
• Don’t  re-­‐invent  the  wheel.
– Backbone  was  our  choice
• Light  weight
• Simple  to  use
• Great  community  support
• Render  the  Html  server  side
– Standard  Sitecore  MVC  Renderings
– Personalization,  Datasources
– Sitecore  rendering  cache
– Can  use  Sitecore  Field  Renderers  so  the  Page  Editor  still  
works
SUGCON  NORTH   AMERICA  2015 8
Organized  by  the  Community,  for  the  Community.
BACKBONE.JS
SUGCON  NORTH   AMERICA  2015 9
Http  Request Router
ViewDOM
Collection
/Models
Data  
Source
Sitecore  
Presentation
Organized  by  the  Community,  for  the  Community.
BACKBONE  SETUP
• Each  page  needs  2  views
– Standard,  all  headers  and  footers  etc…
– Backbone/Ajax,  just  the  content  that  changes  from  page  
to  page
• Setup  new  Device  “Ajax”
– Simple  query  string
– Empty  layout  for  ajax  presentation  with  a  single  
placeholder
SUGCON  NORTH   AMERICA  2015 10
?ajax=true
Organized  by  the  Community,  for  the  Community.
BACKBONE  SETUP  CONT…
• Simple  catch  all  route  in  backbone
– Catches  all  requests
– Can  call  xDB/Google  analytics  or  other  package  here
– Loads  default  Sitecore  view  and  tells  it  to  render
SUGCON  NORTH   AMERICA  2015 11
Organized  by  the  Community,  for  the  Community.
BACKBONE  SETUP  CONT…
• Main  application  view
– Kicks  off  page  transition  animations
– Calls  render  on  the  Sitecore  view
SUGCON  NORTH   AMERICA  2015 12
Organized  by  the  Community,  for  the  Community.
BACKBONE  SETUP  CONT…
• Sitecore  View
SUGCON  NORTH   AMERICA  2015 13
• Builds  the  url from  the  request  and  appends  ajax=true
• Keeps  any  existing  query  string  parameters
• Aborts  any  previous  Ajax  request
• Kicks  off  a  new  Ajax  request  for  the  page
• Calls  the  method  to  complete  page  transition  animations
Organized  by  the  Community,  for  the  Community.
SIMPLIFYING  THE  PRESENTATION
• Each  page  requires  2  sets  of  presentation
– Default  Device
– Ajax  Device
• Don’t  want  to  force  editors  to  build  pages  twice
• New  Template
– Add  to  the  Device template  inheritance:
SUGCON  NORTH   AMERICA  2015 14
Organized  by  the  Community,  for  the  Community.
SIMPLIFYING  THE  PRESENTATION
• Set  the  Ajax  Device  to  a  Presentation  Device.  
SUGCON  NORTH   AMERICA  2015 15
Organized  by  the  Community,  for  the  Community.
SIMPLIFYING  THE  PRESENTATION
• Set  the  Ajax  Device  to  a  Presentation  Device.
• New  pipeline  processor:
– PerformRenderingForSinglePageApplication
SUGCON  NORTH   AMERICA  2015 16
Organized  by  the  Community,  for  the  Community.SUGCON  NORTH   AMERICA  2015 17
Organized  by  the  Community,  for  the  Community.
SIGNALR –REALTIME SCORES  &  NEWS  
UPDATES
SUGCON  NORTH   AMERICA  2015 18
Header/Menu
Scores/
News
Footer
Handled  by  Backbone  View
Organized  by  the  Community,  for  the  Community.
SIGNALR –REALTIME SCORES  &  NEWS  
UPDATES
• SignalR to  keep  News  &  Scores  updated
• Separate  SignalR application
– Scale  out  /  host  in  the  Cloud  (Azure)
• Scores  update  service
– Aggregates  scores  data  with  Sitecore  data
– Pushes  score  updates  through  the  SignalRapplication
• News  Publish  Pipeline
– Pushes  new  articles  through  SignalRbased  on  the  last  
article  published
SUGCON  NORTH   AMERICA  2015 19
Organized  by  the  Community,  for  the  Community.SUGCON  NORTH   AMERICA  2015 20
Player,  Tournament  &  Scores  Data
Sitecore  DB
Live  Scores  
Update  Service
Web  Application
SignalR
Application
End  User
Historical  Scores  
Service
Publish  Pipeline
Organized  by  the  Community,  for  the  Community.
NEWS  PUBLISH  PIPELINE
• The  latest  article  published  gets  stored  in  an  SQL  
Table
• On  publish,  if  the  item  is  a  news  article,  we  check  
the  date  against  the  last  one  published
• If  its  newer,  it  is  queued  for  broadcast  via  the  
SignalR application
• Each  time  an  article  is  broadcast,  the  last  article  Id  
gets  updated  in  the  table.
SUGCON  NORTH   AMERICA  2015 21
Organized  by  the  Community,  for  the  Community.
NEWS  PUBLISH  PIPELINE
• On  publish:end,  the  queue  is  then  passed  to  the  
SignalR application  to  broadcast  out  to  all  
subscribers
SUGCON  NORTH   AMERICA  2015 22
Organized  by  the  Community,  for  the  Community.
SITECORE  LIVE  BLOG  MODULE
• Out  of  this  came  the  Live  Blog  module
• The  blog  consists  of  a  Live  Blog  data  template
– Datasource  for  the  main  blog
– Each  entry  is  a  Sitecore  Item
• Can  use  as  a  Datasource  if  you  wanted  to  “quote”  the  blog  
elsewhere  on  the  site
• A  custom  SPEAK  editor  for  adding  entries  and  
viewing  existing  entries
• A  new  Controller  rendering  for  displaying  the  Blog
– Options  for  using  require.js  or  other  way  of  including  the  
JavaScript,  or  the  rendering  will  include  the  files  needed.
SUGCON  NORTH   AMERICA  2015 23
Organized  by  the  Community,  for  the  Community.
SITECORE  LIVE  BLOG  MODULE
• SignalR runs  in  the  Sitecore  Application  Pool
– Pipelines  to  get  it  running:
SUGCON  NORTH   AMERICA  2015 24
Organized  by  the  Community,  for  the  Community.
SITECORE  LIVE  BLOG  MODULE
• SPEAK  Editor
– Slack  style  commands
– Can  easily  add  new  commands  by  implementing  
ILiveBlogCommand
– Commands  defined  in  Sitecore
• Ships  With
– Markdown:  default  command.
– Twitter:  Embeds  and  tweet
– More  coming!
– Surprise  one  for  Slack  members….
SUGCON  NORTH   AMERICA  2015 25
Organized  by  the  Community,  for  the  Community.
LIVE  BLOG
SUGCON  NORTH   AMERICA  2015 26
Live  Blog  Editor
HUB
Command  Parser
MD Tweet Other
Live  Blog  Rendering
Sitecore
Organized  by  the  Community,  for  the  Community.SUGCON  NORTH  AMERICA  2015
SM
27SUGCON  NORTH   AMERICA  2015
THANK  YOU  TO  OUR  SPONSORS!

Weitere ähnliche Inhalte

Ähnlich wie Richard Seal - Single Page Application - SUGCON

Dean Thrasher - Beyond CRM Integration: Salesforce As Content Gatekeeper on S...
Dean Thrasher - Beyond CRM Integration: Salesforce As Content Gatekeeper on S...Dean Thrasher - Beyond CRM Integration: Salesforce As Content Gatekeeper on S...
Dean Thrasher - Beyond CRM Integration: Salesforce As Content Gatekeeper on S...SUGCON
 
Ben Sterrett - Sitecore Wars IV: A new way to deliver media - SUGCON
Ben Sterrett - Sitecore Wars IV: A new way to deliver media - SUGCONBen Sterrett - Sitecore Wars IV: A new way to deliver media - SUGCON
Ben Sterrett - Sitecore Wars IV: A new way to deliver media - SUGCONSUGCON
 
Sitecore Commerce Catalog Management at Scale
Sitecore Commerce Catalog Management at ScaleSitecore Commerce Catalog Management at Scale
Sitecore Commerce Catalog Management at ScaleDean Thrasher
 
Professional Services Insights into Improving Sitecore XP
Professional Services Insights into Improving Sitecore XPProfessional Services Insights into Improving Sitecore XP
Professional Services Insights into Improving Sitecore XPSeanHolmesby1
 
Making ultra fast ultra scalable solutions with sitecore 8
Making ultra fast ultra scalable solutions with sitecore 8Making ultra fast ultra scalable solutions with sitecore 8
Making ultra fast ultra scalable solutions with sitecore 8Mark van Aalst
 
High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013C5 Insight
 
Web analyticspres -am-long
Web analyticspres -am-longWeb analyticspres -am-long
Web analyticspres -am-longAnna Long
 
Performance and Scalability Art of Isomorphic React Applications
Performance and Scalability Art of Isomorphic React ApplicationsPerformance and Scalability Art of Isomorphic React Applications
Performance and Scalability Art of Isomorphic React ApplicationsDenis Izmaylov
 
Blazing fast web experience at your fingertips with Experience Edge, JSS for ...
Blazing fast web experience at your fingertips with Experience Edge, JSS for ...Blazing fast web experience at your fingertips with Experience Edge, JSS for ...
Blazing fast web experience at your fingertips with Experience Edge, JSS for ...VarunNehra
 
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...Lucas Jellema
 
Modularity Matters: Bringing Atomic Design to Sitecore Development
Modularity Matters: Bringing Atomic Design to Sitecore DevelopmentModularity Matters: Bringing Atomic Design to Sitecore Development
Modularity Matters: Bringing Atomic Design to Sitecore DevelopmentSue Klumpp
 
SUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - Altudo
SUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - AltudoSUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - Altudo
SUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - Altudodharmeshharji
 
Day One Keynote
Day One KeynoteDay One Keynote
Day One Keynotegoodfriday
 
Day One Keynote
Day One KeynoteDay One Keynote
Day One Keynotegoodfriday
 
Using js link and display templates
Using js link and display templatesUsing js link and display templates
Using js link and display templatesPaul Hunt
 
SPCA2013 - Upgrade to SharePoint 2013 - A Cautioned Approach
SPCA2013 - Upgrade to SharePoint 2013 - A Cautioned ApproachSPCA2013 - Upgrade to SharePoint 2013 - A Cautioned Approach
SPCA2013 - Upgrade to SharePoint 2013 - A Cautioned ApproachNCCOMMS
 

Ähnlich wie Richard Seal - Single Page Application - SUGCON (20)

Dean Thrasher - Beyond CRM Integration: Salesforce As Content Gatekeeper on S...
Dean Thrasher - Beyond CRM Integration: Salesforce As Content Gatekeeper on S...Dean Thrasher - Beyond CRM Integration: Salesforce As Content Gatekeeper on S...
Dean Thrasher - Beyond CRM Integration: Salesforce As Content Gatekeeper on S...
 
BikersPlanet.pptx
BikersPlanet.pptxBikersPlanet.pptx
BikersPlanet.pptx
 
Ben Sterrett - Sitecore Wars IV: A new way to deliver media - SUGCON
Ben Sterrett - Sitecore Wars IV: A new way to deliver media - SUGCONBen Sterrett - Sitecore Wars IV: A new way to deliver media - SUGCON
Ben Sterrett - Sitecore Wars IV: A new way to deliver media - SUGCON
 
Sitecore Commerce Catalog Management at Scale
Sitecore Commerce Catalog Management at ScaleSitecore Commerce Catalog Management at Scale
Sitecore Commerce Catalog Management at Scale
 
Professional Services Insights into Improving Sitecore XP
Professional Services Insights into Improving Sitecore XPProfessional Services Insights into Improving Sitecore XP
Professional Services Insights into Improving Sitecore XP
 
Making ultra fast ultra scalable solutions with sitecore 8
Making ultra fast ultra scalable solutions with sitecore 8Making ultra fast ultra scalable solutions with sitecore 8
Making ultra fast ultra scalable solutions with sitecore 8
 
High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013
 
Sug bangalore - headless jss
Sug bangalore - headless jssSug bangalore - headless jss
Sug bangalore - headless jss
 
Web analyticspres -am-long
Web analyticspres -am-longWeb analyticspres -am-long
Web analyticspres -am-long
 
Performance and Scalability Art of Isomorphic React Applications
Performance and Scalability Art of Isomorphic React ApplicationsPerformance and Scalability Art of Isomorphic React Applications
Performance and Scalability Art of Isomorphic React Applications
 
Blazing fast web experience at your fingertips with Experience Edge, JSS for ...
Blazing fast web experience at your fingertips with Experience Edge, JSS for ...Blazing fast web experience at your fingertips with Experience Edge, JSS for ...
Blazing fast web experience at your fingertips with Experience Edge, JSS for ...
 
E-Auction
E-AuctionE-Auction
E-Auction
 
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
 
Modularity Matters: Bringing Atomic Design to Sitecore Development
Modularity Matters: Bringing Atomic Design to Sitecore DevelopmentModularity Matters: Bringing Atomic Design to Sitecore Development
Modularity Matters: Bringing Atomic Design to Sitecore Development
 
SUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - Altudo
SUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - AltudoSUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - Altudo
SUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - Altudo
 
Team vineyard2
Team vineyard2Team vineyard2
Team vineyard2
 
Day One Keynote
Day One KeynoteDay One Keynote
Day One Keynote
 
Day One Keynote
Day One KeynoteDay One Keynote
Day One Keynote
 
Using js link and display templates
Using js link and display templatesUsing js link and display templates
Using js link and display templates
 
SPCA2013 - Upgrade to SharePoint 2013 - A Cautioned Approach
SPCA2013 - Upgrade to SharePoint 2013 - A Cautioned ApproachSPCA2013 - Upgrade to SharePoint 2013 - A Cautioned Approach
SPCA2013 - Upgrade to SharePoint 2013 - A Cautioned Approach
 

Mehr von SUGCON

Kam Figy - Serialization 2.0 with Unicorn and Rainbow - SUGCON
Kam Figy - Serialization 2.0 with Unicorn and Rainbow - SUGCONKam Figy - Serialization 2.0 with Unicorn and Rainbow - SUGCON
Kam Figy - Serialization 2.0 with Unicorn and Rainbow - SUGCONSUGCON
 
Darren Guarnaccia - The experience economy and customer outcomes - SUGCON
Darren Guarnaccia - The experience economy and customer outcomes - SUGCONDarren Guarnaccia - The experience economy and customer outcomes - SUGCON
Darren Guarnaccia - The experience economy and customer outcomes - SUGCONSUGCON
 
Sean Rusinko - What does full-on personalization look like and how do I get t...
Sean Rusinko - What does full-on personalization look like and how do I get t...Sean Rusinko - What does full-on personalization look like and how do I get t...
Sean Rusinko - What does full-on personalization look like and how do I get t...SUGCON
 
Pieter Brinkman - My first mobile experience From mobile no no, to mobile go ...
Pieter Brinkman - My first mobile experienceFrom mobile no no, to mobile go ...Pieter Brinkman - My first mobile experienceFrom mobile no no, to mobile go ...
Pieter Brinkman - My first mobile experience From mobile no no, to mobile go ...SUGCON
 
Pavel Veller - JavaScript overload - SUGCON
Pavel Veller - JavaScript overload - SUGCONPavel Veller - JavaScript overload - SUGCON
Pavel Veller - JavaScript overload - SUGCONSUGCON
 
Martin English - Extending the experience with CRM - SUGCON
Martin English - Extending the experience with CRM - SUGCONMartin English - Extending the experience with CRM - SUGCON
Martin English - Extending the experience with CRM - SUGCONSUGCON
 
Kevin Keogh - The Challenges of Modern digital Government - SUGCON
Kevin Keogh - The Challenges of Modern digital Government - SUGCONKevin Keogh - The Challenges of Modern digital Government - SUGCON
Kevin Keogh - The Challenges of Modern digital Government - SUGCONSUGCON
 
John Ours - Sitecore in the Digital Front Office –Turning Data into Action -...
John Ours - Sitecore in the Digital Front Office  –Turning Data into Action -...John Ours - Sitecore in the Digital Front Office  –Turning Data into Action -...
John Ours - Sitecore in the Digital Front Office –Turning Data into Action -...SUGCON
 
Jason St-Cyr - Continuous integration - SUGCON
Jason St-Cyr - Continuous integration - SUGCONJason St-Cyr - Continuous integration - SUGCON
Jason St-Cyr - Continuous integration - SUGCONSUGCON
 
Faulkner IV Frederick - Going Beyond Your Own Domain: How to Effectively Use ...
Faulkner IV Frederick - Going Beyond Your Own Domain: How to Effectively Use ...Faulkner IV Frederick - Going Beyond Your Own Domain: How to Effectively Use ...
Faulkner IV Frederick - Going Beyond Your Own Domain: How to Effectively Use ...SUGCON
 
Brian Beckham - Atomic Design - Modularity Matters: Bringing Atomic Design to...
Brian Beckham - Atomic Design - Modularity Matters: Bringing Atomic Design to...Brian Beckham - Atomic Design - Modularity Matters: Bringing Atomic Design to...
Brian Beckham - Atomic Design - Modularity Matters: Bringing Atomic Design to...SUGCON
 

Mehr von SUGCON (11)

Kam Figy - Serialization 2.0 with Unicorn and Rainbow - SUGCON
Kam Figy - Serialization 2.0 with Unicorn and Rainbow - SUGCONKam Figy - Serialization 2.0 with Unicorn and Rainbow - SUGCON
Kam Figy - Serialization 2.0 with Unicorn and Rainbow - SUGCON
 
Darren Guarnaccia - The experience economy and customer outcomes - SUGCON
Darren Guarnaccia - The experience economy and customer outcomes - SUGCONDarren Guarnaccia - The experience economy and customer outcomes - SUGCON
Darren Guarnaccia - The experience economy and customer outcomes - SUGCON
 
Sean Rusinko - What does full-on personalization look like and how do I get t...
Sean Rusinko - What does full-on personalization look like and how do I get t...Sean Rusinko - What does full-on personalization look like and how do I get t...
Sean Rusinko - What does full-on personalization look like and how do I get t...
 
Pieter Brinkman - My first mobile experience From mobile no no, to mobile go ...
Pieter Brinkman - My first mobile experienceFrom mobile no no, to mobile go ...Pieter Brinkman - My first mobile experienceFrom mobile no no, to mobile go ...
Pieter Brinkman - My first mobile experience From mobile no no, to mobile go ...
 
Pavel Veller - JavaScript overload - SUGCON
Pavel Veller - JavaScript overload - SUGCONPavel Veller - JavaScript overload - SUGCON
Pavel Veller - JavaScript overload - SUGCON
 
Martin English - Extending the experience with CRM - SUGCON
Martin English - Extending the experience with CRM - SUGCONMartin English - Extending the experience with CRM - SUGCON
Martin English - Extending the experience with CRM - SUGCON
 
Kevin Keogh - The Challenges of Modern digital Government - SUGCON
Kevin Keogh - The Challenges of Modern digital Government - SUGCONKevin Keogh - The Challenges of Modern digital Government - SUGCON
Kevin Keogh - The Challenges of Modern digital Government - SUGCON
 
John Ours - Sitecore in the Digital Front Office –Turning Data into Action -...
John Ours - Sitecore in the Digital Front Office  –Turning Data into Action -...John Ours - Sitecore in the Digital Front Office  –Turning Data into Action -...
John Ours - Sitecore in the Digital Front Office –Turning Data into Action -...
 
Jason St-Cyr - Continuous integration - SUGCON
Jason St-Cyr - Continuous integration - SUGCONJason St-Cyr - Continuous integration - SUGCON
Jason St-Cyr - Continuous integration - SUGCON
 
Faulkner IV Frederick - Going Beyond Your Own Domain: How to Effectively Use ...
Faulkner IV Frederick - Going Beyond Your Own Domain: How to Effectively Use ...Faulkner IV Frederick - Going Beyond Your Own Domain: How to Effectively Use ...
Faulkner IV Frederick - Going Beyond Your Own Domain: How to Effectively Use ...
 
Brian Beckham - Atomic Design - Modularity Matters: Bringing Atomic Design to...
Brian Beckham - Atomic Design - Modularity Matters: Bringing Atomic Design to...Brian Beckham - Atomic Design - Modularity Matters: Bringing Atomic Design to...
Brian Beckham - Atomic Design - Modularity Matters: Bringing Atomic Design to...
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Kürzlich hochgeladen (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Richard Seal - Single Page Application - SUGCON

  • 1. Organized  by  the  Community,  for  the  Community. SINGLE  PAGE  APPLICATION   WITH  REAL  TIME  UPDATES   IN  SITECORE Richard  Seal
  • 2. Organized  by  the  Community,  for  the  Community. OVERVIEW • Introductions… • Who  are  ATP? • Why  a  Single  Page  Application? • What  were  the  challenges? • How  we  did  it? • Real  Time  Updates  – Scoring  &  News  Articles • LiveBlog Market  Place  Module
  • 3. Organized  by  the  Community,  for  the  Community. WHO  ARE  THE  ATP • The  Association  of  Tennis  Professionals – Governing  body  of  men’s  professional  tennis. – Player  ranking  &  tournaments – ATP  World  Tour  finals  – end  of  year  tournament • Some  stats: – Ave  9-­‐10  Million  visits  per  month – Ave  30  -­‐40  Million  page  hits – 20  content  editors,  worldwide SUGCON  NORTH   AMERICA  2015 3
  • 4. Organized  by  the  Community,  for  the  Community. WHY  A  SINGLE  PAGE  APPLICATION? SUGCON  NORTH   AMERICA  2015 4
  • 5. Organized  by  the  Community,  for  the  Community. • Client  Driven • Wanted  a  “USA  Today”  feel  to  the  site • More  like  an  integrated  application  and  not  a  bunch   of  disparate  web  pages. • Sports  Based – Users  should  be  less  than  a  click  away  from  live  scores  at   all  times – 2-­‐3  clicks  away  from  stats  too! • Bandwidth  benefits – User  does  not  have  to  download  the  “scaffolding”  of  the   page  every  time. WHY  A  SINGLE  PAGE  APPLICATION? SUGCON  NORTH   AMERICA  2015 5
  • 6. Organized  by  the  Community,  for  the  Community. WHAT  CHALLENGES? • Standard  SPA – Server  Side:  API  Framework  to  pull  data.  No  presentation – Client  Site:  JavaScript  application/framework  to  get  the   data  and  present  it. • Angular,  Backbone,  Ember  etc… • We  could  do  that  in  Sitecore…  But: – No  page  editing – No  personalization – No  caching  on  renderings – Have  to  use  ItemWebApior  build  full  custom  Api to  get   data. SUGCON  NORTH   AMERICA  2015 6
  • 7. Organized  by  the  Community,  for  the  Community. CHALLENGES  CONT…? • Other  cons: – Page  rendering  speed.  Complex  designs  on  older   machines,  mobile  devices  ==  Bad  user  experience. – Not  great  for  SEO  without  a  custom  solution  (at  the  time   of  building) – Client  needed  to  support  older  versions  of  IE  that  did  not   support  push  state.  So  needed  to  be  able  to  fall  back  to  a   “classic”  style  website  in  those  situations SUGCON  NORTH   AMERICA  2015 7
  • 8. Organized  by  the  Community,  for  the  Community. HOW  WE  DID  IT! • Don’t  re-­‐invent  the  wheel. – Backbone  was  our  choice • Light  weight • Simple  to  use • Great  community  support • Render  the  Html  server  side – Standard  Sitecore  MVC  Renderings – Personalization,  Datasources – Sitecore  rendering  cache – Can  use  Sitecore  Field  Renderers  so  the  Page  Editor  still   works SUGCON  NORTH   AMERICA  2015 8
  • 9. Organized  by  the  Community,  for  the  Community. BACKBONE.JS SUGCON  NORTH   AMERICA  2015 9 Http  Request Router ViewDOM Collection /Models Data   Source Sitecore   Presentation
  • 10. Organized  by  the  Community,  for  the  Community. BACKBONE  SETUP • Each  page  needs  2  views – Standard,  all  headers  and  footers  etc… – Backbone/Ajax,  just  the  content  that  changes  from  page   to  page • Setup  new  Device  “Ajax” – Simple  query  string – Empty  layout  for  ajax  presentation  with  a  single   placeholder SUGCON  NORTH   AMERICA  2015 10 ?ajax=true
  • 11. Organized  by  the  Community,  for  the  Community. BACKBONE  SETUP  CONT… • Simple  catch  all  route  in  backbone – Catches  all  requests – Can  call  xDB/Google  analytics  or  other  package  here – Loads  default  Sitecore  view  and  tells  it  to  render SUGCON  NORTH   AMERICA  2015 11
  • 12. Organized  by  the  Community,  for  the  Community. BACKBONE  SETUP  CONT… • Main  application  view – Kicks  off  page  transition  animations – Calls  render  on  the  Sitecore  view SUGCON  NORTH   AMERICA  2015 12
  • 13. Organized  by  the  Community,  for  the  Community. BACKBONE  SETUP  CONT… • Sitecore  View SUGCON  NORTH   AMERICA  2015 13 • Builds  the  url from  the  request  and  appends  ajax=true • Keeps  any  existing  query  string  parameters • Aborts  any  previous  Ajax  request • Kicks  off  a  new  Ajax  request  for  the  page • Calls  the  method  to  complete  page  transition  animations
  • 14. Organized  by  the  Community,  for  the  Community. SIMPLIFYING  THE  PRESENTATION • Each  page  requires  2  sets  of  presentation – Default  Device – Ajax  Device • Don’t  want  to  force  editors  to  build  pages  twice • New  Template – Add  to  the  Device template  inheritance: SUGCON  NORTH   AMERICA  2015 14
  • 15. Organized  by  the  Community,  for  the  Community. SIMPLIFYING  THE  PRESENTATION • Set  the  Ajax  Device  to  a  Presentation  Device.   SUGCON  NORTH   AMERICA  2015 15
  • 16. Organized  by  the  Community,  for  the  Community. SIMPLIFYING  THE  PRESENTATION • Set  the  Ajax  Device  to  a  Presentation  Device. • New  pipeline  processor: – PerformRenderingForSinglePageApplication SUGCON  NORTH   AMERICA  2015 16
  • 17. Organized  by  the  Community,  for  the  Community.SUGCON  NORTH   AMERICA  2015 17
  • 18. Organized  by  the  Community,  for  the  Community. SIGNALR –REALTIME SCORES  &  NEWS   UPDATES SUGCON  NORTH   AMERICA  2015 18 Header/Menu Scores/ News Footer Handled  by  Backbone  View
  • 19. Organized  by  the  Community,  for  the  Community. SIGNALR –REALTIME SCORES  &  NEWS   UPDATES • SignalR to  keep  News  &  Scores  updated • Separate  SignalR application – Scale  out  /  host  in  the  Cloud  (Azure) • Scores  update  service – Aggregates  scores  data  with  Sitecore  data – Pushes  score  updates  through  the  SignalRapplication • News  Publish  Pipeline – Pushes  new  articles  through  SignalRbased  on  the  last   article  published SUGCON  NORTH   AMERICA  2015 19
  • 20. Organized  by  the  Community,  for  the  Community.SUGCON  NORTH   AMERICA  2015 20 Player,  Tournament  &  Scores  Data Sitecore  DB Live  Scores   Update  Service Web  Application SignalR Application End  User Historical  Scores   Service Publish  Pipeline
  • 21. Organized  by  the  Community,  for  the  Community. NEWS  PUBLISH  PIPELINE • The  latest  article  published  gets  stored  in  an  SQL   Table • On  publish,  if  the  item  is  a  news  article,  we  check   the  date  against  the  last  one  published • If  its  newer,  it  is  queued  for  broadcast  via  the   SignalR application • Each  time  an  article  is  broadcast,  the  last  article  Id   gets  updated  in  the  table. SUGCON  NORTH   AMERICA  2015 21
  • 22. Organized  by  the  Community,  for  the  Community. NEWS  PUBLISH  PIPELINE • On  publish:end,  the  queue  is  then  passed  to  the   SignalR application  to  broadcast  out  to  all   subscribers SUGCON  NORTH   AMERICA  2015 22
  • 23. Organized  by  the  Community,  for  the  Community. SITECORE  LIVE  BLOG  MODULE • Out  of  this  came  the  Live  Blog  module • The  blog  consists  of  a  Live  Blog  data  template – Datasource  for  the  main  blog – Each  entry  is  a  Sitecore  Item • Can  use  as  a  Datasource  if  you  wanted  to  “quote”  the  blog   elsewhere  on  the  site • A  custom  SPEAK  editor  for  adding  entries  and   viewing  existing  entries • A  new  Controller  rendering  for  displaying  the  Blog – Options  for  using  require.js  or  other  way  of  including  the   JavaScript,  or  the  rendering  will  include  the  files  needed. SUGCON  NORTH   AMERICA  2015 23
  • 24. Organized  by  the  Community,  for  the  Community. SITECORE  LIVE  BLOG  MODULE • SignalR runs  in  the  Sitecore  Application  Pool – Pipelines  to  get  it  running: SUGCON  NORTH   AMERICA  2015 24
  • 25. Organized  by  the  Community,  for  the  Community. SITECORE  LIVE  BLOG  MODULE • SPEAK  Editor – Slack  style  commands – Can  easily  add  new  commands  by  implementing   ILiveBlogCommand – Commands  defined  in  Sitecore • Ships  With – Markdown:  default  command. – Twitter:  Embeds  and  tweet – More  coming! – Surprise  one  for  Slack  members…. SUGCON  NORTH   AMERICA  2015 25
  • 26. Organized  by  the  Community,  for  the  Community. LIVE  BLOG SUGCON  NORTH   AMERICA  2015 26 Live  Blog  Editor HUB Command  Parser MD Tweet Other Live  Blog  Rendering Sitecore
  • 27. Organized  by  the  Community,  for  the  Community.SUGCON  NORTH  AMERICA  2015 SM 27SUGCON  NORTH   AMERICA  2015 THANK  YOU  TO  OUR  SPONSORS!