SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Success Story: TWC
Presented by: Cat Reusswig
Agenda
 Why TWC chose Adobe CQ
 What we accomplished in our Phase 1 Delivery
 What we are doing with Responsive Design in our current new web
deliveries
 What our configuration looks like
 Our agile process
 Tools/technologies we use
 Evolution of our Build/Deploy Model
 How we test
 Our support model
 Wrapping up w CQ Anecdotes – things we love/hate about CQ
 Q&A
2
Why TWC Chose CQ5:
 Most transparent COTS application suite
 Alignment with CTG Web Services technology stack:
 Superior Development platform and Editorial capabilities
 Backing of Adobe
3
Phase 1 Delivery – what we accomplished:
 Migration of ~60 domains to
one: timewarnercable.com for
both our residential and
commercial customers
 Geo-targeting of content and
pricing on a regional basis
 Site redesign
 New team
 New platform
 New processes
 Awarded by cableFAX's "Best of
Web Awards”
 Best Cable Site
 Best Overall Web Site Design
4
DEV Residential
Marketing
Commercial
Marketing
Our Current Focus: RESPONSIVE
 5.5.2 version of CQ5 so rolling
our own
 Establishing new team standards
to ensure reusable components
 Interweaving responsive with
not-yet-responsive to enable
time to market speed changes
on the website
 Challenging with CQ to accomplish
what is in essence yet another
migration from CQ to CQ
 Creating new portion of the site
for our online ordering = new
migration with complex
integrations
5
Desktop/laptop
tablet
smartphone
Our Agile Process
6
Test driven development
Continuous integration
Code coverage as part of build
• 6 scrum teams
• 3-4 work streams
• Horizontal team of cross-
functional resources
• 1 code base
Tools/technologies we use:
7
Evolution of our Build & Deploy process
PAST:
 Tools: Maven, curl commands, Jenkins, shell scripts, CQ replication
 Overview: Used CQ MVN plug-ins to build, Curl to deploy with replication queues
 Problem: New deploy = New code artifact, Minimum to no testing. Not much control
of which instance is getting Updates. Still manual steps. Stale code remains in CQ
after refactors
PRESENT:
 Tools: Gradle,GitHubEnterprise, Selenium, Artifactory, Shell scripts,Groovy, JIRA,
Jenkins, Confluence
 Overview: Gradle handles both code build, package creation and
deployment to individual instances
 Each Build as a tag in Github and its related artifacts stored in Artifactory
 During Each Deploy, all existing code and related configuration are removed
 During a build, 700+ Unit, Functional, Integration tests run prior to leaving
CI/DEV. No code is promoted to Release branch without all core tests passing
 Once artifact is deemed a Release Candidate, a deployer can choose which
build is required as well as which environment with a click of a button
 Problem: Need to increase code coverage, deploy instances is done one at a time
FUTURE:
 Move to batch (A/B) deployments for publishers
 Continue to improve All test to increase coverage and complete automation
8
Jenkins workflow: continuous integration
9
Testing Additional Notes:
We use VirtualBox on developer workstations to interact with various Windows OS/browsers
We have additional UI Integration and Regression test that can be run locally or in QA
 Plus performance tests via the Selenium Grid
We have a variety of additional devices from tablets to smart phones.
Our Support Model
 No traditional Operational, CM, QA or Test teams!
 Each scrum team has a Senior level QA engineer,
who also is responsible for UAT hand-off & delivery
 For non-JAVA Development work, a cross functional
team of Analytics, DevOps, Infrastructure and UX
engineers assist each scrum team
 Environment & Application Support
 Hardware, Storage, Hypervisor support is provided by an
integrated infrastructure team that extends to DevOps
 All monitoring and Tier 1&2 Support is handled by 3Share
Rom Services.
 Higher Support Tiers are a collection of Developers,
DevOps, QA and 3Share Services with an all for one, one for
all mind set
10
CQ Anecdotes from the team to wrap up!
Love
 Ability to create custom tools for
marketing team to manage their own
content +WYSIWYG authoring
interface
 Ability for dev to customize/integrate
almost everything including 3rd party
(non-adobe) products
 REST principles
 Selectors in URLs
 Built on Open Source tools/libs
 Apache/Dispatcher/caching on the
front end for scaling load
 Teasers/async load of content can aid
in cache ability yet maintain
personalization.
 Looking at the code, including the
various adobe widgets in the repo –
amazing the things you find.
 CQ5 is a CMS on Steroids! It truly is an
enterprise CMS in a class all it's own.
 That everything, I mean everything is
accessible via API, JMX, SLING, etc.
This is freaking awesome!
Hate
 Documentation
 Training doesn't follow best practices
 Over-sold integration of products in 5.5
 Clientlibs – look at all the extra requests for
extra little snippets/"depends on", especially
for teasers, user profiles, analytics, etc.
 Double-loading jQuery in order to have
current version
 The incomplete thinking around designs and
styles
 Lack of depth in resource knowledge due to
being an acquired software model
 The documentation (ooh did we say that
already before??!!??)
11
Q&A
 Anything else you’d like to know?
12

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (10)

EVOLVE'14 | Enhance | Andrew Lau | Integrating Complex Systems for Experience...
EVOLVE'14 | Enhance | Andrew Lau | Integrating Complex Systems for Experience...EVOLVE'14 | Enhance | Andrew Lau | Integrating Complex Systems for Experience...
EVOLVE'14 | Enhance | Andrew Lau | Integrating Complex Systems for Experience...
 
EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Cont...
EVOLVE'15 | Enhance |  Bob O'Conner & Kevin Nenning | Capturing Existing Cont...EVOLVE'15 | Enhance |  Bob O'Conner & Kevin Nenning | Capturing Existing Cont...
EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Cont...
 
EVOLVE'13 | Keynote | Jess Moore
EVOLVE'13 | Keynote | Jess MooreEVOLVE'13 | Keynote | Jess Moore
EVOLVE'13 | Keynote | Jess Moore
 
EVOLVE'15 | Flash Brief | Cat Reusswig | Adventures in AEM Upgrades
EVOLVE'15 | Flash Brief | Cat Reusswig | Adventures in AEM UpgradesEVOLVE'15 | Flash Brief | Cat Reusswig | Adventures in AEM Upgrades
EVOLVE'15 | Flash Brief | Cat Reusswig | Adventures in AEM Upgrades
 
EVOLVE'15 | Enhance| Christian Meyer & Andreea Sandru | AEM User interfacecus...
EVOLVE'15 | Enhance| Christian Meyer & Andreea Sandru | AEM User interfacecus...EVOLVE'15 | Enhance| Christian Meyer & Andreea Sandru | AEM User interfacecus...
EVOLVE'15 | Enhance| Christian Meyer & Andreea Sandru | AEM User interfacecus...
 
EVOLVE'16 | Keynote | Vikalp Tandon | Meeting the CRM Challenge - Adding Valu...
EVOLVE'16 | Keynote | Vikalp Tandon | Meeting the CRM Challenge - Adding Valu...EVOLVE'16 | Keynote | Vikalp Tandon | Meeting the CRM Challenge - Adding Valu...
EVOLVE'16 | Keynote | Vikalp Tandon | Meeting the CRM Challenge - Adding Valu...
 
EVOLVE'14 | Enhance | John Fait | Add Analytics To Your AEM Apps
EVOLVE'14 | Enhance | John Fait | Add Analytics To Your AEM AppsEVOLVE'14 | Enhance | John Fait | Add Analytics To Your AEM Apps
EVOLVE'14 | Enhance | John Fait | Add Analytics To Your AEM Apps
 
EVOLVE'15 | Enhance | Sharat Radhakrishnan & Benjamin Delman | Autodesk
EVOLVE'15 | Enhance | Sharat Radhakrishnan & Benjamin Delman | AutodeskEVOLVE'15 | Enhance | Sharat Radhakrishnan & Benjamin Delman | Autodesk
EVOLVE'15 | Enhance | Sharat Radhakrishnan & Benjamin Delman | Autodesk
 
EVOLVE'16 | Enhance | Gordon Pike | Rev Up Your Marketing Engine
EVOLVE'16 | Enhance | Gordon Pike | Rev Up Your Marketing EngineEVOLVE'16 | Enhance | Gordon Pike | Rev Up Your Marketing Engine
EVOLVE'16 | Enhance | Gordon Pike | Rev Up Your Marketing Engine
 
EVOLVE'16 | Deploy | Abhishek Dwevedi | Introduction to AEM and the Marketing...
EVOLVE'16 | Deploy | Abhishek Dwevedi | Introduction to AEM and the Marketing...EVOLVE'16 | Deploy | Abhishek Dwevedi | Introduction to AEM and the Marketing...
EVOLVE'16 | Deploy | Abhishek Dwevedi | Introduction to AEM and the Marketing...
 

Mehr von Evolve The Adobe Digital Marketing Community

Mehr von Evolve The Adobe Digital Marketing Community (20)

Evolve 19 | Sarah Xu & Kanika Gera | Adobe I/O - Why You Need it to Execute o...
Evolve 19 | Sarah Xu & Kanika Gera | Adobe I/O - Why You Need it to Execute o...Evolve 19 | Sarah Xu & Kanika Gera | Adobe I/O - Why You Need it to Execute o...
Evolve 19 | Sarah Xu & Kanika Gera | Adobe I/O - Why You Need it to Execute o...
 
Evolve 19 | Upen Manickam & Amanda Gray | Adventures in SPA with AEM 6.5
Evolve 19 | Upen Manickam & Amanda Gray | Adventures in SPA with AEM 6.5Evolve 19 | Upen Manickam & Amanda Gray | Adventures in SPA with AEM 6.5
Evolve 19 | Upen Manickam & Amanda Gray | Adventures in SPA with AEM 6.5
 
Evolve 19 | Ameeth Palla | Adobe Asset Link - Use Cases and Pitfalls to Avoid
Evolve 19 | Ameeth Palla | Adobe Asset Link - Use Cases and Pitfalls to AvoidEvolve 19 | Ameeth Palla | Adobe Asset Link - Use Cases and Pitfalls to Avoid
Evolve 19 | Ameeth Palla | Adobe Asset Link - Use Cases and Pitfalls to Avoid
 
Evolve 19 | Giancarlo Berner | JECIS 2 - The Beginning of a New Era in Buildi...
Evolve 19 | Giancarlo Berner | JECIS 2 - The Beginning of a New Era in Buildi...Evolve 19 | Giancarlo Berner | JECIS 2 - The Beginning of a New Era in Buildi...
Evolve 19 | Giancarlo Berner | JECIS 2 - The Beginning of a New Era in Buildi...
 
Evolve 19 | Paul Legan & Kristin Jones | Anatomy of a Solid AEM Implementatio...
Evolve 19 | Paul Legan & Kristin Jones | Anatomy of a Solid AEM Implementatio...Evolve 19 | Paul Legan & Kristin Jones | Anatomy of a Solid AEM Implementatio...
Evolve 19 | Paul Legan & Kristin Jones | Anatomy of a Solid AEM Implementatio...
 
Evolve 19 | Rabiah Coon & Rebecca Blaha | Rockstar Kickoffs for AEM Projects
Evolve 19 | Rabiah Coon & Rebecca Blaha | Rockstar Kickoffs for AEM ProjectsEvolve 19 | Rabiah Coon & Rebecca Blaha | Rockstar Kickoffs for AEM Projects
Evolve 19 | Rabiah Coon & Rebecca Blaha | Rockstar Kickoffs for AEM Projects
 
Evolve19 | Nick Panagopoulos | World Focus: Translation Tips and Trends
Evolve19 | Nick Panagopoulos | World Focus: Translation Tips and TrendsEvolve19 | Nick Panagopoulos | World Focus: Translation Tips and Trends
Evolve19 | Nick Panagopoulos | World Focus: Translation Tips and Trends
 
Evolve 19 | Rabiah Coon, Sabrina Schmidt & Noah Linge | Industry Focus | Furn...
Evolve 19 | Rabiah Coon, Sabrina Schmidt & Noah Linge | Industry Focus | Furn...Evolve 19 | Rabiah Coon, Sabrina Schmidt & Noah Linge | Industry Focus | Furn...
Evolve 19 | Rabiah Coon, Sabrina Schmidt & Noah Linge | Industry Focus | Furn...
 
Evolve 19 | Carl Madaffari | Best Practices | From Customer Data to Customer ...
Evolve 19 | Carl Madaffari | Best Practices | From Customer Data to Customer ...Evolve 19 | Carl Madaffari | Best Practices | From Customer Data to Customer ...
Evolve 19 | Carl Madaffari | Best Practices | From Customer Data to Customer ...
 
Evolve 19 | Kevin Campton & Sharat Radhakrishnan | Industry Focus | Autodesk ...
Evolve 19 | Kevin Campton & Sharat Radhakrishnan | Industry Focus | Autodesk ...Evolve 19 | Kevin Campton & Sharat Radhakrishnan | Industry Focus | Autodesk ...
Evolve 19 | Kevin Campton & Sharat Radhakrishnan | Industry Focus | Autodesk ...
 
Evolve 19 | Gina Petruccelli | Let’s Dig Into Requirements
Evolve 19 | Gina Petruccelli | Let’s Dig Into RequirementsEvolve 19 | Gina Petruccelli | Let’s Dig Into Requirements
Evolve 19 | Gina Petruccelli | Let’s Dig Into Requirements
 
Evolve 19 | Dave Fox | Retaining Niche Talent in a Highly Competitive Environ...
Evolve 19 | Dave Fox | Retaining Niche Talent in a Highly Competitive Environ...Evolve 19 | Dave Fox | Retaining Niche Talent in a Highly Competitive Environ...
Evolve 19 | Dave Fox | Retaining Niche Talent in a Highly Competitive Environ...
 
Evolve 19 | Paul Legan | Going Beyond Metadata: Extracting Meaningful Informa...
Evolve 19 | Paul Legan | Going Beyond Metadata: Extracting Meaningful Informa...Evolve 19 | Paul Legan | Going Beyond Metadata: Extracting Meaningful Informa...
Evolve 19 | Paul Legan | Going Beyond Metadata: Extracting Meaningful Informa...
 
Evolve19 | Giancarlo Berner & Brett Butterfield | AI & Adobe Sensei
Evolve19 | Giancarlo Berner & Brett Butterfield | AI & Adobe SenseiEvolve19 | Giancarlo Berner & Brett Butterfield | AI & Adobe Sensei
Evolve19 | Giancarlo Berner & Brett Butterfield | AI & Adobe Sensei
 
Evolve 19 | Gordon Pike | Prepping for Tomorrow - Creating a Flexible AEM Arc...
Evolve 19 | Gordon Pike | Prepping for Tomorrow - Creating a Flexible AEM Arc...Evolve 19 | Gordon Pike | Prepping for Tomorrow - Creating a Flexible AEM Arc...
Evolve 19 | Gordon Pike | Prepping for Tomorrow - Creating a Flexible AEM Arc...
 
Evolve 19 | Jayan Kandathil | Running AEM Workloads on Microsoft Azure
Evolve 19 | Jayan Kandathil | Running AEM Workloads on Microsoft AzureEvolve 19 | Jayan Kandathil | Running AEM Workloads on Microsoft Azure
Evolve 19 | Jayan Kandathil | Running AEM Workloads on Microsoft Azure
 
Evolve 19 | Amol Anand & Daniel Gordon | Author in AEM Once - Deliver Everywhere
Evolve 19 | Amol Anand & Daniel Gordon | Author in AEM Once - Deliver EverywhereEvolve 19 | Amol Anand & Daniel Gordon | Author in AEM Once - Deliver Everywhere
Evolve 19 | Amol Anand & Daniel Gordon | Author in AEM Once - Deliver Everywhere
 
Evolve 19 | Benjie Wheeler | Intro to Adobe Experience Manager 6.5
Evolve 19 | Benjie Wheeler | Intro to Adobe Experience Manager 6.5Evolve 19 | Benjie Wheeler | Intro to Adobe Experience Manager 6.5
Evolve 19 | Benjie Wheeler | Intro to Adobe Experience Manager 6.5
 
Evolve 19 | Bruce Swann | Adobe Campaign - Capabilities, Roadmap, and Fit wit...
Evolve 19 | Bruce Swann | Adobe Campaign - Capabilities, Roadmap, and Fit wit...Evolve 19 | Bruce Swann | Adobe Campaign - Capabilities, Roadmap, and Fit wit...
Evolve 19 | Bruce Swann | Adobe Campaign - Capabilities, Roadmap, and Fit wit...
 
Evolve 19 | Pete Hoback & Francisco Fagalde | AEM QA, UAT, & Go Live
Evolve 19 | Pete Hoback & Francisco Fagalde | AEM QA, UAT, & Go LiveEvolve 19 | Pete Hoback & Francisco Fagalde | AEM QA, UAT, & Go Live
Evolve 19 | Pete Hoback & Francisco Fagalde | AEM QA, UAT, & Go Live
 

Kürzlich hochgeladen

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
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
 
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
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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
 
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
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Kürzlich hochgeladen (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
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...
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

EVOLVE'13 | Customer Success Story | TWC | Catherine Reusswig

  • 1. Success Story: TWC Presented by: Cat Reusswig
  • 2. Agenda  Why TWC chose Adobe CQ  What we accomplished in our Phase 1 Delivery  What we are doing with Responsive Design in our current new web deliveries  What our configuration looks like  Our agile process  Tools/technologies we use  Evolution of our Build/Deploy Model  How we test  Our support model  Wrapping up w CQ Anecdotes – things we love/hate about CQ  Q&A 2
  • 3. Why TWC Chose CQ5:  Most transparent COTS application suite  Alignment with CTG Web Services technology stack:  Superior Development platform and Editorial capabilities  Backing of Adobe 3
  • 4. Phase 1 Delivery – what we accomplished:  Migration of ~60 domains to one: timewarnercable.com for both our residential and commercial customers  Geo-targeting of content and pricing on a regional basis  Site redesign  New team  New platform  New processes  Awarded by cableFAX's "Best of Web Awards”  Best Cable Site  Best Overall Web Site Design 4 DEV Residential Marketing Commercial Marketing
  • 5. Our Current Focus: RESPONSIVE  5.5.2 version of CQ5 so rolling our own  Establishing new team standards to ensure reusable components  Interweaving responsive with not-yet-responsive to enable time to market speed changes on the website  Challenging with CQ to accomplish what is in essence yet another migration from CQ to CQ  Creating new portion of the site for our online ordering = new migration with complex integrations 5 Desktop/laptop tablet smartphone
  • 6. Our Agile Process 6 Test driven development Continuous integration Code coverage as part of build • 6 scrum teams • 3-4 work streams • Horizontal team of cross- functional resources • 1 code base
  • 8. Evolution of our Build & Deploy process PAST:  Tools: Maven, curl commands, Jenkins, shell scripts, CQ replication  Overview: Used CQ MVN plug-ins to build, Curl to deploy with replication queues  Problem: New deploy = New code artifact, Minimum to no testing. Not much control of which instance is getting Updates. Still manual steps. Stale code remains in CQ after refactors PRESENT:  Tools: Gradle,GitHubEnterprise, Selenium, Artifactory, Shell scripts,Groovy, JIRA, Jenkins, Confluence  Overview: Gradle handles both code build, package creation and deployment to individual instances  Each Build as a tag in Github and its related artifacts stored in Artifactory  During Each Deploy, all existing code and related configuration are removed  During a build, 700+ Unit, Functional, Integration tests run prior to leaving CI/DEV. No code is promoted to Release branch without all core tests passing  Once artifact is deemed a Release Candidate, a deployer can choose which build is required as well as which environment with a click of a button  Problem: Need to increase code coverage, deploy instances is done one at a time FUTURE:  Move to batch (A/B) deployments for publishers  Continue to improve All test to increase coverage and complete automation 8
  • 9. Jenkins workflow: continuous integration 9 Testing Additional Notes: We use VirtualBox on developer workstations to interact with various Windows OS/browsers We have additional UI Integration and Regression test that can be run locally or in QA  Plus performance tests via the Selenium Grid We have a variety of additional devices from tablets to smart phones.
  • 10. Our Support Model  No traditional Operational, CM, QA or Test teams!  Each scrum team has a Senior level QA engineer, who also is responsible for UAT hand-off & delivery  For non-JAVA Development work, a cross functional team of Analytics, DevOps, Infrastructure and UX engineers assist each scrum team  Environment & Application Support  Hardware, Storage, Hypervisor support is provided by an integrated infrastructure team that extends to DevOps  All monitoring and Tier 1&2 Support is handled by 3Share Rom Services.  Higher Support Tiers are a collection of Developers, DevOps, QA and 3Share Services with an all for one, one for all mind set 10
  • 11. CQ Anecdotes from the team to wrap up! Love  Ability to create custom tools for marketing team to manage their own content +WYSIWYG authoring interface  Ability for dev to customize/integrate almost everything including 3rd party (non-adobe) products  REST principles  Selectors in URLs  Built on Open Source tools/libs  Apache/Dispatcher/caching on the front end for scaling load  Teasers/async load of content can aid in cache ability yet maintain personalization.  Looking at the code, including the various adobe widgets in the repo – amazing the things you find.  CQ5 is a CMS on Steroids! It truly is an enterprise CMS in a class all it's own.  That everything, I mean everything is accessible via API, JMX, SLING, etc. This is freaking awesome! Hate  Documentation  Training doesn't follow best practices  Over-sold integration of products in 5.5  Clientlibs – look at all the extra requests for extra little snippets/"depends on", especially for teasers, user profiles, analytics, etc.  Double-loading jQuery in order to have current version  The incomplete thinking around designs and styles  Lack of depth in resource knowledge due to being an acquired software model  The documentation (ooh did we say that already before??!!??) 11
  • 12. Q&A  Anything else you’d like to know? 12

Hinweis der Redaktion

  1. ----- Meeting Notes (8/22/13 16:00) -----Develop at the smallest levelBreak a component down to its smallest logical parts. Favor composition over inheritanceIf you want a list-image component for example, don’t take a list component, copy it, and hack it to have an image. A reasonable approach is to create a new component and add the necessary components to it. When you upgrade CQ to a new version, you’ll have no changes to make – it’ll automatically use the new version. (From Antony Hutchinson)Reuse dialogs in composite componentsIf a new component is necessary because it is not possible/feasible/best to stack a bunch of components on top of each other for UI reasons, reuse the dialog from the simpler component to ensure a consistent editing experience across all like components.Develop at the smallest levelBreak a component down to its smallest logical parts. For example, if a component has a call to action button, text area, headline and a background image, it will often make the most sense to develop each of these components individually and assemble them under an composite component. This a.) keeps dialogs small; and b.) ensures maximum reusability.Favor composition over inheritanceIf you want a list-image component for example, don’t take a list component, copy it, and hack it to have an image. A reasonable approach is to create a new component and add the necessary components to it. When you upgrade CQ to a new version, you’ll have no changes to make – it’ll automatically use the new version. (From Antony Hutchinson)Reuse dialogs in composite componentsIf a new component is necessary because it is not possible/feasible/best to stack a bunch of components on top of each other for UI reasons, reuse the dialog from the simpler component to ensure a consistent editing experience across all like components.Overlay to extend the functionality of out-of-the-box componentsAvoid modifying anything under /libs. Avoid copying anything from /libs to /apps. Extend the functionality of out-of-the-box components by overlaying them.Remove Style Specific Class Names from Component JSPsAvoid using style specific class names (like "blue") in the component JSPs which prevents the components from being used in different places and on different sites. Wherever possible, these kinds of class names need to change to reflect the structure of the component (like "label") not how it should be styled.