SlideShare a Scribd company logo
Content Sharing for Fun and Profit
AWhite Label* Case Study
CONTENT SHARING
What to expect
A case study review/interview:
 Concepts
 Client requirements
 Site architecture and design issues
 Macros and code
 Performance and other issues
 Demonstration
CONTENT SHARING
Owner, Percipient Studios
Community Evangelist
UmbracoTrainer
Forum “umbracoholic”
My Packages
XSLTsearch
ImageGen
PS PayPal
ContentSharing
Jason Jevack, BuildIQ
Web Services Manager
CONTENT SHARING
Your name?
Your “job”?
CONTENT SHARING
The impetus
 BuildIQ has a lot of websites and content,
but a small team of content developers
 Jason is a big proponent of:
• never entering the same data twice
• separating content from its presentation
• planning ahead
• believing that crazy ideas often work
 Content Sharing is the result of a
“crazy idea”
CONTENT SHARING
The challenge
Stage One
 Centralize common pages and share the
data across five umbraco sites
 Sites were not in a common umbraco
installation
 Some shared content contained macros
• “About Us” page included a macro to display a
list of employees with photos, for instance
CONTENT SHARING
Solution options
Umbraco provides many options
 Content Picker
 RenderTemplate()
 AltTemplate
 None of these met all our needs
CONTENT SHARING
A new solution
Our content sharing solution must:
 Return full XML node
 Access remote sites
 Render macros
 Work in templates as well as in macros
 Provide working links and images
 Enable local value overrides
 Perform quickly
 Be easy to install and use
CONTENT SHARING
How it works
1. Visitor requests a page
2. Macro calls shared content template/macro
3. Node returned with macros rendered
4. URLs and images normalized
5. Page sent to visitor
Sharing siteDisplaying site
GetSharedContent
macro
ShareContent
template
1
2
3
4
5
CONTENT SHARING
The Results
 Shared a few pages across many sites
 About Us, Privacy Policy, etc.
 Content Sharing worked well
 Easy to use
 Centralized maintenance
 Good performance
 But…
CONTENT SHARING
The challenge
StageTwo
 White Label project
• A product or service produced by one company
that other companies rebrand to make it appear
as if they made it
 Share an entire site and complex node tree
 Customize output
 Embed in existing site markup
 Performance is critical
• 50,000 hits per hour, peak
CONTENT SHARING
The impetus
 Increase profit by reusing existing content
• Make it once, repackage many times
 Drive traffic and ad revenue
 Improve brand recognition
 Centralize content development and
maintenance
CONTENT SHARING
Besides…
 This is just more of the same old thing!
 Right?!?
CONTENT SHARING
Not exactly
CONTENT SHARING
Architecture
CONTENT SHARING
Architecture
Object Map Display SiteSharing Site
CONTENT SHARING
Architecture
Display Site
Sharing Site
CONTENT SHARING
Architecture
Display Site
Sharing Site
CONTENT SHARING
Challenges
 Node structure of sharing site is
different than the displaying site
 Content Sharing code extended to return a
node tree fragment
 Macros used to mash sharing content into
appropriate displaying content
 URLs only available for “real” nodes
 Use a crawling search engine
CONTENT SHARING
Challenges
 ImageGen Professional enhanced
 Resize images hosted remotely
 HTML/CSS challenges
 Easily incorporateWhite Label’s code
updates over time
 Don’t interfere with existing functionality
 Quirks mode, no consistency in doctype
 IE6 support
 Large “payload” to website visitors
CONTENT SHARING
Dell PowerEdge 2950
Dual Core Xeon @ 2GHz
2048MB
Windows 2003
SQL Server 2005 Express
Performance
 HGTVpro.com reaches 50,000 hits/hr.
 Load testing
 Macro caching
 Maximum browser caching or all items
 DC.Web.HttpCompress
 Combine and compress CSS, JS and HTML
 Not currently used on the site
CONTENT SHARING
Enough talk
I want to see it!
 First the sharing site
 Then the displaying site
 …and more if there is time
CONTENT SHARING
Our content sharing package:
 Returns full XML node or node tree
 Accesses remote sites
 Renders macros
 Can be used in templates and macros
 Provides working links and images
 Enables local value overrides
 Performs quickly
 Is easy to install and use
To Do List
Create remote
content picker control
to replace textfield
for remote node id
Provide customized xml
for clients to use directly
Summary

More Related Content

What's hot

XCC Self Study Guide
XCC Self Study GuideXCC Self Study Guide
XCC Self Study Guide
TIMETOACT GROUP
 
A Look at New Features in DNN 7.3
A Look at New Features in DNN 7.3A Look at New Features in DNN 7.3
A Look at New Features in DNN 7.3
DNN
 
Beginning WordPress
Beginning WordPressBeginning WordPress
Beginning WordPress
Digital Strategy Works LLC
 
DotNetNuke
DotNetNukeDotNetNuke
DotNetNuke
Ambati Sreedhar
 
3 lets look at the core capabilities
3   lets look at the core capabilities3   lets look at the core capabilities
3 lets look at the core capabilities
Alan Hamilton
 
Getting into WordPress
Getting into WordPressGetting into WordPress
Getting into WordPress
Clare Parkinson
 
Responsive Web Design and SharePoint
Responsive Web Design and SharePointResponsive Web Design and SharePoint
Responsive Web Design and SharePoint
Stefan Bauer
 
Chris O'Brien - Ignite 2019 announcements and selected roadmaps
Chris O'Brien - Ignite 2019 announcements and selected roadmapsChris O'Brien - Ignite 2019 announcements and selected roadmaps
Chris O'Brien - Ignite 2019 announcements and selected roadmaps
Chris O'Brien
 
XCC Release 6.0 Feature Overview
XCC Release 6.0 Feature OverviewXCC Release 6.0 Feature Overview
XCC Release 6.0 Feature Overview
TIMETOACT GROUP
 
XCC Personalization
XCC PersonalizationXCC Personalization
XCC Personalization
TIMETOACT GROUP
 
Umbraco Show & Tell, London 2017
Umbraco Show & Tell, London 2017Umbraco Show & Tell, London 2017
Umbraco Show & Tell, London 2017
Andy Butland
 
DotNetNuke In An Hour
DotNetNuke In An HourDotNetNuke In An Hour
DotNetNuke In An Hour
Engage Software
 
XCC Benefits - Who profits from XCC?
XCC Benefits - Who profits from XCC?XCC Benefits - Who profits from XCC?
XCC Benefits - Who profits from XCC?
TIMETOACT GROUP
 
Using the Tools of Web 2.0 for Marketing
Using the Tools of Web 2.0 for MarketingUsing the Tools of Web 2.0 for Marketing
Using the Tools of Web 2.0 for Marketing
AndreCharland
 
Adobe Source 2016 - Building a Corporate Site Solution Using Multi Site Manager
Adobe Source 2016 - Building a Corporate Site Solution Using Multi Site ManagerAdobe Source 2016 - Building a Corporate Site Solution Using Multi Site Manager
Adobe Source 2016 - Building a Corporate Site Solution Using Multi Site Manager
Michael Leroy
 
SharePoint 2013 Video, Audio and Images and Digital Asset Management with Joe...
SharePoint 2013 Video, Audio and Images and Digital Asset Management with Joe...SharePoint 2013 Video, Audio and Images and Digital Asset Management with Joe...
SharePoint 2013 Video, Audio and Images and Digital Asset Management with Joe...
Joel Oleson
 
Xcc layout-options
Xcc layout-optionsXcc layout-options
Xcc layout-options
TIMETOACT GROUP
 
Blogging and-content-marketing
Blogging and-content-marketingBlogging and-content-marketing
Blogging and-content-marketing
Khirulnizam Abd Rahman
 
What's New in XCC 12 - Release
What's New in XCC 12 - ReleaseWhat's New in XCC 12 - Release
What's New in XCC 12 - Release
TIMETOACT GROUP
 
API & Custom Widgets coming in XCC next - Web Content and Custom App Extensio...
API & Custom Widgets coming in XCC next - Web Content and Custom App Extensio...API & Custom Widgets coming in XCC next - Web Content and Custom App Extensio...
API & Custom Widgets coming in XCC next - Web Content and Custom App Extensio...
TIMETOACT GROUP
 

What's hot (20)

XCC Self Study Guide
XCC Self Study GuideXCC Self Study Guide
XCC Self Study Guide
 
A Look at New Features in DNN 7.3
A Look at New Features in DNN 7.3A Look at New Features in DNN 7.3
A Look at New Features in DNN 7.3
 
Beginning WordPress
Beginning WordPressBeginning WordPress
Beginning WordPress
 
DotNetNuke
DotNetNukeDotNetNuke
DotNetNuke
 
3 lets look at the core capabilities
3   lets look at the core capabilities3   lets look at the core capabilities
3 lets look at the core capabilities
 
Getting into WordPress
Getting into WordPressGetting into WordPress
Getting into WordPress
 
Responsive Web Design and SharePoint
Responsive Web Design and SharePointResponsive Web Design and SharePoint
Responsive Web Design and SharePoint
 
Chris O'Brien - Ignite 2019 announcements and selected roadmaps
Chris O'Brien - Ignite 2019 announcements and selected roadmapsChris O'Brien - Ignite 2019 announcements and selected roadmaps
Chris O'Brien - Ignite 2019 announcements and selected roadmaps
 
XCC Release 6.0 Feature Overview
XCC Release 6.0 Feature OverviewXCC Release 6.0 Feature Overview
XCC Release 6.0 Feature Overview
 
XCC Personalization
XCC PersonalizationXCC Personalization
XCC Personalization
 
Umbraco Show & Tell, London 2017
Umbraco Show & Tell, London 2017Umbraco Show & Tell, London 2017
Umbraco Show & Tell, London 2017
 
DotNetNuke In An Hour
DotNetNuke In An HourDotNetNuke In An Hour
DotNetNuke In An Hour
 
XCC Benefits - Who profits from XCC?
XCC Benefits - Who profits from XCC?XCC Benefits - Who profits from XCC?
XCC Benefits - Who profits from XCC?
 
Using the Tools of Web 2.0 for Marketing
Using the Tools of Web 2.0 for MarketingUsing the Tools of Web 2.0 for Marketing
Using the Tools of Web 2.0 for Marketing
 
Adobe Source 2016 - Building a Corporate Site Solution Using Multi Site Manager
Adobe Source 2016 - Building a Corporate Site Solution Using Multi Site ManagerAdobe Source 2016 - Building a Corporate Site Solution Using Multi Site Manager
Adobe Source 2016 - Building a Corporate Site Solution Using Multi Site Manager
 
SharePoint 2013 Video, Audio and Images and Digital Asset Management with Joe...
SharePoint 2013 Video, Audio and Images and Digital Asset Management with Joe...SharePoint 2013 Video, Audio and Images and Digital Asset Management with Joe...
SharePoint 2013 Video, Audio and Images and Digital Asset Management with Joe...
 
Xcc layout-options
Xcc layout-optionsXcc layout-options
Xcc layout-options
 
Blogging and-content-marketing
Blogging and-content-marketingBlogging and-content-marketing
Blogging and-content-marketing
 
What's New in XCC 12 - Release
What's New in XCC 12 - ReleaseWhat's New in XCC 12 - Release
What's New in XCC 12 - Release
 
API & Custom Widgets coming in XCC next - Web Content and Custom App Extensio...
API & Custom Widgets coming in XCC next - Web Content and Custom App Extensio...API & Custom Widgets coming in XCC next - Web Content and Custom App Extensio...
API & Custom Widgets coming in XCC next - Web Content and Custom App Extensio...
 

Similar to Content sharing with Umbraco (codegarden usa 2008)

SharePoint 2013 Web Content Management for Developers TSPUG
SharePoint 2013 Web Content Management for Developers TSPUGSharePoint 2013 Web Content Management for Developers TSPUG
SharePoint 2013 Web Content Management for Developers TSPUG
Ed Musters
 
SharePoint 2013 Web Content Management for Developers HSPUG
SharePoint 2013 Web Content Management for Developers HSPUGSharePoint 2013 Web Content Management for Developers HSPUG
SharePoint 2013 Web Content Management for Developers HSPUG
Ed Musters
 
Implementing Vanilla Web Components
Implementing Vanilla Web ComponentsImplementing Vanilla Web Components
Implementing Vanilla Web Components
sonumanoj
 
Drupal for Webmasters by Brett Baker
Drupal for Webmasters by Brett BakerDrupal for Webmasters by Brett Baker
Drupal for Webmasters by Brett Baker
webfinearts
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupal
mayank.grd
 
Developing the unknown
Developing the unknownDeveloping the unknown
Developing the unknown
paul22blue
 
Station Four: Web Redesign Presentation
Station Four: Web Redesign PresentationStation Four: Web Redesign Presentation
Station Four: Web Redesign Presentation
colberding
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
TIMETOACT GROUP
 
WebMatrix2
WebMatrix2WebMatrix2
WebMatrix2
Subodh Pushpak
 
Developing branding solutions
Developing branding solutionsDeveloping branding solutions
Developing branding solutions
Thomas Daly
 
Branding Wont Fix Crappy Content - SharePoint User Experience Discussion
Branding Wont Fix Crappy Content - SharePoint User Experience DiscussionBranding Wont Fix Crappy Content - SharePoint User Experience Discussion
Branding Wont Fix Crappy Content - SharePoint User Experience Discussion
Marcy Kellar
 
Lightning Web Component - LWC
Lightning Web Component - LWCLightning Web Component - LWC
Lightning Web Component - LWC
Thierry TROUIN ☁
 
In-Fisherman.com - Building an Enterprise Level Drupal Site
In-Fisherman.com - Building an Enterprise Level Drupal SiteIn-Fisherman.com - Building an Enterprise Level Drupal Site
In-Fisherman.com - Building an Enterprise Level Drupal Site
Mediacurrent
 
How we built nothingbutsharepoint.com on sharepoint 2010
How we built nothingbutsharepoint.com on sharepoint 2010How we built nothingbutsharepoint.com on sharepoint 2010
How we built nothingbutsharepoint.com on sharepoint 2010
Jeremy Thake
 
Swf search final
Swf search finalSwf search final
Swf search final
Duane Nickull
 
DOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersDOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M users
Yoav Avrahami
 
TERMINALFOUR t44u 2009 - University of St Andrews Case Study
TERMINALFOUR t44u 2009 - University of St Andrews Case StudyTERMINALFOUR t44u 2009 - University of St Andrews Case Study
TERMINALFOUR t44u 2009 - University of St Andrews Case Study
Terminalfour
 
SPSVB 1 7-2012 - getting started with share point branding
SPSVB 1 7-2012 - getting started with share point brandingSPSVB 1 7-2012 - getting started with share point branding
SPSVB 1 7-2012 - getting started with share point branding
Thomas Daly
 
MOSS Content Deployment 12.18.2008 Final
MOSS Content Deployment 12.18.2008 FinalMOSS Content Deployment 12.18.2008 Final
MOSS Content Deployment 12.18.2008 Final
Shadeed Eleazer
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
Marc D Anderson
 

Similar to Content sharing with Umbraco (codegarden usa 2008) (20)

SharePoint 2013 Web Content Management for Developers TSPUG
SharePoint 2013 Web Content Management for Developers TSPUGSharePoint 2013 Web Content Management for Developers TSPUG
SharePoint 2013 Web Content Management for Developers TSPUG
 
SharePoint 2013 Web Content Management for Developers HSPUG
SharePoint 2013 Web Content Management for Developers HSPUGSharePoint 2013 Web Content Management for Developers HSPUG
SharePoint 2013 Web Content Management for Developers HSPUG
 
Implementing Vanilla Web Components
Implementing Vanilla Web ComponentsImplementing Vanilla Web Components
Implementing Vanilla Web Components
 
Drupal for Webmasters by Brett Baker
Drupal for Webmasters by Brett BakerDrupal for Webmasters by Brett Baker
Drupal for Webmasters by Brett Baker
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupal
 
Developing the unknown
Developing the unknownDeveloping the unknown
Developing the unknown
 
Station Four: Web Redesign Presentation
Station Four: Web Redesign PresentationStation Four: Web Redesign Presentation
Station Four: Web Redesign Presentation
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
 
WebMatrix2
WebMatrix2WebMatrix2
WebMatrix2
 
Developing branding solutions
Developing branding solutionsDeveloping branding solutions
Developing branding solutions
 
Branding Wont Fix Crappy Content - SharePoint User Experience Discussion
Branding Wont Fix Crappy Content - SharePoint User Experience DiscussionBranding Wont Fix Crappy Content - SharePoint User Experience Discussion
Branding Wont Fix Crappy Content - SharePoint User Experience Discussion
 
Lightning Web Component - LWC
Lightning Web Component - LWCLightning Web Component - LWC
Lightning Web Component - LWC
 
In-Fisherman.com - Building an Enterprise Level Drupal Site
In-Fisherman.com - Building an Enterprise Level Drupal SiteIn-Fisherman.com - Building an Enterprise Level Drupal Site
In-Fisherman.com - Building an Enterprise Level Drupal Site
 
How we built nothingbutsharepoint.com on sharepoint 2010
How we built nothingbutsharepoint.com on sharepoint 2010How we built nothingbutsharepoint.com on sharepoint 2010
How we built nothingbutsharepoint.com on sharepoint 2010
 
Swf search final
Swf search finalSwf search final
Swf search final
 
DOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersDOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M users
 
TERMINALFOUR t44u 2009 - University of St Andrews Case Study
TERMINALFOUR t44u 2009 - University of St Andrews Case StudyTERMINALFOUR t44u 2009 - University of St Andrews Case Study
TERMINALFOUR t44u 2009 - University of St Andrews Case Study
 
SPSVB 1 7-2012 - getting started with share point branding
SPSVB 1 7-2012 - getting started with share point brandingSPSVB 1 7-2012 - getting started with share point branding
SPSVB 1 7-2012 - getting started with share point branding
 
MOSS Content Deployment 12.18.2008 Final
MOSS Content Deployment 12.18.2008 FinalMOSS Content Deployment 12.18.2008 Final
MOSS Content Deployment 12.18.2008 Final
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
 

Recently uploaded

Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
ISH Technologies
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
kalichargn70th171
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 

Recently uploaded (20)

Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 

Content sharing with Umbraco (codegarden usa 2008)

  • 1. Content Sharing for Fun and Profit AWhite Label* Case Study
  • 2. CONTENT SHARING What to expect A case study review/interview:  Concepts  Client requirements  Site architecture and design issues  Macros and code  Performance and other issues  Demonstration
  • 3. CONTENT SHARING Owner, Percipient Studios Community Evangelist UmbracoTrainer Forum “umbracoholic” My Packages XSLTsearch ImageGen PS PayPal ContentSharing Jason Jevack, BuildIQ Web Services Manager
  • 5. CONTENT SHARING The impetus  BuildIQ has a lot of websites and content, but a small team of content developers  Jason is a big proponent of: • never entering the same data twice • separating content from its presentation • planning ahead • believing that crazy ideas often work  Content Sharing is the result of a “crazy idea”
  • 6. CONTENT SHARING The challenge Stage One  Centralize common pages and share the data across five umbraco sites  Sites were not in a common umbraco installation  Some shared content contained macros • “About Us” page included a macro to display a list of employees with photos, for instance
  • 7. CONTENT SHARING Solution options Umbraco provides many options  Content Picker  RenderTemplate()  AltTemplate  None of these met all our needs
  • 8. CONTENT SHARING A new solution Our content sharing solution must:  Return full XML node  Access remote sites  Render macros  Work in templates as well as in macros  Provide working links and images  Enable local value overrides  Perform quickly  Be easy to install and use
  • 9. CONTENT SHARING How it works 1. Visitor requests a page 2. Macro calls shared content template/macro 3. Node returned with macros rendered 4. URLs and images normalized 5. Page sent to visitor Sharing siteDisplaying site GetSharedContent macro ShareContent template 1 2 3 4 5
  • 10. CONTENT SHARING The Results  Shared a few pages across many sites  About Us, Privacy Policy, etc.  Content Sharing worked well  Easy to use  Centralized maintenance  Good performance  But…
  • 11. CONTENT SHARING The challenge StageTwo  White Label project • A product or service produced by one company that other companies rebrand to make it appear as if they made it  Share an entire site and complex node tree  Customize output  Embed in existing site markup  Performance is critical • 50,000 hits per hour, peak
  • 12. CONTENT SHARING The impetus  Increase profit by reusing existing content • Make it once, repackage many times  Drive traffic and ad revenue  Improve brand recognition  Centralize content development and maintenance
  • 13. CONTENT SHARING Besides…  This is just more of the same old thing!  Right?!?
  • 16. CONTENT SHARING Architecture Object Map Display SiteSharing Site
  • 19. CONTENT SHARING Challenges  Node structure of sharing site is different than the displaying site  Content Sharing code extended to return a node tree fragment  Macros used to mash sharing content into appropriate displaying content  URLs only available for “real” nodes  Use a crawling search engine
  • 20. CONTENT SHARING Challenges  ImageGen Professional enhanced  Resize images hosted remotely  HTML/CSS challenges  Easily incorporateWhite Label’s code updates over time  Don’t interfere with existing functionality  Quirks mode, no consistency in doctype  IE6 support  Large “payload” to website visitors
  • 21. CONTENT SHARING Dell PowerEdge 2950 Dual Core Xeon @ 2GHz 2048MB Windows 2003 SQL Server 2005 Express Performance  HGTVpro.com reaches 50,000 hits/hr.  Load testing  Macro caching  Maximum browser caching or all items  DC.Web.HttpCompress  Combine and compress CSS, JS and HTML  Not currently used on the site
  • 22. CONTENT SHARING Enough talk I want to see it!  First the sharing site  Then the displaying site  …and more if there is time
  • 23. CONTENT SHARING Our content sharing package:  Returns full XML node or node tree  Accesses remote sites  Renders macros  Can be used in templates and macros  Provides working links and images  Enables local value overrides  Performs quickly  Is easy to install and use To Do List Create remote content picker control to replace textfield for remote node id Provide customized xml for clients to use directly Summary