SlideShare a Scribd company logo
1 of 30
Download to read offline
1
HOW TO SUCCESSFULLY
IMPLEMENT
HEADLESS DRUPAL
(How WE implemented decoupled Drupal, successfully)
OCTOBER	
  20,	
  2015	
  
2
Brief Agenda
Who we are & project overview1
Architectural design decisions2
Application components3
Outcome4
Q&A5
3
ABOUT	
  EPAM	
  
4
NavigationArts is now EPAM
5
EPAM: A Pioneer in Product Development
PRODUCT DEVELOPMENT EXPERTISE
100+	
  clients	
  amongst	
  independent	
  so>ware	
  vendors	
  
5	
  out	
  of	
  Top	
  10	
  largest	
  so>ware	
  companies	
  are	
  clients	
  
Serving	
  industry	
  leaders	
  as	
  well	
  as	
  emerging	
  technology	
  
companies	
  
DOMAIN-LED ENTERPRISE SOLUTIONS
2006	
   Q1	
  2015	
  
ISVs	
  &	
  Technology	
   75%	
   22%	
  
Banking	
  &	
  Financial	
  Services	
   0%	
   28%	
  
Travel	
  &	
  Consumer	
   4%	
   24%	
  
Business	
  InformaPon	
  &	
  Media	
   8%	
   13%	
  
Life	
  Sciences	
  &	
  Healthcare	
   0%	
   7%	
  
ORGANIC COMPETENCIES
Core	
  Product	
  Engineering	
  
User	
  Experience	
  
Digital	
  Strategy	
  
AnalyPcs	
  &	
  Big	
  Data	
  
Commerce	
  
Mobile	
  
Social	
  
PRODUCT ENGINEERING
PRODUCT
DEVELOPMENT SERVICESTECHNOLOGY SOLUTIONS
1990s 2000s TODAY
EPAM FOUNDED
IN 1993
1990s 2000s TODAY
A	
  foundaPon	
  in	
  product	
  engineering	
  led	
  to	
  accelerated	
  growth	
  in	
  
technology	
  soluPons	
  and	
  created	
  a	
  strong	
  plaWorm	
  for	
  a	
  new	
  type	
  of	
  
services	
  offering	
  in	
  Product	
  Development	
  that	
  addresses	
  many	
  of	
  the	
  
disrupPons	
  facing	
  industries	
  today.	
  
6
What is headless or decoupled Drupal?
•  Content	
  and	
  display	
  are	
  separated	
  (“decoupled”)	
  
•  Front-­‐end	
  /	
  consumer	
  grabs	
  resources	
  through	
  defined	
  interface	
  
•  Typically	
  RESTful	
  
•  Typically	
  JSON	
  
7
Why would you ever do this?
•  More	
  flexibility	
  in	
  the	
  front-­‐end	
  
•  More	
  flexibility	
  in	
  using	
  front-­‐end	
  resources	
  
•  Mobile	
  apps	
  
•  Lean	
  development	
  workflow	
  (lowercase	
  lean)	
  
•  Prevent	
  front-­‐end	
  code	
  kludge	
  (can’t	
  write	
  db	
  
queries)	
  
•  MulPple	
  content	
  consumers	
  (mulPchannel)	
  
•  Non-­‐website	
  consumers	
  
•  Publish	
  “part”	
  of	
  a	
  site	
  
•  MulPple	
  /	
  separate	
  architectures	
  or	
  infrastructures	
  
8
WHY	
  (AND	
  HOW)	
  WE	
  DID	
  IT	
  (SUCCESSFULLY)	
  
9
USCCB App
iOS and Android mobile apps1
Website2
16,000+ microsites3
Salesforce data sync and single sign-on for microsite management4
Hard deadline in 6 mo. (the Pope is coming - literally.)5
10
WE	
  CAN	
  DO	
  ALL	
  THE	
  THINGS	
  
11
What we decided
We want it to feel as “application-y” as possible1
Start with a website2
Cordova-based wrapper for native apps3
We’ll use AngularJS4
We’ll use decoupled Drupal5
12
Proposed architecture
Mobile app (Ionic w/ AngularJS)1
Website (AngularJS)2
Content entry (Drupal 7)3
API (Drupal 7)4
13
OK, Sign us up for “Headless Drupal”
•  No	
  “best	
  pracPce”	
  (yet)	
  
•  Various	
  degrees	
  of	
  success	
  and	
  
degree	
  of	
  “decoupling”	
  in	
  the	
  
community	
  
•  A	
  variety	
  of	
  contrib	
  modules	
  
(Services,	
  Views	
  JSON,	
  RESTWS)	
  are	
  
used	
  
14
Attempt #1: Services
•  Most	
  widely	
  used	
  
•  Most	
  experience	
  
•  Tied	
  to	
  Drupal	
  structures	
  
•  Limited	
  ability	
  to	
  customize	
  resources	
  (without	
  
greater	
  effort)	
  
•  Hard	
  to	
  re-­‐use	
  front-­‐end	
  code	
  
•  Too	
  much	
  overhead	
  
CONS
PROS
15
Attempt #2: Views Datasource
•  Can	
  completely	
  customize	
  resources	
  
•  Easy	
  to	
  create	
  with	
  Views	
  UI	
  
	
  
•  Lack	
  of	
  control	
  over	
  response	
  structure	
  
•  “Stuck”	
  with	
  views	
  
•  Limited	
  developer	
  workflow	
  
•  Hard	
  to	
  re-­‐use	
  front-­‐end	
  code	
  (varying	
  structures)	
  
•  Too	
  much	
  overhead	
  
CONS
PROS
16
Re-evaluate
•  RESTWS	
  
–  Similar	
  problems	
  to	
  Services	
  
•  Custom	
  soluPon	
  
–  The	
  Pope	
  is	
  coming	
  
•  There	
  is	
  another…	
  
–  RESTful!	
  
17
RESTful module
•  Doesn’t	
  assume	
  data	
  structures	
  
•  Expressive	
  
•  Lots	
  of	
  built-­‐in	
  features	
  that	
  are	
  great	
  for	
  an	
  API,	
  such	
  as	
  
–  Versioning	
  
–  Bundle	
  based	
  resources	
  
–  Resource	
  discovery	
  
–  User	
  authenPcaPon	
  
–  Caching	
  
•  Easy	
  to	
  implement	
  and	
  extend	
  
18
RESTful module
•  Each	
  resource	
  is	
  a	
  ctools	
  plugin	
  
•  It’s	
  easy	
  to	
  create	
  a	
  new	
  data	
  provider	
  or	
  formaler	
  
•  Very	
  quick	
  to	
  extend	
  
19
NOW	
  WHAT?	
  
20
“How do I know what resource to grab when a user visits a
URL on the app?”
•  Landing	
  and	
  lisPng	
  pages	
  (aggregate	
  
pages)	
  handled	
  by	
  AngularJS	
  
•  Individual	
  pages	
  use	
  Drupal	
  aliases	
  
21
Search?
•  Standard	
  Search	
  API	
  Solr	
  
•  Used	
  RESTful	
  Search	
  API	
  module	
  as	
  a	
  
base	
  
•  Built	
  out	
  facets	
  using	
  facet	
  realms	
  for	
  
configuraPon	
  
22
Translation
•  EnPty	
  translaPon	
  
•  Language	
  toggle	
  on	
  front-­‐end	
  
•  Some	
  items	
  (Main	
  menu	
  /	
  nav)	
  are	
  translated	
  in	
  the	
  app	
  itself	
  
•  API	
  Language	
  selecPon	
  is	
  by	
  URL	
  path	
  prefix	
  (just	
  like	
  Drupal	
  pages)	
  
•  Some	
  nested	
  items	
  we	
  decided	
  to	
  provide	
  all	
  languages	
  for	
  (for	
  “look	
  
ahead”)	
  	
  
23
Caching
•  Using	
  Varnish	
  to	
  cache	
  the	
  API	
  
•  RESTful	
  has	
  its	
  own	
  caching	
  (can	
  turn	
  on	
  or	
  off	
  in	
  the	
  plugin)	
  
24
•  Main	
  site	
  menus	
  handled	
  by	
  Angular	
  
•  Custom	
  sub-­‐menus	
  handled	
  by	
  API	
  
•  Custom	
  Drupal	
  interface	
  for	
  custom	
  
menus	
  
Menus
25
•  Easy	
  to	
  leverage	
  panels	
  +	
  views	
  
for	
  a	
  custom	
  administraPon	
  
area	
  
Admin section
26
•  The	
  Pope	
  didn’t	
  excommunicate	
  us	
  
•  We	
  got	
  a	
  lot	
  of	
  traffic	
  -­‐	
  and	
  it	
  
didn’t	
  crash	
  
•  NaPonal	
  and	
  local	
  media	
  alenPon	
  
Results
27
•  TesPng	
  and	
  rolling	
  out	
  Parish	
  and	
  Diocese	
  Salesforce	
  integraPon	
  
•  Our	
  API	
  only	
  serves	
  anonymous	
  traffic	
  (for	
  now)	
  
•  We	
  built	
  a	
  fair	
  amount	
  into	
  the	
  front-­‐end	
  app	
  
•  There’s	
  no	
  “preview”	
  
•  We	
  made	
  compromises	
  to	
  simplify	
  things	
  wherever	
  possible	
  
•  Prerender	
  
•  Offline	
  content	
  
What’s next / lessons learned
28
•  D8	
  REST	
  is	
  a	
  good	
  step	
  -­‐	
  let’s	
  make	
  it	
  aesthePc	
  so	
  front-­‐end	
  
devs	
  who	
  don’t	
  know	
  a	
  lick	
  of	
  Drupal	
  WANT	
  to	
  use	
  it!	
  
•  Become	
  a	
  desired	
  backend	
  for	
  powering	
  fancy	
  new	
  
frontend	
  frameworks	
  (drives	
  pace	
  of	
  innovaPon)	
  
•  Hybrid	
  websites	
  -­‐	
  both	
  twig	
  and	
  API-­‐driven	
  elements	
  
(“progressively”	
  decoupled	
  as	
  Dries	
  called	
  it)	
  
•  Now	
  is	
  a	
  great	
  Pme	
  to	
  try	
  this	
  technology	
  and	
  help	
  steer	
  its	
  
future.	
  Using	
  Drupal	
  8	
  +	
  RESTful	
  module	
  is	
  a	
  great	
  place	
  to	
  
start	
  
The potential for Decoupled Drupal
29
Q&A
David Vespoli
Software Engineering Manager
david_vespoli@epam.com
Kris Graham
Lead Software Engineer
kris_graham@epam.com
	
  
QUESTIONS?
Seth Gregory
Software Engineering Manager
seth_gregory@epam.com
30
THANK	
  YOU!	
  

More Related Content

What's hot

Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8Acquia
 
Building Drupal 8 Sites
Building Drupal 8 SitesBuilding Drupal 8 Sites
Building Drupal 8 SitesExove
 
Content as a Service: What to Know About Decoupled CMS
Content as a Service: What to Know About Decoupled CMSContent as a Service: What to Know About Decoupled CMS
Content as a Service: What to Know About Decoupled CMSPantheon
 
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014Viktor Vogel
 
Rise and Fall of the Frontend Developer
Rise and Fall of the Frontend DeveloperRise and Fall of the Frontend Developer
Rise and Fall of the Frontend DeveloperRafael Casuso Romate
 
Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Suzanne Dergacheva
 
Drupal 8 preview_slideshow
Drupal 8 preview_slideshowDrupal 8 preview_slideshow
Drupal 8 preview_slideshowTee Malapela
 
Serverless computing with Google Cloud
Serverless computing with Google CloudServerless computing with Google Cloud
Serverless computing with Google Cloudwesley chun
 
Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8Acquia
 
Digital Signage for YMCA and the Drupal role
Digital Signage for YMCA and the Drupal roleDigital Signage for YMCA and the Drupal role
Digital Signage for YMCA and the Drupal roleDmitry Drozdik
 
Rapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for JavaRapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for JavaKunal Dabir
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Angela Byron
 
Lollipop vs Marshmallow: What are the major differences?
Lollipop vs Marshmallow: What are the major differences?Lollipop vs Marshmallow: What are the major differences?
Lollipop vs Marshmallow: What are the major differences?iScripts
 
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...Advancing Content Management for Omni-Channel User Experiences by Roland Bene...
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...eZ Systems
 
ProTips for Staying Sane while Working from Home
ProTips for Staying Sane while Working from Home ProTips for Staying Sane while Working from Home
ProTips for Staying Sane while Working from Home Jeff Geerling
 
Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016Suzanne Dergacheva
 
Drupal 9 and Backwards Compatibility: Why now is the time to upgrade to Drupal 8
Drupal 9 and Backwards Compatibility: Why now is the time to upgrade to Drupal 8Drupal 9 and Backwards Compatibility: Why now is the time to upgrade to Drupal 8
Drupal 9 and Backwards Compatibility: Why now is the time to upgrade to Drupal 8Angela Byron
 
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012Suzanne Dergacheva
 

What's hot (20)

Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
 
Building Drupal 8 Sites
Building Drupal 8 SitesBuilding Drupal 8 Sites
Building Drupal 8 Sites
 
Content as a Service: What to Know About Decoupled CMS
Content as a Service: What to Know About Decoupled CMSContent as a Service: What to Know About Decoupled CMS
Content as a Service: What to Know About Decoupled CMS
 
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014
 
Rise and Fall of the Frontend Developer
Rise and Fall of the Frontend DeveloperRise and Fall of the Frontend Developer
Rise and Fall of the Frontend Developer
 
Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7
 
Drupal 8 preview_slideshow
Drupal 8 preview_slideshowDrupal 8 preview_slideshow
Drupal 8 preview_slideshow
 
Serverless computing with Google Cloud
Serverless computing with Google CloudServerless computing with Google Cloud
Serverless computing with Google Cloud
 
Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8
 
Digital Signage for YMCA and the Drupal role
Digital Signage for YMCA and the Drupal roleDigital Signage for YMCA and the Drupal role
Digital Signage for YMCA and the Drupal role
 
Rapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for JavaRapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for Java
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8
 
Lollipop vs Marshmallow: What are the major differences?
Lollipop vs Marshmallow: What are the major differences?Lollipop vs Marshmallow: What are the major differences?
Lollipop vs Marshmallow: What are the major differences?
 
Last Call Media Drupal 8 Case Study
Last Call Media Drupal 8 Case StudyLast Call Media Drupal 8 Case Study
Last Call Media Drupal 8 Case Study
 
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...Advancing Content Management for Omni-Channel User Experiences by Roland Bene...
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...
 
Build social apps for Facebook
Build social apps for FacebookBuild social apps for Facebook
Build social apps for Facebook
 
ProTips for Staying Sane while Working from Home
ProTips for Staying Sane while Working from Home ProTips for Staying Sane while Working from Home
ProTips for Staying Sane while Working from Home
 
Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016
 
Drupal 9 and Backwards Compatibility: Why now is the time to upgrade to Drupal 8
Drupal 9 and Backwards Compatibility: Why now is the time to upgrade to Drupal 8Drupal 9 and Backwards Compatibility: Why now is the time to upgrade to Drupal 8
Drupal 9 and Backwards Compatibility: Why now is the time to upgrade to Drupal 8
 
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
 

Viewers also liked

What Is a Cloud-first Headless CMS
What Is a Cloud-first Headless CMSWhat Is a Cloud-first Headless CMS
What Is a Cloud-first Headless CMSKentico Software
 
Evolve 2014 integrating complex systems for experience driven commerce
Evolve 2014   integrating complex systems for experience driven commerceEvolve 2014   integrating complex systems for experience driven commerce
Evolve 2014 integrating complex systems for experience driven commerceElastic Path
 
Evolve 2014 experience driven commerce
Evolve 2014 experience driven commerceEvolve 2014 experience driven commerce
Evolve 2014 experience driven commerceElastic Path
 
RE-ASSIGNMENT OF EXCESS TEACHERS
RE-ASSIGNMENT OF EXCESS TEACHERSRE-ASSIGNMENT OF EXCESS TEACHERS
RE-ASSIGNMENT OF EXCESS TEACHERSIndanan South
 
RESTful in Drupal 8 and Services module - New`n`Tasty!
RESTful in Drupal 8 and Services module - New`n`Tasty!RESTful in Drupal 8 and Services module - New`n`Tasty!
RESTful in Drupal 8 and Services module - New`n`Tasty!Dmytro Olaresko
 
Java vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris BaileyJava vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris BaileyJAXLondon_Conference
 
Use Content to Enhance Your Commerce Experience
Use Content to Enhance Your Commerce ExperienceUse Content to Enhance Your Commerce Experience
Use Content to Enhance Your Commerce ExperienceAcquia
 
Introducing Acquia Content Hub: Take Control of Your Content Chaos
Introducing Acquia Content Hub: Take Control of Your Content ChaosIntroducing Acquia Content Hub: Take Control of Your Content Chaos
Introducing Acquia Content Hub: Take Control of Your Content ChaosAcquia
 
Headless Drupal, Singapore Drupal Meetup
Headless Drupal, Singapore Drupal MeetupHeadless Drupal, Singapore Drupal Meetup
Headless Drupal, Singapore Drupal MeetupPratomo Ardianto
 
Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core
Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core
Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core Acquia
 
Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...
Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...
Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...Acquia
 
Entities 101: Understanding Data Structures in Drupal
Entities 101: Understanding Data Structures in DrupalEntities 101: Understanding Data Structures in Drupal
Entities 101: Understanding Data Structures in DrupalAcquia
 
Drupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site Factory
Drupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site FactoryDrupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site Factory
Drupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site FactoryAcquia
 
Applied progressive decoupling weather.com, angular, and drupal
Applied progressive decoupling  weather.com, angular, and drupalApplied progressive decoupling  weather.com, angular, and drupal
Applied progressive decoupling weather.com, angular, and drupalAcquia
 
Going Global 101: How to Manage Your Websites Worldwide Using Drupal
Going Global 101: How to Manage Your Websites Worldwide Using DrupalGoing Global 101: How to Manage Your Websites Worldwide Using Drupal
Going Global 101: How to Manage Your Websites Worldwide Using DrupalAcquia
 
The Future of a Content-Driven World: How To Prepare Your Team
The Future of a Content-Driven World: How To Prepare Your TeamThe Future of a Content-Driven World: How To Prepare Your Team
The Future of a Content-Driven World: How To Prepare Your TeamAcquia
 
Introducing Workspace Preview System: Solve Your Content Preview Problems
Introducing Workspace Preview System: Solve Your Content Preview ProblemsIntroducing Workspace Preview System: Solve Your Content Preview Problems
Introducing Workspace Preview System: Solve Your Content Preview ProblemsAcquia
 

Viewers also liked (20)

What Is a Cloud-first Headless CMS
What Is a Cloud-first Headless CMSWhat Is a Cloud-first Headless CMS
What Is a Cloud-first Headless CMS
 
Evolve 2014 integrating complex systems for experience driven commerce
Evolve 2014   integrating complex systems for experience driven commerceEvolve 2014   integrating complex systems for experience driven commerce
Evolve 2014 integrating complex systems for experience driven commerce
 
Evolve 2014 experience driven commerce
Evolve 2014 experience driven commerceEvolve 2014 experience driven commerce
Evolve 2014 experience driven commerce
 
HeadLess Drupal
HeadLess DrupalHeadLess Drupal
HeadLess Drupal
 
RE-ASSIGNMENT OF EXCESS TEACHERS
RE-ASSIGNMENT OF EXCESS TEACHERSRE-ASSIGNMENT OF EXCESS TEACHERS
RE-ASSIGNMENT OF EXCESS TEACHERS
 
RESTful in Drupal 8 and Services module - New`n`Tasty!
RESTful in Drupal 8 and Services module - New`n`Tasty!RESTful in Drupal 8 and Services module - New`n`Tasty!
RESTful in Drupal 8 and Services module - New`n`Tasty!
 
Java vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris BaileyJava vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris Bailey
 
Drupal8 + AngularJS
Drupal8 + AngularJSDrupal8 + AngularJS
Drupal8 + AngularJS
 
Use Content to Enhance Your Commerce Experience
Use Content to Enhance Your Commerce ExperienceUse Content to Enhance Your Commerce Experience
Use Content to Enhance Your Commerce Experience
 
Introducing Acquia Content Hub: Take Control of Your Content Chaos
Introducing Acquia Content Hub: Take Control of Your Content ChaosIntroducing Acquia Content Hub: Take Control of Your Content Chaos
Introducing Acquia Content Hub: Take Control of Your Content Chaos
 
Mb Portfolio 20091201
Mb Portfolio 20091201Mb Portfolio 20091201
Mb Portfolio 20091201
 
Headless Drupal, Singapore Drupal Meetup
Headless Drupal, Singapore Drupal MeetupHeadless Drupal, Singapore Drupal Meetup
Headless Drupal, Singapore Drupal Meetup
 
Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core
Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core
Drupal 8 Deep Dive: What It Means for Developers Now that REST Is in Core
 
Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...
Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...
Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...
 
Entities 101: Understanding Data Structures in Drupal
Entities 101: Understanding Data Structures in DrupalEntities 101: Understanding Data Structures in Drupal
Entities 101: Understanding Data Structures in Drupal
 
Drupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site Factory
Drupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site FactoryDrupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site Factory
Drupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site Factory
 
Applied progressive decoupling weather.com, angular, and drupal
Applied progressive decoupling  weather.com, angular, and drupalApplied progressive decoupling  weather.com, angular, and drupal
Applied progressive decoupling weather.com, angular, and drupal
 
Going Global 101: How to Manage Your Websites Worldwide Using Drupal
Going Global 101: How to Manage Your Websites Worldwide Using DrupalGoing Global 101: How to Manage Your Websites Worldwide Using Drupal
Going Global 101: How to Manage Your Websites Worldwide Using Drupal
 
The Future of a Content-Driven World: How To Prepare Your Team
The Future of a Content-Driven World: How To Prepare Your TeamThe Future of a Content-Driven World: How To Prepare Your Team
The Future of a Content-Driven World: How To Prepare Your Team
 
Introducing Workspace Preview System: Solve Your Content Preview Problems
Introducing Workspace Preview System: Solve Your Content Preview ProblemsIntroducing Workspace Preview System: Solve Your Content Preview Problems
Introducing Workspace Preview System: Solve Your Content Preview Problems
 

Similar to How to Successfully Implement Headless Drupal

Engage 2020-nerd-for-move-on-from-x pages
Engage 2020-nerd-for-move-on-from-x pagesEngage 2020-nerd-for-move-on-from-x pages
Engage 2020-nerd-for-move-on-from-x pagesHeiko Voigt
 
Portal / BI 2008 Presentation by Ted Tschopp
Portal / BI 2008 Presentation by Ted TschoppPortal / BI 2008 Presentation by Ted Tschopp
Portal / BI 2008 Presentation by Ted TschoppTed Tschopp
 
Good bye Massive View Controller!
Good bye Massive View Controller!Good bye Massive View Controller!
Good bye Massive View Controller!Supercharge
 
Powering a Startup with Apache Spark with Kevin Kim
Powering a Startup with Apache Spark with Kevin KimPowering a Startup with Apache Spark with Kevin Kim
Powering a Startup with Apache Spark with Kevin KimSpark Summit
 
How we leveraged Drupal to build a leading SaaS product
How we leveraged Drupal to build a leading SaaS product How we leveraged Drupal to build a leading SaaS product
How we leveraged Drupal to build a leading SaaS product Invotra
 
Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013Paris Android User Group
 
Developer Conference 1.5 - Making the Move to Visual COBOL (Transvive)
Developer Conference 1.5 - Making the Move to Visual COBOL (Transvive)Developer Conference 1.5 - Making the Move to Visual COBOL (Transvive)
Developer Conference 1.5 - Making the Move to Visual COBOL (Transvive)Micro Focus
 
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechVue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechDivante
 
Fast, Flexible Application Development with Oracle Database Cloud Service
Fast, Flexible Application Development with Oracle Database Cloud ServiceFast, Flexible Application Development with Oracle Database Cloud Service
Fast, Flexible Application Development with Oracle Database Cloud ServiceGustavo Rene Antunez
 
API Workshop Amsterdam presented by API Architect Ronnie Mitra
API Workshop Amsterdam presented by API Architect Ronnie MitraAPI Workshop Amsterdam presented by API Architect Ronnie Mitra
API Workshop Amsterdam presented by API Architect Ronnie MitraCA API Management
 
Build 12-Factor apps with Docker
Build 12-Factor apps with DockerBuild 12-Factor apps with Docker
Build 12-Factor apps with DockerJohn Zaccone
 
Developer Conference 1.4 - Customer In Focus- Nationwide (NY)
Developer Conference 1.4 - Customer In Focus- Nationwide (NY)Developer Conference 1.4 - Customer In Focus- Nationwide (NY)
Developer Conference 1.4 - Customer In Focus- Nationwide (NY)Micro Focus
 
Top 7 wrong common beliefs about Enterprise API implementation
Top 7 wrong common beliefs about Enterprise API implementationTop 7 wrong common beliefs about Enterprise API implementation
Top 7 wrong common beliefs about Enterprise API implementationOCTO Technology
 
Demystifying Decoupled Drupal for Developers & Content Authors
Demystifying Decoupled Drupal for Developers & Content AuthorsDemystifying Decoupled Drupal for Developers & Content Authors
Demystifying Decoupled Drupal for Developers & Content AuthorsRachel Wandishin
 
ReliefWeb's Journey from RSS Feed to Public API
ReliefWeb's Journey from RSS Feed to Public APIReliefWeb's Journey from RSS Feed to Public API
ReliefWeb's Journey from RSS Feed to Public APIPhase2
 
Introduction to drupal
 Introduction to drupal Introduction to drupal
Introduction to drupalRachit Gupta
 
AD1545 - Extending the XPages Extension Library
AD1545 - Extending the XPages Extension LibraryAD1545 - Extending the XPages Extension Library
AD1545 - Extending the XPages Extension Librarypaidi_ed
 
Pelegri Desarrollando en una nueva era de software
Pelegri   Desarrollando en una nueva era de software Pelegri   Desarrollando en una nueva era de software
Pelegri Desarrollando en una nueva era de software Eduardo Pelegri-Llopart
 

Similar to How to Successfully Implement Headless Drupal (20)

Engage 2020-nerd-for-move-on-from-x pages
Engage 2020-nerd-for-move-on-from-x pagesEngage 2020-nerd-for-move-on-from-x pages
Engage 2020-nerd-for-move-on-from-x pages
 
Portal / BI 2008 Presentation by Ted Tschopp
Portal / BI 2008 Presentation by Ted TschoppPortal / BI 2008 Presentation by Ted Tschopp
Portal / BI 2008 Presentation by Ted Tschopp
 
Good bye Massive View Controller!
Good bye Massive View Controller!Good bye Massive View Controller!
Good bye Massive View Controller!
 
Powering a Startup with Apache Spark with Kevin Kim
Powering a Startup with Apache Spark with Kevin KimPowering a Startup with Apache Spark with Kevin Kim
Powering a Startup with Apache Spark with Kevin Kim
 
How we leveraged Drupal to build a leading SaaS product
How we leveraged Drupal to build a leading SaaS product How we leveraged Drupal to build a leading SaaS product
How we leveraged Drupal to build a leading SaaS product
 
Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013
 
Developer Conference 1.5 - Making the Move to Visual COBOL (Transvive)
Developer Conference 1.5 - Making the Move to Visual COBOL (Transvive)Developer Conference 1.5 - Making the Move to Visual COBOL (Transvive)
Developer Conference 1.5 - Making the Move to Visual COBOL (Transvive)
 
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechVue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
 
Fast, Flexible Application Development with Oracle Database Cloud Service
Fast, Flexible Application Development with Oracle Database Cloud ServiceFast, Flexible Application Development with Oracle Database Cloud Service
Fast, Flexible Application Development with Oracle Database Cloud Service
 
API Workshop Amsterdam presented by API Architect Ronnie Mitra
API Workshop Amsterdam presented by API Architect Ronnie MitraAPI Workshop Amsterdam presented by API Architect Ronnie Mitra
API Workshop Amsterdam presented by API Architect Ronnie Mitra
 
Build 12-Factor apps with Docker
Build 12-Factor apps with DockerBuild 12-Factor apps with Docker
Build 12-Factor apps with Docker
 
Developer Conference 1.4 - Customer In Focus- Nationwide (NY)
Developer Conference 1.4 - Customer In Focus- Nationwide (NY)Developer Conference 1.4 - Customer In Focus- Nationwide (NY)
Developer Conference 1.4 - Customer In Focus- Nationwide (NY)
 
The Decoupled CMS in Financial Services
The Decoupled CMS in Financial ServicesThe Decoupled CMS in Financial Services
The Decoupled CMS in Financial Services
 
Top 7 wrong common beliefs about Enterprise API implementation
Top 7 wrong common beliefs about Enterprise API implementationTop 7 wrong common beliefs about Enterprise API implementation
Top 7 wrong common beliefs about Enterprise API implementation
 
Octo API-days 2015
Octo API-days 2015Octo API-days 2015
Octo API-days 2015
 
Demystifying Decoupled Drupal for Developers & Content Authors
Demystifying Decoupled Drupal for Developers & Content AuthorsDemystifying Decoupled Drupal for Developers & Content Authors
Demystifying Decoupled Drupal for Developers & Content Authors
 
ReliefWeb's Journey from RSS Feed to Public API
ReliefWeb's Journey from RSS Feed to Public APIReliefWeb's Journey from RSS Feed to Public API
ReliefWeb's Journey from RSS Feed to Public API
 
Introduction to drupal
 Introduction to drupal Introduction to drupal
Introduction to drupal
 
AD1545 - Extending the XPages Extension Library
AD1545 - Extending the XPages Extension LibraryAD1545 - Extending the XPages Extension Library
AD1545 - Extending the XPages Extension Library
 
Pelegri Desarrollando en una nueva era de software
Pelegri   Desarrollando en una nueva era de software Pelegri   Desarrollando en una nueva era de software
Pelegri Desarrollando en una nueva era de software
 

More from Acquia

Acquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdfAcquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdfAcquia
 
Acquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdfAcquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdfAcquia
 
Taking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next LevelTaking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next LevelAcquia
 
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdfCDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdfAcquia
 
May Partner Bootcamp 2022
May Partner Bootcamp 2022May Partner Bootcamp 2022
May Partner Bootcamp 2022Acquia
 
April Partner Bootcamp 2022
April Partner Bootcamp 2022April Partner Bootcamp 2022
April Partner Bootcamp 2022Acquia
 
How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story Acquia
 
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CXUsing Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CXAcquia
 
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development WorkflowImprove Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development WorkflowAcquia
 
September Partner Bootcamp
September Partner BootcampSeptember Partner Bootcamp
September Partner BootcampAcquia
 
August partner bootcamp
August partner bootcampAugust partner bootcamp
August partner bootcampAcquia
 
July 2021 Partner Bootcamp
July  2021 Partner BootcampJuly  2021 Partner Bootcamp
July 2021 Partner BootcampAcquia
 
May Partner Bootcamp
May Partner BootcampMay Partner Bootcamp
May Partner BootcampAcquia
 
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASYDRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASYAcquia
 
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead MachineWork While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead MachineAcquia
 
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B LeadsAcquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B LeadsAcquia
 
April partner bootcamp deck cookieless future
April partner bootcamp deck  cookieless futureApril partner bootcamp deck  cookieless future
April partner bootcamp deck cookieless futureAcquia
 
How to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutionsHow to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutionsAcquia
 
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...Acquia
 
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021Acquia
 

More from Acquia (20)

Acquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdfAcquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdf
 
Acquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdfAcquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdf
 
Taking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next LevelTaking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next Level
 
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdfCDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
 
May Partner Bootcamp 2022
May Partner Bootcamp 2022May Partner Bootcamp 2022
May Partner Bootcamp 2022
 
April Partner Bootcamp 2022
April Partner Bootcamp 2022April Partner Bootcamp 2022
April Partner Bootcamp 2022
 
How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story
 
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CXUsing Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
 
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development WorkflowImprove Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
 
September Partner Bootcamp
September Partner BootcampSeptember Partner Bootcamp
September Partner Bootcamp
 
August partner bootcamp
August partner bootcampAugust partner bootcamp
August partner bootcamp
 
July 2021 Partner Bootcamp
July  2021 Partner BootcampJuly  2021 Partner Bootcamp
July 2021 Partner Bootcamp
 
May Partner Bootcamp
May Partner BootcampMay Partner Bootcamp
May Partner Bootcamp
 
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASYDRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
 
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead MachineWork While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
 
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B LeadsAcquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
 
April partner bootcamp deck cookieless future
April partner bootcamp deck  cookieless futureApril partner bootcamp deck  cookieless future
April partner bootcamp deck cookieless future
 
How to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutionsHow to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutions
 
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
 
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
 

Recently uploaded

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
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
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
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
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
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
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
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
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
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
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
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 ...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

How to Successfully Implement Headless Drupal

  • 1. 1 HOW TO SUCCESSFULLY IMPLEMENT HEADLESS DRUPAL (How WE implemented decoupled Drupal, successfully) OCTOBER  20,  2015  
  • 2. 2 Brief Agenda Who we are & project overview1 Architectural design decisions2 Application components3 Outcome4 Q&A5
  • 5. 5 EPAM: A Pioneer in Product Development PRODUCT DEVELOPMENT EXPERTISE 100+  clients  amongst  independent  so>ware  vendors   5  out  of  Top  10  largest  so>ware  companies  are  clients   Serving  industry  leaders  as  well  as  emerging  technology   companies   DOMAIN-LED ENTERPRISE SOLUTIONS 2006   Q1  2015   ISVs  &  Technology   75%   22%   Banking  &  Financial  Services   0%   28%   Travel  &  Consumer   4%   24%   Business  InformaPon  &  Media   8%   13%   Life  Sciences  &  Healthcare   0%   7%   ORGANIC COMPETENCIES Core  Product  Engineering   User  Experience   Digital  Strategy   AnalyPcs  &  Big  Data   Commerce   Mobile   Social   PRODUCT ENGINEERING PRODUCT DEVELOPMENT SERVICESTECHNOLOGY SOLUTIONS 1990s 2000s TODAY EPAM FOUNDED IN 1993 1990s 2000s TODAY A  foundaPon  in  product  engineering  led  to  accelerated  growth  in   technology  soluPons  and  created  a  strong  plaWorm  for  a  new  type  of   services  offering  in  Product  Development  that  addresses  many  of  the   disrupPons  facing  industries  today.  
  • 6. 6 What is headless or decoupled Drupal? •  Content  and  display  are  separated  (“decoupled”)   •  Front-­‐end  /  consumer  grabs  resources  through  defined  interface   •  Typically  RESTful   •  Typically  JSON  
  • 7. 7 Why would you ever do this? •  More  flexibility  in  the  front-­‐end   •  More  flexibility  in  using  front-­‐end  resources   •  Mobile  apps   •  Lean  development  workflow  (lowercase  lean)   •  Prevent  front-­‐end  code  kludge  (can’t  write  db   queries)   •  MulPple  content  consumers  (mulPchannel)   •  Non-­‐website  consumers   •  Publish  “part”  of  a  site   •  MulPple  /  separate  architectures  or  infrastructures  
  • 8. 8 WHY  (AND  HOW)  WE  DID  IT  (SUCCESSFULLY)  
  • 9. 9 USCCB App iOS and Android mobile apps1 Website2 16,000+ microsites3 Salesforce data sync and single sign-on for microsite management4 Hard deadline in 6 mo. (the Pope is coming - literally.)5
  • 10. 10 WE  CAN  DO  ALL  THE  THINGS  
  • 11. 11 What we decided We want it to feel as “application-y” as possible1 Start with a website2 Cordova-based wrapper for native apps3 We’ll use AngularJS4 We’ll use decoupled Drupal5
  • 12. 12 Proposed architecture Mobile app (Ionic w/ AngularJS)1 Website (AngularJS)2 Content entry (Drupal 7)3 API (Drupal 7)4
  • 13. 13 OK, Sign us up for “Headless Drupal” •  No  “best  pracPce”  (yet)   •  Various  degrees  of  success  and   degree  of  “decoupling”  in  the   community   •  A  variety  of  contrib  modules   (Services,  Views  JSON,  RESTWS)  are   used  
  • 14. 14 Attempt #1: Services •  Most  widely  used   •  Most  experience   •  Tied  to  Drupal  structures   •  Limited  ability  to  customize  resources  (without   greater  effort)   •  Hard  to  re-­‐use  front-­‐end  code   •  Too  much  overhead   CONS PROS
  • 15. 15 Attempt #2: Views Datasource •  Can  completely  customize  resources   •  Easy  to  create  with  Views  UI     •  Lack  of  control  over  response  structure   •  “Stuck”  with  views   •  Limited  developer  workflow   •  Hard  to  re-­‐use  front-­‐end  code  (varying  structures)   •  Too  much  overhead   CONS PROS
  • 16. 16 Re-evaluate •  RESTWS   –  Similar  problems  to  Services   •  Custom  soluPon   –  The  Pope  is  coming   •  There  is  another…   –  RESTful!  
  • 17. 17 RESTful module •  Doesn’t  assume  data  structures   •  Expressive   •  Lots  of  built-­‐in  features  that  are  great  for  an  API,  such  as   –  Versioning   –  Bundle  based  resources   –  Resource  discovery   –  User  authenPcaPon   –  Caching   •  Easy  to  implement  and  extend  
  • 18. 18 RESTful module •  Each  resource  is  a  ctools  plugin   •  It’s  easy  to  create  a  new  data  provider  or  formaler   •  Very  quick  to  extend  
  • 20. 20 “How do I know what resource to grab when a user visits a URL on the app?” •  Landing  and  lisPng  pages  (aggregate   pages)  handled  by  AngularJS   •  Individual  pages  use  Drupal  aliases  
  • 21. 21 Search? •  Standard  Search  API  Solr   •  Used  RESTful  Search  API  module  as  a   base   •  Built  out  facets  using  facet  realms  for   configuraPon  
  • 22. 22 Translation •  EnPty  translaPon   •  Language  toggle  on  front-­‐end   •  Some  items  (Main  menu  /  nav)  are  translated  in  the  app  itself   •  API  Language  selecPon  is  by  URL  path  prefix  (just  like  Drupal  pages)   •  Some  nested  items  we  decided  to  provide  all  languages  for  (for  “look   ahead”)    
  • 23. 23 Caching •  Using  Varnish  to  cache  the  API   •  RESTful  has  its  own  caching  (can  turn  on  or  off  in  the  plugin)  
  • 24. 24 •  Main  site  menus  handled  by  Angular   •  Custom  sub-­‐menus  handled  by  API   •  Custom  Drupal  interface  for  custom   menus   Menus
  • 25. 25 •  Easy  to  leverage  panels  +  views   for  a  custom  administraPon   area   Admin section
  • 26. 26 •  The  Pope  didn’t  excommunicate  us   •  We  got  a  lot  of  traffic  -­‐  and  it   didn’t  crash   •  NaPonal  and  local  media  alenPon   Results
  • 27. 27 •  TesPng  and  rolling  out  Parish  and  Diocese  Salesforce  integraPon   •  Our  API  only  serves  anonymous  traffic  (for  now)   •  We  built  a  fair  amount  into  the  front-­‐end  app   •  There’s  no  “preview”   •  We  made  compromises  to  simplify  things  wherever  possible   •  Prerender   •  Offline  content   What’s next / lessons learned
  • 28. 28 •  D8  REST  is  a  good  step  -­‐  let’s  make  it  aesthePc  so  front-­‐end   devs  who  don’t  know  a  lick  of  Drupal  WANT  to  use  it!   •  Become  a  desired  backend  for  powering  fancy  new   frontend  frameworks  (drives  pace  of  innovaPon)   •  Hybrid  websites  -­‐  both  twig  and  API-­‐driven  elements   (“progressively”  decoupled  as  Dries  called  it)   •  Now  is  a  great  Pme  to  try  this  technology  and  help  steer  its   future.  Using  Drupal  8  +  RESTful  module  is  a  great  place  to   start   The potential for Decoupled Drupal
  • 29. 29 Q&A David Vespoli Software Engineering Manager david_vespoli@epam.com Kris Graham Lead Software Engineer kris_graham@epam.com   QUESTIONS? Seth Gregory Software Engineering Manager seth_gregory@epam.com